summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArsen Arsenović <arsen@gentoo.org>2023-03-26 22:56:58 +0200
committerArsen Arsenović <arsen@gentoo.org>2024-08-18 19:43:14 +0200
commit9a8e4918d692387e41f5e322448aecf09920b0ec (patch)
treee2dcf5561ffe462dffa9c560eb9afad7eb70cca9 /dev-scheme
parentapp-vim/gundo: EAPI=8, enable py3.11, py3.12 (diff)
downloadgentoo-9a8e4918d692387e41f5e322448aecf09920b0ec.tar.gz
gentoo-9a8e4918d692387e41f5e322448aecf09920b0ec.tar.bz2
gentoo-9a8e4918d692387e41f5e322448aecf09920b0ec.zip
dev-scheme/guile: add properly slotted revisions
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ć <arsen@gentoo.org>
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/guile/guile-2.2.7-r100.ebuild93
-rw-r--r--dev-scheme/guile/guile-3.0.10-r100.ebuild91
-rw-r--r--dev-scheme/guile/guile-3.0.10.ebuild2
-rw-r--r--dev-scheme/guile/metadata.xml9
4 files changed, 194 insertions, 1 deletions
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
<doc>https://www.gnu.org/software/guile/manual/html_node/index.html</doc>
<remote-id type="savannah">guile</remote-id>
</upstream>
+ <slots>
+ <!-- See (guile)Parallel Installations. -->
+ <slot name="3.0">
+ Guile effective version 3.0.
+ </slot>
+ <slot name="2.2">
+ Guile effective version 2.2.
+ </slot>
+ </slots>
</pkgmetadata>