blob: 40fb04d52aa266c7f360351064baa64bd17b5254 (
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
|
# Copyright 2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
RESTRICT="mirror"
inherit elisp-common
DESCRIPTION="A general-purpose computer algebra system"
HOMEPAGE="http://reduce-algebra.sourceforge.net/
http://reduce-algebra.com/"
IUSE="doc emacs gnuplot X"
PVyear=${PV%????}
PVday=${PV#??????}
PVmonth=${PV#????}
PVmonth=${PVmonth%??}
mPV="${PVyear}-${PVmonth}-${PVday}"
TARBALL="${PN}-src-${mPV}"
SRC_URI="mirror://sourceforge/${PN}-algebra/Snapshot_${mPV}/${TARBALL}.tar.bz2"
LICENSE="BSD-2 X? ( LGPL-2.1 )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/${TARBALL}"
RDEPEND="X? ( x11-libs/libXrandr
x11-libs/libXcursor
x11-libs/libXft )
gnuplot? ( sci-visualization/gnuplot )
emacs? ( virtual/emacs )"
DEPEND="${RDEPEND}"
src_prepare() {
sed -i -e '2iecho gentoo; exit' -- "${S}"/scripts/findos.sh
# sed -i -e 's/\${l}/"\${l}"/g' -- "${S}"/scripts/make.sh
sed -i -e 's/static char unmapTable/static unsigned char unmapTable/' \
-- "${S}"/csl/fox/src/FXShowMath.cpp
eapply_user
}
src_configure() {
# If you pass --prefix to this damn configure,
# make (not make install!) will try to install stuff
# into the live file system => sandbox violation
# Therefore, I cannot use econf here
# Also, make calls configure in maintainer mode in subdirs *by design*
# The trunk sucks less => WONTFIX until the next release
./configure --with-csl $(use_with X gui)
# psl build requires Internet connection at build time
# we cannot support it
}
src_compile() {
emake -j1 STRIP=true
pushd cslbuild/*/csl/reduce.doc > /dev/null
rm -f *.txt *.tex
popd > /dev/null
if use emacs; then
einfo "Compiling emacs lisp files"
elisp-compile generic/emacs/*.el || die "elisp-compile failed"
fi
}
src_test() {
emake -j1 testall || die "emake testall failed"
}
src_install() {
local lib="$(get_libdir)"
dodoc README BUILDING DEPENDENCY_TRACKING
pushd bin > /dev/null
cp "${FILESDIR}"/redcsl "${FILESDIR}"/csl .
sed -e "s/lib/${lib}/" -i redcsl
sed -e "s/lib/${lib}/" -i csl
exeinto /usr/bin
doexe redcsl csl
popd > /dev/null
pushd cslbuild/*/csl > /dev/null
exeinto /usr/${lib}/${PN}
doexe reduce csl
insinto /usr/$(get_libdir)/${PN}
doins reduce.img csl.img
insinto /usr/share/${PN}
doins -r ${PN}.doc
mv -- "${ED}"usr/share/${PN}/${PN}.doc "${ED}"usr/share/${PN}/doc
dosym ../../share/${PN}/doc /usr/${lib}/${PN}/${PN}.doc
if use X; then
doins -r ${PN}.fonts
mv -- "${ED}"usr/share/${PN}/${PN}.fonts "${ED}"usr/share/${PN}/fonts
dosym ../../share/${PN}/fonts /usr/${lib}/${PN}/${PN}.fonts
fi
popd > /dev/null
if use doc; then
insinto /usr/share/doc/${PF}
doins doc/util/r38.pdf
fi
if use emacs; then
pushd generic/emacs > /dev/null
elisp-install ${PN} *.el *.elc || die "elisp-install failed"
elisp-site-file-install "${FILESDIR}/64${PN}-gentoo.el"
popd > /dev/null
fi
}
|