CLISP: Upstream updates, add modules, one recipe for several packages (#11327)

This commit is contained in:
Alexandru Popa
2024-11-14 16:15:49 +02:00
committed by GitHub
parent 8194bd5159
commit a056eb54ab

View File

@@ -0,0 +1,180 @@
SUMMARY="ANSI Common Lisp Implementation"
desc_base="GNU CLISP is an ANSI Common Lisp Implementation. \
It is known for high portability, small image size and efficient bignums.
This package contains the"
requires_base="
clisp$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
"
HOMEPAGE="https://clisp.sourceforge.io/"
COPYRIGHT="1992-1993 Bruno Haible, Michael Stoll
1994-1997 Bruno Haible, Marcus Daniels
1998 Bruno Haible, Pierpaolo Bernardi, Sam Steingold
1999-2000 Bruno Haible, Sam Steingold
2001-2018 Sam Steingold, Bruno Haible
"
LICENSE="GNU GPL v2"
REVISION="1"
srcGitRev="6024adde90ea7b8cffb70fd209c282ead6aa19c5"
SOURCE_URI="https://gitlab.com/gnu-clisp/clisp/-/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="fc865c36416852d27d69b09bc32cc9d1895347e0b1f7d9b7ec4d37de8cb0394f"
SOURCE_DIR="clisp-$srcGitRev"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
DESCRIPTION="${desc_base} base clisp executable and modules: \
asdf, rawsock, clx/mit-clx, editor, queens."
# TODO Add i18n regexp syscalls readline
PROVIDES="
clisp$secondaryArchSuffix = $portVersion
cmd:clisp = $portVersion
cmd:clisp_link = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
libffcall$secondaryArchSuffix
libiconv$secondaryArchSuffix
libintl$secondaryArchSuffix
libncurses$secondaryArchSuffix
libreadline$secondaryArchSuffix >= 8
libsigsegv$secondaryArchSuffix
libunistring$secondaryArchSuffix
"
DESCRIPTION_berkeley_db="${desc_base} berkeley-db module for clisp."
PROVIDES_berkeley_db="
clisp_berkeley_db$secondaryArchSuffix = $portVersion
"
REQUIRES_berkeley_db="
$requires_base
lib:libdb$secondaryArchSuffix
"
DESCRIPTION_gdbm="${desc_base} gdbm module for clisp."
PROVIDES_gdbm="
clisp_gdbm$secondaryArchSuffix = $portVersion
"
REQUIRES_gdbm="
$requires_base
lib:libgdbm$secondaryArchSuffix
"
DESCRIPTION_libsvm="${desc_base} libsvm module for clisp."
PROVIDES_libsvm="
clisp_libsvm$secondaryArchSuffix = $portVersion
"
REQUIRES_libsvm="
$requires_base
lib:libsvm$secondaryArchSuffix
"
#DESCRIPTION_pari="${desc_base} pari module for clisp."
#PROVIDES_pari="
# clisp_pari$secondaryArchSuffix = $portVersion
# "
#REQUIRES_pari="
# $requires_base
# lib:libpari$secondaryArchSuffix
# pari_data$secondaryArchSuffix
# "
DESCRIPTION_pcre="${desc_base} pcre module for clisp."
PROVIDES_pcre="
clisp_pcre$secondaryArchSuffix = $portVersion
"
REQUIRES_pcre="
$requires_base
lib:libpcre$secondaryArchSuffix
"
DESCRIPTION_postgresql="${desc_base} postgresql module for clisp."
PROVIDES_postgresql="
clisp_postgresql$secondaryArchSuffix = $portVersion
"
REQUIRES_postgresql="
$requires_base
lib:libldap$secondaryArchSuffix
lib:libpq$secondaryArchSuffix
"
DESCRIPTION_zlib="${desc_base} zlib module for clisp."
PROVIDES_zlib="
clisp_zlib$secondaryArchSuffix = $portVersion
"
REQUIRES_zlib="
$requires_base
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libdb$secondaryArchSuffix
devel:libffcall$secondaryArchSuffix
devel:libgdbm$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libldap$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
# devel:libpari$secondaryArchSuffix
devel:libpcre$secondaryArchSuffix
devel:libpq$secondaryArchSuffix < 12.0
devel:libreadline$secondaryArchSuffix >= 8
devel:libsigsegv$secondaryArchSuffix
devel:libsvm$secondaryArchSuffix
devel:libunistring$secondaryArchSuffix
devel:libz$secondaryArchSuffix
# pari_data$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:cmp
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:msgfmt
cmd:sed
"
last_prefix=$prefix
BUILD()
{
./configure \
FORCE_UNSAFE_CONFIGURE=1 \
CXXFLAGS="_D_BSD_SOURCE" \
LDFLAGS="-lbsd -lnetwork" \
--with-included-regex \
--prefix=$last_prefix \
--bindir=$last_prefix/bin \
--datarootdir=$dataDir \
--docdir=$docDir \
--libdir=$libDir \
--mandir=$manDir \
build-dir
}
INSTALL()
{
mkdir -p build-dir/clx/mit-clx/
cp modules/clx/mit-clx/README.CLISP build-dir/clx/mit-clx/
cd build-dir
make install
# TODO Add i18n regexp readline syscalls
for module in asdf rawsock clx/mit-clx editor queens; do
make install-modules MODULES="$module"
done
# TODO Add pari
for module in berkeley-db gdbm libsvm pcre postgresql zlib; do
pack=$(echo $module | sed 's/-/_/')
new_prefix=$(getPackagePrefix $pack)
sed -i "s|=[[:space:]]$last_prefix|= $new_prefix|g" Makefile
make install-modules MODULES="$module"
last_prefix=$new_prefix
done
}
TEST()
{
make bench -Cbuild-dir
}