Package: src:pyotherside
Severity: wishlist

Dear Maintainer,
Currently you are building only a Qt 5 plugins,
but upstream source code is also compatible with Qt6.
Could you please build the Qml6 plugin ?

I already did it locally, please find the debdiff in attachment.

Best regards,
Sébastien
diff -Nru pyotherside-1.6.0/debian/control pyotherside-1.6.0/debian/control
--- pyotherside-1.6.0/debian/control
+++ pyotherside-1.6.0/debian/control
@@ -7,25 +7,23 @@
                python3-dev,
                python3-sphinx,
                qt5-qmake,
+               qmake6,
                qtbase5-dev,
+               qt6-base-dev,
                qtdeclarative5-dev,
+               qt6-declarative-dev,
                xauth,
                xvfb,
                libqt5svg5-dev,
-               libqt5opengl5-dev
+               libqt6svg6-dev,
+               libqt5opengl5-dev,
+               libqt6opengl6-dev,
 Standards-Version: 4.6.1
 Rules-Requires-Root: no
 Vcs-Git: https://salsa.debian.org/python-team/packages/pyotherside.git
 Vcs-Browser: https://salsa.debian.org/python-team/packages/pyotherside
 Homepage: https://thp.io/2011/pyotherside/
 
-Package: pyotherside
-Depends: qml-module-io-thp-pyotherside, ${misc:Depends}
-Description: transitional dummy package
- This is a transitional dummy package. It can safely be removed.
-Architecture: all
-Section: oldlibs
-
 Package: qml-module-io-thp-pyotherside
 Multi-Arch: same
 Architecture: any
@@ -46,13 +44,29 @@
  objects to Python objects and vice versa, with focus on asynchronous events
  and continuation-passing style function calls.
  .
- While legacy versions of PyOtherSide worked with Qt 4.x and Python 2.x, its
- focus now lies on Python 3.x and Qt 5. Python 3 has been out for several
- years, and offers some nice language features and clean-ups, while Qt 5
- supports most mobile platforms well, and has an improved QML engine and a
- faster renderer (Qt Scene Graph) compared to Qt 4.
+ This package provides the QML 5 plugin.
+
+Package: qml6-module-io-thp-pyotherside
+Multi-Arch: same
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: python3:any, ${misc:Depends}, ${shlibs:Depends}
+Description: asynchronous Python 3 Bindings for Qt 6 (QML plugin)
+ A Qt 6 QML Plugin that provides access to a Python 3 interpreter from QML.
+ .
+ PyOtherSide is a Qt QML Plugin that provides access to a Python 3
+ interpreter from QML. It was designed with mobile devices in mind, where
+ high-framerate touch interfaces are common, and where the user usually
+ interfaces only with one application at a time via a touchscreen. As such, it
+ is important to never block the UI thread, so that the user can always
+ continue to use the interface, even when the backend is processing,
+ downloading or calculating something in the background.
+ .
+ At its core, PyOtherSide is basically a simple layer that converts Qt (QML)
+ objects to Python objects and vice versa, with focus on asynchronous events
+ and continuation-passing style function calls.
  .
- This package provides the QML plugin.
+ This package provides the QML 6 plugin.
 
 Package: pyotherside-doc
 Section: doc
@@ -60,10 +74,10 @@
 Architecture: all
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${sphinxdoc:Depends}
-Description: asynchronous Python 3 Bindings for Qt 5 (documentation)
- A Qt 5 QML Plugin that provides access to a Python 3 interpreter from QML.
+Description: asynchronous Python 3 Bindings for Qt (documentation)
+ A Qt QML Plugin that provides access to a Python 3 interpreter from QML.
  .
- PyOtherSide is a Qt 5 QML Plugin that provides access to a Python 3
+ PyOtherSide is a Qt QML Plugin that provides access to a Python 3
  interpreter from QML. It was designed with mobile devices in mind, where
  high-framerate touch interfaces are common, and where the user usually
  interfaces only with one application at a time via a touchscreen. As such, it
@@ -75,12 +89,6 @@
  objects to Python objects and vice versa, with focus on asynchronous events
  and continuation-passing style function calls.
  .
- While legacy versions of PyOtherSide worked with Qt 4.x and Python 2.x, its
- focus now lies on Python 3.x and Qt 5. Python 3 has been out for several
- years, and offers some nice language features and clean-ups, while Qt 5
- supports most mobile platforms well, and has an improved QML engine and a
- faster renderer (Qt Scene Graph) compared to Qt 4.
- .
  This package provides the HTML documentation as well as the set of examples.
 
 Package: pyotherside-tests
@@ -92,10 +100,10 @@
          python3:any,
          ${misc:Depends},
          ${shlibs:Depends}
-Description: Asynchronous Python 3 Bindings for Qt 5 (tests)
- A Qt 5 QML Plugin that provides access to a Python 3 interpreter from QML.
+Description: Asynchronous Python 3 Bindings for Qt (tests)
+ A Qt QML Plugin that provides access to a Python 3 interpreter from QML.
  .
- PyOtherSide is a Qt 5 QML Plugin that provides access to a Python 3
+ PyOtherSide is a Qt QML Plugin that provides access to a Python 3
  interpreter from QML. It was designed with mobile devices in mind, where
  high-framerate touch interfaces are common, and where the user usually
  interfaces only with one application at a time via a touchscreen. As such, it
@@ -107,10 +115,4 @@
  objects to Python objects and vice versa, with focus on asynchronous events
  and continuation-passing style function calls.
  .
- While legacy versions of PyOtherSide worked with Qt 4.x and Python 2.x, its
- focus now lies on Python 3.x and Qt 5. Python 3 has been out for several
- years, and offers some nice language features and clean-ups, while Qt 5
- supports most mobile platforms well, and has an improved QML engine and a
- faster renderer (Qt Scene Graph) compared to Qt 4.
- .
  This package contains the test suite that can be started post-installation.
diff -Nru pyotherside-1.6.0/debian/pyotherside-tests.install pyotherside-1.6.0/debian/pyotherside-tests.install
--- pyotherside-1.6.0/debian/pyotherside-tests.install
+++ pyotherside-1.6.0/debian/pyotherside-tests.install
@@ -1,3 +1,3 @@
 tests/test_*/ /usr/lib/${DEB_HOST_MULTIARCH}/pyotherside/tests
-tests/tests /usr/lib/${DEB_HOST_MULTIARCH}/pyotherside/tests
+build5/tests/tests /usr/lib/${DEB_HOST_MULTIARCH}/pyotherside/tests
 usr/tests/qtquicktests/qtquicktests /usr/lib/${DEB_HOST_MULTIARCH}/pyotherside/tests
diff -Nru pyotherside-1.6.0/debian/qml6-module-io-thp-pyotherside.install pyotherside-1.6.0/debian/qml6-module-io-thp-pyotherside.install
--- pyotherside-1.6.0/debian/qml6-module-io-thp-pyotherside.install	1970-01-01 01:00:00.000000000 +0100
+++ pyotherside-1.6.0/debian/qml6-module-io-thp-pyotherside.install
@@ -0,0 +1 @@
+/usr/lib/*/qt6
diff -Nru pyotherside-1.6.0/debian/qml-module-io-thp-pyotherside.install pyotherside-1.6.0/debian/qml-module-io-thp-pyotherside.install
--- pyotherside-1.6.0/debian/qml-module-io-thp-pyotherside.install
+++ pyotherside-1.6.0/debian/qml-module-io-thp-pyotherside.install
@@ -1 +1 @@
-/usr/lib/*
+/usr/lib/*/qt5
diff -Nru pyotherside-1.6.0/debian/rules pyotherside-1.6.0/debian/rules
--- pyotherside-1.6.0/debian/rules
+++ pyotherside-1.6.0/debian/rules
@@ -3,22 +3,32 @@
 include /usr/share/dpkg/architecture.mk
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-export QT_SELECT=qt5
 
 %:
 	dh $@ --with=sphinxdoc
 
+override_dh_auto_configure:
+	QT_SELECT=qt5 dh_auto_configure --builddir=build5 -- ..
+	mkdir -p build6 && cd build6 && qmake6 "QMAKE_CFLAGS_RELEASE=${CFLAGS} ${CPPFLAGS}" "QMAKE_CFLAGS_DEBUG=${CFLAGS} ${CPPFLAGS}" "QMAKE_CXXFLAGS_RELEASE=${CXXFLAGS} ${CPPFLAGS}" "QMAKE_CXXFLAGS_DEBUG=${CXXFLAGS} ${CPPFLAGS}" "QMAKE_LFLAGS_RELEASE=${LDFLAGS}" "QMAKE_LFLAGS_DEBUG=${LDFLAGS}" QMAKE_STRIP=: PREFIX=/usr .. && cd ..
+
 override_dh_auto_build:
-	dh_auto_build
+	dh_auto_build --builddir=build6
+	dh_auto_build --builddir=build5
 	/usr/share/sphinx/scripts/python3/sphinx-build -b html docs build/sphinx/html
 
+override_dh_auto_install:
+	dh_auto_install --builddir=build6
+	dh_auto_install --builddir=build5
+
 override_dh_auto_clean:
-	dh_auto_clean
-	rm -rf build
+	dh_auto_clean --builddir=build6
+	dh_auto_clean --builddir=build5
+	rm -rf build build5 build6
 
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	xvfb-run -a ./tests/tests
+	xvfb-run -a ./build5/tests/tests
+	xvfb-run -a ./build6/tests/tests
 endif
 
 override_dh_installdocs:

Reply via email to