aboutsummaryrefslogtreecommitdiffstats
path: root/x11/kdelibs4
diff options
context:
space:
mode:
authorlofi <lofi@FreeBSD.org>2005-02-06 20:13:46 +0800
committerlofi <lofi@FreeBSD.org>2005-02-06 20:13:46 +0800
commit50acc3785315a25b46738affbd111bc5bec2fb93 (patch)
tree655bee656cde0ccd7ec7303fec0b35f5ee1c2bbd /x11/kdelibs4
parentdbc7d2f729d30f76ed24b5332dc070b928b22840 (diff)
downloadfreebsd-ports-gnome-50acc3785315a25b46738affbd111bc5bec2fb93.tar.gz
freebsd-ports-gnome-50acc3785315a25b46738affbd111bc5bec2fb93.tar.zst
freebsd-ports-gnome-50acc3785315a25b46738affbd111bc5bec2fb93.zip
Fix lots of bogus hardcoded pathnames in KDE's CUPS support.
Add a patch for a javascript related crashbug in Konqueror. Add masterport-hooks for kdelibs3-nocups.
Diffstat (limited to 'x11/kdelibs4')
-rw-r--r--x11/kdelibs4/Makefile14
-rw-r--r--x11/kdelibs4/files/patch-kdeprint_cups_kmcupsmanager.cpp33
-rw-r--r--x11/kdelibs4/files/patch-khtml_html_htmltokenizer.cpp41
3 files changed, 83 insertions, 5 deletions
diff --git a/x11/kdelibs4/Makefile b/x11/kdelibs4/Makefile
index ec683b0c1eda..0b1fc47e990f 100644
--- a/x11/kdelibs4/Makefile
+++ b/x11/kdelibs4/Makefile
@@ -8,10 +8,11 @@
PORTNAME= kdelibs
PORTVERSION= ${KDE_VERSION}
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= x11 kde
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= stable/${PORTVERSION:S/.0//}/src
+PKGNAMESUFFIX?= # empty
DIST_SUBDIR= KDE
MAINTAINER= kde@FreeBSD.org
@@ -23,7 +24,6 @@ LIB_DEPENDS= IlmImf:${PORTSDIR}/graphics/OpenEXR \
art_lgpl_2.5:${PORTSDIR}/graphics/libart_lgpl2 \
artsc.0:${PORTSDIR}/audio/arts \
aspell:${PORTSDIR}/textproc/aspell \
- cups.2:${PORTSDIR}/print/cups-base \
fam.0:${PORTSDIR}/devel/fam \
idn:${PORTSDIR}/devel/libidn \
jasper:${PORTSDIR}/graphics/jasper \
@@ -34,7 +34,12 @@ LIB_DEPENDS= IlmImf:${PORTSDIR}/graphics/OpenEXR \
RUN_DEPENDS= ${FONTSCALE}:${X_FONTS_TTF_PORT} \
${FONTENCOD}:${X_FONTS_ENCODINGS_PORT}
-CONFLICTS= kdebase-3.[0-1] kdebase-3.0.* kdebase-3.1.* kdepim-3.2.*
+.if ${PKGNAMESUFFIX} == -nocups
+CONFLICTS+= kdebase-3.[0-1] kdebase-3.0.* kdebase-3.1.* kdepim-3.2.*
+.else
+CONFLICTS+= kdebase-3.[0-1] kdebase-3.0.* kdebase-3.1.* kdelibs-nocups-[0-9]* kdepim-3.2.*
+LIB_DEPENDS+= cups.2:${PORTSDIR}/print/cups-base
+.endif
USE_GETTEXT= yes
USE_QT_VER= 3
@@ -70,8 +75,7 @@ LIB_DEPENDS+= bz2.1:${PORTSDIR}/archivers/bzip2
.endif # !exists(/usr/bin/bzip2)
pre-configure:
- ${REINPLACE_CMD} "s, kspell,,g" ${WRKSRC}/doc/Makefile.in
- ${REINPLACE_CMD} "s,%%LOCALBASE%%,${LOCALBASE},g" ${WRKSRC}/kdecore/kidna.cpp
+ ${REINPLACE_CMD} "s,%%LOCALBASE%%,${LOCALBASE},g" ${WRKSRC}/kdeprint/cups/kmcupsmanager.cpp
post-configure:
${TOUCH} ${WRKSRC}/dcop/dcop-path.h.in
diff --git a/x11/kdelibs4/files/patch-kdeprint_cups_kmcupsmanager.cpp b/x11/kdelibs4/files/patch-kdeprint_cups_kmcupsmanager.cpp
new file mode 100644
index 000000000000..89396ce0ae0a
--- /dev/null
+++ b/x11/kdelibs4/files/patch-kdeprint_cups_kmcupsmanager.cpp
@@ -0,0 +1,33 @@
+--- kdeprint/cups/kmcupsmanager.cpp.orig Wed Jan 26 11:58:07 2005
++++ kdeprint/cups/kmcupsmanager.cpp Wed Jan 26 12:09:45 2005
+@@ -100,10 +100,10 @@
+ {
+ QString d = cupsInstallDir();
+ if (d.isEmpty())
+- d = "/usr";
++ d = "%%LOCALBASE%%";
+ d.append("/share/cups/model");
+ // raw foomatic support
+- d.append(":/usr/share/foomatic/db/source");
++ d.append(":%%LOCALBASE%%/share/foomatic/db/source");
+ return d;
+ }
+
+@@ -553,7 +553,7 @@
+ {
+ QStringList comps = QStringList::split('/', drname, false);
+ QString tmpFile = locateLocal("tmp", "foomatic_" + kapp->randomString(8));
+- QString PATH = getenv("PATH") + QString::fromLatin1(":/usr/sbin:/usr/local/sbin:/opt/sbin:/opt/local/sbin");
++ QString PATH = getenv("PATH") + QString::fromLatin1(":%%LOCALBASE%%/bin:/usr/sbin:/usr/local/sbin:/opt/sbin:/opt/local/sbin");
+ QString exe = KStandardDirs::findExe("foomatic-datafile", PATH);
+ if (exe.isEmpty())
+ {
+@@ -844,7 +844,7 @@
+ {
+ QString path = cupsInstallDir();
+ if (path.isEmpty())
+- path = "/usr/share/cups";
++ path = "%%LOCALBASE%%/share/cups";
+ else
+ path += "/share/cups";
+ CupsAddSmb::exportDest(m_currentprinter->printerName(), path);
diff --git a/x11/kdelibs4/files/patch-khtml_html_htmltokenizer.cpp b/x11/kdelibs4/files/patch-khtml_html_htmltokenizer.cpp
new file mode 100644
index 000000000000..df651b7dba30
--- /dev/null
+++ b/x11/kdelibs4/files/patch-khtml_html_htmltokenizer.cpp
@@ -0,0 +1,41 @@
+--- khtml/html/htmltokenizer.cpp.orig 2005-01-14 18:34:45.783473376 -0800
++++ khtml/html/htmltokenizer.cpp 2005-01-14 18:13:22.200607632 -0800
+@@ -1693,3 +1693,7 @@
+ onHold = _onHold;
+ }
+
++bool HTMLTokenizer::isRunningScriptFromTokenizer() const
++{
++ return isExecutingScript();
++}
+--- khtml/html/htmltokenizer.h.orig 2005-01-14 18:36:55.359774784 -0800
++++ khtml/html/htmltokenizer.h 2005-01-14 18:12:54.872762096 -0800
+@@ -171,6 +171,7 @@
+
+ virtual bool isWaitingForScripts() const;
+ virtual bool isExecutingScript() const;
++ virtual bool isRunningScriptFromTokenizer() const;
+ protected:
+ // Internal buffers
+ ///////////////////
+--- khtml/xml/dom_docimpl.cpp.orig 2005-01-14 18:37:53.073001040 -0800
++++ khtml/xml/dom_docimpl.cpp 2005-01-14 18:18:34.716098056 -0800
+@@ -1181,7 +1181,7 @@
+ // on an explicit document.close(), the tokenizer might still be waiting on scripts,
+ // and in that case we don't want to destroy it because that will prevent the
+ // scripts from getting processed.
+- if (m_tokenizer && !m_tokenizer->isWaitingForScripts()) {
++ if (m_tokenizer && !m_tokenizer->isWaitingForScripts() && !m_tokenizer->isRunningScriptFromTokenizer()) {
+ delete m_tokenizer;
+ m_tokenizer = 0;
+ }
+--- khtml/xml/xml_tokenizer.h.orig 2005-01-14 18:38:27.401782272 -0800
++++ khtml/xml/xml_tokenizer.h 2005-01-14 18:10:57.609588808 -0800
+@@ -122,6 +122,7 @@
+ virtual void finish() = 0;
+ virtual void setOnHold(bool /*_onHold*/) {}
+ virtual bool isWaitingForScripts() const = 0;
++ virtual bool isRunningScriptFromTokenizer() const { return false; }
+
+ signals:
+ void finishedParsing();