Blob Blame History Raw

# TODO:
# 1. package some noarch bits separately: apidocs.

Summary: K Desktop Environment 4 - Libraries
Version: 4.0.0
Release: 1%{?dist}

%if 0%{?fedora} > 8
Name: kdelibs
Epoch: 6
Obsoletes: kdelibs4 < %{version}-%{release}
Provides:  kdelibs4 = %{version}-%{release}
%else
Name: kdelibs4
%endif

# LGPLv2: everything, except (see below)
# BSD: kdoctools/
# GFDL: kdoctools/customization ?
License: LGPLv2
URL:     http://www.kde.org/
Group:   System Environment/Libraries
Source0: ftp://ftp.kde.org/pub/kde/unstable/%{version}/src/kdelibs-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# for macros.kde4
BuildRequires: kde-filesystem >= 4
Requires: dbus-x11
Requires: hicolor-icon-theme
# not *strictly* required here, but how better to pull kdebase-runtime in?  -- Rex
#Requires: kdebase-runtime
#Requires: oxygen-icon-theme
Requires: kde-filesystem >= 4
Requires: kde-settings
%{?_kde4_macros_api:Requires: kde4-macros(api) = %{_kde4_macros_api} }
Requires: shared-mime-info
%if "%{name}" == "kdelibs"
Requires: kdelibs-common
%endif

Source1: kde4.sh
Source2: kde4.csh

# make -devel packages parallel-installable
Patch0: kdelibs-3.95.0-parallel_devel.patch
# fix kde#149703
Patch1: kdelibs-3.93.0-kde149703.diff
# fix kde#149705
Patch2: kdelibs-3.95.0-kde149705.patch
# FLAC 1.1.3+ support for FindFlac.cmake (patch by Alex Merry)
# http://lists.kde.org/?l=kde-multimedia&m=119806833708186&w=2
Patch3: kdelibs-3.97.0-flac113.patch
# Force Phonon to use the ALSA default device by default
# This should make it work better with PulseAudio.
Patch4: kdelibs-3.97.0-alsa-default-device.patch

BuildRequires: qt4-devel >= 4.3.0
Requires: qt4 >= %{_qt4_version} 
Requires: xdg-utils
Requires(post): /sbin/ldconfig xdg-utils
Requires(postun): /sbin/ldconfig xdg-utils

BuildRequires: alsa-lib-devel
%if 0%{?fedora} < 9
# we don't want a hard dependency on aspell on F9+, use enchant only
BuildRequires: aspell-devel
%endif
BuildRequires: avahi-devel
BuildRequires: bzip2-devel
BuildRequires: cmake
BuildRequires: cups-devel cups
BuildRequires: enchant-devel
BuildRequires: gamin-devel
BuildRequires: gettext-devel
BuildRequires: giflib-devel
# busted at least on x86_64
#BuildRequires: hspell-devel
BuildRequires: jasper-devel
BuildRequires: krb5-devel
BuildRequires: libacl-devel libattr-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
BuildRequires: libxslt-devel libxml2-devel
BuildRequires: OpenEXR-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: shared-mime-info
BuildRequires: soprano-devel >= 1.99
BuildRequires: strigi-devel >= 0.5.7
BuildRequires: zlib-devel
# extra X deps (seemingly needed and/or checked-for by most kde4 buildscripts) 
%define x_deps libXcomposite-devel libXdamage-devel libxkbfile-devel libXpm-devel libXScrnSaver-devel libXtst-devel libXv-devel libXxf86misc-devel
%{?x_deps:BuildRequires: %{x_deps}}
BuildRequires: openssh-clients
BuildRequires: subversion

%description
Libraries for the K Desktop Environment 4.

%if "%{name}" == "kdelibs"
%package common
Group: System Environment/Libraries
Summary: Common files for KDE 3 and KDE 4 libraries
%description common
This package includes the common files for the KDE 3 and KDE 4 libraries.
%endif

%package devel
Group: Development/Libraries
Summary: Header files for compiling KDE 4 applications
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
%if "%{name}" != "kdelibs4"
Obsoletes: kdelibs4-devel < %{version}-%{release}
Provides:  kdelibs4-devel = %{version}-%{release}
%endif
Requires: qt4-devel
Requires: openssl-devel
Requires: bzip2-devel gamin-devel libacl-devel zlib-devel
Requires: strigi-devel >= 0.5.7
%{?x_deps:Requires: %{x_deps}}
%description devel
This package includes the header files you will need to compile
applications for KDE 4.


%prep
%setup -q -n kdelibs-%{version}

%patch0 -p1 -b .parallel_devel
%patch1 -p1 -b .kde149703
%patch2 -p1 -b .kde149705
%patch3 -p1 -b .flac113
%patch4 -p1 -b .alsa-default


%build

mkdir -p %{_target_platform}
pushd %{_target_platform} 
%{cmake_kde4} ..
popd

make %{?_smp_mflags} -C %{_target_platform} VERBOSE=1

# FIXME/TODO: apidocs
# doc/api/doxygen.sh --doxdatadir=doc/common .


%install
rm -rf %{buildroot}

make install DESTDIR=%{buildroot} -C %{_target_platform}

# see also use-of/patching of XDG_MENU_PREFIX in kdebase
mv %{buildroot}%{_kde4_sysconfdir}/xdg/menus/applications.menu \
   %{buildroot}%{_kde4_sysconfdir}/xdg/menus/kde4-applications.menu

%if "%{name}" != "kdelibs"
# remove files which conflict with KDE 3
rm -f %{buildroot}%{_kde4_bindir}/checkXML %{buildroot}%{_kde4_bindir}/kjscmd \
      %{buildroot}%{_kde4_bindir}/kunittestmodrunner
rm -f %{buildroot}%{_kde4_configdir}/kdebug.areas %{buildroot}%{_kde4_configdir}/kdebugrc \
      %{buildroot}%{_kde4_configdir}/kdeprintrc %{buildroot}%{_kde4_configdir}/ui/ui_standards.rc
rm -f %{buildroot}%{_kde4_docdir}/HTML/en/common/*
rm -f %{buildroot}%{_kde4_sharedir}/locale/all_languages
%endif

# move devel symlinks
mkdir -p %{buildroot}%{_kde4_libdir}/kde4/devel
pushd %{buildroot}%{_kde4_libdir}
for i in lib*.so
do
  case "$i" in
    libkdeinit4_*.so)
      ;;
    *)
      linktarget=`readlink "$i"`
      rm -f "$i"
      ln -sf "../../$linktarget" "kde4/devel/$i"
      ;;
  esac
done
popd

install -p -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/kde4.sh
install -p -m 644 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/kde4.csh


%post
/sbin/ldconfig ||:
xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || :
xdg-desktop-menu forceupdate 2> /dev/null || :

%postun 
/sbin/ldconfig ||:
xdg-icon-resource forceupdate --theme hicolor 2> /dev/null || :
xdg-desktop-menu forceupdate 2> /dev/null || :


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc AUTHORS README TODO
%doc COPYING.LIB
%config(noreplace) %{_sysconfdir}/profile.d/*
%{_kde4_bindir}/*
%exclude %{_kde4_bindir}/kconfig_compiler4
%{_kde4_appsdir}/*
# kdewidgets
%exclude %{_kde4_bindir}/makekdewidgets4
%exclude %{_kde4_appsdir}/kdewidgets/
%exclude %{_kde4_libdir}/kde4/plugins/designer/kdewidgets.*
# ksgmltools2
%exclude %{_kde4_appsdir}/ksgmltools2/
%{_kde4_configdir}/*
%{_datadir}/dbus-1/interfaces/*
%{_kde4_datadir}/mime/packages/*
%{_kde4_sharedir}/kde4/services/*
%{_kde4_sharedir}/kde4/servicetypes/*
%{_kde4_sharedir}/icons/hicolor/*/actions/presence_*
%{_kde4_docdir}/HTML/en/*
%{_kde4_libdir}/lib*.so.*
%{_kde4_libdir}/libkdeinit4_*.so
%{_kde4_libdir}/kde4/
%exclude %{_kde4_libdir}/kde4/devel/
%{_kde4_sysconfdir}/xdg/menus/*.menu
%doc %{_mandir}/man*/*
# kdelibs-common comes from here for fedora >= 9
%if "%{name}" == "kdelibs"
%exclude %{_kde4_configdir}/kdebug.areas
%exclude %{_kde4_configdir}/kdebugrc
%exclude %{_kde4_configdir}/ui/ui_standards.rc
%exclude %{_kde4_docdir}/HTML/en/common

%files common
%defattr(-,root,root,-)
%{_kde4_configdir}/kdebug.areas
%{_kde4_configdir}/kdebugrc
%dir %{_kde4_configdir}/ui
%{_kde4_configdir}/ui/ui_standards.rc
%{_kde4_docdir}/HTML/en/common
%{_kde4_datadir}/locale/all_languages/
%endif

%files devel
%defattr(-,root,root,-)
%doc KDE4PORTING.html
%{_kde4_bindir}/kconfig_compiler4
%{_kde4_bindir}/makekdewidgets4
%{_kde4_appsdir}/kdewidgets/
%dir %{_kde4_libdir}/kde4/plugins/designer
%{_kde4_libdir}/kde4/plugins/designer/kdewidgets.*
%{_kde4_appsdir}/ksgmltools2/
%{_kde4_includedir}/*
%{_kde4_libdir}/kde4/devel/


%changelog
* Mon Jan 07 2008 Than Ngo <than@redhat.com> 4.0.0-1
- 4.0.0

* Fri Jan 04 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.97.0-11
- force Phonon to use the ALSA default device by default

* Wed Jan 02 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.97.0-10
- apply patch by Alex Merry to support FLAC 1.1.3+ in FindFlac.cmake

* Sat Dec 22 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.97.0-9
- drop BR aspell-devel on F9+, use only enchant (FeatureDictionary)

* Tue Dec 18 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.97.0-8
- don't put binaries into kdelibs-common, they drag in kdelibs (#417251)

* Mon Dec 17 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.97.0-7
- split out kdelibs-common on F9+ (shared with KDE 3) (#417251)
- Requires: kdelibs-common (F9+) (#417251)

* Tue Dec 11 2007 Than Ngo <than@redhat.com> 3.97.0-6
- enable subversion again

* Tue Dec 11 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.97.0-5
- rebuild for changed _kde4_includedir

* Thu Dec 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.97.0-4
- drop Req: kdebase-runtime oxygen-icon-theme (at least for now)

* Thu Dec 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.97.0-2
- drop BR: subversion temporarily (due to rawhide breakage)

* Wed Dec 05 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.97.0-1
- kde-3.97.0

* Tue Dec 04 2007 Than Ngo <than@redhat.com> 3.96.2-4
- rebuilt against new openssl/openldap

* Sat Dec 01 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.96.2-3
- install profile scripts as 644 instead of 755 (Ville Skyttä, #407521)

* Sat Dec 01 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.96.2-2
- BR openssh-clients and subversion (Sebastian Vahl)
- make this the default kdelibs for F9 again

* Tue Nov 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.96.2-1
- kde-3.96.2

* Tue Nov 27 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.96.1-1
- kde-3.96.1

* Tue Nov 20 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.96.0-4
- Requires: kdebase-runtime oxygen-icon-theme (where available)

* Mon Nov 19 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.96.0-3
- Requires: dbus-x11 (#390851)

* Mon Nov 19 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.96.0-2
- -devel: (Build)Requires: libXcomposite-devel libXdamage-devel
   libxkbfile-devel libXpm-devel libXScrnSaver-devel libXtst-devel
   libXv-devel libXxf86misc-devel
- devel: Requires: strigi-devel >= 0.5.7
- (Build)Requires: kde-filesystem >= 4

* Thu Nov 15 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.96.0-1
- kde-3.96.0

* Sat Nov 10 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.95.2-2
- BR: strigi-devel >= 0.5.7, soprano-devel >= 1.97.1
- License: LGPLv2 (only)

* Fri Nov 09 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.95.2-1
- kde-3.95.2

* Tue Nov 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.95.0-2
- fix parallel_devel patch (typo in KDE4_KPARTS_LIBRARY)

* Sun Nov 04 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.95.0-1
- kde-3.95.0 (kde4 dev platform rc1)

* Thu Oct 18 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.94.0-2
- drop optional BR hspell-devel again due to broken x86_64 static library

* Thu Oct 18 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.94.0-1
- update to 3.94.0
- BR soprano-devel >= 1.95.0
- don't rename js to kjs after installation, fixed upstream
- update parallel-devel patch
- drop kde#149704 patch, fixed upstream
- drop colorscheme-hack patch
- backport upstream fix for unversioned kpty library (rev 724528)
- add new BRs hspell-devel and jasper-devel
- 3.94.0 generates some manpages, add them to the file list

* Thu Oct 4 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-11
- don't make this the default kdelibs on F9 yet
- retry ppc64 build (#300571)

* Fri Sep 21 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-10
- ExcludeArch: ppc64 (#300571)

* Thu Sep 20 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.93.0-9
- -devel: (re)add Requires: bzip2-devel gamin-devel libacl-devel strigi-devel zlib-devel
- update sources
- sync kde4.(sh|csh) changes wrt KDE_IS_PRELINKED w/ devel/ branch

* Fri Sep 14 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-8
- rename js to kjs because of file conflict (kde#149840)

* Thu Sep 13 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-7
- actually install kde4.sh and kde4.csh
- sync KDE_IS_PRELINKED setting in kde4.sh and kde4.csh with kdelibs 3
  (workaround for #244065 no longer needed, fixed in 3.93.0)

* Thu Sep 13 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-6
- set QT_PLUGIN_PATH in kde4.sh and kde4.csh

* Wed Sep 12 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-5
- fix strange coloring due to incomplete changes to KColorScheme

* Mon Sep 10 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-4
- use upstream fix (by David Faure) for kde#149704

* Mon Sep 10 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-3
- fix kde#149703, kde#149704, kde#149705

* Sun Sep 9 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-2
- remove files which conflict with KDE 3
- rename kconfig_compiler and makekdewidgets to *4
- move devel symlinks to %%{_kde4_libdir}/kde4/devel/
- drop Conflicts: kdelibs-devel

* Sun Sep 9 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.93.0-1
- update to 3.93.0
- drop kde4home patch (no longer applied)
- drop kdeprint soversion conflict patch (fixed upstream)
- remove icon-related code, pics/ is now in kdebase-runtime
- BR strigi-devel >= 0.5.5 due to API changes
- package hicolor presence_* icons which are not in hicolor-icon-theme
- don't list non-existing ksvgtopng in devel binaries (now in kdebase-runtime)

* Tue Aug 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.92.0-4
- -devel: omit most (hopefully) extraneous Requires:
- use macros.kde4
- -devel: Conflicts: kdelibs-devel (in %%_bindir,%%_libdir)
- License clarification

* Fri Aug 03 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.92.0-3
- name kdelibs4, don't mess with %%_prefix (for now)
- move to -devel: checkXML, kconfig_compiler, (make)kdewidgets, ksgmltools2,
  ksvgtopng, kunittestmodrunner
- set KDE_IS_PRELINKED unconditionally (#244065)
- License: LGPLv2
- Requires: shared-mime-info

* Mon Jul 30 2007 Than Ngo <than@redhat.com> 3.92.0-2
- fix conlict with kde3
- add -DSYSCONF_INSTALL_DIR

* Sat Jul 28 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.92.0-1
- kde-3.92.0 (kde4-beta1)

* Thu Jul 19 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.91.0-6
- add missing epoch to main package Requires for -devel if name is kdelibs

* Tue Jul 17 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.91.0-5
- BR: soprano-devel
- prefix=/usr cleanups

* Wed Jul 11 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.91.0-4
- apply upstream bugfix for KatePart syntax highlighting (kde #145571)

* Thu Jun 29 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.91.0-3
- fix %%_sysconfdir for %%_prefix != /usr case.

* Thu Jun 28 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.91.0-2
- updated kde4home.diff
- CMAKE_BUILD_TYPE=RelWithDebInfo (we're already using %%optflags)

* Wed Jun 27 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.91.0-1
- kde-3.91.0
- CMAKE_BUILD_TYPE=debug 

* Sat Jun 23 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.90.1-3
- specfile cleanup (%%prefix issues mostly)

* Wed May 30 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.90.1-2
- add missing BR shared-mime-info

* Sun May 13 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.90.1-1
- update to 3.90.1
- drop backported upstream fixes already in 3.90.1
- bump cmake BR to 2.4.5 as required upstream now
- add BR strigi-devel, alsa-lib-devel, avahi-devel
- don't set execute bits by hand anymore, cmake has been fixed
- use multilibs in /opt/kde4

* Mon Mar 26 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.80.3-5
- apply upstream fixes to build with Qt 4.3 Beta

* Sat Mar 24 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.80.3-4
- restore minimum version requirements for cmake and qt4-devel
- drop visibility hack (no longer needed with latest qt4 package)
- don't set QT4DIR and PATH anymore, qdbuscpp2xml has been fixed
- apply upstream bugfixes:
- * khtml segfault fix
- * message box cancel button fix
- * kprocio received buffer truncation fix (backported)
- * KatePart keyboard shortcut (Ctrl+Right, Shift+Right) fix

* Mon Mar 05 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 3.80.3-3
- +eXecute perms for %%{_prefix}/lib/*

* Fri Feb 23 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.80.3-2
- apply upstream patch to fix klauncher crash
- hack around Qt 4 being built with no visibility support
- install Qt Designer plugin

* Wed Feb 21 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.80.3-1
- update to 3.80.3
- update and improve parallel-installability patch
- set QT4DIR and PATH so CMake's direct $QT4DIR/qdbuscpp2xml calls work
- move libkdeinit_*.so from -devel to main package
- symlink kde4-config into /usr/bin so it can be used for path setting

* Wed Nov 29 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 3.80.2-0.4.20061003svn
- dropped -DCMAKE_SKIP_RPATH=TRUE from cmake
- compiling with QA_RPATHS=0x0003; export QA_RPATHS

* Sun Nov 26 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 3.80.2-0.3.20061003svn
- Added foolishly dropped libjpeg-devel, zlib-devel, krb5-devel, libattr-devel again as BR

* Thu Nov 23 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 3.80.2-0.2.20061003svn
- parallel build support
- added -DCMAKE_SKIP_RPATH=TRUE to cmake to skip rpath
- dropped libjpeg-devel, zlib-devel, krb5-devel, libattr-devel as BR
- dropped duplicate libattr-devel in BR
- spec file cleanups and added clean up in %%install
- fixed missing dependency : libkdeinit_knotify.so

* Sat Oct 07 2006 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.80.2-0.1.20061003svn
- first Fedora RPM (parts borrowed from the OpenSUSE kdelibs 4 RPM and the Fedora kdelibs 3 RPM)
- apply parallel-installability patch