summaryrefslogtreecommitdiffstats
path: root/ubuntu/_base/dependencies/pytqt/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/_base/dependencies/pytqt/debian/rules')
-rwxr-xr-xubuntu/_base/dependencies/pytqt/debian/rules191
1 files changed, 191 insertions, 0 deletions
diff --git a/ubuntu/_base/dependencies/pytqt/debian/rules b/ubuntu/_base/dependencies/pytqt/debian/rules
new file mode 100755
index 000000000..532bf34bd
--- /dev/null
+++ b/ubuntu/_base/dependencies/pytqt/debian/rules
@@ -0,0 +1,191 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# The default gzip compressor has been changed in dpkg >= 1.17.0.
+deb_default_compress = $(shell LANG=C dpkg-deb --version | head -n1 | \
+ sed -e "s|.*version ||" -e "s| .*||" | \
+ xargs -r dpkg --compare-versions 1.17.0 lt \
+ && echo xz || echo gzip)
+ifeq ($(deb_default_compress),gzip)
+DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \
+ && echo xz || echo bzip2)
+endif
+
+export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+export DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
+export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+export DH_OPTIONS
+
+-include /usr/share/python3/python.mk
+ifeq (,$(py_sitename))
+py_sitename = site-packages
+py_libdir = /usr/lib/python$(subst python,,$(1))/site-packages
+py_sitename_sh = $(py_sitename)
+py_libdir_sh = $(py_libdir)
+endif
+
+
+DOC=$(CURDIR)/debian/pytqt-doc/usr/share/doc/pytqt-doc
+INSTDIR=$(CURDIR)/debian
+
+export TQTDIR=/usr/share/tqt3
+export QMAKESPEC=$(TQTDIR)/mkspecs/linux-g++
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CXXFLAGS += -O0
+else
+ CXXFLAGS += -O1
+endif
+CXXFLAGS += "-I/usr/include/tqt"
+
+PYTHONS := $(shell py3versions -vr)
+
+DEB_PARALLEL_JOBS ?= 40
+
+.PRECIOUS: build-%/configure-stamp dbg-build-%/configure-stamp
+
+configure: $(PYTHONS:%=build-%/configure-stamp) $(PYTHONS:%=dbg-build-%/configure-stamp)
+
+build-%/configure-stamp:
+ dh_testdir
+ mkdir -p build-$*
+ cd build-$* && echo yes \
+ | python$* ../configure.py \
+ -c -n /usr/include/tqt3 \
+ -o /usr/lib/$(DEB_HOST_MULTIARCH) -u -j $(DEB_PARALLEL_JOBS) \
+ -d /usr/lib/python$*/$(call py_sitename,$*)/PyTQt \
+ -l /usr/include/python$* \
+ -v /usr/share/sip-tqt/tqt \
+ -m /usr/lib/python$*/config \
+ -z \
+ CXXFLAGS_RELEASE="" CXXFLAGS="${CXXFLAGS}" STRIP=""
+ touch $@
+
+dbg-build-%/configure-stamp:
+ dh_testdir
+ mkdir -p dbg-build-$*
+ cd dbg-build-$* && echo yes \
+ | python$*-dbg ../configure.py \
+ -c -n /usr/include/tqt3 \
+ -o /usr/lib/$(DEB_HOST_MULTIARCH) -u -j $(DEB_PARALLEL_JOBS) \
+ -d /usr/lib/python$*/$(call py_sitename,$*)/PyTQt \
+ -l /usr/include/python$*_d \
+ -v /usr/share/sip-tqt/tqt \
+ -m /usr/lib/python$*/config_d \
+ -z \
+ CXXFLAGS_RELEASE="" CXXFLAGS="-O0 -g -I/usr/include/tqt" STRIP=""
+ touch $@
+
+build build-arch: $(PYTHONS:%=build-%/build-stamp) $(PYTHONS:%=dbg-build-%/build-stamp)
+build-indep:
+
+build-%/build-stamp: build-%/configure-stamp
+ dh_testdir
+ $(MAKE) -C build-$*
+ touch $@
+
+dbg-build-%/build-stamp: dbg-build-%/configure-stamp
+ dh_testdir
+ $(MAKE) -C dbg-build-$*
+ touch $@
+
+install-indep: configure
+ dh_testdir
+ dh_testroot
+ dh_clean -k -i
+ dh_installdirs -i
+ for version in ${PYTHONS}; do \
+ pylibdev=debian/pytqt-dev/$$(python$$version -c "import sysconfig; print(sysconfig.get_path('platstdlib'))")/dist-packages/PyTQt;\
+ mkdir -p $$pylibdev;\
+ install -m 644 -o root -g root build-$$version/pytqtconfig.py $$pylibdev/pytqtconfig_nd.py; \
+ install -m 644 -o root -g root dbg-build-$$version/pytqtconfig.py $$pylibdev/pytqtconfig_d.py; \
+ done
+ dh_install -i
+ mkdir -p debian/pytqt-dev/usr/lib/python3/dist-packages/PyTQt
+ install -m 644 -o root -g root debian/pytqtconfig_py3.py debian/pytqt-dev/usr/lib/python3/dist-packages/PyTQt/pytqtconfig.py
+
+install-arch: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k -a
+ dh_installdirs -a
+
+ for p in ${PYTHONS} ; do \
+ $(MAKE) -f debian/rules install-arch-$$p;\
+ done
+
+ dh_install -a --sourcedir=$(CURDIR)/debian/tmp
+
+ for i in $$(find debian/python3-*-dbg -name '*.so'); do \
+ b=$$(basename $$i .so); \
+ mv $$i $$(dirname $$i)/$${b}_d.so; \
+ done
+ find debian/python3-*-dbg ! -type d \
+ ! \( -name '*.so' -o -name '*config_d.py' \) | xargs rm -f
+ find debian/python3-*-dbg -depth -type d -empty -exec rmdir {} \;
+
+install-arch-3.%:
+ $(MAKE) -C build-3.$* install DESTDIR=$(CURDIR)/debian/tmp
+ $(MAKE) -C dbg-build-3.$* install DESTDIR=$(CURDIR)/debian/python3-pytqt-dbg
+ mkdir -p debian/python3-pytqt/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt
+ cp -a debian/tmp/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/__init__.py \
+ debian/python3-pytqt/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/__init__.py
+ mkdir -p debian/python3-pytqt-gl-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt
+ mv debian/python3-pytqt-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/tqtgl.so \
+ debian/python3-pytqt-gl-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/
+ mkdir -p debian/python3-pytqtext-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt
+ mv debian/python3-pytqt-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/tqtext.so \
+ debian/python3-pytqtext-dbg/usr/lib/python3.$*/$(call py_sitename,$$version)/PyTQt/
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -rf $(PYTHONS:%=build-%) $(PYTHONS:%=dbg-build-%)
+ rm -f *-stamp
+ dh_clean
+
+# Must not depend on anything. This is to be called by
+# binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+ dh_testdir
+ dh_testroot
+ dh_installman
+ dh_installchangelogs ChangeLog
+ dh_installdocs -A NEWS THANKS
+ dh_installexamples
+ dh_link
+ifeq (,$(findstring -i, $(DH_OPTIONS)))
+ DH_OPTIONS= dh_strip -ppytqt-tools
+ set -e; \
+ for p in python3-pytqt python3-pytqt-gl python3-pytqtext; do \
+ DH_OPTIONS= dh_strip -p$$p --dbg-package=$$p-dbg; \
+ rm -rf debian/$$p-dbg/usr/share/doc/$$p-dbg; \
+ ln -s $$p debian/$$p-dbg/usr/share/doc/$$p-dbg; \
+ done
+endif
+# dh_strip
+ dh_compress -X.py -X.bmp -X.ui -X.sql
+ dh_fixperms
+ dh_python3 --no-dbg-cleaning
+ dh_py3sip_tqt
+ dh_lintian
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb $(DEB_DH_BUILDDEB_ARGS)
+
+# Build architecture independant packages using the common target.
+binary-indep: install-indep
+ $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: install-arch
+ $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build build-arch clean binary-indep binary-arch binary configure