Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cantata for openSUSE:Factory checked in at 2025-06-17 18:22:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cantata (Old) and /work/SRC/openSUSE:Factory/.cantata.new.19631 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cantata" Tue Jun 17 18:22:33 2025 rev:28 rq:1286209 version:3.3.1 Changes: -------- --- /work/SRC/openSUSE:Factory/cantata/cantata.changes 2025-05-12 16:54:11.334050423 +0200 +++ /work/SRC/openSUSE:Factory/.cantata.new.19631/cantata.changes 2025-06-17 18:23:15.848906282 +0200 @@ -1,0 +2,16 @@ +Mon Jun 9 20:46:34 UTC 2025 - RN <r_ni...@proton.me> + +- Update to version 3.3.1: + * build: Link to libmusicbrainzcc, not libmusicbrainz + (gh#nullobsi/cantata#46) + * build: update flatpak workflow (gh#nullobsi/cantata#53) + * Add missing QRegularExpression include (gh#nullobsi/cantata#54) + * fix FindCDParanoia.cmake (gh#nullobsi/cantata#51) + * git: bump version by (gh#nullobsi/cantata#60) + * fix: fill tags from filename if tag is empty in metadata + (gh#nullobsi/cantata#64) + * build: fix musicbrainz (gh#nullobsi/cantata#65) + * rc: v3.3.1 (2) (gh#nullobsi/cantata#66) +- Superseded cantata-add-missing-qregularexpression-include.patch + +------------------------------------------------------------------- Old: ---- cantata-3.3.0.tar.gz cantata-add-missing-qregularexpression-include.patch New: ---- cantata-3.3.1.tar.gz ----------(Old B)---------- Old: * rc: v3.3.1 (2) (gh#nullobsi/cantata#66) - Superseded cantata-add-missing-qregularexpression-include.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cantata.spec ++++++ --- /var/tmp/diff_new_pack.qc73Lq/_old 2025-06-17 18:23:16.328926243 +0200 +++ /var/tmp/diff_new_pack.qc73Lq/_new 2025-06-17 18:23:16.328926243 +0200 @@ -17,15 +17,14 @@ Name: cantata -Version: 3.3.0 +Version: 3.3.1 Release: 0 Summary: Client for the Music Player Daemon (MPD) License: GPL-3.0-only Group: Productivity/Multimedia/Sound/Players URL: https://github.com/nullobsi/cantata/ Source: https://github.com/nullobsi/cantata/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM cantata-add-missing-qregularexpression-include.patch - https://github.com/nullobsi/cantata/pull/54/ -Patch1: cantata-add-missing-qregularexpression-include.patch + BuildRequires: fdupes BuildRequires: media-player-info BuildRequires: pkgconfig ++++++ cantata-3.3.0.tar.gz -> cantata-3.3.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/.github/workflows/flatpak.yml new/cantata-3.3.1/.github/workflows/flatpak.yml --- old/cantata-3.3.0/.github/workflows/flatpak.yml 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/.github/workflows/flatpak.yml 2025-04-25 08:56:55.000000000 +0200 @@ -19,7 +19,7 @@ fail-fast: false name: 🚧 Flatpak container: - image: bilelmoussaoui/flatpak-github-actions:kde-6.7 + image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8 options: --privileged steps: - name: '🧰 Checkout' @@ -27,7 +27,7 @@ with: fetch-depth: 0 - name: '🚧 Build Cantata' - uses: flatpak/flatpak-github-actions/flatpak-builder@v6 + uses: flathub-infra/flatpak-github-actions/flatpak-builder@master with: bundle: cantata.flatpak manifest-path: dog.unix.cantata.Cantata.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/.github/workflows/macos.yml new/cantata-3.3.1/.github/workflows/macos.yml --- old/cantata-3.3.0/.github/workflows/macos.yml 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/.github/workflows/macos.yml 2025-04-25 08:56:55.000000000 +0200 @@ -32,7 +32,7 @@ uses: jurplel/install-qt-action@v3 with: aqtversion: '==3.1.*' - version: '6.7.1' + version: '6.9' host: 'mac' target: 'desktop' arch: 'clang_64' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/CMakeLists.txt new/cantata-3.3.1/CMakeLists.txt --- old/cantata-3.3.0/CMakeLists.txt 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/CMakeLists.txt 2025-04-25 08:56:55.000000000 +0200 @@ -2,7 +2,7 @@ project( Cantata - VERSION "3.3.0" + VERSION "3.3.1" DESCRIPTION "Graphical MPD Client with Qt." HOMEPAGE_URL "https://github.com/nullobsi/cantata" LANGUAGES CXX C @@ -71,9 +71,6 @@ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_BINARY_DIR}/LICENSE.txt") set(CPACK_RESOURCE_FILE_README "${CMAKE_BINARY_DIR}/README.txt") elseif(APPLE) - # Build as an app bundle. - set(CMAKE_MACOSX_BUNDLE TRUE) - # CPack. set(CPACK_GENERATOR "DragNDrop") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/ChangeLog new/cantata-3.3.1/ChangeLog --- old/cantata-3.3.0/ChangeLog 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/ChangeLog 2025-04-25 08:56:55.000000000 +0200 @@ -1,3 +1,7 @@ +This file documents changelogs for older versions of Cantata. +For versions since 3.0, please check the GitHub repository or check +./cantata.metainfo.xml.cmake. + 2.5.0 ----- 1. Update translations. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/cantata.metainfo.xml.cmake new/cantata-3.3.1/cantata.metainfo.xml.cmake --- old/cantata-3.3.0/cantata.metainfo.xml.cmake 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/cantata.metainfo.xml.cmake 2025-04-25 08:56:55.000000000 +0200 @@ -56,6 +56,19 @@ </screenshots> <releases> + <release version="3.3.1" date="2025-04-24"> + <description> + <p>Patch release.</p> + <ul> + <li>Use tags from filename if missing</li> + <li>Fix cdparanoia</li> + <li>Link to correct musicbrainz library</li> + <li>Update flatpak workflow</li> + <li>Use latest version of KDE platform</li> + <li>Add nix flake</li> + </ul> + </description> + </release> <release version="3.3.0" date="2024-11-13"> <description> <p>Minor release.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/cmake/FindCDParanoia.cmake new/cantata-3.3.1/cmake/FindCDParanoia.cmake --- old/cantata-3.3.0/cmake/FindCDParanoia.cmake 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/cmake/FindCDParanoia.cmake 2025-04-25 08:56:55.000000000 +0200 @@ -43,6 +43,8 @@ The directory containing ``cdda_interface.h``. #]===] +include(CheckCSourceCompiles) + # First use PKG-Config as a starting point. find_package(PkgConfig) if(PKG_CONFIG_FOUND) @@ -96,6 +98,7 @@ ) endif () if(NOT TARGET CDDA::Interface) + add_library(CDDA::Interface UNKNOWN IMPORTED) set_target_properties(CDDA::Interface PROPERTIES IMPORTED_LOCATION "${CDParanoia_INTERFACE_LIBRARY}" INTERFACE_COMPILE_OPTIONS "${PC_CDParanoia_CFLAGS_OTHER}" @@ -118,4 +121,4 @@ CDParanoia_INTERFACE_INCLUDE_DIR CDParanoia_PARANOIA_LIBRARY CDParanoia_INTERFACE_LIBRARY -) \ No newline at end of file +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/cmake/FindMusicBrainz5.cmake new/cantata-3.3.1/cmake/FindMusicBrainz5.cmake --- old/cantata-3.3.0/cmake/FindMusicBrainz5.cmake 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/cmake/FindMusicBrainz5.cmake 2025-04-25 08:56:55.000000000 +0200 @@ -40,22 +40,36 @@ # First use PKG-Config as a starting point. find_package(PkgConfig) if(PKG_CONFIG_FOUND) + # Newer development versions of musicbrainz split the library into + # C++ and C versions. + pkg_check_modules(PC_MusicBrainz5cc QUIET libmusicbrainz5cc) pkg_check_modules(PC_MusicBrainz5 QUIET libmusicbrainz5) endif(PKG_CONFIG_FOUND) find_path(MusicBrainz5_INCLUDE_DIR NAMES Disc.h - PATHS ${PC_MusicBrainz5_INCLUDE_DIRS} + PATHS ${PC_MusicBrainz5_INCLUDE_DIRS} ${PC_MusicBrainz5cc_INCLUDE_DIRS} PATH_SUFFIXES "musicbrainz5" ) +find_library(MusicBrainz5cc_LIBRARY + NAMES musicbrainz5cc + PATHS ${PC_MusicBrainz5_LIBRARY_DIRS} +) + find_library(MusicBrainz5_LIBRARY NAMES musicbrainz5 - PATHS ${PC_MusicBrainz5_LIBRARY_DIRS} + PATHS ${PC_MusicBrainz5cc_LIBRARY_DIRS} ) # Set version from PC if applicable. -set(MusicBrainz5_VERSION ${PC_MusicBrainz5_VERSION}) +if (MusicBrainz5cc_LIBRARY) + set(MusicBrainz5_VERSION ${PC_MusicBrainz5cc_VERSION}) + # Copy library from musicbrain5cc + set(MusicBrainz5_LIBRARY ${MusicBrainz5cc_LIBRARY}) +elseif (MusicBrainz5_LIBRARY) + set(MusicBrainz5_VERSION ${PC_MusicBrainz5_VERSION}) +endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(MusicBrainz5 @@ -67,20 +81,33 @@ ) if(MusicBrainz5_FOUND) - set(MusicBrainz5_LIBRARIES ${MusicBrainz5_LIBRARY}) set(MusicBrainz5_INCLUDE_DIRS ${MusicBrainz5_INCLUDE_DIR}) - set(MusicBrainz5_DEFINITIONS ${PC_MusicBrainz5_CFLAGS_OTHER}) + if(MusicBrainz5cc_LIBRARY) + set(MusicBrainz5_DEFINITIONS ${PC_MusicBrainz5cc_CFLAGS_OTHER}) + set(MusicBrainz5_LIBRARIES ${MusicBrainz5cc_LIBRARY}) + else() + set(MusicBrainz5_DEFINITIONS ${PC_MusicBrainz5_CFLAGS_OTHER}) + set(MusicBrainz5_LIBRARIES ${MusicBrainz5_LIBRARY}) + endif() if(NOT TARGET MusicBrainz5::MusicBrainz) add_library(MusicBrainz5::MusicBrainz UNKNOWN IMPORTED) - set_target_properties(MusicBrainz5::MusicBrainz PROPERTIES - IMPORTED_LOCATION "${MusicBrainz5_LIBRARY}" - INTERFACE_COMPILE_OPTIONS "${PC_MusicBrainz5_CFLAGS_OTHER}" - INTERFACE_INCLUDE_DIRECTORIES "${MusicBrainz5_INCLUDE_DIR}" - ) + if(MusicBrainz5cc_LIBRARY) + set_target_properties(MusicBrainz5::MusicBrainz PROPERTIES + IMPORTED_LOCATION "${MusicBrainz5cc_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${PC_MusicBrainz5cc_CFLAGS_OTHER}" + INTERFACE_INCLUDE_DIRECTORIES "${MusicBrainz5_INCLUDE_DIR}" + ) + else() + set_target_properties(MusicBrainz5::MusicBrainz PROPERTIES + IMPORTED_LOCATION "${MusicBrainz5_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${PC_MusicBrainz5_CFLAGS_OTHER}" + INTERFACE_INCLUDE_DIRECTORIES "${MusicBrainz5_INCLUDE_DIR}" + ) + endif() endif () endif() mark_as_advanced( MusicBrainz5_INCLUDE_DIR MusicBrainz5_LIBRARY -) \ No newline at end of file +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/dog.unix.cantata.Cantata.yml new/cantata-3.3.1/dog.unix.cantata.Cantata.yml --- old/cantata-3.3.0/dog.unix.cantata.Cantata.yml 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/dog.unix.cantata.Cantata.yml 2025-04-25 08:56:55.000000000 +0200 @@ -1,6 +1,6 @@ id: dog.unix.cantata.Cantata runtime: org.kde.Platform -runtime-version: '6.7' +runtime-version: '6.9' sdk: org.kde.Sdk command: cantata finish-args: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/flake.lock new/cantata-3.3.1/flake.lock --- old/cantata-3.3.0/flake.lock 1970-01-01 01:00:00.000000000 +0100 +++ new/cantata-3.3.1/flake.lock 2025-04-25 08:56:55.000000000 +0200 @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1745234285, + "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/flake.nix new/cantata-3.3.1/flake.nix --- old/cantata-3.3.0/flake.nix 1970-01-01 01:00:00.000000000 +0100 +++ new/cantata-3.3.1/flake.nix 2025-04-25 08:56:55.000000000 +0200 @@ -0,0 +1,64 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: + let + name = "cantata"; + version = "3.3.1"; + pkgs = import nixpkgs { + inherit system; + }; + isLinux = pkgs.lib.strings.hasSuffix "-linux" system; + qtEnv = with pkgs.qt6; env "qt-custom-${qtbase.version}" + ([ + qtbase + qtconnectivity + qthttpserver + qtimageformats + qtmultimedia + qtsvg + qttranslations + qttools + ] ++ pkgs.lib.optionals isLinux [ + qtwayland + ]); + buildInputs = with pkgs; [ + pkg-config + taglib + ffmpeg + mpg123 + libebur128 + avahi + zlib + qtEnv + cmake + ninja + ] ++ lib.optionals isLinux [ + libGL + libGLU + libcdio + libcdio-paranoia + libmusicbrainz5 + libmtp + media-player-info + ]; + in + { + packages.default = + let + inherit (pkgs) stdenv lib; + in + stdenv.mkDerivation { + inherit version buildInputs; + src = self; + pname = name; + }; + devShells.default = pkgs.mkShell { + inherit buildInputs; + }; + } + ); + +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/models/streamsmodel.cpp new/cantata-3.3.1/models/streamsmodel.cpp --- old/cantata-3.3.0/models/streamsmodel.cpp 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/models/streamsmodel.cpp 2025-04-25 08:56:55.000000000 +0200 @@ -44,6 +44,7 @@ #include <QLocale> #include <QMimeData> #include <QModelIndex> +#include <QRegularExpression> #include <QSet> #include <QString> #include <QTimer> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/mpd-interface/song.cpp new/cantata-3.3.1/mpd-interface/song.cpp --- old/cantata-3.3.0/mpd-interface/song.cpp 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/mpd-interface/song.cpp 2025-04-25 08:56:55.000000000 +0200 @@ -301,53 +301,60 @@ void Song::guessTags() { - if (isEmpty() && !isStream()) { + if (!isStream()) { + QString newtitle = title; + QString newalbum = album; + QString newartist = artist; + static const QLatin1String constAlbumArtistSep(" - "); guessed = true; QStringList parts = file.split("/", CANTATA_SKIP_EMPTY); if (3 == parts.length()) { - title = parts.at(2); - album = parts.at(1); - artist = parts.at(0); + newtitle = parts.at(2); + newalbum = parts.at(1); + newartist = parts.at(0); } else if (2 == parts.length() && parts.at(0).contains(constAlbumArtistSep)) { - title = parts.at(1); + newtitle = parts.at(1); QStringList albumArtistParts = parts.at(0).split(constAlbumArtistSep, CANTATA_SKIP_EMPTY); if (2 == albumArtistParts.length()) { - album = albumArtistParts.at(1); - artist = albumArtistParts.at(0); + newalbum = albumArtistParts.at(1); + newartist = albumArtistParts.at(0); } } else if (!parts.isEmpty()) { - title = parts.at(parts.length() - 1); + newtitle = parts.at(parts.length() - 1); } - if (!title.isEmpty()) { - int dot = title.lastIndexOf('.'); - if (dot > 0 && dot < title.length() - 2) { - title = title.left(dot); + if (!newtitle.isEmpty()) { + int dot = newtitle.lastIndexOf('.'); + if (dot > 0 && dot < newtitle.length() - 2) { + newtitle = newtitle.left(dot); } static const QSet<QChar> constSeparators = QSet<QChar>() << QLatin1Char(' ') << QLatin1Char('-') << QLatin1Char('_') << QLatin1Char('.'); int separator = 0; for (const QChar& sep : constSeparators) { - separator = title.indexOf(sep); + separator = newtitle.indexOf(sep); if (1 == separator || 2 == separator) { break; } } - if ((1 == separator && title[separator - 1].isDigit()) || (2 == separator && title[separator - 2].isDigit() && title[separator - 1].isDigit())) { + if ((1 == separator && newtitle[separator - 1].isDigit()) || (2 == separator && newtitle[separator - 2].isDigit() && newtitle[separator - 1].isDigit())) { if (0 == track) { - track = title.left(separator).toInt(); + track = newtitle.left(separator).toInt(); } - title = title.mid(separator + 1); + newtitle = newtitle.mid(separator + 1); - while (!title.isEmpty() && constSeparators.contains(title[0])) { - title = title.mid(1); + while (!newtitle.isEmpty() && constSeparators.contains(newtitle[0])) { + newtitle = newtitle.mid(1); } } } + title = !title.isEmpty() ? title : newtitle; + album = !album.isEmpty() ? album : newalbum; + artist = !artist.isEmpty() ? artist : newartist; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cantata-3.3.0/support/keysequencewidget.cpp new/cantata-3.3.1/support/keysequencewidget.cpp --- old/cantata-3.3.0/support/keysequencewidget.cpp 2024-11-14 07:02:07.000000000 +0100 +++ new/cantata-3.3.1/support/keysequencewidget.cpp 2025-04-25 08:56:55.000000000 +0200 @@ -255,10 +255,10 @@ if (_isRecording) { if (_modifierKeys) { #ifdef Q_OS_MAC - if (_modifierKeys & Qt::META) s += QChar(kControlUnicode); - if (_modifierKeys & Qt::ALT) s += QChar(kOptionUnicode); - if (_modifierKeys & Qt::SHIFT) s += QChar(kShiftUnicode); - if (_modifierKeys & Qt::CTRL) s += QChar(kCommandUnicode); + if (_modifierKeys & Qt::META) s += QChar::fromUcs2(kControlUnicode); + if (_modifierKeys & Qt::ALT) s += QChar::fromUcs2(kOptionUnicode); + if (_modifierKeys & Qt::SHIFT) s += QChar::fromUcs2(kShiftUnicode); + if (_modifierKeys & Qt::CTRL) s += QChar::fromUcs2(kCommandUnicode); #else if (_modifierKeys & Qt::META) s += tr("Meta", "Meta key") + '+'; if (_modifierKeys & Qt::CTRL) s += tr("Ctrl", "Ctrl key") + '+';