summaryrefslogtreecommitdiff
path: root/app-text/opensp/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/opensp/files')
-rw-r--r--app-text/opensp/files/opensp-1.5-gcc34.patch10
-rw-r--r--app-text/opensp/files/opensp-1.5.2-c11-using.patch77
-rw-r--r--app-text/opensp/files/opensp-1.5.2-fix-segfault.patch23
3 files changed, 110 insertions, 0 deletions
diff --git a/app-text/opensp/files/opensp-1.5-gcc34.patch b/app-text/opensp/files/opensp-1.5-gcc34.patch
new file mode 100644
index 000000000000..60ee56085315
--- /dev/null
+++ b/app-text/opensp/files/opensp-1.5-gcc34.patch
@@ -0,0 +1,10 @@
+--- include/RangeMap.h~ 2004-04-22 20:34:13.729541096 +0300
++++ include/RangeMap.h 2004-04-22 20:31:48.473049702 +0300
+@@ -8,6 +8,7 @@
+ #include "Boolean.h"
+ #include "ISet.h"
+ #include "types.h"
++#include "constant.h"
+ #include <stddef.h>
+
+ #ifdef SP_NAMESPACE
diff --git a/app-text/opensp/files/opensp-1.5.2-c11-using.patch b/app-text/opensp/files/opensp-1.5.2-c11-using.patch
new file mode 100644
index 000000000000..a12bf9a9b55d
--- /dev/null
+++ b/app-text/opensp/files/opensp-1.5.2-c11-using.patch
@@ -0,0 +1,77 @@
+Fix build issues due to access declarations: https://crbug.com/806958
+ ISO C++11 does not allow access declarations; use using declarations instead.
+
+The link to "Bug Tracker" on http://openjade.sourceforge.net/bugs.html
+is not working. Sent a mail containing bug report to the Openjade-devel@
+address on that page.
+
+Patch by Rahul Chaudhry <rahulchaudhry@chromium.org>
+
+--- a/include/IList.h
++++ b/include/IList.h
+@@ -26,8 +26,8 @@ public:
+ void swap(IList<T> &list) { IListBase::swap(list); }
+ T *head() const { return (T *)IListBase::head(); }
+ T *get() { return (T *)IListBase::get(); }
+- IListBase::clear;
+- IListBase::empty;
++ using IListBase::clear;
++ using IListBase::empty;
+ friend class IListIter<T>;
+ private:
+ IList(const IList<T> &); // undefined
+--- a/include/IListIter.h
++++ b/include/IListIter.h
+@@ -17,8 +17,8 @@ public:
+ IListIter(const IList<T> &list) : IListIterBase(list) { }
+ T *cur() const { return (T *)IListIterBase::cur(); }
+
+- IListIterBase::next;
+- IListIterBase::done;
++ using IListIterBase::next;
++ using IListIterBase::done;
+ };
+
+ #ifdef SP_NAMESPACE
+--- a/include/Ptr.h
++++ b/include/Ptr.h
+@@ -69,8 +69,8 @@ public:
+ const T *operator->() const { return Ptr<T>::pointer(); }
+ const T &operator*() const { return *Ptr<T>::pointer(); }
+ void swap(ConstPtr<T> &p) { Ptr<T>::swap(p); }
+- Ptr<T>::isNull;
+- Ptr<T>::clear;
++ using Ptr<T>::isNull;
++ using Ptr<T>::clear;
+ Boolean operator==(const Ptr<T> &p) const { return Ptr<T>::operator==(p); }
+ Boolean operator!=(const Ptr<T> &p) const { return Ptr<T>::operator!=(p); }
+ Boolean operator==(const ConstPtr<T> &p) const {
+--- a/lib/Parser.h
++++ b/lib/Parser.h
+@@ -62,16 +62,16 @@ public:
+ Parser(const SgmlParser::Params &);
+ Event *nextEvent();
+ void parseAll(EventHandler &, const volatile sig_atomic_t *cancelPtr);
+- ParserState::sdPointer;
+- ParserState::instanceSyntaxPointer;
+- ParserState::prologSyntaxPointer;
+- ParserState::activateLinkType;
+- ParserState::allLinkTypesActivated;
+- ParserState::entityManager;
+- ParserState::entityCatalog;
+- ParserState::baseDtd;
+- ParserState::options;
+- ParserState::instantiateDtd;
++ using ParserState::sdPointer;
++ using ParserState::instanceSyntaxPointer;
++ using ParserState::prologSyntaxPointer;
++ using ParserState::activateLinkType;
++ using ParserState::allLinkTypesActivated;
++ using ParserState::entityManager;
++ using ParserState::entityCatalog;
++ using ParserState::baseDtd;
++ using ParserState::options;
++ using ParserState::instantiateDtd;
+ friend class PiAttspecParser;
+ private:
+ Parser(const Parser &); // undefined
diff --git a/app-text/opensp/files/opensp-1.5.2-fix-segfault.patch b/app-text/opensp/files/opensp-1.5.2-fix-segfault.patch
new file mode 100644
index 000000000000..5a9d328da915
--- /dev/null
+++ b/app-text/opensp/files/opensp-1.5.2-fix-segfault.patch
@@ -0,0 +1,23 @@
+Resolve segfault in OpenSP::ParsedSystemId::unparse.
+Patch taken from Debian.
+https://bugs.gentoo.org/show_bug.cgi?id=196230
+--- a/lib/ExtendEntityManager.cxx
++++ b/lib/ExtendEntityManager.cxx
+@@ -1238,7 +1238,8 @@
+ }
+
+ StorageObjectSpec::StorageObjectSpec(const StorageObjectSpec& x)
+-: codingSystemName(x.codingSystemName),
++: storageManager(x.storageManager),
++ codingSystemName(x.codingSystemName),
+ codingSystem(x.codingSystem),
+ specId(x.specId),
+ baseId(x.baseId),
+@@ -1253,6 +1254,7 @@
+ StorageObjectSpec& StorageObjectSpec::operator=(const StorageObjectSpec& x)
+ {
+ if (this != &x) {
++ storageManager = x.storageManager;
+ codingSystemName = x.codingSystemName;
+ codingSystem = x.codingSystem;
+ specId = x.specId;