Skip to content

Commit

Permalink
kde-frameworks/kdelibs: 4.14.34 bump, fix USE=opengl, build w/ cmake-3.9
Browse files Browse the repository at this point in the history
Drop obsolete pkg_pretend minimum GCC check.
Remove Nepomuk headers, nothing should be using them.

Gentoo-bug: 504012, 625506

Package-Manager: Portage-2.3.6, Repoman-2.3.1
  • Loading branch information
a17r committed Jul 23, 2017
1 parent 1ce0198 commit 02bc077
Show file tree
Hide file tree
Showing 4 changed files with 364 additions and 0 deletions.
1 change: 1 addition & 0 deletions kde-frameworks/kdelibs/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST kdelibs-4.14.32.tar.xz 11640860 SHA256 2133e863b21c197c75bd6a6ac60773422ef026c33acb57b8c7628a09f483bd83 SHA512 06cc64b79758d4dbf676eb6bbf56c1bb2820f3405c61e4d39e4e68a3ecd7db4afcf6fca1fcfe870dba9f8264b56aaee72d0f06da0923d2befd6ea56aa5adba22 WHIRLPOOL 4477c6d60c1df6469e6e1c66d8919c8f6432202b8c864a442226aa220f436971185337cb661b0f8e3e90d3e0dc7bdc0657994198003d6ef5ffb8bc8e604c45b7
DIST kdelibs-4.14.33.tar.xz 11644596 SHA256 b8aac286955d3d29e4d3a69f7a267d9c8ba62a884d8e3b9298588fd4ce542415 SHA512 d0d2978669059aa9d2e7fcb1ae0046e1c7fb86153c82401726693fa5633b89a5929aa81287c219d5584e7ef904f93a21819743dc359e4c249d5128382d5826a7 WHIRLPOOL 7054ccd69291d77ca47fcd4f17b8d1d1e5d9445a803310504abb3f2d17fc4f837f33c0c7b1a3d9ad90b3397fed0b6db40dc9e5d11c721779e8e12c47388cffdf
DIST kdelibs-4.14.34.tar.xz 11644736 SHA256 777d3433555b3257fe67167723020bb7f0da7b16daeace9910751e4b9bf9bcfb SHA512 57ba1591e6996af79f03e8a3d4d0c278c027ad65c717fcbdb857df68a3df47ddec6b7c34dfd682d590bfa9ed6800974b53ff29aa7ab73522caebc9897cbd81c0 WHIRLPOOL 7c1f318edadb6625acef33891e8fb751dd0c783a05f0e4bb2b77376791c43fbfee20bf8b72aab719bcfd8d271294263f2fc57912fd09edb38589a37d8a01c968
35 changes: 35 additions & 0 deletions kde-frameworks/kdelibs/files/kdelibs-4.14.34-cmake-3.9.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
From 57eaf65accb8d058644dc8eee7332e0ec0c1952f Mon Sep 17 00:00:00 2001
From: Heiko Becker <[email protected]>
Date: Thu, 20 Jul 2017 20:12:10 +0200
Subject: [cmake]: De-duplicate "else" to fix build with cmake-3.9

Otherwise it errors out with:
"CMake Error at kdeui/CMakeLists.txt:316 (else): A duplicate ELSE
command was found inside an IF block."
Also adjust the indentation to match the surrounding lines and remove
the arguments from else() and endif().
---
kdeui/CMakeLists.txt | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/kdeui/CMakeLists.txt b/kdeui/CMakeLists.txt
index d6ec8b4..cadb52e 100644
--- a/kdeui/CMakeLists.txt
+++ b/kdeui/CMakeLists.txt
@@ -311,11 +311,9 @@ if (Q_WS_MAC AND MAC_USE_OSXKEYCHAIN)
FIND_LIBRARY(SECURITY_LIBRARY Security)
set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet_mac.cpp util/qosxkeychain.cpp)
add_definitions(-DMAC_USE_OSXKEYCHAIN)
-else(Q_WS_MAC AND MAC_USE_OSXKEYCHAIN)
- set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet.cpp)
-else(Q_WS_MAC AND MAC_USE_OSXKEYCHAIN)
- set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet.cpp)
-endif(Q_WS_MAC AND MAC_USE_OSXKEYCHAIN)
+else()
+ set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kwallet.cpp)
+endif()

if(NOT WINCE)
set(kdeui_LIB_SRCS
--
cgit v0.11.2
35 changes: 35 additions & 0 deletions kde-frameworks/kdelibs/files/kdelibs-4.14.34-svg.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
From 71c3b3f779c815d5b1c0a87e6d09dadefd6b7409 Mon Sep 17 00:00:00 2001
From: Wolfgang Bauer <[email protected]>
Date: Tue, 11 Jul 2017 14:25:19 +0200
Subject: Support SVG too

Konqueror's about page doesn't show icons if the breeze icon theme is
used.
The reason is that khtml doesn't support SVG images.
This patch is supposed to fix it by allowing to use Qt's support in that
case.

This is a backport of commit ed5c039f2d1996545b95a24e9bff4264144f9f6d
in khtml

FIXED-IN: 4.14.35
CCBUG: 355872
---
khtml/imload/decoders/qimageioloader.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/khtml/imload/decoders/qimageioloader.cpp b/khtml/imload/decoders/qimageioloader.cpp
index cecaeaf..7b6025b 100644
--- a/khtml/imload/decoders/qimageioloader.cpp
+++ b/khtml/imload/decoders/qimageioloader.cpp
@@ -131,7 +131,7 @@ public:
};

static const char* const positiveList[] = {
- "BMP", "TIFF", "JP2", "PNM", "EXR", "XBM", "XPM", "ICO", 0
+ "BMP", "TIFF", "JP2", "PNM", "EXR", "XBM", "XPM", "ICO", "SVG", "SVGZ", 0
};

bool isSupportedFormat(QString format) {
--
cgit v0.11.2
293 changes: 293 additions & 0 deletions kde-frameworks/kdelibs/kdelibs-4.14.34.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

CPPUNIT_REQUIRED="optional"
DECLARATIVE_REQUIRED="always"
KDE_HANDBOOK="optional"
OPENGL_REQUIRED="optional"
WEBKIT_REQUIRED="optional"
inherit kde4-base fdo-mime multilib toolchain-funcs flag-o-matic

APPS_VERSION="17.04.3" # Don't forget to bump this

DESCRIPTION="Libraries needed for programs by KDE"
[[ ${KDE_BUILD_TYPE} != live ]] && \
SRC_URI="mirror://kde/stable/applications/${APPS_VERSION}/src/${P}.tar.xz"

KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
LICENSE="LGPL-2.1"
IUSE="cpu_flags_x86_3dnow acl altivec +bzip2 +crypt debug doc fam jpeg2k
kerberos libressl lzma cpu_flags_x86_mmx nls openexr +policykit spell
cpu_flags_x86_sse cpu_flags_x86_sse2 ssl +udev +udisks +upower zeroconf"

REQUIRED_USE="
udisks? ( udev )
upower? ( udev )
"

# needs the kate regression testsuite from svn
RESTRICT="test"

COMMONDEPEND="
app-text/docbook-xml-dtd:4.2
app-text/docbook-xsl-stylesheets
>=dev-libs/libattica-0.4.2
dev-libs/libdbusmenu-qt[qt4]
dev-libs/libpcre[unicode]
dev-libs/libxml2
dev-libs/libxslt
media-libs/fontconfig
media-libs/freetype:2
media-libs/giflib:=
media-libs/libpng:0=
media-libs/phonon[qt4]
sys-libs/zlib
virtual/jpeg:0
x11-misc/shared-mime-info
acl? ( virtual/acl )
!aqua? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXau
x11-libs/libXcursor
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXpm
x11-libs/libXrender
x11-libs/libXScrnSaver
x11-libs/libXtst
!kernel_SunOS? (
|| (
sys-libs/libutempter
>=sys-freebsd/freebsd-lib-9.0
)
)
)
bzip2? ( app-arch/bzip2 )
crypt? ( app-crypt/qca:2[qt4] )
fam? ( virtual/fam )
jpeg2k? ( media-libs/jasper:= )
kerberos? ( virtual/krb5 )
openexr? (
media-libs/openexr:=
media-libs/ilmbase:=
)
policykit? ( sys-auth/polkit-qt[qt4] )
spell? ( app-text/enchant )
ssl? (
libressl? ( dev-libs/libressl:0= )
!libressl? ( dev-libs/openssl:0= )
)
udev? ( virtual/udev )
zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
"
DEPEND="${COMMONDEPEND}
doc? ( app-doc/doxygen )
nls? ( virtual/libintl )
"
RDEPEND="${COMMONDEPEND}
!dev-qt/qtphonon
>=app-crypt/gnupg-2.0.11
app-misc/ca-certificates
kde-frameworks/kdelibs-env:4
sys-apps/dbus[X]
!aqua? (
x11-apps/iceauth
x11-apps/rgb
x11-misc/xdg-utils
udisks? ( sys-fs/udisks:2 )
upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) )
)
udev? ( app-misc/media-player-info )
"
PDEPEND="
x11-misc/xdg-utils
handbook? ( kde-apps/khelpcenter:* )
policykit? ( kde-plasma/polkit-kde-agent )
"

PATCHES=(
"${FILESDIR}/dist/01_gentoo_set_xdg_menu_prefix-1.patch"
"${FILESDIR}/dist/02_gentoo_append_xdg_config_dirs-1.patch"
"${FILESDIR}/${PN}-4.14.5-fatalwarnings.patch"
"${FILESDIR}/${PN}-4.14.5-mimetypes.patch"
"${FILESDIR}/${PN}-4.4.90-xslt.patch"
"${FILESDIR}/${PN}-4.6.3-no_suid_kdeinit.patch"
"${FILESDIR}/${PN}-4.8.1-norpath.patch"
"${FILESDIR}/${PN}-4.9.3-werror.patch"
"${FILESDIR}/${PN}-4.10.0-udisks.patch"
"${FILESDIR}/${PN}-4.14.20-FindQt4.patch"
"${FILESDIR}/${PN}-4.14.22-webkit.patch"
"${FILESDIR}/${P}-svg.patch"
"${FILESDIR}/${P}-cmake-3.9.patch"
)

src_prepare() {
kde4-base_src_prepare

# Rename applications.menu (needs 01_gentoo_set_xdg_menu_prefix-1.patch to work)
sed -e 's|FILES[[:space:]]applications.menu|FILES applications.menu RENAME kde-4-applications.menu|g' \
-i kded/CMakeLists.txt || die "Sed on CMakeLists.txt for applications.menu failed."

if ! use opengl; then
sed -i -e "/if/ s/QT_QTOPENGL_FOUND/FALSE/" \
plasma/CMakeLists.txt plasma/tests/CMakeLists.txt includes/CMakeLists.txt \
|| die "failed to sed out QT_QTOPENGL_FOUND"
fi

if use aqua; then
sed -i -e \
"s:BUNDLE_INSTALL_DIR \"/Applications:BUNDLE_INSTALL_DIR \"${EPREFIX}/${APP_BUNDLE_DIR}:g" \
cmake/modules/FindKDE4Internal.cmake || die "failed to sed FindKDE4Internal.cmake"

#if [[ ${CHOST} == *-darwin8 ]]; then
sed -i -e \
"s:set(_add_executable_param MACOSX_BUNDLE):remove(_add_executable_param MACOSX_BUNDLE):g" \
cmake/modules/KDE4Macros.cmake || die "failed to sed KDE4Macros.cmake"
#fi

# solid/solid/backends/iokit doesn't properly link, so disable it.
sed -e "s|\(APPLE\)|(FALSE)|g" -i solid/solid/CMakeLists.txt \
|| die "disabling solid/solid/backends/iokit failed"
sed -e "s|m_backend = .*Backends::IOKit.*;|m_backend = 0;|g" -i solid/solid/managerbase.cpp \
|| die "disabling solid/solid/backends/iokit failed"

# There's no fdatasync on OSX and the check fails to detect that.
sed -e "/HAVE_FDATASYNC/ d" -i config.h.cmake \
|| die "disabling fdatasync failed"

# Fix nameser include to nameser8_compat
sed -e "s|nameser8_compat.h|nameser_compat.h|g" -i kio/misc/kpac/discovery.cpp \
|| die "fixing nameser include failed"
append-flags -DHAVE_ARPA_NAMESER8_COMPAT_H=1

# Try to fix kkeyserver_mac
eapply "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch
fi
}

src_configure() {
local mycmakeargs=(
-DWITH_HSPELL=OFF
-DWITH_ASPELL=OFF
-DKDE_DEFAULT_HOME=.kde4
-DKAUTH_BACKEND=POLKITQT-1
-DWITH_Soprano=OFF
-DWITH_SharedDesktopOntologies=OFF
-DCMAKE_DISABLE_FIND_PACKAGE_Strigi=ON
-DBUILD_doc=$(usex handbook)
-DHAVE_X86_3DNOW=$(usex cpu_flags_x86_3dnow)
-DHAVE_PPC_ALTIVEC=$(usex altivec)
-DHAVE_X86_MMX=$(usex cpu_flags_x86_mmx)
-DHAVE_X86_SSE=$(usex cpu_flags_x86_sse)
-DHAVE_X86_SSE2=$(usex cpu_flags_x86_sse2)
-DWITH_ACL=$(usex acl)
-DWITH_BZip2=$(usex bzip2)
-DWITH_QCA2=$(usex crypt)
-DWITH_FAM=$(usex fam)
-DWITH_Jasper=$(usex jpeg2k)
-DWITH_GSSAPI=$(usex kerberos)
-DWITH_LibLZMA=$(usex lzma)
-DWITH_Libintl=$(usex nls)
-DWITH_OpenEXR=$(usex openexr)
-DWITH_PolkitQt-1=$(usex policykit)
-DWITH_ENCHANT=$(usex spell)
-DWITH_OpenSSL=$(usex ssl)
-DWITH_UDev=$(usex udev)
-DWITH_SOLID_UDISKS2=$(usex udisks)
-DWITH_KDEWEBKIT=$(usex webkit)
-DWITH_Avahi=$(usex zeroconf)
)

use zeroconf || mycmakeargs+=( -DWITH_DNSSD=OFF )

kde4-base_src_configure
}

src_compile() {
kde4-base_src_compile

# The building of apidox is not managed anymore by the build system
if use doc; then
einfo "Building API documentation"
cd "${S}"/doc/api/
./doxygen.sh "${S}" || die "APIDOX generation failed"
fi
}

src_install() {
kde4-base_src_install

# use system certificates
rm -f "${ED}"/usr/share/apps/kssl/ca-bundle.crt || die
dosym /etc/ssl/certs/ca-certificates.crt /usr/share/apps/kssl/ca-bundle.crt

if use doc; then
einfo "Installing API documentation. This could take a bit of time."
cd "${S}"/doc/api/
docinto /HTML/en/kdelibs-apidox
dohtml -r ${P}-apidocs/*
fi

if use aqua; then
einfo "fixing ${PN} plugins"

local _PV=${PV:0:3}.0
local _dir=${EPREFIX}/usr/$(get_libdir)/kde4/plugins/script

install_name_tool -id \
"${_dir}/libkrossqtsplugin.${_PV}.dylib" \
"${D}/${_dir}/libkrossqtsplugin.${_PV}.dylib" \
|| die "failed fixing libkrossqtsplugin.${_PV}.dylib"

einfo "fixing ${PN} cmake detection files"
#sed -i -e \
# "s:if (HAVE_XKB):if (HAVE_XKB AND NOT APPLE):g" \
echo -e "set(XKB_FOUND FALSE)\nset(HAVE_XKB FALSE)" > \
"${ED}"/usr/share/apps/cmake/modules/FindXKB.cmake \
|| die "failed fixing FindXKB.cmake"
fi

# We don't package it, so don't install headers
rm -r "${ED}"/usr/include/KDE/Nepomuk || die

einfo Installing environment file.
# Since 44qt4 is sourced earlier QT_PLUGIN_PATH is defined.
echo "COLON_SEPARATED=QT_PLUGIN_PATH" > "${T}/77kde"
echo "QT_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/kde4/plugins" >> "${T}/77kde"
doenvd "${T}/77kde"
}

pkg_postinst() {
fdo-mime_mime_database_update

if use zeroconf; then
elog
elog "To make zeroconf support available in applications make sure that the avahi daemon"
elog "is running."
elog
elog "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns"
elog "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf"
elog "to include 'mdns', e.g.:"
elog " hosts: files mdns dns"
elog
fi

kde4-base_pkg_postinst
}

pkg_prerm() {
# Remove ksycoca4 global database
rm -f "${EROOT%/}"/usr/share/kde4/services/ksycoca4 || die
}

pkg_postrm() {
fdo-mime_mime_database_update

kde4-base_pkg_postrm
}

0 comments on commit 02bc077

Please sign in to comment.