File: rules

package info (click to toggle)
paraview 5.13.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 544,220 kB
  • sloc: cpp: 3,374,605; ansic: 1,332,409; python: 150,381; xml: 122,166; sql: 65,887; sh: 7,317; javascript: 5,262; yacc: 4,417; java: 3,977; perl: 2,363; lex: 1,929; f90: 1,397; makefile: 170; objc: 153; tcl: 59; pascal: 50; fortran: 29
file content (144 lines) | stat: -rwxr-xr-x 5,487 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#! /usr/bin/make -f
#export DH_VERBOSE=1

include /usr/share/dpkg/architecture.mk
include /usr/share/mpi-default-dev/debian_defaults

DESTDIR = $(CURDIR)/debian/tmp
UPSTREAM_VERSION = $(shell dpkg-parsechangelog | awk '/^Version:/ { sub("-[^-]*$$", "", $$2); print $$2}')
UPSTREAM_VERSION_ABI = $(shell echo $(UPSTREAM_VERSION) | sed -e 's/[\.\+]dfsg.*$$//' | awk 'BEGIN { FS="."}; {print $$1"."$$2 }')

%:
	dh $@ --buildsystem=cmake 

PY3DEF=$(shell py3versions -dv)
# many libvtk*.so files link to the specific python version
# so we can only support the default python
PY3VERS=$(PY3DEF)
PY3RANGE=$(shell echo $(PY3DEF) | awk 'BEGIN { FS="." }; { print $$1 "." $$2 "-" $$1 "." $$2 + 1 }')

# The Qt Svg component library is not detected automatically
# but is needed for labels and icons in the paraview GUI.
# QT_SVG_DEB identifies the debian binary package for the library.
QT_SVG_DEB = libqt6svg6
QT_SVG_VER = $(shell dpkg-query  -f '$${Version}'  -W $(QT_SVG_DEB))
QT_SVG_DEPENDS = "$(QT_SVG_DEB) (>= $(QT_SVG_VER)~)"

export LD_LIBRARY_PATH+=:$(CURDIR)/debian/paraview/usr/lib/paraview

CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS) -Wall -pedantic 
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) $(CPPFLAGS) -O0
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed

# libatomic is not automatically linked by the tool chain even when needed
ifneq (,$(filter $(DEB_HOST_ARCH), armel m68k mips mipsel powerpc sh4))
  export DEB_CXXFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
  export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
endif

# Investigate: Pixie Needs ADIOS1
#	-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderPixie=ON 
#	-DPARAVIEW_PLUGIN_ENABLE_AdiosReaderStaging=ON 

ifneq (,$(filter $(DEB_HOST_ARCH), mips64el))
    USE_XMDF3=OFF
else
    USE_XMDF3=ON
endif

# Explicit settings of MPI_* is required see
# http://www.vtk.org/Bug/view.php?id=12572
extra_flags += -Wno-dev \
	-DBUILD_TESTING=OFF \
	-DCMAKE_C_FLAGS="${CFLAGS}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
	-DCMAKE_BUILD_TYPE=DEBUG \
	-DPARAVIEW_BUILD_DEVELOPER_DOCUMENTATION=ON \
	-DCMAKE_INSTALL_RPATH=/usr/lib/paraview \
	-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF  \
	-DCMAKE_SKIP_RPATH=OFF \
	-DPARAVIEW_ENABLE_FFMPEG=ON \
	-DPARAVIEW_ENABLE_WEB=ON \
	-DPARAVIEW_BUILD_SHARED_LIBS=ON \
	-DVTK_SOURCE_DIR=$(CURDIR)/VTK \
	-DHDF5_ROOT=/usr/lib/$(DEB_HOST_MULTIARCH)/hdf5/$(ARCH_DEFAULT_MPI_IMPL) \
	-DPARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX="lib/python3/dist-packages" \
	-DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_doubleconversion=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_eigen=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_theora=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_lzma=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_utf8=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_tiff=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_zlib=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_expat=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_png=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_glew=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_freetype=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_netcdf=ON \
	-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=ON \
	-DPARAVIEW_USE_MPI=ON \
	-DPARAVIEW_USE_PYTHON=ON \
	-DPARAVIEW_ENABLE_VISITBRIDGE=OFF \
	-DPARAVIEW_ENABLE_GDAL=ON \
	-DPARAVIEW_ENABLE_XDMF3=$(USE_XMDF3) \
	-DPARAVIEW_ENABLE_MOTIONFX=ON \
	-DPARAVIEW_PLUGIN_ENABLE_GmshIO=ON \
	-DPARAVIEW_PLUGIN_CONF_EXTRA_PATHS="/usr/share/paraview/plugins" \
	-DPARAVIEW_CONF_IN_LIBDIR=ON \
	-DDEB_HOST_MULTIARCH=$(DEB_HOST_MULTIARCH)

# Adios2 is only available on 64-bit systems
ifneq ($(DEB_HOST_ARCH_BITS),32)
extra_flags += -DPARAVIEW_ENABLE_ADIOS2=ON \
    -DCMAKE_PREFIX_PATH="$(CMAKE_PREFIX_PATH);/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/adios2/mpi"
endif

override_dh_auto_clean:
	dh_auto_clean
	rm -fr build.*

my_configure_python%: pyver=$(patsubst my_configure_python%,%,$@)
my_configure_python%:
	dh_auto_configure -Bbuild.python$(pyver) -- $(extra_flags) -DPython3_EXECUTABLE=/usr/bin/python$(pyver) -DDEBIAN_PYTHON_VERSION=$(pyver)

override_dh_auto_configure: $(foreach pyver,$(PY3VERS), my_configure_python$(pyver))

my_build_python%: pyver=$(patsubst my_build_python%,%,$@)
my_build_python%:
	dh_auto_build -Bbuild.python$(pyver)

override_dh_auto_build: $(foreach pyver,$(PY3VERS), my_build_python$(pyver))

my_install_python%: pyver=$(patsubst my_install_python%,%,$@)
my_install_python%:
	dh_auto_install -Bbuild.python$(pyver)
	cd build.python$(pyver)/bin $(foreach exe,pvbatch pvpython,&& cp $(exe) $(DESTDIR)/usr/bin/$(exe)$(pyver))

override_dh_auto_install: $(foreach pyver,$(PY3VERS), my_install_python$(pyver))
	# Use the defaut python3 version for the tools
	cd debian/tmp/usr/bin $(foreach exe,pvbatch pvpython,&& ln -fs $(exe)$(PY3DEF) $(exe))
	# Drop unwanted mpi4py module
	rm -fr debian/tmp/usr/lib/python3*/dist-packages/mpi4py

my_test_python%: pyver=$(patsubst my_test_python%,%,$@)
my_test_python%:
	dh_auto_test -Bbuild.python$(pyver)

override_dh_python3:
	dh_python3 -V $(PY3RANGE)

override_dh_auto_test: $(foreach pyver,$(PY3VERS), my_test_python$(pyver))

override_dh_compress:
	dh_compress -X.qch

override_dh_makeshlibs:
	dh_makeshlibs -V'paraview (>= $(UPSTREAM_VERSION)), paraview (<< $(UPSTREAM_VERSION).)'

override_dh_gencontrol:
	dh_gencontrol -- -VQtsvg:Depends=$(QT_SVG_DEPENDS)