Bug#1093583: pulseaudio-equalizer: Port to pyqt6

Bastian Germann bage at debian.org
Sat Jan 25 21:12:22 GMT 2025


Control: tags -1 patch

I am including a debdiff. I might upload this as a NMU in the trixie cycle if nobody insists against it.
-------------- next part --------------
diff -Nru pulseaudio-17.0+dfsg1/debian/changelog pulseaudio-17.0+dfsg1/debian/changelog
--- pulseaudio-17.0+dfsg1/debian/changelog	2024-12-11 21:27:53.000000000 +0100
+++ pulseaudio-17.0+dfsg1/debian/changelog	2025-01-25 22:05:05.000000000 +0100
@@ -1,3 +1,10 @@
+pulseaudio (17.0+dfsg1-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload
+  * qpaeq: port to PyQt6 (Closes: #1093583)
+
+ -- Bastian Germann <bage at debian.org>  Sat, 25 Jan 2025 22:05:05 +0100
+
 pulseaudio (17.0+dfsg1-1) unstable; urgency=medium
 
   [ Alper Nebi Yasak ]
diff -Nru pulseaudio-17.0+dfsg1/debian/patches/qpaeq-port-to-PyQt6.patch pulseaudio-17.0+dfsg1/debian/patches/qpaeq-port-to-PyQt6.patch
--- pulseaudio-17.0+dfsg1/debian/patches/qpaeq-port-to-PyQt6.patch	1970-01-01 01:00:00.000000000 +0100
+++ pulseaudio-17.0+dfsg1/debian/patches/qpaeq-port-to-PyQt6.patch	2025-01-25 22:01:34.000000000 +0100
@@ -0,0 +1,105 @@
+Origin: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/3842
+From: Bastian Germann <bage at debian.org>
+Date: Fri, 17 Jan 2025 22:01:57 +0100
+Subject: qpaeq: port to PyQt6
+
+Signed-off-by: Bastian Germann <bage at debian.org>
+---
+ src/utils/qpaeq | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/src/utils/qpaeq b/src/utils/qpaeq
+index 7e01d873f..0fc7506fc 100755
+--- a/src/utils/qpaeq
++++ b/src/utils/qpaeq
+@@ -18,12 +18,12 @@
+ 
+ import os,math,sys
+ try:
+-    from PyQt5 import QtWidgets,QtCore
+-    import dbus.mainloop.pyqt5
++    from PyQt6 import QtWidgets,QtCore
++    import dbus.mainloop.pyqt6
+     import dbus
+ except ImportError as e:
+     sys.stderr.write('There was an error importing needed libraries\n'
+-                     'Make sure you have qt5 and dbus-python installed\n'
++                     'Make sure you have qt6 and dbus-python installed\n'
+                      'The error that occurred was:\n'
+                      '\t%s\n' % (str(e)))
+     sys.exit(-1)
+@@ -86,7 +86,7 @@ class QPaeq(QtWidgets.QWidget):
+         self.main_layout=QtWidgets.QVBoxLayout()
+         self.setLayout(self.main_layout)
+         toprow_layout=QtWidgets.QHBoxLayout()
+-        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
++        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
+         sizePolicy.setHorizontalStretch(0)
+         sizePolicy.setVerticalStretch(0)
+         #sizePolicy.setHeightForWidth(self.profile_box.sizePolicy().hasHeightForWidth())
+@@ -95,7 +95,7 @@ class QPaeq(QtWidgets.QWidget):
+         self.sink_box = QtWidgets.QComboBox()
+         self.sink_box.setSizePolicy(sizePolicy)
+         self.sink_box.setDuplicatesEnabled(False)
+-        self.sink_box.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically)
++        self.sink_box.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
+         #self.sink_box.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContents)
+         toprow_layout.addWidget(self.sink_box)
+ 
+@@ -107,21 +107,21 @@ class QPaeq(QtWidgets.QWidget):
+         toprow_layout.addWidget(QtWidgets.QLabel('Preset'))
+         self.profile_box = QtWidgets.QComboBox()
+         self.profile_box.setSizePolicy(sizePolicy)
+-        self.profile_box.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically)
++        self.profile_box.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
+         #self.profile_box.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToContents)
+         toprow_layout.addWidget(self.profile_box)
+ 
+-        large_icon_size=self.style().pixelMetric(QtWidgets.QStyle.PM_LargeIconSize)
++        large_icon_size=self.style().pixelMetric(QtWidgets.QStyle.PixelMetric.PM_LargeIconSize)
+         large_icon_size=QtCore.QSize(large_icon_size,large_icon_size)
+         save_profile=QtWidgets.QToolButton()
+-        save_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_DriveFDIcon))
++        save_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.StandardPixmap.SP_DriveFDIcon))
+         save_profile.setIconSize(large_icon_size)
+-        save_profile.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
++        save_profile.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonIconOnly)
+         save_profile.clicked.connect(self.save_profile)
+         remove_profile=QtWidgets.QToolButton()
+-        remove_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_TrashIcon))
++        remove_profile.setIcon(self.style().standardIcon(QtWidgets.QStyle.StandardPixmap.SP_TrashIcon))
+         remove_profile.setIconSize(large_icon_size)
+-        remove_profile.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly)
++        remove_profile.setToolButtonStyle(QtCore.Qt.ToolButtonStyle.ToolButtonIconOnly)
+         remove_profile.clicked.connect(self.remove_profile)
+         toprow_layout.addWidget(save_profile)
+         toprow_layout.addWidget(remove_profile)
+@@ -370,11 +370,11 @@ class SliderArraySub(QtWidgets.QWidget):
+         qt=QtCore.Qt
+         #self.layout().setHorizontalSpacing(1)
+         def add_slider(slider,label, c):
+-            self.layout().addWidget(slider,0,c,qt.AlignHCenter)
+-            self.layout().addWidget(label,1,c,qt.AlignHCenter)
++            self.layout().addWidget(slider,0,c,qt.AlignmentFlag.AlignHCenter)
++            self.layout().addWidget(label,1,c,qt.AlignmentFlag.AlignHCenter)
+             self.layout().setColumnMinimumWidth(c,max(label.sizeHint().width(),slider.sizeHint().width()))
+         def create_slider(slider_label):
+-            slider=QtWidgets.QSlider(QtCore.Qt.Vertical,self)
++            slider=QtWidgets.QSlider(QtCore.Qt.Orientation.Vertical,self)
+             label=SliderLabel(slider_label,filter_state,self)
+             slider.setRange(-1000,2000)
+             slider.setSingleStep(1)
+@@ -564,11 +564,11 @@ def subdivide(xs, t_points):
+     return left+right
+ 
+ def main():
+-    dbus.mainloop.pyqt5.DBusQtMainLoop(set_as_default=True)
++    dbus.mainloop.pyqt6.DBusQtMainLoop(set_as_default=True)
+     app=QtWidgets.QApplication(sys.argv)
+     qpaeq_main=QPaeq()
+     qpaeq_main.show()
+-    sys.exit(app.exec_())
++    sys.exit(app.exec())
+ 
+ if __name__=='__main__':
+     main()
diff -Nru pulseaudio-17.0+dfsg1/debian/patches/series pulseaudio-17.0+dfsg1/debian/patches/series
--- pulseaudio-17.0+dfsg1/debian/patches/series	2024-12-11 21:27:53.000000000 +0100
+++ pulseaudio-17.0+dfsg1/debian/patches/series	2025-01-25 22:04:55.000000000 +0100
@@ -5,3 +5,4 @@
 ucm-replace-context-assertion-with-error.patch
 ucm-fix-infinite-recursion.patch
 support-old-webrtc-lib.patch
+qpaeq-port-to-PyQt6.patch


More information about the pkg-pulseaudio-devel mailing list