From 9a8e4918d692387e41f5e322448aecf09920b0ec Mon Sep 17 00:00:00 2001 From: Arsen Arsenović Date: Sun, 26 Mar 2023 22:56:58 +0200 Subject: dev-scheme/guile: add properly slotted revisions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: https://bugs.gentoo.org/689408 Bug: https://bugs.gentoo.org/640116 Bug: https://bugs.gentoo.org/746914 Bug: https://bugs.gentoo.org/705554 Signed-off-by: Arsen Arsenović --- dev-scheme/guile/guile-2.2.7-r100.ebuild | 93 +++++++++++++++++++++++++++++++ dev-scheme/guile/guile-3.0.10-r100.ebuild | 91 ++++++++++++++++++++++++++++++ dev-scheme/guile/guile-3.0.10.ebuild | 2 +- dev-scheme/guile/metadata.xml | 9 +++ 4 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 dev-scheme/guile/guile-2.2.7-r100.ebuild create mode 100644 dev-scheme/guile/guile-3.0.10-r100.ebuild (limited to 'dev-scheme') diff --git a/dev-scheme/guile/guile-2.2.7-r100.ebuild b/dev-scheme/guile/guile-2.2.7-r100.ebuild new file mode 100644 index 000000000000..ad6818be8c55 --- /dev/null +++ b/dev-scheme/guile/guile-2.2.7-r100.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions" +HOMEPAGE="https://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.xz" + +LICENSE="LGPL-3+" +SLOT="$(ver_cut 1-2)" # See (guile)Parallel Installations. +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls +REQUIRED_USE="regex" # workaround for bug 596322 +RESTRICT="strip" + +RDEPEND=" + >=dev-libs/boehm-gc-7.0:=[threads?] + dev-libs/gmp:= + dev-libs/libffi:= + dev-libs/libltdl:= + dev-libs/libunistring:0= + sys-libs/ncurses:0= + sys-libs/readline:0= + virtual/libcrypt:= + !dev-scheme/guile:12 +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + dev-build/libtool + sys-devel/gettext +" + +PATCHES=( + "${FILESDIR}/${PN}-2.2.3-gentoo-sandbox.patch" + "${FILESDIR}/${PN}-2.2.7-stack-up.patch" +) + +# guile generates ELF files without use of C or machine code +# It's a portage's false positive. bug #677600 +QA_PREBUILT='*[.]go' + +DOCS=( GUILE-VERSION HACKING README ) + +src_configure() { + # see bug #676468 + mv prebuilt/32-bit-big-endian{,.broken} || die + + econf \ + --program-suffix="-${SLOT}" \ + --disable-error-on-warning \ + --disable-rpath \ + --disable-static \ + --enable-posix \ + --without-libgmp-prefix \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --without-libltdl-prefix \ + --without-libreadline-prefix \ + --without-libunistring-prefix \ + $(use_enable debug guile-debug) \ + $(use_enable debug-malloc) \ + $(use_enable deprecated) \ + $(use_enable networking) \ + $(use_enable nls) \ + $(use_enable regex) \ + $(use_with threads) +} + +src_install() { + default + + # From Novell + # https://bugzilla.novell.com/show_bug.cgi?id=874028#c0 + dodir /usr/share/gdb/auto-load/$(get_libdir) + mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die + + find "${D}" -name '*.la' -delete || die + + # Move the pkg-config files to guile-data. In future versions, this + # should be handled by --with-pkgconfigdir (patch waiting on + # upstream). + local pcdir=/usr/share/guile-data/"${SLOT}" + mkdir -p "${ED}${pcdir}" || die + mv "${ED}"/usr/share/aclocal/guile{,-"${SLOT}"}.m4 || die + mv "${ED}"/usr/$(get_libdir)/pkgconfig/ \ + "${ED}/${pcdir}" || die + + newenvd - "50guile${SLOT}" <<-EOF + PKG_CONFIG_PATH="${pcdir}/pkgconfig" + EOF +} diff --git a/dev-scheme/guile/guile-3.0.10-r100.ebuild b/dev-scheme/guile/guile-3.0.10-r100.ebuild new file mode 100644 index 000000000000..027d50d2cadf --- /dev/null +++ b/dev-scheme/guile/guile-3.0.10-r100.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions" +HOMEPAGE="https://www.gnu.org/software/guile/" +SRC_URI="mirror://gnu/guile/${P}.tar.xz" + +LICENSE="LGPL-3+" +SLOT="$(ver_cut 1-2)" # See (guile)Parallel Installations. +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos" + +IUSE="debug debug-malloc +deprecated +jit +networking +nls +regex +threads" # upstream recommended +networking +nls +REQUIRED_USE="regex" # workaround for bug #596322 +RESTRICT="strip" + +RDEPEND=" + >=dev-libs/boehm-gc-7.0[threads?] + dev-libs/gmp:= + dev-libs/libffi:= + dev-libs/libatomic_ops + dev-libs/libunistring:= + sys-libs/ncurses:= + sys-libs/readline:= + virtual/libcrypt:= + !dev-scheme/guile:12 +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + dev-build/libtool + sys-devel/gettext +" + +# guile generates ELF files without use of C or machine code +# It's false positive. bug #677600 +QA_PREBUILT='*[.]go' + +DOCS=( ABOUT-NLS AUTHORS ChangeLog GUILE-VERSION HACKING NEWS README THANKS ) + +PATCHES=( "${FILESDIR}"/${PN}-2.2.3-gentoo-sandbox.patch ) + +# Where to install data files. +GUILE_DATA="${PREFIX}/usr/share/guile-data/${SLOT}" +GUILE_PCDIR="/usr/share/guile-data/${SLOT}/pkgconfig" + +src_configure() { + # see bug #676468 + mv prebuilt/32-bit-big-endian{,.broken} || die + + local -a myconf=( + --program-suffix="-${SLOT}" + --infodir="${GUILE_DATA}/info" + --with-pkgconfigdir="${GUILE_PCDIR}" + + --disable-error-on-warning + --disable-rpath + --disable-lto + --enable-posix + --without-libgmp-prefix + --without-libiconv-prefix + --without-libintl-prefix + --without-libreadline-prefix + --without-libunistring-prefix + $(use_enable debug guile-debug) + $(use_enable debug-malloc) + $(use_enable deprecated) + $(use_enable jit) + $(use_enable networking) + $(use_enable nls) + $(use_enable regex) + $(use_with threads) + ) + econf "${myconf[@]}" +} + +src_install() { + default + + # From Novell https://bugzilla.novell.com/show_bug.cgi?id=874028#c0 + dodir /usr/share/gdb/auto-load/$(get_libdir) + mv "${ED}"/usr/$(get_libdir)/libguile-*-gdb.scm "${ED}"/usr/share/gdb/auto-load/$(get_libdir) || die + + mv "${ED}"/usr/share/aclocal/guile{,-"${SLOT}"}.m4 || die + find "${ED}" -name '*.la' -delete || die + + newenvd - "50guile${SLOT}" <<-EOF + PKG_CONFIG_PATH="${GUILE_PCDIR}" + EOF +} diff --git a/dev-scheme/guile/guile-3.0.10.ebuild b/dev-scheme/guile/guile-3.0.10.ebuild index 5d10f39559f3..25b528640471 100644 --- a/dev-scheme/guile/guile-3.0.10.ebuild +++ b/dev-scheme/guile/guile-3.0.10.ebuild @@ -64,7 +64,7 @@ src_configure() { $(use_enable regex) $(use_with threads) ) - econf ${myconf[@]} + econf "${myconf[@]}" } src_install() { diff --git a/dev-scheme/guile/metadata.xml b/dev-scheme/guile/metadata.xml index 0ec99201052d..fc7f82d4b3b9 100644 --- a/dev-scheme/guile/metadata.xml +++ b/dev-scheme/guile/metadata.xml @@ -20,4 +20,13 @@ Guile is a library designed to help programmers create flexible applications. Us https://www.gnu.org/software/guile/manual/html_node/index.html guile + + + + Guile effective version 3.0. + + + Guile effective version 2.2. + + -- cgit v1.2.3-65-gdbad