[arch-commits] Commit in xmms2/repos (7 files)

Antonio Rojas arojas at gemini.archlinux.org
Thu Jan 27 20:50:48 UTC 2022


    Date: Thursday, January 27, 2022 @ 20:50:47
  Author: arojas
Revision: 1117681

archrelease: copy trunk to community-staging-x86_64

Added:
  xmms2/repos/community-staging-x86_64/
  xmms2/repos/community-staging-x86_64/PKGBUILD
    (from rev 1117680, xmms2/trunk/PKGBUILD)
  xmms2/repos/community-staging-x86_64/ffmpeg5.patch
    (from rev 1117680, xmms2/trunk/ffmpeg5.patch)
  xmms2/repos/community-staging-x86_64/system.service
    (from rev 1117680, xmms2/trunk/system.service)
  xmms2/repos/community-staging-x86_64/sysusers.conf
    (from rev 1117680, xmms2/trunk/sysusers.conf)
  xmms2/repos/community-staging-x86_64/tmpfiles.conf
    (from rev 1117680, xmms2/trunk/tmpfiles.conf)
  xmms2/repos/community-staging-x86_64/user.service
    (from rev 1117680, xmms2/trunk/user.service)

----------------+
 PKGBUILD       |  109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ffmpeg5.patch  |   37 ++++++++++++++++++
 system.service |   17 ++++++++
 sysusers.conf  |    2 +
 tmpfiles.conf  |    3 +
 user.service   |   13 ++++++
 6 files changed, 181 insertions(+)

Copied: xmms2/repos/community-staging-x86_64/PKGBUILD (from rev 1117680, xmms2/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-01-27 20:50:47 UTC (rev 1117681)
@@ -0,0 +1,109 @@
+# Maintainer: Alexander F. Rødseth <xyproto at archlinux.org>
+# Contributor: Storm Dragon <stormdragon2976 at gmail.com>
+# Contributor: Aaron 'venisonslurpee' Laursen <venisonslurpee at gmail.com>
+# Contributor: Christopher Rosell <chrippa at tanuki.se>
+# Contributor: lh <jarryson at gmail.com>
+# Contributor: Sebastian Schwarz <seschwar at gmail.com>
+# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Xilon <xilon at gmail.com>
+
+pkgname=xmms2
+pkgver=0.8DrO_o.7391.dedc33d7
+pkgrel=7
+pkgdesc='X-platform Music Multiplexing System 2'
+arch=(x86_64)
+url='https://xmms2.org/'
+license=(GPL LGPL)
+_depends=('alsa-lib: ALSA output'
+          'avahi: announce xmms2d via bonjour/mDNS/zeroconf'
+          'boost: C++ bindings'
+          'curl: play HTTP streams'
+          'cython: Python bindings'
+          'faad2: AAC support'
+          'ffmpeg: WMA, avcodec & avformat support'
+          'fftw: visualization'
+          'flac: FLAC support'
+          'fluidsynth: MIDI support'
+          'jack: JACK output'
+          'libao: libao output'
+          'libcdio-paranoia: CDDA support'
+          'libdiscid: CDDA support'
+          'libgme: support for various video game music formats'
+          'libmad: MP3 support'
+          'libmms: play MMS streams'
+          'libmodplug: MOD support'
+          'libmpcdec: Musepack support'
+          'libofa: MusicDNS fingerprinting'
+          'libsamplerate: vocoder support'
+          'libshout: Icecast output'
+          'libvorbis: Ogg Vorbis support'
+          'libxml2: XSPF and podcast support'
+          'mac: APE support'
+          'mpg123: alternative MP3 support'
+          'opusfile: Opus support'
+          'perl: Perl bindings'
+          'ruby: Ruby bindings'
+          'smbclient: direct CIFS/SMB access'
+          'speex: Speex support'
+          'sqlite: for sqlite2s4'
+          'wavpack: WavPack support')
+makedepends=("${_depends[@]%%:*}" git libpulse perl-pod-parser waf)
+optdepends=("${_depends[@]}" 'pulseaudio: PulseAudio output')
+source=('git+https://github.com/xmms2/xmms2-devel#commit=dedc33d7408e140bce714c2c3eb5bcc793f1af6c'
+        'git+https://github.com/xmms2/xmms2-tutorial#commit=8ff8c66'
+        'git+https://github.com/xmms2/s4#commit=b46e597'
+        tmpfiles.conf
+        sysusers.conf
+        system.service
+        user.service
+        ffmpeg5.patch)
+sha256sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            '13e3e2720e21d048d776156f8ab17c40d05b70437823da00b3c4cc2e7f7ecf7f'
+            'a37e35dedd48fb8fbc2c97d79be8a3d3c3b00191826f6046f730f649cd67812a'
+            'a159b18c5959cfe76ca87990ff6879d082bfe9a4c6d674c493461f7f2781f348'
+            '76f1a06b81cec0f5942430401998f6c8cd9cb95d798f97b854f88afd73ffe61d'
+            '4a0deb25c83b43f14db8bfe4877f9352b9360239176da3c91824775ea7aff3ef')
+
+prepare() {
+  cd xmms2-devel
+  git submodule init
+  git config submodule.doc/tutorial.url "$srcdir"/xmms2-tutorial
+  git config submodule.src/lib/s4.url "$srcdir"/s4
+  git submodule update
+  sed -i '$a#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 /* 1 second of 48kHz 32bit audio */' \
+    src/plugins/avcodec/avcodec_compat.h
+  sed -i 's,#include <cdio/cdda.h>,#include <cdio/paranoia/cdda.h>,' src/plugins/cdda/cdda.c
+  sed -i 's,libsmbclient.h,samba-4.0/libsmbclient.h,' src/plugins/samba/{samba.c,wscript}
+  sed -i 's|Werror|Wno-error|g' waftools/*.py
+
+# Fix build with FFmpeg 5
+  patch -p1 -i ../ffmpeg5.patch
+}
+
+build() {
+  cd xmms2-devel
+  export LINKFLAGS="$LDFLAGS"
+  waf configure --prefix=/usr --sbindir=/usr/bin --without-ldconfig \
+    --with-ruby-archdir=`ruby -e 'puts RbConfig::CONFIG["vendorarchdir"]'` \
+    --with-ruby-libdir=`ruby -e 'puts RbConfig::CONFIG["vendorlibdir"]'` \
+    --with-perl-archdir=`perl -V:installvendorarch | cut -f2 -d\'` \
+    --with-optionals=launcher,xmmsclient++,xmmsclient++-glib,perl,ruby,nycli,pixmaps,et,mdns,medialib-updater,sqlite2s4 \
+    --without-optionals=python
+  waf build
+}
+
+package() {
+  cd xmms2-devel
+  waf --destdir="$pkgdir" install
+
+  cd "$srcdir"
+  install -Dm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/xmms2.conf"
+  install -Dm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/xmms2.conf"
+  install -Dm644 system.service "$pkgdir/usr/lib/systemd/system/xmms2d.service"
+  install -Dm644 user.service "$pkgdir/usr/lib/systemd/user/xmms2d.service"
+
+  [ -d "$pkgdir"/usr/lib64 ] && \
+    { mv "$pkgdir"/usr/lib64/* "$pkgdir"/usr/lib/; rmdir "$pkgdir"/usr/lib64; } || true
+}

Copied: xmms2/repos/community-staging-x86_64/ffmpeg5.patch (from rev 1117680, xmms2/trunk/ffmpeg5.patch)
===================================================================
--- community-staging-x86_64/ffmpeg5.patch	                        (rev 0)
+++ community-staging-x86_64/ffmpeg5.patch	2022-01-27 20:50:47 UTC (rev 1117681)
@@ -0,0 +1,37 @@
+diff --git a/src/plugins/avcodec/avcodec.c b/src/plugins/avcodec/avcodec.c
+index 23fd4615..506d7cd5 100644
+--- a/src/plugins/avcodec/avcodec.c
++++ b/src/plugins/avcodec/avcodec.c
+@@ -477,8 +477,12 @@ xmms_avcodec_internal_decode_some (xmms_avcodec_data_t *data)
+ 	/* clear buffers and reset fields to defaults */
+ 	av_frame_unref (data->read_out_frame);
+ 
+-	bytes_read = avcodec_decode_audio4 (
+-		data->codecctx, data->read_out_frame, &got_frame, &packet);
++        bytes_read = avcodec_send_packet(data->codecctx, &packet);
++        if (bytes_read >= 0 || bytes_read == AVERROR_EOF) {
++            bytes_read = avcodec_receive_frame(data->codecctx, data->read_out_frame);
++            if (bytes_read >= 0 || bytes_read == AVERROR(EAGAIN) || bytes_read == AVERROR_EOF)
++                got_frame = 1;
++        }
+ 
+ 	/* The DTS decoder of ffmpeg is buggy and always returns
+ 	 * the input buffer length, get frame length from header */
+diff --git a/src/plugins/avcodec/wscript b/src/plugins/avcodec/wscript
+index 00b182b2..f204fcf3 100644
+--- a/src/plugins/avcodec/wscript
++++ b/src/plugins/avcodec/wscript
+@@ -40,13 +40,6 @@ def plugin_configure(conf):
+     conf.check_cc(header_name="avcodec.h", uselib="avcodec", type="cshlib", mandatory=False)
+     conf.check_cc(header_name="libavcodec/avcodec.h", uselib="avcodec", type="cshlib", mandatory=False)
+ 
+-    # mandatory function avcodec_decode_audio4 available since
+-    # * ffmpeg: commit e4de716, lavc 53.40.0, release 0.9
+-    # * libav: commit 0eea212, lavc 53.25.0, release 0.8
+-    conf.check_cc(fragment=avcodec_decode_audio4_fragment, uselib="avcodec",
+-                  uselib_store="avcodec_decode_audio4",
+-                  msg="Checking for function avcodec_decode_audio4", mandatory=True)
+-
+     # non-mandatory function avcodec_free_frame since
+     # * ffmpeg: commit 46a3595, lavc 54.59.100, release 1.0
+     # * libav: commit a42aada, lavc 54.28.0, release 9

Copied: xmms2/repos/community-staging-x86_64/system.service (from rev 1117680, xmms2/trunk/system.service)
===================================================================
--- community-staging-x86_64/system.service	                        (rev 0)
+++ community-staging-x86_64/system.service	2022-01-27 20:50:47 UTC (rev 1117681)
@@ -0,0 +1,17 @@
+[Unit]
+Description=XMMS2 daemon
+Documentation=man:xmms2-launcher(1) man:xmms2d(1)
+Wants=fluidsynth.service
+After=fluidsynth.service network.target sound.target
+
+[Service]
+Type=forking
+User=xmms2
+# Trick xmms2d into correctly using /var/lib/xmms2 for its configuration
+Environment=XDG_CONFIG_HOME=/var/lib
+PIDFile=%t/xmms2/xmms2d.pid
+ExecStart=/usr/bin/xmms2-launcher -l /var/log/xmms2d.log -P %t/xmms2/xmms2d.pid
+ExecStop=/usr/bin/xmms2 server shutdown
+
+[Install]
+WantedBy=multi-user.target

Copied: xmms2/repos/community-staging-x86_64/sysusers.conf (from rev 1117680, xmms2/trunk/sysusers.conf)
===================================================================
--- community-staging-x86_64/sysusers.conf	                        (rev 0)
+++ community-staging-x86_64/sysusers.conf	2022-01-27 20:50:47 UTC (rev 1117681)
@@ -0,0 +1,2 @@
+u xmms2  -      -  /var/lib/xmms2
+m xmms2  audio

Copied: xmms2/repos/community-staging-x86_64/tmpfiles.conf (from rev 1117680, xmms2/trunk/tmpfiles.conf)
===================================================================
--- community-staging-x86_64/tmpfiles.conf	                        (rev 0)
+++ community-staging-x86_64/tmpfiles.conf	2022-01-27 20:50:47 UTC (rev 1117681)
@@ -0,0 +1,3 @@
+d /run/xmms2          0755 xmms2 xmms2
+d /var/lib/xmms2      0755 xmms2 xmms2
+f /var/log/xmms2d.log 0644 xmms2 xmms2

Copied: xmms2/repos/community-staging-x86_64/user.service (from rev 1117680, xmms2/trunk/user.service)
===================================================================
--- community-staging-x86_64/user.service	                        (rev 0)
+++ community-staging-x86_64/user.service	2022-01-27 20:50:47 UTC (rev 1117681)
@@ -0,0 +1,13 @@
+[Unit]
+Description=XMMS2 daemon
+Documentation=man:xmms2-launcher(1) man:xmms2d(1)
+After=network.target sound.target
+
+[Service]
+Type=forking
+PIDFile=%t/xmms2d.pid
+ExecStart=/usr/bin/xmms2-launcher -P %t/xmms2d.pid
+ExecStop=/usr/bin/xmms2 server shutdown
+
+[Install]
+WantedBy=default.target



More information about the arch-commits mailing list