#!/usr/bin/make -f # -*- makefile-gmake -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export DEB_BUILD_MAINT_OPTIONS = hardening=+all # We install both libraries as private (no rdeps in Debian). export DEB_LDFLAGS_MAINT_APPEND := -Wl,-rpath,/usr/lib/relion DEBVENDOR := $(shell dpkg-vendor --query Vendor) ifeq ($(DEBVENDOR), Qlustar) # Qlustar specific stuff include /usr/share/ql-deb-utils/Makefile MPICXX := mpicxx.openmpi-gcc else include /usr/share/dpkg/default.mk MPICXX := mpicxx.openmpi endif # -DCMAKE_SKIP_RPATH=TRUE is needed to avoid Lintian errors. CONFIGURE_COMMON := \ -DBUILD_SHARED_LIBS=ON \ -DPYTHON_EXE_PATH=/usr/bin/python3 \ -DCMAKE_SKIP_RPATH=TRUE %: dh $@ override_dh_auto_configure: dh_auto_configure -- $(CONFIGURE_COMMON) -DGUI=ON -DCUDA=OFF override_dh_auto_install: dh_auto_install --destdir=debian/tmp/cli mkdir -p $(CURDIR)/debian/tmp/gui/usr/bin rm $(CURDIR)/debian/tmp/cli/usr/bin/*.csh # Useless ... set -e; for prog in relion relion_display relion_manualpick; do \ mv $(CURDIR)/debian/tmp/cli/usr/bin/$$prog \ $(CURDIR)/debian/tmp/gui/usr/bin; done # Imports Python module "starfile" which is not in Debian. rm $(CURDIR)/debian/tmp/cli/usr/bin/relion_filament_selection rm $(CURDIR)/debian/tmp/cli/usr/bin/relion_trace_amyloids.py # Bash wrappers for RELION Python modules; not packaged. rm $(CURDIR)/debian/tmp/cli/usr/bin/relion_python_* # Rename scripts to avoid lintian W: script-with-language-extension. mv $(CURDIR)/debian/tmp/cli/usr/bin/relion_it.py \ $(CURDIR)/debian/tmp/gui/usr/bin/relion_it # relion_schemegui is installed without a .py suffix since upstream 5.1.0. mv $(CURDIR)/debian/tmp/cli/usr/bin/relion_schemegui \ $(CURDIR)/debian/tmp/gui/usr/bin/relion_schemegui # Move the GUI library to the -gui package. mkdir -p $(CURDIR)/debian/tmp/gui/usr/lib/relion mv $(CURDIR)/debian/tmp/cli/usr/lib/relion/librelion_gui_lib.so \ $(CURDIR)/debian/tmp/gui/usr/lib/relion override_dh_python3: # For some reason, dh_python3 treats the library as a Python extension. dh_python3 --no-ext-rename override_dh_shlibdeps: # Silence some of the warnings from dpkg-shlibdeps which stem from the # fact that the upstream build system is not satisfactory: it creates # unversioned libraries so the complaints are correct. relion-gui # depends on relion (= ${binary:Version}), so there's no problem. dh_shlibdeps -lusr/lib/relion -Lrelion