From 4cf823acaba629edb4b6e214e2b1e9069bf3f269 Mon Sep 17 00:00:00 2001 From: Tim Dickson Date: Sat, 9 May 2020 08:19:45 +0700 Subject: academic/sword: Add patch to fix formatting. Signed-off-by: Willy Sudiarto Raharjo --- academic/sword/README | 3 ++ academic/sword/sword.SlackBuild | 7 ++-- academic/sword/sword.diff | 75 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 academic/sword/sword.diff (limited to 'academic') diff --git a/academic/sword/README b/academic/sword/README index 2de1d80d89..d0fb20bd15 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 ffdff4fc6a..9f12ed43b1 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 0000000000..ac57df456c --- /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 + #include + #include + #include +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("", 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 . + */ + 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; -- cgit v1.2.3