Files
poky/meta/recipes-devtools/openjade/openjade-native_1.3.2.bb
Phil Blundell 3eb6135d89 openjade: Fix build if not installing libtool .la files
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>
2016-01-07 13:40:15 +00:00

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
}