blob: 6473aba4cc592f861f18ace662053f840854b82a (
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
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit elisp-common flag-o-matic
DESCRIPTION="GNU Common Lisp"
HOMEPAGE="https://www.gnu.org/software/gcl/gcl.html"
SRC_URI="http://git.savannah.gnu.org/cgit/gcl.git/snapshot/${PN}-Version_2_6_15pre3.tar.gz
https://dev.gentoo.org/~grozin/${PF}-spelling.patch.gz"
LICENSE="LGPL-2+ GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
IUSE="+ansi athena doc emacs +readline tk X"
RESTRICT="strip" #205803
RDEPEND="dev-libs/gmp
virtual/latex-base
emacs? ( app-editors/emacs:= )
readline? ( sys-libs/readline:= )
athena? ( x11-libs/libXaw )
tk? ( dev-lang/tk:= )
X? ( x11-libs/libXt x11-libs/libXext x11-libs/libXmu x11-libs/libXaw )"
DEPEND="${RDEPEND}
virtual/texi2dvi
app-text/texi2html
>=dev-build/autoconf-2.52"
PATCHES=(
"${WORKDIR}"/${PF}-spelling.patch
# bug 893938
"${FILESDIR}"/${PN}-2.6.15-riscv.patch
)
S="${WORKDIR}"/${PN}-Version_2_6_15pre3/${PN}
src_configure() {
strip-flags
filter-flags -fstack-protector -fstack-protector-all
local tcl=""
if use tk; then
tcl="--enable-tclconfig=/usr/lib --enable-tkconfig=/usr/lib"
fi
econf --enable-dynsysgmp \
--disable-xdr \
--enable-emacsdir=/usr/share/emacs/site-lisp/gcl \
$(use_enable readline) \
$(use_enable ansi) \
$(use_enable athena xgcl) \
$(use_with X x) \
${tcl}
}
src_compile() {
emake -j1
}
src_test() {
local make_ansi_tests_clean="rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl"
if use ansi; then
cd ansi-tests
( make clean && make test-unixport ) \
|| die "make ansi-tests failed!"
cat "${FILESDIR}/bootstrap-gcl" \
| ../unixport/saved_ansi_gcl
cat "${FILESDIR}/bootstrap-gcl" \
|sed s/bootstrapped_ansi_gcl/bootstrapped_r_ansi_gcl/g \
| ./bootstrapped_ansi_gcl
( ${make_ansi_tests_clean} && \
echo "(load \"gclload.lsp\")" \
| ./bootstrapped_r_ansi_gcl ) \
|| die "Phase 2, bootstraped compiler failed in tests"
fi
}
src_install() {
emake DESTDIR="${D}" install
dodoc readme readme.gmp readme.xgcl ChangeLog doc/*
pushd "${D}"/usr/share/doc > /dev/null
rm dwdoc.tex || die "rm dwdoc.tex.bz2 failed"
if use doc; then
mv *.pdf gcl gcl-si gcl-tk dwdoc ${PF} || die "mv * ${PF} failed"
else
rm -rf *.pdf gcl gcl-si gcl-tk dwdoc
fi
popd > /dev/null
if use emacs; then
elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el
elisp-install ${PN} elisp/*.el
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}
|