diff options
Diffstat (limited to 'kde-base/kdelibs')
18 files changed, 1851 insertions, 0 deletions
diff --git a/kde-base/kdelibs/Manifest b/kde-base/kdelibs/Manifest new file mode 100644 index 000000000000..fa803fc3e75a --- /dev/null +++ b/kde-base/kdelibs/Manifest @@ -0,0 +1,3 @@ +DIST kdelibs-4.14.10.tar.xz 11644204 SHA256 00f5a7bdb0b2bcb786ea630844c639ebe89c45eb1e88443dde421baa0895ca94 SHA512 051322f6ee24e09f7b705e17aa8cc755bc6728855afe5b310910e976737167d7902f01a6a8ca51b60b1f0904429522d35eeec1b09ac6cfbdcab97e0fdd5429df WHIRLPOOL 4d4b8d6c25af95e4074606f5ffa7f33134a6a625a22ba7912b1b1a5af3474702d9adc12e71da86cedf46ac150678e53dd7a8bafb444a3b687f1efb633af7ff2d +DIST kdelibs-4.14.3.tar.xz 11600500 SHA256 f8206da1106184ef0bd031b82701c4910b8dade331c4cdaf1cd9c6c5208cfd9e SHA512 7713cec4851fd4d7d5376afd905515902395ca469cefe1924c05ac0cd4499c28ab6a3c3e7bee10c4cfb3584f2fe93cfb6129d5b550d56d18217866f5fde748cf WHIRLPOOL 9b6d525136cee8e43b832dbbe7451494cc30e15cc58cc34eeab8c9040a9cbe893dc8ba794be50cdb3462e20279bfb41bee22385d3d106a353ef738da510f5c04 +DIST kdelibs-4.14.8.tar.xz 11648060 SHA256 705fa8a9b3b3c962aa99d040eb32e68863ba4c2f567b82b9513379defbc39bbb SHA512 0cd5e8dd5cec7cf84bc66c6732f4967610211e521898da41601d24174f909043bafacbb9bd9775666cebb132747e2861c6c8ff07de61be708975f44dbbfb856e WHIRLPOOL 6405ee6b273899a26c39fa005c18be7270888113f93302990003b92ca96c52303ce853c5378c812f4ddf53f40c7b6ff9e2a958bc86a676d1e3abbfe4f3d96bd4 diff --git a/kde-base/kdelibs/files/dist/01_gentoo_set_xdg_menu_prefix-1.patch b/kde-base/kdelibs/files/dist/01_gentoo_set_xdg_menu_prefix-1.patch new file mode 100644 index 000000000000..228914fbb82c --- /dev/null +++ b/kde-base/kdelibs/files/dist/01_gentoo_set_xdg_menu_prefix-1.patch @@ -0,0 +1,18 @@ +Set XDG_MENU_PREFIX to kde-4- if not set. This fixes "empty-applications-menu" when running +KDE4 applications outside of KDE4 environment. + +Index: kded/vfolder_menu.cpp +=================================================================== +--- kded/vfolder_menu.cpp (revision 1014368) ++++ kded/vfolder_menu.cpp (working copy) +@@ -770,7 +770,9 @@ + QString result; + + QString xdgMenuPrefix = QString::fromLocal8Bit(qgetenv("XDG_MENU_PREFIX")); +- if (!xdgMenuPrefix.isEmpty()) ++ if (xdgMenuPrefix.isEmpty()) ++ xdgMenuPrefix = "kde-4-"; ++ + { + QFileInfo fileInfo(fileName); + diff --git a/kde-base/kdelibs/files/dist/02_gentoo_append_xdg_config_dirs-1.patch b/kde-base/kdelibs/files/dist/02_gentoo_append_xdg_config_dirs-1.patch new file mode 100644 index 000000000000..3049b0a7a28c --- /dev/null +++ b/kde-base/kdelibs/files/dist/02_gentoo_append_xdg_config_dirs-1.patch @@ -0,0 +1,30 @@ +Set up XDG_CONFIG_DIRS lookup in order: +1. custom XDG_CONFIG_DIRS from env +2. kdeprefix xdg config dirs +3. /etc/xdg + +Index: kdecore/kernel/kstandarddirs.cpp +=================================================================== +--- kdecore/kernel/kstandarddirs.cpp (revision 1014759) ++++ kdecore/kernel/kstandarddirs.cpp (working copy) +@@ -1664,16 +1664,13 @@ + { + tokenize(xdgdirList, xdgdirs, QString(QChar(KPATH_SEPARATOR))); + } +- else +- { +- xdgdirList.clear(); +- xdgdirList.append(QString::fromLatin1("/etc/xdg")); ++ + #ifdef Q_WS_WIN +- xdgdirList.append(installPath("kdedir") + QString::fromLatin1("etc/xdg")); ++ xdgdirList.append(installPath("kdedir") + QString::fromLatin1("etc/xdg")); + #else +- xdgdirList.append(QFile::decodeName(KDESYSCONFDIR "/xdg")); ++ xdgdirList.append(QFile::decodeName(KDESYSCONFDIR "/xdg")); + #endif +- } ++ xdgdirList.append(QString::fromLatin1("/etc/xdg")); + + QString localXdgDir = readEnvPath("XDG_CONFIG_HOME"); + if (!localXdgDir.isEmpty()) diff --git a/kde-base/kdelibs/files/kdelibs-4.10.0-udisks.patch b/kde-base/kdelibs/files/kdelibs-4.10.0-udisks.patch new file mode 100644 index 000000000000..7de5ec960ead --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.10.0-udisks.patch @@ -0,0 +1,51 @@ +udisks1 is deprecated and going away, so removing this clause +will permit us to build without udisks at all. + +--- solid/solid/CMakeLists.txt ++++ solid/solid/CMakeLists.txt +@@ -283,20 +283,6 @@ + backends/udisks2/udisksgenericinterface.cpp + backends/udisks2/dbus/manager.cpp + ) +- else ( WITH_SOLID_UDISKS2 ) +- message(STATUS "Building Solid UDisks backend." ) +- set(solid_LIB_SRCS ${solid_LIB_SRCS} +- backends/udisks/udisksmanager.cpp +- backends/udisks/udisksdevice.cpp +- backends/udisks/udisksblock.cpp +- backends/udisks/udisksstoragevolume.cpp +- backends/udisks/udisksdeviceinterface.cpp +- backends/udisks/udisksopticaldisc.cpp +- backends/udisks/udisksopticaldrive.cpp +- backends/udisks/udisksstoragedrive.cpp +- backends/udisks/udisksstorageaccess.cpp +- backends/udisks/udisksgenericinterface.cpp +- ) + endif ( WITH_SOLID_UDISKS2 ) + endif (CMAKE_SYSTEM_NAME MATCHES Linux) + +--- solid/solid/managerbase.cpp ++++ solid/solid/managerbase.cpp +@@ -33,8 +33,6 @@ + #include "backends/hal/halmanager.h" + #if defined (WITH_SOLID_UDISKS2) + #include "backends/udisks2/udisksmanager.h" +-#else +-#include "backends/udisks/udisksmanager.h" + #endif + #include "backends/upower/upowermanager.h" + +@@ -88,11 +86,9 @@ + m_backends << new Solid::Backends::UDev::UDevManager(0); + # endif + # if defined(WITH_SOLID_UDISKS2) +- m_backends << new Solid::Backends::UDisks2::Manager(0) +-# else +- m_backends << new Solid::Backends::UDisks::UDisksManager(0) ++ m_backends << new Solid::Backends::UDisks2::Manager(0); + # endif +- << new Solid::Backends::UPower::UPowerManager(0) ++ m_backends << new Solid::Backends::UPower::UPowerManager(0) + << new Solid::Backends::Fstab::FstabManager(0); + } + # endif diff --git a/kde-base/kdelibs/files/kdelibs-4.14.0-mimetypes.patch b/kde-base/kdelibs/files/kdelibs-4.14.0-mimetypes.patch new file mode 100644 index 000000000000..5e543902d7b5 --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.14.0-mimetypes.patch @@ -0,0 +1,39 @@ +Remove fake MIME types that cause warnings. + +The offending MIME types are commented out rather than +physically removed because doing so would cause the patch +to be too large. + +diff --git a/mimetypes/kde.xml b/mimetypes/kde.xml +index 76303db..23351c4 100644 +--- a/mimetypes/kde.xml ++++ b/mimetypes/kde.xml +@@ -1783,8 +1783,8 @@ Notes: + </magic> + <glob pattern="*.abc"/> + </mime-type> +- +- <!-- all/ fake mime types --> ++<!-- ++ all/ fake mime types + <mime-type type="all/all"> + <comment>all files and folders</comment> + <comment xml:lang="ar">كل الملفات و المجلدات</comment> +@@ -1902,7 +1902,7 @@ Notes: + <comment xml:lang="zh_TW">所有檔案</comment> + </mime-type> + +- <!-- uri/ fake mime types --> ++ uri/ fake mime types + <mime-type type="uri/mms"> + <comment>mms: URIs</comment> + <comment xml:lang="ar">mms: وصلات</comment> +@@ -2245,7 +2245,7 @@ Notes: + <comment xml:lang="zh_CN">rtspu: 地址</comment> + <comment xml:lang="zh_TW">rtspu: 網址</comment> + </mime-type> +- ++--> + <mime-type type="application/vnd.kde.fontspackage"> + <sub-class-of type="application/zip"/> + <comment>fonts package</comment> diff --git a/kde-base/kdelibs/files/kdelibs-4.14.3-trim-crash.patch b/kde-base/kdelibs/files/kdelibs-4.14.3-trim-crash.patch new file mode 100644 index 000000000000..12c84dcfe93e --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.14.3-trim-crash.patch @@ -0,0 +1,610 @@ +From 570425a30c008297df09ef48b60486108fcf33e9 Mon Sep 17 00:00:00 2001 +From: Andrea Iacovitti <aiacovitti@libero.it> +Date: Tue, 11 Nov 2014 07:54:28 +0100 +Subject: [PATCH] Introduce DOMString::trimSpaces(), useful for removing space + characters from url string. + +--- + khtml/css/css_valueimpl.cpp | 4 ++-- + khtml/css/cssparser.cpp | 4 ++-- + khtml/dom/dom_string.cpp | 32 ++++++++++++++++++++++++++++++++ + khtml/dom/dom_string.h | 7 +++++++ + khtml/dom/html_base.cpp | 8 ++++---- + khtml/dom/html_document.cpp | 2 +- + khtml/dom/html_form.cpp | 4 ++-- + khtml/dom/html_head.cpp | 12 ++++++------ + khtml/dom/html_image.cpp | 8 ++++---- + khtml/dom/html_inline.cpp | 4 ++-- + khtml/ecma/kjs_html.cpp | 4 ++-- + khtml/ecma/xmlhttprequest.cpp | 3 ++- + khtml/html/html_baseimpl.cpp | 6 +++--- + khtml/html/html_formimpl.cpp | 2 +- + khtml/html/html_headimpl.cpp | 12 ++++++------ + khtml/html/html_imageimpl.cpp | 6 +++--- + khtml/html/html_inlineimpl.cpp | 2 +- + khtml/html/html_objectimpl.cpp | 4 ++-- + khtml/html/html_tableimpl.cpp | 4 ++-- + khtml/html/htmlparser.cpp | 4 ++-- + khtml/html/htmlprospectivetokenizer.cpp | 4 ++-- + khtml/khtml_part.cpp | 4 ++-- + khtml/khtmlview.cpp | 2 +- + khtml/rendering/render_image.cpp | 8 ++++---- + khtml/xml/dom_docimpl.cpp | 7 ++++--- + 25 files changed, 99 insertions(+), 58 deletions(-) + +diff --git a/khtml/css/css_valueimpl.cpp b/khtml/css/css_valueimpl.cpp +index 98f33e6..aa825b7 100644 +--- a/khtml/css/css_valueimpl.cpp ++++ b/khtml/css/css_valueimpl.cpp +@@ -1383,9 +1383,9 @@ CSSImageValueImpl::CSSImageValueImpl(const DOMString &url, StyleBaseImpl* style) + : CSSPrimitiveValueImpl(url, CSSPrimitiveValue::CSS_URI) + { + m_image = 0; +- const QString imgUrl = url.string().trimmed(); ++ const DOMString imgUrl = url.trimSpaces(); + if (!imgUrl.isEmpty()) { +- m_fullImageUrl = KUrl(style->baseURL(), imgUrl).url(); ++ m_fullImageUrl = KUrl(style->baseURL(), imgUrl.string()).url(); + } else { + m_fullImageUrl.clear(); + } +diff --git a/khtml/css/cssparser.cpp b/khtml/css/cssparser.cpp +index e8f8493..600d205 100644 +--- a/khtml/css/cssparser.cpp ++++ b/khtml/css/cssparser.cpp +@@ -2309,8 +2309,8 @@ bool CSSParser::parseFontFaceSrc() + while ((val = valueList->current())) { + CSSFontFaceSrcValueImpl* parsedValue = 0; + if (val->unit == CSSPrimitiveValue::CSS_URI && !expectComma && styleElement) { +- const QString uri = qString(val->string).trimmed(); +- parsedValue = new CSSFontFaceSrcValueImpl(DOMString(KUrl(styleElement->baseURL(), uri).url()), false /*local*/); ++ const DOMString uri = domString(val->string).trimSpaces(); ++ parsedValue = new CSSFontFaceSrcValueImpl(DOMString(KUrl(styleElement->baseURL(), uri.string()).url()), false /*local*/); + uriValue = parsedValue; + allowFormat = true; + expectComma = true; +diff --git a/khtml/dom/dom_string.cpp b/khtml/dom/dom_string.cpp +index d54d037..4a10221 100644 +--- a/khtml/dom/dom_string.cpp ++++ b/khtml/dom/dom_string.cpp +@@ -290,6 +290,38 @@ bool DOMString::startsWith(const DOMString& str) const + return impl->startsWith(str.implementation()); + } + ++static inline bool isSpaceCharacter(const ushort &c) ++{ ++ // http://dev.w3.org/html5/spec-LC/common-microsyntaxes.html#space-character ++ return ((c < 0x0021) && ++ (c == 0x0020 || c == 0x0009 || c == 0x000A || c == 0x000C || c == 0x000D)); ++} ++ ++DOMString DOMString::trimSpaces() const ++{ ++ if (!impl || !impl->l) { ++ return *this; ++ } ++ ++ const QChar *s = impl->s; ++ unsigned int start = 0; ++ unsigned int end = impl->l - 1; ++ ++ while ((start <= end) && isSpaceCharacter(s[start].unicode())) { ++ ++start; ++ } ++ ++ if (start > end) { ++ return DOMString(""); ++ } ++ ++ while (end && isSpaceCharacter(s[end].unicode())) { ++ --end; ++ } ++ ++ return new DOMStringImpl(s + start, end - start + 1); ++} ++ + // ------------------------------------------------------------------------ + + bool DOM::strcasecmp( const DOMString &as, const DOMString &bs ) +diff --git a/khtml/dom/dom_string.h b/khtml/dom/dom_string.h +index 13b4265..84b1378 100644 +--- a/khtml/dom/dom_string.h ++++ b/khtml/dom/dom_string.h +@@ -125,6 +125,13 @@ public: + bool startsWith(const DOMString& str) const; + + /** ++ * Returns a string with Space Characters removed from the start and the end. ++ * Space Characters as defined in ++ * http://dev.w3.org/html5/spec-LC/common-microsyntaxes.html#space-character ++ */ ++ DOMString trimSpaces() const; ++ ++ /** + * @internal get a handle to the imlementation of the DOMString + * Use at own risk!!! + */ +diff --git a/khtml/dom/html_base.cpp b/khtml/dom/html_base.cpp +index c5e9048..11ee331 100644 +--- a/khtml/dom/html_base.cpp ++++ b/khtml/dom/html_base.cpp +@@ -231,8 +231,8 @@ void HTMLFrameElement::setScrolling( const DOMString &value ) + DOMString HTMLFrameElement::src() const + { + if(!impl) return DOMString(); +- const QString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).string().trimmed(); +- return !s.isNull() ? impl->document()->completeURL(s) : DOMString(); ++ const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); ++ return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + } + + void HTMLFrameElement::setSrc( const DOMString &value ) +@@ -367,8 +367,8 @@ void HTMLIFrameElement::setScrolling( const DOMString &value ) + DOMString HTMLIFrameElement::src() const + { + if(!impl) return DOMString(); +- const QString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).string().trimmed(); +- return !s.isNull() ? impl->document()->completeURL(s) : DOMString(); ++ const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); ++ return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + } + + void HTMLIFrameElement::setSrc( const DOMString &value ) +diff --git a/khtml/dom/html_document.cpp b/khtml/dom/html_document.cpp +index 042bc5a..2acf683 100644 +--- a/khtml/dom/html_document.cpp ++++ b/khtml/dom/html_document.cpp +@@ -100,7 +100,7 @@ DOMString HTMLDocument::referrer() const + DOMString HTMLDocument::completeURL(const DOMString& str) const + { + if(!impl) return str; +- return ((HTMLDocumentImpl *)impl)->completeURL(str.string().trimmed()); ++ return ((HTMLDocumentImpl *)impl)->completeURL(str.trimSpaces().string()); + } + + DOMString HTMLDocument::domain() const +diff --git a/khtml/dom/html_form.cpp b/khtml/dom/html_form.cpp +index 425cb3d..6d44261 100644 +--- a/khtml/dom/html_form.cpp ++++ b/khtml/dom/html_form.cpp +@@ -504,8 +504,8 @@ void HTMLInputElement::setSize( long value ) + DOMString HTMLInputElement::src() const + { + if(!impl) return DOMString(); +- const QString s = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_SRC).string().trimmed(); +- return !s.isNull() ? impl->document()->completeURL(s) : DOMString(); ++ const DOMString s = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_SRC).trimSpaces(); ++ return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + } + + void HTMLInputElement::setSrc( const DOMString &value ) +diff --git a/khtml/dom/html_head.cpp b/khtml/dom/html_head.cpp +index 4812631..23fe125 100644 +--- a/khtml/dom/html_head.cpp ++++ b/khtml/dom/html_head.cpp +@@ -58,8 +58,8 @@ HTMLBaseElement::~HTMLBaseElement() + DOMString HTMLBaseElement::href() const + { + if(!impl) return DOMString(); +- const QString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).string().trimmed(); +- return !href.isNull() ? impl->document()->completeURL(href) : DOMString(); ++ const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); ++ return !href.isNull() ? impl->document()->completeURL(href.string()) : href; + } + + void HTMLBaseElement::setHref( const DOMString &value ) +@@ -134,8 +134,8 @@ void HTMLLinkElement::setCharset( const DOMString &value ) + DOMString HTMLLinkElement::href() const + { + if(!impl) return DOMString(); +- const QString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).string().trimmed(); +- return !href.isNull() ? impl->document()->completeURL(href) : DOMString(); ++ const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); ++ return !href.isNull() ? impl->document()->completeURL(href.string()) : href; + } + + void HTMLLinkElement::setHref( const DOMString &value ) +@@ -379,8 +379,8 @@ void HTMLScriptElement::setDefer( bool _defer ) + DOMString HTMLScriptElement::src() const + { + if(!impl) return DOMString(); +- const QString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).string().trimmed(); +- return !s.isNull() ? impl->document()->completeURL(s) : DOMString(); ++ const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); ++ return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + } + + void HTMLScriptElement::setSrc( const DOMString &value ) +diff --git a/khtml/dom/html_image.cpp b/khtml/dom/html_image.cpp +index db1f5ea..a8b4ae0 100644 +--- a/khtml/dom/html_image.cpp ++++ b/khtml/dom/html_image.cpp +@@ -95,8 +95,8 @@ void HTMLAreaElement::setCoords( const DOMString &value ) + DOMString HTMLAreaElement::href() const + { + if(!impl) return DOMString(); +- const QString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).string().trimmed(); +- return !href.isNull() ? impl->document()->completeURL(href) : DOMString(); ++ const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); ++ return !href.isNull() ? impl->document()->completeURL(href.string()) : href; + } + + void HTMLAreaElement::setHref( const DOMString &value ) +@@ -302,8 +302,8 @@ void HTMLImageElement::setLongDesc( const DOMString &value ) + DOMString HTMLImageElement::src() const + { + if(!impl) return DOMString(); +- const QString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).string().trimmed(); +- return !s.isNull() ? impl->document()->completeURL(s) : DOMString(); ++ const DOMString s = ((ElementImpl *)impl)->getAttribute(ATTR_SRC).trimSpaces(); ++ return !s.isNull() ? impl->document()->completeURL(s.string()) : s; + } + + void HTMLImageElement::setSrc( const DOMString &value ) +diff --git a/khtml/dom/html_inline.cpp b/khtml/dom/html_inline.cpp +index c01f668..2f74713 100644 +--- a/khtml/dom/html_inline.cpp ++++ b/khtml/dom/html_inline.cpp +@@ -95,8 +95,8 @@ void HTMLAnchorElement::setCoords( const DOMString &value ) + DOMString HTMLAnchorElement::href() const + { + if(!impl) return DOMString(); +- const QString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).string().trimmed(); +- return !href.isNull() ? impl->document()->completeURL(href) : DOMString(); ++ const DOMString href = static_cast<ElementImpl*>(impl)->getAttribute(ATTR_HREF).trimSpaces(); ++ return !href.isNull() ? impl->document()->completeURL(href.string()) : href; + } + + void HTMLAnchorElement::setHref( const DOMString &value ) +diff --git a/khtml/ecma/kjs_html.cpp b/khtml/ecma/kjs_html.cpp +index ea15929..d5693af 100644 +--- a/khtml/ecma/kjs_html.cpp ++++ b/khtml/ecma/kjs_html.cpp +@@ -1587,8 +1587,8 @@ QHash<int, const HTMLElement::BoundPropInfo*>* HTMLElement::boundPropInfo() + + QString KJS::HTMLElement::getURLArg(unsigned id) const + { +- const QString rel = impl()->getAttribute(id).string().trimmed(); +- return !rel.isNull() ? impl()->document()->completeURL(rel) : rel; ++ const DOMString rel = impl()->getAttribute(id).trimSpaces(); ++ return !rel.isNull() ? impl()->document()->completeURL(rel.string()) : QString(); + } + + DOM::HTMLElementImpl *toHTMLElement(JSValue *val) { +diff --git a/khtml/ecma/xmlhttprequest.cpp b/khtml/ecma/xmlhttprequest.cpp +index f9fae5d..45c5a4b 100644 +--- a/khtml/ecma/xmlhttprequest.cpp ++++ b/khtml/ecma/xmlhttprequest.cpp +@@ -906,7 +906,8 @@ JSValue *XMLHttpRequestProtoFunc::callAsFunction(ExecState *exec, JSObject *this + return throwError(exec, SyntaxError, "Not enough arguments"); + + QString method = args[0]->toString(exec).qstring(); +- KUrl url = KUrl(request->doc->completeURL(args[1]->toString(exec).qstring())); ++ DOMString urlArg = args[1]->toString(exec).domString().trimSpaces(); ++ KUrl url = KUrl(request->doc->completeURL(urlArg.string())); + + bool async = true; + if (args.size() >= 3) { +diff --git a/khtml/html/html_baseimpl.cpp b/khtml/html/html_baseimpl.cpp +index 5b4a77a..102b56e 100644 +--- a/khtml/html/html_baseimpl.cpp ++++ b/khtml/html/html_baseimpl.cpp +@@ -71,7 +71,7 @@ void HTMLBodyElementImpl::parseAttribute(AttributeImpl *attr) + + case ATTR_BACKGROUND: + { +- QString url = attr->val()->string().trimmed(); ++ QString url = attr->value().trimSpaces().string(); + if (!url.isEmpty()) { + url = document()->completeURL( url ); + addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, DOMString("url('"+url+"')") ); +@@ -325,7 +325,7 @@ void HTMLFrameElementImpl::parseAttribute(AttributeImpl *attr) + switch(attr->id()) + { + case ATTR_SRC: +- setLocation(attr->value().string().trimmed()); ++ setLocation(attr->value().trimSpaces().string()); + break; + case ATTR_FRAMEBORDER: + { +@@ -755,7 +755,7 @@ void HTMLIFrameElementImpl::parseAttribute(AttributeImpl *attr ) + addHTMLAlignment( attr->value() ); + break; + case ATTR_SRC: +- url = attr->value().string().trimmed(); ++ url = attr->value().trimSpaces().string(); + setNeedComputeContent(); + // ### synchronously start the process? + break; +diff --git a/khtml/html/html_formimpl.cpp b/khtml/html/html_formimpl.cpp +index 134851a..d227481 100644 +--- a/khtml/html/html_formimpl.cpp ++++ b/khtml/html/html_formimpl.cpp +@@ -679,7 +679,7 @@ void HTMLFormElementImpl::submit( ) + } + #endif // KHTML_NO_WALLET + +- QString url = getAttribute(ATTR_ACTION).string().trimmed(); ++ QString url = getAttribute(ATTR_ACTION).trimSpaces().string(); + // ignore base url if 'action' attribute is empty. + if (url.isEmpty()) + url = formUrl.url(); +diff --git a/khtml/html/html_headimpl.cpp b/khtml/html/html_headimpl.cpp +index 0de904d..a265ae1 100644 +--- a/khtml/html/html_headimpl.cpp ++++ b/khtml/html/html_headimpl.cpp +@@ -55,7 +55,7 @@ void HTMLBaseElementImpl::parseAttribute(AttributeImpl *attr) + switch(attr->id()) + { + case ATTR_HREF: +- m_href = attr->value().string().trimmed(); ++ m_href = attr->value().trimSpaces().string(); + process(); + break; + case ATTR_TARGET: +@@ -116,9 +116,9 @@ void HTMLLinkElementImpl::parseAttribute(AttributeImpl *attr) + switch (attr->id()) + { + case ATTR_HREF: { +- const QString hrefUrl = attr->val()->string().trimmed(); ++ const DOMString hrefUrl = attr->value().trimSpaces(); + if (!hrefUrl.isEmpty()) { +- m_url = document()->completeURL(hrefUrl); ++ m_url = document()->completeURL(hrefUrl.string()); + } + process(); + break; +@@ -385,7 +385,7 @@ void HTMLScriptElementImpl::parseAttribute(AttributeImpl *attr) + // we'll only start doing things once we get insertedIntoDocument() + if (m_evaluated || m_cachedScript || m_createdByParser || !inDocument()) + return; +- QString url = attr->value().string().trimmed(); ++ const DOMString url = attr->value().trimSpaces(); + if (!url.isEmpty()) + loadFromUrl(url); + break; +@@ -490,7 +490,7 @@ void HTMLScriptElementImpl::insertedIntoDocument() + if (m_createdByParser) + return; + +- QString url = getAttribute(ATTR_SRC).string().trimmed(); ++ const DOMString url = getAttribute(ATTR_SRC).trimSpaces(); + if (!url.isEmpty()) { + loadFromUrl(url); + return; +@@ -622,7 +622,7 @@ void HTMLScriptElementImpl::setDefer(bool defer) + + DOMString HTMLScriptElementImpl::src() const + { +- return document()->completeURL(getAttribute(ATTR_SRC).string().trimmed()); ++ return document()->completeURL(getAttribute(ATTR_SRC).trimSpaces().string()); + } + + void HTMLScriptElementImpl::setSrc(const DOMString &value) +diff --git a/khtml/html/html_imageimpl.cpp b/khtml/html/html_imageimpl.cpp +index 51695a8..15a8302 100644 +--- a/khtml/html/html_imageimpl.cpp ++++ b/khtml/html/html_imageimpl.cpp +@@ -84,7 +84,7 @@ void HTMLImageElementImpl::parseAttribute(AttributeImpl *attr) + setChanged(); + + //Start loading the image already, to generate events +- const QString imgSrcUrl = attr->value().string().trimmed(); ++ const DOMString imgSrcUrl = attr->value().trimSpaces(); + if (!imgSrcUrl.isEmpty()) { //### why do we not hide or something when setting this? + CachedImage* newImage = document()->docLoader()->requestImage(imgSrcUrl); + if (newImage && newImage != m_image) { +@@ -151,7 +151,7 @@ void HTMLImageElementImpl::parseAttribute(AttributeImpl *attr) + if ( attr->value()[0] == '#' ) + usemap = attr->value().lower(); + else { +- QString url = document()->completeURL(attr->value().string().trimmed()); ++ QString url = document()->completeURL(attr->value().trimSpaces().string()); + // ### we remove the part before the anchor and hope + // the map is on the same html page.... + usemap = url; +@@ -438,7 +438,7 @@ void HTMLMapElementImpl::parseAttribute(AttributeImpl *attr) + } + else { + // add name with full url: +- const QString url = document()->completeURL(attr->value().string().trimmed()); ++ const QString url = document()->completeURL(attr->value().trimSpaces().string()); + if(document()->isHTMLDocument()) + static_cast<HTMLDocumentImpl*>(document())->mapMap[url] = this; + } +diff --git a/khtml/html/html_inlineimpl.cpp b/khtml/html/html_inlineimpl.cpp +index fc2e6f6..6e9bdd8 100644 +--- a/khtml/html/html_inlineimpl.cpp ++++ b/khtml/html/html_inlineimpl.cpp +@@ -81,7 +81,7 @@ void HTMLAnchorElementImpl::defaultEventHandler(EventImpl *evt) + if (k->qKeyEvent()) k->qKeyEvent()->accept(); + } + +- QString url = getAttribute(ATTR_HREF).string().trimmed(); ++ QString url = getAttribute(ATTR_HREF).trimSpaces().string(); + QString utarget = getAttribute(ATTR_TARGET).string(); + + if ( e && e->button() == 1 ) +diff --git a/khtml/html/html_objectimpl.cpp b/khtml/html/html_objectimpl.cpp +index 863afe6..f5aef26 100644 +--- a/khtml/html/html_objectimpl.cpp ++++ b/khtml/html/html_objectimpl.cpp +@@ -695,7 +695,7 @@ void HTMLEmbedElementImpl::parseAttribute(AttributeImpl *attr) + { + case ATTR_CODE: + case ATTR_SRC: +- url = attr->val()->string().trimmed(); ++ url = attr->value().trimSpaces().string(); + setNeedComputeContent(); + break; + case ATTR_BORDER: +@@ -775,7 +775,7 @@ void HTMLObjectElementImpl::parseAttribute(AttributeImpl *attr) + switch ( attr->id() ) + { + case ATTR_DATA: +- url = attr->val()->string().trimmed(); ++ url = attr->value().trimSpaces().string(); + setNeedComputeContent(); + break; + case ATTR_CLASSID: +diff --git a/khtml/html/html_tableimpl.cpp b/khtml/html/html_tableimpl.cpp +index 8323093..c135545 100644 +--- a/khtml/html/html_tableimpl.cpp ++++ b/khtml/html/html_tableimpl.cpp +@@ -495,7 +495,7 @@ void HTMLTableElementImpl::parseAttribute(AttributeImpl *attr) + break; + case ATTR_BACKGROUND: + { +- QString url = attr->val()->string().trimmed(); ++ QString url = attr->value().trimSpaces().string(); + if (!url.isEmpty()) { + url = document()->completeURL( url ); + addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, DOMString("url('"+url+"')") ); +@@ -638,7 +638,7 @@ void HTMLTablePartElementImpl::parseAttribute(AttributeImpl *attr) + break; + case ATTR_BACKGROUND: + { +- QString url = attr->val()->string().trimmed(); ++ QString url = attr->value().trimSpaces().string(); + if (!url.isEmpty()) { + url = document()->completeURL( url ); + addCSSProperty(CSS_PROP_BACKGROUND_IMAGE, DOMString("url('"+url+"')") ); +diff --git a/khtml/html/htmlparser.cpp b/khtml/html/htmlparser.cpp +index ce5be3e..49b8068 100644 +--- a/khtml/html/htmlparser.cpp ++++ b/khtml/html/htmlparser.cpp +@@ -974,7 +974,7 @@ NodeImpl *KHTMLParser::getElement(Token* t) + KHTMLGlobal::defaultHTMLSettings()->isHideAdsEnabled() && + !strcasecmp( t->attrs->getValue( ATTR_TYPE ), "image" ) ) + { +- const QString url = doc()->completeURL(t->attrs->getValue(ATTR_SRC)->string().trimmed()); ++ const QString url = doc()->completeURL(DOMString(t->attrs->getValue(ATTR_SRC)).trimSpaces().string()); + if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(url)) + return 0; + } +@@ -1104,7 +1104,7 @@ NodeImpl *KHTMLParser::getElement(Token* t) + KHTMLGlobal::defaultHTMLSettings()->isAdFilterEnabled()&& + KHTMLGlobal::defaultHTMLSettings()->isHideAdsEnabled()) + { +- const QString url = doc()->completeURL(t->attrs->getValue(ATTR_SRC)->string().trimmed()); ++ const QString url = doc()->completeURL(DOMString(t->attrs->getValue(ATTR_SRC)).trimSpaces().string()); + if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(url)) + return 0; + } +diff --git a/khtml/html/htmlprospectivetokenizer.cpp b/khtml/html/htmlprospectivetokenizer.cpp +index 83c4c16..585a449 100644 +--- a/khtml/html/htmlprospectivetokenizer.cpp ++++ b/khtml/html/htmlprospectivetokenizer.cpp +@@ -706,7 +706,7 @@ void ProspectiveTokenizer::processAttribute() + LocalName attrLocal = LocalName::fromString(&attrDS, IDS_NormalizeLower); + uint attribute = attrLocal.id(); + if (attribute == localNamePart(ATTR_SRC) && m_urlToLoad.isEmpty()) +- m_urlToLoad = DOMString(QString(m_attributeValue.data(), m_attributeValue.size()).trimmed()); ++ m_urlToLoad = DOMString(m_attributeValue.data(), m_attributeValue.size()).trimSpaces(); + break; + } + case ID_LINK: +@@ -715,7 +715,7 @@ void ProspectiveTokenizer::processAttribute() + LocalName attrLocal = LocalName::fromString(&attrDS, IDS_NormalizeLower); + uint attribute = attrLocal.id(); + if (attribute == localNamePart(ATTR_HREF) && m_urlToLoad.isEmpty()) +- m_urlToLoad = DOMString(QString(m_attributeValue.data(), m_attributeValue.size()).trimmed()); ++ m_urlToLoad = DOMString(m_attributeValue.data(), m_attributeValue.size()).trimSpaces(); + else if (attribute == localNamePart(ATTR_REL)) { + DOMStringImpl* lowerAttribute = DOMStringImpl(DOMStringImpl::ShallowCopy, m_attributeValue.data(), m_attributeValue.size()).lower(); + QString val = lowerAttribute->string(); +diff --git a/khtml/khtml_part.cpp b/khtml/khtml_part.cpp +index 15ea3c9..6c4ed17 100644 +--- a/khtml/khtml_part.cpp ++++ b/khtml/khtml_part.cpp +@@ -6420,7 +6420,7 @@ bool KHTMLPart::handleMouseMoveEventDrag(khtml::MouseMoveEvent *event) + if (url.isEmpty() && innerNodeImpl && innerNodeImpl->id() == ID_IMG) + { + img = static_cast<HTMLImageElementImpl *>(innerNodeImpl); +- u = completeURL(img->getAttribute(ATTR_SRC).string().trimmed()); ++ u = completeURL(img->getAttribute(ATTR_SRC).trimSpaces().string()); + pix = KIconLoader::global()->loadIcon("image-x-generic", KIconLoader::Desktop); + } + else +@@ -6719,7 +6719,7 @@ void KHTMLPart::runAdFilter() + node->id() == ID_IFRAME || + (node->id() == ID_INPUT && static_cast<HTMLInputElementImpl *>(node)->inputType() == HTMLInputElementImpl::IMAGE )) + { +- if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(d->m_doc->completeURL(static_cast<ElementImpl *>(node)->getAttribute(ATTR_SRC).string().trimmed()))) ++ if (KHTMLGlobal::defaultHTMLSettings()->isAdFiltered(d->m_doc->completeURL(static_cast<ElementImpl *>(node)->getAttribute(ATTR_SRC).trimSpaces().string()))) + { + // Since any kids of node will be deleted, too, fastforward nextNode + // until we get outside of node. +diff --git a/khtml/khtmlview.cpp b/khtml/khtmlview.cpp +index 0c4e317..8078fdc 100644 +--- a/khtml/khtmlview.cpp ++++ b/khtml/khtmlview.cpp +@@ -2780,7 +2780,7 @@ QMap< ElementImpl*, QChar > KHTMLView::buildFallbackAccessKeys() const + bool text_before = false; + switch( element->id()) { + case ID_A: +- url = element->getAttribute(ATTR_HREF).string().trimmed(); ++ url = element->getAttribute(ATTR_HREF).trimSpaces().string(); + if( url.isEmpty()) // doesn't have href, it's only an anchor + continue; + text = static_cast< HTMLElementImpl* >( element )->innerText().string().simplified(); +diff --git a/khtml/rendering/render_image.cpp b/khtml/rendering/render_image.cpp +index dee27ab..6741858 100644 +--- a/khtml/rendering/render_image.cpp ++++ b/khtml/rendering/render_image.cpp +@@ -427,16 +427,16 @@ void RenderImage::updateFromElement() + else if (element()->id() == ID_IMG) + alt = static_cast<HTMLImageElementImpl*>(element())->altText(); + +- const QString u = element()->id() == ID_OBJECT ? +- element()->getAttribute(ATTR_DATA).string().trimmed() : element()->getAttribute(ATTR_SRC).string().trimmed(); ++ const DOMString u = element()->id() == ID_OBJECT ? ++ element()->getAttribute(ATTR_DATA).trimSpaces() : element()->getAttribute(ATTR_SRC).trimSpaces(); + + if (!u.isEmpty()) { + // Need to compute completeURL, as 'u' can be relative + // while m_cachedImage->url() is always full url + DocumentImpl *docImpl = element()->document(); +- const QString fullUrl = docImpl->completeURL(u); ++ const QString fullUrl = docImpl->completeURL(u.string()); + if (!m_cachedImage || m_cachedImage->url() != fullUrl) { +- CachedImage *new_image = docImpl->docLoader()->requestImage(fullUrl); ++ CachedImage *new_image = docImpl->docLoader()->requestImage(DOMString(fullUrl)); + if (new_image && new_image != m_cachedImage) { + updateImage(new_image); + } +diff --git a/khtml/xml/dom_docimpl.cpp b/khtml/xml/dom_docimpl.cpp +index 0a3e4ed..b8e5910 100644 +--- a/khtml/xml/dom_docimpl.cpp ++++ b/khtml/xml/dom_docimpl.cpp +@@ -1979,7 +1979,7 @@ void DocumentImpl::processHttpEquiv(const DOMString &equiv, const DOMString &con + v->part()->scheduleRedirection(delay, v->part()->url().url() ); + } else { + pos++; +- while(pos < (int)str.length() && str[pos].isSpace()) pos++; ++ while(pos < str.length() && str[pos].isSpace()) pos++; + str = str.mid(pos); + if(str.indexOf("url", 0, Qt::CaseInsensitive ) == 0) str = str.mid(3); + str = str.trimmed(); +@@ -1987,7 +1987,8 @@ void DocumentImpl::processHttpEquiv(const DOMString &equiv, const DOMString &con + while (str.length() && (str[str.length()-1] == ';' || str[str.length()-1] == ',')) { + str.resize(str.length()-1); + } +- QString newURL = document()->completeURL(str.trimmed()); ++ str = DOMString(str).trimSpaces().string(); ++ QString newURL = document()->completeURL(str); + if ( ok ) + v->part()->scheduleRedirection(delay, newURL, delay < 2 || newURL == URL().url()); + } +@@ -2047,7 +2048,7 @@ bool DocumentImpl::prepareMouseEvent( bool readonly, int _x, int _y, MouseEvent + //qDebug("urlnode: %s (%d)", getTagName(renderInfo.URLElement()->id()).string().toLatin1().constData(), renderInfo.URLElement()->id()); + + ElementImpl* e = static_cast<ElementImpl*>(renderInfo.URLElement()); +- const DOMString href = e->getAttribute(ATTR_HREF).string().trimmed(); ++ const DOMString href = e->getAttribute(ATTR_HREF).trimSpaces(); + const DOMString target = e->getAttribute(ATTR_TARGET); + + if (!target.isNull() && !href.isNull()) { +-- +2.0.4 + diff --git a/kde-base/kdelibs/files/kdelibs-4.14.5-fatalwarnings.patch b/kde-base/kdelibs/files/kdelibs-4.14.5-fatalwarnings.patch new file mode 100644 index 000000000000..78c1ac77dcbe --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.14.5-fatalwarnings.patch @@ -0,0 +1,16 @@ +Avoid build failure due to harmless warnings on some platforms (eg. ARM) being +forced fatal. + +--- cmake/modules/FindKDE4Internal.cmake ++++ cmake/modules/FindKDE4Internal.cmake +@@ -1100,8 +1100,8 @@ + if (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) + if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE) +- set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") +- set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") ++ set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") ++ set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") + + set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-new-dtags ${CMAKE_SHARED_LINKER_FLAGS}") + set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--enable-new-dtags ${CMAKE_MODULE_LINKER_FLAGS}") diff --git a/kde-base/kdelibs/files/kdelibs-4.14.5-mimetypes.patch b/kde-base/kdelibs/files/kdelibs-4.14.5-mimetypes.patch new file mode 100644 index 000000000000..dc8f87e678ea --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.14.5-mimetypes.patch @@ -0,0 +1,27 @@ +Remove fake MIME types that cause warnings. + +The offending MIME types are commented out rather than +physically removed because doing so would cause the patch +to be too large. + +--- mimetypes/kde.xml ++++ mimetypes/kde.xml +@@ -1784,7 +1784,8 @@ + <glob pattern="*.abc"/> + </mime-type> + +- <!-- all/ fake mime types --> ++ <!-- ++ all/ fake mime types + <mime-type type="all/all"> + <comment>all files and folders</comment> + <comment xml:lang="ar">كل الملفات و المجلدات</comment> +@@ -1901,7 +1902,7 @@ + <comment xml:lang="zh_CN">全部文件</comment> + <comment xml:lang="zh_TW">所有檔案</comment> + </mime-type> +- ++ --> + <mime-type type="application/vnd.kde.fontspackage"> + <sub-class-of type="application/zip"/> + <comment>fonts package</comment> diff --git a/kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch b/kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch new file mode 100644 index 000000000000..22e6279e63a9 --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.3.80-kdeui_util_kkeyserver_mac.patch @@ -0,0 +1,46 @@ +diff -purN kdelibs-4.3.80.orig/kdeui/util/kkeyserver_mac.cpp kdelibs-4.3.80/kdeui/util/kkeyserver_mac.cpp +--- kdelibs-4.3.80.orig/kdeui/util/kkeyserver_mac.cpp 2009-12-14 17:05:26.284881642 -0500 ++++ kdelibs-4.3.80/kdeui/util/kkeyserver_mac.cpp 2009-12-14 17:11:23.393094384 -0500 +@@ -68,7 +68,7 @@ namespace KKeyServer { + #ifdef QT_MAC_USE_COCOA + static TISInputSourceRef lastLayout = 0; + #else +- static KeyboardLayoutRef lastLayout = NULL; ++ static TISInputSourceRef lastLayout = NULL; + #endif + + void updateScancodes() { +@@ -125,16 +125,27 @@ namespace KKeyServer { + #endif + lastLayout = layout; + scancodes.clear(); +- void *kchr; +- if (KLGetKeyboardLayoutProperty(layout, kKLKCHRData, const_cast<const void**>(&kchr)) != noErr) { ++ UCKeyboardLayout *uchr = (UCKeyboardLayout *)TISGetInputSourceProperty(layout, kTISPropertyUnicodeKeyLayoutData); ++ if (uchr == NULL) { + kWarning() << "Couldn't load active keyboard layout"; + } else { + for (int i = 0; i < 128; i++) { + UInt32 tmpState = 0; +- UInt32 chr = KeyTranslate(kchr, i, &tmpState); +- if (chr && chr != kFunctionKeyCharCode) { +- scancodes.insert(chr, i); +- } ++ UInt32 deadKeyState = 0; ++ UInt32 flags = 0; ++ UniCharCount maxStringLength = 255; ++ UniCharCount actualStringLength = 0; ++ UniChar unicodeString[maxStringLength]; ++ ++ UCKeyTranslate(uchr, i, kUCKeyActionDown, ++ flags, LMGetKbdType(), ++ 1, &deadKeyState, maxStringLength, &actualStringLength, unicodeString); ++ fprintf(stderr, "Got key: %s\n", unicodeString); ++ fflush(stderr); ++ //UInt32 chr = KeyTranslate(kchr, i, &tmpState); ++ //if (chr && chr != kFunctionKeyCharCode) { ++ // scancodes.insert(chr, i); ++ //} + } + } + } diff --git a/kde-base/kdelibs/files/kdelibs-4.4.90-xslt.patch b/kde-base/kdelibs/files/kdelibs-4.4.90-xslt.patch new file mode 100644 index 000000000000..0d25ada337b0 --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.4.90-xslt.patch @@ -0,0 +1,12 @@ +diff -r -u kdelibs-4.4.90.orig/kdoctools/customization/htdig_index.xsl kdelibs-4.4.90/kdoctools/customization/htdig_index.xsl +--- kdelibs-4.4.90.orig/kdoctools/customization/htdig_index.xsl 2008-05-21 13:07:13.000000000 +0200 ++++ kdelibs-4.4.90/kdoctools/customization/htdig_index.xsl 2010-07-08 23:32:28.184204481 +0200 +@@ -35,7 +35,7 @@ + </entry> + </xsl:template> + +-<xsl:template match="sect*/title|emphasis"> ++<xsl:template match="*[starts-with(local-name(), 'sect')]/title|emphasis"> + <entry header="2"> + <xsl:apply-templates/> + </entry> diff --git a/kde-base/kdelibs/files/kdelibs-4.6.2-armlinking.patch b/kde-base/kdelibs/files/kdelibs-4.6.2-armlinking.patch new file mode 100644 index 000000000000..a207d1088348 --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.6.2-armlinking.patch @@ -0,0 +1,14 @@ +diff -ruN kdelibs-4.6.2.orig/cmake/modules/FindKDE4Internal.cmake kdelibs-4.6.2/cmake/modules/FindKDE4Internal.cmake +--- kdelibs-4.6.2.orig/cmake/modules/FindKDE4Internal.cmake 2011-04-01 15:56:18.000000000 +0200 ++++ kdelibs-4.6.2/cmake/modules/FindKDE4Internal.cmake 2011-04-11 23:53:19.067196607 +0200 +@@ -1092,8 +1092,8 @@ + if (CMAKE_SYSTEM_NAME MATCHES Linux OR CMAKE_SYSTEM_NAME STREQUAL GNU) + if (CMAKE_COMPILER_IS_GNUCXX) + set ( _KDE4_PLATFORM_DEFINITIONS -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE) +- set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") +- set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") ++ set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") ++ set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") + + set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-new-dtags ${CMAKE_SHARED_LINKER_FLAGS}") + set ( CMAKE_MODULE_LINKER_FLAGS "-Wl,--enable-new-dtags ${CMAKE_MODULE_LINKER_FLAGS}") diff --git a/kde-base/kdelibs/files/kdelibs-4.6.3-no_suid_kdeinit.patch b/kde-base/kdelibs/files/kdelibs-4.6.3-no_suid_kdeinit.patch new file mode 100644 index 000000000000..4b34f62c2be4 --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.6.3-no_suid_kdeinit.patch @@ -0,0 +1,19 @@ +diff -urN kdelibs-4.6.3.old/kinit/CMakeLists.txt kdelibs-4.6.3/kinit/CMakeLists.txt +--- kdelibs-4.6.3.old/kinit/CMakeLists.txt 2011-05-02 00:19:10.000000000 +0200 ++++ kdelibs-4.6.3/kinit/CMakeLists.txt 2011-05-02 00:20:32.000000000 +0200 +@@ -170,15 +170,6 @@ + install(TARGETS start_kdeinit_wrapper DESTINATION ${LIBEXEC_INSTALL_DIR}) + endif (NOT WIN32) + +-if (CMAKE_SYSTEM_NAME MATCHES Linux) +- MESSAGE(STATUS "Using setuid root kdeinit wrapper in order to protect it from bad Linux OOM-killer") +- set(KDEINIT_OOM_PROTECT 1) +- install(CODE " +- set(START_KDEINIT_PATH \"\$ENV{DESTDIR}${LIBEXEC_INSTALL_DIR}/start_kdeinit\") +- EXECUTE_PROCESS(COMMAND sh -c \"chown 0 '\${START_KDEINIT_PATH}' && chmod u+s '\${START_KDEINIT_PATH}'\") +- ") +-endif (CMAKE_SYSTEM_NAME MATCHES Linux) +- + ########### install files ############### + + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KLauncher.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} ) diff --git a/kde-base/kdelibs/files/kdelibs-4.8.1-norpath.patch b/kde-base/kdelibs/files/kdelibs-4.8.1-norpath.patch new file mode 100644 index 000000000000..83d5576ac023 --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.8.1-norpath.patch @@ -0,0 +1,18 @@ +diff -ruN kdelibs-4.8.1.orig/cmake/modules/FindKDE4Internal.cmake kdelibs-4.8.1/cmake/modules/FindKDE4Internal.cmake +--- kdelibs-4.8.1.orig/cmake/modules/FindKDE4Internal.cmake 2012-02-29 22:55:52.000000000 +0100 ++++ kdelibs-4.8.1/cmake/modules/FindKDE4Internal.cmake 2012-03-24 17:18:59.452942648 +0100 +@@ -1045,7 +1045,13 @@ + + set(CMAKE_SKIP_BUILD_RPATH FALSE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) +- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) ++ ++ # the RPATH to be used when installing ++ SET(CMAKE_INSTALL_RPATH "") ++ ++ # don't add the automatically determined parts of the RPATH ++ # which point to directories outside the build tree to the install RPATH ++ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE) + endif (APPLE) + endif (UNIX) + diff --git a/kde-base/kdelibs/files/kdelibs-4.9.3-werror.patch b/kde-base/kdelibs/files/kdelibs-4.9.3-werror.patch new file mode 100644 index 000000000000..6ec0b7d9a3ef --- /dev/null +++ b/kde-base/kdelibs/files/kdelibs-4.9.3-werror.patch @@ -0,0 +1,20 @@ +--- cmake/modules/FindKDE4Internal.cmake ++++ cmake/modules/FindKDE4Internal.cmake +@@ -1204,7 +1204,7 @@ + set(CMAKE_C_FLAGS_DEBUGFULL "-g3 -fno-inline") + set(CMAKE_C_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs") + +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Werror-implicit-function-declaration -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -std=iso9899:1990 -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") + # As of Qt 4.6.x we need to override the new exception macros if we want compile with -fno-exceptions + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common") + +@@ -1295,7 +1295,7 @@ + endif(NOT _compile_result) + + if (GCC_IS_NEWER_THAN_4_2) +- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type -fvisibility-inlines-hidden") ++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden") + endif (GCC_IS_NEWER_THAN_4_2) + else (__KDE_HAVE_GCC_VISIBILITY AND GCC_IS_NEWER_THAN_4_1 AND NOT _GCC_COMPILED_WITH_BAD_ALLOCATOR AND NOT WIN32) + set (__KDE_HAVE_GCC_VISIBILITY 0) diff --git a/kde-base/kdelibs/kdelibs-4.14.10.ebuild b/kde-base/kdelibs/kdelibs-4.14.10.ebuild new file mode 100644 index 000000000000..f5a8d60d32e5 --- /dev/null +++ b/kde-base/kdelibs/kdelibs-4.14.10.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +CPPUNIT_REQUIRED="optional" +DECLARATIVE_REQUIRED="always" +OPENGL_REQUIRED="optional" +KDE_HANDBOOK="optional" +inherit kde4-base fdo-mime multilib toolchain-funcs flag-o-matic + +EGIT_BRANCH="KDE/4.14" + +DESCRIPTION="KDE libraries needed by all KDE programs" + +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +LICENSE="LGPL-2.1" +IUSE="cpu_flags_x86_3dnow acl alsa altivec +bzip2 +crypt debug doc fam jpeg2k +kerberos lzma cpu_flags_x86_mmx nepomuk 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-misc/strigi-0.7.7 + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xsl-stylesheets + >=dev-libs/libattica-0.4.2 + >=dev-libs/libdbusmenu-qt-0.3.2[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-0.60 + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + !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 ) + nepomuk? ( + >=dev-libs/shared-desktop-ontologies-0.11.0 + >=dev-libs/soprano-2.9.0[dbus,raptor,redland] + ) + openexr? ( + media-libs/openexr:= + media-libs/ilmbase:= + ) + policykit? ( >=sys-auth/polkit-qt-0.103.0[qt4(+)] ) + spell? ( app-text/enchant ) + ssl? ( 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 + !<=kde-base/plasma-workspace-4.7.1:4 + !<=kde-base/kcontrol-4.4.50:4 + >=app-crypt/gnupg-2.0.11 + app-misc/ca-certificates + $(add_kdebase_dep kde-env '' 4.14.3) + sys-apps/dbus[X] + !aqua? ( + udisks? ( sys-fs/udisks:2 ) + x11-apps/iceauth + x11-apps/rgb + >=x11-misc/xdg-utils-1.0.2-r3 + upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) ) + ) + udev? ( app-misc/media-player-info ) +" +PDEPEND=" + $(add_kdebase_dep katepart '' 4.14.3) + || ( + $(add_kdeapps_dep kfmclient '' 4.14.3) + x11-misc/xdg-utils + ) + handbook? ( + || ( + $(add_kdebase_dep khelpcenter '' 4.14.3) + kde-plasma/khelpcenter:5[compat(+)] + ) + ) + nepomuk? ( + $(add_kdebase_dep nepomuk-core '' 4.14.3) + $(add_kdebase_dep nepomuk-widgets '' 4.14.3) + ) + policykit? ( || ( + >=sys-auth/polkit-kde-agent-0.99 + 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" +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(gcc-major-version) -lt 4 ]] || \ + ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ + && die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)." + fi +} + +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 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 + epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch + fi +} + +src_configure() { + local mycmakeargs=( + -DWITH_HSPELL=OFF + -DWITH_ASPELL=OFF + -DWITH_DNSSD=OFF + -DKDE_DEFAULT_HOME=.kde4 + -DKAUTH_BACKEND=POLKITQT-1 + -DBUILD_libkactivities=OFF + $(cmake-utils_use_build handbook doc) + $(cmake-utils_use_has cpu_flags_x86_3dnow X86_3DNOW) + $(cmake-utils_use_has altivec PPC_ALTIVEC) + $(cmake-utils_use_has cpu_flags_x86_mmx X86_MMX) + $(cmake-utils_use_has cpu_flags_x86_sse X86_SSE) + $(cmake-utils_use_has cpu_flags_x86_sse2 X86_SSE2) + $(cmake-utils_use_with acl) + $(cmake-utils_use_with alsa) + $(cmake-utils_use_with bzip2 BZip2) + $(cmake-utils_use_with crypt QCA2) + $(cmake-utils_use_with fam) + $(cmake-utils_use_with jpeg2k Jasper) + $(cmake-utils_use_with kerberos GSSAPI) + $(cmake-utils_use_with lzma LibLZMA) + $(cmake-utils_use_with nepomuk Soprano) + $(cmake-utils_use_with nepomuk SharedDesktopOntologies) + $(cmake-utils_use_with nls Libintl) + $(cmake-utils_use_with openexr OpenEXR) + $(cmake-utils_use_with opengl OpenGL) + $(cmake-utils_use_with policykit PolkitQt-1) + $(cmake-utils_use_with spell ENCHANT) + $(cmake-utils_use_with ssl OpenSSL) + $(cmake-utils_use_with udev UDev) + $(cmake-utils_use_with udisks SOLID_UDISKS2) + $(cmake-utils_use_with zeroconf Avahi) + ) + 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 + + 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 + echo + elog "To make zeroconf support available in KDE make sure that the avahi daemon" + elog "is running." + echo + einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns" + einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf" + einfo "to include 'mdns', e.g.:" + einfo " hosts: files mdns dns" + echo + fi + + kde4-base_pkg_postinst +} + +pkg_prerm() { + # Remove ksycoca4 global database + rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4 +} + +pkg_postrm() { + fdo-mime_mime_database_update + + kde4-base_pkg_postrm +} diff --git a/kde-base/kdelibs/kdelibs-4.14.3-r1.ebuild b/kde-base/kdelibs/kdelibs-4.14.3-r1.ebuild new file mode 100644 index 000000000000..070c8e71b920 --- /dev/null +++ b/kde-base/kdelibs/kdelibs-4.14.3-r1.ebuild @@ -0,0 +1,307 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +CPPUNIT_REQUIRED="optional" +DECLARATIVE_REQUIRED="always" +OPENGL_REQUIRED="optional" +KDE_HANDBOOK="optional" +inherit kde4-base fdo-mime multilib toolchain-funcs flag-o-matic + +EGIT_BRANCH="KDE/4.14" + +DESCRIPTION="KDE libraries needed by all KDE programs" + +KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +LICENSE="LGPL-2.1" +IUSE="cpu_flags_x86_3dnow acl alsa altivec +bzip2 +crypt debug doc fam jpeg2k +kerberos lzma cpu_flags_x86_mmx nepomuk 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-misc/strigi-0.7.7 + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xsl-stylesheets + >=dev-libs/libattica-0.4.2 + >=dev-libs/libdbusmenu-qt-0.3.2[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-0.60 + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + !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 ) + nepomuk? ( + >=dev-libs/shared-desktop-ontologies-0.11.0 + >=dev-libs/soprano-2.9.0[dbus,raptor,redland] + ) + openexr? ( + media-libs/openexr:= + media-libs/ilmbase:= + ) + policykit? ( >=sys-auth/polkit-qt-0.103.0[qt4(+)] ) + spell? ( app-text/enchant ) + ssl? ( dev-libs/openssl ) + udev? ( virtual/udev ) + zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) +" +DEPEND="${COMMONDEPEND} + doc? ( app-doc/doxygen ) + nls? ( virtual/libintl ) +" +RDEPEND="${COMMONDEPEND} + !dev-qt/qtphonon + !<=kde-base/plasma-workspace-4.7.1:4 + !<=kde-base/kcontrol-4.4.50:4 + >=app-crypt/gnupg-2.0.11 + app-misc/ca-certificates + $(add_kdebase_dep kde-env) + sys-apps/dbus[X] + !aqua? ( + udisks? ( sys-fs/udisks:2 ) + x11-apps/iceauth + x11-apps/rgb + >=x11-misc/xdg-utils-1.0.2-r3 + upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) ) + ) + udev? ( app-misc/media-player-info ) +" +PDEPEND=" + $(add_kdebase_dep katepart) + || ( + $(add_kdeapps_dep kfmclient) + x11-misc/xdg-utils + ) + handbook? ( + || ( + $(add_kdebase_dep khelpcenter) + kde-plasma/khelpcenter:5[compat(+)] + ) + ) + nepomuk? ( + $(add_kdebase_dep nepomuk-core) + $(add_kdebase_dep nepomuk-widgets) + ) + policykit? ( || ( + >=sys-auth/polkit-kde-agent-0.99 + 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.0-mimetypes.patch" + "${FILESDIR}/${PN}-4.4.90-xslt.patch" + "${FILESDIR}/${PN}-4.6.2-armlinking.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.3-trim-crash.patch" +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(gcc-major-version) -lt 4 ]] || \ + ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ + && die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)." + fi +} + +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 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 + epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch + fi +} + +src_configure() { + local mycmakeargs=( + -DWITH_HSPELL=OFF + -DWITH_ASPELL=OFF + -DWITH_DNSSD=OFF + -DKDE_DEFAULT_HOME=.kde4 + -DKAUTH_BACKEND=POLKITQT-1 + -DBUILD_libkactivities=OFF + $(cmake-utils_use_build handbook doc) + $(cmake-utils_use_has cpu_flags_x86_3dnow X86_3DNOW) + $(cmake-utils_use_has altivec PPC_ALTIVEC) + $(cmake-utils_use_has cpu_flags_x86_mmx X86_MMX) + $(cmake-utils_use_has cpu_flags_x86_sse X86_SSE) + $(cmake-utils_use_has cpu_flags_x86_sse2 X86_SSE2) + $(cmake-utils_use_with acl) + $(cmake-utils_use_with alsa) + $(cmake-utils_use_with bzip2 BZip2) + $(cmake-utils_use_with crypt QCA2) + $(cmake-utils_use_with fam) + $(cmake-utils_use_with jpeg2k Jasper) + $(cmake-utils_use_with kerberos GSSAPI) + $(cmake-utils_use_with lzma LibLZMA) + $(cmake-utils_use_with nepomuk Soprano) + $(cmake-utils_use_with nepomuk SharedDesktopOntologies) + $(cmake-utils_use_with nls Libintl) + $(cmake-utils_use_with openexr OpenEXR) + $(cmake-utils_use_with opengl OpenGL) + $(cmake-utils_use_with policykit PolkitQt-1) + $(cmake-utils_use_with spell ENCHANT) + $(cmake-utils_use_with ssl OpenSSL) + $(cmake-utils_use_with udev UDev) + $(cmake-utils_use_with udisks SOLID_UDISKS2) + $(cmake-utils_use_with zeroconf Avahi) + ) + 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 + + 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 + echo + elog "To make zeroconf support available in KDE make sure that the avahi daemon" + elog "is running." + echo + einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns" + einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf" + einfo "to include 'mdns', e.g.:" + einfo " hosts: files mdns dns" + echo + fi + + kde4-base_pkg_postinst +} + +pkg_prerm() { + # Remove ksycoca4 global database + rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4 +} + +pkg_postrm() { + fdo-mime_mime_database_update + + kde4-base_pkg_postrm +} diff --git a/kde-base/kdelibs/kdelibs-4.14.8.ebuild b/kde-base/kdelibs/kdelibs-4.14.8.ebuild new file mode 100644 index 000000000000..6ca0376cfa7e --- /dev/null +++ b/kde-base/kdelibs/kdelibs-4.14.8.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +CPPUNIT_REQUIRED="optional" +DECLARATIVE_REQUIRED="always" +OPENGL_REQUIRED="optional" +KDE_HANDBOOK="optional" +inherit kde4-base fdo-mime multilib toolchain-funcs flag-o-matic + +EGIT_BRANCH="KDE/4.14" + +DESCRIPTION="KDE libraries needed by all KDE programs" + +KEYWORDS="amd64 ~arm ppc ~ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" +LICENSE="LGPL-2.1" +IUSE="cpu_flags_x86_3dnow acl alsa altivec +bzip2 +crypt debug doc fam jpeg2k +kerberos lzma cpu_flags_x86_mmx nepomuk 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-misc/strigi-0.7.7 + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xsl-stylesheets + >=dev-libs/libattica-0.4.2 + >=dev-libs/libdbusmenu-qt-0.3.2[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-0.60 + acl? ( virtual/acl ) + alsa? ( media-libs/alsa-lib ) + !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 ) + nepomuk? ( + >=dev-libs/shared-desktop-ontologies-0.11.0 + >=dev-libs/soprano-2.9.0[dbus,raptor,redland] + ) + openexr? ( + media-libs/openexr:= + media-libs/ilmbase:= + ) + policykit? ( >=sys-auth/polkit-qt-0.103.0[qt4(+)] ) + spell? ( app-text/enchant ) + ssl? ( 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 + !<=kde-base/plasma-workspace-4.7.1:4 + !<=kde-base/kcontrol-4.4.50:4 + >=app-crypt/gnupg-2.0.11 + app-misc/ca-certificates + $(add_kdebase_dep kde-env '' 4.14.3) + sys-apps/dbus[X] + !aqua? ( + udisks? ( sys-fs/udisks:2 ) + x11-apps/iceauth + x11-apps/rgb + >=x11-misc/xdg-utils-1.0.2-r3 + upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) ) + ) + udev? ( app-misc/media-player-info ) +" +PDEPEND=" + $(add_kdebase_dep katepart '' 4.14.3) + || ( + $(add_kdeapps_dep kfmclient '' 4.14.3) + x11-misc/xdg-utils + ) + handbook? ( + || ( + $(add_kdebase_dep khelpcenter '' 4.14.3) + kde-plasma/khelpcenter:5[compat(+)] + ) + ) + nepomuk? ( + $(add_kdebase_dep nepomuk-core '' 4.14.3) + $(add_kdebase_dep nepomuk-widgets '' 4.14.3) + ) + policykit? ( || ( + >=sys-auth/polkit-kde-agent-0.99 + 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" +) + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + [[ $(gcc-major-version) -lt 4 ]] || \ + ( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 3 ]] ) \ + && die "Sorry, but gcc-4.3 and earlier won't work for KDE SC 4.6 (see bug #354837)." + fi +} + +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 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 + epatch "${FILESDIR}"/${PN}-4.3.80-kdeui_util_kkeyserver_mac.patch + fi +} + +src_configure() { + local mycmakeargs=( + -DWITH_HSPELL=OFF + -DWITH_ASPELL=OFF + -DWITH_DNSSD=OFF + -DKDE_DEFAULT_HOME=.kde4 + -DKAUTH_BACKEND=POLKITQT-1 + -DBUILD_libkactivities=OFF + $(cmake-utils_use_build handbook doc) + $(cmake-utils_use_has cpu_flags_x86_3dnow X86_3DNOW) + $(cmake-utils_use_has altivec PPC_ALTIVEC) + $(cmake-utils_use_has cpu_flags_x86_mmx X86_MMX) + $(cmake-utils_use_has cpu_flags_x86_sse X86_SSE) + $(cmake-utils_use_has cpu_flags_x86_sse2 X86_SSE2) + $(cmake-utils_use_with acl) + $(cmake-utils_use_with alsa) + $(cmake-utils_use_with bzip2 BZip2) + $(cmake-utils_use_with crypt QCA2) + $(cmake-utils_use_with fam) + $(cmake-utils_use_with jpeg2k Jasper) + $(cmake-utils_use_with kerberos GSSAPI) + $(cmake-utils_use_with lzma LibLZMA) + $(cmake-utils_use_with nepomuk Soprano) + $(cmake-utils_use_with nepomuk SharedDesktopOntologies) + $(cmake-utils_use_with nls Libintl) + $(cmake-utils_use_with openexr OpenEXR) + $(cmake-utils_use_with opengl OpenGL) + $(cmake-utils_use_with policykit PolkitQt-1) + $(cmake-utils_use_with spell ENCHANT) + $(cmake-utils_use_with ssl OpenSSL) + $(cmake-utils_use_with udev UDev) + $(cmake-utils_use_with udisks SOLID_UDISKS2) + $(cmake-utils_use_with zeroconf Avahi) + ) + 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 + + 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 + echo + elog "To make zeroconf support available in KDE make sure that the avahi daemon" + elog "is running." + echo + einfo "If you also want to use zeroconf for hostname resolution, emerge sys-auth/nss-mdns" + einfo "and enable multicast dns lookups by editing the 'hosts:' line in /etc/nsswitch.conf" + einfo "to include 'mdns', e.g.:" + einfo " hosts: files mdns dns" + echo + fi + + kde4-base_pkg_postinst +} + +pkg_prerm() { + # Remove ksycoca4 global database + rm -f "${EROOT}${PREFIX}"/share/kde4/services/ksycoca4 +} + +pkg_postrm() { + fdo-mime_mime_database_update + + kde4-base_pkg_postrm +} diff --git a/kde-base/kdelibs/metadata.xml b/kde-base/kdelibs/metadata.xml new file mode 100644 index 000000000000..6ed669a2644d --- /dev/null +++ b/kde-base/kdelibs/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>kde</herd> + <use> + <flag name="nepomuk">Enable Nepomuk based semantic desktop support (deprecated)</flag> + <flag name="opengl">Enable OpenGL support for Plasma (GLApplet)</flag> + </use> +</pkgmetadata> |