diff options
Diffstat (limited to 'audio/liblastfm')
-rw-r--r-- | audio/liblastfm/Makefile | 35 | ||||
-rw-r--r-- | audio/liblastfm/distinfo | 3 | ||||
-rw-r--r-- | audio/liblastfm/files/patch-CMakeLists.txt | 26 | ||||
-rw-r--r-- | audio/liblastfm/files/patch-src_UrlBuilder.cpp | 13 | ||||
-rw-r--r-- | audio/liblastfm/files/patch-src_UrlBuilder.h | 16 | ||||
-rw-r--r-- | audio/liblastfm/files/patch-src_fingerprint_CMakeLists.txt | 10 | ||||
-rw-r--r-- | audio/liblastfm/files/patch-src_mbid__mp3.c | 15 | ||||
-rw-r--r-- | audio/liblastfm/pkg-descr | 3 | ||||
-rw-r--r-- | audio/liblastfm/pkg-plist | 40 |
9 files changed, 161 insertions, 0 deletions
diff --git a/audio/liblastfm/Makefile b/audio/liblastfm/Makefile new file mode 100644 index 000000000000..d63885f6dc71 --- /dev/null +++ b/audio/liblastfm/Makefile @@ -0,0 +1,35 @@ +PORTNAME= liblastfm +DISTVERSION= 1.1.0-46 +DISTVERSIONSUFFIX= -g2e8e40d +CATEGORIES= audio +PKGNAMESUFFIX= -qt6 + +MAINTAINER= jhale@FreeBSD.org +COMMENT= Qt C++ library for the Last.fm webservices +WWW= https://github.com/drfiemost/liblastfm + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/COPYING + +USES= cmake:testing compiler:c++17-lang pkgconfig qt:6 +USE_GITHUB= yes +GH_ACCOUNT= lastfm +USE_LDCONFIG= yes +USE_QT= base tools:build + +CMAKE_OFF= BUILD_TESTS +CMAKE_TESTING_ON= BUILD_TESTS + +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 +FINGERPRINT_CMAKE_ON= -DLIBFFTW3_INCLUDE_DIR:PATH=`${MAKE} -C ${PORTSDIR}/math/fftw3 -VWRKSRC`/api + +.include <bsd.port.mk> 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/files/patch-CMakeLists.txt b/audio/liblastfm/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..a6e3465d2543 --- /dev/null +++ b/audio/liblastfm/files/patch-CMakeLists.txt @@ -0,0 +1,26 @@ +- Avoid needless CMake < 3.10 deprecation warnings +- Support symbol visibility with Clang +- Don't put linker flags in CXXFLAGS + +--- CMakeLists.txt.orig 2024-11-24 17:34:23 UTC ++++ CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.6) ++cmake_minimum_required(VERSION 3.10) + project(liblastfm) + + # 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") + endif() + if(UNIX AND NOT APPLE) +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined") ++set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") + endif() + + if(MSVC) 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/files/patch-src_mbid__mp3.c b/audio/liblastfm/files/patch-src_mbid__mp3.c new file mode 100644 index 000000000000..a56a6974f2cb --- /dev/null +++ b/audio/liblastfm/files/patch-src_mbid__mp3.c @@ -0,0 +1,15 @@ +Silence warning +warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses] + if (!strncmp(head,"ID3",3) == 0) { + +--- src/mbid_mp3.c.orig 2014-10-02 14:05:46 UTC ++++ src/mbid_mp3.c +@@ -94,7 +94,7 @@ int getMP3_MBID(const char *path, char mbid[MBID_BUFFE + + while (s) { + mfile(3,head,fp,&s); +- if (!strncmp(head,"ID3",3) == 0) { ++ if (!(strncmp(head,"ID3",3) == 0)) { + //debug("No ID3v2 tag found: %s\n",path); + break; + } diff --git a/audio/liblastfm/pkg-descr b/audio/liblastfm/pkg-descr new file mode 100644 index 000000000000..f5ad8905c0a5 --- /dev/null +++ b/audio/liblastfm/pkg-descr @@ -0,0 +1,3 @@ +liblastfm is a collection of libraries to help you integrate Last.fm services +into your rich desktop software. It is officially supported software developed +by Last.fm staff. 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 |