diff --git a/MOVED b/MOVED index 6ee4305a1942..f0736bf5a10f 100644 --- a/MOVED +++ b/MOVED @@ -4136,3 +4136,4 @@ www/p5-CGI-Application-Plugin-HtmlTidy||2025-02-04|Has expired: Depends on expir textproc/p5-HTML-Tidy||2025-02-04|Has expired: Depends on expired textproc/tidyp textproc/tidyp||2025-02-04|Has expired: The repository has been archived by upstream on Apr 14, 2019 audio/kid3@kf5|audio/kid3@kf6|2025-02-05|kf5 support has been removed. Use kf6 flavor instead +audio/liblastfm-qt5||2025-02-05|No ports depend on this. New ports should used Qt6-based audio/liblastfm diff --git a/audio/Makefile b/audio/Makefile index 70cbe7dc192f..8944a7eb6dd2 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -353,7 +353,7 @@ SUBDIR += libkcddb SUBDIR += libkcompactdisc SUBDIR += libkeyfinder - SUBDIR += liblastfm-qt5 + SUBDIR += liblastfm SUBDIR += liblo SUBDIR += liblscp SUBDIR += libltc diff --git a/audio/liblastfm-qt5/distinfo b/audio/liblastfm-qt5/distinfo deleted file mode 100644 index 396dca196e9a..000000000000 --- a/audio/liblastfm-qt5/distinfo +++ /dev/null @@ -1,5 +0,0 @@ -TIMESTAMP = 1687757062 -SHA256 (lastfm-liblastfm-1.0.9-5-g4433165_GH0.tar.gz) = 8cf1835af3f38f0c7c576e8a01c2d19ee32c7006a44d2d183fb64ed228bc5ca6 -SIZE (lastfm-liblastfm-1.0.9-5-g4433165_GH0.tar.gz) = 119427 -SHA256 (d51ad3e759331d7d79c6675c5d22541280bf9a70.patch) = a0c3454c57cc1b36cfc617d431bdcdff91adb3ead0c7ee0ec7c9b6c0211f601e -SIZE (d51ad3e759331d7d79c6675c5d22541280bf9a70.patch) = 2220 diff --git a/audio/liblastfm-qt5/files/patch-src_UrlBuilder.cpp b/audio/liblastfm-qt5/files/patch-src_UrlBuilder.cpp deleted file mode 100644 index dbe336905355..000000000000 --- a/audio/liblastfm-qt5/files/patch-src_UrlBuilder.cpp +++ /dev/null @@ -1,123 +0,0 @@ -url(): - - Use https scheme to avoid 301 redirects - - Override default QUrl::TolerantMode with QUrl::StrictMode for Qt 5.x to - prevent overprocessing the already encoded input URL -localePath(): - - New function to return the base path of the localized website -host(): - - Just return www.last.fm since the localized hosts 301 redirect there -localize(): - - Set the path of the url instead of the host since the localized - hosts 301 redirect to the main website with a localized path -mobilize(): - - Mobile website 301 redirects to main website, so just return the url as-is - ---- src/UrlBuilder.cpp.orig 2014-10-02 14:05:46 UTC -+++ src/UrlBuilder.cpp -@@ -32,7 +32,7 @@ class lastfm::UrlBuilderPrivate (public) - lastfm::UrlBuilder::UrlBuilder( const QString& base ) - : d( new UrlBuilderPrivate ) - { -- d->path = '/' + base.toLatin1(); -+ d->path = localePath().toLatin1() + '/' + base.toLatin1(); - } - - -@@ -60,10 +60,10 @@ QUrl - lastfm::UrlBuilder::url() const - { - QUrl url; -- url.setScheme( "http" ); -+ url.setScheme( "https" ); - url.setHost( host() ); - #if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 ) -- url.setPath( d->path ); -+ url.setPath( d->path, QUrl::StrictMode ); - #else - url.setEncodedPath( d->path ); - #endif -@@ -85,49 +85,50 @@ lastfm::UrlBuilder::encode( QString s ) - - - QString //static --lastfm::UrlBuilder::host( const QLocale& locale ) -+lastfm::UrlBuilder::localePath( const QLocale& locale ) - { - switch (locale.language()) - { -- case QLocale::Portuguese: return "www.lastfm.com.br"; -- case QLocale::Turkish: return "www.lastfm.com.tr"; -- case QLocale::French: return "www.lastfm.fr"; -- case QLocale::Italian: return "www.lastfm.it"; -- case QLocale::German: return "www.lastfm.de"; -- case QLocale::Spanish: return "www.lastfm.es"; -- case QLocale::Polish: return "www.lastfm.pl"; -- case QLocale::Russian: return "www.lastfm.ru"; -- case QLocale::Japanese: return "www.lastfm.jp"; -- case QLocale::Swedish: return "www.lastfm.se"; -- case QLocale::Chinese: return "cn.last.fm"; -- default: return "www.last.fm"; -+ case QLocale::Chinese: return "/zh"; -+ case QLocale::French: return "/fr"; -+ case QLocale::German: return "/de"; -+ case QLocale::Italian: return "/it"; -+ case QLocale::Japanese: return "/ja"; -+ case QLocale::Polish: return "/pl"; -+ case QLocale::Portuguese: return "/pt"; -+ case QLocale::Russian: return "/ru"; -+ case QLocale::Spanish: return "/es"; -+ case QLocale::Swedish: return "/sv"; -+ case QLocale::Turkish: return "/tr"; -+ default: return ""; - } - } - - -+QString //static -+lastfm::UrlBuilder::host( const QLocale& locale ) -+{ -+ return "www.last.fm"; -+} -+ -+ - bool // static - lastfm::UrlBuilder::isHost( const QUrl& url ) - { -- QStringList hosts = QStringList() << "www.lastfm.com.br" -- << "www.lastfm.com.tr" -- << "www.lastfm.fr" -- << "www.lastfm.it" -- << "www.lastfm.de" -- << "www.lastfm.es" -- << "www.lastfm.pl" -- << "www.lastfm.ru" -- << "www.lastfm.jp" -- << "www.lastfm.se" -- << "cn.last.fm" -- << "www.last.fm"; -+ QStringList hosts = QStringList() << "www.last.fm"; - - return hosts.contains( url.host() ); - } - -+ - QUrl //static - lastfm::UrlBuilder::localize( QUrl url) - { -- url.setHost( url.host().replace( QRegExp("^(www.)?last.fm"), host() ) ); -+#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 ) -+ url.setPath( url.path().prepend( localePath() ), QUrl::DecodedMode ); -+#else -+ url.setPath( url.path().prepend( localePath() ) ); -+#endif - return url; - } - -@@ -135,7 +136,6 @@ lastfm::UrlBuilder::localize( QUrl url) - QUrl //static - lastfm::UrlBuilder::mobilize( QUrl url ) - { -- url.setHost( url.host().replace( QRegExp("^(www.)?last"), "m.last" ) ); - return url; - } - diff --git a/audio/liblastfm-qt5/files/patch-src_UrlBuilder.h b/audio/liblastfm-qt5/files/patch-src_UrlBuilder.h deleted file mode 100644 index 06ed8a3b666e..000000000000 --- a/audio/liblastfm-qt5/files/patch-src_UrlBuilder.h +++ /dev/null @@ -1,33 +0,0 @@ -Add prototype for localePath() and adjust comments to reflect current -website layout - ---- src/UrlBuilder.h.orig 2015-02-06 16:49:40 UTC -+++ src/UrlBuilder.h -@@ -44,10 +44,12 @@ namespace lastfm - - QUrl url() const; - -- /** www.last.fm becomes the local version, eg www.lastfm.de */ -+ /** www.last.fm becomes the local version, e.g. www.last.fm/de */ - static QUrl localize( QUrl ); -- /** www.last.fm becomes m.last.fm, localisation is preserved */ -- static QUrl mobilize( QUrl ); -+ -+ /** DEPRECATED: Returns url as-is since the mobile website redirects -+ * to the main website */ -+ Q_DECL_DEPRECATED static QUrl mobilize( QUrl ); - - /** Use this to URL encode any database item (artist, track, album). It - * internally calls UrlEncodeSpecialChars to double encode some special -@@ -60,7 +62,10 @@ namespace lastfm - */ - static QByteArray encode( QString ); - -- /** returns eg. www.lastfm.de */ -+ /** returns the base path of the localized website e.g. /de */ -+ static QString localePath ( const QLocale& = QLocale() ); -+ -+ /** returns www.last.fm */ - static QString host( const QLocale& = QLocale() ); - - /** return true if url is a last.fm url */ diff --git a/audio/liblastfm-qt5/files/patch-tests_TestUrlBuilder.h b/audio/liblastfm-qt5/files/patch-tests_TestUrlBuilder.h deleted file mode 100644 index 65807f92c783..000000000000 --- a/audio/liblastfm-qt5/files/patch-tests_TestUrlBuilder.h +++ /dev/null @@ -1,13 +0,0 @@ -http://www.last.fm 301 redirects to https://www.last.fm causing test to fail - ---- tests/TestUrlBuilder.h.orig 2018-03-31 12:04:00 UTC -+++ tests/TestUrlBuilder.h -@@ -81,7 +81,7 @@ private slots: - - void test404() /** @author */ - { -- QCOMPARE( getResponseCode( QUrl("http://www.last.fm/404") ), 404 ); -+ QCOMPARE( getResponseCode( QUrl("https://www.last.fm/404") ), 404 ); - } - }; - diff --git a/audio/liblastfm-qt5/pkg-plist b/audio/liblastfm-qt5/pkg-plist deleted file mode 100644 index 54eab15cee05..000000000000 --- a/audio/liblastfm-qt5/pkg-plist +++ /dev/null @@ -1,36 +0,0 @@ -include/lastfm%%QTVER_SUFFIX%%/AbstractType.h -include/lastfm%%QTVER_SUFFIX%%/Album.h -include/lastfm%%QTVER_SUFFIX%%/Artist.h -include/lastfm%%QTVER_SUFFIX%%/Audioscrobbler.h -include/lastfm%%QTVER_SUFFIX%%/Auth.h -include/lastfm%%QTVER_SUFFIX%%/Chart.h -%%FINGERPRINT%%include/lastfm%%QTVER_SUFFIX%%/Fingerprint.h -include/lastfm%%QTVER_SUFFIX%%/FingerprintId.h -%%FINGERPRINT%%include/lastfm%%QTVER_SUFFIX%%/FingerprintableSource.h -include/lastfm%%QTVER_SUFFIX%%/InternetConnectionMonitor.h -include/lastfm%%QTVER_SUFFIX%%/Library.h -include/lastfm%%QTVER_SUFFIX%%/Mbid.h -include/lastfm%%QTVER_SUFFIX%%/NetworkAccessManager.h -include/lastfm%%QTVER_SUFFIX%%/NetworkConnectionMonitor.h -include/lastfm%%QTVER_SUFFIX%%/Playlist.h -include/lastfm%%QTVER_SUFFIX%%/RadioStation.h -include/lastfm%%QTVER_SUFFIX%%/RadioTuner.h -include/lastfm%%QTVER_SUFFIX%%/ScrobbleCache.h -include/lastfm%%QTVER_SUFFIX%%/ScrobblePoint.h -include/lastfm%%QTVER_SUFFIX%%/Tag.h -include/lastfm%%QTVER_SUFFIX%%/Tasteometer.h -include/lastfm%%QTVER_SUFFIX%%/Track.h -include/lastfm%%QTVER_SUFFIX%%/Url.h -include/lastfm%%QTVER_SUFFIX%%/UrlBuilder.h -include/lastfm%%QTVER_SUFFIX%%/User.h -include/lastfm%%QTVER_SUFFIX%%/XmlQuery.h -include/lastfm%%QTVER_SUFFIX%%/Xspf.h -include/lastfm%%QTVER_SUFFIX%%/global.h -include/lastfm%%QTVER_SUFFIX%%/misc.h -include/lastfm%%QTVER_SUFFIX%%/ws.h -lib/liblastfm%%QTVER_SUFFIX%%.so -lib/liblastfm%%QTVER_SUFFIX%%.so.1 -lib/liblastfm%%QTVER_SUFFIX%%.so.1.1.0 -%%FINGERPRINT%%lib/liblastfm_fingerprint%%QTVER_SUFFIX%%.so -%%FINGERPRINT%%lib/liblastfm_fingerprint%%QTVER_SUFFIX%%.so.1 -%%FINGERPRINT%%lib/liblastfm_fingerprint%%QTVER_SUFFIX%%.so.1.1.0 diff --git a/audio/liblastfm-qt5/Makefile b/audio/liblastfm/Makefile similarity index 53% rename from audio/liblastfm-qt5/Makefile rename to audio/liblastfm/Makefile index 7430665a75e5..d63885f6dc71 100644 --- a/audio/liblastfm-qt5/Makefile +++ b/audio/liblastfm/Makefile @@ -1,45 +1,35 @@ PORTNAME= liblastfm -DISTVERSION= 1.0.9-5 -DISTVERSIONSUFFIX= -g4433165 -PORTREVISION= 3 +DISTVERSION= 1.1.0-46 +DISTVERSIONSUFFIX= -g2e8e40d CATEGORIES= audio -PKGNAMESUFFIX= -qt5 - -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/ -PATCHFILES+= d51ad3e759331d7d79c6675c5d22541280bf9a70.patch:-p1 #Remove dynamic exception specs +PKGNAMESUFFIX= -qt6 MAINTAINER= jhale@FreeBSD.org COMMENT= Qt C++ library for the Last.fm webservices -WWW= https://github.com/lastfm/liblastfm +WWW= https://github.com/drfiemost/liblastfm LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING -USES= cmake compiler:c++11-lang pkgconfig qt:5 +USES= cmake:testing compiler:c++17-lang pkgconfig qt:6 USE_GITHUB= yes GH_ACCOUNT= lastfm USE_LDCONFIG= yes -USE_QT= core dbus network sql xml \ - buildtools:build qmake:build -CMAKE_OFF= BUILD_WITH_QT4 -QTVER_SUFFIX= 5 +USE_QT= base tools:build -PLIST_SUB= QTVER_SUFFIX="${QTVER_SUFFIX}" +CMAKE_OFF= BUILD_TESTS +CMAKE_TESTING_ON= BUILD_TESTS -OPTIONS_DEFINE= FINGERPRINT TEST +OPTIONS_DEFINE= FINGERPRINT OPTIONS_DEFAULT= FINGERPRINT OPTIONS_SUB= yes FINGERPRINT_DESC= Build the lastfm-fingerprint library +# We only need fftw3.h from math/fftw3; no need to install +FINGERPRINT_BUILD_DEPENDS= ${NONEXISTENT}:math/fftw3:patch FINGERPRINT_LIB_DEPENDS=libsamplerate.so:audio/libsamplerate \ libfftw3f.so:math/fftw3-float FINGERPRINT_CMAKE_BOOL= BUILD_FINGERPRINT -# We only need fftw3.h from math/fftw3; no need to install -FINGERPRINT_BUILD_DEPENDS= ${NONEXISTENT}:math/fftw3:patch FINGERPRINT_CMAKE_ON= -DLIBFFTW3_INCLUDE_DIR:PATH=`${MAKE} -C ${PORTSDIR}/math/fftw3 -VWRKSRC`/api -TEST_USE= QT=testlib:build -TEST_CMAKE_BOOL= BUILD_TESTS -TEST_TEST_TARGET= test - .include diff --git a/audio/liblastfm/distinfo b/audio/liblastfm/distinfo new file mode 100644 index 000000000000..ddab73b6be29 --- /dev/null +++ b/audio/liblastfm/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1738744095 +SHA256 (lastfm-liblastfm-1.1.0-46-g2e8e40d_GH0.tar.gz) = 010cba3baa12513c825f5bbde454da842ff2ec3692a5a0811147c7f128ac1556 +SIZE (lastfm-liblastfm-1.1.0-46-g2e8e40d_GH0.tar.gz) = 119115 diff --git a/audio/liblastfm-qt5/files/patch-CMakeLists.txt b/audio/liblastfm/files/patch-CMakeLists.txt similarity index 61% rename from audio/liblastfm-qt5/files/patch-CMakeLists.txt rename to audio/liblastfm/files/patch-CMakeLists.txt index d783371d4780..a6e3465d2543 100644 --- a/audio/liblastfm-qt5/files/patch-CMakeLists.txt +++ b/audio/liblastfm/files/patch-CMakeLists.txt @@ -1,18 +1,19 @@ +- Avoid needless CMake < 3.10 deprecation warnings - Support symbol visibility with Clang - Don't put linker flags in CXXFLAGS ---- CMakeLists.txt.orig 2014-10-02 14:05:46 UTC +--- CMakeLists.txt.orig 2024-11-24 17:34:23 UTC +++ CMakeLists.txt -@@ -1,4 +1,5 @@ - cmake_minimum_required(VERSION 2.8.6) -+cmake_policy(SET CMP0043 OLD) +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.6) ++cmake_minimum_required(VERSION 3.10) project(liblastfm) - set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) -@@ -62,11 +63,11 @@ else() + # general settings +@@ -68,11 +68,11 @@ endif() + add_feature_info(FFTW3F FFTW3F_FOUND "Required for lastfm-fingerprint library") endif() - -if(CMAKE_COMPILER_IS_GNUCXX) +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_definitions("-fno-operator-names -fvisibility-inlines-hidden -fvisibility=hidden") diff --git a/audio/liblastfm/files/patch-src_UrlBuilder.cpp b/audio/liblastfm/files/patch-src_UrlBuilder.cpp new file mode 100644 index 000000000000..8a5613545865 --- /dev/null +++ b/audio/liblastfm/files/patch-src_UrlBuilder.cpp @@ -0,0 +1,13 @@ +mobilize(): + - Mobile website 301 redirects to main website, so just return the url as-is + +--- src/UrlBuilder.cpp.orig 2024-11-24 17:34:23 UTC ++++ src/UrlBuilder.cpp +@@ -118,7 +118,6 @@ lastfm::UrlBuilder::mobilize( QUrl url ) + QUrl //static + lastfm::UrlBuilder::mobilize( QUrl url ) + { +- url.setHost( url.host().replace( QRegularExpression("^(www.)?last"), "m.last" ) ); + return url; + } + diff --git a/audio/liblastfm/files/patch-src_UrlBuilder.h b/audio/liblastfm/files/patch-src_UrlBuilder.h new file mode 100644 index 000000000000..32fd3cfdd8a6 --- /dev/null +++ b/audio/liblastfm/files/patch-src_UrlBuilder.h @@ -0,0 +1,16 @@ +Mark mobilize() as deprecated. It doesn't do anything useful. + +--- src/UrlBuilder.h.orig 2024-11-24 17:34:23 UTC ++++ src/UrlBuilder.h +@@ -46,8 +46,9 @@ namespace lastfm + + /** www.last.fm becomes the local version, eg www.lastfm.de */ + static QUrl localize( QUrl ); +- /** www.last.fm becomes m.last.fm, localisation is preserved */ +- static QUrl mobilize( QUrl ); ++ /** DEPRECATED: Returns url as-is since the mobile website 301 ++ * redirects to the main website */ ++ Q_DECL_DEPRECATED static QUrl mobilize( QUrl ); + + /** Use this to URL encode any database item (artist, track, album). It + * internally calls UrlEncodeSpecialChars to double encode some special diff --git a/audio/liblastfm/files/patch-src_fingerprint_CMakeLists.txt b/audio/liblastfm/files/patch-src_fingerprint_CMakeLists.txt new file mode 100644 index 000000000000..f03c45e33de1 --- /dev/null +++ b/audio/liblastfm/files/patch-src_fingerprint_CMakeLists.txt @@ -0,0 +1,10 @@ +Include fftw3.h from math/fftw3. LIBFFTW3_INCLUDE_DIR is set in the port +Makefile. + +--- src/fingerprint/CMakeLists.txt.orig 2024-11-24 17:34:23 UTC ++++ src/fingerprint/CMakeLists.txt +@@ -1,3 +1,4 @@ ++include_directories(${LIBFFTW3_INCLUDE_DIR}) + include_directories(${CMAKE_CURRENT_LIST_DIR}/..) + include_directories(${CMAKE_CURRENT_BINARY_DIR}/..) + diff --git a/audio/liblastfm-qt5/files/patch-src_mbid__mp3.c b/audio/liblastfm/files/patch-src_mbid__mp3.c similarity index 100% rename from audio/liblastfm-qt5/files/patch-src_mbid__mp3.c rename to audio/liblastfm/files/patch-src_mbid__mp3.c diff --git a/audio/liblastfm-qt5/pkg-descr b/audio/liblastfm/pkg-descr similarity index 100% rename from audio/liblastfm-qt5/pkg-descr rename to audio/liblastfm/pkg-descr diff --git a/audio/liblastfm/pkg-plist b/audio/liblastfm/pkg-plist new file mode 100644 index 000000000000..a2ad05d1f663 --- /dev/null +++ b/audio/liblastfm/pkg-plist @@ -0,0 +1,40 @@ +include/lastfm6/AbstractType.h +include/lastfm6/Album.h +include/lastfm6/Artist.h +include/lastfm6/Audioscrobbler.h +include/lastfm6/Auth.h +include/lastfm6/Chart.h +%%FINGERPRINT%%include/lastfm6/Fingerprint.h +include/lastfm6/FingerprintId.h +%%FINGERPRINT%%include/lastfm6/FingerprintableSource.h +include/lastfm6/InternetConnectionMonitor.h +include/lastfm6/Library.h +include/lastfm6/Mbid.h +include/lastfm6/NetworkAccessManager.h +include/lastfm6/NetworkConnectionMonitor.h +include/lastfm6/Playlist.h +include/lastfm6/RadioStation.h +include/lastfm6/RadioTuner.h +include/lastfm6/ScrobbleCache.h +include/lastfm6/ScrobblePoint.h +include/lastfm6/Tag.h +include/lastfm6/Tasteometer.h +include/lastfm6/Track.h +include/lastfm6/Url.h +include/lastfm6/UrlBuilder.h +include/lastfm6/User.h +include/lastfm6/XmlQuery.h +include/lastfm6/Xspf.h +include/lastfm6/global.h +include/lastfm6/misc.h +include/lastfm6/ws.h +lib/cmake/lastfm6/lastfm6Config-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/lastfm6/lastfm6Config.cmake +%%FINGERPRINT%%lib/cmake/lastfm6/lastfm_fingerprint6Config-%%CMAKE_BUILD_TYPE%%.cmake +%%FINGERPRINT%%lib/cmake/lastfm6/lastfm_fingerprint6Config.cmake +lib/liblastfm6.so +lib/liblastfm6.so.1 +lib/liblastfm6.so.1.1.0 +%%FINGERPRINT%%lib/liblastfm_fingerprint6.so +%%FINGERPRINT%%lib/liblastfm_fingerprint6.so.1 +%%FINGERPRINT%%lib/liblastfm_fingerprint6.so.1.1.0