You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
4.2 KiB
156 lines
4.2 KiB
# Copyright 1999-2020 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
inherit autotools flag-o-matic sgml-catalog-r1 toolchain-funcs
|
|
|
|
DESCRIPTION="Jade is an implementation of DSSSL for formatting SGML and XML documents"
|
|
HOMEPAGE="http://openjade.sourceforge.net"
|
|
SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.gz"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
|
IUSE=""
|
|
|
|
RDEPEND="
|
|
app-text/sgml-common
|
|
>=app-text/opensp-1.5.1
|
|
"
|
|
DEPEND="${RDEPEND}
|
|
dev-lang/perl
|
|
"
|
|
|
|
src_prepare() {
|
|
default
|
|
|
|
eapply "${FILESDIR}"/${P}-deplibs.patch
|
|
eapply "${FILESDIR}"/${P}-ldflags.patch
|
|
eapply "${FILESDIR}"/${P}-msggen.pl.patch
|
|
eapply "${FILESDIR}"/${P}-respect-ldflags.patch
|
|
eapply "${FILESDIR}"/${P}-libosp-la.patch
|
|
eapply "${FILESDIR}"/${P}-gcc46.patch
|
|
eapply "${FILESDIR}"/${P}-no-undefined.patch
|
|
eapply "${FILESDIR}"/${P}-wchar_t-uint.patch
|
|
eapply "${FILESDIR}"/${P}-chmod.patch #487218
|
|
|
|
# Please note! Opts are disabled. If you know what you're doing
|
|
# feel free to remove this line. It may cause problems with
|
|
# docbook-sgml-utils among other things.
|
|
#ALLOWED_FLAGS="-O -O1 -O2 -pipe -g -march"
|
|
strip-flags
|
|
|
|
# Default CFLAGS and CXXFLAGS is -O2 but this make openjade segfault
|
|
# on hppa. Using -O1 works fine. So I force it here.
|
|
use hppa && replace-flags -O2 -O1
|
|
|
|
ln -s config/configure.in configure.ac || die
|
|
cp "${FILESDIR}"/${P}-acinclude.m4 acinclude.m4 || die
|
|
rm config/missing || die
|
|
|
|
AT_NOEAUTOMAKE=yes \
|
|
eautoreconf
|
|
}
|
|
|
|
src_configure() {
|
|
# avoids dead-store elimination optimization
|
|
# leading to segfaults on GCC 6
|
|
# bug #592590 #596506
|
|
tc-is-clang || append-cxxflags $(test-flags-CXX -fno-lifetime-dse)
|
|
|
|
# We need Prefix env, bug #287358
|
|
CONFIG_SHELL="${CONFIG_SHELL:-${BASH}}" \
|
|
econf \
|
|
--enable-http \
|
|
--enable-default-catalog="${EPREFIX}"/etc/sgml/catalog \
|
|
--enable-default-search-path="${EPREFIX}"/usr/share/sgml \
|
|
--enable-splibdir="${EPREFIX}"/usr/$(get_libdir) \
|
|
--libdir="${EPREFIX}"/usr/$(get_libdir) \
|
|
--datadir="${EPREFIX}"/usr/share/sgml/${P} \
|
|
--disable-static
|
|
}
|
|
|
|
src_compile() {
|
|
unset INCLUDE #412725
|
|
emake -j1 SHELL="${BASH}"
|
|
}
|
|
|
|
src_install() {
|
|
#dodir /usr/$(get_libdir)
|
|
|
|
make DESTDIR="${D}" \
|
|
SHELL="${BASH}" \
|
|
libdir="${EPREFIX}"/usr/$(get_libdir) \
|
|
install install-man
|
|
|
|
find "${D}" -name '*.la' -delete || die
|
|
|
|
dosym openjade /usr/bin/jade
|
|
dosym onsgmls /usr/bin/nsgmls
|
|
dosym osgmlnorm /usr/bin/sgmlnorm
|
|
dosym ospam /usr/bin/spam
|
|
dosym ospent /usr/bin/spent
|
|
dosym osx /usr/bin/sgml2xml
|
|
|
|
insinto /usr/share/sgml/${P}
|
|
doins dsssl/builtins.dsl
|
|
|
|
newins - catalog <<-EOF
|
|
SYSTEM "builtins.dsl" "builtins.dsl"
|
|
EOF
|
|
doins -r pubtext
|
|
insinto /usr/share/sgml/${P}/dsssl
|
|
doins dsssl/{dsssl.dtd,style-sheet.dtd,fot.dtd}
|
|
newins "${FILESDIR}"/${P}.dsssl-catalog catalog
|
|
|
|
# Breaks sgml2xml among other things
|
|
#insinto /usr/share/sgml/${P}/unicode
|
|
#doins unicode/{catalog,unicode.sd,unicode.syn,gensyntax.pl}
|
|
|
|
insinto /etc/sgml
|
|
newins - "${P}.cat" <<-EOF
|
|
CATALOG "${EPREFIX}/usr/share/sgml/openjade-${PV}/catalog"
|
|
CATALOG "${EPREFIX}/usr/share/sgml/openjade-${PV}/dsssl/catalog"
|
|
EOF
|
|
|
|
local HTML_DOCS=( doc/*.htm )
|
|
einstalldocs
|
|
dodoc -r jadedoc
|
|
}
|
|
|
|
pkg_preinst() {
|
|
# work-around old revision removing it
|
|
cp "${ED}"/etc/sgml/${P}.cat "${T}" || die
|
|
}
|
|
|
|
pkg_postinst() {
|
|
local backup=${T}/${P}.cat
|
|
local real=${EROOT}/etc/sgml/${P}.cat
|
|
if ! cmp -s "${backup}" "${real}"; then
|
|
cp "${backup}" "${real}" || die
|
|
fi
|
|
# this one's shared with docbook-dsssl, so we need to do it in postinst
|
|
if ! grep -q -s ${P}.cat \
|
|
"${EROOT}"/etc/sgml/sgml-docbook.cat; then
|
|
ebegin "Adding ${P}.cat to /etc/sgml/sgml-docbook.cat"
|
|
cat >> "${EROOT}"/etc/sgml/sgml-docbook.cat <<-EOF
|
|
CATALOG "${EPREFIX}/etc/sgml/${P}.cat"
|
|
EOF
|
|
eend ${?}
|
|
fi
|
|
sgml-catalog-r1_pkg_postinst
|
|
}
|
|
|
|
pkg_postrm() {
|
|
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
|
ebegin "Removing ${P}.cat from /etc/sgml/sgml-docbook.cat"
|
|
sed -i -e '/${P}/d' \
|
|
"${EROOT}"/etc/sgml/sgml-docbook.cat
|
|
eend ${?}
|
|
if [[ ! -s ${EROOT}/etc/sgml/sgml-docbook.cat ]]; then
|
|
rm -f "${EROOT}"/etc/sgml/sgml-docbook.cat
|
|
fi
|
|
fi
|
|
sgml-catalog-r1_pkg_postrm
|
|
}
|