diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ade4412 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +qtav (1.13.0+ds-ok1) yangtze; urgency=medium + + * Build for openKylin. + + -- openKylinBot Mon, 25 Apr 2022 22:03:04 +0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..1f2a571 --- /dev/null +++ b/debian/control @@ -0,0 +1,114 @@ +Source: qtav +Maintainer: Openkylin Developers +Uploaders: Steve M. Robbins +Section: video +Priority: optional +Build-Depends: debhelper (>= 11~), + qt5-qmake, + libqt5opengl5-dev, + libqt5svg5-dev, + qtdeclarative5-dev, + libqt5x11extras5-dev, + libass-dev, + libavutil-dev, + libavresample-dev, + libavcodec-dev, + libavformat-dev, + libavdevice-dev, + libavfilter-dev, + libswscale-dev, + libopenal-dev, + libpulse-dev, + libxv-dev, + libva-dev [!hurd-any], + libegl1-mesa-dev, + libuchardet-dev +Standards-Version: 4.1.5 +Homepage: http://qtav.org +Vcs-Browser: https://salsa.debian.org/qt-kde-team/extras/qtav +Vcs-Git: https://salsa.debian.org/qt-kde-team/extras/qtav.git + +Package: libqtav1 +Architecture: any +Multi-Arch: same +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Description: QtAV library + QtAV is a multimedia playback library based on Qt and FFmpeg. + It can help you to write a player with less effort than ever before. + . + This package contains the QtAV library. + +Package: libqtavwidgets1 +Architecture: any +Multi-Arch: same +Section: libs +Depends: ${misc:Depends}, + ${shlibs:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: QtAV Widgets module + QtAV is a multimedia playback library based on Qt and FFmpeg. + It can help you to write a player with less effort than ever before. + . + This package contains a set of widgets to play media. + +Package: libqtav-dev +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: ${misc:Depends}, + libqtav1 (= ${binary:Version}), + libqtavwidgets1 (= ${binary:Version}), + libqt5opengl5-dev +Description: QtAV development files + QtAV is a multimedia playback framework based on Qt and FFmpeg. + It can help you to write a player with less effort than ever before. + . + This package contains the header development files for building some + QtAV applications using QtAV headers. + +Package: libqtav-private-dev +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: libqtav-dev (= ${binary:Version}), + ${misc:Depends} +Description: QtAV private development files + QtAV is a multimedia playback library based on Qt and FFmpeg. + It can help you to write a player with less effort than ever before. + . + This package contains the private header development files for building some + QtAV applications using QtAV private headers. + . + Use at your own risk. + +Package: qml-module-qtav +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, + ${shlibs:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: QtAV QML module + QtAV is a multimedia playback library based on Qt and FFmpeg. + It can help you to write a player with less effort than ever before. + . + This package contains the QtAV QML module for Qt declarative. + +Package: qtav-players +Architecture: any +Multi-Arch: no +Section: video +Depends: ${misc:Depends}, + ${shlibs:Depends}, + qml-module-qtav, + qml-module-qtquick-dialogs, + qml-module-qtquick-controls, + qml-module-qt-labs-folderlistmodel +Pre-Depends: ${misc:Pre-Depends} +Description: QtAV/QML players + QtAV is a multimedia playback framework based on Qt and FFmpeg. + High performance. User & developer friendly. + . + This package contains the QtAV based players diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..f880e39 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,168 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: QtAV +Source: https://github.com/wang-bin/QtAV +Files-Excluded: debian/* contrib/* + +Files: * +Copyright: 2012-2017, Wang Bin +License: LGPL-2.1+ + +Files: examples/* +Copyright: 2012-2017, Wang Bin +License: GPL-3+ + +Files: qml/* +Copyright: 2012-2017, Wang Bin +License: LGPL-2.1+ + +Files: src/QtAV/dptr.h +Copyright: 2006-2011, the LibQxt project. +License: BSD-3-clause + +Files: src/codec/video/tiled_yuv.S +Copyright: 2014, Jens Kuske +License: LGPL-2.1+ + +Files: src/compat/* +Copyright: 2006-2008, Alexander Chemeris +License: BSD-2-clause + +Files: src/cuda/dynlink_cuda.h +Copyright: 2016 +License: dynlink_cuda + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the software, and to permit persons to whom the + * software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + +Files: src/cuda/dynlink_cuviddec.h + src/cuda/dynlink_nvcuvid.h +Copyright: 2010-2016, NVIDIA Corporation +License: dynlink_cuviddec + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the software, and to permit persons to whom the + * software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + +Files: tests/* +Copyright: 2012-2017, Wang Bin +License: GPL-3+ + +Files: tests/arch/qprocessordetection.h +Copyright: 2015, The Qt Company Ltd. +License: LGPL-2.1 or LGPL-3 + +License: BSD-2-clause + // Redistribution and use in source and binary forms, with or without + // modification, are permitted provided that the following conditions are met: + // + // 1. Redistributions of source code must retain the above copyright notice, + // this list of conditions and the following disclaimer. + // + // 2. Redistributions in binary form must reproduce the above copyright + // notice, this list of conditions and the following disclaimer in the + // documentation and/or other materials provided with the distribution. + // + // 3. The name of the author may be used to endorse or promote products + // derived from this software without specific prior written permission. + // + // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED + // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause + The BSD License + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + * Neither the name of foo nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: GPL-3+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 3 dated June, 2007, or (at + your option) any later version. + . + On Debian systems, the complete text of version 3 of the GNU General + Public License can be found in '/usr/share/common-licenses/GPL-3'. + +License: LGPL-2.1 + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; version 2.1 of the License. + . + On Debian systems, the complete text of version 2.1 of the GNU Lesser + General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. + +License: LGPL-2.1+ + See /usr/share/common-licenses/LGPL-2.1 for the full text of the LGPL-2.1+. + +License: LGPL-3 + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; version 3 of the License. + . + On Debian systems, the complete text of version 3 of the GNU Lesser + General Public License can be found in `/usr/share/common-licenses/LGPL-3'. diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..dbba5c0 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,2 @@ +[buildpackage] +upstream-tag = v%(version)s diff --git a/debian/patches/0001-Create-install-files-with-soversion.patch b/debian/patches/0001-Create-install-files-with-soversion.patch new file mode 100644 index 0000000..3c9807e --- /dev/null +++ b/debian/patches/0001-Create-install-files-with-soversion.patch @@ -0,0 +1,45 @@ +From: "Steve M. Robbins" +Date: Wed, 28 Dec 2016 17:03:12 -0600 +Subject: Create install files with soversion. Add the SOVERSION to the name + of the created install files for libqtav and libqtavwidgets. + +--- + src/libQtAV.pro | 2 +- + widgets/libQtAVWidgets.pro | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/libQtAV.pro b/src/libQtAV.pro +index 8e49668..e677953 100644 +--- a/src/libQtAV.pro ++++ b/src/libQtAV.pro +@@ -625,7 +625,7 @@ icon.path = /usr/share/icons/hicolor/scalable/apps + INSTALLS += icon + #debian + DEB_INSTALL_LIST = .$$[QT_INSTALL_LIBS]/libQt*AV.so.* +-libqtav.target = libqtav.install ++libqtav.target = libqtav1.install + libqtav.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >$$PROJECTROOT/debian/$${libqtav.target} + QMAKE_EXTRA_TARGETS += libqtav + target.depends *= $${libqtav.target} +diff --git a/widgets/libQtAVWidgets.pro b/widgets/libQtAVWidgets.pro +index 599aa90..01c5fec 100644 +--- a/widgets/libQtAVWidgets.pro ++++ b/widgets/libQtAVWidgets.pro +@@ -107,7 +107,7 @@ config_x11 { + LIBS *= -lX11 + } + # QtAV/private/* may be used by developers to extend QtAV features without changing QtAV library +-# headers not in QtAV/ and it's subdirs are used only by QtAV internally ++# headers not in QtAV/ and its subdirs are used only by QtAV internally + HEADERS *= \ + $$SDK_HEADERS \ + $$SDK_PRIVATE_HEADERS +@@ -143,7 +143,7 @@ mac { + unix:!android:!mac { + #debian + DEB_INSTALL_LIST = .$$[QT_INSTALL_LIBS]/libQt*AVWidgets.so.* +-libqtavwidgets.target = libqtavwidgets.install ++libqtavwidgets.target = libqtavwidgets1.install + libqtavwidgets.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >$$PROJECTROOT/debian/$${libqtavwidgets.target} + QMAKE_EXTRA_TARGETS += libqtavwidgets + target.depends *= $${libqtavwidgets.target} diff --git a/debian/patches/0002-QMLPlayer-should-be-QApplication.patch b/debian/patches/0002-QMLPlayer-should-be-QApplication.patch new file mode 100644 index 0000000..f6df1d4 --- /dev/null +++ b/debian/patches/0002-QMLPlayer-should-be-QApplication.patch @@ -0,0 +1,49 @@ +From: "Steve M. Robbins" +Date: Sat, 31 Dec 2016 13:20:10 -0600 +Subject: QMLPlayer should be QApplication + +Replaced QGuiApplication by QApplication; else pressing the open file button +results in a crash with this message: + + Fatal: QWidget: Cannot create a QWidget without QApplication + +Based the .pro change on player.pro. +--- + examples/QMLPlayer/QMLPlayer.pro | 1 + + examples/QMLPlayer/main.cpp | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/examples/QMLPlayer/QMLPlayer.pro b/examples/QMLPlayer/QMLPlayer.pro +index 5f84a29..79cc72b 100644 +--- a/examples/QMLPlayer/QMLPlayer.pro ++++ b/examples/QMLPlayer/QMLPlayer.pro +@@ -3,6 +3,7 @@ QT += sql + android { + QT += androidextras + } ++greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + *maemo*: DEFINES += Q_OS_MAEMO + # Add more folders to ship with the application, here + folder_01.source = qml/QMLPlayer +diff --git a/examples/QMLPlayer/main.cpp b/examples/QMLPlayer/main.cpp +index 841a63b..e08bb35 100644 +--- a/examples/QMLPlayer/main.cpp ++++ b/examples/QMLPlayer/main.cpp +@@ -21,7 +21,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -46,7 +46,7 @@ int main(int argc, char *argv[]) + Config::setName(QString::fromLatin1("QMLPlayer")); + do_common_options_before_qapp(options); + +- QGuiApplication app(argc, argv); ++ QApplication app(argc, argv); + app.setApplicationName(QStringLiteral("QMLPlayer")); + app.setApplicationDisplayName(QStringLiteral("QtAV QMLPlayer")); + QDir::setCurrent(qApp->applicationDirPath()); diff --git a/debian/patches/0003-Rename-the-qtav_dev-and-qtav_dev_links-target-as-lib.patch b/debian/patches/0003-Rename-the-qtav_dev-and-qtav_dev_links-target-as-lib.patch new file mode 100644 index 0000000..e410de9 --- /dev/null +++ b/debian/patches/0003-Rename-the-qtav_dev-and-qtav_dev_links-target-as-lib.patch @@ -0,0 +1,52 @@ +From: "Steve M. Robbins" +Date: Sun, 27 Aug 2017 20:10:20 -0500 +Subject: Rename the qtav_dev and qtav_dev_links target as libqtav* rather + than simply qtav*. + +--- + src/libQtAV.pro | 4 ++-- + widgets/libQtAVWidgets.pro | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/libQtAV.pro b/src/libQtAV.pro +index e677953..bf30abd 100644 +--- a/src/libQtAV.pro ++++ b/src/libQtAV.pro +@@ -634,7 +634,7 @@ DEB_INSTALL_LIST = $$join(SDK_HEADERS, \\n.$$[QT_INSTALL_HEADERS]/, .$$[QT_INSTA + DEB_INSTALL_LIST += .$$[QT_INSTALL_LIBS]/libQt*AV.prl .$$[QT_INSTALL_LIBS]/libQt*AV.so + MKSPECS_DIR=$$[QT_HOST_DATA]/mkspecs # we only build deb for qt5, so QT_HOST_DATA is fine. qt4 can use $$[QMAKE_MKSPECS] + DEB_INSTALL_LIST += .$${MKSPECS_DIR}/features/av.prf .$${MKSPECS_DIR}/modules/qt_lib_av.pri +-qtav_dev.target = qtav-dev.install ++qtav_dev.target = libqtav-dev.install + qtav_dev.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >$$PROJECTROOT/debian/$${qtav_dev.target} + QMAKE_EXTRA_TARGETS += qtav_dev + target.depends *= $${qtav_dev.target} +@@ -647,7 +647,7 @@ QMAKE_EXTRA_TARGETS += qtav_private_dev + target.depends *= $${qtav_private_dev.target} + + greaterThan(QT_MAJOR_VERSION, 4) { +- qtav_dev_links.target = qtav-dev.links ++ qtav_dev_links.target = libqtav-dev.links + qtav_dev_links.commands = echo \"$$[QT_INSTALL_LIBS]/libQtAV.so $$[QT_INSTALL_LIBS]/libQt$${QT_MAJOR_VERSION}AV.so\" >$$PROJECTROOT/debian/$${qtav_dev_links.target} + QMAKE_EXTRA_TARGETS *= qtav_dev_links + target.depends *= $${qtav_dev_links.target} +diff --git a/widgets/libQtAVWidgets.pro b/widgets/libQtAVWidgets.pro +index 01c5fec..c05f108 100644 +--- a/widgets/libQtAVWidgets.pro ++++ b/widgets/libQtAVWidgets.pro +@@ -152,13 +152,13 @@ DEB_INSTALL_LIST = $$join(SDK_HEADERS, \\n.$$[QT_INSTALL_HEADERS]/, .$$[QT_INSTA + DEB_INSTALL_LIST += .$$[QT_INSTALL_LIBS]/libQt*AVWidgets.prl .$$[QT_INSTALL_LIBS]/libQt*AVWidgets.so + MKSPECS_DIR=$$[QT_HOST_DATA]/mkspecs + DEB_INSTALL_LIST += .$${MKSPECS_DIR}/features/avwidgets.prf .$${MKSPECS_DIR}/modules/qt_lib_avwidgets.pri +-qtavwidgets_dev.target = qtav-dev.install #like qtmultimedia5-dev, contains widgets headers ++qtavwidgets_dev.target = libqtav-dev.install #like qtmultimedia5-dev, contains widgets headers + qtavwidgets_dev.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >>$$PROJECTROOT/debian/$${qtavwidgets_dev.target} + QMAKE_EXTRA_TARGETS += qtavwidgets_dev + target.depends *= $${qtavwidgets_dev.target} + + greaterThan(QT_MAJOR_VERSION, 4) { +- qtavwidgets_dev_links.target = qtav-dev.links #like qtmultimedia5-dev, contains widgets .so ++ qtavwidgets_dev_links.target = libqtav-dev.links #like qtmultimedia5-dev, contains widgets .so + qtavwidgets_dev_links.commands = echo \"$$[QT_INSTALL_LIBS]/libQtAVWidgets.so $$[QT_INSTALL_LIBS]/libQt$${QT_MAJOR_VERSION}AVWidgets.so\" >>$$PROJECTROOT/debian/$${qtavwidgets_dev_links.target} + QMAKE_EXTRA_TARGETS *= qtavwidgets_dev_links + target.depends *= $${qtavwidgets_dev_links.target} diff --git a/debian/patches/0004-Rename-qtav-private-dev.install-libqtav-private-dev..patch b/debian/patches/0004-Rename-qtav-private-dev.install-libqtav-private-dev..patch new file mode 100644 index 0000000..78ef86c --- /dev/null +++ b/debian/patches/0004-Rename-qtav-private-dev.install-libqtav-private-dev..patch @@ -0,0 +1,21 @@ +From: "Steve M. Robbins" +Date: Sun, 27 Aug 2017 21:14:42 -0500 +Subject: Rename qtav-private-dev.install ==> libqtav-private-dev.install. + +--- + src/libQtAV.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libQtAV.pro b/src/libQtAV.pro +index bf30abd..63b4a87 100644 +--- a/src/libQtAV.pro ++++ b/src/libQtAV.pro +@@ -641,7 +641,7 @@ target.depends *= $${qtav_dev.target} + + DEB_INSTALL_LIST = $$join(SDK_PRIVATE_HEADERS, \\n.$$[QT_INSTALL_HEADERS]/QtAV/*/, .$$[QT_INSTALL_HEADERS]/QtAV/*/) + DEB_INSTALL_LIST += .$${MKSPECS_DIR}/modules/qt_lib_av_private.pri +-qtav_private_dev.target = qtav-private-dev.install ++qtav_private_dev.target = libqtav-private-dev.install + qtav_private_dev.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >$$PROJECTROOT/debian/$${qtav_private_dev.target} + QMAKE_EXTRA_TARGETS += qtav_private_dev + target.depends *= $${qtav_private_dev.target} diff --git a/debian/patches/0005-Disable-warnings-with-Wno-expansion-to-defined-Wno-u.patch b/debian/patches/0005-Disable-warnings-with-Wno-expansion-to-defined-Wno-u.patch new file mode 100644 index 0000000..2cf9fd1 --- /dev/null +++ b/debian/patches/0005-Disable-warnings-with-Wno-expansion-to-defined-Wno-u.patch @@ -0,0 +1,34 @@ +From: "Steve M. Robbins" +Date: Sun, 27 Aug 2017 22:53:55 -0500 +Subject: Disable warnings with -Wno-expansion-to-defined + -Wno-unused-parameter + +--- + src/libQtAV.pro | 1 + + widgets/libQtAVWidgets.pro | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/libQtAV.pro b/src/libQtAV.pro +index 63b4a87..21bf5cc 100644 +--- a/src/libQtAV.pro ++++ b/src/libQtAV.pro +@@ -624,6 +624,7 @@ icon.files = $$PWD/$${TARGET}.svg + icon.path = /usr/share/icons/hicolor/scalable/apps + INSTALLS += icon + #debian ++QMAKE_CXXFLAGS += -Wno-expansion-to-defined -Wno-unused-parameter + DEB_INSTALL_LIST = .$$[QT_INSTALL_LIBS]/libQt*AV.so.* + libqtav.target = libqtav1.install + libqtav.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >$$PROJECTROOT/debian/$${libqtav.target} +diff --git a/widgets/libQtAVWidgets.pro b/widgets/libQtAVWidgets.pro +index c05f108..ad9c352 100644 +--- a/widgets/libQtAVWidgets.pro ++++ b/widgets/libQtAVWidgets.pro +@@ -142,6 +142,7 @@ mac { + + unix:!android:!mac { + #debian ++QMAKE_CXXFLAGS += -Wno-expansion-to-defined -Wno-unused-parameter + DEB_INSTALL_LIST = .$$[QT_INSTALL_LIBS]/libQt*AVWidgets.so.* + libqtavwidgets.target = libqtavwidgets1.install + libqtavwidgets.commands = echo \"$$join(DEB_INSTALL_LIST, \\n)\" >$$PROJECTROOT/debian/$${libqtavwidgets.target} diff --git a/debian/patches/0006-Load-the-libva-libraries-with-SONAME-2.patch b/debian/patches/0006-Load-the-libva-libraries-with-SONAME-2.patch new file mode 100644 index 0000000..2471a6f --- /dev/null +++ b/debian/patches/0006-Load-the-libva-libraries-with-SONAME-2.patch @@ -0,0 +1,59 @@ +From: Pino Toscano +Date: Thu, 23 Nov 2017 19:52:12 +0100 +Subject: Load the libva libraries with SONAME 2 + +This follow the transition to libva 2.0, which broke ABI and thus +bumped the SONAME of its libraries to 2. +--- + src/vaapi/vaapi_helper.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/vaapi/vaapi_helper.h b/src/vaapi/vaapi_helper.h +index 8d37518..6dda8ee 100644 +--- a/src/vaapi/vaapi_helper.h ++++ b/src/vaapi/vaapi_helper.h +@@ -107,7 +107,7 @@ public: + return instance().f_vaReleaseBufferHandle(dpy, buf_id); + } + protected: +- va_0_38() : dll_helper(QString::fromLatin1("va"), 1) { ++ va_0_38() : dll_helper(QString::fromLatin1("va"), 2) { + f_vaAcquireBufferHandle = (vaAcquireBufferHandle_t)resolve("vaAcquireBufferHandle"); + f_vaReleaseBufferHandle = (vaReleaseBufferHandle_t)resolve("vaReleaseBufferHandle"); + } +@@ -120,7 +120,7 @@ private: + class VAAPI_DRM : protected dll_helper { + public: + typedef VADisplay vaGetDisplayDRM_t(int fd); +- VAAPI_DRM(): dll_helper(QString::fromLatin1("va-drm"),1) { ++ VAAPI_DRM(): dll_helper(QString::fromLatin1("va-drm"),2) { + fp_vaGetDisplayDRM = (vaGetDisplayDRM_t*)resolve("vaGetDisplayDRM"); + } + VADisplay vaGetDisplayDRM(int fd) { +@@ -140,7 +140,7 @@ public: + short, short, unsigned short, unsigned short, + short, short, unsigned short, unsigned short, + VARectangle *, unsigned int, unsigned int); +- VAAPI_X11(): dll_helper(QString::fromLatin1("va-x11"),1) { ++ VAAPI_X11(): dll_helper(QString::fromLatin1("va-x11"),2) { + fp_vaGetDisplay = (vaGetDisplay_t*)resolve("vaGetDisplay"); + fp_vaPutSurface = (vaPutSurface_t*)resolve("vaPutSurface"); + } +@@ -168,7 +168,7 @@ class VAAPI_EGL : protected dll_helper { //not implemented + typedef VAStatus vaGetEGLClientBufferFromSurface_t(VADisplay dpy, VASurfaceID surface, EGLClientBuffer *buffer/* out*/); + vaGetEGLClientBufferFromSurface_t* fp_vaGetEGLClientBufferFromSurface; + public: +- VAAPI_EGL(): dll_helper(QString::fromLatin1("va-egl"),1) { ++ VAAPI_EGL(): dll_helper(QString::fromLatin1("va-egl"),2) { + fp_vaGetEGLClientBufferFromSurface = (vaGetEGLClientBufferFromSurface_t*)resolve("vaGetEGLClientBufferFromSurface"); + } + VAStatus vaGetEGLClientBufferFromSurface(VADisplay dpy, VASurfaceID surface, EGLClientBuffer *buffer/* out*/) { +@@ -183,7 +183,7 @@ public: + typedef VAStatus vaCreateSurfaceGLX_t(VADisplay, GLenum, GLuint, void **); + typedef VAStatus vaDestroySurfaceGLX_t(VADisplay, void *); + typedef VAStatus vaCopySurfaceGLX_t(VADisplay, void *, VASurfaceID, unsigned int); +- VAAPI_GLX(): dll_helper(QString::fromLatin1("va-glx"),1) { ++ VAAPI_GLX(): dll_helper(QString::fromLatin1("va-glx"),2) { + fp_vaGetDisplayGLX = (vaGetDisplayGLX_t*)resolve("vaGetDisplayGLX"); + fp_vaCreateSurfaceGLX = (vaCreateSurfaceGLX_t*)resolve("vaCreateSurfaceGLX"); + fp_vaDestroySurfaceGLX = (vaDestroySurfaceGLX_t*)resolve("vaDestroySurfaceGLX"); diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..725d299 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,6 @@ +0001-Create-install-files-with-soversion.patch +0002-QMLPlayer-should-be-QApplication.patch +0003-Rename-the-qtav_dev-and-qtav_dev_links-target-as-lib.patch +0004-Rename-qtav-private-dev.install-libqtav-private-dev..patch +0005-Disable-warnings-with-Wno-expansion-to-defined-Wno-u.patch +0006-Load-the-libva-libraries-with-SONAME-2.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..299fba0 --- /dev/null +++ b/debian/rules @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +DEB_BUILD_MULTIARCH ?= $(shell dpkg-architecture -qDEB_BUILD_MULTIARCH) +export QT_SELECT=qt5 + +export DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed + +%: + dh $@ --buildsystem qmake + +override_dh_auto_configure: + dh_auto_configure -Sqmake -- CONFIG+="no_rpath recheck config_libass_link config_openal_link no-tests" diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..29e1160 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=4 +opts=dversionmangle=s/\+ds$//,repacksuffix=+ds,filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/@PACKAGE@-$1\.tar\.gz/ \ + https://github.com//wang-bin/QtAV/tags .*/v?(\d\S+)\.tar\.gz