Package: guix-patches;
Reported by: Sughosha <sughosha <at> disroot.org>
Date: Tue, 21 Jan 2025 02:29:02 UTC
Severity: normal
Tags: patch
Message #11 received at 75720 <at> debbugs.gnu.org (full text, mbox):
From: Sughosha <sughosha <at> disroot.org> To: 75720 <at> debbugs.gnu.org Cc: Sughosha <sughosha <at> disroot.org> Subject: [PATCH 1/4] gnu: libmygpo-qt: Update to 1.1.0-0.4d1f482. Date: Tue, 21 Jan 2025 08:00:39 +0530
* 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 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 <at> 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 ) 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 <at> 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 ) 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 <at> 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 <at> MYGPO_QT_MAJOR_VERSION <at> Core Qt <at> MYGPO_QT_MAJOR_VERSION <at> Network +-@MYGPO_QT4_QJSON_DEP@ + Libs: -L${libdir} -lmygpo-qt <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.