summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-base/kdelibs/ChangeLog9
-rw-r--r--kde-base/kdelibs/files/kdelibs-3.5.10-kde4-apps.patch66
-rw-r--r--kde-base/kdelibs/kdelibs-3.5.10-r5.ebuild277
3 files changed, 351 insertions, 1 deletions
diff --git a/kde-base/kdelibs/ChangeLog b/kde-base/kdelibs/ChangeLog
index 0849b6025967..1854d1b915a2 100644
--- a/kde-base/kdelibs/ChangeLog
+++ b/kde-base/kdelibs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-base/kdelibs
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.591 2009/05/12 13:40:41 tampakrap Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.592 2009/05/15 11:01:34 scarabeus Exp $
+
+*kdelibs-3.5.10-r5 (15 May 2009)
+
+ 15 May 2009; Tomas Chvatal <scarabeus@gentoo.org>
+ +kdelibs-3.5.10-r5.ebuild, +files/kdelibs-3.5.10-kde4-apps.patch:
+ Move in last kdelibs:3.5 fixes from kde-crazy overlay. Now it should help
+ kde4 and kde3 apps mixage and fix issues with libraries.
*kdelibs-3.5.10-r4 (12 May 2009)
diff --git a/kde-base/kdelibs/files/kdelibs-3.5.10-kde4-apps.patch b/kde-base/kdelibs/files/kdelibs-3.5.10-kde4-apps.patch
new file mode 100644
index 000000000000..c2c6add5e338
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-3.5.10-kde4-apps.patch
@@ -0,0 +1,66 @@
+--- kio/kio/kservice.cpp.old 2008-02-13 11:41:06.000000000 +0200
++++ kio/kio/kservice.cpp 2009-05-14 22:55:30.494205205 +0300
+@@ -97,6 +97,7 @@
+ m_bValid = true;
+
+ bool absPath = !QDir::isRelativePath(entryPath());
++ bool kde4application = config->fileName().startsWith("/usr/share/applications/kde4/");
+
+ config->setDesktopGroup();
+
+@@ -133,6 +134,8 @@
+ if (i != -1)
+ m_strName = m_strName.left(i);
+ }
++ if ( kde4application )
++ m_strName += " (KDE4)";
+
+ m_strType = config->readEntry( "Type" );
+ entryMap.remove("Type");
+@@ -196,6 +199,18 @@
+ name = name.left(pos);
+
+ m_strExec = config->readPathEntry( "Exec" );
++ if ( kde4application && !m_strExec.startsWith("/"))
++ m_strExec = "/usr/bin/"+m_strExec;
++ else if (config->readBoolEntry("X-KDE-SubstituteUID")) {
++ int space = m_strExec.find(" ");
++ if (space==-1)
++ m_strExec = KStandardDirs::findExe(m_strExec);
++ else {
++ const QString command = m_strExec.left(space);
++ m_strExec.replace(command,KStandardDirs::findExe(command));
++ }
++ }
++
+ entryMap.remove("Exec");
+
+ m_strIcon = config->readEntry( "Icon", "unknown" );
+@@ -245,11 +260,15 @@
+ m_DCOPServiceType = DCOP_None;
+
+ m_strDesktopEntryName = name.lower();
++ if ( kde4application )
++ m_strDesktopEntryName = "kde4-" + m_strDesktopEntryName;
+
+ m_bAllowAsDefault = config->readBoolEntry( "AllowDefault", true );
+ entryMap.remove("AllowDefault");
+
+ m_initialPreference = config->readNumEntry( "InitialPreference", 1 );
++ if ( kde4application )
++ m_initialPreference = 1;
+ entryMap.remove("InitialPreference");
+
+ // Store all additional entries in the property map.
+@@ -260,7 +279,10 @@
+ for( ; it != entryMap.end();++it)
+ {
+ //qDebug(" Key = %s Data = %s", it.key().latin1(), it.data().latin1());
+- m_mapProps.insert( it.key(), QVariant( it.data()));
++ QString key = it.key();
++ if ( kde4application && key == "OnlyShownIn" && it.data() == "KDE;" )
++ key = "NotShowIn";
++ m_mapProps.insert(key, QVariant( it.data()));
+ }
+ }
+
diff --git a/kde-base/kdelibs/kdelibs-3.5.10-r5.ebuild b/kde-base/kdelibs/kdelibs-3.5.10-r5.ebuild
new file mode 100644
index 000000000000..296bdd2a70b4
--- /dev/null
+++ b/kde-base/kdelibs/kdelibs-3.5.10-r5.ebuild
@@ -0,0 +1,277 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-3.5.10-r5.ebuild,v 1.1 2009/05/15 11:01:34 scarabeus Exp $
+
+EAPI="1"
+inherit kde flag-o-matic eutils multilib
+set-kdedir 3.5
+
+DESCRIPTION="KDE libraries needed by all KDE programs."
+HOMEPAGE="http://www.kde.org/"
+SRC_URI="mirror://kde/stable/${PV}/src/${P}.tar.bz2
+ mirror://gentoo/kdelibs-3.5-patchset-15.tar.bz2
+ mirror://gentoo/kde-3.5.9-seli-xinerama.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="3.5"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="acl alsa arts bindist branding cups doc jpeg2k kerberos legacyssl utempter openexr spell tiff
+ avahi kernel_linux fam lua kdehiddenvisibility"
+
+# Added aspell-en as dependency to work around bug 131512.
+# Made openssl and zeroconf mandatory dependencies, see bug #172972 and #175984
+RDEPEND="
+ !=kde-base/artsplugin-mpeglib-3.5*
+ !=kde-base/artsplugin-mpg123-3.5*
+ !kde-base/kdeaccessibility
+ !kde-base/kdeaddons
+ !kde-base/kdeadmin
+ !kde-base/kdeartwork
+ !kde-base/kdebase
+ !kde-base/kdeedu
+ !kde-base/kdegames
+ !kde-base/kdegraphics
+ !kde-base/kde
+ !kde-base/kdemultimedia
+ !kde-base/kdenetwork
+ !kde-base/kdepim
+ !kde-base/kdesdk
+ !kde-base/kdetoys
+ !kde-base/kdeutils
+ !kde-base/kdewebdev
+ !kde-base/ksync
+ !=kde-base/mpeglib-3.5*
+ app-arch/bzip2
+ >=dev-libs/libxslt-1.1.16
+ >=dev-libs/libxml2-2.6.6
+ >=dev-libs/libpcre-6.6
+ >=dev-libs/openssl-0.9.7d
+ media-libs/fontconfig
+ >=media-libs/freetype-2
+ media-libs/libart_lgpl
+ net-dns/libidn
+ >=sys-apps/portage-2.1.2.11
+ virtual/ghostscript
+ x11-libs/libXext
+ >=x11-libs/qt-3.3.3:3
+ acl? (
+ kernel_linux? ( sys-apps/acl )
+ )
+ alsa? ( media-libs/alsa-lib )
+ arts? ( ~kde-base/arts-3.5.10 )
+ !avahi? (
+ !bindist? (
+ !kde-misc/kdnssd-avahi
+ net-misc/mDNSResponder
+ )
+ )
+ cups? ( >=net-print/cups-1.1.19 )
+ fam? ( virtual/fam )
+ jpeg2k? ( media-libs/jasper )
+ kerberos? ( virtual/krb5 )
+ lua? ( dev-lang/lua )
+ openexr? ( >=media-libs/openexr-1.2.2-r2 )
+ spell? (
+ >=app-dicts/aspell-en-6.0.0
+ >=app-text/aspell-0.60.5
+ )
+ tiff? ( media-libs/tiff )
+ utempter? ( sys-libs/libutempter )
+"
+
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ doc? ( app-doc/doxygen )
+"
+RDEPEND="${RDEPEND}
+ !<=kde-base/kdebase-startkde-3.5.10-r3
+ x11-apps/rgb
+ x11-apps/iceauth
+ >=x11-misc/xdg-utils-1.0.2-r3
+"
+PDEPEND="
+ avahi? ( kde-misc/kdnssd-avahi )
+ bindist? ( kde-misc/kdnssd-avahi )
+"
+
+# Testing code is rather broken and merely for developer purposes, so disable it.
+RESTRICT="test"
+
+pkg_setup() {
+ if use legacyssl ; then
+ echo ""
+ elog "You have the legacyssl use flag enabled, which fixes issues with some broken"
+ elog "sites, but breaks others instead. It is strongly discouraged to use it."
+ elog "For more information, see bug #128922."
+ echo ""
+ fi
+
+ if ! use utempter ; then
+ echo ""
+ elog "On some setups, which rely on the correct update of utmp records, not using"
+ elog "utempter might not update them correctly. If you experience unexpected"
+ elog "behaviour, try to rebuild kde-base/kdelibs with utempter use-flag enabled."
+ echo ""
+ fi
+
+ if use alsa && ! built_with_use --missing true media-libs/alsa-lib midi; then
+ eerror "The alsa USE flag in this package enables ALSA support"
+ eerror "for libkmid, KDE midi library."
+ eerror "For this reason, you have to merge media-libs/alsa-lib"
+ eerror "with the midi USE flag enabled, or disable alsa USE flag"
+ eerror "for this package."
+ die "Missing midi USE flag on media-libs/alsa-lib"
+ fi
+}
+
+src_unpack() {
+ kde_src_unpack
+
+ if use legacyssl ; then
+ # This patch won't be included upstream, see bug #128922.
+ epatch "${WORKDIR}/patches/kdelibs_3.5.4-kssl-3des.patch"
+ fi
+
+ if use utempter ; then
+ # Bug #135818 is the eternal reference.
+ epatch "${WORKDIR}/patches/kdelibs-3.5_libutempter.patch"
+ fi
+
+ if use branding ; then
+ # Add "(Gentoo)" to khtml user agent.
+ epatch "${WORKDIR}/patches/kdelibs_3.5-cattlebrand.diff"
+ fi
+
+ # Xinerama patch by Lubos Lunak.
+ # http://ktown.kde.org/~seli/xinerama/
+ epatch "${WORKDIR}/${PN}-xinerama.patch"
+
+ # patch that fixes kde4 in menus (adapted from archlinux)
+ epatch "${FILESDIR}/${P}-kde4-apps.patch"
+}
+
+src_compile() {
+ rm -f "${S}/configure"
+
+ myconf="--with-distribution=Gentoo --disable-fast-malloc
+ --with-libart --with-libidn --with-ssl
+ --without-hspell
+ $(use_enable fam libfam) $(use_enable kernel_linux dnotify)
+ $(use_with acl) $(use_with alsa)
+ $(use_with arts) $(use_enable cups)
+ $(use_with kerberos gssapi) $(use_with tiff)
+ $(use_with jpeg2k jasper) $(use_with openexr)
+ $(use_with utempter) $(use_with lua)
+ $(use_enable kernel_linux sendfile) --enable-mitshm
+ $(use_with spell aspell)"
+
+ if use avahi || use bindist ; then
+ myconf="${myconf} --disable-dnssd"
+ else
+ myconf="${myconf} --enable-dnssd"
+ fi
+
+ if has_version x11-apps/rgb; then
+ myconf="${myconf} --with-rgbfile=/usr/share/X11/rgb.txt"
+ fi
+
+ # fix bug 58179, bug 85593
+ # kdelibs-3.4.0 needed -fno-gcse; 3.4.1 needs -mminimal-toc; this needs a
+ # closer look... - corsair
+ use ppc64 && append-flags "-mminimal-toc"
+
+ # work around bug #120858, gcc 3.4.x -Os miscompilation
+ use x86 && replace-flags "-Os" "-O2" # see bug #120858
+
+ replace-flags "-O3" "-O2" # see bug #148180
+
+ kde_src_compile
+
+ if use doc; then
+ emake apidox || die
+ fi
+}
+
+src_install() {
+ kde_src_install
+
+ if use doc; then
+ emake DESTDIR="${D}" install-apidox || die
+ fi
+
+ # Needed to create lib -> lib64 symlink for amd64 2005.0 profile
+ if [ "${SYMLINK_LIB}" = "yes" ]; then
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) ${KDEDIR}/lib
+ fi
+
+ # Get rid of the disabled version of the kdnsd libraries
+ if use avahi || use bindist ; then
+ rm -rf "${D}/${PREFIX}"/$(get_libdir)/libkdnssd.*
+ fi
+
+ dodir /etc/env.d
+
+ # List all the multilib libdirs
+ local libdirs
+ for libdir in $(get_all_libdirs); do
+ libdirs="${PREFIX}/${libdir}:${libdirs}"
+ done
+
+ # KDE implies that the install path is listed first in KDEDIRS and the user
+ # directory (implicitly added) to be the last entry. Doing otherwise breaks
+ # certain functionality. Do not break this (once again *sigh*), but read the code.
+ # KDE saves the installed path implicitly and so this is not needed, /usr
+ # is set in ${PREFIX}/share/config/kdeglobals and so KDEDIRS is not needed.
+ cat <<EOF > "${D}"/etc/env.d/45kdepaths-${SLOT} # number goes down with version upgrade
+PATH=${PREFIX}/bin
+ROOTPATH=${PREFIX}/sbin:${PREFIX}/bin
+LDPATH=${libdirs}
+MANPATH=${PREFIX}/share/man
+CONFIG_PROTECT="${PREFIX}/share/config ${PREFIX}/env ${PREFIX}/shutdown /usr/share/config"
+#KDE_IS_PRELINKED=1
+# Excessive flushing to disk as in releases before KDE 3.5.10. Usually you don't want that.
+#KDE_EXTRA_FSYNC=1
+XDG_DATA_DIRS="${PREFIX}/share"
+EOF
+
+ ## kdeglobals needed to make third party apps installed in /usr work
+ # Since all apps are prefixed now we add $PREFIX
+ cat <<EOF > "${D}/${PREFIX}/share/config/kdeglobals"
+[Directories][\$i]
+dir_lib=${PREFIX}/$(get_libdir):/usr/$(get_libdir)
+dir_apps=${PREFIX}/share/applnk:/usr/share/applnk
+dir_data=${PREFIX}/share/apps:/usr/share/apps
+dir_icon=${PREFIX}/share/icons:/usr/share/icons
+dir_module=${PREFIX}/$(get_libdir)/kde3:/usr/$(get_libdir)/kde3
+dir_config=${PREFIX}/share/config:/usr/share/config
+dir_kcfg=${PREFIX}/share/config.kcfg:/usr/share/config.kcfg
+dir_exe=${PREFIX}/bin:/usr/bin
+dir_mime=${PREFIX}/share/mimelnk:/usr/share/mimelnk
+dir_services=${PREFIX}/share/services:/usr/share/services
+dir_servicetypes=${PREFIX}/share/servicetypes:/usr/share/servicetypes
+dir_templates=${PREFIX}/share/templates:/usr/share/templates
+EOF
+
+ # Install shell script to run KDE 3 applications from outside of the KDE 3 desktop
+ # See http://lists.kde.org/?t=120569055200005&r=1&w=2 for reference
+
+ # List all the multilib libdirs
+ local _libdir _libdirs
+ for _libdir in $(get_all_libdirs); do
+ _libdirs="${_libdirs}:${PREFIX}/${_libdir}"
+ done
+ _libdirs=${_libdirs#:}
+
+ # Merge KDE prefix and LDPATH
+ sed -e "s#@REPLACE_PREFIX@#${PREFIX}#" \
+ -e "s#@REPLACE_LIBS@#${_libdirs}#" \
+ -i "${WORKDIR}/patches/kde3" || die "sed failed"
+ dobin "${WORKDIR}/patches/kde3"
+
+ # Make sure the target for the revdep-rebuild stuff exists. Fixes bug 184441.
+ dodir /etc/revdep-rebuild
+
+cat <<EOF > "${D}"/etc/revdep-rebuild/50-kde3
+SEARCH_DIRS="${PREFIX}/bin ${PREFIX}/lib*"
+EOF
+}