From 0a34c0ed229fe93737f53da210d43cbdf4c306c4 Mon Sep 17 00:00:00 2001 From: Nicolas PARLANT Date: Wed, 26 Feb 2025 09:40:15 +0000 Subject: [PATCH] media-sound/gogglesmm: add 1.2.5, update useflags/deps update HOMEPAGE useflags/deps: * add a52, media-libs/a52dec * add alsa, media-libs/alsa-lib * add dca, media-libs/libdca * add jack, virtual/jack * add libsamplerate, media-libs/libsamplerate. Detection with patch * add sndio, media-sound/sndio * add stream, sys-libs/zlib dev-libs/libgcrypt (forced instead of openssl or gnutls) * add tremor, media-libs/tremor * rm ogg, definition forced (depless) and add libogg for opus, tremor, vorbis * nls, add dep virtual/libintl other deps: * >=x11-libs/fox-1.7.80 Too much patches are needed to preserve compat with stable 1.7.67. Replacing in src/CMakeLists.txt is not enough (and requires also fullpath). * virtual/pkgconfig bdep * x11-base/xorg-proto dep * x11-libs/X11 rdep Closes: https://bugs.gentoo.org/890369 Closes: https://bugs.gentoo.org/947019 Signed-off-by: Nicolas PARLANT Closes: https://github.com/gentoo/gentoo/pull/40770 Signed-off-by: Andreas Sturmlechner --- media-sound/gogglesmm/Manifest | 1 + .../files/gogglesmm-1.2.5-libsamplerate.patch | 64 +++++++++++ media-sound/gogglesmm/gogglesmm-1.2.5.ebuild | 102 ++++++++++++++++++ media-sound/gogglesmm/metadata.xml | 6 ++ 4 files changed, 173 insertions(+) create mode 100644 media-sound/gogglesmm/files/gogglesmm-1.2.5-libsamplerate.patch create mode 100644 media-sound/gogglesmm/gogglesmm-1.2.5.ebuild diff --git a/media-sound/gogglesmm/Manifest b/media-sound/gogglesmm/Manifest index 17dd2788e245b..e85ee3df72769 100644 --- a/media-sound/gogglesmm/Manifest +++ b/media-sound/gogglesmm/Manifest @@ -1 +1,2 @@ DIST gogglesmm-1.2.1.tar.gz 3015072 BLAKE2B 6a33ba6b678bc23e449898e4f492064301ca9c37239d713fa5ccb857d51bb4c4cf5dc1d4576f2f6dc745eaff607f4400e5600f45c4cbdde8c43cee5ca1fc34f4 SHA512 c165ddde463afcf863b74f00dfa1566077007f51617fa00a95dfcdeeab49da9ee87406f6bdc7779c597002d1e587886c7992e9e892ce4988f3bb14f015336547 +DIST gogglesmm-1.2.5.tar.gz 3174015 BLAKE2B d3d47f51d69a911989c17edd77763d43cee3354837b56b166881d34a3d8367feca5a7219922392e3ec2570e8df10ebdc277fdcd527694ccd29c5038a345558f7 SHA512 2e05695ac7e4a776cd7a4fb14cb096e3543f73bba60c8c820803358e0342002d760d1acc77efc959459968313aaec23d446d2b14e0435f88f4f9a2d0e56e7c3a diff --git a/media-sound/gogglesmm/files/gogglesmm-1.2.5-libsamplerate.patch b/media-sound/gogglesmm/files/gogglesmm-1.2.5-libsamplerate.patch new file mode 100644 index 0000000000000..1bbf3ad95e48f --- /dev/null +++ b/media-sound/gogglesmm/files/gogglesmm-1.2.5-libsamplerate.patch @@ -0,0 +1,64 @@ +https://github.com/gogglesmm/gogglesmm/pull/120.patch + +From 27f15260220bc539bc825fb3e663333ac0e850c9 Mon Sep 17 00:00:00 2001 +From: Nicolas PARLANT +Date: Wed, 26 Feb 2025 13:08:43 +0000 +Subject: [PATCH] Add detection for libsamplerate + + +diff --git a/gap/CMakeLists.txt b/gap/CMakeLists.txt +index 0950838a..79ec8e7e 100644 +--- a/gap/CMakeLists.txt ++++ b/gap/CMakeLists.txt +@@ -104,6 +104,10 @@ set_package_properties(zlib PROPERTIES + PURPOSE "\tZLIB decompression for http(s)" + TYPE OPTIONAL) + ++set_package_properties(samplerate PROPERTIES ++ URL "https://libsndfile.github.io/libsamplerate/" ++ PURPOSE "\tSample Rate Converter for audio" ++ TYPE OPTIONAL) + + # Allow GAP to be build as a shared library. + if(MSVC) +@@ -163,6 +167,7 @@ if(UNIX) + + option(WITH_STATIC_FOX "Pull in static library dependencies for FOX" OFF) + ++ option(WITH_LIBSAMPLERATE "Samplerate support" OFF) + endif() + + # Endiannes +@@ -254,6 +259,9 @@ else() + endif() + endif() + endif() ++ if(WITH_LIBSAMPLERATE) ++ pkg_check_modules(SAMPLERATE samplerate) ++ endif() + endif() + + +@@ -505,6 +513,10 @@ else() + set(MD5_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/lib/md5) + endif() + ++if(WITH_LIBSAMPLERATE AND SAMPLERATE_FOUND) ++ LIST(APPEND LIBRARIES ${SAMPLERATE_LIBRARIES}) ++ set(HAVE_SAMPLERATE 1) ++endif() + + + #------------------------------------------------------------------------------- +@@ -616,6 +628,8 @@ add_feature_info(openssl HAVE_OPENSSL "${OPENSSL_VERSION}") + add_feature_info(gnutls HAVE_GNUTLS "${GNUTLS_VERSION}") + add_feature_info(gcrypt HAVE_GCRYPT "") + ++add_feature_info(samplerate HAVE_SAMPLERATE "${SAMPLERATE_VERSION}") ++ + set(AP_PLUGIN_PATH ${CMAKE_INSTALL_FULL_LIBDIR}/gogglesmm) + + configure_file(ap_config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/ap_config.h) +-- +2.45.3 + diff --git a/media-sound/gogglesmm/gogglesmm-1.2.5.ebuild b/media-sound/gogglesmm/gogglesmm-1.2.5.ebuild new file mode 100644 index 0000000000000..4be7cff28f347 --- /dev/null +++ b/media-sound/gogglesmm/gogglesmm-1.2.5.ebuild @@ -0,0 +1,102 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake xdg + +DESCRIPTION="Fast and light music player" +HOMEPAGE="https://gogglesmm.dev/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="a52 +aac alsa +dbus dca +flac jack libsamplerate +mad nls +opengl +opus" +IUSE+=" +pulseaudio sndio stream tremor +vorbis" +REQUIRED_USE="?? ( tremor vorbis )" + +RDEPEND=" + dev-db/sqlite:3 + dev-libs/expat + media-libs/taglib:= + >=x11-libs/fox-1.7.80:1.7 + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + a52? ( media-libs/a52dec ) + aac? ( media-libs/faad2 ) + alsa? ( media-libs/alsa-lib ) + dbus? ( sys-apps/dbus ) + dca? ( media-libs/libdca ) + flac? ( media-libs/flac:= ) + jack? ( virtual/jack ) + libsamplerate? ( media-libs/libsamplerate ) + mad? ( media-libs/libmad ) + nls? ( virtual/libintl ) + opengl? ( + media-libs/libepoxy + virtual/glu + ) + opus? ( + media-libs/libogg + media-libs/opus + ) + pulseaudio? ( media-libs/libpulse ) + sndio? ( media-sound/sndio:= ) + stream? ( + dev-libs/libgcrypt:= + sys-libs/zlib + ) + tremor? ( + media-libs/libogg + media-libs/tremor + ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) +" +DEPEND="${RDEPEND} + x11-base/xorg-proto +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + # https://github.com/gogglesmm/gogglesmm/pull/120 + "${FILESDIR}"/${PN}-1.2.5-libsamplerate.patch +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DBUILD_GAP_SHARED_LIB=ON + -DWITH_A52="$(usex a52)" + -DWITH_ALSA="$(usex alsa)" + # disable bundled fox + -DWITH_CFOX=OFF + -DWITH_DBUS="$(usex dbus)" + -DWITH_DCA="$(usex dca)" + -DWITH_FAAD="$(usex aac)" + -DWITH_FLAC="$(usex flac)" + -DWITH_GCRYPT="$(usex stream)" + -DWITH_GNUTLS=OFF + -DWITH_JACK="$(usex jack)" + -DWITH_LIBSAMPLERATE="$(usex libsamplerate)" + -DWITH_MAD="$(usex mad)" + -DWITH_NLS="$(usex nls)" + # only relevant if associate with tremor, vorbis or opus + -DWITH_OGG=ON + -DWITH_OPENGL="$(usex opengl)" + -DWITH_OPENSSL=OFF + -DWITH_OPUS="$(usex opus)" + -DWITH_PULSE="$(usex pulseaudio)" + # X11 session by default as x11-libs/fox is X11 only + -DWITH_SESSION=ON + -DWITH_SNDIO="$(usex sndio)" + -DWITH_TREMOR="$(usex tremor)" + -DWITH_VORBIS="$(usex vorbis)" + -DWITH_ZLIB="$(usex stream)" + ) + cmake_src_configure +} diff --git a/media-sound/gogglesmm/metadata.xml b/media-sound/gogglesmm/metadata.xml index 36839fb2b570c..3c0e6b7ab471e 100644 --- a/media-sound/gogglesmm/metadata.xml +++ b/media-sound/gogglesmm/metadata.xml @@ -9,6 +9,12 @@ sound@gentoo.org Gentoo Sound project + + Enable support for DTS Coherent Acoustics via media-libs/libdca + Enable support for media-sound/sndio + Enable http(s) streaming + Enable support for media-libs/tremor, a fixed-point version of the Ogg Vorbis decoder + gogglesmm/gogglesmm