[PATCH 0/4] gnu: Add amarok.

  • Open
  • quality assurance status badge
Details
One participant
  • Sughosha
Owner
unassigned
Submitted by
Sughosha
Severity
normal
S
S
Sughosha wrote 3 days ago
(address . guix-patches@gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1737426135.git.sughosha@disroot.org
This series adds amarok.

Sughosha (4):
gnu: libmygpo-qt: Update to 1.1.0-0.4d1f482.
gnu: Add libmygpo-qt6.
gnu: Add taglib-extras.
gnu: Add amarok.

gnu/local.mk | 4 +-
gnu/packages/gpodder.scm | 70 ++++----
gnu/packages/kde-multimedia.scm | 97 +++++++++++
gnu/packages/mp3.scm | 29 ++++
...amarok-3.2.1-fix-including-mygpo-qt6.patch | 148 +++++++++++++++++
.../patches/libmygpo-qt-fix-qt-5.11.patch | 78 ---------
.../libmygpo-qt-missing-qt5-modules.patch | 51 ------
...libmygpo-qt-suppot-building-with-qt6.patch | 153 ++++++++++++++++++
8 files changed, 472 insertions(+), 158 deletions(-)
create mode 100644 gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch
delete mode 100644 gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
delete mode 100644 gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
create mode 100644 gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch


base-commit: 7aae0e2c159b1612b405a372b18f25fbb58f9d82
--
2.47.1
S
S
Sughosha wrote 3 days ago
[PATCH 2/4] gnu: Add libmygpo-qt6.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
65ed10695f1c56db5018bb40b31a3a6a7bfcc0d4.1737426135.git.sughosha@disroot.org
* gnu/packages/gpodder.scm (libmygpo-qt6): New variable.

Change-Id: Ie9c0257f570147293ec695df312982a98bc9d1a7
---
gnu/packages/gpodder.scm | 11 +++++++++++
1 file changed, 11 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index 1baca35f06..a7fb845625 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -161,6 +161,17 @@ (define-public libmygpo-qt
track podcasts.")
(license license:lgpl2.1+))))
+(define-public libmygpo-qt6
+ (package/inherit libmygpo-qt
+ (name "libmygpo-qt6")
+ (arguments
+ (substitute-keyword-arguments (package-arguments libmygpo-qt)
+ ((#:configure-flags flags)
+ #~(append '("-DBUILD_WITH_QT6=ON") #$flags))))
+ (inputs
+ (modify-inputs (package-inputs libmygpo-qt)
+ (replace "qtbase" qtbase)))))
+
(define-public python-mygpoclient
(package
(name "python-mygpoclient")
--
2.47.1
S
S
Sughosha wrote 3 days ago
[PATCH 1/4] gnu: libmygpo-qt: Update to 1.1.0-0.4d1f482.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
e701b48b15ebff3cbe7a4168c0a63ad7b2e116e4.1737426135.git.sughosha@disroot.org
* gnu/packages/gpodder.scm (libmygpo-qt): Update to 1.1.0-0.4d1f482.
[source]: Switch to git-fetch; update patches.
[home-page]: Update URL.
* gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch: New file.
* gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch: Delete file.
* gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch: Delete file.
* gnu/local.mk: Deregister the deleted files and register the new file.

Change-Id: I5cc3fbc8bfbfa7d88843448a2b5b8ef0fa5df60a
---
gnu/local.mk | 3 +-
gnu/packages/gpodder.scm | 61 +++----
.../patches/libmygpo-qt-fix-qt-5.11.patch | 78 ---------
.../libmygpo-qt-missing-qt5-modules.patch | 51 ------
...libmygpo-qt-suppot-building-with-qt6.patch | 153 ++++++++++++++++++
5 files changed, 187 insertions(+), 159 deletions(-)
delete mode 100644 gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
delete mode 100644 gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
create mode 100644 gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch

Toggle diff (113 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 5fb354caae..ccfd860b17 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1738,8 +1738,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmp4v2-c++11.patch \
%D%/packages/patches/libmpeg2-arm-private-symbols.patch \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
- %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
- %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
+ %D%/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch \
%D%/packages/patches/libpciaccess-hurd64.patch \
%D%/packages/patches/libphonenumber-reproducible-build.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index c3e1c9b496..1baca35f06 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -127,34 +127,39 @@ (define-public gpodder
(license license:gpl3+)))
(define-public libmygpo-qt
- (package
- (name "libmygpo-qt")
- (version "1.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://stefan.derkits.at/files/"
- "libmygpo-qt/libmygpo-qt." version ".tar.gz"))
- (sha256
- (base32
- "1kg18qrq2rsswgzhl65r3mlyx7kpqg4wwnbp4yiv6svvmadmlxl2"))
- (patches (search-patches "libmygpo-qt-fix-qt-5.11.patch"
- "libmygpo-qt-missing-qt5-modules.patch"))))
- (build-system cmake-build-system)
- (native-inputs
- (list pkg-config))
- (inputs
- (list qtbase-5))
- (arguments
- '(#:configure-flags '("-DMYGPO_BUILD_TESTS=ON")
- ;; TODO: Enable tests when https://github.com/gpodder/gpodder/issues/446
- ;; is fixed.
- #:tests? #f))
- (home-page "https://gpodder.github.io")
- (synopsis "Qt/C++ library wrapping the gpodder web service")
- (description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
-@url{https://gpodder.net} APIs. It allows applications to discover, manage
-and track podcasts.")
- (license license:lgpl2.1+)))
+ (let ((commit "4d1f48291791c64f029e69138e3bc7fb6a851610")
+ (revision "0"))
+ (package
+ (name "libmygpo-qt")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/gpodder/libmygpo-qt")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bxv8blyq66600i8skxmccb1lnmliz90378kck4f6j2ynry2114b"))
+ (patches
+ (search-patches "libmygpo-qt-suppot-building-with-qt6.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list qtbase-5))
+ (arguments
+ '(#:configure-flags '("-DMYGPO_BUILD_TESTS=ON")
+ ;; TODO: Enable tests when https://github.com/gpodder/gpodder/issues/446
+ ;; is fixed.
+ #:tests? #f))
+ (home-page "https://wiki.gpodder.org/wiki/Libmygpo-qt")
+ (synopsis "Qt/C++ library wrapping the gpodder web service")
+ (description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
+@url{https://gpodder.net} APIs. It allows applications to discover, manage and
+track podcasts.")
+ (license license:lgpl2.1+))))
(define-public python-mygpoclient
(package
diff --git a/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch b/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
deleted file mode 100644
index 69673c90ee..0000000000
--- a/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 1b53767b988b339aac8b353327a1542b2a0c0610 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 15 Apr 2018 22:29:33 +0200
-Subject: [PATCH] Fix build with Qt 5.11_beta3 (dropping qt5_use_modules)
-
----
- CMakeLists.txt | 3 ---
- src/CMakeLists.txt | 8 ++++++--
- tests/CMakeLists.txt | 12 +++++++++---
- 3 files changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index eb006d9..fa4b0cb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -34,9 +34,6 @@ else()
- set( QT_DONT_USE_QTGUI TRUE )
- include( ${QT_USE_FILE} )
-
-- macro(qt5_use_modules)
-- endmacro()
--
- macro(qt_wrap_cpp)
- qt4_wrap_cpp(${ARGN})
- endmacro()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 802125b..253e81e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -79,9 +79,13 @@ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
-
- add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
-
--target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
- set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
--qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network )
-+
-+if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
-+else()
-+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
-+endif()
-
- install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index a3e3223..4f77158 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -11,11 +11,15 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
-
- # UrlBuilder library
- add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
--qt5_use_modules( UrlBuilder Core )
-+if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries( UrlBuilder Qt5::Core )
-+endif()
- # JSONCreator library
- QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
- add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
--qt5_use_modules( JsonCreator Core Network )
-+if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
-+endif()
-
- set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
-
-@@ -25,7 +29,9 @@ macro(add_libmygpo_test _source)
- add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
- target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
- add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
-- qt5_use_modules(${_name} Network Test)
-+ if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries(${_name} Qt5::Network Qt5::Test)
-+ endif()
- endmacro(add_libmygpo_test)
-
- add_libmygpo_test( UrlBuilderTest.cpp )
Toggle diff (31 lines)
diff --git a/gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch b/gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
deleted file mode 100644
index aa9ed2c0f7..0000000000
--- a/gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 0d76d960727018bddf04c6cc89552af69aaa7e55 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 15 Apr 2018 22:20:34 +0200
-Subject: [PATCH] Add missing Qt5Network, Qt5Test, make BUILD_WITH_QT4 more
- strict
-
----
- CMakeLists.txt | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2a1f652..eb006d9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,25 +5,25 @@ project( libmygpo-qt )
- set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
- set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
-
--option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" OFF)
-+option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
-
- if( NOT BUILD_WITH_QT4 )
-- find_package(Qt5Core QUIET)
-- if( Qt5Core_DIR )
-- set(MYGPO_QT_VERSION_SUFFIX 5)
--
-- macro(qt_wrap_cpp)
-- qt5_wrap_cpp(${ARGN})
-- endmacro()
-+ if( MYGPO_BUILD_TESTS )
-+ find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG)
-+ else()
-+ find_package(Qt5 REQUIRED COMPONENTS Core Network CONFIG)
- endif()
-+ set(MYGPO_QT_VERSION_SUFFIX 5)
-+
-+ macro(qt_wrap_cpp)
-+ qt5_wrap_cpp(${ARGN})
-+ endmacro()
-
- # pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
- # Qt5
- set(MYGPO_QT_MAJOR_VERSION "5")
- set(MYGPO_QT4_QJSON_DEP "")
--endif()
--
--if( NOT Qt5Core_DIR )
-+else()
- message(STATUS "Could not find Qt5, searching for Qt4 instead...")
- message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported")
- if( MYGPO_BUILD_TESTS )
Toggle diff (161 lines)
diff --git a/gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch b/gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch
new file mode 100644
index 0000000000..efdbe7623d
--- /dev/null
+++ b/gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch
@@ -0,0 +1,153 @@
+From 42e19dcb6b7c07460f05aa1d4586d5c76236c6d0 Mon Sep 17 00:00:00 2001
+From: Tuomas Nurmi <tuomas@norsumanageri.org>
+Date: Mon, 8 Jul 2024 17:03:32 +0300
+Subject: [PATCH] Minimal changes to make Qt6 compilation possible
+
+Untested. Compiles, with a bunch of deprecation warnings.
+There's likely room for improvement all around.
+---
+ CMakeLists.txt | 24 +++++++++---------------
+ libmygpo-qt.pc.in | 1 -
+ src/CMakeLists.txt | 4 ++--
+ src/DeviceList.cpp | 2 +-
+ tests/CMakeLists.txt | 12 +++++++++---
+ 5 files changed, 21 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8a79ddc..920e841 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,10 +5,10 @@ project( libmygpo-qt )
+ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
+ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
+
+-option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
++option(BUILD_WITH_QT6 "Build libmygpo-qt with Qt6" OFF)
+ option(MYGPO_BUILD_TESTS "Build all unit tests" ON)
+
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ if( MYGPO_BUILD_TESTS )
+ find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG)
+ else()
+@@ -23,27 +23,21 @@ if( NOT BUILD_WITH_QT4 )
+ # pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
+ # Qt5
+ set(MYGPO_QT_MAJOR_VERSION "5")
+- set(MYGPO_QT4_QJSON_DEP "")
+ else()
+- message(STATUS "Could not find Qt5, searching for Qt4 instead...")
+- message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported")
++ message(STATUS "Could not find Qt5, searching for Qt6 instead...")
+ if( MYGPO_BUILD_TESTS )
+- find_package( Qt4 COMPONENTS QtCore QtNetwork QtTest REQUIRED )
++ find_package( Qt6 COMPONENTS Core Network Test REQUIRED )
+ else( MYGPO_BUILD_TESTS )
+- find_package( Qt4 COMPONENTS QtCore QtNetwork REQUIRED )
++ find_package( Qt6 COMPONENTS Core Network REQUIRED )
+ endif()
+- set( QT_DONT_USE_QTGUI TRUE )
+- include( ${QT_USE_FILE} )
++ set(MYGPO_QT_VERSION_SUFFIX 6)
+
+ macro(qt_wrap_cpp)
+- qt4_wrap_cpp(${ARGN})
++ qt6_wrap_cpp(${ARGN})
+ endmacro()
+
+- set(MYGPO_QT_MAJOR_VERSION "")
+- set(MYGPO_QT4_QJSON_DEP "Requires.private: QJson")
++ set(MYGPO_QT_MAJOR_VERSION "6")
+
+- # QJson is only required for Qt4
+- find_package(QJSON REQUIRED)
+ endif()
+
+ # Don't use absolute path in Mygpo-qtTargets-$buildType.cmake
+@@ -51,7 +45,7 @@ endif()
+ # set(QT_USE_IMPORTED_TARGETS TRUE)
+
+ set( MYGPO_QT_VERSION_MAJOR "1" )
+-set( MYGPO_QT_VERSION_MINOR "1" )
++set( MYGPO_QT_VERSION_MINOR "2" )
+ set( MYGPO_QT_VERSION_PATCH "0" )
+ set( MYGPO_QT_VERSION "${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH}" )
+
+diff --git a/libmygpo-qt.pc.in b/libmygpo-qt.pc.in
+index 8403e48..520bd52 100644
+--- a/libmygpo-qt.pc.in
++++ b/libmygpo-qt.pc.in
+@@ -8,6 +8,5 @@ Description: libmygpo-qt is a C++/Qt Library that wraps the gpodder.net WebAPI
+ URL: http://wiki.gpodder.org/wiki/Libmygpo-qt
+ Version: @MYGPO_QT_VERSION@
+ Requires: Qt@MYGPO_QT_MAJOR_VERSION@Core Qt@MYGPO_QT_MAJOR_VERSION@Network
+-@MYGPO_QT4_QJSON_DEP@
+ Libs: -L${libdir} -lmygpo-qt@MYGPO_QT_VERSION_SUFFIX@
+ Cflags: -I${includedir}
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 253e81e..9d1989c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -81,10 +81,10 @@ add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC
+
+ set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
+
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
+ else()
+- target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
++ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt6::Core Qt6::Network)
+ endif()
+
+ install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
+diff --git a/src/DeviceList.cpp b/src/DeviceList.cpp
+index e972318..92e29cc 100644
+--- a/src/DeviceList.cpp
++++ b/src/DeviceList.cpp
+@@ -64,7 +64,7 @@ bool DeviceListPrivate::parse( const QVariant& data )
+ DevicePtr ptr( new Device( var, this ) );
+ m_devicesList.append( ptr );
+ QVariant v;
+- v.setValue<DevicePtr>( ptr );
++ v.setValue<DevicePtr>( QSharedPointer<mygpo::Device>(ptr) );
+ devList.append( v );
+ }
+ m_devices = devList;
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 4f77158..ce63689 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -11,14 +11,18 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
+
+ # UrlBuilder library
+ add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ target_link_libraries( UrlBuilder Qt5::Core )
++else()
++ target_link_libraries( UrlBuilder Qt6::Core )
+ endif()
+ # JSONCreator library
+ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
+ add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
++else()
++ target_link_libraries( JsonCreator Qt6::Core Qt6::Network )
+ endif()
+
+ set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
+@@ -29,8 +33,10 @@ macro(add_libmygpo_test _source)
+ add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
+ target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
+ add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
+- if( NOT BUILD_WITH_QT4 )
++ if( NOT BUILD_WITH_QT6 )
+ target_link_libraries(${_name} Qt5::Network Qt5::Test)
++ else()
++ target_link_libraries(${_name} Qt6::Network Qt6::Test)
+ endif()
+ endmacro(add_libmygpo_test)
+
--
2.47.1
S
S
Sughosha wrote 3 days ago
[PATCH 3/4] gnu: Add taglib-extras.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
5a1471dbdc2792cbfc44aa30f57593681e16de69.1737426135.git.sughosha@disroot.org
* gnu/packages/mp3.scm (taglib-extras): New variable.

Change-Id: I6b4ad693001c89e576fadbb02d981d43f7d568ab
---
gnu/packages/mp3.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 32a1ddea27..25682c5a6e 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -60,6 +60,7 @@ (define-module (gnu packages mp3)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -274,6 +275,34 @@ (define-public taglib
;; Dual-licensed: user may choose between LGPLv2.1 or MPLv1.1.
(license (list license:lgpl2.1 license:mpl1.1))))
+(define-public taglib-extras
+ (package
+ (name "taglib-extras")
+ ;; 2 changes after mentioning version 1.0.2 in ChangeLog, which fixes
+ ;; finding taglib.
+ (version "1.0.2-2")
+ (source
+ (origin
+ (method svn-fetch)
+ (uri
+ (svn-reference
+ (url "svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib-extras")
+ (revision 1444333)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1qsima3ln6j63mzdp5y1yjaijxvk3wnriwld5ijdp1xv1dx4hqjc"))))
+ (build-system cmake-build-system)
+ (inputs
+ (list taglib))
+ (arguments
+ (list #:tests? #f)) ;no test suite
+ (home-page "https://websvn.kde.org/trunk/kdesupport/taglib-extras")
+ (synopsis "Additional TagLib plugins")
+ (description
+ "This package provides TagLib plugins for Audible and RealMedia tags.")
+ (license (list license:lgpl2.1+ license:gpl2+))))
+
(define-public minimp3
;; The latest commit is used as there is no release.
(let ((commit "afb604c06bc8beb145fecd42c0ceb5bda8795144")
--
2.47.1
S
S
Sughosha wrote 3 days ago
[PATCH 4/4] gnu: Add amarok.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
4cd9e2f6e7d48140fb1b07466c62d8933ac6e371.1737426135.git.sughosha@disroot.org
* gnu/packages/kde-multimedia.scm (amarok): New variable.
* gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch: New file
* gnu/local.mk: Register the new file.

Change-Id: I6d1329fc6c2f6deb795ebd566438d1818bc19db1
---
gnu/local.mk | 1 +
gnu/packages/kde-multimedia.scm | 97 ++++++++++++
...amarok-3.2.1-fix-including-mygpo-qt6.patch | 148 ++++++++++++++++++
3 files changed, 246 insertions(+)
create mode 100644 gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch

Toggle diff (305 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ccfd860b17..faa0e29b16 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -980,6 +980,7 @@ dist_patch_DATA = \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \
+ %D%/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 4b0e170b79..873b207b2a 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -31,14 +31,19 @@ (define-module (gnu packages kde-multimedia)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages cdrom)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gpodder)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)
@@ -46,6 +51,7 @@ (define-module (gnu packages kde-multimedia)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages libcanberra)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages music)
@@ -54,6 +60,7 @@ (define-module (gnu packages kde-multimedia)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
@@ -98,6 +105,96 @@ (define-public audiocd-kio
(license ;; GPL for programs, FDL for documentation
(list license:gpl2+ license:fdl1.2+))))
+(define-public amarok
+ (package
+ (name "amarok")
+ (version "3.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/amarok-" version
+ "/amarok-" version ".tar.xz"))
+ (sha256
+ (base32
+ "14r7iismx28nnh3jhkhczhrsmsap9by8p3kfhkp7d5678c7l62g4"))
+ (patches
+ (search-patches "amarok-3.2.1-fix-including-mygpo-qt6.patch"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DBUILD_WITH_QT6=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'check-setup
+ (lambda _
+ ;; Set home directory.
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; Test excluding testplaylistlayout which fails.
+ (invoke "ctest" "-E" "testplaylistlayout")))))))
+ (native-inputs
+ (list extra-cmake-modules googletest kdoctools pkg-config qttools))
+ (inputs
+ (list ffmpeg
+ fftw
+ glib
+ karchive
+ kcodecs
+ kcolorscheme
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kcmutils
+ kcrash
+ kdbusaddons
+ kdnssd
+ kglobalaccel
+ kguiaddons
+ ki18n
+ kiconthemes
+ kio
+ kirigami
+ knotifications
+ kpackage
+ kstatusnotifieritem
+ ktexteditor
+ ktextwidgets
+ kwallet
+ kwidgetsaddons
+ kwindowsystem
+ libofa
+ libmtp
+ libmygpo-qt6
+ libxcrypt
+ `(,mariadb "dev")
+ openssl
+ phonon
+ phonon-backend-vlc
+ python
+ qt5compat
+ qtsvg
+ qtwebengine
+ solid
+ taglib
+ taglib-extras
+ threadweaver))
+ (home-page "https://amarok.kde.org/")
+ (synopsis "Audio player for KDE")
+ (description
+ "Amarok is a music player and collection manager. It features:
+@itemize
+@item dynamic playlists matching different criteria,
+@item collection managing with rating support,
+@item support for basic MTP and UMS music player devices,
+@item integrated internet services such as Magnatune, Ampache and more,
+@item scripting support,
+@item cover manager and
+@item replay gain support
+@end itemize")
+ (license license:gpl2+)))
+
(define-public dragon
(package
(name "dragon")
diff --git a/gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch b/gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch
new file mode 100644
index 0000000000..d23954cf80
--- /dev/null
+++ b/gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch
@@ -0,0 +1,148 @@
+This patch fixes including headers of libmygpo-qt6 when built with qt6.
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderPodcastMeta.h amarok-3.2.1-b/src/services/gpodder/GpodderPodcastMeta.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderPodcastMeta.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderPodcastMeta.h 2025-01-21 06:40:56.069282183 +0530
+@@ -22,7 +22,14 @@
+
+ #include "core/playlists/PlaylistProvider.h"
+ #include "core/podcasts/PodcastMeta.h"
++
++#include <QtVersionChecks>
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#endif
+
+ namespace Podcasts {
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderPodcastRequestHandler.h amarok-3.2.1-b/src/services/gpodder/GpodderPodcastRequestHandler.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderPodcastRequestHandler.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderPodcastRequestHandler.h 2025-01-21 05:22:06.974221089 +0530
+@@ -20,7 +20,12 @@
+ #define GPODDERPODCASTREQUESTHANDLER_H_
+
+ #include "GpodderServiceModel.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/PodcastList.h>
++#else
++#include <mygpo-qt6/PodcastList.h>
++#endif
+
+ #include <QModelIndex>
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderPodcastTreeItem.h amarok-3.2.1-b/src/services/gpodder/GpodderPodcastTreeItem.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderPodcastTreeItem.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderPodcastTreeItem.h 2025-01-21 05:16:21.674470671 +0530
+@@ -20,7 +20,11 @@
+ #define GPODDERPODCASTTREEITEM_H_
+
+ #include "GpodderTreeItem.h"
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/Podcast.h>
++#else
++#include <mygpo-qt6/Podcast.h>
++#endif
+
+ class GpodderPodcastTreeItem: public GpodderTreeItem
+ {
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderProvider.h amarok-3.2.1-b/src/services/gpodder/GpodderProvider.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderProvider.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderProvider.h 2025-01-21 05:21:29.153812018 +0530
+@@ -23,8 +23,15 @@
+ #include "core/podcasts/PodcastProvider.h"
+ #include "core/podcasts/PodcastReader.h"
+ #include "GpodderPodcastMeta.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
+ #include <mygpo-qt5/EpisodeActionList.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/EpisodeActionList.h>
++#endif
++
+ #include "playlistmanager/file/KConfigSyncRelStore.h"
+ #include "playlistmanager/PlaylistManager.h"
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderService.cpp amarok-3.2.1-b/src/services/gpodder/GpodderService.cpp
+--- amarok-3.2.1-a/src/services/gpodder/GpodderService.cpp 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderService.cpp 2025-01-21 05:17:27.675190295 +0530
+@@ -27,8 +27,15 @@
+ #include "GpodderServiceModel.h"
+ #include "GpodderServiceView.h"
+ #include "GpodderSortFilterProxyModel.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
+ #include <mygpo-qt5/Podcast.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/Podcast.h>
++#endif
++
+ #include "playlistmanager/PlaylistManager.h"
+ #include "widgets/SearchWidget.h"
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderServiceModel.h amarok-3.2.1-b/src/services/gpodder/GpodderServiceModel.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderServiceModel.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderServiceModel.h 2025-01-21 05:20:32.517198664 +0530
+@@ -20,8 +20,15 @@
+ #define GPODDERSERVICEMODEL_H_
+
+ #include "GpodderTreeItem.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
+ #include <mygpo-qt5/TagList.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/TagList.h>
++#endif
++
+ #include "NetworkAccessManagerProxy.h"
+
+ #include <QAbstractItemModel>
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderTagTreeItem.h amarok-3.2.1-b/src/services/gpodder/GpodderTagTreeItem.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderTagTreeItem.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderTagTreeItem.h 2025-01-21 05:18:10.983661774 +0530
+@@ -20,7 +20,11 @@
+ #define GPODDERTAGTREEITEM_H_
+
+ #include "GpodderTreeItem.h"
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/Tag.h>
++#else
++#include <mygpo-qt6/Tag.h>
++#endif
+
+ #include <QObject>
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderTreeItem.h amarok-3.2.1-b/src/services/gpodder/GpodderTreeItem.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderTreeItem.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderTreeItem.h 2025-01-21 06:33:35.948536483 +0530
+@@ -19,13 +19,18 @@
+ #ifndef GPODDERTREEITEM_H_
+ #define GPODDERTREEITEM_H_
+
+-#include <mygpo-qt5/ApiRequest.h>
+-#include <mygpo-qt5/TagList.h>
+-
+ #include <QList>
+ #include <QModelIndex>
+ #include <QVariant>
+
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
++#include <mygpo-qt5/ApiRequest.h>
++#include <mygpo-qt5/TagList.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/TagList.h>
++#endif
++
+
+ class GpodderTreeItem : public QObject
+ {
--
2.47.1
S
S
Sughosha wrote 2 days ago
[PATCH v2 0/5] gnu: Add amarok.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
cover.1737511788.git.sughosha@disroot.org
This patch series adds amarok.

In this v2 series, these changes are made:
* Embedded server (libmysqld) in mariadb is enabled.
* testplaylistlayout test in amarok is passed.

Sughosha (5):
gnu: libmygpo-qt: Update to 1.1.0-0.4d1f482.
gnu: Add libmygpo-qt6.
gnu: Add taglib-extras.
gnu: mariadb: Enable embedded server.
gnu: Add amarok.

gnu/local.mk | 4 +-
gnu/packages/databases.scm | 3 +
gnu/packages/gpodder.scm | 70 ++++----
gnu/packages/kde-multimedia.scm | 109 +++++++++++++
gnu/packages/mp3.scm | 29 ++++
...amarok-3.2.1-fix-including-mygpo-qt6.patch | 148 +++++++++++++++++
.../patches/libmygpo-qt-fix-qt-5.11.patch | 78 ---------
.../libmygpo-qt-missing-qt5-modules.patch | 51 ------
...libmygpo-qt-suppot-building-with-qt6.patch | 153 ++++++++++++++++++
9 files changed, 487 insertions(+), 158 deletions(-)
create mode 100644 gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch
delete mode 100644 gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
delete mode 100644 gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
create mode 100644 gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch


base-commit: 7aae0e2c159b1612b405a372b18f25fbb58f9d82
--
2.47.1
S
S
Sughosha wrote 2 days ago
[PATCH v2 2/5] gnu: Add libmygpo-qt6.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
65ed10695f1c56db5018bb40b31a3a6a7bfcc0d4.1737511788.git.sughosha@disroot.org
* gnu/packages/gpodder.scm (libmygpo-qt6): New variable.

Change-Id: Ie9c0257f570147293ec695df312982a98bc9d1a7
---
gnu/packages/gpodder.scm | 11 +++++++++++
1 file changed, 11 insertions(+)

Toggle diff (24 lines)
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index 1baca35f06..a7fb845625 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -161,6 +161,17 @@ (define-public libmygpo-qt
track podcasts.")
(license license:lgpl2.1+))))
+(define-public libmygpo-qt6
+ (package/inherit libmygpo-qt
+ (name "libmygpo-qt6")
+ (arguments
+ (substitute-keyword-arguments (package-arguments libmygpo-qt)
+ ((#:configure-flags flags)
+ #~(append '("-DBUILD_WITH_QT6=ON") #$flags))))
+ (inputs
+ (modify-inputs (package-inputs libmygpo-qt)
+ (replace "qtbase" qtbase)))))
+
(define-public python-mygpoclient
(package
(name "python-mygpoclient")
--
2.47.1
S
S
Sughosha wrote 2 days ago
[PATCH v2 3/5] gnu: Add taglib-extras.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
5a1471dbdc2792cbfc44aa30f57593681e16de69.1737511788.git.sughosha@disroot.org
* gnu/packages/mp3.scm (taglib-extras): New variable.

Change-Id: I6b4ad693001c89e576fadbb02d981d43f7d568ab
---
gnu/packages/mp3.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 32a1ddea27..25682c5a6e 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -60,6 +60,7 @@ (define-module (gnu packages mp3)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -274,6 +275,34 @@ (define-public taglib
;; Dual-licensed: user may choose between LGPLv2.1 or MPLv1.1.
(license (list license:lgpl2.1 license:mpl1.1))))
+(define-public taglib-extras
+ (package
+ (name "taglib-extras")
+ ;; 2 changes after mentioning version 1.0.2 in ChangeLog, which fixes
+ ;; finding taglib.
+ (version "1.0.2-2")
+ (source
+ (origin
+ (method svn-fetch)
+ (uri
+ (svn-reference
+ (url "svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib-extras")
+ (revision 1444333)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1qsima3ln6j63mzdp5y1yjaijxvk3wnriwld5ijdp1xv1dx4hqjc"))))
+ (build-system cmake-build-system)
+ (inputs
+ (list taglib))
+ (arguments
+ (list #:tests? #f)) ;no test suite
+ (home-page "https://websvn.kde.org/trunk/kdesupport/taglib-extras")
+ (synopsis "Additional TagLib plugins")
+ (description
+ "This package provides TagLib plugins for Audible and RealMedia tags.")
+ (license (list license:lgpl2.1+ license:gpl2+))))
+
(define-public minimp3
;; The latest commit is used as there is no release.
(let ((commit "afb604c06bc8beb145fecd42c0ceb5bda8795144")
--
2.47.1
S
S
Sughosha wrote 2 days ago
[PATCH v2 1/5] gnu: libmygpo-qt: Update to 1.1.0-0.4d1f482.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
e701b48b15ebff3cbe7a4168c0a63ad7b2e116e4.1737511788.git.sughosha@disroot.org
* gnu/packages/gpodder.scm (libmygpo-qt): Update to 1.1.0-0.4d1f482.
[source]: Switch to git-fetch; update patches.
[home-page]: Update URL.
* gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch: New file.
* gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch: Delete file.
* gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch: Delete file.
* gnu/local.mk: Deregister the deleted files and register the new file.

Change-Id: I5cc3fbc8bfbfa7d88843448a2b5b8ef0fa5df60a
---
gnu/local.mk | 3 +-
gnu/packages/gpodder.scm | 61 +++----
.../patches/libmygpo-qt-fix-qt-5.11.patch | 78 ---------
.../libmygpo-qt-missing-qt5-modules.patch | 51 ------
...libmygpo-qt-suppot-building-with-qt6.patch | 153 ++++++++++++++++++
5 files changed, 187 insertions(+), 159 deletions(-)
delete mode 100644 gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
delete mode 100644 gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
create mode 100644 gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch

Toggle diff (113 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 5fb354caae..ccfd860b17 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1738,8 +1738,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmp4v2-c++11.patch \
%D%/packages/patches/libmpeg2-arm-private-symbols.patch \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
- %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
- %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
+ %D%/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch \
%D%/packages/patches/libpciaccess-hurd64.patch \
%D%/packages/patches/libphonenumber-reproducible-build.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index c3e1c9b496..1baca35f06 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -127,34 +127,39 @@ (define-public gpodder
(license license:gpl3+)))
(define-public libmygpo-qt
- (package
- (name "libmygpo-qt")
- (version "1.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://stefan.derkits.at/files/"
- "libmygpo-qt/libmygpo-qt." version ".tar.gz"))
- (sha256
- (base32
- "1kg18qrq2rsswgzhl65r3mlyx7kpqg4wwnbp4yiv6svvmadmlxl2"))
- (patches (search-patches "libmygpo-qt-fix-qt-5.11.patch"
- "libmygpo-qt-missing-qt5-modules.patch"))))
- (build-system cmake-build-system)
- (native-inputs
- (list pkg-config))
- (inputs
- (list qtbase-5))
- (arguments
- '(#:configure-flags '("-DMYGPO_BUILD_TESTS=ON")
- ;; TODO: Enable tests when https://github.com/gpodder/gpodder/issues/446
- ;; is fixed.
- #:tests? #f))
- (home-page "https://gpodder.github.io")
- (synopsis "Qt/C++ library wrapping the gpodder web service")
- (description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
-@url{https://gpodder.net} APIs. It allows applications to discover, manage
-and track podcasts.")
- (license license:lgpl2.1+)))
+ (let ((commit "4d1f48291791c64f029e69138e3bc7fb6a851610")
+ (revision "0"))
+ (package
+ (name "libmygpo-qt")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/gpodder/libmygpo-qt")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bxv8blyq66600i8skxmccb1lnmliz90378kck4f6j2ynry2114b"))
+ (patches
+ (search-patches "libmygpo-qt-suppot-building-with-qt6.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list qtbase-5))
+ (arguments
+ '(#:configure-flags '("-DMYGPO_BUILD_TESTS=ON")
+ ;; TODO: Enable tests when https://github.com/gpodder/gpodder/issues/446
+ ;; is fixed.
+ #:tests? #f))
+ (home-page "https://wiki.gpodder.org/wiki/Libmygpo-qt")
+ (synopsis "Qt/C++ library wrapping the gpodder web service")
+ (description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
+@url{https://gpodder.net} APIs. It allows applications to discover, manage and
+track podcasts.")
+ (license license:lgpl2.1+))))
(define-public python-mygpoclient
(package
diff --git a/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch b/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
deleted file mode 100644
index 69673c90ee..0000000000
--- a/gnu/packages/patches/libmygpo-qt-fix-qt-5.11.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 1b53767b988b339aac8b353327a1542b2a0c0610 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 15 Apr 2018 22:29:33 +0200
-Subject: [PATCH] Fix build with Qt 5.11_beta3 (dropping qt5_use_modules)
-
----
- CMakeLists.txt | 3 ---
- src/CMakeLists.txt | 8 ++++++--
- tests/CMakeLists.txt | 12 +++++++++---
- 3 files changed, 15 insertions(+), 8 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index eb006d9..fa4b0cb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -34,9 +34,6 @@ else()
- set( QT_DONT_USE_QTGUI TRUE )
- include( ${QT_USE_FILE} )
-
-- macro(qt5_use_modules)
-- endmacro()
--
- macro(qt_wrap_cpp)
- qt4_wrap_cpp(${ARGN})
- endmacro()
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 802125b..253e81e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -79,9 +79,13 @@ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${LIBMYGPO_QT_MOC_H} )
-
- add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC_SRC} )
-
--target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QJSON_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} )
- set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
--qt5_use_modules( ${MYGPO_QT_TARGET_NAME} Core Network )
-+
-+if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
-+else()
-+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
-+endif()
-
- install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index a3e3223..4f77158 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -11,11 +11,15 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
-
- # UrlBuilder library
- add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
--qt5_use_modules( UrlBuilder Core )
-+if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries( UrlBuilder Qt5::Core )
-+endif()
- # JSONCreator library
- QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
- add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
--qt5_use_modules( JsonCreator Core Network )
-+if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
-+endif()
-
- set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
-
-@@ -25,7 +29,9 @@ macro(add_libmygpo_test _source)
- add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
- target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
- add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
-- qt5_use_modules(${_name} Network Test)
-+ if( NOT BUILD_WITH_QT4 )
-+ target_link_libraries(${_name} Qt5::Network Qt5::Test)
-+ endif()
- endmacro(add_libmygpo_test)
-
- add_libmygpo_test( UrlBuilderTest.cpp )
Toggle diff (31 lines)
diff --git a/gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch b/gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
deleted file mode 100644
index aa9ed2c0f7..0000000000
--- a/gnu/packages/patches/libmygpo-qt-missing-qt5-modules.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 0d76d960727018bddf04c6cc89552af69aaa7e55 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 15 Apr 2018 22:20:34 +0200
-Subject: [PATCH] Add missing Qt5Network, Qt5Test, make BUILD_WITH_QT4 more
- strict
-
----
- CMakeLists.txt | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2a1f652..eb006d9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,25 +5,25 @@ project( libmygpo-qt )
- set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
- set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
-
--option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4 no matter if Qt5 was found" OFF)
-+option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
-
- if( NOT BUILD_WITH_QT4 )
-- find_package(Qt5Core QUIET)
-- if( Qt5Core_DIR )
-- set(MYGPO_QT_VERSION_SUFFIX 5)
--
-- macro(qt_wrap_cpp)
-- qt5_wrap_cpp(${ARGN})
-- endmacro()
-+ if( MYGPO_BUILD_TESTS )
-+ find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG)
-+ else()
-+ find_package(Qt5 REQUIRED COMPONENTS Core Network CONFIG)
- endif()
-+ set(MYGPO_QT_VERSION_SUFFIX 5)
-+
-+ macro(qt_wrap_cpp)
-+ qt5_wrap_cpp(${ARGN})
-+ endmacro()
-
- # pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
- # Qt5
- set(MYGPO_QT_MAJOR_VERSION "5")
- set(MYGPO_QT4_QJSON_DEP "")
--endif()
--
--if( NOT Qt5Core_DIR )
-+else()
- message(STATUS "Could not find Qt5, searching for Qt4 instead...")
- message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported")
- if( MYGPO_BUILD_TESTS )
Toggle diff (161 lines)
diff --git a/gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch b/gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch
new file mode 100644
index 0000000000..efdbe7623d
--- /dev/null
+++ b/gnu/packages/patches/libmygpo-qt-suppot-building-with-qt6.patch
@@ -0,0 +1,153 @@
+From 42e19dcb6b7c07460f05aa1d4586d5c76236c6d0 Mon Sep 17 00:00:00 2001
+From: Tuomas Nurmi <tuomas@norsumanageri.org>
+Date: Mon, 8 Jul 2024 17:03:32 +0300
+Subject: [PATCH] Minimal changes to make Qt6 compilation possible
+
+Untested. Compiles, with a bunch of deprecation warnings.
+There's likely room for improvement all around.
+---
+ CMakeLists.txt | 24 +++++++++---------------
+ libmygpo-qt.pc.in | 1 -
+ src/CMakeLists.txt | 4 ++--
+ src/DeviceList.cpp | 2 +-
+ tests/CMakeLists.txt | 12 +++++++++---
+ 5 files changed, 21 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8a79ddc..920e841 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -5,10 +5,10 @@ project( libmygpo-qt )
+ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
+ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII" )
+
+-option(BUILD_WITH_QT4 "Build libmygpo-qt with Qt4" OFF)
++option(BUILD_WITH_QT6 "Build libmygpo-qt with Qt6" OFF)
+ option(MYGPO_BUILD_TESTS "Build all unit tests" ON)
+
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ if( MYGPO_BUILD_TESTS )
+ find_package(Qt5 REQUIRED COMPONENTS Core Network Test CONFIG)
+ else()
+@@ -23,27 +23,21 @@ if( NOT BUILD_WITH_QT4 )
+ # pkg-config names of QtCore and QtNetwork are Qt5Core and Qt5Network for
+ # Qt5
+ set(MYGPO_QT_MAJOR_VERSION "5")
+- set(MYGPO_QT4_QJSON_DEP "")
+ else()
+- message(STATUS "Could not find Qt5, searching for Qt4 instead...")
+- message(STATUS "Qt4 Support is deprecated, building with Qt4 is no longer officially supported")
++ message(STATUS "Could not find Qt5, searching for Qt6 instead...")
+ if( MYGPO_BUILD_TESTS )
+- find_package( Qt4 COMPONENTS QtCore QtNetwork QtTest REQUIRED )
++ find_package( Qt6 COMPONENTS Core Network Test REQUIRED )
+ else( MYGPO_BUILD_TESTS )
+- find_package( Qt4 COMPONENTS QtCore QtNetwork REQUIRED )
++ find_package( Qt6 COMPONENTS Core Network REQUIRED )
+ endif()
+- set( QT_DONT_USE_QTGUI TRUE )
+- include( ${QT_USE_FILE} )
++ set(MYGPO_QT_VERSION_SUFFIX 6)
+
+ macro(qt_wrap_cpp)
+- qt4_wrap_cpp(${ARGN})
++ qt6_wrap_cpp(${ARGN})
+ endmacro()
+
+- set(MYGPO_QT_MAJOR_VERSION "")
+- set(MYGPO_QT4_QJSON_DEP "Requires.private: QJson")
++ set(MYGPO_QT_MAJOR_VERSION "6")
+
+- # QJson is only required for Qt4
+- find_package(QJSON REQUIRED)
+ endif()
+
+ # Don't use absolute path in Mygpo-qtTargets-$buildType.cmake
+@@ -51,7 +45,7 @@ endif()
+ # set(QT_USE_IMPORTED_TARGETS TRUE)
+
+ set( MYGPO_QT_VERSION_MAJOR "1" )
+-set( MYGPO_QT_VERSION_MINOR "1" )
++set( MYGPO_QT_VERSION_MINOR "2" )
+ set( MYGPO_QT_VERSION_PATCH "0" )
+ set( MYGPO_QT_VERSION "${MYGPO_QT_VERSION_MAJOR}.${MYGPO_QT_VERSION_MINOR}.${MYGPO_QT_VERSION_PATCH}" )
+
+diff --git a/libmygpo-qt.pc.in b/libmygpo-qt.pc.in
+index 8403e48..520bd52 100644
+--- a/libmygpo-qt.pc.in
++++ b/libmygpo-qt.pc.in
+@@ -8,6 +8,5 @@ Description: libmygpo-qt is a C++/Qt Library that wraps the gpodder.net WebAPI
+ URL: http://wiki.gpodder.org/wiki/Libmygpo-qt
+ Version: @MYGPO_QT_VERSION@
+ Requires: Qt@MYGPO_QT_MAJOR_VERSION@Core Qt@MYGPO_QT_MAJOR_VERSION@Network
+-@MYGPO_QT4_QJSON_DEP@
+ Libs: -L${libdir} -lmygpo-qt@MYGPO_QT_VERSION_SUFFIX@
+ Cflags: -I${includedir}
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 253e81e..9d1989c 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -81,10 +81,10 @@ add_library( ${MYGPO_QT_TARGET_NAME} SHARED ${LIBMYGPO_QT_SRC} ${LIBMYGPO_QT_MOC
+
+ set_target_properties( ${MYGPO_QT_TARGET_NAME} PROPERTIES VERSION ${MYGPO_QT_VERSION} SOVERSION ${MYGPO_QT_SONAME} DEFINE_SYMBOL MYGPO_MAKEDLL)
+
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt5::Core Qt5::Network)
+ else()
+- target_link_libraries( ${MYGPO_QT_TARGET_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QJSON_LIBRARIES})
++ target_link_libraries( ${MYGPO_QT_TARGET_NAME} Qt6::Core Qt6::Network)
+ endif()
+
+ install( TARGETS ${MYGPO_QT_TARGET_NAME} EXPORT ${MYGPO_QT_TARGET_NAME}Export DESTINATION ${LIB_INSTALL_DIR} )
+diff --git a/src/DeviceList.cpp b/src/DeviceList.cpp
+index e972318..92e29cc 100644
+--- a/src/DeviceList.cpp
++++ b/src/DeviceList.cpp
+@@ -64,7 +64,7 @@ bool DeviceListPrivate::parse( const QVariant& data )
+ DevicePtr ptr( new Device( var, this ) );
+ m_devicesList.append( ptr );
+ QVariant v;
+- v.setValue<DevicePtr>( ptr );
++ v.setValue<DevicePtr>( QSharedPointer<mygpo::Device>(ptr) );
+ devList.append( v );
+ }
+ m_devices = devList;
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 4f77158..ce63689 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -11,14 +11,18 @@ include_directories( ${QJSON_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CU
+
+ # UrlBuilder library
+ add_library( UrlBuilder ${TESTOBJECTS_SRCDIR}/UrlBuilder.cpp ${TESTOBJECTS_SRCDIR}/Config.cpp )
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ target_link_libraries( UrlBuilder Qt5::Core )
++else()
++ target_link_libraries( UrlBuilder Qt6::Core )
+ endif()
+ # JSONCreator library
+ QT_WRAP_CPP(LIBMYGPO_QT_MOC_SRC ${TESTOBJECTS_SRCDIR}/EpisodeAction.h ${TESTOBJECTS_SRCDIR}/EpisodeAction_p.h )
+ add_library( JsonCreator ${TESTOBJECTS_SRCDIR}/JsonCreator.cpp ${TESTOBJECTS_SRCDIR}/EpisodeAction.cpp ${TESTOBJECTS_SRCDIR}/qjsonwrapper/Json.cpp ${LIBMYGPO_QT_MOC_SRC})
+-if( NOT BUILD_WITH_QT4 )
++if( NOT BUILD_WITH_QT6 )
+ target_link_libraries( JsonCreator Qt5::Core Qt5::Network )
++else()
++ target_link_libraries( JsonCreator Qt6::Core Qt6::Network )
+ endif()
+
+ set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
+@@ -29,8 +33,10 @@ macro(add_libmygpo_test _source)
+ add_executable(${_name} ${_source} ${${_name}_MOC_SRC})
+ target_link_libraries(${_name} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTNETWORK_LIBRARY})
+ add_test(${_name}-test ${EXECUTABLE_OUTPUT_PATH}/${_name})
+- if( NOT BUILD_WITH_QT4 )
++ if( NOT BUILD_WITH_QT6 )
+ target_link_libraries(${_name} Qt5::Network Qt5::Test)
++ else()
++ target_link_libraries(${_name} Qt6::Network Qt6::Test)
+ endif()
+ endmacro(add_libmygpo_test)
+
--
2.47.1
S
S
Sughosha wrote 2 days ago
[PATCH v2 4/5] gnu: mariadb: Enable embedded server.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
1afb14d7dcdb9e3a17f5c449e1382a17e5dac006.1737511788.git.sughosha@disroot.org
* gnu/packages/databases.scm (mariadb)[arguments]<#:configure-flags>: Add
"-DWITH_EMBEDDED_SERVER=ON".

Change-Id: Iac091d06407b3a86b19e7241c93f9c38e451188d
---
gnu/packages/databases.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c0749d5b64..ec85b9eaa1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1040,6 +1040,9 @@ (define-public mariadb
"-DWITH_SSL=system"
"-DWITH_ZLIB=system"
+ ;; Enable embedded server.
+ "-DWITH_EMBEDDED_SERVER=ON"
+
"-DDEFAULT_CHARSET=utf8"
"-DDEFAULT_COLLATION=utf8_general_ci"
"-DMYSQL_DATADIR=/var/lib/mysql"
--
2.47.1
S
S
Sughosha wrote 2 days ago
[PATCH v2 5/5] gnu: Add amarok.
(address . 75720@debbugs.gnu.org)(name . Sughosha)(address . sughosha@disroot.org)
1b332885f07bbbb7a79cb10adee0eaa65429e013.1737511788.git.sughosha@disroot.org
* gnu/packages/kde-multimedia.scm (amarok): New variable.
* gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch: New file
* gnu/local.mk: Register the new file.

Change-Id: I2d89102a7bb8448464e6def9f052a70b45ac1624
---
gnu/local.mk | 1 +
gnu/packages/kde-multimedia.scm | 109 +++++++++++++
...amarok-3.2.1-fix-including-mygpo-qt6.patch | 148 ++++++++++++++++++
3 files changed, 258 insertions(+)
create mode 100644 gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch

Toggle diff (317 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ccfd860b17..faa0e29b16 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -980,6 +980,7 @@ dist_patch_DATA = \
%D%/packages/patches/ibus-anthy-fix-tests.patch \
%D%/packages/patches/ibus-table-paths.patch \
%D%/packages/patches/anki-mpv-args.patch \
+ %D%/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm
index 4b0e170b79..2e93e3483f 100644
--- a/gnu/packages/kde-multimedia.scm
+++ b/gnu/packages/kde-multimedia.scm
@@ -31,14 +31,19 @@ (define-module (gnu packages kde-multimedia)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages cdrom)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gpodder)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)
@@ -46,6 +51,7 @@ (define-module (gnu packages kde-multimedia)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages libcanberra)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages music)
@@ -54,6 +60,7 @@ (define-module (gnu packages kde-multimedia)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
@@ -98,6 +105,108 @@ (define-public audiocd-kio
(license ;; GPL for programs, FDL for documentation
(list license:gpl2+ license:fdl1.2+))))
+(define-public amarok
+ (package
+ (name "amarok")
+ (version "3.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kde/stable/amarok-" version
+ "/amarok-" version ".tar.xz"))
+ (sha256
+ (base32
+ "14r7iismx28nnh3jhkhczhrsmsap9by8p3kfhkp7d5678c7l62g4"))
+ (patches
+ (search-patches "amarok-3.2.1-fix-including-mygpo-qt6.patch"))))
+ (build-system qt-build-system)
+ (arguments
+ (list #:qtbase qtbase
+ #:configure-flags
+ #~(list "-DBUILD_WITH_QT6=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'check-setup
+ (lambda _
+ ;; Set home directory.
+ (setenv "HOME" "/tmp")
+ ;; testplaylistlayout looks for "amarok/data" directory in
+ ;; $XDG_DATA_DIRS. Maybe it is for testing after installing.
+ ;; As a workaround, set XDG_DATA_DIRS pointing to $TMPDIR
+ ;; which contains "amarok/data" directory.
+ (let ((linktarget (string-append (dirname (getcwd))
+ "/amarok")))
+ (if (not (equal? (basename (getcwd)) "amarok"))
+ (symlink (getcwd) linktarget))
+ (setenv "XDG_DATA_DIRS"
+ (string-append (getenv "XDG_DATA_DIRS") ":"
+ (dirname linktarget))))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; testsqlscanmanager fails, even when run manually.
+ (invoke "ctest" "-E" "testsqlscanmanager")))))))
+ (native-inputs
+ (list extra-cmake-modules googletest kdoctools pkg-config qttools))
+ (inputs
+ (list ffmpeg
+ fftw
+ glib
+ karchive
+ kcodecs
+ kcolorscheme
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kcmutils
+ kcrash
+ kdbusaddons
+ kdnssd
+ kglobalaccel
+ kguiaddons
+ ki18n
+ kiconthemes
+ kio
+ kirigami
+ knotifications
+ kpackage
+ kstatusnotifieritem
+ ktexteditor
+ ktextwidgets
+ kwallet
+ kwidgetsaddons
+ kwindowsystem
+ libofa
+ libmtp
+ libmygpo-qt6
+ libxcrypt
+ `(,mariadb "dev")
+ `(,mariadb "lib")
+ openssl
+ phonon
+ phonon-backend-vlc
+ python
+ qt5compat
+ qtsvg
+ qtwebengine
+ solid
+ taglib
+ taglib-extras
+ threadweaver))
+ (home-page "https://amarok.kde.org/")
+ (synopsis "Audio player for KDE")
+ (description
+ "Amarok is a music player and collection manager. It features:
+@itemize
+@item dynamic playlists matching different criteria,
+@item collection managing with rating support,
+@item support for basic MTP and UMS music player devices,
+@item integrated internet services such as Magnatune, Ampache and more,
+@item scripting support,
+@item cover manager and
+@item replay gain support
+@end itemize")
+ (license license:gpl2+)))
+
(define-public dragon
(package
(name "dragon")
diff --git a/gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch b/gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch
new file mode 100644
index 0000000000..d23954cf80
--- /dev/null
+++ b/gnu/packages/patches/amarok-3.2.1-fix-including-mygpo-qt6.patch
@@ -0,0 +1,148 @@
+This patch fixes including headers of libmygpo-qt6 when built with qt6.
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderPodcastMeta.h amarok-3.2.1-b/src/services/gpodder/GpodderPodcastMeta.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderPodcastMeta.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderPodcastMeta.h 2025-01-21 06:40:56.069282183 +0530
+@@ -22,7 +22,14 @@
+
+ #include "core/playlists/PlaylistProvider.h"
+ #include "core/podcasts/PodcastMeta.h"
++
++#include <QtVersionChecks>
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#endif
+
+ namespace Podcasts {
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderPodcastRequestHandler.h amarok-3.2.1-b/src/services/gpodder/GpodderPodcastRequestHandler.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderPodcastRequestHandler.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderPodcastRequestHandler.h 2025-01-21 05:22:06.974221089 +0530
+@@ -20,7 +20,12 @@
+ #define GPODDERPODCASTREQUESTHANDLER_H_
+
+ #include "GpodderServiceModel.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/PodcastList.h>
++#else
++#include <mygpo-qt6/PodcastList.h>
++#endif
+
+ #include <QModelIndex>
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderPodcastTreeItem.h amarok-3.2.1-b/src/services/gpodder/GpodderPodcastTreeItem.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderPodcastTreeItem.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderPodcastTreeItem.h 2025-01-21 05:16:21.674470671 +0530
+@@ -20,7 +20,11 @@
+ #define GPODDERPODCASTTREEITEM_H_
+
+ #include "GpodderTreeItem.h"
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/Podcast.h>
++#else
++#include <mygpo-qt6/Podcast.h>
++#endif
+
+ class GpodderPodcastTreeItem: public GpodderTreeItem
+ {
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderProvider.h amarok-3.2.1-b/src/services/gpodder/GpodderProvider.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderProvider.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderProvider.h 2025-01-21 05:21:29.153812018 +0530
+@@ -23,8 +23,15 @@
+ #include "core/podcasts/PodcastProvider.h"
+ #include "core/podcasts/PodcastReader.h"
+ #include "GpodderPodcastMeta.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
+ #include <mygpo-qt5/EpisodeActionList.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/EpisodeActionList.h>
++#endif
++
+ #include "playlistmanager/file/KConfigSyncRelStore.h"
+ #include "playlistmanager/PlaylistManager.h"
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderService.cpp amarok-3.2.1-b/src/services/gpodder/GpodderService.cpp
+--- amarok-3.2.1-a/src/services/gpodder/GpodderService.cpp 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderService.cpp 2025-01-21 05:17:27.675190295 +0530
+@@ -27,8 +27,15 @@
+ #include "GpodderServiceModel.h"
+ #include "GpodderServiceView.h"
+ #include "GpodderSortFilterProxyModel.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
+ #include <mygpo-qt5/Podcast.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/Podcast.h>
++#endif
++
+ #include "playlistmanager/PlaylistManager.h"
+ #include "widgets/SearchWidget.h"
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderServiceModel.h amarok-3.2.1-b/src/services/gpodder/GpodderServiceModel.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderServiceModel.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderServiceModel.h 2025-01-21 05:20:32.517198664 +0530
+@@ -20,8 +20,15 @@
+ #define GPODDERSERVICEMODEL_H_
+
+ #include "GpodderTreeItem.h"
++
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/ApiRequest.h>
+ #include <mygpo-qt5/TagList.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/TagList.h>
++#endif
++
+ #include "NetworkAccessManagerProxy.h"
+
+ #include <QAbstractItemModel>
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderTagTreeItem.h amarok-3.2.1-b/src/services/gpodder/GpodderTagTreeItem.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderTagTreeItem.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderTagTreeItem.h 2025-01-21 05:18:10.983661774 +0530
+@@ -20,7 +20,11 @@
+ #define GPODDERTAGTREEITEM_H_
+
+ #include "GpodderTreeItem.h"
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ #include <mygpo-qt5/Tag.h>
++#else
++#include <mygpo-qt6/Tag.h>
++#endif
+
+ #include <QObject>
+
+diff -ruN amarok-3.2.1-a/src/services/gpodder/GpodderTreeItem.h amarok-3.2.1-b/src/services/gpodder/GpodderTreeItem.h
+--- amarok-3.2.1-a/src/services/gpodder/GpodderTreeItem.h 2025-01-11 23:47:50.000000000 +0530
++++ amarok-3.2.1-b/src/services/gpodder/GpodderTreeItem.h 2025-01-21 06:33:35.948536483 +0530
+@@ -19,13 +19,18 @@
+ #ifndef GPODDERTREEITEM_H_
+ #define GPODDERTREEITEM_H_
+
+-#include <mygpo-qt5/ApiRequest.h>
+-#include <mygpo-qt5/TagList.h>
+-
+ #include <QList>
+ #include <QModelIndex>
+ #include <QVariant>
+
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
++#include <mygpo-qt5/ApiRequest.h>
++#include <mygpo-qt5/TagList.h>
++#else
++#include <mygpo-qt6/ApiRequest.h>
++#include <mygpo-qt6/TagList.h>
++#endif
++
+
+ class GpodderTreeItem : public QObject
+ {
--
2.47.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75720@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75720
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch