From a056eb54ab4fd989e40cd863cddbf6413a4b1989 Mon Sep 17 00:00:00 2001 From: Alexandru Popa <48083723+al-popa@users.noreply.github.com> Date: Thu, 14 Nov 2024 16:15:49 +0200 Subject: [PATCH] CLISP: Upstream updates, add modules, one recipe for several packages (#11327) --- dev-lisp/clisp/clisp-2.49.95~git.recipe | 180 ++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 dev-lisp/clisp/clisp-2.49.95~git.recipe diff --git a/dev-lisp/clisp/clisp-2.49.95~git.recipe b/dev-lisp/clisp/clisp-2.49.95~git.recipe new file mode 100644 index 000000000..dc082aa56 --- /dev/null +++ b/dev-lisp/clisp/clisp-2.49.95~git.recipe @@ -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 +}