summaryrefslogtreecommitdiffstats
path: root/ubuntu/_base/dependencies/sip4-tqt
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 18:27:57 +0200
commitd51161364c6e2c1b6ff95bcb2bc857947d6b8937 (patch)
tree0a8673dd1eb7c9d9d2a4a85b15f83b492df3fe6d /ubuntu/_base/dependencies/sip4-tqt
parentc52a26f8de2e5852d85b332f7bbdbe202cb7a2ee (diff)
downloadtde-packaging-d51161364c6e2c1b6ff95bcb2bc857947d6b8937.tar.gz
tde-packaging-d51161364c6e2c1b6ff95bcb2bc857947d6b8937.zip
DEB sip4-tqt: Add packages for Python3 support.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz> (cherry picked from commit cfaca8188c485ae756f7d7f49fda1d9926d4652c)
Diffstat (limited to 'ubuntu/_base/dependencies/sip4-tqt')
-rw-r--r--ubuntu/_base/dependencies/sip4-tqt/debian/control70
-rw-r--r--ubuntu/_base/dependencies/sip4-tqt/debian/python-sip-tqt.install2
-rwxr-xr-xubuntu/_base/dependencies/sip4-tqt/debian/rules35
-rw-r--r--ubuntu/_base/dependencies/sip4-tqt/debian/sipconfig_py3.py13
4 files changed, 105 insertions, 15 deletions
diff --git a/ubuntu/_base/dependencies/sip4-tqt/debian/control b/ubuntu/_base/dependencies/sip4-tqt/debian/control
index 68283ead1..ca64055dd 100644
--- a/ubuntu/_base/dependencies/sip4-tqt/debian/control
+++ b/ubuntu/_base/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, python-support (>= 0.7.1) | dh-python, libtqtinterface-dev, bison, flex
+Build-Depends: debhelper (>= 9~), python-all-dev (>= 2.3.5-10), python-all-dbg, python3-all-dev, python3-all-dbg, 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-tqt-api-7.1, 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-all-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/ubuntu/_base/dependencies/sip4-tqt/debian/python-sip-tqt.install b/ubuntu/_base/dependencies/sip4-tqt/debian/python-sip-tqt.install
index 9639c2814..01bc123e7 100644
--- a/ubuntu/_base/dependencies/sip4-tqt/debian/python-sip-tqt.install
+++ b/ubuntu/_base/dependencies/sip4-tqt/debian/python-sip-tqt.install
@@ -1 +1 @@
-usr/lib/python*/*-packages/sip4_tqt/sip.so
+usr/lib/python2.*/*-packages/sip4_tqt/sip.so
diff --git a/ubuntu/_base/dependencies/sip4-tqt/debian/rules b/ubuntu/_base/dependencies/sip4-tqt/debian/rules
index 1feb9c154..76f8280d1 100755
--- a/ubuntu/_base/dependencies/sip4-tqt/debian/rules
+++ b/ubuntu/_base/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)
@@ -48,7 +52,6 @@ build-%/configure-stamp:
cd build-$* \
&& python$* ../configure.py \
-d /usr/lib/python$*/$(call py_sitename,$*)/sip4_tqt \
- -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=""
touch $@
@@ -58,7 +61,6 @@ dbg-build-%/configure-stamp:
cd dbg-build-$* \
&& python$*-dbg ../configure.py \
-d /usr/lib/python$*/$(call py_sitename,$*)/sip4_tqt \
- -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 $@
@@ -81,12 +83,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,
@@ -103,10 +107,28 @@ 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/sip4_tqt/
+ touch debian/python3-sip-tqt/usr/lib/python3.$*/dist-packages/sip4_tqt/__init__.py
+ install -m 644 -o root -g root debian/sipconfig_py3.py debian/python3-sip-tqt/usr/lib/python3.$*/dist-packages/sip4_tqt/sipconfig.py
+ install -m 644 -o root -g root build-3.$*/sipconfig.py debian/python3-sip-tqt/usr/lib/python3.$*/dist-packages/sip4_tqt/sipconfig_nd.py
+ install -m 644 -o root -g root dbg-build-3.$*/sipconfig.py debian/python3-sip-tqt-dbg/usr/lib/python3.$*/dist-packages/sip4_tqt/sipconfig_d.py
+ mkdir -p debian/python3-sip-tqt-dev/usr/include/python3.$*
+ install -m 644 -o root -g root siplib/sip.h debian/python3-sip-tqt-dev/usr/include/python3.$*/
+ mkdir -p debian/python3-sip-tqt-dev/usr/include/python3.$*_d
+ ln -s ../python3.$*/sip.h \
+ debian/python3-sip-tqt-dev/usr/include/python3.$*_d/sip.h
+ mkdir -p debian/python3-sip-tqt-dev/usr/lib/python3.$*/dist-packages/sip4_tqt
+ install -m 644 -o root -g root sipdistutils.py debian/python3-sip-tqt-dev/usr/lib/python3.$*/dist-packages/sip4_tqt
+
install-arch-%:
$(MAKE) -C build-$* install DESTDIR=$(CURDIR)/debian/tmp
$(MAKE) -C dbg-build-$* install DESTDIR=$(CURDIR)/debian/python-sip-tqt-dbg
@@ -139,17 +161,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/ubuntu/_base/dependencies/sip4-tqt/debian/sipconfig_py3.py b/ubuntu/_base/dependencies/sip4-tqt/debian/sipconfig_py3.py
new file mode 100644
index 000000000..15c4d79be
--- /dev/null
+++ b/ubuntu/_base/dependencies/sip4-tqt/debian/sipconfig_py3.py
@@ -0,0 +1,13 @@
+# import the sipconfig.py for the normal or the debug build
+
+import sys
+
+if getattr(sys, "pydebug", False):
+ try:
+ from sipconfig_d import *
+ from sipconfig_d import _pkg_config, _default_macros
+ except ImportError as msg:
+ raise ImportError('No module named sipconfig; package python-sip-tqt-dbg not installed')
+else:
+ from sipconfig_nd import *
+ from sipconfig_nd import _pkg_config, _default_macros