blob: 9e97c0d604f03174b427e46f3169c86f70cdf27d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
# Copyright 1999-2023 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="https://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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-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
eapply "${FILESDIR}"/${P}-autoconf-2.70.patch #765034
# 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
}
|