summaryrefslogtreecommitdiff
path: root/source/d
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2021-03-12 23:01:08 +0000
committerEric Hameleers <alien@slackware.com>2021-03-13 08:59:53 +0100
commit0a66130671273f398ed342efd6fbdfd342d89818 (patch)
tree9cdacca3d25517b2074dc5f34a88812ec81b9cb3 /source/d
parent913fae06e0ae428cf46ebd3dc23dbf384d42b20b (diff)
downloadcurrent-0a66130671273f398ed342efd6fbdfd342d89818.tar.gz
Fri Mar 12 23:01:08 UTC 202120210312230108
a/acl-2.3.0-x86_64-1.txz: Upgraded. a/attr-2.5.0-x86_64-1.txz: Upgraded. ap/hplip-3.20.5-x86_64-3.txz: Rebuilt. Switched to hplip-3.20.5 to fix regressions in the hp-plugin subsystem. Patched to use is_alive() rather than the deprecated isAlive(). Thanks to Andypoo. Newer versions than 3.20.6 require avahi. We'll stick with this version for now and leave the decision about whether we love HP more than we hate avahi for another day. d/doxygen-1.9.1-x86_64-1.txz: Upgraded. xap/mozilla-firefox-78.8.0esr-x86_64-2.txz: Rebuilt. Rebuilt with --enable-system-nss and --enable-system-nspr. Thanks to franzen. xap/mozilla-thunderbird-78.8.1-x86_64-2.txz: Rebuilt. Rebuilt with --enable-system-nss, --enable-system-nspr, and --disable-debug-symbols. Thanks to franzen. xap/seamonkey-2.53.6-x86_64-3.txz: Rebuilt. Rebuilt with --enable-system-nss and --enable-system-nspr. Thanks to franzen. xfce/exo-4.16.1-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/d')
-rwxr-xr-xsource/d/doxygen/doxygen.SlackBuild36
-rw-r--r--source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch22
-rw-r--r--source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file.patch64
-rw-r--r--source/d/doxygen/patches/doxygen-1.9.1-Coverity_issues.patch49
-rw-r--r--source/d/doxygen/patches/doxygen-1.9.1-crash_in_docparser.patch12
-rw-r--r--source/d/doxygen/slack-desc2
6 files changed, 169 insertions, 16 deletions
diff --git a/source/d/doxygen/doxygen.SlackBuild b/source/d/doxygen/doxygen.SlackBuild
index 2564b2ac..f4d61a8a 100755
--- a/source/d/doxygen/doxygen.SlackBuild
+++ b/source/d/doxygen/doxygen.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2018, 2021 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=doxygen
VERSION=${VERSION:-$(basename $(echo doxygen-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev) .src)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -76,35 +76,41 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+cat $CWD/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch | patch -p1 --verbose || exit 1
+cat $CWD/patches/doxgen-1.9.1-crash-when-parsing-config-file.patch | patch -p1 --verbose || exit 1
+cat $CWD/patches/doxygen-1.9.1-Coverity_issues.patch | patch -p1 --verbose || exit 1
+cat $CWD/patches/doxygen-1.9.1-crash_in_docparser.patch | patch -p1 --verbose || exit 1
+
mkdir build
cd build
cmake \
+ -DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DDOC_INSTALL_DIR:STRING="/doc/doxygen-$VERSION" \
- -Dbuild_app=yes \
- -Dbuild_doc=yes \
- -Dbuild_parse=yes \
- -Dbuild_search=yes \
- -Dbuild_wizard=yes \
- -Dbuild_xmlparser=yes \
- -Duse_sqlite3=yes \
+ -DBUILD_SHARED_LIBS=OFF \
+ -Dbuild_app=ON \
+ -Dbuild_doc=OFF \
+ -Dbuild_parse=ON \
+ -Dbuild_search=ON \
+ -Dbuild_wizard=ON \
+ -Dbuild_xmlparser=ON \
+ -Duse_sqlite3=ON \
-G "Unix Makefiles" .. || exit 1
make $NUMJOBS || make || exit 1
- make $NUMJOBS docs || make docs || exit 1
make install DESTDIR=$PKG || exit 1
cd ..
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-# Fix manpage location
-mv $PKG/usr/share/man $PKG/usr/man
-
-# Removed unused /usr/share
-rmdir $PKG/usr/share 2>/dev/null
+# Install manpages:
+mkdir -p $PKG/usr/man/man1
+cp -a doc/*.1 $PKG/usr/man/man1
+chown root:root $PKG/usr/man/man1/*
+chmod 644 $PKG/usr/man/man1/*
# Compress and if needed symlink the man pages:
if [ -d $PKG/usr/man ]; then
diff --git a/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch b/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch
new file mode 100644
index 00000000..38465ffb
--- /dev/null
+++ b/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file-part2.patch
@@ -0,0 +1,22 @@
+diff -up doxygen/src/configimpl.l.orig doxygen/src/configimpl.l
+--- doxygen/src/configimpl.l.orig 2021-01-19 17:25:00.933789247 +0100
++++ doxygen/src/configimpl.l 2021-01-19 17:26:09.704744240 +0100
+@@ -1175,8 +1175,7 @@ static void substEnvVarsInStrList(String
+ for (const auto &s : sl)
+ {
+ QCString result = s.c_str();
+- // an argument with quotes will have an extra space at the end, so wasQuoted will be TRUE.
+- bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1);
++ bool wasQuoted = (result.find(' ')!=-1) || (result.find('\t')!=-1) || (result.find('"')!=-1);
+ // here we strip the quote again
+ substEnvVarsInString(result);
+
+@@ -1229,7 +1228,7 @@ static void substEnvVarsInStrList(String
+ }
+ if (p!=l) // add the leftover as a string
+ {
+- results.push_back(result.right(l-p).data());
++ results.push_back(result.right(l-p).str());
+ }
+ }
+ else // just goto the next element in the list
diff --git a/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file.patch b/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file.patch
new file mode 100644
index 00000000..848750d6
--- /dev/null
+++ b/source/d/doxygen/patches/doxgen-1.9.1-crash-when-parsing-config-file.patch
@@ -0,0 +1,64 @@
+commit 3b15963316b59cd1af3468a43535d90343916ffb
+Author: Dimitri van Heesch <doxygen@gmail.com>
+Date: Mon Jan 18 19:59:16 2021 +0100
+
+ issue #8343: doxygen-1.9.1 crashes when parsing config file
+
+diff --git a/src/configimpl.l b/src/configimpl.l
+index 7f73ec01..56a2e108 100644
+--- a/src/configimpl.l
++++ b/src/configimpl.l
+@@ -1210,7 +1210,7 @@ static void substEnvVarsInStrList(StringVector &sl)
+ c=result.at(i);
+ if (c=='"') // end quote
+ {
+- results.push_back(result.mid(p,i-p).data());
++ results.push_back(result.mid(p,i-p).str());
+ p=i+1;
+ break;
+ }
+@@ -1222,7 +1222,7 @@ static void substEnvVarsInStrList(StringVector &sl)
+ }
+ else if (c==' ' || c=='\t') // separator
+ {
+- if (i>p) results.push_back(result.mid(p,i-p).data());
++ if (i>p) results.push_back(result.mid(p,i-p).str());
+ p=i+1;
+ }
+ }
+@@ -1234,7 +1234,7 @@ static void substEnvVarsInStrList(StringVector &sl)
+ }
+ else // just goto the next element in the list
+ {
+- if (!result.isEmpty()) results.push_back(result.data());
++ if (!result.isEmpty()) results.push_back(result.str());
+ }
+ }
+ sl = results;
+@@ -1409,7 +1409,7 @@ static void cleanUpPaths(StringVector &str)
+ QFileInfo fi(path.c_str());
+ if (fi.exists() && fi.isDir())
+ {
+- path = fi.absFilePath().utf8().data();
++ path = fi.absFilePath().utf8().str();
+ if (path[path.size()-1]!='/') path+='/';
+ }
+ }
+@@ -1545,7 +1545,7 @@ void Config::checkAndCorrect()
+ QString p = QDir::currentDirPath();
+ if (p.at(p.length()-1)!='/')
+ p.append('/');
+- stripFromPath.push_back(p.utf8().data());
++ stripFromPath.push_back(p.utf8().str());
+ }
+ else
+ {
+@@ -1882,7 +1882,7 @@ void Config::checkAndCorrect()
+ if (inputSources.empty())
+ {
+ // use current dir as the default
+- inputSources.push_back(QDir::currentDirPath().utf8().data());
++ inputSources.push_back(QDir::currentDirPath().utf8().str());
+ }
+ else
+ {
diff --git a/source/d/doxygen/patches/doxygen-1.9.1-Coverity_issues.patch b/source/d/doxygen/patches/doxygen-1.9.1-Coverity_issues.patch
new file mode 100644
index 00000000..a1848e62
--- /dev/null
+++ b/source/d/doxygen/patches/doxygen-1.9.1-Coverity_issues.patch
@@ -0,0 +1,49 @@
+diff -up doxygen-1.9.1/src/context.cpp.me doxygen-1.9.1/src/context.cpp
+--- doxygen-1.9.1/src/context.cpp.me 2021-02-10 10:56:44.575251899 +0100
++++ doxygen-1.9.1/src/context.cpp 2021-02-10 10:57:54.522809720 +0100
+@@ -4062,11 +4062,11 @@ class MemberContext::Private : public De
+ s_inst.addProperty("nameWithContextFor", &Private::nameWithContextFor);
+ init=TRUE;
+ }
+- if (md && !md->cookie()) { md->setCookie(new MemberContext::Private::Cachable(md)); }
++ if (!md->cookie()) { md->setCookie(new MemberContext::Private::Cachable(md)); }
+
+ Cachable &cache = getCache();
+ cache.propertyAttrs.reset(TemplateList::alloc());
+- if (md && md->isProperty())
++ if (md->isProperty())
+ {
+ if (md->isGettable()) cache.propertyAttrs->append("get");
+ if (md->isPrivateGettable()) cache.propertyAttrs->append("private get");
+@@ -4076,7 +4076,7 @@ class MemberContext::Private : public De
+ if (md->isProtectedSettable()) cache.propertyAttrs->append("protected set");
+ }
+ cache.eventAttrs.reset(TemplateList::alloc());
+- if (md && md->isEvent())
++ if (md->isEvent())
+ {
+ if (md->isAddable()) cache.eventAttrs->append("add");
+ if (md->isRemovable()) cache.eventAttrs->append("remove");
+diff -up doxygen-1.9.1/src/docparser.cpp.me doxygen-1.9.1/src/docparser.cpp
+--- doxygen-1.9.1/src/docparser.cpp.me 2021-02-10 10:58:11.491500540 +0100
++++ doxygen-1.9.1/src/docparser.cpp 2021-02-10 11:00:35.905512597 +0100
+@@ -1524,7 +1524,7 @@ reparsetoken:
+ {
+ QCString scope;
+ doctokenizerYYsetStateSetScope();
+- doctokenizerYYlex();
++ (void)doctokenizerYYlex();
+ scope = g_token->name;
+ g_context = scope;
+ //printf("Found scope='%s'\n",scope.data());
+diff -up doxygen-1.9.1/src/dotgroupcollaboration.cpp.me doxygen-1.9.1/src/dotgroupcollaboration.cpp
+--- doxygen-1.9.1/src/dotgroupcollaboration.cpp.me 2021-02-10 11:01:10.588530954 +0100
++++ doxygen-1.9.1/src/dotgroupcollaboration.cpp 2021-02-10 11:02:54.216221350 +0100
+@@ -309,6 +309,7 @@ void DotGroupCollaboration::Edge::write(
+ {
+ if (first) first=FALSE; else t << "\\n";
+ t << DotNode::convertLabel(link->label);
++ count++;
+ }
+ if (count==maxLabels) t << "\\n...";
+ t << "\"";
diff --git a/source/d/doxygen/patches/doxygen-1.9.1-crash_in_docparser.patch b/source/d/doxygen/patches/doxygen-1.9.1-crash_in_docparser.patch
new file mode 100644
index 00000000..adcd1440
--- /dev/null
+++ b/source/d/doxygen/patches/doxygen-1.9.1-crash_in_docparser.patch
@@ -0,0 +1,12 @@
+diff -up doxygen-1.9.1/src/docparser.cpp.me doxygen-1.9.1/src/docparser.cpp
+--- doxygen-1.9.1/src/docparser.cpp.me 2021-02-10 10:52:09.481086282 +0100
++++ doxygen-1.9.1/src/docparser.cpp 2021-02-10 10:55:32.418781686 +0100
+@@ -951,7 +951,7 @@ static void handlePendingStyleCommands(D
+ children.append(new DocStyleChange(parent,g_nodeStack.count(),sc->style(),sc->tagName(),FALSE));
+ g_initialStyleStack.push(sc);
+ g_styleStack.pop();
+- sc = g_styleStack.top();
++ sc = !g_styleStack.isEmpty() ? g_styleStack.top() : 0;
+ }
+ }
+ }
diff --git a/source/d/doxygen/slack-desc b/source/d/doxygen/slack-desc
index 8220d232..114a4529 100644
--- a/source/d/doxygen/slack-desc
+++ b/source/d/doxygen/slack-desc
@@ -15,5 +15,5 @@ doxygen: keeping docs and code in sync. Doxygen produces documentation in
doxygen: several output formats, including HTML, LaTeX, man pages, RTF, XML,
doxygen: compressed HTML, PostScript, and PDF.
doxygen:
-doxygen:
+doxygen: Homepage: https://www.doxygen.org
doxygen: