diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..0bc293a
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ tests
+
diff --git a/_service b/_service
new file mode 100644
index 0000000..80f2d2c
--- /dev/null
+++ b/_service
@@ -0,0 +1,16 @@
+
+
+ 1.11.2
+ 1.11.2~git%cd.%h
+ https://github.com/taglib/taglib.git
+ git
+ .git
+ enable
+ taglib
+
+
+ xz
+ *.tar
+
+
+
diff --git a/taglib-1.11.2~git20190531.ba7adc2b.tar.xz b/taglib-1.11.2~git20190531.ba7adc2b.tar.xz
new file mode 100644
index 0000000..f79487d
--- /dev/null
+++ b/taglib-1.11.2~git20190531.ba7adc2b.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:afb4fcd7564a65d5fee0be656311d6061b9ed8a85367c942bb82c900169f6fc4
+size 902932
diff --git a/taglib-1.11.2~git20190601.tar.gz b/taglib-1.11.2~git20190601.tar.gz
deleted file mode 100644
index 3f7ead4..0000000
--- a/taglib-1.11.2~git20190601.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5ca08920a9a7e8ef5fc1bbb235aecea37ba63cd2025695b08cd7d1d719ec0633
-size 1300498
diff --git a/taglib.changes b/taglib.changes
index f0dbd5b..b230f4a 100644
--- a/taglib.changes
+++ b/taglib.changes
@@ -1,3 +1,28 @@
+-------------------------------------------------------------------
+Wed Jul 17 08:21:00 UTC 2019 - Tomáš Chvátal
+
+- Use version 1.11.2~git20190531.ba7adc2b to match up the
+ update-version.patch
+- Install examples
+
+-------------------------------------------------------------------
+Mon Jul 8 09:06:19 UTC 2019 - Tomáš Chvátal
+
+- Switch to service file for generating the package
+- Use conditions to enable the multibuild tests in other loop while
+ also generating the docs
+- Make sure the tests are actually executed
+
+-------------------------------------------------------------------
+Thu Jul 4 18:04:10 UTC 2019 - Stefan Brüns
+
+- Split API documentation from devel package, and convert it to multibuild
+ - API documentation is significantly larger than library and headers
+ - API documentation is noarch
+ - Significantly reduced dependency chain for the library package
+- Use graphviz-gd instead of graphviz-gnome for API docs
+- Cleanup specfile
+
-------------------------------------------------------------------
Sun Jun 2 12:06:18 UTC 2019 - Stefan Brüns
diff --git a/taglib.spec b/taglib.spec
index 5c801ec..e3c5e86 100644
--- a/taglib.spec
+++ b/taglib.spec
@@ -16,33 +16,44 @@
#
-%define rev ba7adc2bc261ed634c2a964185bcffb9365ad2f4
-
-Name: taglib
-Version: 1.11.2~git20190601
+%global flavor @BUILD_FLAVOR@%{nil}
+%global sname taglib
+%if "%{flavor}" != ""
+%global psuffix -%{flavor}
+# build also examples with tests
+%bcond_without tests
+%else
+%global psuffix %{nil}
+%bcond_with tests
+%endif
+Name: taglib%{psuffix}
+Version: 1.11.2~git20190531.ba7adc2b
Release: 0
Summary: Audio Meta-Data Library
License: LGPL-2.1-or-later AND MPL-1.1
Group: Productivity/Multimedia/Other
URL: http://taglib.github.io/
-Source0: https://github.com/taglib/taglib/archive/%{rev}.tar.gz#/%{name}-%{version}.tar.gz
-#Source0: http://taglib.github.io/releases/%%{name}-%%{version}.tar.gz
-Source1: %{name}.desktop
+Source0: %{sname}-%{version}.tar.xz
+Source1: %{sname}.desktop
Source100: baselibs.conf
Patch0: taglib-versionbump.patch
BuildRequires: cmake >= 2.8
-BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
-BuildRequires: graphviz-gnome
-BuildRequires: libcppunit-devel
BuildRequires: pkgconfig
-BuildRequires: update-desktop-files
BuildRequires: pkgconfig(zlib)
# NOTE: The tagreader and writer executables give different results when built with
# an earlier taglib-1.8-ds-rusxmms patch. See bnc#814814
-Requires: libtag1 = %{version}-%{release}
-Requires: libtag_c0 = %{version}-%{release}
+Requires: libtag1 >= %{version}-%{release}
+Requires: libtag_c0 >= %{version}-%{release}
+%if %{with tests}
+BuildRequires: doxygen
+BuildRequires: ghostscript-fonts-std
+BuildRequires: graphviz-gd
+BuildRequires: libcppunit-devel
+BuildRequires: pkgconfig
+BuildRequires: update-desktop-files
+%endif
%description
TagLib is a library for reading and editing the meta-data of several popular
@@ -81,8 +92,8 @@ Summary: Development files for taglib
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
Requires: libstdc++-devel
-Requires: libtag1 = %{version}-%{release}
-Requires: libtag_c0 = %{version}-%{release}
+Requires: libtag1 >= %{version}-%{release}
+Requires: libtag_c0 >= %{version}-%{release}
# taglib-devel was last used in openSUSE 11.4 (taglib-devel-1.6.2)
# The last taglib-devel used was version 1.6.3 from multimedia:libs.
Provides: taglib-devel = %{version}
@@ -91,68 +102,95 @@ Obsoletes: taglib-devel <= 1.6.3
%description -n libtag-devel
This package contains development files for taglib.
+%package -n libtag-doc
+Summary: API documentation for taglib
+License: LGPL-2.1-or-later
+Group: Documentation/HTML
+BuildArch: noarch
+
+%description -n libtag-doc
+This package contains the taglib API Documentation in HTML format.
+
%prep
-%setup -q -n %{name}-%{rev}
-%patch0 -p0
+%setup -q -n %{sname}-%{version}
+%patch0
%build
+# The testing needs static libs too
%cmake \
- -DBUILD_TESTS:BOOL=ON \
-DWITH_ASF:BOOL=ON \
-DWITH_MP4:BOOL=ON \
+%if %{with tests}
+ -DBUILD_TESTS:BOOL=ON \
+ -DBUILD_EXAMPLES:BOOL=OFF \
+ -DBUILD_STATIC_LIBS:BOOL=ON \
+ -DBUILD_SHARED_LIBS:BOOL=OFF
+%else
+ -DBUILD_TESTS:BOOL=OFF \
-DBUILD_EXAMPLES:BOOL=ON
-make %{?_smp_mflags} all docs
+%endif
+%cmake_build
+
+%if %{with tests}
+%cmake_build docs
+%endif
%install
-%cmake_install
-
+%if %{with tests}
# install susehelp file
mkdir -p %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/
install -pm 0644 %{SOURCE1} %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/
-%suse_update_desktop_file %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/%{name}.desktop
+%suse_update_desktop_file %{buildroot}%{_datadir}/susehelp/meta/Development/Libraries/%{sname}.desktop
# Documentation
-mkdir -p %{buildroot}%{_defaultdocdir}/libtag-devel
-rm -f examples/CMake*
-cp -a AUTHORS NEWS build/doc/html/ examples/ %{buildroot}%{_defaultdocdir}/libtag-devel/
-
-# Add built examples to taglib package.
-mkdir -p %{buildroot}%{_bindir}
-for i in `find build/examples -maxdepth 1 ! -type d -executable`; do cp -v ${i} %{buildroot}%{_bindir}/; done
+mkdir -p %{buildroot}%{_defaultdocdir}/libtag-doc
+# Copy manually, otherwise fdupes does not work
+cp -a build/doc/html/ %{buildroot}%{_defaultdocdir}/libtag-doc/
+%else
+%cmake_install
+# install the examples
+install -m755 build/examples/{framelist,strip-id3v1,tagreader,tagreader_c,tagwriter} %{buildroot}%{_bindir}
+%endif
%fdupes %{buildroot}
-%post
-%desktop_database_post
-
-%postun
-%desktop_database_postun
+%check
+%if %{with tests}
+%ctest
+%endif
+%if !%{with tests}
%post -n libtag1 -p /sbin/ldconfig
%postun -n libtag1 -p /sbin/ldconfig
%post -n libtag_c0 -p /sbin/ldconfig
%postun -n libtag_c0 -p /sbin/ldconfig
-%files -n libtag1
-%{_libdir}/libtag.so.1
-%{_libdir}/libtag.so.1.*
-
-%files -n libtag_c0
-%{_libdir}/libtag_c.so.0
-%{_libdir}/libtag_c.so.0.*
-
-%files -n libtag-devel
-%doc %{_defaultdocdir}/libtag-devel
-%{_bindir}/taglib-config
-%{_includedir}/taglib/
-%{_libdir}/libtag*.so
-%{_libdir}/pkgconfig/*.pc
-%{_datadir}/susehelp/
-
%files
%license COPYING.LGPL COPYING.MPL
%{_bindir}/*
%exclude %{_bindir}/taglib-config
+%files -n libtag1
+%license COPYING.LGPL COPYING.MPL
+%{_libdir}/libtag.so.1
+%{_libdir}/libtag.so.1.*
+
+%files -n libtag_c0
+%license COPYING.LGPL COPYING.MPL
+%{_libdir}/libtag_c.so.0
+%{_libdir}/libtag_c.so.0.*
+
+%files -n libtag-devel
+%{_bindir}/taglib-config
+%{_includedir}/taglib/
+%{_libdir}/libtag*.so
+%{_libdir}/pkgconfig/*.pc
+%else
+%files -n libtag-doc
+%doc AUTHORS NEWS examples
+%{_docdir}/libtag-doc/html
+%{_datadir}/susehelp/
+%endif
+
%changelog