From b36c9fee6f414879ba5b40e5f9badc4d47590e65 Mon Sep 17 00:00:00 2001 From: Viorel Munteanu Date: Mon, 4 Sep 2023 13:16:36 +0300 Subject: media-sound/deadbeef: add 1.9.6_beta1 Signed-off-by: Viorel Munteanu --- media-sound/deadbeef/Manifest | 1 + media-sound/deadbeef/deadbeef-1.9.6_beta1.ebuild | 202 +++++++++++++++++++++ .../files/deadbeef-1.9.6-drop-Werror.patch | 35 ++++ .../deadbeef-1.9.6-fix-desktop-launcher.patch | 32 ++++ .../files/deadbeef-1.9.6-update-gettext.patch | 17 ++ 5 files changed, 287 insertions(+) create mode 100644 media-sound/deadbeef/deadbeef-1.9.6_beta1.ebuild create mode 100644 media-sound/deadbeef/files/deadbeef-1.9.6-drop-Werror.patch create mode 100644 media-sound/deadbeef/files/deadbeef-1.9.6-fix-desktop-launcher.patch create mode 100644 media-sound/deadbeef/files/deadbeef-1.9.6-update-gettext.patch (limited to 'media-sound/deadbeef') diff --git a/media-sound/deadbeef/Manifest b/media-sound/deadbeef/Manifest index 46cd8056168f..f5c033632241 100644 --- a/media-sound/deadbeef/Manifest +++ b/media-sound/deadbeef/Manifest @@ -1 +1,2 @@ DIST deadbeef-1.9.5.tar.bz2 5204015 BLAKE2B 45b9023807a5652c38f6cafd5ea0fca87e2872db264538f5c9d9ee4815281fe3f4e08eee5d43a083a67b3a9f646de24a90147d76f15622710d8f4adbdabe0c8d SHA512 c7a15f47fd8081a363e5cba732aa4ff4b1c311408728fbc5f7f47cf349bc112274a1d9fe0df8a58f09abf8f7656d914fb1baafa38fdf4dcb38fae7e1f70f682c +DIST deadbeef-1.9.6_beta1.tar.bz2 5171353 BLAKE2B 71dcecb1c4e0621532c1d36c4e0f82538e36bfce27bacf746866b851accc6edead5adccbeecc2ba43171c8e56437c5703e43eb6c9d85edaf0e76206909326041 SHA512 2c324ae14513705cd50d0f8a44cea31abb98f8814e8c826e0da881e5fc508c8ac2c22fe2837d9fadcd943d7b5b0a4f6b80873db10903516cdacf958896a9070e diff --git a/media-sound/deadbeef/deadbeef-1.9.6_beta1.ebuild b/media-sound/deadbeef/deadbeef-1.9.6_beta1.ebuild new file mode 100644 index 000000000000..1b203d579230 --- /dev/null +++ b/media-sound/deadbeef/deadbeef-1.9.6_beta1.ebuild @@ -0,0 +1,202 @@ +# Copyright 2021-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools xdg flag-o-matic toolchain-funcs plocale + +MY_PV=${PV/_/-} +DL_PV=$(ver_cut 1-2) + +DESCRIPTION="DeaDBeeF is a modular audio player similar to foobar2000" +HOMEPAGE="https://deadbeef.sourceforge.io/" +SRC_URI="https://sourceforge.net/projects/${PN}/files/travis/linux/${DL_PV}/deadbeef-${MY_PV}.tar.bz2/download + -> ${P}.tar.bz2" +S="${WORKDIR}"/${PN}-${MY_PV} + +LICENSE=" + GPL-2 + LGPL-2.1 + wavpack? ( BSD ) +" +SLOT="0" +IUSE="aac alsa cdda converter cover dts ffmpeg flac +hotkeys lastfm libretro libsamplerate mp3 musepack nls notify +nullout opus oss pulseaudio pipewire sc68 shellexec +supereq vorbis wavpack" + +REQUIRED_USE=" + || ( alsa oss pulseaudio pipewire nullout ) +" + +DEPEND=" + >=app-accessibility/at-spi2-core-2.46.0 + dev-libs/glib:2 + dev-libs/jansson:= + dev-libs/libdispatch + net-misc/curl + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/pango + aac? ( media-libs/faad2 ) + alsa? ( media-libs/alsa-lib ) + cdda? ( + dev-libs/libcdio:= + media-libs/libcddb + media-sound/cdparanoia + ) + cover? ( media-libs/imlib2[jpeg,png] ) + dts? ( media-libs/libdca ) + ffmpeg? ( media-video/ffmpeg:= ) + flac? ( + media-libs/flac:= + media-libs/libogg + ) + libsamplerate? ( media-libs/libsamplerate ) + mp3? ( media-sound/mpg123 ) + musepack? ( media-sound/musepack-tools ) + nls? ( virtual/libintl ) + notify? ( sys-apps/dbus ) + opus? ( media-libs/opusfile ) + pulseaudio? ( media-libs/libpulse ) + pipewire? ( media-video/pipewire:= ) + vorbis? ( media-libs/libvorbis ) + wavpack? ( media-sound/wavpack ) +" + +RDEPEND="${DEPEND}" +BDEPEND=" + dev-util/intltool + sys-devel/clang + >=sys-devel/gettext-0.21 + sys-devel/llvm + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.6-drop-Werror.patch + "${FILESDIR}"/${PN}-1.9.6-update-gettext.patch + "${FILESDIR}"/${PN}-1.9.6-fix-desktop-launcher.patch +) + +src_prepare() { + default + + drop_from_linguas() { + sed "/${1}/d" -i "${S}/po/LINGUAS" || die + } + + drop_and_stub() { + einfo drop_and_stub "${1}" + rm -r "${1}" || die + mkdir "${1}" || die + cat > "${1}/Makefile.in" <<-EOF || die + all: nothing + install: nothing + nothing: + EOF + } + + plocale_for_each_disabled_locale drop_from_linguas || die + + eautopoint --force + eautoreconf + + # Get rid of bundled gettext. (Avoid build failures with musl) + drop_and_stub "${S}/intl" + + # Plugins that are undesired for whatever reason, candidates for unbundling and such. + for i in adplug alac dumb ffap mms gme mono2stereo psf shn sid soundtouch wma; do + drop_and_stub "${S}/plugins/${i}" + done + + rm -r "${S}/plugins/rg_scanner/ebur128" || die +} + +src_configure () { + if ! tc-is-clang; then + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + + strip-unsupported-flags + fi + + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + local myconf=( + "--disable-staticlink" + "--disable-portable" + "--disable-rpath" + + "--disable-libmad" + "--disable-gtk2" + "--disable-adplug" + "--disable-coreaudio" + "--disable-dumb" + "--disable-alac" + "--disable-ffap" + "--disable-gme" + "--disable-mms" + "--disable-mono2stereo" + "--disable-psf" + "--disable-rgscanner" + "--disable-shn" + "--disable-sid" + "--disable-sndfile" + "--disable-soundtouch" + "--disable-tta" + "--disable-vfs-zip" + "--disable-vtx" + "--disable-wildmidi" + "--disable-wma" + + "$(use_enable alsa)" + "$(use_enable oss)" + "$(use_enable pulseaudio pulse)" + "$(use_enable mp3)" + "$(use_enable mp3 libmpg123)" + "$(use_enable nls)" + "$(use_enable vorbis)" + "$(use_enable flac)" + "$(use_enable supereq)" + "$(use_enable cdda)" + "$(use_enable cdda cdda-paranoia)" + "$(use_enable aac)" + "$(use_enable cover artwork)" + "$(use_enable cover artwork-network)" + "$(use_enable dts dca)" + "$(use_enable ffmpeg)" + "$(use_enable converter)" + "$(use_enable musepack)" + "$(use_enable notify)" + "$(use_enable nullout)" + "$(use_enable opus)" + "$(use_enable pulseaudio pulse)" + "$(use_enable pipewire)" + "$(use_enable sc68)" + "$(use_enable shellexec)" + "$(use_enable shellexec shellexecui)" + "$(use_enable lastfm lfm)" + "$(use_enable libretro)" + "$(use_enable libsamplerate src)" + "$(use_enable wavpack)" + + "--enable-gtk3" + "--enable-vfs-curl" + "--enable-shared" + "--enable-m3u" + "--enable-pltbrowser" + ) + + econf "${myconf[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} diff --git a/media-sound/deadbeef/files/deadbeef-1.9.6-drop-Werror.patch b/media-sound/deadbeef/files/deadbeef-1.9.6-drop-Werror.patch new file mode 100644 index 000000000000..f31e079d942b --- /dev/null +++ b/media-sound/deadbeef/files/deadbeef-1.9.6-drop-Werror.patch @@ -0,0 +1,35 @@ +Remove -Werror + +See also: https://devmanual.gentoo.org/ebuild-writing/common-mistakes/index.html#-werror-compiler-flag-not-removed + +--- a/configure.ac ++++ b/configure.ac +@@ -337,7 +337,7 @@ AS_IF([test "${have_iconv}" = "yes"], [ + AC_DEFINE(HAVE_LIBICONV,1,[Use libiconv instead of glibc iconv]) + ]) + +-AX_CHECK_COMPILER_FLAGS(-msse2, HAVE_SSE2=1, [], -Werror) ++AX_CHECK_COMPILER_FLAGS(-msse2, HAVE_SSE2=1, []) + AS_IF([test "${HAVE_SSE2}"], [ + AC_DEFINE(HAVE_SSE2,1,[Support SSE2 instructions]) + ]) +--- a/plugins/gtkui/Makefile.am ++++ b/plugins/gtkui/Makefile.am +@@ -94,7 +94,7 @@ + + ddb_gui_GTK2_la_LIBADD = $(LDADD) $(GTK2_DEPS_LIBS) $(SM_LIBADD) ../libparser/libparser.la ../../shared/libtrkpropertiesutil.la ../../shared/libeqpreset.la ../../shared/libdeletefromdisk.la ../../shared/libtftintutil.la ../../shared/analyzer/libanalyzer.la ../../shared/scope/libscope.la $(JANSSON_LIBS) $(DISPATCH_LIBS) + +-ddb_gui_GTK2_la_CFLAGS = -std=c99 -Werror -DGLIB_DISABLE_DEPRECATION_WARNINGS -DGDK_DISABLE_DEPRECATION_WARNINGS -DGTK_DISABLE_DEPRECATION_WARNINGS $(GTK2_DEPS_CFLAGS) $(SM_CFLAGS) $(JANSSON_CFLAGS) $(DISPATCH_CFLAGS) -I@top_srcdir@/include -DDDB_WARN_DEPRECATED=1 ++ddb_gui_GTK2_la_CFLAGS = -std=c99 -DGLIB_DISABLE_DEPRECATION_WARNINGS -DGDK_DISABLE_DEPRECATION_WARNINGS -DGTK_DISABLE_DEPRECATION_WARNINGS $(GTK2_DEPS_CFLAGS) $(SM_CFLAGS) $(JANSSON_CFLAGS) $(DISPATCH_CFLAGS) -I@top_srcdir@/include -DDDB_WARN_DEPRECATED=1 + + endif + +@@ -105,7 +105,7 @@ + + ddb_gui_GTK3_la_SOURCES = $(GTKUI_SOURCES_GTK3) + ddb_gui_GTK3_la_LIBADD = $(LDADD) $(GTK3_DEPS_LIBS) $(SM_LIBADD) ../libparser/libparser.la ../../shared/libtrkpropertiesutil.la ../../shared/libeqpreset.la ../../shared/libdeletefromdisk.la ../../shared/libtftintutil.la ../../shared/analyzer/libanalyzer.la ../../shared/scope/libscope.la $(JANSSON_LIBS) $(DISPATCH_LIBS) +-ddb_gui_GTK3_la_CFLAGS = -std=c99 -Werror -DGLIB_DISABLE_DEPRECATION_WARNINGS -DGDK_DISABLE_DEPRECATION_WARNINGS -DGTK_DISABLE_DEPRECATION_WARNINGS $(GTK3_DEPS_CFLAGS) $(SM_CFLAGS) $(JANSSON_CFLAGS) $(DISPATCH_CFLAGS) -I@top_srcdir@/include -DDDB_WARN_DEPRECATED=1 ++ddb_gui_GTK3_la_CFLAGS = -std=c99 -DGLIB_DISABLE_DEPRECATION_WARNINGS -DGDK_DISABLE_DEPRECATION_WARNINGS -DGTK_DISABLE_DEPRECATION_WARNINGS $(GTK3_DEPS_CFLAGS) $(SM_CFLAGS) $(JANSSON_CFLAGS) $(DISPATCH_CFLAGS) -I@top_srcdir@/include -DDDB_WARN_DEPRECATED=1 + ddb_gui_GTK3_la_OBJCFLAGS = $(GTK3_DEPS_CFLAGS) $(SM_CFLAGS) $(JANSSON_CFLAGS) + + nodist_ddb_gui_GTK3_la_SOURCES = gtkui-gresources.c diff --git a/media-sound/deadbeef/files/deadbeef-1.9.6-fix-desktop-launcher.patch b/media-sound/deadbeef/files/deadbeef-1.9.6-fix-desktop-launcher.patch new file mode 100644 index 000000000000..235f5d5935de --- /dev/null +++ b/media-sound/deadbeef/files/deadbeef-1.9.6-fix-desktop-launcher.patch @@ -0,0 +1,32 @@ +Fix QA issue about malformed desktop launcher. + + * QA Notice: This package installs one or more .desktop files that do not + * pass validation. + * + * /usr/share/applications/deadbeef.desktop: error: action group "Desktop Action Next" exists, but there is no matching action "Next" + * /usr/share/applications/deadbeef.desktop: error: action group "Desktop Action Prev" exists, but there is no matching action "Prev" + * /usr/share/applications/deadbeef.desktop: error: action group "Desktop Action Stop" exists, but there is no matching action "Stop" + * /usr/share/applications/deadbeef.desktop: error: file contains group "Desktop Action Toggle Pause", which has an invalid action identifier, only alphanumeric characters and '-' are allowed + * /usr/share/applications/deadbeef.desktop: error: value "Play;Pause;Toggle Pause;Stop;Next;Prev;" for key "Actions" in group "Desktop Entry" contains invalid action identifier "Toggle Pause", only alphanumeric characters and '-' are allowed + * + +--- a/deadbeef.desktop.in ++++ b/deadbeef.desktop.in +@@ -14,7 +14,7 @@ + Icon=deadbeef + Exec=deadbeef %F + Terminal=false +-Actions=Play;Pause;Toggle Pause;Stop;Next;Prev; ++Actions=Play;Pause;Toggle-Pause;Stop;Next;Prev; + MimeType=application/ogg;audio/x-vorbis+ogg;application/x-ogg;audio/mp3;audio/prs.sid;audio/x-flac;audio/mpeg;audio/x-mpeg;audio/x-mod;audio/x-it;audio/x-s3m;audio/x-xm;audio/x-mpegurl;audio/x-scpls;application/x-cue; + Categories=Audio;AudioVideo;Player;GTK; + Keywords=Sound;Music;Audio;Player;Musicplayer;MP3; +@@ -35,7 +35,7 @@ + Name[zh_TW]=暫停 + Exec=deadbeef --pause + +-[Desktop Action Toggle Pause] ++[Desktop Action Toggle-Pause] + Name=Toggle Pause + Name[zh_CN]=播放/暂停 + Name[zh_TW]=播放/暫停 diff --git a/media-sound/deadbeef/files/deadbeef-1.9.6-update-gettext.patch b/media-sound/deadbeef/files/deadbeef-1.9.6-update-gettext.patch new file mode 100644 index 000000000000..48c0f0433eac --- /dev/null +++ b/media-sound/deadbeef/files/deadbeef-1.9.6-update-gettext.patch @@ -0,0 +1,17 @@ +Update to a newer gettext to fix clang issues + +See also: https://bugs.gentoo.org/908414 +See also: https://github.com/gentoo/gentoo/pull/32491 +--- a/configure.ac ++++ b/configure.ac +@@ -17,8 +17,8 @@ AC_SYS_LARGEFILE + dnl AC_PROG_LIBTOOL + AC_CONFIG_MACRO_DIR([m4]) + AC_C_BIGENDIAN +-AM_GNU_GETTEXT +-AM_GNU_GETTEXT_VERSION([0.18]) ++AM_GNU_GETTEXT([external]) ++AM_GNU_GETTEXT_REQUIRE_VERSION([0.21]) + PKG_PROG_PKG_CONFIG + AM_PROG_CC_C_O + AM_ICONV -- cgit v1.2.3-65-gdbad