On 2019/08/21 17:59, Charlene Wendling wrote: > ping. the bump in clementine isn't needed (it's a LIB_DEPENDS not a RUN_DEPENDS in that case, so the library version bump will already trigger an update), but doesn't hurt.
rest looks good, OK with me. > On Wed, 14 Aug 2019 15:02:54 +0200 > Charlene Wendling wrote: > > > Hi, > > > > Here is an update for chromaprint that fixes build issues on ppc/arm. > > > > Upstream didn't pin a 1.4.4 release [1], but this is what you get with > > that diff. > > > > What's new upstream (see [0]): > > > > - move to github > > - C++11 is required, chromaprint doesn't use boost anymore > > - use newer ffmpeg api > > > > What's new in the port: > > > > - reorder the Makefile according to Makefile.template. It doesn't > > impact a lot the diff readability given the amount of changes. > > - major bump SHARED_LIBS. check_sym reports deletions. > > - s/sed/SUBST_CMD > > - remove hardcoded path when finding gtest, it also required to add > > linking instructions for cmake to allow the use of devel/gtest > > - add "1.4.4" fixes that make test endian neutral > > > > Testing (macppc/amd64): > > > > - 'make test' passes with all tests enabled > > - All consumers build and run without issue. Clementine auto-tagging > > doesn't work with chromaprint-1.1 as well. > > > > > > Comments/feedback are welcome :) > > > > Charlène. > > > > > > [0] > > https://github.com/acoustid/chromaprint/blob/master/NEWS.txt > > [1] https://github.com/acoustid/chromaprint/issues/59 > > > Index: chromaprint/Makefile > =================================================================== > RCS file: /cvs/ports/audio/chromaprint/Makefile,v > retrieving revision 1.12 > diff -u -p -r1.12 Makefile > --- chromaprint/Makefile 12 Jul 2019 20:43:32 -0000 1.12 > +++ chromaprint/Makefile 13 Aug 2019 21:18:50 -0000 > @@ -2,37 +2,39 @@ > > COMMENT = audio fingerprint extraction library > > -DISTNAME = chromaprint-1.1 > +GH_ACCOUNT = acoustid > +GH_PROJECT = chromaprint > +GH_TAGNAME = v1.4.3 > + > +SHARED_LIBS = chromaprint 2.0 # 1.4.3 > + > CATEGORIES = audio devel > -HOMEPAGE = https://acoustid.org/chromaprint > -MASTER_SITES = > https://bitbucket.org/acoustid/chromaprint/downloads/ > -REVISION = 3 > > -SHARED_LIBS = chromaprint 1.0 # 0.1 > +HOMEPAGE = https://acoustid.org/chromaprint > > -# LGPL2.1+ > +# MIT with LGPL2.1+ parts > PERMIT_PACKAGE = Yes > > -WANTLIB += avcodec avformat avutil c m pthread ${COMPILER_LIBCXX} swresample > +WANTLIB += ${COMPILER_LIBCXX} avcodec avformat avutil c m swresample > > -COMPILER = base-clang ports-gcc base-gcc > +# C++11 > +COMPILER = base-clang ports-gcc > > MODULES = devel/cmake > > -BUILD_DEPENDS = audio/taglib \ > - devel/boost > +BUILD_DEPENDS = audio/taglib > +# gtest presence is checked in configure stage, so this cannot be > +# in TEST_DEPENDS > +BUILD_DEPENDS += devel/gtest > > LIB_DEPENDS = graphics/ffmpeg > > -# gtest presence is checked in configure stage, so this cannot be in > TEST_DEPENDS > -BUILD_DEPENDS += devel/gtest > -CONFIGURE_ARGS = -DBUILD_TESTS:Bool=Yes -DBUILD_EXAMPLES=ON > +CONFIGURE_ARGS = -DBUILD_TOOLS=ON \ > + -DBUILD_TESTS=ON > > -post-patch: > - sed -i 's,/usr/local,${LOCALBASE},' \ > - ${WRKSRC}/cmake/modules/FindGTest.cmake > +TEST_TARGET = check > > -do-test: > - cd ${WRKBUILD}/tests && ./all_tests > +pre-configure: > + ${SUBST_CMD} ${WRKSRC}/cmake/modules/FindGTest.cmake > > .include <bsd.port.mk> > Index: chromaprint/distinfo > =================================================================== > RCS file: /cvs/ports/audio/chromaprint/distinfo,v > retrieving revision 1.2 > diff -u -p -r1.2 distinfo > --- chromaprint/distinfo 9 May 2014 09:00:19 -0000 1.2 > +++ chromaprint/distinfo 13 Aug 2019 21:18:50 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (chromaprint-1.1.tar.gz) = > axTX6klkWBtzvT+AOMiFfAHkRkIcGumcu/ZN4mtHzRI= > -SIZE (chromaprint-1.1.tar.gz) = 542360 > +SHA256 (chromaprint-1.4.3.tar.gz) = > 1K5llig6rXoBWlsERQEgVMY0pLkynssjAAzTVLQKKDs= > +SIZE (chromaprint-1.4.3.tar.gz) = 613718 > Index: chromaprint/patches/patch-cmake_modules_FindGTest_cmake > =================================================================== > RCS file: > /cvs/ports/audio/chromaprint/patches/patch-cmake_modules_FindGTest_cmake,v > retrieving revision 1.1 > diff -u -p -r1.1 patch-cmake_modules_FindGTest_cmake > --- chromaprint/patches/patch-cmake_modules_FindGTest_cmake 9 May 2014 > 09:00:19 -0000 1.1 > +++ chromaprint/patches/patch-cmake_modules_FindGTest_cmake 13 Aug 2019 > 21:18:50 -0000 > @@ -1,6 +1,10 @@ > $OpenBSD: patch-cmake_modules_FindGTest_cmake,v 1.1 2014/05/09 09:00:19 > sthen Exp $ > ---- cmake/modules/FindGTest.cmake.orig Sat Nov 23 16:43:42 2013 > -+++ cmake/modules/FindGTest.cmake Wed May 7 16:29:15 2014 > + > +Find gtest from devel/gtest. > + > +Index: cmake/modules/FindGTest.cmake > +--- cmake/modules/FindGTest.cmake.orig > ++++ cmake/modules/FindGTest.cmake > @@ -71,12 +71,24 @@ find_path(GTEST_INCLUDE_DIR > ) > mark_as_advanced(GTEST_INCLUDE_DIR) > @@ -10,7 +14,7 @@ $OpenBSD: patch-cmake_modules_FindGTest_ > + FIND_LIBRARY(${varname} > + NAMES ${shortname} > + PATHS > -+ /usr/local/lib > ++ ${LOCALBASE}/lib > + NO_DEFAULT_PATH > + DOC "Location of GTEST Libraries" > + ) > @@ -22,9 +26,10 @@ $OpenBSD: patch-cmake_modules_FindGTest_ > +find_package_handle_standard_args(GTest DEFAULT_MSG GTEST_INCLUDE_DIR) > > if(GTEST_FOUND) > - set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR}) > +- set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR}) > - set(GTEST_LIBRARIES gtest) > - set(GTEST_MAIN_LIBRARIES gtest_main) > ++ set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR}) > + GTEST_FIND(GTEST_LIBRARIES gtest) > + GTEST_FIND(GTEST_MAIN_LIBRARIES gtest_main) > set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES}) > Index: chromaprint/patches/patch-examples_fpcalc_c > =================================================================== > RCS file: chromaprint/patches/patch-examples_fpcalc_c > diff -N chromaprint/patches/patch-examples_fpcalc_c > --- chromaprint/patches/patch-examples_fpcalc_c 18 Feb 2019 10:05:39 > -0000 1.1 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,34 +0,0 @@ > -$OpenBSD: patch-examples_fpcalc_c,v 1.1 2019/02/18 10:05:39 ajacoutot Exp $ > - > -Update for newer FFmpeg API. > - > -Index: examples/fpcalc.c > ---- examples/fpcalc.c.orig > -+++ examples/fpcalc.c > -@@ -126,7 +126,7 @@ int decode_audio_file(ChromaprintContext *chromaprint_ > - remaining = max_length * codec_ctx->channels * codec_ctx->sample_rate; > - chromaprint_start(chromaprint_ctx, codec_ctx->sample_rate, > codec_ctx->channels); > - > -- frame = avcodec_alloc_frame(); > -+ frame = av_frame_alloc(); > - > - while (1) { > - if (av_read_frame(format_ctx, &packet) < 0) { > -@@ -134,7 +134,7 @@ int decode_audio_file(ChromaprintContext *chromaprint_ > - } > - > - if (packet.stream_index == stream_index) { > -- avcodec_get_frame_defaults(frame); > -+ av_frame_unref(frame); > - > - got_frame = 0; > - consumed = avcodec_decode_audio4(codec_ctx, frame, > &got_frame, &packet); > -@@ -190,7 +190,7 @@ finish: > - > - done: > - if (frame) { > -- avcodec_free_frame(&frame); > -+ av_frame_free(&frame); > - } > - if (dst_data[0]) { > - av_freep(&dst_data[0]); > Index: chromaprint/patches/patch-tests_CMakeLists_txt > =================================================================== > RCS file: /cvs/ports/audio/chromaprint/patches/patch-tests_CMakeLists_txt,v > retrieving revision 1.2 > diff -u -p -r1.2 patch-tests_CMakeLists_txt > --- chromaprint/patches/patch-tests_CMakeLists_txt 13 Aug 2019 18:10:11 > -0000 1.2 > +++ chromaprint/patches/patch-tests_CMakeLists_txt 13 Aug 2019 21:18:50 > -0000 > @@ -1,24 +1,29 @@ > $OpenBSD: patch-tests_CMakeLists_txt,v 1.2 2019/08/13 18:10:11 phessler Exp $ > > -test-bit_string_*.cpp depends on signed char, failing on aarch64 > +Using devel/gtest instead of using a third party one that we > +would need to download and extract. > > Index: tests/CMakeLists.txt > --- tests/CMakeLists.txt.orig > +++ tests/CMakeLists.txt > -@@ -3,7 +3,6 @@ include_directories( > - ${Boost_INCLUDE_DIRS} > - ${CMAKE_CURRENT_SOURCE_DIR}/../src > +@@ -3,11 +3,9 @@ find_package(GTest REQUIRED) > + include_directories( > + ${CMAKE_CURRENT_SOURCE_DIR} > + ${GTEST_INCLUDE_DIRS} > +- ${GTEST_SOURCE_DIR} > ) > --add_subdirectory(${GTEST_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/gtest_build) > > - set(tests_SOURCES > + set(SRCS > +- ${GTEST_SOURCE_DIR}/src/gtest-all.cc > main.cpp > -@@ -15,8 +14,6 @@ set(tests_SOURCES > - test_integral_image.cpp > - test_lloyds.cpp > - test_audio_processor.cpp > -- test_bit_string_reader.cpp > -- test_bit_string_writer.cpp > - test_chromaprint.cpp > - test_chroma.cpp > - test_chroma_filter.cpp > + test_api.cpp > + test_utils.cpp > +@@ -37,6 +35,8 @@ if(BUILD_TOOLS) > + set(SRCS ${SRCS} ../src/audio/ffmpeg_audio_reader_test.cpp) > + link_libraries(fpcalc_libs) > + endif() > ++ > ++link_libraries(gtest) > + > + add_executable(all_tests ${SRCS} $<TARGET_OBJECTS:chromaprint_objs>) > + target_link_libraries(all_tests PRIVATE chromaprint > ${CMAKE_THREAD_LIBS_INIT}) > Index: chromaprint/patches/patch-tests_test_utils_cpp > =================================================================== > RCS file: chromaprint/patches/patch-tests_test_utils_cpp > diff -N chromaprint/patches/patch-tests_test_utils_cpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ chromaprint/patches/patch-tests_test_utils_cpp 13 Aug 2019 21:18:50 > -0000 > @@ -0,0 +1,29 @@ > +$OpenBSD$ > + > +Make tests endian neutral. Can be removed with chromaprint>=1.4.4: > +https://github.com/acoustid/chromaprint/commit/8d5f2ca81db8fae6b59b6b9b8bda91526507dbd1 > + > +Index: tests/test_utils.cpp > +--- tests/test_utils.cpp.orig > ++++ tests/test_utils.cpp > +@@ -2,6 +2,7 @@ > + #include <algorithm> > + #include <limits> > + #include "utils.h" > ++#include "test_utils.h" > + > + using namespace chromaprint; > + > +@@ -91,4 +92,12 @@ TEST(Utils, CountSetBits64) { > + EXPECT_EQ(56, CountSetBits(0xFFFFFFFFFFFFFFU)); > + EXPECT_EQ(64, CountSetBits(0xFFFFFFFFFFFFFFFFU)); > + EXPECT_EQ(8, CountSetBits(0x0101010101010101U)); > ++} > ++ > ++TEST(Utils, LoadAudioFile) { > ++ std::vector<short> data = LoadAudioFile("data/test_mono_44100.raw"); > ++ ASSERT_EQ(data.size(), 176400/2); > ++ EXPECT_EQ(data[1000], 0); > ++ EXPECT_EQ(data[2000], 107); > ++ EXPECT_EQ(data[3000], 128); > + } > Index: chromaprint/patches/patch-tests_test_utils_h > =================================================================== > RCS file: chromaprint/patches/patch-tests_test_utils_h > diff -N chromaprint/patches/patch-tests_test_utils_h > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ chromaprint/patches/patch-tests_test_utils_h 13 Aug 2019 21:18:50 > -0000 > @@ -0,0 +1,29 @@ > +$OpenBSD$ > + > +Make tests endian neutral. Can be removed with chromaprint>=1.4.4: > +https://github.com/acoustid/chromaprint/commit/8d5f2ca81db8fae6b59b6b9b8bda91526507dbd1 > + > +Index: tests/test_utils.h > +--- tests/test_utils.h.orig > ++++ tests/test_utils.h > +@@ -31,11 +31,15 @@ inline std::vector<short> LoadAudioFile(const std::str > + { > + std::string path = TESTS_DIR + file_name; > + std::ifstream file(path.c_str(), std::ifstream::in | > std::ifstream::binary); > +- file.seekg(0, std::ios::end); > +- int length = file.tellg(); > +- file.seekg(0, std::ios::beg); > +- std::vector<short> data(length / 2); > +- file.read((char *)&data[0], length); > ++ uint8_t buf[4096]; > ++ std::vector<int16_t> data; > ++ while (!file.eof()) { > ++ file.read((char *) buf, 4096); > ++ size_t nread = file.gcount(); > ++ for (size_t i = 0; i < nread - 1; i += 2) { > ++ data.push_back((int16_t) (((uint16_t) buf[i+1] << 8) | > ((uint16_t) buf[i]))); > ++ } > ++ } > + file.close(); > + return data; > + } > Index: chromaprint/pkg/DESCR > =================================================================== > RCS file: /cvs/ports/audio/chromaprint/pkg/DESCR,v > retrieving revision 1.2 > diff -u -p -r1.2 DESCR > --- chromaprint/pkg/DESCR 9 May 2014 09:00:19 -0000 1.2 > +++ chromaprint/pkg/DESCR 13 Aug 2019 21:18:50 -0000 > @@ -4,4 +4,4 @@ fingerprints from any audio source. > > Overview of the fingerprint extraction process can be found in the blog > post "How does Chromaprint work?": > -http://oxygene.sk/lukas/2011/01/how-does-chromaprint-work/ > +https://oxygene.sk/lukas/2011/01/how-does-chromaprint-work/ > Index: picard/Makefile > =================================================================== > RCS file: /cvs/ports/audio/picard/Makefile,v > retrieving revision 1.29 > diff -u -p -r1.29 Makefile > --- picard/Makefile 26 Jul 2019 02:54:23 -0000 1.29 > +++ picard/Makefile 13 Aug 2019 21:18:50 -0000 > @@ -4,7 +4,7 @@ COMMENT = automatic audio files tagger u > > MODPY_EGG_VERSION = 2.1.3 > DISTNAME = picard-${MODPY_EGG_VERSION} > -REVISION = 0 > +REVISION = 1 > > CATEGORIES = audio > > Index: py-acoustid/Makefile > =================================================================== > RCS file: /cvs/ports/audio/py-acoustid/Makefile,v > retrieving revision 1.10 > diff -u -p -r1.10 Makefile > --- py-acoustid/Makefile 12 Jul 2019 20:43:39 -0000 1.10 > +++ py-acoustid/Makefile 13 Aug 2019 21:18:50 -0000 > @@ -5,6 +5,7 @@ COMMENT = python bindings for Chromaprin > MODPY_EGG_VERSION = 1.1.6 > DISTNAME = pyacoustid-${MODPY_EGG_VERSION} > PKGNAME = py-acoustid-${MODPY_EGG_VERSION} > +REVISION = 0 > > CATEGORIES = audio > > Index: clementine/Makefile > =================================================================== > RCS file: /cvs/ports/audio/clementine/Makefile,v > retrieving revision 1.40 > diff -u -p -r1.40 Makefile > --- clementine/Makefile 13 Aug 2019 14:50:12 -0000 1.40 > +++ clementine/Makefile 13 Aug 2019 21:18:50 -0000 > @@ -6,7 +6,7 @@ GH_ACCOUNT = clementine-player > GH_PROJECT = Clementine > GH_TAGNAME = 1.2.3 > CATEGORIES = audio x11 > -REVISION = 16 > +REVISION = 17 > > HOMEPAGE = https://clementine-player.org/ > >
