mirror of
https://git.yoctoproject.org/poky
synced 2026-02-09 18:23:02 +01:00
The openjade build system is slightly funky and does strange things with library dependencies. Fix it up so that it depends on the .so rather than the .la (which may not exist) for libraries from the sysroot. (From OE-Core rev: dd6998ee068f0edf20139fee80fbbf6c1347649d) Signed-off-by: Phil Blundell <philb@brightsign.biz> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
122 lines
4.7 KiB
BlitzBasic
122 lines
4.7 KiB
BlitzBasic
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 \
|
|
file://no-libtool.patch"
|
|
|
|
SRC_URI[md5sum] = "7df692e3186109cc00db6825b777201e"
|
|
SRC_URI[sha256sum] = "1d2d7996cc94f9b87d0c51cf0e028070ac177c4123ecbfd7ac1cb8d0b7d322d1"
|
|
|
|
UPSTREAM_CHECK_URI = "http://openjade.sourceforge.net/download.html"
|
|
|
|
inherit autotools-brokensep native
|
|
|
|
# Statically link local libs to avoid gold link issue [YOCTO #2972]
|
|
PACKAGECONFIG ?= "static-only-libs"
|
|
PACKAGECONFIG[static-only-libs] = "--enable-static --disable-shared,--enable-static --enable-shared,,"
|
|
|
|
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} ${D}${libdir}
|
|
if ${@bb.utils.contains('PACKAGECONFIG', 'static-only-libs', 'true', 'false', d)}; then
|
|
install -m 0755 jade/openjade ${D}${bindir}/openjade
|
|
oe_libinstall -a -C style libostyle ${D}${libdir}
|
|
oe_libinstall -a -C spgrove libospgrove ${D}${libdir}
|
|
oe_libinstall -a -C grove libogrove ${D}${libdir}
|
|
else
|
|
install -m 0755 jade/.libs/openjade ${D}${bindir}/openjade
|
|
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}
|
|
fi
|
|
ln -sf openjade ${D}${bindir}/jade
|
|
|
|
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
|
|
}
|