#!/usr/bin/make -f # -*- makefile -*- # debian/rules for libsbml export DEB_BUILD_MAINT_OPTIONS = hardening=+all ### define the VARS ### include /usr/share/dpkg/default.mk version := $(DEB_VERSION_UPSTREAM) libpack := libsbml debtmp := $(CURDIR)/debian/tmp SRC_TMP := $(CURDIR)/SRC_TMP PY3=$(shell py3versions -d) # Test for matlab CMAKE_OPTS := $(shell sed '/MATLAB/d' debian/cmake_opts) BIND_MATLAB := $(shell which matlab | grep -q matlab && echo 'yes') ifdef BIND_MATLAB CMAKE_OPTS := $(shell cat debian/cmake_opts) endif BIND_DOXYGEN := $(shell command -v doxygen | grep -q doxygen && echo 'yes') BIND_MCS := $(shell command -v mcs | grep -q mcs && echo 'yes') ifdef BIND_DOXYGEN ifeq ($(filter nodoc,$(DEB_BUILD_PROFILES)),) CMAKE_OPTS += -DWITH_DOXYGEN:BOOL=ON else CMAKE_OPTS += -DWITH_DOXYGEN:BOOL=OFF undefine BIND_DOXYGEN endif else CMAKE_OPTS += -DWITH_DOXYGEN:BOOL=OFF endif ifneq ($(filter nocheck,$(DEB_BUILD_PROFILES)),) CMAKE_OPTS += -DWITH_CHECK:BOOL=OFF else CMAKE_OPTS += -DWITH_CHECK:BOOL=ON endif ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel)) CMAKE_OPTS += -D'WITH_01_COMPILE:BOOL=ON' endif CMAKE_OPTS += -DPYTHON_EXECUTABLE=/usr/bin/${PY3} ifdef BIND_MCS CMAKE_OPTS += -DWITH_CSHARP:BOOL=ON else CMAKE_OPTS += -DWITH_CSHARP:BOOL=OFF endif export PYBUILD_NAME=libsbml ### let's do it ### DEB_COMPRESS_EXCLUDE = .pdf %: dh $@ --builddir=build --buildsystem=cmake --without autoreconf --no-parallel execute_after_dh_auto_clean: ### the clean target of the libsbml makefile is highly b0rken ### ### the switch to cmake didn't result in great approvements ### ### still inline changes of files ### ### very ugly ### rm -rf build docs/formatted docs/src/doxygen-version-specific.txt docs/src/doxygen-config-cpp.txt \ docs/src/doxygen-config-csharp.txt docs/src/doxygen-config-perl.txt docs/src/doxygen-config-python.txt \ docs/src/java-substitutions/libsbmlConstants.java docs/src/libsbml-installation.html docs/src/perlmod/DoxyDocs.pm \ docs/src/perlmod/DoxyStructure.pm docs/src/perlmod/Makefile docs/src/perlmod/doxyrules.make \ src/bindings/matlab/runTests.log docs/src/doxygen-config-c.txt src/bindings/matlab/*.mex* docs/src/perlmod \ docs/src/doxygen_sqlite3.db docs/src/libsbml.py docs/src/common-text/libsbml-version.html find src/bindings -name "*.pyc" -delete ifdef BIND_MATLAB execute_before_dh_auto_configure: cat debian/control.matlab >> debian/control || true endif override_dh_auto_configure: dh_auto_configure -- $(CMAKE_OPTS) ifeq "$(DEB_HOST_ARCH)" "i386" override_dh_auto_test: echo Skipping tests on i386 endif execute_after_dh_auto_install: ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS))) sed 's#formatted/##g' docs/index.html.in > $(debtmp)/usr/share/libsbml/docs/index.html endif # dh_auto_install -O--buildsystem=pybuild # unfortunately there is no setup.py set -x ; \ for pyv in ${PY3} ; do \ if [ -d $(debtmp)/usr/lib/*/$${pyv}/site-packages/ ] ; then \ mkdir -p $(debtmp)/usr/lib/$${pyv}/dist-packages ; \ mv $(debtmp)/usr/lib/*/$${pyv}/site-packages/* $(debtmp)/usr/lib/$${pyv}/dist-packages ; \ fi ; \ done find $(debtmp)/usr -type f -name "*.js" -delete find $(debtmp)/usr -type f -name "*.md5" -delete find $(debtmp)/usr -type f -exec chmod 644 {} + find $(debtmp)/usr/lib -name "*.mex*" -exec strip --strip-unneeded {} + || true find $(debtmp)/usr/lib -name "*.mex*" -exec strip --remove-section=.comment {} + || true dpkg-shlibdeps $(debtmp)/usr/lib/*/octave/site/oct/*/*.mex -Tdebian/libsbml5-octave.substvars dh_octave_substvar --package=libsbml5-octave # for some reason the perl library ends up in # debian/tmp/usr/lib/$(DEB_HOST_ARCH)/$(DEB_HOST_ARCH)/perl5 # try to fix this set -x ; \ for madir in `find debian -name $(DEB_BUILD_MULTIARCH) -type d | sort | uniq` ; do \ if [ -d $${madir}/$(DEB_BUILD_MULTIARCH) ] ; then \ echo "Moving contents of wrong directory $${madir}/$(DEB_BUILD_MULTIARCH) into place" ; \ mv $${madir}/$(DEB_BUILD_MULTIARCH)/* $${madir} ; \ rmdir $${madir}/$(DEB_BUILD_MULTIARCH) ; \ fi ; \ done find debian -type f -name "_form*" -delete ifdef BIND_MATLAB dpkg-shlibdeps $(debtmp)/usr/lib/*.mex* -Tdebian/libsbml5-matlab.substvars endif execute_after_dh_installexamples: for pl in `grep -Rl '#![[:space:]]*/usr/bin/env[[:space:]]\+perl' debian/*/usr/*` ; do \ sed -i '1s?^#![[:space:]]*/usr/bin/env[[:space:]]\+perl?#!/usr/bin/perl?' $${pl} ; \ done override_dh_installchangelogs: dh_installchangelogs NEWS.txt execute_before_dh_missing: find debian -name test.xml -delete rm -f debian/tmp/usr/share/libsbml/*.txt \ debian/tmp/usr/share/libsbml/README* override_dh_dwz: echo "Skip dwz: Too few files for multifile optimization" execute_after_jh_installjavadoc: rdfind -makesymlinks true -followsymlinks true \ $$(dpkg -L $$(apt-cache show default-jdk-doc | grep Depends \ | awk '{print $$2}') | grep /usr/share/doc/ \ | head -n1) \ debian/libsbml5-java/usr/share/doc/libsbml5-java/ ifeq ($(DH_VERBOSE),1) cat results.txt || /bin/true endif rm -f results.txt