forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Andrey Grozin <[email protected]>
- Loading branch information
Andrey Grozin
committed
Jan 22, 2023
1 parent
88f6dcc
commit 73a787b
Showing
2 changed files
with
105 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST gcl-2.6.13_pre99.tar.xz 10030460 BLAKE2B 8750d641062bcad5a124173013d38403f37ad352c7c436e89d4e329d997200be399a100dcefc4ce484e3f85f46e2dd90ee02947e5e728e001782e973c4122b0e SHA512 a3ad2bd639157ca2a80b534e87c169f6e07002a1b9ca8039483cff336af764123dec9e749da045b656b990e0a97c70881c798420ec4bd0e4494f43d0d040e413 | ||
DIST gcl-2.6.14.tar.gz 11725385 BLAKE2B 3e6a7fc359f94897d1062f5e5e31a0ae36f5d24ca0155fd22044cb967f1fd6a0303572dafe25b1a7abbc936db4e8caa93d0e50b1779886e2ba40e148fa868b8f SHA512 1a69f5e8195783c88b618a613253da1089b13e390dd259056df52f1ed95cf0c99358c34d3782c8eb297c07fda74deb7db359e6b9bf94590ee7fc34e94742eb14 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
# Copyright 1999-2023 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="https://ftp.gnu.org/gnu/${PN}/${P}.tar.gz" | ||
|
||
LICENSE="LGPL-2+ GPL-2+" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" | ||
IUSE="+ansi athena 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 | ||
>=sys-devel/autoconf-2.52" | ||
|
||
src_configure() { | ||
strip-flags | ||
filter-flags -fstack-protector -fstack-protector-all | ||
# breaks linking on multiple defined syms | ||
#append-cflags $(test-flags-CC -fgnu89-inline) | ||
|
||
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 | ||
|
||
rm elisp/add-defaults.el | ||
dodoc readme readme.gmp readme.xgcl ChangeLog doc/* info/*.pdf | ||
dodoc -r info/gcl-si | ||
doman man/man1/gcl.1 | ||
doinfo info/gcl.info* info/gcl-si.info | ||
|
||
use athena && dodoc xgcl-2/*.pdf | ||
|
||
if use tk; then | ||
dodoc -r info/gcl-tk | ||
doinfo info/gcl-tk.info* | ||
fi | ||
|
||
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 | ||
} |