| 1 |
phajdan.jr |
1.2 |
# Copyright 1999-2011 Gentoo Foundation |
| 2 |
dilfridge |
1.1 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
phajdan.jr |
1.2 |
# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-4.4.5-r2.ebuild,v 1.1 2010/12/30 17:35:23 dilfridge Exp $ |
| 4 |
dilfridge |
1.1 |
|
| 5 |
|
|
EAPI="3" |
| 6 |
|
|
|
| 7 |
|
|
CPPUNIT_REQUIRED="optional" |
| 8 |
|
|
OPENGL_REQUIRED="optional" |
| 9 |
|
|
WEBKIT_REQUIRED="always" |
| 10 |
|
|
inherit kde4-base fdo-mime |
| 11 |
|
|
|
| 12 |
|
|
DESCRIPTION="KDE libraries needed by all KDE programs." |
| 13 |
|
|
HOMEPAGE="http://www.kde.org/" |
| 14 |
|
|
|
| 15 |
phajdan.jr |
1.2 |
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 x86 ~x86-fbsd ~amd64-linux ~x86-linux" |
| 16 |
dilfridge |
1.1 |
LICENSE="LGPL-2.1" |
| 17 |
|
|
IUSE="3dnow acl alsa altivec bindist +bzip2 debug doc fam +handbook jpeg2k kerberos |
| 18 |
|
|
lzma mmx nls openexr policykit semantic-desktop spell sse sse2 ssl zeroconf" |
| 19 |
|
|
|
| 20 |
|
|
# needs the kate regression testsuite from svn |
| 21 |
|
|
RESTRICT="test" |
| 22 |
|
|
|
| 23 |
|
|
COMMONDEPEND=" |
| 24 |
|
|
app-crypt/qca:2 |
| 25 |
|
|
>=app-misc/strigi-0.6.3 |
| 26 |
|
|
~dev-libs/libattica-0.1.2 |
| 27 |
|
|
dev-libs/libpcre[unicode] |
| 28 |
|
|
dev-libs/libxml2 |
| 29 |
|
|
dev-libs/libxslt |
| 30 |
|
|
media-libs/fontconfig |
| 31 |
|
|
media-libs/freetype:2 |
| 32 |
|
|
media-libs/giflib |
| 33 |
|
|
>=media-libs/libpng-1.4 |
| 34 |
|
|
sys-libs/zlib |
| 35 |
|
|
virtual/jpeg |
| 36 |
|
|
>=x11-misc/shared-mime-info-0.60 |
| 37 |
|
|
acl? ( virtual/acl ) |
| 38 |
|
|
alsa? ( media-libs/alsa-lib ) |
| 39 |
|
|
aqua? ( >=media-sound/phonon-4.3.80 ) |
| 40 |
|
|
!aqua? ( |
| 41 |
|
|
>=media-sound/phonon-4.3.80[xcb] |
| 42 |
|
|
x11-libs/libICE |
| 43 |
|
|
x11-libs/libSM |
| 44 |
|
|
x11-libs/libX11 |
| 45 |
|
|
x11-libs/libXau |
| 46 |
|
|
x11-libs/libXcursor |
| 47 |
|
|
x11-libs/libXdmcp |
| 48 |
|
|
x11-libs/libXext |
| 49 |
|
|
x11-libs/libXfixes |
| 50 |
|
|
x11-libs/libXft |
| 51 |
|
|
x11-libs/libXpm |
| 52 |
|
|
x11-libs/libXrender |
| 53 |
|
|
x11-libs/libXtst |
| 54 |
|
|
!kernel_SunOS? ( sys-libs/libutempter ) |
| 55 |
|
|
) |
| 56 |
|
|
bzip2? ( app-arch/bzip2 ) |
| 57 |
|
|
fam? ( virtual/fam ) |
| 58 |
|
|
jpeg2k? ( media-libs/jasper ) |
| 59 |
|
|
kerberos? ( virtual/krb5 ) |
| 60 |
|
|
lzma? ( app-arch/xz-utils ) |
| 61 |
|
|
openexr? ( |
| 62 |
|
|
media-libs/openexr |
| 63 |
|
|
media-libs/ilmbase |
| 64 |
|
|
) |
| 65 |
|
|
policykit? ( sys-auth/polkit-qt ) |
| 66 |
|
|
semantic-desktop? ( |
| 67 |
|
|
>=dev-libs/shared-desktop-ontologies-0.2 |
| 68 |
|
|
>=dev-libs/soprano-2.3.73[dbus,raptor,redland] |
| 69 |
|
|
) |
| 70 |
|
|
spell? ( app-text/enchant ) |
| 71 |
|
|
ssl? ( dev-libs/openssl ) |
| 72 |
|
|
zeroconf? ( |
| 73 |
|
|
|| ( |
| 74 |
|
|
net-dns/avahi[mdnsresponder-compat] |
| 75 |
|
|
!bindist? ( net-misc/mDNSResponder ) |
| 76 |
|
|
) |
| 77 |
|
|
) |
| 78 |
|
|
" |
| 79 |
|
|
DEPEND="${COMMONDEPEND} |
| 80 |
|
|
doc? ( app-doc/doxygen ) |
| 81 |
|
|
nls? ( virtual/libintl ) |
| 82 |
|
|
" |
| 83 |
|
|
RDEPEND="${COMMONDEPEND} |
| 84 |
|
|
!dev-libs/conversion |
| 85 |
|
|
!dev-libs/kunitconversion |
| 86 |
|
|
!x11-libs/qt-phonon |
| 87 |
|
|
!<=kde-misc/kdnssd-avahi-0.1.2:0 |
| 88 |
|
|
>=app-crypt/gnupg-2.0.11 |
| 89 |
|
|
app-misc/ca-certificates |
| 90 |
|
|
$(add_kdebase_dep kde-env) |
| 91 |
|
|
!aqua? ( |
| 92 |
|
|
x11-apps/iceauth |
| 93 |
|
|
x11-apps/rgb |
| 94 |
|
|
>=x11-misc/xdg-utils-1.0.2-r3 |
| 95 |
|
|
) |
| 96 |
|
|
" |
| 97 |
|
|
PDEPEND=" |
| 98 |
|
|
handbook? ( $(add_kdebase_dep khelpcenter) ) |
| 99 |
|
|
policykit? ( >=sys-auth/polkit-kde-0.95.1 ) |
| 100 |
|
|
semantic-desktop? ( $(add_kdebase_dep nepomuk) ) |
| 101 |
|
|
" |
| 102 |
|
|
|
| 103 |
|
|
# Blockers added due to packages from old versions, removed in the meanwhile |
| 104 |
|
|
# as well as for file collisions |
| 105 |
|
|
add_blocker libknotificationitem |
| 106 |
|
|
add_blocker libkworkspace '<4.3.66' |
| 107 |
|
|
# @since 4.4 - kpilot is gone (blocker added to help upgrades) |
| 108 |
|
|
add_blocker kpilot |
| 109 |
|
|
# Block some old versions of KDE-3.5 packages that don't work well with KDE-4 |
| 110 |
|
|
add_blocker kdebase 0 3.5.9-r4:3.5 |
| 111 |
|
|
add_blocker kdebase-startkde 0 3.5.10:3.5 |
| 112 |
|
|
add_blocker kdelibs 0 '<3.5.10:3.5' |
| 113 |
|
|
# libnepomukquery moved to kdelibs from plasma-workspace between 4.3.74 -> 4.3.75 |
| 114 |
|
|
add_blocker plasma-workspace '<4.3.75' |
| 115 |
|
|
|
| 116 |
|
|
PATCHES=( |
| 117 |
|
|
"${FILESDIR}/dist/01_gentoo_set_xdg_menu_prefix.patch" |
| 118 |
|
|
"${FILESDIR}/dist/02_gentoo_append_xdg_config_dirs.patch" |
| 119 |
|
|
"${FILESDIR}/dist/23_solid_no_double_build.patch" |
| 120 |
|
|
"${FILESDIR}/${PN}-4.3.80-module-suffix.patch" |
| 121 |
|
|
"${FILESDIR}/${PN}-4.4.66-macos-unbundle.patch" |
| 122 |
|
|
"${FILESDIR}/${PN}-4.3.3-klauncher_kdeinit.patch" |
| 123 |
|
|
"${FILESDIR}/${PN}-4.3.3-klauncher_kioslave.patch" |
| 124 |
|
|
"${FILESDIR}/${PN}-4.3.3-klauncher_mac.patch" |
| 125 |
|
|
"${FILESDIR}/${PN}-4.4.3-mimetypes.patch" |
| 126 |
|
|
"${FILESDIR}/${PN}-4.4.90-xslt.patch" |
| 127 |
|
|
"${FILESDIR}/${PN}-4.4.5-qt471.patch" |
| 128 |
|
|
"${FILESDIR}/${PN}-4.4.5-formpainter.patch" |
| 129 |
|
|
) |
| 130 |
|
|
|
| 131 |
|
|
src_prepare() { |
| 132 |
|
|
kde4-base_src_prepare |
| 133 |
|
|
|
| 134 |
|
|
# Rename applications.menu (needs 01_gentoo_set_xdg_menu_prefix.patch to work) |
| 135 |
|
|
local menu_prefix="kde-${SLOT}-" |
| 136 |
|
|
sed -e "s|FILES[[:space:]]applications.menu|FILES applications.menu RENAME ${menu_prefix}applications.menu|g" \ |
| 137 |
|
|
-i kded/CMakeLists.txt || die "Sed on CMakeLists.txt for applications.menu failed." |
| 138 |
|
|
sed -e "s|@REPLACE_MENU_PREFIX@|${menu_prefix}|g" \ |
| 139 |
|
|
-i kded/vfolder_menu.cpp || die "Sed on vfolder_menu.cpp failed." |
| 140 |
|
|
|
| 141 |
|
|
if use aqua; then |
| 142 |
|
|
sed -i -e \ |
| 143 |
|
|
"s:BUNDLE_INSTALL_DIR \"/Applications:BUNDLE_INSTALL_DIR \"${EPREFIX}/${APP_BUNDLE_DIR}:g" \ |
| 144 |
|
|
cmake/modules/FindKDE4Internal.cmake || die "failed to sed FindKDE4Internal.cmake" |
| 145 |
|
|
|
| 146 |
|
|
#if [[ ${CHOST} == *-darwin8 ]]; then |
| 147 |
|
|
sed -i -e \ |
| 148 |
|
|
"s:set(_add_executable_param MACOSX_BUNDLE):remove(_add_executable_param MACOSX_BUNDLE):g" \ |
| 149 |
|
|
cmake/modules/KDE4Macros.cmake || die "failed to sed KDE4Macros.cmake" |
| 150 |
|
|
#fi |
| 151 |
|
|
|
| 152 |
|
|
# solid/solid/backends/iokit doesn't properly link, so disable it. |
| 153 |
|
|
sed -e "s|\(APPLE\)|(FALSE)|g" -i solid/solid/CMakeLists.txt \ |
| 154 |
|
|
|| die "disabling solid/solid/backends/iokit failed" |
| 155 |
|
|
sed -e "s|m_backend = .*Backends::IOKit.*;|m_backend = 0;|g" -i solid/solid/managerbase.cpp \ |
| 156 |
|
|
|| die "disabling solid/solid/backends/iokit failed" |
| 157 |
|
|
|
| 158 |
|
|
# There's no fdatasync on OSX and the check fails to detect that. |
| 159 |
|
|
sed -e "/HAVE_FDATASYNC/ d" -i config.h.cmake \ |
| 160 |
|
|
|| die "disabling fdatasync failed" |
| 161 |
|
|
|
| 162 |
|
|
# Fix nameser include to nameser8_compat |
| 163 |
|
|
sed -e "s|nameser8_compat.h|nameser_compat.h|g" -i kio/misc/kpac/discovery.cpp \ |
| 164 |
|
|
|| die "fixing nameser include failed" |
| 165 |
|
|
append-flags -DHAVE_ARPA_NAMESER8_COMPAT_H=1 |
| 166 |
|
|
|
| 167 |
|
|
# Try to fix kkeyserver_mac |
| 168 |
|
|
epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch |
| 169 |
|
|
fi |
| 170 |
|
|
|
| 171 |
|
|
if [[ ${CHOST} == *-solaris* ]] ; then |
| 172 |
|
|
epatch "${FILESDIR}/kdelibs-4.3.2-solaris-ksyscoca.patch" |
| 173 |
|
|
# getgrouplist not in solaris libc |
| 174 |
|
|
epatch "${FILESDIR}/kdelibs-4.3.2-solaris-getgrouplist.patch" |
| 175 |
|
|
# solaris has no d_type element in dir_ent |
| 176 |
|
|
epatch "${FILESDIR}/kdelibs-4.3.2-solaris-fileunix.patch" |
| 177 |
|
|
fi |
| 178 |
|
|
} |
| 179 |
|
|
|
| 180 |
|
|
src_configure() { |
| 181 |
|
|
if use zeroconf; then |
| 182 |
|
|
if has_version net-dns/avahi; then |
| 183 |
|
|
mycmakeargs=(-DWITH_Avahi=ON -DWITH_DNSSD=OFF) |
| 184 |
|
|
elif has_version net-misc/mDNSResponder; then |
| 185 |
|
|
mycmakeargs=(-DWITH_Avahi=OFF -DWITH_DNSSD=ON) |
| 186 |
|
|
else |
| 187 |
|
|
die "USE=\"zeroconf\" enabled but neither net-dns/avahi nor net-misc/mDNSResponder were found." |
| 188 |
|
|
fi |
| 189 |
|
|
else |
| 190 |
|
|
mycmakeargs=(-DWITH_Avahi=OFF -DWITH_DNSSD=OFF) |
| 191 |
|
|
fi |
| 192 |
|
|
if use kdeprefix; then |
| 193 |
|
|
HME=".kde${SLOT}" |
| 194 |
|
|
else |
| 195 |
|
|
HME=".kde4" |
| 196 |
|
|
fi |
| 197 |
|
|
mycmakeargs+=( |
| 198 |
|
|
-DWITH_HSPELL=OFF |
| 199 |
|
|
-DWITH_ASPELL=OFF |
| 200 |
|
|
-DKDE_DEFAULT_HOME=${HME} |
| 201 |
|
|
-DKAUTH_BACKEND=POLKITQT-1 |
| 202 |
|
|
$(cmake-utils_use_build handbook doc) |
| 203 |
|
|
$(cmake-utils_use_has 3dnow X86_3DNOW) |
| 204 |
|
|
$(cmake-utils_use_has altivec PPC_ALTIVEC) |
| 205 |
|
|
$(cmake-utils_use_has mmx X86_MMX) |
| 206 |
|
|
$(cmake-utils_use_has sse X86_SSE) |
| 207 |
|
|
$(cmake-utils_use_has sse2 X86_SSE2) |
| 208 |
|
|
$(cmake-utils_use_with acl) |
| 209 |
|
|
$(cmake-utils_use_with alsa) |
| 210 |
|
|
$(cmake-utils_use_with bzip2 BZip2) |
| 211 |
|
|
$(cmake-utils_use_with fam) |
| 212 |
|
|
$(cmake-utils_use_with jpeg2k Jasper) |
| 213 |
|
|
$(cmake-utils_use_with kerberos GSSAPI) |
| 214 |
|
|
$(cmake-utils_use_with lzma LibLZMA) |
| 215 |
|
|
$(cmake-utils_use_with nls Libintl) |
| 216 |
|
|
$(cmake-utils_use_with openexr OpenEXR) |
| 217 |
|
|
$(cmake-utils_use_with opengl OpenGL) |
| 218 |
|
|
$(cmake-utils_use_with policykit PolkitQt-1) |
| 219 |
|
|
$(cmake-utils_use_with semantic-desktop Soprano) |
| 220 |
|
|
$(cmake-utils_use_with semantic-desktop SharedDesktopOntologies) |
| 221 |
|
|
$(cmake-utils_use_with spell ENCHANT) |
| 222 |
|
|
$(cmake-utils_use_with ssl OpenSSL) |
| 223 |
|
|
) |
| 224 |
|
|
kde4-base_src_configure |
| 225 |
|
|
} |
| 226 |
|
|
|
| 227 |
|
|
src_compile() { |
| 228 |
|
|
kde4-base_src_compile |
| 229 |
|
|
|
| 230 |
|
|
# The building of apidox is not managed anymore by the build system |
| 231 |
|
|
if use doc; then |
| 232 |
|
|
einfo "Building API documentation" |
| 233 |
|
|
cd "${S}"/doc/api/ |
| 234 |
|
|
./doxygen.sh "${S}" || die "APIDOX generation failed" |
| 235 |
|
|
fi |
| 236 |
|
|
} |
| 237 |
|
|
|
| 238 |
|
|
src_install() { |
| 239 |
|
|
kde4-base_src_install |
| 240 |
|
|
|
| 241 |
|
|
# use system certificates |
| 242 |
|
|
rm -f "${ED}/${KDEDIR}"/share/apps/kssl/ca-bundle.crt || die |
| 243 |
|
|
dosym /etc/ssl/certs/ca-certificates.crt \ |
| 244 |
|
|
"${KDEDIR}"/share/apps/kssl/ca-bundle.crt || die |
| 245 |
|
|
|
| 246 |
|
|
if use doc; then |
| 247 |
|
|
einfo "Installing API documentation. This could take a bit of time." |
| 248 |
|
|
cd "${S}"/doc/api/ |
| 249 |
|
|
docinto /HTML/en/kdelibs-apidox |
| 250 |
|
|
dohtml -r ${P}-apidocs/* || die "Install phase of KDE4 API Documentation failed" |
| 251 |
|
|
fi |
| 252 |
|
|
|
| 253 |
|
|
if use aqua; then |
| 254 |
|
|
einfo "fixing ${PN} plugins" |
| 255 |
|
|
|
| 256 |
|
|
local _PV=${PV:0:3}.0 |
| 257 |
|
|
local _dir=${EKDEDIR}/$(get_libdir)/kde4/plugins/script |
| 258 |
|
|
|
| 259 |
|
|
install_name_tool -id \ |
| 260 |
|
|
"${_dir}/libkrossqtsplugin.${_PV}.dylib" \ |
| 261 |
|
|
"${D}/${_dir}/libkrossqtsplugin.${_PV}.dylib" \ |
| 262 |
|
|
|| die "failed fixing libkrossqtsplugin.${_PV}.dylib" |
| 263 |
|
|
|
| 264 |
|
|
einfo "fixing ${PN} cmake detection files" |
| 265 |
|
|
#sed -i -e \ |
| 266 |
|
|
# "s:if (HAVE_XKB):if (HAVE_XKB AND NOT APPLE):g" \ |
| 267 |
|
|
echo -e "set(XKB_FOUND FALSE)\nset(HAVE_XKB FALSE)" > \ |
| 268 |
|
|
"${ED}"/${KDEDIR}/share/apps/cmake/modules/FindXKB.cmake \ |
| 269 |
|
|
|| die "failed fixing FindXKB.cmake" |
| 270 |
|
|
fi |
| 271 |
|
|
} |
| 272 |
|
|
|
| 273 |
|
|
pkg_postinst() { |
| 274 |
|
|
fdo-mime_mime_database_update |
| 275 |
|
|
|
| 276 |
|
|
if use zeroconf; then |
| 277 |
|
|
echo |
| 278 |
|
|
elog "To make zeroconf support available in KDE make sure that the 'mdnsd' daemon" |
| 279 |
|
|
elog "is running." |
| 280 |
|
|
echo |
| 281 |
|
|
einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns" |
| 282 |
|
|
einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf" |
| 283 |
|
|
einfo "to include 'mdns', e.g.:" |
| 284 |
|
|
einfo " hosts: files mdns dns" |
| 285 |
|
|
echo |
| 286 |
|
|
fi |
| 287 |
|
|
|
| 288 |
|
|
elog "Your homedir is set to \${HOME}/${HME}" |
| 289 |
|
|
echo |
| 290 |
|
|
|
| 291 |
|
|
if ! has_version sys-apps/hal; then |
| 292 |
|
|
echo |
| 293 |
|
|
ewarn "You need sys-apps/hal for new device notifications, power management and any" |
| 294 |
|
|
ewarn "other hardware related functionalities to work." |
| 295 |
|
|
echo |
| 296 |
|
|
fi |
| 297 |
|
|
|
| 298 |
|
|
kde4-base_pkg_postinst |
| 299 |
|
|
} |
| 300 |
|
|
|
| 301 |
|
|
pkg_prerm() { |
| 302 |
|
|
# Remove ksycoca4 global database |
| 303 |
|
|
rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4 |
| 304 |
|
|
} |
| 305 |
|
|
|
| 306 |
|
|
pkg_postrm() { |
| 307 |
|
|
fdo-mime_mime_database_update |
| 308 |
|
|
|
| 309 |
|
|
kde4-base_pkg_postrm |
| 310 |
|
|
} |