diff --git a/packages/id3ted/build.sh b/disabled-packages/id3ted/build.sh similarity index 100% rename from packages/id3ted/build.sh rename to disabled-packages/id3ted/build.sh diff --git a/packages/id3ted/id3ted-1.0-fix-oob.patch b/disabled-packages/id3ted/id3ted-1.0-fix-oob.patch similarity index 100% rename from packages/id3ted/id3ted-1.0-fix-oob.patch rename to disabled-packages/id3ted/id3ted-1.0-fix-oob.patch diff --git a/packages/music-file-organizer/build.sh b/packages/music-file-organizer/build.sh index a41db575e0449f0..5567f2c92c3b92e 100644 --- a/packages/music-file-organizer/build.sh +++ b/packages/music-file-organizer/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Organizer of audio files into directories based on metad TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=1.0.4 -TERMUX_PKG_REVISION=6 +TERMUX_PKG_REVISION=7 TERMUX_PKG_SRCURL=https://git.zx2c4.com/music-file-organizer/snapshot/music-file-organizer-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_SHA256=9e3e2df24c5293e14c40d85fb480f5d52c0dc9afac845280a356c2fb6531e43e TERMUX_PKG_BUILD_IN_SRC=true diff --git a/packages/navidrome/build.sh b/packages/navidrome/build.sh index e5d192b8b8101e7..21e99b0c3380c2b 100644 --- a/packages/navidrome/build.sh +++ b/packages/navidrome/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.navidrome.org/ TERMUX_PKG_DESCRIPTION="๐ŸŽงโ˜๏ธ Modern Music Server and Streamer compatible with Subsonic/Airsonic" TERMUX_PKG_LICENSE="GPL-3.0" TERMUX_PKG_MAINTAINER="2096779623 " -TERMUX_PKG_VERSION="0.54.5" +TERMUX_PKG_VERSION="0.55.1" TERMUX_PKG_SRCURL=https://github.com/navidrome/navidrome/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=38d20258b418a33ffbb8b36db9a82c4efc49edf434de4f4e36e2ec7d01010f77 +TERMUX_PKG_SHA256=721d4509c620aa9094118260a348ea7e58d2a3e9de06a82390c5f0d88b01659e TERMUX_PKG_DEPENDS="taglib, ffmpeg" TERMUX_PKG_BUILD_IN_SRC=true TERMUX_PKG_AUTO_UPDATE=true diff --git a/packages/ncmpcpp/build.sh b/packages/ncmpcpp/build.sh index 18b9e3e2a6fb36d..6bbbcd221710ee7 100644 --- a/packages/ncmpcpp/build.sh +++ b/packages/ncmpcpp/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="NCurses Music Player Client (Plus Plus)" TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION="0.10.1" -TERMUX_PKG_REVISION=4 +TERMUX_PKG_REVISION=5 TERMUX_PKG_SRCURL=https://github.com/ncmpcpp/ncmpcpp/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=ddc89da86595d272282ae8726cc7913867b9517eec6e765e66e6da860b58e2f9 TERMUX_PKG_DEPENDS="boost, fftw, libandroid-support, libc++, libcurl, libicu, libmpdclient, ncurses, readline, taglib" diff --git a/packages/rsgain/build.sh b/packages/rsgain/build.sh index 4f3ee5134331726..8ca24ccb16c7390 100644 --- a/packages/rsgain/build.sh +++ b/packages/rsgain/build.sh @@ -3,6 +3,7 @@ TERMUX_PKG_DESCRIPTION="A simple audio normalizazion utility" TERMUX_PKG_LICENSE="BSD 2-Clause" TERMUX_PKG_MAINTAINER="Joshua Kahn @TomJo2000" TERMUX_PKG_VERSION="3.6" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://github.com/complexlogic/rsgain/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=26f7acd1ba0851929dc756c93b3b1a6d66d7f2f36b31f744c8181f14d7b5c8a7 TERMUX_PKG_DEPENDS='taglib, libc++, libinih, libebur128, ffmpeg' diff --git a/packages/taglib/bindings-c-taglib_c.pc.cmake.patch b/packages/taglib/bindings-c-taglib_c.pc.cmake.patch index cadea691cf2e851..4799ef0c41e0795 100644 --- a/packages/taglib/bindings-c-taglib_c.pc.cmake.patch +++ b/packages/taglib/bindings-c-taglib_c.pc.cmake.patch @@ -3,8 +3,8 @@ @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} --libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ +-libdir=@CMAKE_PC_LIBDIR@ +libdir=@CMAKE_INSTALL_LIBDIR@ - includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + includedir=@CMAKE_PC_INCLUDEDIR@ Name: TagLib C Bindings diff --git a/packages/taglib/build.sh b/packages/taglib/build.sh index 5599cd75a4173a9..1ee4c951937ea68 100644 --- a/packages/taglib/build.sh +++ b/packages/taglib/build.sh @@ -4,11 +4,10 @@ TERMUX_PKG_DESCRIPTION="A Library for reading and editing the meta-data of sever TERMUX_PKG_LICENSE="custom" TERMUX_PKG_LICENSE_FILE="COPYING.LGPL, COPYING.MPL" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=1.13.1 -TERMUX_PKG_REVISION=2 +TERMUX_PKG_VERSION=2.0.2 TERMUX_PKG_SRCURL=https://github.com/taglib/taglib/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b -TERMUX_PKG_DEPENDS="libc++, zlib" +TERMUX_PKG_SHA256=0de288d7fe34ba133199fd8512f19cc1100196826eafcb67a33b224ec3a59737 +TERMUX_PKG_DEPENDS="libc++, zlib, utf8cpp" TERMUX_PKG_BUILD_DEPENDS="boost, boost-headers" TERMUX_PKG_BREAKS="taglib-dev" TERMUX_PKG_REPLACES="taglib-dev" @@ -17,4 +16,5 @@ TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="bin/taglib-config" TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -DBUILD_SHARED_LIBS=ON -DWITH_MP4=ON --DWITH_ASF=ON" +-DWITH_ASF=ON +-DWITH_DSF=ON" diff --git a/packages/taglib/taglib-tag.h.patch b/packages/taglib/taglib-tag.h.patch new file mode 100644 index 000000000000000..c082ce7acac54c6 --- /dev/null +++ b/packages/taglib/taglib-tag.h.patch @@ -0,0 +1,18 @@ +diff -uNr taglib-2.0.2/taglib/tag.h taglib-2.0.2.mod/taglib/tag.h +--- taglib-2.0.2/taglib/tag.h 2024-08-24 12:40:41.000000000 +0800 ++++ taglib-2.0.2.mod/taglib/tag.h 2025-03-30 13:49:20.413344035 +0800 +@@ -32,7 +32,13 @@ + #include "tvariant.h" + + namespace TagLib { +- ++ using wchar = wchar_t; ++ using uchar = unsigned char; ++ using ushort = unsigned short; ++ using uint = unsigned int; ++ using ulong = unsigned long; ++ using ulonglong = unsigned long long; ++ using wstring = std::wstring; + class PropertyMap; + + //! A simple, generic interface to common audio metadata fields. diff --git a/packages/taglib/taglib.pc.cmake.patch b/packages/taglib/taglib.pc.cmake.patch index db344e7e5eee688..244a2ccb3220a04 100644 --- a/packages/taglib/taglib.pc.cmake.patch +++ b/packages/taglib/taglib.pc.cmake.patch @@ -3,8 +3,8 @@ @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} --libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ +-libdir=@CMAKE_PC_LIBDIR@ +libdir=@CMAKE_INSTALL_LIBDIR@ - includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + includedir=@CMAKE_PC_INCLUDEDIR@ Name: TagLib diff --git a/packages/tizonia/build.sh b/packages/tizonia/build.sh index 0f701d8651362c5..a19254027ef4918 100644 --- a/packages/tizonia/build.sh +++ b/packages/tizonia/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A command-line streaming music client/server for Linux" TERMUX_PKG_LICENSE="LGPL-3.0" TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_VERSION=0.22.0 -TERMUX_PKG_REVISION=17 +TERMUX_PKG_REVISION=18 TERMUX_PKG_SRCURL=https://github.com/tizonia/tizonia-openmax-il/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=0750cae23ed600fb4b4699a392f43a5e03dcd0870383d64da4b8c28ea94a82f8 TERMUX_PKG_DEPENDS="boost, dbus, libandroid-wordexp, libc++, libcurl, libflac, liblog4c, libmad, libmediainfo, libmp3lame, liboggz, libopus, libsndfile, libsqlite, libuuid, libvpx, mpg123, opusfile, pulseaudio, python, taglib" diff --git a/packages/tizonia/player-src-services-chromecast-tizchromecastgraphops.cpp.patch b/packages/tizonia/player-src-services-chromecast-tizchromecastgraphops.cpp.patch new file mode 100644 index 000000000000000..c4b504000358d92 --- /dev/null +++ b/packages/tizonia/player-src-services-chromecast-tizchromecastgraphops.cpp.patch @@ -0,0 +1,12 @@ +diff -uNr tizonia-openmax-il-0.22.0/player/src/services/chromecast/tizchromecastgraphops.cpp tizonia-openmax-il-0.22.0.mod/player/src/services/chromecast/tizchromecastgraphops.cpp +--- tizonia-openmax-il-0.22.0/player/src/services/chromecast/tizchromecastgraphops.cpp 2020-05-23 06:33:08.000000000 +0800 ++++ tizonia-openmax-il-0.22.0.mod/player/src/services/chromecast/tizchromecastgraphops.cpp 2025-03-30 14:17:49.985343383 +0800 +@@ -30,7 +30,7 @@ + #endif + + #include +- ++#include + #include + + #include diff --git a/packages/vlc/3.0.2.1-taglib.patch b/packages/vlc/3.0.2.1-taglib.patch new file mode 100644 index 000000000000000..f36f6ea1965a7e4 --- /dev/null +++ b/packages/vlc/3.0.2.1-taglib.patch @@ -0,0 +1,184 @@ +diff -uNr vlc-3.0.21/modules/meta_engine/taglib.cpp vlc-3.0.21.mod/modules/meta_engine/taglib.cpp +--- vlc-3.0.21/contrib/src/taglib/SHA512SUMS 2024-06-05 23:56:07.000000000 +0800 ++++ vlc-3.0.21.mod/contrib/src/taglib/SHA512SUMS 2025-04-03 15:53:34.164993496 +0800 +@@ -1 +1 @@ +-7e369faa5e3c6c6401052b7a19e35b0cf8c1e5ed9597053ac731a7718791d5d4803d1b18a93e903ec8c3fc6cb92e34d9616daa2ae4d326965d4c4d5624dcdaba taglib-1.12.tar.gz ++79f333dbe8ed44076010e33803e3418410516df4b70203962bbefea81ce0a6989a54a9791022488e64f1876573580cbe93920da4b2a7277d6a3f48c946e518fc taglib-2.0.2.tar.gz +diff -uNr vlc-3.0.21/contrib/src/taglib/rules.mak vlc-3.0.21.mod/contrib/src/taglib/rules.mak +--- vlc-3.0.21/contrib/src/taglib/rules.mak 2024-06-05 23:56:07.000000000 +0800 ++++ vlc-3.0.21.mod/contrib/src/taglib/rules.mak 2025-04-03 15:52:03.612993530 +0800 +@@ -1,6 +1,6 @@ + # TagLib + +-TAGLIB_VERSION := 1.12 ++TAGLIB_VERSION := 2.0.2 + TAGLIB_URL := https://taglib.org/releases/taglib-$(TAGLIB_VERSION).tar.gz + + PKGS += taglib +--- vlc-3.0.21/modules/meta_engine/taglib.cpp 2024-06-05 23:56:07.000000000 +0800 ++++ vlc-3.0.21.mod/modules/meta_engine/taglib.cpp 2025-04-03 14:33:19.304995333 +0800 +@@ -125,7 +125,11 @@ + template + File *VLCTagLib::ExtResolver::createFile(FileName fileName, bool, AudioProperties::ReadStyle) const + { ++#if defined(_WIN32) && TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ std::string filename = fileName.toString().to8Bit(true); ++#else + std::string filename = std::string(fileName); ++#endif + std::size_t namesize = filename.size(); + + if (namesize > ext.length()) +@@ -180,12 +184,16 @@ + return m_stream->psz_location; + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ ByteVector readBlock(size_t length) ++#else + ByteVector readBlock(ulong length) ++#endif + { + ByteVector res(length, 0); + ssize_t i_read = vlc_stream_Read( m_stream, res.data(), length); + if (i_read < 0) +- return ByteVector::null; ++ return {}; + else if ((size_t)i_read != length) + res.resize(i_read); + return res; +@@ -196,11 +204,19 @@ + // Let's stay Read-Only for now + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ void insert(const ByteVector&, offset_t, size_t) ++#else + void insert(const ByteVector&, ulong, ulong) ++#endif + { + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ void removeBlock(offset_t, size_t) ++#else + void removeBlock(ulong, ulong) ++#endif + { + } + +@@ -214,7 +230,11 @@ + return true; + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ void seek(offset_t offset, Position p) ++#else + void seek(long offset, Position p) ++#endif + { + uint64_t pos = 0; + switch (p) +@@ -237,12 +257,20 @@ + return; + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ offset_t tell() const ++#else + long tell() const ++#endif + { + return m_previousPos; + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ offset_t length() ++#else + long length() ++#endif + { + uint64_t i_size; + if (vlc_stream_GetSize( m_stream, &i_size ) != VLC_SUCCESS) +@@ -250,7 +278,11 @@ + return i_size; + } + ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ void truncate(offset_t) ++#else + void truncate(long) ++#endif + { + } + +@@ -465,7 +465,7 @@ + static void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest) + { + #define SET( accessor, meta ) \ +- if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \ ++ if( !tag->accessor().isEmpty() ) \ + vlc_meta_Set##meta( dest, tag->accessor().toCString(true) ) + #define SETINT( accessor, meta ) \ + if( tag->accessor() ) +@@ -806,36 +806,35 @@ + { + MP4::Item list; + #define SET( keyName, metaName ) \ +- if( tag->itemListMap().contains(keyName) ) \ ++ if( tag->contains(keyName) ) \ + { \ +- list = tag->itemListMap()[keyName]; \ ++ list = tag->item(keyName); \ + vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \ + } + #define SET_EXTRA( keyName, metaName ) \ +- if( tag->itemListMap().contains(keyName) ) \ +- { \ +- list = tag->itemListMap()[keyName]; \ +- vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \ ++ if( tag->contains(keyName) ) \ ++ { \ ++ list = tag->item(keyName); \ ++ vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \ + } +- + SET("----:com.apple.iTunes:MusicBrainz Track Id", TrackID ); + SET_EXTRA("----:com.apple.iTunes:MusicBrainz Album Id", VLC_META_EXTRA_MB_ALBUMID ); + + #undef SET + #undef SET_EXTRA + +- if( tag->itemListMap().contains("covr") ) ++ if( tag->contains("covr") ) + { +- MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList(); +- const char *psz_format = list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg"; ++ MP4::CoverArtList cover_list = tag->item("covr").toCoverArtList(); ++ const char *psz_format = cover_list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg"; + + msg_Dbg( p_demux_meta, "Found embedded art (%s) is %i bytes", +- psz_format, list[0].data().size() ); ++ psz_format, cover_list[0].data().size() ); + + input_attachment_t *p_attachment = + vlc_input_attachment_New( "cover", psz_format, "cover", +- list[0].data().data(), list[0].data().size() ); +- if( p_attachment ) ++ cover_list[0].data().data(), cover_list[0].data().size() ); ++ if( p_attachment ) + { + TAB_APPEND_CAST( (input_attachment_t**), + p_demux_meta->i_attachments, p_demux_meta->attachments, +@@ -1337,7 +1369,11 @@ + if( RIFF::AIFF::File* riff_aiff = dynamic_cast(f.file()) ) + WriteMetaToId3v2( riff_aiff->tag(), p_item ); + else if( RIFF::WAV::File* riff_wav = dynamic_cast(f.file()) ) ++#if TAGLIB_VERSION >= VERSION_INT(2, 0, 0) ++ WriteMetaToId3v2( riff_wav->ID3v2Tag(), p_item ); ++#else + WriteMetaToId3v2( riff_wav->tag(), p_item ); ++#endif + } + else if( TrueAudio::File* trueaudio = dynamic_cast(f.file()) ) + {