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
|
#!/usr/bin/make -f
include /usr/share/dpkg/buildopts.mk
include /usr/share/dpkg/pkg-info.mk
#export DH_VERBOSE=1
# the software enables lto manually (see override_dh_auto_configure target)
export DEB_BUILD_MAINT_OPTIONS=hardening=+all optimize=-lto
BUILDIR_STATIC=_BUILD_STATIC
BUILDIR_SHARED=_BUILD_SHARED
# as per https://github.com/igraph/igraph/issues/2450 we ignore random failures on mips64el
ifeq ($(DEB_HOST_ARCH),$(filter $(DEB_HOST_ARCH), mips64el))
TESTIGNOREFAIL=|| true
endif
%:
dh $@ --buildsystem=cmake --builddirectory=$(BUILDIR_SHARED)
# --enable-debug
### disable TLS to fix warning with TLS and arpack
CONF_FLAGS= \
-DIGRAPH_ENABLE_TLS=OFF \
-DIGRAPH_USE_INTERNAL_BLAS=OFF \
-DIGRAPH_USE_INTERNAL_LAPACK=OFF \
-DIGRAPH_USE_INTERNAL_ARPACK=OFF \
-DIGRAPH_USE_INTERNAL_GLPK=OFF \
-DIGRAPH_USE_INTERNAL_GMP=OFF \
-DIGRAPH_USE_INTERNAL_PLFIT=OFF \
-DIGRAPH_GLPK_SUPPORT=ON \
-DIGRAPH_GRAPHML_SUPPORT=ON \
-DIGRAPH_OPENMP_SUPPORT=ON
### LTO does not really achieve anything for static libraries
override_dh_auto_configure:
dh_auto_configure -B$(BUILDIR_SHARED) -- -DIGRAPH_ENABLE_LTO=ON -DBUILD_SHARED_LIBS=ON $(CONF_FLAGS)
dh_auto_configure -B$(BUILDIR_STATIC) -- -DIGRAPH_ENABLE_LTO=OFF -DBUILD_SHARED_LIBS=OFF $(CONF_FLAGS)
override_dh_auto_build-indep:
make -C $(BUILDIR_SHARED)/doc info
make -C $(BUILDIR_SHARED)/doc pdf
make -C $(BUILDIR_SHARED)/doc html
mv -v $(BUILDIR_SHARED)/doc/igraph-docs.info $(BUILDIR_SHARED)/doc/igraph.info
sed -i 's/igraph-docs.info/igraph.info/g' $(BUILDIR_SHARED)/doc/igraph.info
mv -v $(BUILDIR_SHARED)/doc/igraph-docs.pdf $(BUILDIR_SHARED)/doc/igraph.pdf
make -C $(BUILDIR_SHARED)/doc clean
override_dh_auto_build-arch:
dh_auto_build -a -B$(BUILDIR_STATIC) $(TESTIGNOREFAIL)
dh_auto_build -a -B$(BUILDIR_SHARED)
override_dh_auto_test-indep:
override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
## see #924052 for further information
$(MAKE) -C $(BUILDIR_STATIC) $(DEB_BUILD_OPTION_PARALLEL:%=-j%) build_tests
$(MAKE) -C $(BUILDIR_SHARED) $(DEB_BUILD_OPTION_PARALLEL:%=-j%) build_tests
dh_auto_test -a -B$(BUILDIR_STATIC)
dh_auto_test -a -B$(BUILDIR_SHARED)
endif
override_dh_auto_install-indep:
override_dh_auto_install-arch:
dh_auto_install -a -B$(BUILDIR_STATIC)
dh_auto_install -a -B$(BUILDIR_SHARED)
UPS_VERSION := $(subst ~rc,-rc.,$(firstword $(subst +, ,$(DEB_VERSION))))
DEB_DH_INSTALL_INDEP_DOCDIR := $(CURDIR)/debian/libigraph-doc/usr/share/doc/libigraph-dev
DEB_DH_INSTALL_INDEP_EXAMPLESDIR := $(DEB_DH_INSTALL_INDEP_DOCDIR)/examples
override_dh_install-indep:
dh_install -i
find $(DEB_DH_INSTALL_INDEP_EXAMPLESDIR)/simple -name '*.out' -exec sed -i 's|@VERSION@|$(UPS_VERSION)|' \{\} \;
override_dh_installchangelogs:
dh_installchangelogs --keep CHANGELOG.md
override_dh_compress-indep:
dh_compress -X/examples/
override_dh_missing:
dh_missing -X.la
override_dh_auto_clean:
dh_auto_clean
rm -rf $(BUILDIR_SHARED) $(BUILDIR_STATIC)
|