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
|
#!/usr/bin/make -f
# export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export LIBS="pthread"
## Memory consumption issues on some autobuilders have been causing
## build failures. There are three ways to address such issues:
## (a) reduce parallelism, e.g., dh $@ --max-parallel=2
## (b) reduce GCC memory usage, e.g., g++ --param ggc-min-expand=20 to
## reduce abrupt memory spikes, and g++ -g0 to skip debugging info.
## (c) switch to clang.
# Force Compiler to CLANG if installed. Otherwise use GCC but try to
# conserve memory. The build dependencies try to install CLANG, but
# give a dummy alternative so the build can proceed even if it is
# unavailable.
ifeq ($(shell type clang > /dev/null && echo found),found)
export CC=clang
export CXX=clang++
else
## These issues have occurred post-2.1.x in two places: Ubuntu
## Launchpad, and some particular Debian architectures including
## armhf, mips, mipsel, m68k, kfreebsd-amd64, kfreebsd-i386.
## For that reason, I am activating all of the above space-reduction
## mechanisms on Ubuntu, all 32-bit architectures, and all kfreebsd
## systems. And I am setting the build to single threaded on all
## architectures.
DH_FLAGS += --max-parallel=1
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
SAVE_SPACE=yes
endif
ifeq ($(shell dpkg-architecture --query DEB_BUILD_ARCH_BITS),32)
SAVE_SPACE=yes
endif
ifeq ($(shell dpkg-architecture --query DEB_BUILD_ARCH_OS),kfreebsd)
SAVE_SPACE=yes
endif
ifeq ($(SAVE_SPACE),yes)
ifneq (, $(filter $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU),mips mipsel))
export DEB_CXXFLAGS_MAINT_APPEND = --param ggc-min-expand=5 -g0
else
export DEB_CXXFLAGS_MAINT_APPEND = --param ggc-min-expand=20 -g0
endif
endif
endif
DO_IT_TO_JULIA=OFF
%:
dh $@ --without python2 --with python3 --buildsystem=cmake ${DH_FLAGS}
override_dh_auto_configure:
dh_auto_configure -- -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) \
-DDEBUG=ON \
-DPROFILE=OFF \
-DARMA_EXTRA_DEBUG=OFF \
-DBUILD_CLI_EXECUTABLES=ON \
-DBUILD_PYTHON_BINDINGS=ON \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_JULIA_BINDINGS=$(DO_IT_TO_JULIA) \
-DBUILD_TESTS=ON \
-DBUILD_SHARED_LIBS=ON \
-DDISABLE_DOWNLOADS=ON \
-DSTB_IMAGE_INCLUDE_DIR=/usr/include/stb \
-DUSE_OPENMP=ON
execute_after_dh_auto_build:
@echo "building PDF reference manual"
cd obj-*/doc/latex && \
latexmk --pdf refman.tex
override_dh_auto_test:
@echo "do not ask do not tell do not test"
execute_after_dh_python3:
dh_numpy3
execute_after_dh_install:
@echo "use shared jquery.js javascript library"
for f in $$(find debian/mlpack-doc -name jquery.js); do \
ln --verbose --symbolic --force /usr/share/javascript/jquery/jquery.js $$f; \
done
@echo "remove byte-compiled python files per policy"
-find debian/python-mlpack -name '*.pyc' -ls -delete || true
-find debian/python3-mlpack -name '*.pyc' -ls -delete || true
override_dh_installdocs:
dh_installdocs -pmlpack-doc --doc-main-package libmlpack-dev
dh_installdocs -Nmlpack-doc
override_dh_installexamples:
dh_installexamples -pmlpack-doc --doc-main-package libmlpack-dev
dh_installexamples -Nmlpack-doc
execute_after_dh_installexamples:
@echo "Search and destroy stray VCS support files"
-find debian/mlpack-doc -name .gitignore -ls -delete || true
@echo "Remove empty directory"
-rmdir debian/mlpack-doc/usr/share/doc/libmlpack-dev/examples/sample-ml-app/sample-ml-app/data/
override_dh_installchangelogs:
dh_installchangelogs HISTORY.md
override_dh_compress:
dh_compress -Xrefman.pdf -Xdoc/html/
|