diff options
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/openjade')
6 files changed, 398 insertions, 0 deletions
diff --git a/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/fix-regex.patch b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/fix-regex.patch new file mode 100644 index 000000000..6b40afdad --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/fix-regex.patch @@ -0,0 +1,32 @@ +From 55f6fd8f1958aa36584eefeecce782a505963c88 Mon Sep 17 00:00:00 2001 +From: benvm <benvm@yow-gmoffatt-lx2.wrs.com> +Date: Wed, 9 Jan 2013 12:14:06 -0500 +Subject: [PATCH] Fix Makefile regular expression + +This patch modifies a regular expression within a Makefile to stop builds +from failing in the case where the path contains the characters ".a". + +Upstream-Status: Submitted + +Signed-off-by: Kai Kang <kai.kang@windriver.com> + +--- + Makefile.prog.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Makefile.prog.in b/Makefile.prog.in +index 76310c9..44c3534 100644 +--- a/Makefile.prog.in ++++ b/Makefile.prog.in +@@ -12,7 +12,7 @@ LINKFLAGS = @LINKFLAGS@ + + ALL_LIBS = $(XLIBS) $(LIBS) + Makefile.lt: +- echo 'LT_LIBS='`echo $(ALL_LIBS)|sed 's/\.a/.la/g'` >Makefile.lt ++ echo 'LT_LIBS='`echo $(ALL_LIBS) | sed 's/\.a\s/\.la /g' | sed s/\.a$$/\.la/` > Makefile.lt + + PROG:=$(shell echo "$(PROG)" | sed '@program_transform_name@') + +-- +1.7.0.4 + diff --git a/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch new file mode 100644 index 000000000..968b9b47c --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/makefile.patch @@ -0,0 +1,39 @@ +This patch fixes libtool QA issues with WORKDIR creeping in to +libospgrove.la and libostyle.la. Patch obtained from OpenEmbedded. + +Upstream-Status: Inappropriate [Other] +Workaround is specific to our build system. + +Signed-off-by: Scott Garman <scott.a.garman@intel.com> + +Index: openjade-1.3.2/spgrove/Makefile.sub +=================================================================== +--- openjade-1.3.2.orig/spgrove/Makefile.sub ++++ openjade-1.3.2/spgrove/Makefile.sub +@@ -1,8 +1,8 @@ + LTVERSION=0:1:0 + LIB=ospgrove + INCLUDE=-I$(srcdir)/../grove +-DEPLIBS=-lm -L$(TOP)/grove -L$(TOP)/grove/.libs \ +- -L$(TOP)/lib -L$(TOP)/lib/.libs \ ++DEPLIBS=-lm $(TOP)/grove \ ++ $(TOP)/lib \ + $(LIB_THREADS) + OBJS=GroveApp.o GroveBuilder.o SdNode.o + GENSRCS=grove_inst.cxx +Index: openjade-1.3.2/style/Makefile.sub +=================================================================== +--- openjade-1.3.2.orig/style/Makefile.sub ++++ openjade-1.3.2/style/Makefile.sub +@@ -1,8 +1,8 @@ + LTVERSION=0:1:0 + LIB=ostyle +-DEPLIBS=-lm -L$(TOP)/grove -L$(TOP)/grove/.libs \ +- -L$(TOP)/lib -L$(TOP)/lib/.libs \ +- -L$(TOP)/spgrove -L$(TOP)/spgrove/.libs ++DEPLIBS=-lm $(TOP)/grove \ ++ $(TOP)/lib \ ++ $(TOP)/spgrove + OBJS=LangObj.o \ + Collector.o \ + DssslApp.o \ diff --git a/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch new file mode 100644 index 000000000..b47fd4655 --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/msggen.pl.patch @@ -0,0 +1,44 @@ +commit fcc5b94f118495b1a467edcda6c6f631691c3f69 +Author: Dennis Lan <dennis.yxun@gmail.com> +Date: Tue Jul 3 09:25:42 2012 +0800 + + openjade: fix undefined Getopts error, use std namespace + + Using Gentoo Linux as the build host, it fails without this patch + Use Getopt::Std in place of getopts.pl. + + Upstream-Status: Inappropriate [no upstream] + Original-Author-By: Mike Gilbert <floppym@gentoo.org> + Signed-off-by: Dennis Lan <dennis.yxun@gmail.com> + +diff --git a/msggen.pl b/msggen.pl +index 0c33968..2ee3f66 100644 +--- a/msggen.pl ++++ b/msggen.pl +@@ -4,6 +4,7 @@ + # See the file COPYING for copying permission. + + use POSIX; ++use Getopt::Std; + + # Package and version. + $package = 'openjade'; +@@ -18,8 +19,7 @@ $gen_c = 0; + undef $opt_l; + undef $opt_p; + undef $opt_t; +-do 'getopts.pl'; +-&Getopts('l:p:t:'); ++getopts('l:p:t:'); + $module = $opt_l; + $pot_file = $opt_p; + +@@ -72,7 +72,7 @@ while (<DEF>) { + else { + $field[0] =~ /^[IWQXE][0-9]$/ || &error("invalid first field");; + $type[$num] = substr($field[0], 0, 1); +- $argc = int(substr($field[0], 1, 1)); ++ $argc = substr($field[0], 1, 1); + } + $nargs[$num] = $argc; + $field[1] =~ /^[a-zA-Z_][a-zA-Z0-9_]+$/ || &error("invalid tag"); diff --git a/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/reautoconf.patch b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/reautoconf.patch new file mode 100644 index 000000000..1a23a4a68 --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/reautoconf.patch @@ -0,0 +1,83 @@ +Ensure we reautoconf the packag + +Currently since configure.in in is in a subdirectory, we don't reautoconf the +recipe. We really need to do this, to update things like the libtool script used +and fix various issues such as those that could creep in if a reautoconf is +triggered for some reason. Since this source only calls AM_INIT_AUTOMAKE to +gain the PACKAGE and VERSION definitions and that macro now errors if Makefile.am +doesn't exist, we need to add these definitions manually. + +These changes avoid failures like: +---- +| ... +| DssslApp.cxx:117:36: error: 'PACKAGE' was not declared in this scope +| DssslApp.cxx:118:36: error: 'VERSION' was not declared in this scope +| make[2]: *** [DssslApp.lo] Error 1 ---- + +Upstream-Status: Pending + +RP 2012/6/12 + +Index: openjade-1.3.2/acinclude.m4 +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ openjade-1.3.2/acinclude.m4 2012-06-12 12:48:54.871365344 +0000 +@@ -0,0 +1,39 @@ ++dnl Configure-time switch with default ++dnl ++dnl Each switch defines an --enable-FOO and --disable-FOO option in ++dnl the resulting configure script. ++dnl ++dnl Usage: ++dnl smr_SWITCH(name, description, default, pos-def, neg-def) ++dnl ++dnl where: ++dnl ++dnl name name of switch; generates --enable-name & --disable-name ++dnl options ++dnl description help string is set to this prefixed by "enable" or ++dnl "disable", whichever is the non-default value ++dnl default either "on" or "off"; specifies default if neither ++dnl --enable-name nor --disable-name is specified ++dnl pos-def a symbol to AC_DEFINE if switch is on (optional) ++dnl neg-def a symbol to AC_DEFINE if switch is off (optional) ++dnl ++AC_DEFUN(smr_SWITCH, [ ++ AC_MSG_CHECKING(whether to enable $2) ++ AC_ARG_ENABLE( ++ $1, ++ ifelse($3, on, ++ [ --disable-[$1] disable [$2]], ++ [ --enable-[$1] enable [$2]]), ++ [ if test "$enableval" = yes; then ++ AC_MSG_RESULT(yes) ++ ifelse($4, , , AC_DEFINE($4)) ++ else ++ AC_MSG_RESULT(no) ++ ifelse($5, , , AC_DEFINE($5)) ++ fi ], ++ ifelse($3, on, ++ [ AC_MSG_RESULT(yes) ++ ifelse($4, , , AC_DEFINE($4)) ], ++ [ AC_MSG_RESULT(no) ++ ifelse($5, , , AC_DEFINE($5))]))]) ++ +Index: openjade-1.3.2/config/configure.in +=================================================================== +--- openjade-1.3.2.orig/config/configure.in 2012-06-12 12:47:20.735365445 +0000 ++++ openjade-1.3.2/config/configure.in 2012-06-12 12:48:17.507364080 +0000 +@@ -12,9 +12,12 @@ + dnl Credits: this autoconf script was largely "inspired" <g> by the + dnl autoconf script around SP made by Henry Thompson. + dnl +-AC_INIT(dsssl) ++AC_INIT([openjade], [1.3.2]) + AC_CONFIG_AUX_DIR(config) +-AM_INIT_AUTOMAKE( openjade, 1.3.2) ++AC_SUBST([PACKAGE], [openjade]) ++AC_SUBST([VERSION], [1.3.2]) ++AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") ++AC_DEFINE_UNQUOTED(VERSION, "$VERSION") + TOP=`pwd` + AC_SUBST(TOP) + dnl diff --git a/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/user-declared-default-constructor.patch b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/user-declared-default-constructor.patch new file mode 100644 index 000000000..073af46fc --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/openjade/openjade-1.3.2/user-declared-default-constructor.patch @@ -0,0 +1,92 @@ +In GCC 4.6 the compiler no longer allows objects of const-qualified type to +be default initialized unless the type has a user-declared default +constructor. + +Patch from Gentoo bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=358021 + +Gentoo Bugzilla description follows: +"If a class or struct has no user-defined default constructor, C++ doesn't +allow you to default construct a const instance of it. + +https://bugs.gentoo.org/358021 +http://clang.llvm.org/compatibility.html#default_init_const +http://gcc.gnu.org/PR44499" + +Upstream-Status: Pending + +Signed-off-by: Scott Garman <scott.a.garman@intel.com> + +--- a/jade/TeXFOTBuilder.cxx ++++ b/jade/TeXFOTBuilder.cxx +@@ -88,6 +88,8 @@ public: + value.convertString(nic_.placement); + } + ExtensionFlowObj *copy() const { return new PageFloatFlowObj(*this); } ++ public: ++ PageFloatFlowObj() {} + private: + PageFloatNIC nic_; + StringC name_; +@@ -101,6 +103,8 @@ public: + fotb.endPageFootnote(); + } + ExtensionFlowObj *copy() const { return new PageFootnoteFlowObj(*this); } ++ public: ++ PageFootnoteFlowObj() {} + private: + }; + ////////////////////////////////////////////////////////////////////// +--- a/jade/TransformFOTBuilder.cxx ++++ b/jade/TransformFOTBuilder.cxx +@@ -41,6 +41,7 @@ public: + }; + class EntityRefFlowObj : public TransformExtensionFlowObj { + public: ++ EntityRefFlowObj() {} + void atomic(TransformFOTBuilder &fotb, const NodePtr &) const { + fotb.entityRef(name_); + } +@@ -56,6 +57,7 @@ public: + }; + class ProcessingInstructionFlowObj : public TransformExtensionFlowObj { + public: ++ ProcessingInstructionFlowObj() {} + void atomic(TransformFOTBuilder &fotb, const NodePtr &) const { + fotb.processingInstruction(data_); + } +@@ -98,6 +100,8 @@ public: + } + } + ExtensionFlowObj *copy() const { return new EmptyElementFlowObj(*this); } ++ public: ++ EmptyElementFlowObj() {} + private: + ElementNIC nic_; + }; +@@ -133,6 +137,8 @@ public: + } + } + ExtensionFlowObj *copy() const { return new ElementFlowObj(*this); } ++ public: ++ ElementFlowObj() {} + private: + ElementNIC nic_; + }; +@@ -150,6 +156,8 @@ public: + value.convertString(systemId_); + } + ExtensionFlowObj *copy() const { return new EntityFlowObj(*this); } ++ public: ++ EntityFlowObj() {} + private: + StringC systemId_; + }; +@@ -174,6 +182,8 @@ public: + } + } + ExtensionFlowObj *copy() const { return new DocumentTypeFlowObj(*this); } ++ public: ++ DocumentTypeFlowObj() {} + private: + DocumentTypeNIC nic_; + }; diff --git a/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb b/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb new file mode 100644 index 000000000..fa7aa62eb --- /dev/null +++ b/yocto-poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb @@ -0,0 +1,108 @@ +SUMMARY = "Tools for working with DSSSL stylesheets for SGML and XML documents" +DESCRIPTION = "OpenJade is a suite of tools for validating, \ +processing, and applying DSSSL (Document Style Semantics and \ +Specification Language) stylesheets to SGML and XML documents." +HOMEPAGE = "http://openjade.sourceforge.net" +SECTION = "base" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=641ff1e4511f0a87044ad42f87cb1045" + +PR = "r5" + +DEPENDS = "opensp-native sgml-common-native" +RDEPENDS_${PN} = "sgml-common-native" + +SRC_URI = "${SOURCEFORGE_MIRROR}/openjade/openjade-${PV}.tar.gz \ + file://makefile.patch \ + file://msggen.pl.patch \ + file://reautoconf.patch \ + file://user-declared-default-constructor.patch \ + file://fix-regex.patch" + +SRC_URI[md5sum] = "7df692e3186109cc00db6825b777201e" +SRC_URI[sha256sum] = "1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7d322d1" + +inherit autotools-brokensep native + +EXTRA_OECONF = "--enable-spincludedir=${STAGING_INCDIR}/OpenSP \ + --enable-splibdir=${STAGING_LIBDIR}" + +# We need to set datadir explicitly, but adding it to EXTRA_OECONF +# results in it being specified twice when configure is run. +CONFIGUREOPTS := "${@d.getVar('CONFIGUREOPTS', True).replace('--datadir=${datadir}', '--datadir=${STAGING_DATADIR}/sgml/openjade-${PV}')}" + +# CONFIGUREOPTS has hard coded paths so we need to ignore it's vardeps +# there are other bits in there too but they are picked up by other variable +# dependencies so it all works out +oe_runconf[vardepsexclude] += "CONFIGUREOPTS" + +CFLAGS =+ "-I${S}/include" + +SSTATEPOSTINSTFUNCS += "openjade_sstate_postinst" +SYSROOT_PREPROCESS_FUNCS += "openjade_sysroot_preprocess" +CLEANFUNCS += "openjade_sstate_clean" + +# configure.in needs to be reloacted to trigger reautoconf +do_extraunpack () { + cp ${S}/config/configure.in ${S}/ +} +addtask extraunpack after do_patch before do_configure + +# We need to do this else the source interdependencies aren't generated and +# build failures can result (e.g. zero size style/Makefile.dep file) +do_compile_prepend () { + oe_runmake depend +} + +do_install() { + # Refer to http://www.linuxfromscratch.org/blfs/view/stable/pst/openjade.html + # for details. + install -d ${D}${bindir} + install -m 0755 ${S}/jade/.libs/openjade ${D}${bindir}/openjade + ln -sf openjade ${D}${bindir}/jade + + oe_libinstall -a -so -C style libostyle ${D}${libdir} + oe_libinstall -a -so -C spgrove libospgrove ${D}${libdir} + oe_libinstall -a -so -C grove libogrove ${D}${libdir} + + install -d ${D}${datadir}/sgml/openjade-${PV} + install -m 644 dsssl/catalog ${D}${datadir}/sgml/openjade-${PV} + install -m 644 dsssl/*.dtd ${D}${datadir}/sgml/openjade-${PV} + install -m 644 dsssl/*.dsl ${D}${datadir}/sgml/openjade-${PV} + install -m 644 dsssl/*.sgm ${D}${datadir}/sgml/openjade-${PV} + + install -d ${datadir}/sgml/openjade-${PV} + install -m 644 dsssl/catalog ${datadir}/sgml/openjade-${PV}/catalog + + install -d ${D}${sysconfdir}/sgml + echo "CATALOG ${datadir}/sgml/openjade-${PV}/catalog" > \ + ${D}${sysconfdir}/sgml/openjade-${PV}.cat +} + +openjade_sstate_postinst() { + if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ] + then + # Ensure that the catalog file sgml-docbook.cat is properly + # updated when the package is installed from sstate cache. + ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade \ + --add ${sysconfdir}/sgml/sgml-docbook.bak \ + ${sysconfdir}/sgml/openjade-${PV}.cat + ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade \ + --add ${sysconfdir}/sgml/sgml-docbook.cat \ + ${sysconfdir}/sgml/openjade-${PV}.cat + fi +} + +openjade_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${STAGING_BINDIR_NATIVE}/install-catalog ${SYSROOT_DESTDIR}${bindir_crossscripts}/install-catalog-openjade +} + +openjade_sstate_clean () { + # Ensure that the catalog file sgml-docbook.cat is properly + # updated when the package is removed from sstate cache. + files="${sysconfdir}/sgml/sgml-docbook.bak ${sysconfdir}/sgml/sgml-docbook.cat" + for f in $files; do + [ ! -f $f ] || sed -i '/\/sgml\/openjade-${PV}.cat/d' $f + done +} |