summaryrefslogtreecommitdiffstats
path: root/dilos
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2022-04-21 14:15:05 +0200
committerSlávek Banko <slavek.banko@axis.cz>2022-04-21 14:16:49 +0200
commitcfaca8188c485ae756f7d7f49fda1d9926d4652c (patch)
treeff1bb82ca08257b527fa4ba21b1eb55f14f1e17b /dilos
parent4b875218b1608ac62b12e5274f0e68031c127d4c (diff)
downloadtde-packaging-cfaca8188c485ae756f7d7f49fda1d9926d4652c.tar.gz
tde-packaging-cfaca8188c485ae756f7d7f49fda1d9926d4652c.zip
DEB sip4-tqt: Add packages for Python3 support.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'dilos')
-rw-r--r--dilos/dependencies/sip4-tqt/debian/control70
-rw-r--r--dilos/dependencies/sip4-tqt/debian/python-sip-tqt.install2
-rwxr-xr-xdilos/dependencies/sip4-tqt/debian/rules34
-rw-r--r--dilos/dependencies/sip4-tqt/debian/sip_tqt_config_py3.py13
4 files changed, 104 insertions, 15 deletions
diff --git a/dilos/dependencies/sip4-tqt/debian/control b/dilos/dependencies/sip4-tqt/debian/control
index 062fca734..08cddf311 100644
--- a/dilos/dependencies/sip4-tqt/debian/control
+++ b/dilos/dependencies/sip4-tqt/debian/control
@@ -4,20 +4,21 @@ Priority: optional
Maintainer: TDE Debian Team <team-debian@trinitydesktop.org>
XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
Uploaders: Torsten Marek <shlomme@debian.org>, Bernd Zeimetz <bzed@debian.org>, Michael Casadevall <mcasadevall@debian.org>
-Build-Depends: debhelper (>= 9~), python-all-dev (>= 2.3.5-10), python-all-dbg [!solaris-any], python-support (>= 0.7.1) | python-dev (>= 2.6.6-3~), libtqtinterface-dev, bison, flex
+Build-Depends: debhelper (>= 9~), python-all-dev (>= 2.3.5-10), python-all-dbg [!solaris-any], python3-all-dev, python3-all-dbg [!solaris-any], python-support (>= 0.7.1) | dh-python, libtqtinterface-dev, bison, flex
Standards-Version: 3.8.4
XS-Python-Version: all
+X-Python3-Version: >= 3.0
Package: python-sip-tqt
Architecture: any
Section: python
Replaces: python-sip-tqt (<< 4:14.0.0~)
Breaks: python-sip-tqt (<< 4:14.0.0~)
-Provides: ${python:Provides}, sip-api-7.0, sip-api-7.1
+Provides: ${python:Provides}
Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
Conflicts: python-sip4 (<< 4.10)
Description: Python/C++ bindings generator runtime library
- SIP is a tool for generating bindings for C++ classes with some ideas
+ SIP-TQt is a tool for generating bindings for C++ classes with some ideas
borrowed from SWIG, but capable of tighter bindings because of its
specificity towards C++ and Python.
@@ -31,7 +32,7 @@ Provides: ${python:Provides}
Depends: python-sip-tqt (= ${binary:Version}), python-dbg, ${shlibs:Depends}, ${misc:Depends}
Conflicts: python-sip4-dbg (<< 4.10)
Description: Python/C++ bindings generator runtime library (debug extension)
- SIP is a tool for generating bindings for C++ classes with some ideas
+ SIP-TQt is a tool for generating bindings for C++ classes with some ideas
borrowed from SWIG, but capable of tighter bindings because of its
specificity towards C++ and Python.
.
@@ -47,17 +48,17 @@ Recommends: python-sip-tqt (>= ${source:Version})
Provides: python-sip-dev, python-sip4-dev, sip4
Conflicts: python-sip-dev, python-sip4-dev (<< 4.10), sip4 (<< 4.10)
Description: Python/C++ bindings generator development files
- SIP is a tool for generating bindings for C++ classes with some ideas
+ SIP-TQt is a tool for generating bindings for C++ classes with some ideas
borrowed from SWIG, but capable of tighter bindings because of its
specificity towards C++ and Python.
.
- SIP was originally designed to generate Python bindings for TDE and so
+ SIP-TQt was originally designed to generate Python bindings for TDE and so
has explicit support for the signal slot mechanism used by the TQt/TDE
class libraries.
.
Features:
- - connecting Qt signals to Python functions and class methods
- - connecting Python signals to Qt slots
+ - connecting TQt signals to Python functions and class methods
+ - connecting Python signals to TQt slots
- overloading virtual member functions with Python class methods
- protected member functions
- abstract classes
@@ -66,4 +67,55 @@ Description: Python/C++ bindings generator development files
- static member functions.
.
This package contains the code generator tool and the development headers
- needed to develop Python bindings with sip.
+ needed to develop Python bindings with sip-tqt.
+
+Package: python3-sip-tqt
+Architecture: any
+Section: python
+Provides: ${python3:Provides}
+Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Description: Python 3/C++ bindings generator runtime library
+ SIP-TQt is a tool for generating bindings for C++ classes with some ideas
+ borrowed from SWIG, but capable of tighter bindings because of its
+ specificity towards C++ and Python.
+ .
+ This package provides SIP-TQt with support for Python 3
+
+Package: python3-sip-tqt-dev
+Architecture: any
+Section: python
+Depends: ${python:Depends}, python3-sip-tqt (= ${binary:Version}), python-all-dev, ${shlibs:Depends}, libjs-jquery, ${misc:Depends}
+Recommends: python3-sip-tqt (>= ${source:Version})
+Description: Python/C++ bindings generator development files
+ SIP-TQt is a tool for generating bindings for C++ classes with some ideas
+ borrowed from SWIG, but capable of tighter bindings because of its
+ specificity towards C++ and Python.
+ .
+ SIP-TQt was originally designed to generate Python bindings for TDE and so
+ has explicit support for the signal slot mechanism used by the TQt/TDE
+ class libraries.
+ .
+ Features:
+ - connecting TQt signals to Python functions and class methods
+ - connecting Python signals to TQt slots
+ - overloading virtual member functions with Python class methods
+ - protected member functions
+ - abstract classes
+ - enumerated types
+ - global class instances
+ - static member functions.
+ .
+ This package contains the code generator tool and the development headers
+ needed to develop Python 3 bindings with sip-tqt.
+
+Package: python3-sip-tqt-dbg
+Architecture: any
+Section: debug
+Priority: extra
+Depends: python3-sip-tqt (= ${binary:Version}), python3-all-dbg, ${shlibs:Depends}, ${misc:Depends}
+Description: Python 3/C++ bindings generator runtime library
+ SIP-TQt is a tool for generating bindings for C++ classes with some ideas
+ borrowed from SWIG, but capable of tighter bindings because of its
+ specificity towards C++ and Python.
+ .
+ This package contains debugging symbols for python3-sip-tqt
diff --git a/dilos/dependencies/sip4-tqt/debian/python-sip-tqt.install b/dilos/dependencies/sip4-tqt/debian/python-sip-tqt.install
index bfa1b37f6..e9db89432 100644
--- a/dilos/dependencies/sip4-tqt/debian/python-sip-tqt.install
+++ b/dilos/dependencies/sip4-tqt/debian/python-sip-tqt.install
@@ -1 +1 @@
-usr/lib/python*/*-packages/sip_tqt.so
+usr/lib/python2.*/*-packages/sip_tqt.so
diff --git a/dilos/dependencies/sip4-tqt/debian/rules b/dilos/dependencies/sip4-tqt/debian/rules
index 23fe587f0..b8e9fb809 100755
--- a/dilos/dependencies/sip4-tqt/debian/rules
+++ b/dilos/dependencies/sip4-tqt/debian/rules
@@ -14,6 +14,10 @@ endif
export DH_OPTIONS
+PY2_PROVIDES=sip-tqt-api-7.0, sip-tqt-api-7.1
+PY3_PROVIDES=sip-tqt-py3api-7.0, sip-tqt-py3api-7.1
+PYDIST=sip $(shell python -c "a=[i.strip() for i in '$(PY3_PROVIDES)'.split(',')]; print sorted(a, reverse=True)[0]")
+
INSTDIR=$(CURDIR)/debian
#CFLAGS=
@@ -24,7 +28,7 @@ else
CFLAGS += -O2 -g
endif
-PYTHONS := $(shell pyversions -vr debian/control)
+PYTHONS := $(shell pyversions -vr) $(shell py3versions -vd)
DEB_PYTHON_SYSTEM = $(if $(wildcard /usr/bin/dh_python2),,pysupport)
DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_pysupport)
@@ -49,7 +53,6 @@ build-%/configure-stamp:
cd build-$* \
&& python$* ../configure.py \
-d /usr/lib/python$*/$(call py_sitename,$*) \
- -g python$* \
-u STRIP="" CFLAGS="${CFLAGS} -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CFLAGS_RELEASE="" CXXFLAGS="${CFLAGS} -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CXXFLAGS_RELEASE="" \
-p solaris-g++
touch $@
@@ -60,7 +63,6 @@ dbg-build-%/configure-stamp:
cd dbg-build-$* \
&& python$*-dbg ../configure.py \
-d /usr/lib/python$*/$(call py_sitename,$*) \
- -g python$* \
-e /usr/include/python$*_d \
-u CFLAGS="-O0 -g -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CFLAGS_RELEASE="" CXXFLAGS="-O0 -g -I/usr/include/tqt -I/usr/include/tqt3 -I/usr/include/qt3" CXXFLAGS_RELEASE="" STRIP=""
touch $@
@@ -85,12 +87,14 @@ clean:
dh_testdir
dh_testroot
rm -rf *-stamp siputils.pyc $(PYTHONS:%=build-%) $(PYTHONS:%=dbg-build-%)
- dh_clean
+ dh_clean debian/python3-sip.pydist
install-arch: build
dh_testdir
dh_testroot
dh_prep -a
+ echo "python:Provides=$(PY2_PROVIDES)" >> debian/python-sip-tqt.substvars
+ echo "python3:Provides=$(PY3_PROVIDES)" >> debian/python3-sip-tqt.substvars
dh_installdirs -a
# This is needed to enforce that the install-arch-% rules are
# not run in parallel. Both rules install into the same directory,
@@ -107,10 +111,27 @@ install-arch: build
# done
# find debian/python-sip-tqt-dbg ! -type d ! -name '*_d.*' | xargs rm -f
# find debian/python-sip-tqt-dbg -depth -empty -exec rmdir {} \;
+# find debian/python3-sip-tqt-dbg ! -type d ! -name '*_d.*' | xargs rm -f
+# find debian/python3-sip-tqt-dbg -depth -empty -exec rmdir {} \;
dh_install -a --sourcedir=$(CURDIR)/debian/tmp
install -m 755 -o root -g root debian/dh_sip_tqt debian/python-sip-tqt-dev/usr/bin
+install-arch-3.%:
+ $(MAKE) -C build-3.$* install DESTDIR=$(CURDIR)/debian/tmp
+# $(MAKE) -C dbg-build-3.$* install DESTDIR=$(CURDIR)/debian/python3-sip-tqt-dbg
+ mkdir -p debian/python3-sip-tqt/usr/lib/python3.$*/dist-packages/
+ install -m 644 -o root -g root debian/sip_tqt_config_py3.py debian/python3-sip-tqt/usr/lib/python3.$*/dist-packages/sip_tqt_config.py
+ install -m 644 -o root -g root build-3.$*/sip_tqt_config.py debian/python3-sip-tqt/usr/lib/python3.$*/dist-packages/sip_tqt_config_nd.py
+# install -m 644 -o root -g root dbg-build-3.$*/sip_tqt_config.py debian/python3-sip-tqt-dbg/usr/lib/python3.$*/dist-packages/sip_tqt_config_d.py
+ mkdir -p debian/python3-sip-tqt-dev/usr/include/python3.$*
+ install -m 644 -o root -g root siplib/sip-tqt.h debian/python3-sip-tqt-dev/usr/include/python3.$*/
+ mkdir -p debian/python3-sip-tqt-dev/usr/include/python3.$*_d
+ ln -s ../python3.$*/sip-tqt.h \
+ debian/python3-sip-tqt-dev/usr/include/python3.$*_d/sip-tqt.h
+ mkdir -p debian/python3-sip-tqt-dev/usr/lib/python3.$*/dist-packages
+ install -m 644 -o root -g root sip_tqt_distutils.py debian/python3-sip-tqt-dev/usr/lib/python3.$*/dist-packages
+
install-arch-%:
$(MAKE) -C build-$* install DESTDIR=$(CURDIR)/debian/tmp
# $(MAKE) -C dbg-build-$* install DESTDIR=$(CURDIR)/debian/python-sip-tqt-dbg
@@ -142,17 +163,20 @@ binary-common:
ifneq (,$(findstring -a, $(DH_OPTIONS)))
DH_OPTIONS= dh_strip -ppython-sip-tqt-dev
DH_OPTIONS= dh_strip -ppython-sip-tqt -Npython-sip-tqt-dev --dbg-package=python-sip-tqt-dbg
+ DH_OPTIONS= dh_strip -ppython3-sip-tqt-dev
+ DH_OPTIONS= dh_strip -ppython3-sip-tqt -Npython3-sip-tqt-dev --dbg-package=python3-sip-tqt-dbg
rm -rf debian/python-sip-tqt-dbg/usr/share/doc/python-sip-tqt-dbg
# mkdir -p debian/python-sip-tqt-dbg/usr/share/doc
# ln -s python-sip-tqt debian/python-sip-tqt-dbg/usr/share/doc/python-sip-tqt-dbg
endif
- dh_compress
+ dh_compress -X.inv
dh_fixperms
ifneq (dh_pysupport,${DH_PYTHON2})
${DH_PYTHON2} --no-dbg-cleaning
else
${DH_PYTHON2}
endif
+ dh_python3
dh_installdeb
dh_shlibdeps
dh_gencontrol
diff --git a/dilos/dependencies/sip4-tqt/debian/sip_tqt_config_py3.py b/dilos/dependencies/sip4-tqt/debian/sip_tqt_config_py3.py
new file mode 100644
index 000000000..fb27b6475
--- /dev/null
+++ b/dilos/dependencies/sip4-tqt/debian/sip_tqt_config_py3.py
@@ -0,0 +1,13 @@
+# import the sip_tqt_config.py for the normal or the debug build
+
+import sys
+
+if getattr(sys, "pydebug", False):
+ try:
+ from sip_tqt_config_d import *
+ from sip_tqt_config_d import _pkg_config, _default_macros
+ except ImportError as msg:
+ raise ImportError('No module named sip_tqt_config; package python-sip-tqt-dbg not installed')
+else:
+ from sip_tqt_config_nd import *
+ from sip_tqt_config_nd import _pkg_config, _default_macros