From fe7ba81633feafa9232546be4fef18cf37766b1f Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Tue, 11 Aug 2020 11:47:59 +0200 Subject: Build the "user version" of the code. This is how upstream recommends downstream users build the library. --- debian/changelog | 1 + debian/libgudhi-dev.install | 2 +- debian/libgudhi-doc.install | 2 +- debian/rules | 34 +++++++++++++++++++++------------- 4 files changed, 24 insertions(+), 15 deletions(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index 87851625..1266e063 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ gudhi (3.2.0+dfsg-5) UNRELEASED; urgency=medium * Drop patch for working around #963955. + * Build the exported "user version". -- Gard Spreemann Sun, 02 Aug 2020 22:30:04 +0200 diff --git a/debian/libgudhi-dev.install b/debian/libgudhi-dev.install index 47779640..953f5aab 100644 --- a/debian/libgudhi-dev.install +++ b/debian/libgudhi-dev.install @@ -1 +1 @@ -build/gudhi/include/gudhi/ usr/include/ +build/userversion/include/gudhi/ usr/include/ diff --git a/debian/libgudhi-doc.install b/debian/libgudhi-doc.install index c541aae4..10c33133 100644 --- a/debian/libgudhi-doc.install +++ b/debian/libgudhi-doc.install @@ -1 +1 @@ -build/gudhi/doc/html/* usr/share/doc/libgudhi/html/ +build/userversion/doc/html/* usr/share/doc/libgudhi/html/ diff --git a/debian/rules b/debian/rules index 9c170d2e..c49e7c50 100755 --- a/debian/rules +++ b/debian/rules @@ -37,26 +37,34 @@ endif %: # The --buildirectory=build is there so that we can easily get a hold # of documentation and examples, which are not installed by upstream. - dh $@ $(DHFLAGS) --with=python3 --builddirectory=build + dh $@ $(DHFLAGS) --with=python3 --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh $@ $(DHFLAGS) --with=python3 --builddirectory=build$$py3ver ; \ + dh $@ $(DHFLAGS) --with=python3 --builddirectory=build-py$$py3ver/userversion ; \ + done + +execute_before_dh_auto_configure: + dh_auto_configure $(DHFLAGS) --builddirectory=build -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DPython_ADDITIONAL_VERSIONS=$(DEFAULT_PY3VER) -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein + make -C build user_version + for py3ver in $(REMAINING_PY3VERS) ; do \ + dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein ; \ + make -C build-py$$py3ver user_version ; \ done override_dh_auto_configure: - dh_auto_configure $(DHFLAGS) -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DPython_ADDITIONAL_VERSIONS=$(DEFAULT_PY3VER) -DUSER_VERSION_DIR=gudhi -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein + dh_auto_configure $(DHFLAGS) --builddirectory=build/userversion -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DPython_ADDITIONAL_VERSIONS=$(DEFAULT_PY3VER) -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_configure $(DHFLAGS) --builddirectory=build$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein ; \ + dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein ; \ done override_dh_auto_build-arch: - dh_auto_build $(DHFLAGS) --builddirectory=build + dh_auto_build $(DHFLAGS) --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_build $(DHFLAGS) --builddirectory=build$$py3ver ; \ + dh_auto_build $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion ; \ done override_dh_auto_build-indep: make -C build doxygen - dh_auto_build $(DHFLAGS) --builddirectory=build + dh_auto_build $(DHFLAGS) --builddirectory=build/userversion override_dh_auto_test-indep: @@ -64,9 +72,9 @@ override_dh_auto_test-arch: # I believe this should be handled automatically by dh_auto_test, # but see #901678. ifeq (, $(filter nocheck,$(DEB_BUILD_MAINT_OPTIONS))) - dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build + dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build$$py3ver ; \ + dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build-py$$py3ver/userversion ; \ done else @echo "Skipping tests due to nocheck flag." @@ -75,14 +83,14 @@ endif override_dh_auto_install: find src -type f -path '*/example/*' \( -name '*.cpp' -o \( -name '*.txt' -a ! -iname 'cmake*' \) \) -exec sh -c 'name=$$(echo $$0 | sed s/src\\/// | sed s/example\\///); install -D -m 644 $$0 debian/tmp/usr/share/doc/libgudhi-examples/$$name' {} \; - dh_auto_install $(DHFLAGS) --builddirectory=build + dh_auto_install $(DHFLAGS) --builddirectory=build/userversion for py3ver in $(REMAINING_PY3VERS) ; do \ - dh_auto_install $(DHFLAGS) --builddirectory=build$$py3ver ; \ + dh_auto_install $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion ; \ done # Remove installed information about Miniball header. - rm -f build/gudhi/include/gudhi/Miniball.COPYRIGHT - rm -f build/gudhi/include/gudhi/Miniball.README + rm build/userversion/include/gudhi/Miniball.COPYRIGHT + rm build/userversion/include/gudhi/Miniball.README mv $(TMPBIN)/Nerve \ $(TMPBIN)/gudhi-nerve -- cgit v1.2.3