From 1bc9dff40b7408c1780e4bf3089940a54cbae9f8 Mon Sep 17 00:00:00 2001 From: zlice Date: Fri, 5 Jul 2024 13:37:53 -0400 Subject: [PATCH] deadbeef: update to 1.9.6 --- srcpkgs/deadbeef/patches/musl_strdupa.patch | 10 +-- .../patch_skip_glade_translations.patch | 7 +- srcpkgs/deadbeef/template | 76 ++++++++++++++----- 3 files changed, 66 insertions(+), 27 deletions(-) diff --git a/srcpkgs/deadbeef/patches/musl_strdupa.patch b/srcpkgs/deadbeef/patches/musl_strdupa.patch index e4bbbcbaadc..f43c2ce6f88 100644 --- a/srcpkgs/deadbeef/patches/musl_strdupa.patch +++ b/srcpkgs/deadbeef/patches/musl_strdupa.patch @@ -1,16 +1,16 @@ musl strdupa() fails to compile in c++ due to a missing cast use deadbeef's fallback version instead ---- a/strdupa.h -+++ b/strdupa.h +--- a/include/deadbeef/strdupa.h ++++ b/include/deadbeef/strdupa.h @@ -26,6 +26,10 @@ - + #include - + +#if defined(__linux__) && !defined(__GLIBC__) +# undef strdupa +#endif + #ifndef strdupa # define strdupa(s) \ - ({ \ + ({ diff --git a/srcpkgs/deadbeef/patches/patch_skip_glade_translations.patch b/srcpkgs/deadbeef/patches/patch_skip_glade_translations.patch index 2768dff2cc9..c36add0dc97 100644 --- a/srcpkgs/deadbeef/patches/patch_skip_glade_translations.patch +++ b/srcpkgs/deadbeef/patches/patch_skip_glade_translations.patch @@ -2,11 +2,16 @@ Upstream packages a number of tools which define translations for gettext to process. The glade files don't appear to actually have translation marks which causes the build to complain and, in the case of packaging, fail. +added gtkui/{medialib, prefwin} for 1.9.6 + --- a/po/POTFILES.skip 2021-02-20 21:51:50.867875091 -0800 +++ b/po/POTFILES.skip 2021-02-20 21:51:57.689896618 -0800 -@@ -4,3 +4,151 @@ +@@ -4,3 +4,153 @@ plugins/pltbrowser/support.c plugins/gtkui/support.c + ++plugins/gtkui/medialib/medialibwidget.c ++plugins/gtkui/prefwin/prefwinmedialib.c +tools/glade/examples/editor/editor.glade +tools/glade/examples/editor/src/interface.c +tools/glade/examples/editor/src/support.c diff --git a/srcpkgs/deadbeef/template b/srcpkgs/deadbeef/template index f5f4bf24b8c..0178d3216a5 100644 --- a/srcpkgs/deadbeef/template +++ b/srcpkgs/deadbeef/template @@ -1,37 +1,43 @@ # Template file for 'deadbeef' pkgname=deadbeef -version=1.8.8 -revision=3 -create_wrksrc=yes +version=1.9.6 +revision=1 build_style=gnu-configure -configure_args="--disable-oss --disable-lfm --disable-notify --disable-gtk2" +configure_args="--disable-oss --disable-lfm --disable-gtk2 --disable-libretro" hostmakedepends="automake libtool gettext gettext-devel intltool pkg-config yasm clang glib-devel" makedepends=" - alsa-lib-devel dbus-devel faad2-devel ffmpeg-devel gtk+3-devel imlib2-devel + alsa-lib-devel dbus-devel faad2-devel ffmpeg6-devel gtk+3-devel jansson-devel libcddb-devel libcdio-devel libcurl-devel libflac-devel - libmad-devel libpng-devel libsamplerate-devel libsndfile-devel libvorbis-devel - libzip-devel mpg123-devel opusfile-devel pulseaudio-devel wavpack-devel" + libmad-devel libsamplerate-devel libsndfile-devel libvorbis-devel + libzip-devel mpg123-devel opusfile-devel pulseaudio-devel + wavpack-devel pipewire-devel libdispatch-devel" depends="desktop-file-utils hicolor-icon-theme" short_desc="Ultimate Music Player for GNU/Linux" maintainer="Orphaned " license="Zlib, GPL-2.0-or-later, LGPL-2.1-or-later" -_apbuild_commit=c64f490e54447e3902fae54784d01ab59fa7dc95 -_mp4p_commit=77ac9f2ecaa3a2f6e232fb45cd7f8550e13cc3d3 +_libretro_commit=b4d3db19566398603069d02eeacb3b06987a1b74 +_output_pw_commit=0b099d13ab0e89d9934aabdeb2872f0f66ea6960 +_mp4p_commit=156195ccb635f016dc34b89425bfbecf046c90d4 homepage="https://deadbeef.sourceforge.io" changelog="https://deadbeef.sourceforge.io/news0.html" distfiles="https://github.com/DeaDBeeF-Player/deadbeef/archive/${version}.tar.gz>${pkgname}-${version}.tar.gz - https://github.com/DeaDBeeF-Player/apbuild/archive/${_apbuild_commit}.tar.gz>apbuild-${_apbuild_commit}.tar.gz + https://github.com/DeaDBeeF-Player/ddb_dsp_libretro/archive/${_libretro_commit}.tar.gz>libretro-${_libretro_commit}.tar.gz + https://github.com/DeaDBeeF-Player/ddb_output_pw/archive/${_output_pw_commit}.tar.gz>output_pw-${_output_pw_commit}.tar.gz https://github.com/DeaDBeeF-Player/mp4p/archive/${_mp4p_commit}.tar.gz>mp4p-${_mp4p_commit}.tar.gz" -checksum="a667d55b787d76bc9d3593882b57ae9a449a99e93e1c11f85ec638566e10877d - c5eeb3fa116d51d251fe7c7e5c44798680f6478c43a1fffdcb28c4caf1c68286 - d0ba1b4ad062cb5c056c4a59ed55769d79371fc9b3bf9aaa0ca48f508e3eba75" -LDFLAGS+=" -Wl,-z,stack-size=1048576" +checksum="53ed535335e637437adf77eb4bcadb781eddbf5539f74373d5a863389df5e2d0 + 444d4d89edbd51b9d2305c83a49e18949e0f21a42eec2a95ce03efd752a81049 + 59115ddcd0378aa2f5914138c5c256198d66339bfbb3d65389b9bf4fa327f9ee + 3b5bdbcb2808d12b9f5af630a91e77be1036aeb487d5fa0a323ce8080918439b" +skip_extraction="libretro-${_libretro_commit}.tar.gz + output_pw-${_output_pw_commit}.tar.gz + mp4p-${_mp4p_commit}.tar.gz" # The soundtouchup plugin was made default in 1.8.4 and fails to build on i686. # Fixing that might be a good maintainer task. +# ffap also does not build on arm, it is only x86/64 assembly. case "$XBPS_TARGET_MACHINE" in - i686*) configure_args+=" --disable-soundtouch" ;; + i686*|arm*|aarch*) configure_args+=" --disable-soundtouch --disable-ffap" ;; esac if [ "$XBPS_TARGET_LIBC" = "musl" ]; then @@ -39,15 +45,43 @@ if [ "$XBPS_TARGET_LIBC" = "musl" ]; then fi post_extract() { - mv deadbeef-${version}/* . - rm -rf external/apbuild + rm -rf external/ddb_dsp_libretro + rm -rf external/ddb_output_pw rm -rf external/mp4p - mv -v apbuild-${_apbuild_commit} external/apbuild - mv -v mp4p-${_mp4p_commit} external/mp4p + vsrcextract -C external/ddb_dsp_libretro libretro-${_libretro_commit}.tar.gz + vsrcextract -C external/ddb_output_pw output_pw-${_output_pw_commit}.tar.gz + vsrcextract -C external/mp4p mp4p-${_mp4p_commit}.tar.gz } -pre_configure() { - NOCONFIGURE=1 ./autogen.sh +# host = what we are on now (e.g. x86_64-unknown-linux-gnu) +# build = what tool to build with (e.g. aarch64-linux-gnu) +# target = what this should run on and what repo it's in (same as build for cross) +do_configure() { + export CC=clang + export CXX=clang++ + if [ "$CROSS_BUILD" ] ; then + export CFLAGS="${CFLAGS/$XBPS_CROSS_CFLAGS/}" + export CXXFLAGS="${CXXFLAGS/$XBPS_CROSS_CFLAGS/}" + case "$XBPS_TARGET_MACHINE" in + arm*|aarch*) # option not on arm + export CFLAGS="${CFLAGS/-fstack-clash-protection/}" + export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/}" + ;; + esac + CFLAGS+=" --target=${XBPS_CROSS_TRIPLET}" + CXXFLAGS+=" --target=${XBPS_CROSS_TRIPLET}" + configure_args="${configure_args/--host=${XBPS_CROSS_TRIPLET}/--host=${XBPS_TRIPLET}}" + configure_args="${configure_args/--build=${XBPS_TRIPLET}/--build=${XBPS_CROSS_TRIPLET}}" + configure_args+=" --target=${XBPS_CROSS_TRIPLET}" + fi + CFLAGS+=" -Wno-error" + CXXFLAGS+=" -Wno-error" + ./autogen.sh + case "$XBPS_TARGET_MACHINE" in + x86_64*|i686*) ;; # only x86/64 should have sse2 + *) sed -e "s|-msse2|JUNK|" -i configure ;; + esac # HACK: this was auto-determined before? or was super broken + CC=clang CXX=clang++ ./configure ${configure_args} } post_install() {