# kdelibs3 review: http://bugzilla.redhat.com/248899 %define distname "Fedora" #define debug 1 %define final 1 %define kde_settings 1 %define arts 1 %define arts_epoch 8 %define arts_version 1.5.7 %define qt_epoch 1 %define qt_version 3.3.8 %global qt_ver %(pkg-config --modversion qt-mt 2>/dev/null || echo %{qt_version}) %define qtdocdir %{_docdir}/qt-devel-%{qt_ver} %define kde_major_version 3 %define make_cvs 1 %define apidocs 1 Version: 3.5.7 Release: 15%{?dist} #if 0%{?fedora} > 7 %if 1 Name: kdelibs3 Provides: kdelibs = 6:%{version}-%{release} %else Name: kdelibs Epoch: 6 # To help transition to kde4 Provides: kdelibs3 = %{version}-%{release} %endif Summary: K Desktop Environment - Libraries 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/kdelibs-%{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.7-openssl.patch Patch15: kdelibs-3.4.91-buildroot.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 Patch43: kdelibs-3.5.6-lang.patch Patch44: kdelibs-3.5.7-cups13.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 %{?arts:Requires: arts >= %{arts_epoch}:%{arts_version}} Requires: qt >= %{qt_epoch}:%{qt_ver} Requires: hicolor-icon-theme %if %{kde_settings} Requires: kde-settings >= 3.5 %endif Requires: kde-filesystem Requires: redhat-menus Requires: shadow-utils # kdesu/sudo support, http://bugs.kde.org/20914 BuildRequires: sudo Requires(hint): sudo %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 BuildRequires: qt-devel qt-devel-docs %{?arts: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 %if "%{name}" != "kdelibs" && "%{?apidocs}" != "1" Obsoletes: kdelibs-apidocs < 6:%{version}-%{release} %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. Conflicts: kdelibs4-devel %if "%{name}" == "kdelibs" Obsoletes: kdelibs3-devel < %{version}-%{release} Provides: kdelibs3-devel = %{version}-%{release} %else Obsoletes: kdelibs-devel < 6:%{version}-%{release} Provides: kdelibs-devel = 6:%{version}-%{release} %endif Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: qt-devel %{?arts:Requires: arts-devel} %{?libkdnssd:Requires: libkdnssd-devel} Requires: openssl-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: 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:%{epoch}:}:%{version} %if "%{name}" == "kdelibs" Provides: kdelibs3-apidocs = %{version}-%{release} %else Obsoletes: kdelibs-apidocs < 6:%{version}-%{release} Provides: kdelibs-apidocs = 6:%{version}-%{release} %endif ## old, never published outside of rawhide, afaik -- Rex #Obsoletes: kdelibs-docs < 6:%{version}-%{release} %description apidocs This package includes the KDE API documentation in HTML format for easy browsing %prep %setup -q -n kdelibs-%{version} %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 %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} # omission recommended by upstream: http://bugs.kde.org/147454#c37 %patch43 -p1 -b .lang %patch44 -p1 -b .cups13 %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}" == "1" 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 %if "%{?apidocs}" == "1" pushd %{buildroot}%{_docdir} ln -sf HTML/en/kdelibs-apidocs %{name}-devel-%{kde_major_version} popd %endif # 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 %if "%{name}" == "kdelibs3" install -p -m 755 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/kde3.sh install -p -m 755 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/kde3.csh %else install -p -m 755 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/kde.sh install -p -m 755 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/kde.csh ## 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 %endif 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}} %if "%{name}" != "kdelibs" # remove conflicts with kdelibs-4 pushd %{buildroot}%{_bindir} rm -f checkXML cupsdconf cupsdoprint imagetops kaddprinterwizard kconfig_compiler kconf_update kcookiejar \ kde-menu kdesu_stub kdontchangethehostname kdostartupconfig kio_http_cache_cleaner kioslave \ klauncher kpac_dhcp_helper ksendbugmail kstartupconfig ksvgtopng ktradertest kunittestmodrunner \ make_driver_db_cups make_driver_db_lpr makekdewidgets meinproc preparetips \ khotnewstuff kinstalltheme kcmshell kfile kioexec popd rm -f %{buildroot}%{_datadir}/config/* %{buildroot}%{_datadir}/config/ui/kprintpreviewui.rc || : rm -rf %{buildroot}%{_datadir}/config/colors %{buildroot}%{_datadir}/apps/k* %{buildroot}%{_datadir}/apps/LICENSES \ %{buildroot}%{_datadir}/apps/proxyscout %{buildroot}%{_datadir}/locale \ %{buildroot}%{_datadir}/autostart %{buildroot}/etc/xdg %{buildroot}%{_docdir}/HTML %{buildroot}%{_datadir}/emoticons %endif %clean rm -rf %{buildroot} %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/* %{_bindir}/* %attr(4755,root,root) %{_bindir}/kgrantpty %{_libdir}/lib*.so.* %{_libdir}/libkdeinit_*.so %{_libdir}/lib*.la %{_libdir}/kde3/ %{_datadir}/applications/kde/*.desktop %{_datadir}/apps/* %config(noreplace) %{_datadir}/config/* %{_datadir}/icons/crystalsvg/ %{_datadir}/icons/default.kde %{_datadir}/mimelnk/magic %{_datadir}/mimelnk/*/*.desktop %{_datadir}/services/* %{_datadir}/servicetypes/* %ghost %{_datadir}/services/ksycoca %if "%{name}" == "kdelibs" %{_sysconfdir}/kde/xdg/menus/*.menu %{_sysconfdir}/xdg/menus/*.menu %attr(4755,root,root) %{_bindir}/kpac_dhcp_helper %{_datadir}/autostart/* %{_datadir}/emoticons/* %{_datadir}/locale/all_languages %{_docdir}/HTML/en/common %{_docdir}/HTML/en/kspell %endif %files devel %defattr(-,root,root,-) %{_bindir}/dcopidl* %{_includedir}/kde/ %{_libdir}/lib*.so %{_libdir}/lib*.a %exclude %{_libdir}/libkdeinit_*.so %if "%{?apidocs}" == "1" %files apidocs %defattr(-,root,root,-) %{_docdir}/%{name}-devel-%{kde_major_version} %{_docdir}/HTML/en/kdelibs* %endif %changelog * Fri Jul 20 2007 Rex Dieter - 6:3.5.7-15 - Obsoletes/Provides: kdelibs-apidocs (f8+) * Fri Jul 20 2007 Rex Dieter - 6:3.5.7-14 - toggle kdelibs3 (f8+) * Wed Jul 18 2007 Rex Dieter - 6:3.5.7-13 - build fails against cups-1.3 (#248717) - incorporate kdelibs3 bits (not enabled... yet) * Wed Jul 18 2007 Rex Dieter - 6:3.5.7-10 - +Requires: kde-filesystem * Mon Jul 09 2007 Rex Dieter - 6:3.5.7-9 - omit ICEauthority patch (kde#147454, rh#243560, rh#247455) * Wed Jun 20 2007 Rex Dieter - 6:3.5.7-8 - rework previously botched openssl patch * Wed Jun 20 2007 Rex Dieter - 6:3.5.7-7 - -devel: Provides: kdelibs3-devel = ... - openssl patch update (portability) - drop deprecated ssl-krb5 patch * Sat Jun 16 2007 Rex Dieter - 6:3.5.7-6 - Provides: kdelibs3 = %%version-%%release * 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