File k3b.spec of Package k3b-kde4

#
# spec file for package k3b
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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/
#


%bcond_without ffmpeg
%bcond_without mad
%bcond_without lame

Name:           k3b
Summary:        A Universal CD and DVD Burning Application
Version:        2.0.80+git20160729.0714
Release:        7.11
%define rversion %version
Url:            http://k3b.sourceforge.net/
Source:         k3b.tar.xz
Source1:        i18n.tar.xz
Source2:        k3b-rpmlintrc
Patch0:         gcc7-fix.patch
# PATCH-FIX-UPSTREAM
Patch1:         Fix-wrong-comparison-if-there-are-no-descriptors.patch
License:        GPL-2.0+
Group:          Productivity/Multimedia/CD/Record
Requires:       /usr/bin/cdrecord /usr/bin/mkisofs /usr/bin/cdrdao dvd+rw-tools
Requires(post):    shared-mime-info
Requires(postun):  shared-mime-info
Recommends:     k3b-lang = %{version}
BuildRequires:  xz
BuildRequires:  cups-devel
BuildRequires:  ruby-devel
BuildRequires:  sqlite-devel
BuildRequires:  libkcddb4-devel
BuildRequires:  libkcompactdisc4-devel
BuildRequires:  libkdepimlibs4-devel >= 4.3.0
BuildRequires:  libqt4-devel >= 4.7
BuildRequires:  libkde4-devel >= 4.7
BuildRequires:  libQtWebKit-devel
#BuildRequires:  tse3-devel
BuildRequires:  update-desktop-files
#BuildRequires:  gstreamer010-devel
BuildRequires:  libmtp-devel
BuildRequires:  libvisual-devel
BuildRequires:  libxine-devel
BuildRequires:  flac-devel
BuildRequires:  libdvdread-devel
BuildRequires:  libvorbis-devel
BuildRequires:  dbus-1-glib-devel
BuildRequires:  libogg-devel
BuildRequires:  libsamplerate-devel
BuildRequires:  libsndfile-devel
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200
BuildRequires:  musepack-devel
%else
BuildRequires:  libmpcdec-devel
%endif
BuildRequires:  libmusicbrainz-devel
BuildRequires:  libtag-devel
%if %{with ffmpeg}
# fails to build with ffmpeg-5
BuildRequires:  pkgconfig(libavcodec) < 59
BuildRequires:  pkgconfig(libavformat) < 59
%endif
%if %{with mad}
BuildRequires:  libmad-devel
%endif
%if %{with lame}
BuildRequires:  libmp3lame-devel
%endif
BuildRequires:  fdupes
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Provides:       k3b-codecs = %{version}-%{release}
Obsoletes:      k3b-codecs <= %{version}-%{release}

%description
K3b is a CD burning application that supports Ogg Vorbis, MP3 audio
files, DVD burning, CDDB, and much more.

%package devel
Summary:        A Universal CD and DVD Burning Application
Group:          Development/Libraries/C and C++
Requires:       k3b = %{version}-%{release}

%description devel
K3b is a CD burning application that supports Ogg Vorbis, MP3 audio
files, DVD burning, CDDB, and much more.

%lang_package
%prep
%autosetup -p1 -n k3b
xz -dc %{S:1} | tar -xf -
# docs are KF5 based meanwhile, fix them to build with KDE4
  for i in $(find . -name "index.docbook"); do
    sed -i -e "s:.*\"dtd/kdedbx45.dtd\".*:<!DOCTYPE book PUBLIC \"-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN\" \"dtd/kdex.dtd\" [:g" $i
  done
echo "add_subdirectory(i18n)" >> CMakeLists.txt

%if %{with mad}
echo "WITH MAD"
%else
echo "WITHOUT MAD"
%endif
%if %{with lame}
echo "WITH LAME"
%else
echo "WITHOUT LAME"
%endif
%if %{with ffmpeg}
echo "WITH FFMPEG"
%else
echo "WITHOUT FFMPEG"
%endif

# fixes taglib version detection problem
cp %{_kde4_appsdir}/cmake/modules/FindTaglib.cmake cmake/modules/
sed 's/STRLESS/VERSION_LESS/g' -i cmake/modules/FindTaglib.cmake

%build
CMAKEPARAMS="-DINCLUDE_INSTALL_DIR=%{_kde4_includedir}/k3b -DK3B_ENABLE_HAL_SUPPORT=OFF -DK3B_ENABLE_PERMISSION_HELPER=ON"
  %cmake_kde4 -d build -- $CMAKEPARAMS
  make %{?jobs:-j%jobs}

%install
  pushd build
  %makeinstall
  popd
  %suse_update_desktop_file k3b DiscBurning
  %kde_post_install
  rm -rf %buildroot%{_datadir}/locale/sr@ijekavian
  rm -rf %buildroot%{_datadir}/locale/sr@ijekavianlatin
  %find_lang k3b k3b.lang
  %find_lang libk3b k3b.lang
  %find_lang libk3bdevice k3b.lang
  %find_lang kio_videodvd k3b.lang
  mkdir -p %buildroot%{_kde4_iconsdir}/hicolor/scalable/apps
  rm -rf %buildroot%{_datadir}/{appdata,metainfo}
  # Handbook belongs to main package ...
  sed -i -e "/lang(en).*HTML/d" k3b.lang

  %fdupes -s "%{buildroot}%{_datadir}"

%post
/sbin/ldconfig
%mime_database_post

%postun
/sbin/ldconfig
%mime_database_postun

%files lang -f k3b.lang

%files
%defattr(-,root,root)
%{_kde4_bindir}/k3b
%dir %{_kde4_modulesdir}
%{_kde4_modulesdir}/k3baudiometainforenamerplugin.so
%{_kde4_modulesdir}/k3baudioprojectcddbplugin.so
%{_kde4_modulesdir}/k3bexternalencoder.so
%{_kde4_modulesdir}/k3bflacdecoder.so
%{_kde4_modulesdir}/k3blibsndfiledecoder.so
%{_kde4_modulesdir}/k3bmpcdecoder.so
%{_kde4_modulesdir}/k3boggvorbisdecoder.so
%{_kde4_modulesdir}/k3boggvorbisencoder.so
%{_kde4_modulesdir}/k3bsoxencoder.so
%{_kde4_modulesdir}/k3bwavedecoder.so
%{_kde4_modulesdir}/kcm_k3bexternalencoder.so
%{_kde4_modulesdir}/kcm_k3boggvorbisencoder.so
%{_kde4_modulesdir}/kcm_k3bsoxencoder.so
%{_kde4_modulesdir}/kio_videodvd.so
%{_kde4_libdir}/libk3blib.so.*
%{_kde4_libdir}/libk3bdevice.so.*
%{_kde4_sharedir}/servicetypes/k3bplugin.desktop
%{_kde4_applicationsdir}/k3b.desktop
%{_kde4_appsdir}/k3b
%{_kde4_appsdir}/konqsidebartng/virtual_folders/services/videodvd.desktop
%dir %{_kde4_servicesdir}
%{_kde4_servicesdir}/ServiceMenus/k3b_*
%{_kde4_servicesdir}/k3baudiometainforenamerplugin.desktop
%{_kde4_servicesdir}/k3baudioprojectcddbplugin.desktop
%{_kde4_servicesdir}/k3bexternalencoder.desktop
%{_kde4_servicesdir}/k3bflacdecoder.desktop
%{_kde4_servicesdir}/k3blibsndfiledecoder.desktop
%{_kde4_servicesdir}/k3bmpcdecoder.desktop
%{_kde4_servicesdir}/k3boggvorbisdecoder.desktop
%{_kde4_servicesdir}/k3boggvorbisencoder.desktop
%{_kde4_servicesdir}/k3bsoxencoder.desktop
%{_kde4_servicesdir}/k3bwavedecoder.desktop
%{_kde4_servicesdir}/kcm_k3bexternalencoder.desktop
%{_kde4_servicesdir}/kcm_k3boggvorbisencoder.desktop
%{_kde4_servicesdir}/kcm_k3bsoxencoder.desktop
%{_kde4_servicesdir}/videodvd.protocol
%dir %{_kde4_appsdir}/solid
%dir %{_kde4_appsdir}/solid/actions
%{_kde4_appsdir}/solid/actions/k3b_*.desktop
%{_datadir}/mime/packages/x-k3b.xml
%{_kde4_iconsdir}/hicolor/*/apps/k3b.*
%{_datadir}/polkit-1/actions/*.policy
%config %{_sysconfdir}/dbus-1/system.d/*.conf
%{_datadir}/dbus-1/system-services/*.service
%{_kde4_modulesdir}/libexec/k3bhelper
%{_kde4_docdir}/HTML/en/k3b
%{_kde4_iconsdir}/*/*/mimetypes/application-x-k3b.*
#/usr/share/appdata/k3b.appdata.xml
%if %{with ffmpeg}
%{_kde4_modulesdir}/k3bffmpegdecoder.so
%{_kde4_servicesdir}/k3bffmpegdecoder.desktop
%endif #ffmpeg
%if %{with mad}
%{_kde4_modulesdir}/k3bmaddecoder.so
%{_kde4_servicesdir}/k3bmaddecoder.desktop
%endif #mad
%if %{with lame}
%{_kde4_modulesdir}/k3blameencoder.so
%{_kde4_modulesdir}/kcm_k3blameencoder.so
%{_kde4_servicesdir}/k3blameencoder.desktop
%{_kde4_servicesdir}/kcm_k3blameencoder.desktop
%endif #lame

%files devel
%defattr(-,root,root)
%{_kde4_includedir}/k3b*
%{_kde4_libdir}/libk3blib.so
%{_kde4_libdir}/libk3bdevice.so

%changelog
* Tue Feb 08 2022 wbauer@tmo.at
- Add Fix-wrong-comparison-if-there-are-no-descriptors.patch to fix possible crash when
  trying to determine the supported write speeds (kde#328529, kde#382941)
* Fri Oct 30 2020 wbauer@tmo.at
- Build with musepack-devel instead of libmpcdec-devel on Leap 15.2 and Tumbleweed
  to support Musepack SV8 streams as well
* Tue Jun 20 2017 wbauer@tmo.at
- drop separate k3b-codecs sub package, mp3 support is included in the main package now
* Thu Jun 01 2017 wbauer@tmo.at
- Add gcc7-fix.patch to make it build with GCC7
* Tue Sep 22 2015 olaf@aepfle.de
- Use pkgconfig for ffmpeg BuildRequires
* Wed Dec 18 2013 joerg.lorenzen@ki.tng.de
- Downgrade to release 2.0.2 due to segmentation faults (see kde bug 328258)
* Thu Dec 12 2013 joerg.lorenzen@ki.tng.de
- Added lang tarball, taken from openSUSE Build Service/KDE:Extra
* Sun Nov 24 2013 joerg.lorenzen@ki.tng.de
- 2.0.80.git20131118
  Update to latest git master including upstreamed SUSE patches
  Changes:
  * Revamped project size indicator widget - it now fits better into a widget style
  * Using KDE Plasma's global progress bar replacing K3b's own progress OSD (205843)
  * Usability: reduced number of message boxes interrupting user actions (196604)
  * Moved configuration of devices and programs permissions from SystemSettings to K3b's own settings window (220040)
  Bugfixes:
  * Added dynamic hiding of irrelevant actions in mixed project (142954)
  * Added sorting in data project view (191660)
  * Improved performance of adding/removing large number of files to a data project (226029)
  * Fixed crashes when editing mixed project (266942, 265775)
  * Usability: Inform the user if the inserted medium is not suitable (259761)
- 2.0.3
  Bugfixes:
  * Missing "Extract Digital Audio with K3b" in device notifier for Audio CD medium (265819)
  * Clearing up track info in audio project when CDDB query failed
  * Improper track number in CDDB track edit window title (276681)
  * Crash on detecting writing speeds (272427)
  * Incorrect capacity returned by HL-DT-ST BH10LS30. Patch by Stephane Berthelot, thanks! (268307)
  * Compilation fails with new FFMPEG (274817)
* Sat Oct 19 2013 Manfred.Tremmel@iiv.de
- updated ffmpeg patch to compile against ffmpeg 2.0
* Sun May 27 2012 Manfred.Tremmel@iiv.de
- added a patch to compile against ffmpeg 0.11
* Fri Apr 27 2012 pascal.bleser@opensuse.org
- add patches from openSUSE:Factory/k3b to build with latest ffmpeg:
  https://bugs.links2linux.org/browse/PM-5
* Sat May 14 2011 pascal.bleser@opensuse.org
- add strict requires on version *and* release, to avoid unnoticed conflicts
  with other k3b packages
- add "Enhanced: k3b" in k3b-codecs
* Mon Jan 31 2011 detlef@links2linux.de
- update to 2.0.2
* Fri Aug 27 2010 pascal@links2linux.de
- update to 2.0.1
* Sun Jun 27 2010 andrea@opensuse.org
- New upstream version 2.0.0
* Mon May 24 2010 andrea@opensuse.org
- update to 1.92.0 rc3
* Wed Apr 28 2010 Manfred.Tremmel@iiv.de
- fixed build against latest ffmpeg snapshot by redefining
  optflags, included -D__STDC_CONSTANT_MACROS
* Sun Mar 14 2010 pascal@links2linux.de
- update to 1.90.1rc2 (as 1.90.1_rc2, final will be 1.90.1+0)
- translations from SVN
* Tue Feb  2 2010 andrea@opensuse.org
- update to 1.70.0 beta 1
* Wed Dec  2 2009 andrea@opensuse.org
- update to 1.69 alpha 4
* Sat Oct 17 2009 beineri@opensuse.org
- update to 1.68 Alpha 3: many bugfixes
- updated translations from SVN
* Sun Oct  4 2009 beineri@opensuse.org
- updated translations from SVN
* Tue Aug 11 2009 beineri@opensuse.org
- update to r1009369, add documentation & translations (bnc#529600)
* Thu Jul 30 2009 beineri@opensuse.org
- apply trunk diff (r1004480) when building on 11.2
* Thu Jul 23 2009 beineri@opensuse.org
- apply trunk diff (r1001450) when building on 11.2
* Wed May 27 2009 beineri@opensuse.org
- update to 1.66 Alpha 2: many bugfixes
* Sun May  3 2009 cmorve69@yahoo.es
- Add support for Musepack/MPC
- Disable K3BSetup
* Thu Apr 23 2009 beineri@opensuse.org
- rename to k3b, update to 1.65.0 Alpha
* Sat Mar 21 2009 beineri@opensuse.org
- update to 4.2.1.svn942189
* Wed Feb 25 2009 stbinner@suse.de
- update to 4.2.0.svn931376
* Wed Feb 18 2009 stbinner@suse.de
- update to 4.2.0.svn927728
* Fri Jan 23 2009 stbinner@suse.de
- update to 4.1.4.svn915827
* Wed Jan  7 2009 stbinner@suse.de
- update to 4.1.4.svn907132
* Tue Dec 16 2008 stbinner@suse.de
- update to 4.1.3.svn897517
* Sat Nov 22 2008 stbinner@suse.de
- update to 4.1.3.svn887510
* Fri Nov  7 2008 stbinner@suse.de
- update to 4.1.3.svn881374
* Sat Sep 13 2008 stbinner@suse.de
- update to 4.1.1.svn860449
* Fri Aug 22 2008 stbinner@suse.de
- update to 4.1.0.svn851044
* Fri Jul 25 2008 stbinner@suse.de
- update to 4.1.0.svn837567
* Wed Jul 16 2008 stbinner@suse.de
- update to 4.0.98.svn833153
* Fri Jun 27 2008 dmueller@suse.de
- update to 4.0.84.svn825098
* Tue Jun  3 2008 dmueller@suse.de
- update to 4.0.81.svn816194
* Thu May 15 2008 dmueller@suse.de
- update to 4.0.74.svn808129
* Wed May  7 2008 dmueller@suse.de
- update to 4.0.73.svn805196
* Thu Apr 24 2008 dmueller@suse.de
- update to 4.0.71.svn800684
* Fri Apr 18 2008 dmueller@suse.de
- update to 4.0.69.svn798537
* Wed Apr  2 2008 dmueller@suse.de
- update to 4.0.68.svn792936
* Thu Feb 14 2008 dmueller@suse.de
- update to 4.0.62.svn775117
* Wed Nov 28 2007 dmueller@suse.de
- update to 3.96.0.svn742626
* Thu Nov  1 2007 dmueller@suse.de
- update to 3.95.0.svn731749
openSUSE Build Service is sponsored by