%define distname "Fedora" #define debug 1 %define final 1 %define kde_settings 1 %define apidocs 1 %define qt_epoch 1 %define arts_epoch 8 %define cups_epoch 1 %define qt_version 3.3.8 %define arts_version 1.5.7 %define kde_major_version 3 %global qt_ver %(pkg-config --modversion qt-mt 2>/dev/null || echo %{qt_version}) %define qtdocdir %{_docdir}/qt-devel-%{qt_ver} %define make_cvs 1 %define arts 1 Name: kdelibs Summary: K Desktop Environment - Libraries Epoch: 6 Version: 3.5.7 Release: 5%{?dist} License: LGPL Url: http://www.kde.org/ Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/%{name}-%{version}.tar.bz2 Source1: kde.sh Source2: kde.csh Source3: devices.protocol Patch1: kdelibs-3.5.1-xdg-menu.patch Patch2: kdelibs-3.0.0-ndebug.patch Patch4: kdelibs-3.0.4-ksyscoca.patch Patch5: kdelibs-3.5.0-openssl0.9.8a.patch Patch15: kdelibs-3.4.91-buildroot.patch Patch16: kdelibs-3.1-ssl-krb5.patch Patch32: kdelibs-3.2.3-cups.patch Patch33: kdelibs-3.3.2-ppc.patch Patch34: kdelibs-3.4.0-qtdoc.patch Patch35: kdelibs-3.4.92-inttype.patch Patch37: kdelibs-3.5.2-kdebug-kmail-quiet.patch Patch38: kdelibs-3.5.2-cupsdconf2-group.patch Patch39: kdelibs-3.5.4-kabc-make.patch Patch40: kdelibs-3.5.4-kdeprint-utf8.patch Patch41: kdelibs-3.5.6-utempter.patch Patch42: kdelibs-3.5.7-ICEauthority.patch Patch43: kdelibs-3.5.6-lang.patch # use /etc/kde in addition to /usr/share/config, borrowed from debian Patch104: kdelibs-3.5.5-kstandarddirs.patch # upstream patches # kget ignores simultaneous download limit (kde #101956) Patch502: kdelibs-3.5.0-101956.patch # automake-1.10, $(all_libraries) is missing from a few LDFLAGS (kde #137675) Patch503: kdelibs-3.5.6-137675.patch Patch505: kdelibs-3.5.7-kde#146105.patch # http://bugs.kde.org/93359, alternative to export libltdl_cv_shlibext=".so" hack. Patch93359: kde-3.5-libtool-shlibext.patch ## See http://bugs.kde.org/139445, patch needs boost-devel, FIXME, doesn't apply to kde-3.5.7 Patch139445: kdelibs-3.5.5-lib_loader-1.2.patch #BuildRequires: boost-devel Requires: arts >= %{arts_epoch}:%{arts_version} Requires: qt >= %{qt_epoch}:%{qt_ver} Requires: cups-libs >= %{cups_epoch}:1.1.12 Requires: hicolor-icon-theme %if %{kde_settings} Requires: kde-settings >= 3.5 %endif Requires: redhat-menus Requires: shadow-utils # kdesu/sudo support, http://bugs.kde.org/20914 BuildRequires: sudo Requires(hint): sudo # dnssd, FIXME/TODO #BuildRequires: mDNSResponder-devel %if 0%{?fedora} > 4 || 0%{?rhel} > 4 %define libkdnssd libkdnssd Requires: libkdnssd %define BuildRequires: xorg-x11-proto-devel libX11-devel %define _with_rgbfile --with-rgbfile=%{_datadir}/X11/rgb.txt Requires: iceauth %endif Requires(pre): coreutils Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig BuildRequires: gettext BuildRequires: pcre-devel BuildRequires: cups-devel >= %{cups_epoch}:1.1.20, cups BuildRequires: qt-devel qt-devel-docs BuildRequires: arts-devel >= %{arts_epoch}:%{arts_version} BuildRequires: flex >= 2.5.4a-13 BuildRequires: doxygen BuildRequires: libxslt-devel BuildRequires: sgml-common BuildRequires: openjade BuildRequires: jadetex BuildRequires: docbook-dtd31-sgml BuildRequires: docbook-style-dsssl BuildRequires: perl-SGMLSpm BuildRequires: docbook-utils BuildRequires: zlib-devel BuildRequires: libidn-devel BuildRequires: audiofile-devel BuildRequires: openssl-devel BuildRequires: perl BuildRequires: gawk BuildRequires: byacc BuildRequires: libart_lgpl-devel BuildRequires: bzip2-devel BuildRequires: libtiff-devel BuildRequires: libacl-devel libattr-devel BuildRequires: aspell-devel BuildRequires: krb5-devel BuildRequires: openldap-devel BuildRequires: db4-devel BuildRequires: alsa-lib-devel BuildRequires: pkgconfig BuildRequires: glibc-kernheaders %if 0%{?fedora} > 5 || 0%{?rhel} > 4 # See also http://bugzilla.redhat.com/205767 %define _with_libutempter 1 BuildRequires: libutempter-devel %else BuildRequires: utempter %endif BuildRequires: findutils BuildRequires: jasper-devel BuildRequires: OpenEXR-devel %if %{make_cvs} BuildRequires: automake libtool %endif %description Libraries for the K Desktop Environment: KDE Libraries included: kdecore (KDE core library), kdeui (user interface), kfm (file manager), khtmlw (HTML widget), kio (Input/Output, networking), kspell (spelling checker), jscript (javascript), kab (addressbook), kimgio (image manipulation). %package devel Group: Development/Libraries Summary: Header files and documentation for compiling KDE applications. Requires: %{name} = %{epoch}:%{version}-%{release} Requires: qt-devel Requires: arts-devel %{?libkdnssd:Requires: libkdnssd-devel} ## those below can/should be omitted from future builds -- Rex Requires: libart_lgpl-devel Requires: libxslt-devel Requires: libjpeg-devel Requires: zlib-devel Requires: openssl-devel Requires: bzip2-devel Requires: libtiff-devel Requires: libidn-devel Requires: libacl-devel Requires: pcre-devel %{?_with_libutempter:Requires: libutempter-devel} %description devel This package includes the header files you will need to compile applications for KDE. %package apidocs Group: Development/Documentation Summary: KDE API documentation. Requires: %{name} = %{epoch}:%{version} Obsoletes: kdelibs-docs < %{epoch}:%{version}-%{release} %description apidocs This package includes the KDE API documentation in HTML format for easy browsing %prep %setup -q %patch1 -p1 -b .xdg-menu %if "%{?debug}" != "1" %patch2 -p1 -b .debug %endif %patch4 -p1 -b .ksyscoca %patch5 -p1 -b .openssl %patch15 -p1 -b .buildroot %patch16 -p1 -b .ssl-krb5 %patch32 -p1 -b .cups %patch33 -p1 -b .ppc %patch34 -p1 -b .qtdoc %patch35 -p1 -b .inttype %patch37 -p1 -b .kdebug-kmail-quiet %patch38 -p1 -b .cupsdconf2-group %patch39 -p1 -b .kabc-make %patch40 -p1 -b .kdeprint-utf8 %{?_with_libutempter:%patch41 -p1 -b .utempter} %patch42 -p1 -b .ICEauthority %patch43 -p1 -b .lang %patch104 -p1 -b .kstandarddirs # upstream patches %patch503 -p0 -b .kde#137675 %patch505 -p0 -b .kde#146105 %patch93359 -p1 -b .libtool-shlibext #patch139445 -p1 -b .kde#139445 sed -i -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h %if %{make_cvs} make -f admin/Makefile.common cvs %endif %build unset QTDIR && . /etc/profile.d/qt.sh export QTDOC=%{qtdocdir} # use patch93359 instead #export libltdl_cv_shlibext=".so" if [ -x /etc/profile.d/krb5.sh ]; then . /etc/profile.d/krb5.sh elif ! echo ${PATH} | grep -q /usr/kerberos/bin ; then export PATH=/usr/kerberos/bin:${PATH} fi %configure \ --includedir=%{_includedir}/kde \ --disable-rpath \ --enable-new-ldflags \ --disable-dependency-tracking \ %{!?debug: --disable-debug --disable-warnings --enable-final} \ %{?debug:--enable-debug --enable-warnings --disable-final} \ --disable-fast-malloc \ %if "%{_lib}" == "lib64" --enable-libsuffix="64" \ %endif --enable-cups \ --enable-mitshm \ --enable-pie \ --enable-sendfile \ --with-distribution="$(cat /etc/redhat-release 2>/dev/null)" \ --with-alsa \ --with-aspell \ --disable-libfam \ --enable-dnotify \ --enable-inotify \ --with-utempter \ %{!?arts:--without-arts} \ %{?_with_rgbfile} \ --with-jasper \ --with-openexr \ --with-xinerama make %{?_smp_mflags} # FIXME/TODO: build as noarch? -- Rex %if %{apidocs} make %{?_smp_mflags} apidox %endif %install rm -rf %{buildroot} make DESTDIR=%{buildroot} install chmod a+x %{buildroot}%{_libdir}/* install -p -m 644 %{SOURCE3} %{buildroot}%{_datadir}/services/devices.protocol pushd %{buildroot}%{_docdir} ln -sf HTML/en/kdelibs-apidocs %{name}-devel-%{kde_major_version} popd mkdir -p %{buildroot}%{_sysconfdir}/profile.d install -p -m 755 %{SOURCE1} %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/ # Make symlinks relative pushd %{buildroot}%{_docdir}/HTML/en for i in *; do if [ -d $i -a -L $i/common ]; then rm -f $i/common ln -sf ../common $i fi done popd ## menus mkdir -p %{buildroot}%{_sysconfdir}/kde/xdg/menus mv %{buildroot}%{_sysconfdir}/xdg/menus/applications.menu \ %{buildroot}%{_sysconfdir}/xdg/menus/kde-applications.menu # compat-symlinks, can go away eventually -- Rex ln -s %{_sysconfdir}/xdg/menus/kde-applications.menu \ %{buildroot}%{_sysconfdir}/kde/xdg/menus/kde-applications.menu ln -s kde-applications.menu \ %{buildroot}%{_sysconfdir}/kde/xdg/menus/applications.menu echo "OnlyShowIn=KDE;" >> %{buildroot}%{_datadir}/applications/kde/kresources.desktop # Use hicolor-icon-theme rpm/pkg instead (#178319) rm -rf $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/ # ghost'd files touch $RPM_BUILD_ROOT%{_datadir}/services/ksycoca ## remove references to extraneous/optional libraries in .la files (#170602) # fam, libart_lgpl, pcre, libidn, libpng, libjpeg, libdns_sd, libacl/libattr, alsa-lib/asound find $RPM_BUILD_ROOT%{_libdir} -name "*.la" | xargs \ sed -i \ -e "s@-lfam@@g" \ -e "s@%{_libdir}/libfam.la@@g" \ -e "s@-lart_lgpl_2@@g" \ -e "s@%{_libdir}/libpcreposix.la@@g" \ -e "s@-lpcreposix@@g" \ -e "s@-lpcre@@g" \ -e "s@-lidn@@g" \ -e "s@%{_libdir}/libidn.la@@g" \ -e "s@-lpng@@g" \ -e "s@-ljpeg@@g" \ -e "s@%{_libdir}/libjpeg.la@@g" \ -e "s@-ldns_sd@@g" \ -e "s@-lacl@@g" \ -e "s@%{_libdir}/libacl.la@@g" \ -e "s@/%{_lib}/libacl.la@@g" \ -e "s@-lattr@@g" \ -e "s@%{_libdir}/libattr.la@@g" \ -e "s@/%{_lib}/libattr.la@@g" \ -e "s@-lasound@@g" \ -e "s@-lutempter@@g" ## unpackaged files # libkdnssd bits rm -f %{buildroot}%{_libdir}/libkdnssd.la %{?libkdnssd:rm -rf %{buildroot}{%{_libdir}/libkdnssd.*,%{_includedir}/kde/dnssd}} %clean rm -rf %{buildroot} # Not sure if this is really needed anymore, but doesn't look harmful either -- Rex %pre if [ -d /etc/skel/Desktop/Autostart ]; then mv -f /etc/skel/Desktop/Autostart /etc/skel/Desktop/Autostart-OLD..KDE elif [ -d /etc/skel/Desktop/Autostart.rpmsave ]; then mv -f /etc/skel/Desktop/Autostart.rpmsave /etc/skel/Desktop/Autostart-OLD..KDE fi exit 0 %post /sbin/ldconfig touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/update-desktop-database > /dev/null 2>&1 || : %postun /sbin/ldconfig touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || : %{_bindir}/update-desktop-database > /dev/null 2>&1 || : %files %defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/profile.d/* %dir %{_sysconfdir}/kde %dir %{_sysconfdir}/kde/xdg %dir %{_sysconfdir}/kde/xdg/menus %{_sysconfdir}/kde/xdg/menus/*.menu %{_sysconfdir}/xdg/menus/*.menu %{_bindir}/artsmessage %{_bindir}/checkXML %{_bindir}/cupsdconf %{_bindir}/cupsdoprint %{_bindir}/dcop %{_bindir}/dcopclient %{_bindir}/dcopfind %{_bindir}/dcopobject %{_bindir}/dcopquit %{_bindir}/dcopref %{_bindir}/dcopserver %{_bindir}/dcopserver_shutdown %{_bindir}/dcopstart %{_bindir}/filesharelist %{_bindir}/fileshareset %{_bindir}/imagetops %{_bindir}/kab2kabc %{_bindir}/kaddprinterwizard %{_bindir}/kbuildsycoca %{_bindir}/kcmshell %{_bindir}/kconf_update %{_bindir}/kconfig_compiler %{_bindir}/kcookiejar %{_bindir}/kde-config %{_bindir}/kde-menu %{_bindir}/kded %{_bindir}/kdeinit %{_bindir}/kdeinit_shutdown %{_bindir}/kdeinit_wrapper %{_bindir}/kdesu_stub %{_bindir}/kdontchangethehostname %{_bindir}/kdostartupconfig %{_bindir}/kfile %{_bindir}/kfmexec %{_bindir}/khotnewstuff %{_bindir}/kinstalltheme %{_bindir}/kio_http_cache_cleaner %{_bindir}/kio_uiserver %{_bindir}/kioexec %{_bindir}/kioslave %{_bindir}/klauncher %{_bindir}/kmailservice %{_bindir}/ksendbugmail %{_bindir}/kshell %{_bindir}/kstartupconfig %{_bindir}/ksvgtopng %{_bindir}/ktelnetservice %{_bindir}/ktradertest %{_bindir}/kunittestmodrunner %{_bindir}/kwrapper %{_bindir}/lnusertemp %{_bindir}/make_driver_db_cups %{_bindir}/make_driver_db_lpr %{_bindir}/makekdewidgets %{_bindir}/meinproc %{_bindir}/preparetips %attr(4755,root,root) %{_bindir}/kpac_dhcp_helper %attr(4755,root,root) %{_bindir}/kgrantpty %{_bindir}/start_kdeinit %{_libdir}/lib*.so.* %{_libdir}/libkdeinit_*.so %{_libdir}/lib*.la %{_libdir}/kde3/ %{_datadir}/applications/ %{_datadir}/apps/ %{_datadir}/locale/all_languages %dir %{_datadir}/config %config(noreplace) %{_datadir}/config/* %{_datadir}/emoticons %{_datadir}/icons/crystalsvg/ %{_datadir}/icons/default.kde %{_datadir}/mimelnk/ %{_datadir}/autostart/ %{_datadir}/services/ %ghost %{_datadir}/services/ksycoca %{_datadir}/servicetypes/ %dir %{_docdir}/HTML %dir %{_docdir}/HTML/en %{_docdir}/HTML/en/common %{_docdir}/HTML/en/kspell %files devel %defattr(-,root,root) %{_bindir}/dcopidl* %{_includedir}/kde/ %{_libdir}/lib*.so %{_libdir}/lib*.a %exclude %{_libdir}/libkdeinit_*.so %if %{apidocs} %files apidocs %defattr(-,root,root) %{_docdir}/%{name}-devel-%{kde_major_version} %{_docdir}/HTML/en/kdelibs* %endif %changelog * Sat Jun 16 2007 Rex Dieter - 6:3.5.7-5 - -devel: +Requires: libutempter-devel * Fri Jun 15 2007 Rex Dieter - 6:3.5.7-4 - omit lib_loader patch (doesn't apply cleanly) * Fri Jun 15 2007 Rex Dieter - 6:3.5.7-3 - include experimental libtool patches * Mon Jun 11 2007 Rex Dieter - 6:3.5.7-2 - kdesu: sudo support (kde bug #20914), Requires(hint): sudo * Wed Jun 06 2007 Than Ngo - 6:3.5.7-0.1.fc7 - 3.5.7 * Thu May 24 2007 Than Ngo 6:3.5.6-10.fc7 - don't change permission .ICEauthority by sudo KDE programs - apply patch to fix locale issue - apply upstream patch to fix kde#146105 * Thu May 16 2007 Rex Dieter - 6:3.5.6-9 - make qtdocdir handling robust - kde_settings=1 - Req: -desktop-backgrounds-basic * Wed May 16 2007 Than Ngo - 3.5.6-8.fc7 - add correct qt-version to build kde apidocs ,bz#239947 - disable kde_settings * Thu May 14 2007 Rex Dieter - 6:3.5.6-7 - BR: +keyutils-libs-devel (until krb5 is fixed, bug #240220) * Thu May 14 2007 Rex Dieter - 6:3.5.6-6 - kde.sh: fix typo/thinko * Thu May 14 2007 Rex Dieter - 6:3.5.6-5 - %%changelog: prune pre-kde3 entries - %%ghost %%{_datadir}/services/ksycoca - omit extraneous .la file references (#178733) - BR: jasper-devel OpenEXR-devel - xdg-menu compat symlinks (to help transition to using XDG_MENU_PREFIX) - fix kde#126812.patch to be non-empty - cleanup kde.(sh|csh) - Requires: +kde-settings -redhat-artwork - make apidocs build optional (default on) - use FHS-friendly /etc/kde (#238136) * Mon Mar 26 2007 Than Ngo - 6:3.5.6-3.fc7 - apply upstream patch to fix build issue with qt-3.3.8 - apply upstream patch to to fix crash on particular 404 url in embedded HTML viewer * Tue Feb 27 2007 Than Ngo - 6:3.5.6-2.fc7 - cleanup specfile * Mon Feb 05 2007 Than Ngo - 6:3.5.6-1.fc7 - 3.5.6 - apply patch to fix #225420, CVE-2007-0537 Konqueror improper HTML comment rendering, thanks to Dirk Müller, KDE security team * Tue Nov 14 2006 Than Ngo - 6:3.5.5-1.fc7 - rebuild * Fri Oct 27 2006 Than Ngo 6:3.5.5-0.2 - add missing api docs * Wed Oct 25 2006 Than Ngo 6:3.5.5-0.1 - update to 3.5.5 * Sun Oct 01 2006 Than Ngo 6:3.5.4-10 - fix utf8 issue in kdeprint - fix #178320,#198828, follow menu-spec - upstream patches, fix #106748, Evaluate scripts in