From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 043D31584AD for ; Sun, 27 Apr 2025 23:17:41 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id BD6223406BF for ; Sun, 27 Apr 2025 23:17:40 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 9DF0F110280; Sun, 27 Apr 2025 23:17:39 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 935E2110280 for ; Sun, 27 Apr 2025 23:17:39 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 414203406BF for ; Sun, 27 Apr 2025 23:17:39 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A298112A for ; Sun, 27 Apr 2025 23:17:37 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1745795768.59d228ffb9158a090306bf6aaca1b9599d6c1d6e.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lisp/clisp/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-lisp/clisp/clisp-2.49.92-r2.ebuild X-VCS-Directories: dev-lisp/clisp/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 59d228ffb9158a090306bf6aaca1b9599d6c1d6e X-VCS-Branch: master Date: Sun, 27 Apr 2025 23:17:37 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a01f798b-a157-4783-9256-6f8dace0efdd X-Archives-Hash: 38963f9f08a37ef154357e742fc15e11 commit: 59d228ffb9158a090306bf6aaca1b9599d6c1d6e Author: Sam James gentoo org> AuthorDate: Sun Apr 27 23:13:40 2025 +0000 Commit: Sam James gentoo org> CommitDate: Sun Apr 27 23:16:08 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59d228ff dev-lisp/clisp: misc fixes * Fix build w/ GCC 15 (bug #932564). I've only added a workaround for this as there's proper fixes upstream. * Improve general style like: ** use an array for configure arguments and edo; ** use emake, not make || die (but pass -j1 as that was likely the intent here); ** more modern style for dependencies * Fix USE=hyperspec doc path (bug #905704) * Drop unnecessary slash (bug #905704) Closes: https://bugs.gentoo.org/905704 Signed-off-by: Sam James gentoo.org> dev-lisp/clisp/clisp-2.49.92-r2.ebuild | 166 +++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) diff --git a/dev-lisp/clisp/clisp-2.49.92-r2.ebuild b/dev-lisp/clisp/clisp-2.49.92-r2.ebuild new file mode 100644 index 000000000000..8573be8fc5fe --- /dev/null +++ b/dev-lisp/clisp/clisp-2.49.92-r2.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo flag-o-matic xdg-utils + +DESCRIPTION="Portable, bytecode-compiled implementation of Common Lisp" +HOMEPAGE="https://clisp.sourceforge.io/" +SRC_URI="mirror://gentoo/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="2/8" +KEYWORDS="~alpha ~amd64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="hyperspec X berkdb dbus fastcgi gdbm gtk +pcre postgres +readline svm threads +unicode +zlib" +# "jit" disabled ATM + +RDEPEND=" + >=dev-lisp/asdf-2.33-r3 + virtual/libcrypt:= + virtual/libiconv + >=dev-libs/libsigsegv-2.10 + >=dev-libs/ffcall-1.10 + dbus? ( sys-apps/dbus ) + fastcgi? ( dev-libs/fcgi ) + gdbm? ( sys-libs/gdbm:0= ) + gtk? ( >=x11-libs/gtk+-2.10:2 >=gnome-base/libglade-2.6 ) + postgres? ( >=dev-db/postgresql-8.0:* ) + readline? ( >=sys-libs/readline-7.0:0= ) + pcre? ( dev-libs/libpcre:3 ) + svm? ( sci-libs/libsvm ) + zlib? ( sys-libs/zlib ) + X? ( x11-libs/libXpm ) + hyperspec? ( dev-lisp/hyperspec ) + berkdb? ( sys-libs/db:4.8 ) +" +DEPEND=" + ${RDEPEND} + X? ( x11-base/xorg-proto ) +" +BDEPEND="X? ( x11-misc/imake )" + +BUILDDIR="builddir" + +enable_modules() { + [[ $# = 0 ]] && die "${FUNCNAME[0]} must receive at least one argument" + + local m + for m in "$@" ; do + einfo "Enabling module $m" + myconf+=( --with-module=${m} ) + done +} + +src_prepare() { + # More than -O1 breaks alpha + if use alpha; then + sed -i -e 's/-O2//g' src/makemake.in || die + fi + eapply "${FILESDIR}"/"${P}"-after_glibc_cfree_bdb.patch + eapply_user + + xdg_environment_reset +} + +src_configure() { + # Not local so enable_modules() can use it + myconf=( + --prefix="${EPREFIX}"/usr + --libdir="${EPREFIX}"/usr/$(get_libdir) + --enable-portability + $(use_with readline) + $(use_with unicode) + --hyperspec=${CLHSROOT} + ) + + # Temporary workaround for bug #932564 with GCC 15 + # This can be dropped with a new release. + append-flags -fno-tree-dce + + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/856103 + # https://gitlab.com/gnu-clisp/clisp/-/issues/49 + filter-lto + + # We need this to build on alpha + if use alpha; then + replace-flags -O? -O1 + elif use x86; then + append-flags -falign-functions=4 + fi + + # built-in features + myconf+=( + --with-ffcall + --without-dynamic-modules + ) + + # There's a problem with jit_allocai function + #if use jit; then + # myconf+=" --with-jitc=lightning" + #fi + + if use threads; then + myconf+=( --with-threads=POSIX_THREADS ) + fi + + # modules not enabled: + # * berkdb: must figure out a way to make the configure script pick up the + # currect version of the library and headers + # * dirkey: fails to compile, requiring windows.h, possibly wrong #ifdefs + # * matlab, netica: not in portage + # * oracle: can't install oracle-instantclient + # + # default modules + enable_modules rawsock + # optional modules + use elibc_glibc && enable_modules bindings/glibc + use X && enable_modules clx/new-clx + if use postgres; then + enable_modules postgresql + append-cppflags -I$(pg_config --includedir) + fi + if use berkdb; then + enable_modules berkeley-db + append-cppflags -I"${EPREFIX}"/usr/include/db4.8 + fi + use dbus && enable_modules dbus + use fastcgi && enable_modules fastcgi + use gdbm && enable_modules gdbm + use gtk && enable_modules gtk2 + use pcre && enable_modules pcre + use svm && enable_modules libsvm + use zlib && enable_modules zlib + + if use hyperspec; then + CLHSROOT="file://${EPREFIX}/usr/share/hyperspec/HyperSpec/" + else + CLHSROOT="http://www.lispworks.com/reference/HyperSpec/" + fi + + # configure chokes on --sysconfdir option + edo ./configure "${myconf[@]}" ${BUILDDIR} + + IMPNOTES="file://${EPREFIX}/usr/share/doc/${PN}-${PVR}/html/impnotes.html" + sed -i "s,http://clisp.cons.org/impnotes/,${IMPNOTES},g" \ + "${BUILDDIR}"/config.lisp || die "Cannot fix link to implementation notes" +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + # parallel build fails + emake -C "${BUILDDIR}" -j1 +} + +src_install() { + pushd "${BUILDDIR}" || die + emake -j1 DESTDIR="${D}" prefix="${EPREFIX}"/usr install-bin + doman clisp.1 + dodoc ../SUMMARY README* ../src/NEWS ../unix/MAGIC.add ../ANNOUNCE + popd || die + + dodoc doc/{CLOS-guide,LISP-tutorial}.txt + docinto html + dodoc doc/impnotes.{css,html} doc/regexp.html doc/clisp.png +}