diff --git a/.gitignore b/.gitignore index 17939c2..5d71b1c 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ /audacious-3.5.tar.bz2 /audacious-3.5.1.tar.bz2 /audacious-3.5.2.tar.bz2 +/audacious-3.6.tar.bz2 diff --git a/README b/README index 677bbfb..956d27d 100644 --- a/README +++ b/README @@ -1,3 +1,9 @@ +xmp-plugin-audacious rewritten for Audacious 3.6-alpha1 C++ API +https://github.com/mschwendt/xmp-plugin-audacious +XMP upstream has been made aware of the major changes + +Audacious 3.6 introduces C++11 usage and bumps the plugin API to 46 + xmp-plugin-audacious ported to Audacious 3.5 API https://github.com/cmatsuoka/xmp-plugin-audacious/pull/2 diff --git a/audacious.spec b/audacious.spec index 53254d4..650523f 100644 --- a/audacious.spec +++ b/audacious.spec @@ -1,31 +1,50 @@ -# Minimum audacious/audacious-plugins version in inter-package dependencies. -%global aud_ver 3.5 +### Fedora 22 package -%global tar_ver 3.5.2 +# if without gtk2, build with gtk3 (requires a different source tarball) +%bcond_without gtk2 +# build without Qt +%bcond_with qt -# Audacious Generic Plugin API defined in audacious-libs subpackage. +Name: audacious +Version: 3.6 +Release: 3%{?dist} +%if %{with gtk2} + %global tar_ver %{version} +%else + %global tar_ver %{version}-gtk3 +%endif -Name: audacious -Version: 3.5.2 -Release: 1%{?dist} +# Minimum audacious/audacious-plugins version in inter-package dependencies. +%global aud_ver 3.6 + +# Audacious Generic Plugin API is defined in audacious-libs subpackage. License: BSD Summary: Advanced audio player URL: http://audacious-media-player.org/ Group: Applications/Multimedia -Source0: http://distfiles.audacious-media-player.org/audacious-%{tar_ver}.tar.bz2 +Source0: http://distfiles.audacious-media-player.org/%{name}-%{tar_ver}.tar.bz2 # validated: 2013-11-03 / screenshot commented out for now Source1: audacious.appdata.xml BuildRequires: gettext -BuildRequires: gtk3-devel -BuildRequires: libguess-devel -BuildRequires: dbus-devel -BuildRequires: dbus-glib-devel +%if %{with gtk2} +BuildRequires: pkgconfig(gtk+-2.0) +%else +BuildRequires: pkgconfig(gtk+-3.0) +%endif +BuildRequires: pkgconfig(libguess) BuildRequires: desktop-file-utils +%if %{with qt} +BuildRequires: qt5-qtbase-devel +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Gui) +BuildRequires: pkgconfig(Qt5Widgets) +%endif + # The automatic SONAME dependency is not enough # during version upgrades. Requires: audacious-libs%{?_isa} = %{version}-%{release} @@ -43,7 +62,7 @@ Provides: xmms-gui %description Audacious is an advanced audio player. It is free, lightweight, currently -based on GTK+ 3, runs on Linux and many other *nix platforms and is +based on GTK+ %{?with_gtk2:2}%{!?with_gtk2:3}, runs on Linux and many other *nix platforms and is focused on audio quality and supporting a wide range of audio codecs. It still features an alternative skinned user interface (based on Winamp 2.x skins). Historically, it started as a fork of Beep Media @@ -57,8 +76,8 @@ Group: System Environment/Libraries # As defined in /usr/include/audacious/plugin.h: _AUD_PLUGIN_VERSION # This must be an exact match for plugin .so files to load. # If multiple versions are supported, add multiple Provides below. -%global aud_plugin_api 45 -%global aud_plugin_api_min 45 +%global aud_plugin_api 46 +%global aud_plugin_api_min 46 Provides: audacious(plugin-api)%{?_isa} = %{aud_plugin_api} #Provides: audacious(plugin-api)%{?_isa} = 45 #Provides: audacious(plugin-api)%{?_isa} = %{aud_plugin_api_min} @@ -72,8 +91,11 @@ Summary: Development files for the Audacious audio player Group: Development/Libraries Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: glib2-devel%{?_isa} +%if %{with gtk2} +Requires: gtk2-devel%{?_isa} +%else Requires: gtk3-devel%{?_isa} -Requires: dbus-glib-devel%{?_isa} +%endif # added on 2014-02-23 (F21 development) Obsoletes: %{name}-doc < 3.5 @@ -85,24 +107,38 @@ Files needed when building software for the Audacious audio player. %setup -q -n %{name}-%{tar_ver} # Verify the value of the audacious(plugin-api) Provides. -api=$(grep '[ ]*#define[ ]*_AUD_PLUGIN_VERSION[ ]\+' src/audacious/api.h | sed 's!.*_AUD_PLUGIN_VERSION[ ]*\([0-9]\+\).*!\1!') +api=$(grep '[ ]*#define[ ]*_AUD_PLUGIN_VERSION[ ]\+' src/libaudcore/plugin.h | sed 's!.*_AUD_PLUGIN_VERSION[ ]*\([0-9]\+\).*!\1!') [ "${api}" == "%{aud_plugin_api}" ] || exit -1 -api_min=$(grep '[ ]*#define[ ]*_AUD_PLUGIN_VERSION_MIN' src/audacious/api.h | sed 's!.*_AUD_PLUGIN_VERSION_MIN[ ]*\([0-9]\+\).*!\1!') +api_min=$(grep '[ ]*#define[ ]*_AUD_PLUGIN_VERSION_MIN' src/libaudcore/plugin.h | sed 's!.*_AUD_PLUGIN_VERSION_MIN[ ]*\([0-9]\+\).*!\1!') [ "${api_min}" == "%{aud_plugin_api_min}" ] || exit -1 sed -i '\,^.SILENT:,d' buildsys.mk.in %build +%if %{with qt} +rm -rf _bin +mkdir _bin +ln -s /usr/bin/moc-qt5 _bin/moc +export PATH=$PATH:$(pwd)/_bin +%endif + %configure \ +%if %{with qt} + --enable-qt \ +%else + --disable-qt \ +%endif + --enable-gtk \ --with-buildstamp="Fedora package" \ + --disable-silent-rules \ --disable-rpath \ --disable-dependency-tracking make %{?_smp_mflags} %install -make install DESTDIR=${RPM_BUILD_ROOT} INSTALL="install -p" +%make_install INSTALL="install -p" find ${RPM_BUILD_ROOT} -type f -name "*.la" -exec rm -f {} ';' %find_lang %{name} @@ -146,23 +182,51 @@ fi %files libs # license file included in this subpkg # for Fedora Licensing Guidelines change (2010-07-07) -%doc COPYING +%license COPYING %{_libdir}/*.so.* %files devel %{_includedir}/audacious/ %{_includedir}/libaudcore/ %{_includedir}/libaudgui/ +%if %{with qt} +%{_includedir}/libaudqt/ +%endif %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %changelog -* Wed Oct 22 2014 Michael Schwendt - 3.5.2-1 -- Update to 3.5.2 (announced as final release in the 3.5 series). - -* Fri Aug 15 2014 Fedora Release Engineering - 3.5.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild +* Tue Mar 3 2015 Michael Schwendt - 3.6-3 +- For Fedora 22, build with gtk2 and without Qt by default. +- Switch some BuildRequires to pkgconfig-style, but don't do the same + in the -devel package Requires (as those shall stay arch-specific). +- Use %%make_install and %%license. + +* Mon Mar 2 2015 Michael Schwendt - 3.6-2 +- Add build switches for test-building: + --with gtk2 + --without qt + +* Sun Mar 1 2015 Michael Schwendt - 3.6-1 +- Update to 3.6 final release. +- Derive source tarball version and builddir from %%version as to avoid + a version definition in two macros. + +* Sun Feb 15 2015 Michael Schwendt - 3.6-0.3.beta1 +- Update to 3.6-beta1-gtk3. + +* Tue Dec 9 2014 Michael Schwendt - 3.6-0.2.alpha1 +- Update to 3.6-alpha1-gtk3. +- Oct 7: 3.6-0.1.20141007gitg1f157d1 +- Audacious is linked with Qt libraries now by default. +- Add a hack in %%build to make available moc-qt5 as moc in PATH. +- Generic plugin API/ABI bumped to 46, with 46 also being the minimum. +- Plugin API version definition has moved to libaudcore header directory. +- Build with --enable-qt and --enable-gtk. +- Remove BR dbus-devel and dbus-glib-devel. +- Upgrade to git snapshot for another look at the Qt GUI and + the switch to C++. * Thu Jul 24 2014 Michael Schwendt - 3.5.1-1 - Update to 3.5.1. diff --git a/sources b/sources index 59dce10..5c6bb18 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8705fa8ac872e7d9f4b4ad867a0d1937 audacious-3.5.2.tar.bz2 +bdc1eb06c39cf84247a2b75920c9f9a0 audacious-3.6.tar.bz2