xmms2 0.9.3

This commit is contained in:
Jan Engelhardt 2024-08-27 21:59:43 +02:00
commit d10799d8d8
13 changed files with 798 additions and 0 deletions

3
README.SUSE Normal file
View File

@ -0,0 +1,3 @@
this package has been built inside the OpenSUSE BuildService,
so it may lack of some features where it need headers
that may not respect some patent law

15
_service Normal file
View File

@ -0,0 +1,15 @@
<services>
<service name="tar_scm" mode="manual">
<param name="filename">xmms2</param>
<param name="scm">git</param>
<param name="url">https://github.com/xmms2/xmms2-devel</param>
<param name="revision">master</param>
<param name="versionformat">@PARENT_TAG@+g@TAG_OFFSET@.x%h</param>
<param name="versionrewrite-pattern">gromox-?(.*)</param>
</service>
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="manual"/>
</services>

View File

@ -0,0 +1,13 @@
Index: xmms2-0.8DrO_o/src/clients/medialib-updater/main.c
===================================================================
--- xmms2-0.8DrO_o.orig/src/clients/medialib-updater/main.c
+++ xmms2-0.8DrO_o/src/clients/medialib-updater/main.c
@@ -489,6 +489,8 @@ updater_remove_directory_by_id (xmmsv_t
return TRUE;
}
+char *_xmmsc_medialib_encode_url (const char *url, xmmsv_t *args);
+
static void
updater_remove_directory (updater_t *updater, GFile *file)
{

View File

@ -0,0 +1,12 @@
Index: xmms2-0.8DrO_o/src/xmms/visualization/unixshm.c
===================================================================
--- xmms2-0.8DrO_o.orig/src/xmms/visualization/unixshm.c
+++ xmms2-0.8DrO_o/src/xmms/visualization/unixshm.c
@@ -14,6 +14,7 @@
* Lesser General Public License for more details.
*/
+#define _GNU_SOURCE
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/stat.h>

View File

@ -0,0 +1,18 @@
---
wscript | 3 +++
1 file changed, 3 insertions(+)
Index: xmms2-0.9.3+g52.xa9cd41b/wscript
===================================================================
--- xmms2-0.9.3+g52.xa9cd41b.orig/wscript
+++ xmms2-0.9.3+g52.xa9cd41b/wscript
@@ -554,6 +554,9 @@ int main() { return 0; }
conf.env.DEFINES += ["XMMS_DISABLE_DEPRECATION_WARNINGS"]
+ # Do not link against unused libraries (make dpkg-shlibdeps happy).
+ conf.env.LINKFLAGS += ['-Wl,--as-needed']
+
return True
####

18
xmms2-0.8-rpath.patch Normal file
View File

@ -0,0 +1,18 @@
Index: xmms2-0.8DrO_o/src/plugins/sid/wscript
===================================================================
--- xmms2-0.8DrO_o.orig/src/plugins/sid/wscript
+++ xmms2-0.8DrO_o/src/plugins/sid/wscript
@@ -19,13 +19,6 @@ def plugin_configure(conf):
builders = conf.check_cfg(package="libsidplay2",
args="--variable=builders").strip()
- # It looks funny that this is LIBPATH_sidplay but it is correct
- # since we explcitly set the path to builders for resid it will
- # find resid in the list even though we still need to -rpath it.
- if not realpath(builders) in [realpath(i) for i in conf.env.LIBPATH_sidplay]:
- conf.env.LINKFLAGS_resid = ["-Wl,-rpath=%s" % builders]
- conf.env.LIBPATH_resid = [builders]
-
conf.check_cxx(lib="resid-builder", header_name="sidplay/builders/resid.h",
uselib_store="resid", uselib="resid")

View File

@ -0,0 +1,13 @@
Index: xmms2-0.8DrO_o/src/plugins/mp4/mp4ff/mp4meta.c
===================================================================
--- xmms2-0.8DrO_o.orig/src/plugins/mp4/mp4ff/mp4meta.c
+++ xmms2-0.8DrO_o/src/plugins/mp4/mp4ff/mp4meta.c
@@ -128,7 +128,7 @@ static const char* ID3v1GenreList[] = {
"Ethnic", "Gothic", "Darkwave", "Techno-Industrial", "Electronic", "Pop-Folk",
"Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta",
"Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native American", "Cabaret",
- "New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi",
+ "New Wave", "Psychedelic", "Rave", "Showtunes", "Trailer", "Lo-Fi",
"Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical",
"Rock & Roll", "Hard Rock", "Folk", "Folk/Rock", "National Folk", "Swing",
"Fast-Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde",

Binary file not shown.

33
xmms2-client-launcher.sh Normal file
View File

@ -0,0 +1,33 @@
#!/bin/bash
# Copyright 2008 Tom "spot" Callaway <tcallawa@redhat.com>
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation. No representations are made about the suitability of this
# software for any purpose. It is provided "as is" without express or
# implied warranty.
#
# Ensure that xmms2d is running before the client.
PIDFILE=/var/tmp/xmms2d
ARGS=1
if [ $# -ne "$ARGS" ]; then
echo "Usage: `basename $0` xmms2-client"
exit 65
fi
if [ -f $PIDFILE ]; then
# Okay, we found the pidfile
XMMS2PID=`cat $PIDFILE`
XMMS2DINPS=`ps $XMMS2PID |grep xmms2d`
if [ -z "$XMMS2DINPS" ]; then
xmms2-launcher -P $PIDFILE &> /dev/null
fi
else
# Okay, so the pid file isn't there. Launch xmms2d anyway.
xmms2-launcher -P $PIDFILE &> /dev/null
fi
$1

16
xmms2-pkgconfig.patch Normal file
View File

@ -0,0 +1,16 @@
---
xmms2.pc.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: xmms2-0.9.3+g52.xa9cd41b/xmms2.pc.in
===================================================================
--- xmms2-0.9.3+g52.xa9cd41b.orig/xmms2.pc.in
+++ xmms2-0.9.3+g52.xa9cd41b/xmms2.pc.in
@@ -6,6 +6,6 @@ includedir=@INCLUDEDIR@
Name: @NAME@
Description: XMMS Generation 2
Requires:
-Version: @VERSION@
+Version: 0.9.3
Libs: -L${libdir} @LIB@
Cflags: -I${includedir}

58
xmms2-ripper.1 Normal file
View File

@ -0,0 +1,58 @@
.\" Copyright (C) 2009 Benjamin Drung <bdrung@ubuntu.com>
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer
.\" in this position and unchanged.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.TH XMMS2-RIPPER 1 "2009-07-05"
.SH NAME
xmms2-ripper \- dumps the audio currently played to stdout
.SH SYNOPSIS
.B xmms2-ripper
.SH DESCRIPTION
This manual page documents briefly the
.B xmms2-ripper
command. This manual page was written for the Debian distribution
because the original program does not have a manual page.
.PP
.B XMMS2
is a redesign of the XMMS (http://www.xmms.org) music player. It features a
client-server model, allowing multiple (even simultaneous!) user interfaces,
both textual and graphical. All common audio formats are supported using
plug-ins. On top of this, there is a flexible media library to organize your
music.
.PP
.B xmms2-ripper
is visualization client for
.B XMMS2.
Instead of visualizing the audio data, it encodes the data to Ogg/Vorbis and
writes them to the standard output. The output should be redirected to a file
or to another program.
.SH OPTIONS
This program does not offer any options.
.SH SEE ALSO
.BR xmms2 (1),
http://xmms2.xmms.org.
.SH AUTHORS
xmms2-ripper was written by the XMMS2 Team.
.PP
This manual page was written by Benjamin Drung <bdrung@ubuntu.com>, for the
Debian project (and may be used by others).

246
xmms2.changes Normal file
View File

@ -0,0 +1,246 @@
-------------------------------------------------------------------
Fri Dec 15 13:50:41 UTC 2017 - mvetter@suse.com
- BuildRequire python-xml explicitly
- Use openssl < 1.1
-------------------------------------------------------------------
Mon Jun 12 18:50:42 UTC 2017 - zaitor@opensuse.org
- Add mpg123 plugin to base-plugins for Tumbleweed and newer via
conditional, mp3 support now included.
-------------------------------------------------------------------
Mon Feb 13 18:10:32 UTC 2017 - jengelh@inai.de
- Trim and update descriptions
-------------------------------------------------------------------
Thu Feb 9 12:49:44 UTC 2017 - mvetter@suse.com
- On Oct 18 marguerite also added this patch:
* xmms2-0.8-add-lib-vorbis-and-ogg.patch
-------------------------------------------------------------------
Thu Feb 2 15:43:17 UTC 2017 - adam.majer@suse.de
- use individual libboost-*-devel packages instead of boost-devel
-------------------------------------------------------------------
Sun Oct 18 17:07:49 UTC 2015 - i@marguerite.su
- update version 0.8
* Waf build system updated to version 1.6, which brings Python
3.x compatibility to the build system.
* Python bindings migrated to cython which brings Python 3.x
compatibility to Python clients.
* Server side IPC code is now generated, thus a whole lot more
consistent and less prone to errors.
* Better support for high quality (S32) audio, together with
xform updates to output such formats.
* Don't let ALSA resample as it consumes insane amount of
resources which makes it look like XMMS2 is resource heavy.
* More format support to CoreAudio and PulseAudio letting them
resample in their own processes instead, thus utilizing
multi-core systems better.
* A ton of man page updates so that we can hopefully answer most
questions with RTFM.
- new subpackage plugin-sndfile
- sync w/ packman
- drop patch: xmms2-0.7-no-O0.patch
- drop patch: xmms2-0.7-rpath.patch
- drop patch: xmms2-0.7-spelling-error.patch
- drop patch: xmms2-0.7-no-return.patch, upstreamed
- drop patch: xmms2-0.7-cli-output-verbosity.patch,
no more src/clients/cli
- drop patch: xmms2-0.7-escape-minus-signes.patch, upstreamed
- drop patch: xmms2-0.7-silent-launcher.patch, upstreamed
- drop patch: xmms2-0.7-fix-typo-in-xmms2-mdns-avahi-manpage.patch
upstreamed
- drop patch: xmms2-0.7-vorbis-picture-support.patch, upstreamed
- drop patch: xmms2-0.7-linker-flags.patch
- drop patch: xmms2-0.7-fix-cast-error.patch
- drop patch: xmms2-0.7-remove-path_max.patch, upstreamed
- drop patch: xmms2-0.7-fixwarnings.patch
- drop patch: xmms2-0.7-ld_fix.patch, no longer needed
- drop patch: xmms2-disable-parallel-build.patch, no more wafadmin
directory
- drop patch: xmms2-0.7-cunit.patch, upstreamed
- drop patch: xmms-ruby2.2.patch, no waftools/ruby.py
- unpack waf to fix for ruby 2.2
- add patch: xmms2-0.8-no-O0.patch
* don't build w/ -O0 flag
- add patch: xmms2-0.8-rpath.patch
* don't build w/ rpath for sidplay
- add patch: xmms2-0.8-spelling-error.patch
* fix a spell mistake in mp4meta.c
- add patch: xmms2-0.8-linker-flags.patch
* don't link against unused libraries
- add patch: xmms2-0.8-fix-cast-error.patch
* Fix cast to pointer from integer of different size error
- add patch: xmms2-0.8-fixwarnings.patch
- add patch: xmms2-samba4-include-path.patch
* adjust samba-4.0 include path for libsmbclient.h
-------------------------------------------------------------------
Wed May 20 15:49:46 UTC 2015 - dimstar@opensuse.org
- Add xmms-ruby2.2.patch: Update for Ruby 2.2: Use RbConfig instead
of deprecated Config.
-------------------------------------------------------------------
Fri Sep 19 09:26:45 UTC 2014 - dmueller@suse.com
- use valgrind also on other architectures where it is available
-------------------------------------------------------------------
Wed Sep 11 13:28:02 UTC 2013 - pgajdos@suse.com
- detect libsmbclient
-------------------------------------------------------------------
Mon Jun 18 09:46:23 UTC 2012 - pgajdos@suse.com
- turn on cdda plugin again, buildrequire libcdio-paranoia-devel
-------------------------------------------------------------------
Mon Jun 11 09:28:53 UTC 2012 - pgajdos@suse.com
- turn off cdda plugin until libcdio-paranoia dependency isn't
accepted into factory (see bnc#756564)
-------------------------------------------------------------------
Fri Dec 9 08:44:05 UTC 2011 - coolo@suse.com
- fix license to be in spdx.org format
-------------------------------------------------------------------
Thu Oct 27 11:03:55 UTC 2011 - idonmez@suse.com
- Disable parallel build, it randomly hangs
-------------------------------------------------------------------
Fri Sep 16 21:50:45 UTC 2011 - suse-tux@gmx.de
- added Patch15 (xmms2-0.7-ld_fix.patch) to fix the build for factory
-------------------------------------------------------------------
Tue Aug 3 14:44:25 UTC 2010 - andrea@opensuse.org
- fixed duplicated deps
-------------------------------------------------------------------
Mon Aug 2 19:43:06 UTC 2010 - andrea@opensuse.org
- fixed xmms2-devel dependencies bnc#627610
-------------------------------------------------------------------
Mon May 31 12:25:43 CEST 2010 - ro@suse.de
- buildrequire valgrind-devel only on archs where it exists
-------------------------------------------------------------------
Tue May 11 07:20:29 UTC 2010 - andrea@opensuse.org
- allow gme only on suse >= 11.2
-------------------------------------------------------------------
Thu May 6 17:30:50 CEST 2010 - meissner@suse.de
- fixed 1 implicit warning and 1 void return
-------------------------------------------------------------------
Mon Apr 26 09:31:14 UTC 2010 - dimstar@opensuse.org
- Add xmms2-pkgconfig.patch: pkg-config version needs to be a
version only.
-------------------------------------------------------------------
Fri Apr 23 08:01:01 UTC 2010 - andrea@opensuse.org
- split out libxmmsclient* libraries
-------------------------------------------------------------------
Wed Apr 21 09:37:19 UTC 2010 - andrea@opensuse.org
- rewritten spec file, split out packages and reduced dependencies
to main package
-------------------------------------------------------------------
Wed Apr 21 07:54:13 UTC 2010 - andrea@opensuse.org
- removed gamin dependency, no more required
-------------------------------------------------------------------
Tue Apr 20 23:53:22 UTC 2010 - andrea@opensuse.org
- added xmms2-0.7-cunit.patch to fix missing -lncurses to linker
(if build with CUnit)
- removed mpg123 code because MAY cause legal issues (mp3 support)
-------------------------------------------------------------------
Tue Apr 20 09:08:19 UTC 2010 - davejplater@gmail.com
- Changed build dependency from fftw to fftw3
-------------------------------------------------------------------
Mon Apr 19 16:50:04 UTC 2010 - andrea@opensuse.org
- Fixed RPM groups according to :
http://en.opensuse.org/SUSE_Package_Conventions/RPM_Groups
-------------------------------------------------------------------
Sun Apr 18 13:24:19 UTC 2010 - andrea@opensuse.org
- enabled ssl support
-------------------------------------------------------------------
Sat Apr 17 13:54:37 UTC 2010 - andrea@opensuse.org
- added xmms2-ripper man page
- backport several debian patches to fix bugs including
missing casting, typos, linker flags, ecc
-------------------------------------------------------------------
Mon Mar 1 22:45:19 UTC 2010 - andrea@opensuse.org
- new upstream version 0.7
-------------------------------------------------------------------
Thu Feb 25 09:44:02 UTC 2010 - andrea@opensuse.org
- added xmms2-no-return.patch to make brp-checks happy
-------------------------------------------------------------------
Fri Dec 11 10:13:18 UTC 2009 - andrea@opensuse.org
- new upstream version
- ported patches to new version
- fixed spec file to use openSUSE standards and package names
-------------------------------------------------------------------
Sun Jan 18 10:13:18 UTC 2009 - tmraz@redhat.com
- rebuild with new openssl
-------------------------------------------------------------------
Tue Jan 13 10:13:18 UTC 2009 - adrian@lisas.de
- Rebuild for libcdio-0.81
-------------------------------------------------------------------
Wed Dec 17 10:13:18 UTC 2008 - bkoz@redhat.com
- Rebuild for boost-1.37.0.
-------------------------------------------------------------------
Wed Dec 10 10:13:18 UTC 2008 - tcallawa@redhat.com
- new docs subpackage
- many cleanups from package review
-------------------------------------------------------------------
Thu Dec 04 10:13:18 UTC 2008 - tcallawa@redhat.com
- Initial package for Fedora

353
xmms2.spec Normal file
View File

@ -0,0 +1,353 @@
#
# spec file for package xmms2
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
# these macros are not defined under < 11.4, which ruby is 1.8-
%{!?rb_sitelibdir: %global rb_sitelibdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')}
%{!?rb_sitearchdir: %global rb_sitearchdir %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')}
Name: xmms2
Version: 0.9.3+g52.xa9cd41b
Release: 0
Summary: A modular audio framework and plugin architecture
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Productivity/Multimedia/Sound/Players
URL: https://github.com/xmms2
Source: %name-%version.tar.xz
Source1: xmms2-client-launcher.sh
Source2: README.SUSE
Source3: %name-ripper.1
Patch4: %name-0.8-rpath.patch
Patch6: %name-0.8-spelling-error.patch
Patch9: %name-0.8-linker-flags.patch
Patch10: %name-0.8-fix-cast-error.patch
Patch13: xmms2-pkgconfig.patch
Patch14: %name-0.8-fixwarnings.patch
BuildRequires: c++_compiler
BuildRequires: doxygen
BuildRequires: flex
BuildRequires: lcov
BuildRequires: libmpcdec-devel
BuildRequires: make
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(ao)
BuildRequires: pkgconfig(avahi-client)
BuildRequires: pkgconfig(avahi-glib)
BuildRequires: pkgconfig(fftw3)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(fluidsynth)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(jack)
BuildRequires: ffmpeg-6-libavcodec-devel
BuildRequires: pkgconfig(libcdio_cdda)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libdiscid)
BuildRequires: pkgconfig(libgme)
BuildRequires: pkgconfig(libmms)
BuildRequires: pkgconfig(libmodplug)
BuildRequires: pkgconfig(libmpg123)
BuildRequires: pkgconfig(libofa)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libvisual-0.4)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(opusfile)
BuildRequires: pkgconfig(samplerate)
BuildRequires: pkgconfig(sdl)
BuildRequires: pkgconfig(shout)
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(vorbisfile)
BuildRequires: pkgconfig(wavpack)
BuildRequires: python3-base
BuildRequires: sqlite3
Requires: %name-plugin-base
%ifarch %ix86 x86_64 ppc ppc64 ppc64le %arm aarch64
BuildRequires: valgrind-devel
%endif
%if %{with restricted}
BuildRequires: libfaad-devel
%endif
%description
XMMS2 is an audio framework, but it is not a general multimedia player - it
will not play videos. It has a modular framework and plugin architecture for
audio processing, visualisation and output, but this framework has not been
designed to support video. Also the client-server design of XMMS2 (and the
daemon being independent of any graphics output) practically prevents direct
video output being implemented. It has support for a wide range of audio
formats, which is expandable via plugins. It includes a basic CLI interface
to the XMMS2 framework, but most users will want to install a graphical XMMS2
client (such as gxmms2 or esperanza).
%package -n libxmmsclient++-glib1
Summary: Glib C++ client library for %name
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Productivity/Multimedia/Sound/Players
%description -n libxmmsclient++-glib1
A simple glib c++ client library for XMMS2.
%package -n libxmmsclient-glib1
Summary: Glib Client library for %name
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Productivity/Multimedia/Sound/Players
%description -n libxmmsclient-glib1
A simple Glib client library for XMMS2.
%package -n libxmmsclient6
Summary: Client library for %name
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Productivity/Multimedia/Sound/Players
%description -n libxmmsclient6
A simple client library for XMMS2.
%package devel
Summary: Development libraries and headers for XMMS2
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Development/Libraries/C and C++
Requires: %name = %version
%if 0%{?suse_version} > 1325
Requires: libboost_headers-devel
%else
Requires: boost-devel
%endif
Requires: libxmmsclient++-glib1
Requires: libxmmsclient-glib1
Requires: libxmmsclient6
Requires: pkgconfig
Requires: pkgconfig(glib-2.0)
%description devel
Development libraries and headers for XMMS2. You probably need this to develop
or build new plugins for XMMS2.
%package doc
Summary: Development documentation for XMMS2
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Documentation/HTML
BuildArch: noarch
%description doc
API documentation for the XMMS2 modular audio framework architecture.
%package -n python-xmms2
Summary: Python support for XMMS2
License: LGPL-2.1+ and GPL-2.0+ and BSD-3-Clause
Group: Development/Languages/Python
Requires: %name = %version
Requires: python
%description -n python-xmms2
Python bindings for XMMS2.
%package perl
Summary: Perl support for XMMS2
License: GPL-1.0-or-later or Artistic-1.0
Group: Development/Languages/Perl
Requires: %name = %version
Requires: perl-base
%description perl
Perl bindings for XMMS2.
%package ruby
Summary: Ruby support for XMMS2
License: GPL-1.0-or-later or Artistic-1.0
Group: Development/Languages/Ruby
Requires: %name = %version
Requires: ruby >= 1.8
%description ruby
Ruby bindings for XMMS2.
%package plugin-base
Summary: Base plugins for %name
License: GPL-1.0-or-later or Artistic-1.0
Group: Productivity/Multimedia/Sound/Players
Requires: %name = %version
%description plugin-base
Contains some basic plugins for XMMS2.
%package plugin-extended
Summary: All plugins for %name
License: GPL-1.0-or-later or Artistic-1.0
Group: Productivity/Multimedia/Sound/Players
Requires: %name-plugin-base = %version
%description plugin-extended
Installs every plugin.
%prep
%autosetup -p1
%build
cp %SOURCE2 .
export CFLAGS="%optflags -fno-strict-aliasing"
export CXXFLAGS="%optflags -fno-strict-aliasing"
python3 waf configure \
--prefix="%_prefix" \
--libdir="%_libdir" \
--with-perl-archdir="%perl_archlib" \
--with-ruby-archdir="%rb_sitearchdir" \
--with-ruby-libdir="%rb_sitelibdir" \
--with-pkgconfigdir="%_libdir/pkgconfig"
python3 waf build -v %{?_smp_mflags}
doxygen
%install
python3 waf install \
--destdir="%buildroot" \
--prefix="%_prefix" \
--libdir="%_libdir" \
--with-ruby-archdir="%rb_sitearchdir" \
--with-ruby-libdir="%rb_sitelibdir" \
--with-perl-archdir="%perl_archlib" \
--with-pkgconfigdir="%_libdir/pkgconfig"
# Convert to utf-8
#for i in %buildroot%_mandir/man1/*.gz; do
# gunzip $i;
#done
#for i in %buildroot%_mandir/man1/*.1; do
# iconv -o $i.iso88591 -f iso88591 -t utf8 $i
# mv $i.iso88591 $i
#done
#install -m0755 %SOURCE1 %buildroot%_bindir
#the libraries are built as 64bit, they are just installed in the wrong dir
#%if "%_lib" == "lib64"
#mv %buildroot%_libexecdir/* %buildroot/%_libdir/
#mv %buildroot/%_libdir/perl* %buildroot%_libexecdir/
#%endif
#
#cp %SOURCE3 %buildroot/%_mandir/man1/
#%fdupes %buildroot
%ldconfig_scriptlets -n libxmmsclient++-glib1
%ldconfig_scriptlets -n libxmmsclient-glib1
%ldconfig_scriptlets -n libxmmsclient6
%files
%_bindir/*xmms*
%_mandir/man1/*.1*
%_datadir/pixmaps/*
%_datadir/%name/
%dir %_libdir/%name/
%_libdir/xmms2/libxmms_ao.so
%_libdir/xmms2/libxmms_apefile.so
%_libdir/xmms2/libxmms_asf.so
%_libdir/xmms2/libxmms_asx.so
%_libdir/xmms2/libxmms_cue.so
%_libdir/xmms2/libxmms_diskwrite.so
%_libdir/xmms2/libxmms_file.so
%_libdir/xmms2/libxmms_flv.so
%_libdir/xmms2/libxmms_html.so
%_libdir/xmms2/libxmms_icymetaint.so
%_libdir/xmms2/libxmms_id3v2.so
%_libdir/xmms2/libxmms_karaoke.so
%_libdir/xmms2/libxmms_m3u.so
%_libdir/xmms2/libxmms_mp4.so
%_libdir/xmms2/libxmms_normalize.so
%_libdir/xmms2/libxmms_null.so
%_libdir/xmms2/libxmms_nulstripper.so
%_libdir/xmms2/libxmms_oss.so
%_libdir/xmms2/libxmms_pls.so
%_libdir/xmms2/libxmms_tta.so
%_libdir/xmms2/libxmms_wave.so
%license COPYING COPYING.GPL COPYING.LGPL
%doc README.mdown README.SUSE
%files -n libxmmsclient++-glib1
%_libdir/libxmmsclient++-glib.so.1*
%files -n libxmmsclient-glib1
%_libdir/libxmmsclient-glib.so.1*
%files -n libxmmsclient6
%_libdir/libxmmsclient.so.6*
%files devel
%_includedir/%name/
%_libdir/libxmmsclient*.so
%_libdir/pkgconfig/*.pc
%files doc
%doc doc/xmms2/html
%if 0
#%files perl
#%perl_archlib/Audio/
#%perl_archlib/auto/Audio/
#
#%files -n python-xmms2
#%dir %python_sitearch/xmmsclient/
#%python_sitearch/xmmsclient/*
#
#%files ruby
#%rb_sitearchdir/*.so
#%rb_sitelibdir/xmmsclient
#%rb_sitelibdir/xmmsclient.rb
%endif
%files plugin-base
%_libdir/xmms2/libxmms_alsa.so
%_libdir/xmms2/libxmms_avcodec.so
%_libdir/xmms2/libxmms_curl.so
%_libdir/xmms2/libxmms_flac.so
%_libdir/xmms2/libxmms_gvfs.so
%_libdir/xmms2/libxmms_modplug.so
%_libdir/xmms2/libxmms_mpg123.so
%_libdir/xmms2/libxmms_opus.so
%_libdir/xmms2/libxmms_pulse.so
%_libdir/xmms2/libxmms_speex.so
%_libdir/xmms2/libxmms_vorbis.so
%files plugin-extended
%_libdir/xmms2/libxmms_airplay.so
%_libdir/xmms2/libxmms_cdda.so
%_libdir/xmms2/libxmms_daap.so
%_libdir/xmms2/libxmms_fluidsynth.so
%_libdir/xmms2/libxmms_gme.so
%_libdir/xmms2/libxmms_ices.so
%_libdir/xmms2/libxmms_jack.so
%_libdir/xmms2/libxmms_mad.so
%_libdir/xmms2/libxmms_mid1.so
%_libdir/xmms2/libxmms_midsquash.so
%_libdir/xmms2/libxmms_mms.so
%_libdir/xmms2/libxmms_musepack.so
%_libdir/xmms2/libxmms_ofa.so
%_libdir/xmms2/libxmms_rss.so
%_libdir/xmms2/libxmms_samba.so
%_libdir/xmms2/libxmms_sndfile.so
%_libdir/xmms2/libxmms_vocoder.so
%_libdir/xmms2/libxmms_wavpack.so
%_libdir/xmms2/libxmms_xml.so
%_libdir/xmms2/libxmms_xspf.so
%changelog