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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
ifeq (,$(findstring get-orig-source, $(MAKECMDGOALS)))
export http_proxy=http://127.0.0.1:9/
endif
include /usr/share/dpkg/default.mk
BUILD_DATE=$(shell TZ=UTC LC_ALL=C date --date="@$(SOURCE_DATE_EPOCH)" +'%b %d %Y')
SPHINXOPTS = -D html_last_updated_fmt="$(BUILD_DATE)"
PACKAGE_NAME = python3-brian
PACKAGE_ROOT_DIR = debian/${PACKAGE_NAME}
INSTALL_PATH = $(CURDIR)/debian/tmp
PYTHON=$(shell py3versions -d)
PYTHON_VERSION=$(shell py3versions -d -v)
export HOME=$(CURDIR)/build
export MPLCONFIGDIR=$(HOME)
export BRIAN_SETUP_FAIL_ON_ERROR=1
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
%:
dh $@ --with python3 --buildsystem=pybuild
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
echo "Do not test just after build, lets install and then test"
endif
override_dh_auto_install:
dh_auto_install
echo "backend : Agg" >| $(MPLCONFIGDIR)/matplotlibrc
:
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
mkdir -p docs_sphinx/_static
export PYTHONPATH=$$(/bin/ls -d $(INSTALL_PATH)/usr/lib/$(PYTHON)/*-packages); \
{ cd docs_sphinx; sphinx-build -a -E $(SPHINXOPTS) -b html . ../docs; }
-rmdir -rf docs_sphinx/_static
rm docs/_static/jquery.js
rm -r docs/.doctrees
:
rm docs/objects.inv
endif
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
for ti in test_cpp_standalone \
test_devices \
test_functions \
test_monitor \
test_network \
test_neurongroup \
test_numpy_codegen \
test_poissongroup \
test_refractory \
test_spatialneuron \
test_spikegenerator \
test_stateupdaters \
test_synapses \
test_thresholder \
test_timedarray \
; do \
find .pybuild -name $${ti}.py -delete ; \
find debian/tmp -name $${ti}.py -delete ; \
done
set -e \
; cd $(CURDIR)/build \
; echo "I: Running Brian unittests using $(PYTHON)" \
; export PYTHONPATH="$$( echo $(INSTALL_PATH)/usr/lib/$(PYTHON)/*-packages )" \
; $(PYTHON) -c 'import brian2;exit(not brian2.test())' \
; rm -rvf "$${PYTHONPATH}/brian2/tests/.pytest_cache/"
endif
rm -rf debian/python3-brian
mv debian/tmp debian/python3-brian
override_dh_install:
dh_install
:
set -e; for lib in $$(find $(PACKAGE_ROOT_DIR)/usr -name '*.so'); do \
sdir=$$(dirname $$lib) ; \
tdir=$(PACKAGE_ROOT_DIR)-lib/$${sdir
mkdir -p $$tdir ; \
echo "Moving '$$lib' into '$$tdir'." ; \
mv $$lib $$tdir ; \
done
if [ -x /usr/bin/dh_numpy3 ]; then dh_numpy3 -ppython3-brian-lib; fi
override_dh_compress:
dh_compress -X.py -X.html -X.css -X.jpg -X.txt -X.js -X.json -X.rtc -X.par -X.bin
test_examples: install
set -e; cd examples; \
for f in `find -iname *.py`; do echo -n "$$f: "; \
PYTHONPATH=$$(/bin/ls -d $(CURDIR)/build/lib.*-$(PYTHON_VERSION)) MPLCONFIGDIR=../build \
python3 $$f >& $$f.output && echo "Ok" || echo "Failed"; done
override_dh_installdocs:
pandoc README.rst > README.html
dh_installdocs
rm README.html
sed -i 's?https://cdnjs.cloudflare.com/ajax/.*/latest.js?file:///usr/share/javascript/mathjax/unpacked/latest.js?g' \
`grep -Rl 'https://cdnjs.cloudflare.com/ajax/.*/latest.js'`
execute_after_dh_strip:
find debian/ -name "*_cpp.o" -delete
find debian/ -name ".git*" -delete
|