21766761 Move opensp from desktop to userland
authorNiveditha Rau <Niveditha.Rau@Oracle.COM>
Fri, 18 Sep 2015 07:09:02 -0700
changeset 4876 bd07b8aacc8a
parent 4873 6d82df78a854
child 4877 556ede0c23e5
21766761 Move opensp from desktop to userland
components/opensp/Makefile
components/opensp/files/CATALOG.opensp
components/opensp/opensp.p5m
components/opensp/patches/opensp-01-studio.patch
components/opensp/patches/opensp-02-manpages.patch
components/opensp/patches/opensp-03-fix-build.patch
components/opensp/patches/opensp-04-fix-testsuite.patch
components/opensp/test/results-32.master
components/opensp/test/results-64.master
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/Makefile	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,84 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=		opensp
+COMPONENT_VERSION=	1.5.1
+COMPONENT_PROJECT_URL=	http://openjade.sourceforge.net/
+COMPONENT_SRC=		OpenSP-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH=	\
+    sha256:3f0649840dc3d6ec432e3c8d933b178208f3feccb6db111d22c8995ad07c736b
+COMPONENT_ARCHIVE_URL=	http://prdownloads.sourceforge.net/openjade/$(COMPONENT_ARCHIVE)
+COMPONENT_BUGDB=	utility/opensp
+
+TPNO=			9621
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/configure.mk
+include $(WS_MAKE_RULES)/ips.mk
+
+COMPONENT_PREP_ACTION += (cd $(@D); autoreconf -fiv)
+
+# Needed to find the man pages at install time.
+COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
+
+CXX +=			$(studio_NORUNPATH)
+
+CONFIGURE_OPTIONS +=	--disable-http
+CONFIGURE_OPTIONS +=	--disable-nls
+CONFIGURE_OPTIONS +=	--enable-default-catalog="CATALOG:/etc/sgml/catalog:/usr/share/sgml/CATALOG"
+CONFIGURE_OPTIONS +=    CFLAGS="$(CFLAGS)"
+CONFIGURE_OPTIONS +=	CXX="$(CXX)"
+CONFIGURE_OPTIONS +=	CXXFLAGS="$(CXXFLAGS)"
+CONFIGURE_OPTIONS +=	LDFLAGS="$(LDFLAGS)"
+
+# 21786575 for gmake test failures
+COMPONENT_TEST_DIR =	$(BUILD_DIR)/$(MACH$(BITS))/tests 
+COMPONENT_TEST_ARGS = 	-k -i
+COMPONENT_TEST_TRANSFORMS += \
+        '-n ' \
+	'-e "/result_count/d" ' \
+        '-e "/TOTAL:/p" ' \
+        '-e "/SKIP:/p" ' \
+        '-e "/PASS:/p" ' \
+        '-e "/FAIL:/p" ' \
+        '-e "/ERROR:/p" '
+
+ASLR_MODE =	$(ASLR_ENABLE)
+
+configure:	$(CONFIGURE_32_and_64)
+
+build:          $(BUILD_32_and_64)
+
+install:        $(INSTALL_32_and_64)
+
+test:           $(TEST_32_and_64)
+
+system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+
+REQUIRED_PACKAGES += system/library
+REQUIRED_PACKAGES += system/library/c++-runtime
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/files/CATALOG.opensp	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,3 @@
+-- SGMLDECL "/usr/share/sgml/opensp/opensp-implied.dcl" --
+-- SGMLDECL "/usr/share/sgml/opensp/japan.dcl" --
+-- SGMLDECL "/usr/share/sgml/opensp/xml.dcl" --
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/opensp.p5m	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,233 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability volatile>
+set name=pkg.fmri \
+    value=pkg:/developer/documentation-tool/opensp@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="The OpenJade group's SGML and XML parsing tools"
+set name=com.oracle.info.description \
+    value="The OpenSP package delivers utilities for validating, parsing and manipulating SGML and XML documents."
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+    value="org.opensolaris.category.2008:System/Text Tools"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=LSARC/2005/734
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+link path=usr/bin/$(MACH64)/nsgmls target=onsgmls
+file path=usr/bin/$(MACH64)/onsgmls
+link path=usr/bin/$(MACH64)/osgml2xml target=osx
+file path=usr/bin/$(MACH64)/osgmlnorm
+file path=usr/bin/$(MACH64)/ospam
+file path=usr/bin/$(MACH64)/ospcat
+file path=usr/bin/$(MACH64)/ospent
+file path=usr/bin/$(MACH64)/osx
+link path=usr/bin/$(MACH64)/s2x target=osx
+link path=usr/bin/$(MACH64)/sgml2xml target=osx
+link path=usr/bin/$(MACH64)/sgmlnorm target=osgmlnorm
+link path=usr/bin/$(MACH64)/spam target=ospam
+link path=usr/bin/$(MACH64)/spcat target=ospcat
+link path=usr/bin/$(MACH64)/spent target=ospent
+link path=usr/bin/nsgmls target=onsgmls
+file path=usr/bin/onsgmls
+link path=usr/bin/osgml2xml target=osx
+file path=usr/bin/osgmlnorm
+file path=usr/bin/ospam
+file path=usr/bin/ospcat
+file path=usr/bin/ospent
+file path=usr/bin/osx
+link path=usr/bin/s2x target=osx
+link path=usr/bin/sgml2xml target=osx
+link path=usr/bin/sgmlnorm target=osgmlnorm
+link path=usr/bin/spam target=ospam
+link path=usr/bin/spcat target=ospcat
+link path=usr/bin/spent target=ospent
+file path=usr/include/OpenSP/Allocator.h
+file path=usr/include/OpenSP/ArcEngine.h
+file path=usr/include/OpenSP/Attribute.h
+file path=usr/include/OpenSP/Attributed.h
+file path=usr/include/OpenSP/Big5CodingSystem.h
+file path=usr/include/OpenSP/Boolean.h
+file path=usr/include/OpenSP/CharMap.cxx
+file path=usr/include/OpenSP/CharMap.h
+file path=usr/include/OpenSP/CharsetDecl.h
+file path=usr/include/OpenSP/CharsetInfo.h
+file path=usr/include/OpenSP/CharsetRegistry.h
+file path=usr/include/OpenSP/CmdLineApp.h
+file path=usr/include/OpenSP/CodingSystem.h
+file path=usr/include/OpenSP/CodingSystemKit.h
+file path=usr/include/OpenSP/ConsoleOutput.h
+file path=usr/include/OpenSP/ContentState.h
+file path=usr/include/OpenSP/ContentToken.h
+file path=usr/include/OpenSP/CopyOwner.cxx
+file path=usr/include/OpenSP/CopyOwner.h
+file path=usr/include/OpenSP/DescriptorManager.h
+file path=usr/include/OpenSP/Dtd.h
+file path=usr/include/OpenSP/EUCJPCodingSystem.h
+file path=usr/include/OpenSP/ElementType.h
+file path=usr/include/OpenSP/Entity.h
+file path=usr/include/OpenSP/EntityApp.h
+file path=usr/include/OpenSP/EntityCatalog.h
+file path=usr/include/OpenSP/EntityDecl.h
+file path=usr/include/OpenSP/EntityManager.h
+file path=usr/include/OpenSP/ErrnoMessageArg.h
+file path=usr/include/OpenSP/ErrorCountEventHandler.h
+file path=usr/include/OpenSP/Event.h
+file path=usr/include/OpenSP/EventGenerator.h
+file path=usr/include/OpenSP/EventsWanted.h
+file path=usr/include/OpenSP/ExtendEntityManager.h
+file path=usr/include/OpenSP/ExternalId.h
+file path=usr/include/OpenSP/Fixed2CodingSystem.h
+file path=usr/include/OpenSP/Fixed4CodingSystem.h
+file path=usr/include/OpenSP/GenericEventHandler.h
+file path=usr/include/OpenSP/Hash.h
+file path=usr/include/OpenSP/HashTable.cxx
+file path=usr/include/OpenSP/HashTable.h
+file path=usr/include/OpenSP/HashTableItemBase.cxx
+file path=usr/include/OpenSP/HashTableItemBase.h
+file path=usr/include/OpenSP/IList.h
+file path=usr/include/OpenSP/IListBase.h
+file path=usr/include/OpenSP/IListIter.h
+file path=usr/include/OpenSP/IListIterBase.h
+file path=usr/include/OpenSP/IQueue.cxx
+file path=usr/include/OpenSP/IQueue.h
+file path=usr/include/OpenSP/ISet.cxx
+file path=usr/include/OpenSP/ISet.h
+file path=usr/include/OpenSP/ISetIter.h
+file path=usr/include/OpenSP/IdentityCodingSystem.h
+file path=usr/include/OpenSP/InputSource.h
+file path=usr/include/OpenSP/InternalInputSource.h
+file path=usr/include/OpenSP/Link.h
+file path=usr/include/OpenSP/LinkProcess.h
+file path=usr/include/OpenSP/List.cxx
+file path=usr/include/OpenSP/List.h
+file path=usr/include/OpenSP/ListIter.h
+file path=usr/include/OpenSP/LiteralStorage.h
+file path=usr/include/OpenSP/Location.h
+file path=usr/include/OpenSP/Lpd.h
+file path=usr/include/OpenSP/Markup.h
+file path=usr/include/OpenSP/Message.h
+file path=usr/include/OpenSP/MessageArg.h
+file path=usr/include/OpenSP/MessageBuilder.h
+file path=usr/include/OpenSP/MessageEventHandler.h
+file path=usr/include/OpenSP/MessageFormatter.h
+file path=usr/include/OpenSP/MessageModule.h
+file path=usr/include/OpenSP/MessageReporter.h
+file path=usr/include/OpenSP/MessageTable.h
+file path=usr/include/OpenSP/Mode.h
+file path=usr/include/OpenSP/NCVector.h
+file path=usr/include/OpenSP/Named.h
+file path=usr/include/OpenSP/NamedResource.h
+file path=usr/include/OpenSP/NamedResourceTable.h
+file path=usr/include/OpenSP/NamedTable.h
+file path=usr/include/OpenSP/Notation.h
+file path=usr/include/OpenSP/NotationStorage.h
+file path=usr/include/OpenSP/OpenElement.h
+file path=usr/include/OpenSP/Options.cxx
+file path=usr/include/OpenSP/Options.h
+file path=usr/include/OpenSP/OutputByteStream.h
+file path=usr/include/OpenSP/OutputCharStream.h
+file path=usr/include/OpenSP/Owner.cxx
+file path=usr/include/OpenSP/Owner.h
+file path=usr/include/OpenSP/OwnerTable.cxx
+file path=usr/include/OpenSP/OwnerTable.h
+file path=usr/include/OpenSP/ParserApp.h
+file path=usr/include/OpenSP/ParserEventGeneratorKit.h
+file path=usr/include/OpenSP/ParserOptions.h
+file path=usr/include/OpenSP/PointerTable.cxx
+file path=usr/include/OpenSP/PointerTable.h
+file path=usr/include/OpenSP/PosixStorage.h
+file path=usr/include/OpenSP/Ptr.cxx
+file path=usr/include/OpenSP/Ptr.h
+file path=usr/include/OpenSP/RangeMap.cxx
+file path=usr/include/OpenSP/RangeMap.h
+file path=usr/include/OpenSP/Resource.h
+file path=usr/include/OpenSP/RewindStorageObject.h
+file path=usr/include/OpenSP/SGMLApplication.h
+file path=usr/include/OpenSP/SJISCodingSystem.h
+file path=usr/include/OpenSP/SOEntityCatalog.h
+file path=usr/include/OpenSP/Sd.h
+file path=usr/include/OpenSP/SdText.h
+file path=usr/include/OpenSP/SearchResultMessageArg.h
+file path=usr/include/OpenSP/SgmlParser.h
+file path=usr/include/OpenSP/ShortReferenceMap.h
+file path=usr/include/OpenSP/StdioStorage.h
+file path=usr/include/OpenSP/StorageManager.h
+file path=usr/include/OpenSP/StringC.h
+file path=usr/include/OpenSP/StringOf.cxx
+file path=usr/include/OpenSP/StringOf.h
+file path=usr/include/OpenSP/StringResource.h
+file path=usr/include/OpenSP/SubstTable.h
+file path=usr/include/OpenSP/Syntax.h
+file path=usr/include/OpenSP/Text.h
+file path=usr/include/OpenSP/TranslateCodingSystem.h
+file path=usr/include/OpenSP/TypeId.h
+file path=usr/include/OpenSP/URLStorage.h
+file path=usr/include/OpenSP/UTF16CodingSystem.h
+file path=usr/include/OpenSP/UTF8CodingSystem.h
+file path=usr/include/OpenSP/UnicodeCodingSystem.h
+file path=usr/include/OpenSP/UnivCharsetDesc.h
+file path=usr/include/OpenSP/Vector.cxx
+file path=usr/include/OpenSP/Vector.h
+file path=usr/include/OpenSP/XMLCodingSystem.h
+file path=usr/include/OpenSP/XcharMap.cxx
+file path=usr/include/OpenSP/XcharMap.h
+file path=usr/include/OpenSP/config.h
+file path=usr/include/OpenSP/config.h
+file path=usr/include/OpenSP/constant.h
+file path=usr/include/OpenSP/macros.h
+file path=usr/include/OpenSP/rtti.h
+file path=usr/include/OpenSP/sptchar.h
+file path=usr/include/OpenSP/types.h
+file path=usr/include/OpenSP/xnew.h
+link path=usr/lib/$(MACH64)/libosp.so target=libosp.so.4.0.0
+link path=usr/lib/$(MACH64)/libosp.so.4 target=libosp.so.4.0.0
+file path=usr/lib/$(MACH64)/libosp.so.4.0.0
+link path=usr/lib/libosp.so target=libosp.so.4.0.0
+link path=usr/lib/libosp.so.4 target=libosp.so.4.0.0
+file path=usr/lib/libosp.so.4.0.0
+file path=usr/share/man/man1/nsgmls.1
+file path=usr/share/man/man1/onsgmls.1
+file path=usr/share/man/man1/osgml2xml.1
+file path=usr/share/man/man1/osgmlnorm.1
+file path=usr/share/man/man1/ospam.1
+file path=usr/share/man/man1/ospcat.1
+file path=usr/share/man/man1/ospent.1
+file path=usr/share/man/man1/osx.1
+file path=usr/share/man/man1/s2x.1
+file path=usr/share/man/man1/sgml2xml.1
+file path=usr/share/man/man1/sgmlnorm.1
+file path=usr/share/man/man1/spam.1
+file path=usr/share/man/man1/spcat.1
+file path=usr/share/man/man1/spent.1
+link path=usr/share/sgml/CATALOG.opensp \
+    target=../../../../var/lib/sgml/CATALOG.opensp
+file usr/share/OpenSP/japan.dcl path=usr/share/sgml/opensp/japan.dcl
+file usr/share/OpenSP/opensp-implied.dcl \
+    path=usr/share/sgml/opensp/opensp-implied.dcl
+file usr/share/OpenSP/xml.dcl path=usr/share/sgml/opensp/xml.dcl
+file usr/share/OpenSP/xml.soc path=usr/share/sgml/opensp/xml.soc
+file files/CATALOG.opensp path=var/lib/sgml/CATALOG.opensp
+license COPYING license=MIT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/patches/opensp-01-studio.patch	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,84 @@
+# Existing set of patches from the desktop gate for building with Studio
+# Since this is for our build, probably not something we can get upstream.
+
+--- OpenSP-1.5.1/configure.in-orig	2003-09-03 10:34:16.000000000 -0500
++++ OpenSP-1.5.1/configure.in	2009-01-22 16:07:11.334969000 -0600
+@@ -163,8 +163,8 @@ AH_BOTTOM([
+ #endif /* HAVE_PATHNAME_STYLE_DOS */
+ 
+ #ifdef HAVE_INSTANTIATIONS
+-#ifndef SP_ANSI_CLASS_INST
+-#define SP_ANSI_CLASS_INST
++#ifdef SP_ANSI_CLASS_INST
++#undef SP_ANSI_CLASS_INST
+ #endif
+ #endif /* HAVE_INSTANTIATIONS */
+ 
+@@ -352,14 +355,8 @@ dnl FIXME these need tests for non-GNU c
+                     ac_cv_c_gnu_automatic_templates=yes,
+                     ac_cv_c_gnu_automatic_templates=no)
+                   ])
+-  if test "$ac_cv_c_gnu_automatic_templates" = yes; then
+-    AC_DEFINE(SP_DEFINE_TEMPLATES,1,
++  AC_DEFINE(SP_DEFINE_TEMPLATES,1,
+               [define this to include template definitions in the headers])
+-  else
+-    AC_DEFINE(SP_MANUAL_INST,1,
+-              [define this to compile explicit template instantiations])
+-    CXXFLAGS="$CXXFLAGS -fno-implicit-templates"
+-  fi
+   AC_CACHE_CHECK(whether GNU C++ links with libg++ if we include new.h,
+ 	         ac_cv_cxx_gnu_avoid_new_h,
+                  [AC_EGREP_CPP(yes,[
+--- OpenSP.orig/lib/SearchResultMessageArg.cxx	Tue Dec 23 21:21:50 2003
++++ OpenSP/lib/SearchResultMessageArg.cxx	Tue Dec 23 22:51:41 2003
+@@ -12,7 +12,7 @@
+ namespace SP_NAMESPACE {
+ #endif
+ 
+-RTTI_DEF1(SearchResultMessageArg, OtherMessageArg);
++RTTI_DEF1(SearchResultMessageArg, OtherMessageArg)
+ 
+ SearchResultMessageArg::SearchResultMessageArg()
+ {
+--- OpenSP-1.5.1/sx/XmlOutputEventHandler.cxx.orig	Thu Sep 29 09:08:41 2005
++++ OpenSP-1.5.1/sx/XmlOutputEventHandler.cxx	Thu Sep 29 09:12:14 2005
+@@ -106,7 +106,7 @@
+   // Open file for writing external entity declarations if we are preserving
+   // any entities
+   if (! options_.expExt) {
+-    ParserApp::AppChar filePath[strlen(outputDir_) + 21];
++    char *filePath = (char *)malloc (strlen(outputDir_) + 21);
+     strcpy (filePath, outputDir_);
+     strcat (filePath, "/");
+     strcat (filePath, EXT_ENT_FILE);
+@@ -140,7 +140,7 @@
+   // Open file for writing external entity declarations if we are preserving
+   // any entities
+   if (! options_.expInt) {
+-    char filePath[strlen(outputDir_) + 21];
++    char *filePath = (char *)malloc (strlen(outputDir_) + 21);
+     strcpy (filePath, outputDir_);
+     strcat (filePath, "/");
+     strcat (filePath, INT_ENT_FILE);
+@@ -1153,9 +1153,9 @@
+ 	     becomes ./usr/local/lib/ents/foo.xml; possible 2-digit
+              suffix (for uniqueness) */
+ 
+-	  char filePath[strlen(outputDir_) + 9 +
++	  char *filePath = (char *)malloc (strlen(outputDir_) + 9 +
+ 		       outputCodingSystem->convertOut
+-			(*systemIdPointer).size()];
++			(*systemIdPointer).size());
+ 
+ 	  strcpy (filePath, outputDir_);
+ 
+@@ -1505,7 +1505,7 @@
+  */
+ void XmlOutputEventHandler::uniqueFilename(char *filePath) {
+ 
+-  char baseFilePath[strlen(filePath)];
++  char *baseFilePath = (char *)malloc (strlen(filePath));
+   strcpy (baseFilePath, filePath);
+ 
+   struct stat statbuf;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/patches/opensp-02-manpages.patch	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,65 @@
+# Existing set of patches from the desktop gate for manpages
+# Not suitable for upstream
+
+/jds/bin/diff -uprN OpenSP-1.5.1.old/nsgmls.1 OpenSP-1.5.1/nsgmls.1
+--- OpenSP-1.5.1.old/nsgmls.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/nsgmls.1	2009-02-20 17:08:34.123395000 +0000
+@@ -0,0 +1,1 @@
++.so man1/onsgmls.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/onsgmls.1 OpenSP-1.5.1/onsgmls.1
+--- OpenSP-1.5.1.old/osgml2xml.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/osgml2xml.1	2009-02-20 17:09:47.763849000 +0000
+@@ -0,0 +1,1 @@
++.so man1/osx.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/osgmlnorm.1 OpenSP-1.5.1/osgmlnorm.1
+--- OpenSP-1.5.1.old/s2x.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/s2x.1	2009-02-20 17:09:22.032465000 +0000
+@@ -0,0 +1,1 @@
++.so man1/osx.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/sgml2xml.1 OpenSP-1.5.1/sgml2xml.1
+--- OpenSP-1.5.1.old/sgml2xml.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/sgml2xml.1	2009-02-20 17:06:32.438505000 +0000
+@@ -0,0 +1,1 @@
++.so man1/osx.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/sgmlnorm.1 OpenSP-1.5.1/sgmlnorm.1
+--- OpenSP-1.5.1.old/sgmlnorm.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/sgmlnorm.1	2009-02-20 17:07:24.832231000 +0000
+@@ -0,0 +1,1 @@
++.so man1/osgmlnorm.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/spam.1 OpenSP-1.5.1/spam.1
+--- OpenSP-1.5.1.old/spam.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/spam.1	2009-02-20 17:07:40.493548000 +0000
+@@ -0,0 +1,1 @@
++.so man1/ospam.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/spcat.1 OpenSP-1.5.1/spcat.1
+--- OpenSP-1.5.1.old/spcat.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/spcat.1	2009-02-20 17:08:04.384468000 +0000
+@@ -0,0 +1,1 @@
++.so man1/ospcat.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/spent.1 OpenSP-1.5.1/spent.1
+--- OpenSP-1.5.1.old/spent.1	1970-01-01 01:00:00.000000000 +0100
++++ OpenSP-1.5.1/spent.1	2009-02-20 17:08:10.105986000 +0000
+@@ -0,0 +1,1 @@
++.so man1/ospent.1
+/jds/bin/diff -uprN OpenSP-1.5.1.old/Makefile.am OpenSP-1.5.1/Makefile.am
+--- OpenSP-1.5.1.old/Makefile.am	2009-02-20 16:56:54.307688000 +0000
++++ OpenSP-1.5.1/Makefile.am	2009-02-20 17:53:27.579799000 +0000
+@@ -13,7 +13,7 @@ docdir = $(datadir)/doc
+ pkgdocdir = $(docdir)/@PACKAGE@
+ man1dir=$(mandir)/man1
+ 
+-man_MANS = onsgmls.1 osgmlnorm.1 ospent.1 ospam.1 osx.1 ospcat.1
++man_MANS = nsgmls.1 onsgmls.1 osgml2xml.1 osgmlnorm.1 ospent.1 ospam.1 osx.1 ospcat.1 s2x.1 sgml2xml.1 sgmlnorm.1 spam.1 spcat.1 spent.1
+ 
+ pkgdoc_DATA = README ABOUT-NLS NEWS COPYING AUTHORS BUGS ChangeLog \
+ 	releasenotes.html releasenotes.pdf releasenotes.ps
+@@ -29,8 +29,7 @@ MAINTAINERCLEANFILES = install-sh mkinst
+ ## We include msggen.pl, since it won't be generated on Windows.
+ EXTRA_DIST = instmac.pl msggen.pl sunfix.sh SP.dsw SP.mak \
+ 	build-win32.bat sp-generate.mak .cvsignore all \
+-	@PACKAGE@-@[email protected] config.rpath onsgmls.1 \
+-	osgmlnorm.1 ospam.1 ospent.1 osx.1 ospcat.1 \
++	@PACKAGE@-@[email protected] config.rpath $(man_MANS) \
+ 	releasenotes.html releasenotes.pdf releasenotes.ps \
+ 	BUGS
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/patches/opensp-03-fix-build.patch	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,23 @@
+# Changes needed to make OpenSP build on Solaris with the Studio 12.4 compilers.
+# Since this is for our build, probably not something we can get upstream.
+
+--- OpenSP-1.5.1/lib/MessageReporter.cxx.orig	2015-07-15 13:40:52.804057918 -0700
++++ OpenSP-1.5.1/lib/MessageReporter.cxx	2015-07-15 13:41:26.868348246 -0700
+@@ -12,6 +12,7 @@
+ #include "StorageManager.h"
+ #include "macros.h"
+ 
++#include <stdlib.h>
+ #include <string.h>
+ 
+ 
+--- OpenSP-1.5.1/include/RangeMap.cxx.orig	2015-07-15 16:46:42.935477707 -0700
++++ OpenSP-1.5.1/include/RangeMap.cxx	2015-07-15 16:46:57.726685111 -0700
+@@ -7,6 +7,7 @@
+ #include "RangeMap.h"
+ #include "ISet.h"
+ #include "types.h"
++#include "constant.h"
+ 
+ #ifdef SP_NAMESPACE
+ namespace SP_NAMESPACE {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/patches/opensp-04-fix-testsuite.patch	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,20 @@
+# Change to build and run the tests on Solaris
+# Not suitable for upstream
+
+--- OpenSP-1.5.1/tests/Makefile.am	Wed Aug 26 12:43:54 2015
++++ OpenSP-1.5.1/tests/Makefile.am	Wed Aug 26 12:47:41 2015
+@@ -16,11 +16,12 @@
+ 
+ EXTRA_DIST = $(TESTS)
+ 
++SHELL = /bin/sh
++
+ TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) \
+ 	PATH=.:../nsgmls:../sgmlnorm:../sx:../spent:../spcat:../spam:$$PATH \
+ 	ONSGMLS=`echo onsgmls|sed '$(transform)'`\
+-	OSGMLNORM=`echo osgmlnorm|sed '$(transform)'`\
+-	$(SHELL)
++	OSGMLNORM=`echo osgmlnorm|sed '$(transform)'`
+ 
+ # Two auxiliary programs used by the tests.
+ INCLUDES = -I.. -I$(top_srcdir)/lib -I$(top_srcdir)/intl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/test/results-32.master	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,29 @@
+FAIL: onsgmls-1
+PASS: osnorm-1
+FAIL: catalog-1
+PASS: af-1
+PASS: af-2
+PASS: af-3
+PASS: af-4
+PASS: af-5
+PASS: af-6
+PASS: af-12
+PASS: af-13
+PASS: af-14
+PASS: af-15
+PASS: af-16
+PASS: af-18
+PASS: af-19
+FAIL: catalog-2
+FAIL: af-7
+FAIL: af-8
+FAIL: af-9
+FAIL: af-10
+PASS: af-11
+# TOTAL: 22
+# PASS:  15
+# SKIP:  0
+# XFAIL: 0
+# FAIL:  7
+# XPASS: 0
+# ERROR: 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/opensp/test/results-64.master	Fri Sep 18 07:09:02 2015 -0700
@@ -0,0 +1,29 @@
+FAIL: onsgmls-1
+PASS: osnorm-1
+FAIL: catalog-1
+PASS: af-1
+PASS: af-2
+PASS: af-3
+PASS: af-4
+PASS: af-5
+PASS: af-6
+PASS: af-12
+PASS: af-13
+PASS: af-14
+PASS: af-15
+PASS: af-16
+PASS: af-18
+PASS: af-19
+FAIL: catalog-2
+FAIL: af-7
+FAIL: af-8
+FAIL: af-9
+FAIL: af-10
+FAIL: af-11
+# TOTAL: 22
+# PASS:  14
+# SKIP:  0
+# XFAIL: 0
+# FAIL:  8
+# XPASS: 0
+# ERROR: 0