aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--academic/sword/README3
-rw-r--r--academic/sword/sword.SlackBuild7
-rw-r--r--academic/sword/sword.diff75
3 files changed, 83 insertions, 2 deletions
diff --git a/academic/sword/README b/academic/sword/README
index 2de1d80d8939..d0fb20bd15e2 100644
--- a/academic/sword/README
+++ b/academic/sword/README
@@ -11,3 +11,6 @@ strongs and Greek and Hebrew dictionaries for use with this library. Many
more bibles, commentries etc. can be found on the crosswire.org website.
modules can be downloaded in raw format (zip) and extracted into the
/usr/share/sword directory.
+
+You will also need a frontend, such as xiphos or bibletime (both on sbo) to
+view the bible data.
diff --git a/academic/sword/sword.SlackBuild b/academic/sword/sword.SlackBuild
index ffdff4fc6a33..9f12ed43b11a 100644
--- a/academic/sword/sword.SlackBuild
+++ b/academic/sword/sword.SlackBuild
@@ -5,7 +5,7 @@
# Copyright 2008-2011 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
-# changes updating to v1.7.5a1 and v1.8.1 Copyright 2015-2018 Tim Dickson, Scotland
+# changes updating to v1.7.5a1 and v1.8.1 Copyright 2015-2020 Tim Dickson, Scotland
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -26,7 +26,7 @@
PRGNAM=sword
VERSION=${VERSION:-1.8.1}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -64,6 +64,9 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+#patch to fix pre-chapter text, required for xiphos. when sword tag>1.8.1
+#remove this patch as it will be included.
+patch -p0 -i $CWD/$PRGNAM.diff
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/academic/sword/sword.diff b/academic/sword/sword.diff
new file mode 100644
index 000000000000..ac57df456c71
--- /dev/null
+++ b/academic/sword/sword.diff
@@ -0,0 +1,75 @@
+Index: src/mgr/stringmgr.cpp
+===================================================================
+--- src/mgr/stringmgr.cpp (revision 3718)
++++ src/mgr/stringmgr.cpp (revision 3721)
+@@ -20,6 +20,7 @@
+ *
+ */
+
++#include <ctype.h>
+ #include <stringmgr.h>
+ #include <swlog.h>
+ #include <localemgr.h>
+Index: src/modules/filters/osisxhtml.cpp
+===================================================================
+--- src/modules/filters/osisxhtml.cpp (revision 3718)
++++ src/modules/filters/osisxhtml.cpp (revision 3721)
+@@ -849,7 +849,11 @@
+ else if (tag.isEndTag()) {
+ outText("</div>", buf, u);
+ }
+- else if (!(type == "colophon")) outText(tag, buf, u);
++ else if (!(type == "colophon")) {
++ if (tag.getAttribute("sID")) tag.setEmpty(false);
++ if (tag.getAttribute("eID")) tag.setEndTag(true);
++ outText(tag, buf, u);
++ }
+
+ }
+ else if (!strcmp(tag.getName(), "span")) {
+Index: src/utilfuns/utilxml.cpp
+===================================================================
+--- src/utilfuns/utilxml.cpp (revision 3718)
++++ src/utilfuns/utilxml.cpp (revision 3721)
+@@ -291,13 +291,16 @@
+ tag.append('/');
+
+ tag.append(getName());
+- for (StringPairMap::iterator it = attributes.begin(); it != attributes.end(); it++) {
+- //tag.appendFormatted(" %s=\"%s\"", it->first.c_str(), it->second.c_str());
+- tag.append(' ');
+- tag.append(it->first.c_str());
+- tag.append((strchr(it->second.c_str(), '\"')) ? "=\'" : "=\"");
+- tag.append(it->second.c_str());
+- tag.append((strchr(it->second.c_str(), '\"'))? '\'' : '\"');
++
++ if (!isEndTag()) {
++ for (StringPairMap::iterator it = attributes.begin(); it != attributes.end(); it++) {
++ //tag.appendFormatted(" %s=\"%s\"", it->first.c_str(), it->second.c_str());
++ tag.append(' ');
++ tag.append(it->first.c_str());
++ tag.append((strchr(it->second.c_str(), '\"')) ? "=\'" : "=\"");
++ tag.append(it->second.c_str());
++ tag.append((strchr(it->second.c_str(), '\"'))? '\'' : '\"');
++ }
+ }
+
+ if (isEmpty())
+Index: include/utilxml.h
+===================================================================
+--- include/utilxml.h (revision 3718)
++++ include/utilxml.h (revision 3721)
+@@ -75,6 +75,13 @@
+ * otherwise, we return if we're a simple XML end </tag>.
+ */
+ bool isEndTag(const char *eID = 0) const;
++ inline void setEndTag(bool value) {
++ if (!parsed)
++ parse();
++ endTag = value;
++ if (value)
++ empty = false;
++ }
+
+ const StringList getAttributeNames() const;
+ int getAttributePartCount(const char *attribName, char partSplit = '|') const;