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