summaryrefslogtreecommitdiff
path: root/dev-scheme
diff options
context:
space:
mode:
Diffstat (limited to 'dev-scheme')
-rw-r--r--dev-scheme/Manifest.gzbin9971 -> 9974 bytes
-rw-r--r--dev-scheme/guile/Manifest2
-rw-r--r--dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch85
-rw-r--r--dev-scheme/guile/guile-2.2.7-r2.ebuild89
4 files changed, 176 insertions, 0 deletions
diff --git a/dev-scheme/Manifest.gz b/dev-scheme/Manifest.gz
index 76a93f1ddaa6..8173b7af20fa 100644
--- a/dev-scheme/Manifest.gz
+++ b/dev-scheme/Manifest.gz
Binary files differ
diff --git a/dev-scheme/guile/Manifest b/dev-scheme/guile/Manifest
index d5079803603f..513ca10648f5 100644
--- a/dev-scheme/guile/Manifest
+++ b/dev-scheme/guile/Manifest
@@ -9,6 +9,7 @@ AUX guile-1.8.8-sandbox.patch 514 BLAKE2B d47f7a6ffc4e67cec738e963ff2ec7c3bfa600
AUX guile-1.8.8-texinfo-6.7.patch 1243 BLAKE2B fe485bcfd807394797b9561f95151a458fc4c6397c5903c9d17204dd5f485b28600ca6004de76c89ad3807bad4c84b2eaa1bda5fe13d0b763bf5b70c1157a0ff SHA512 85136f0997c4da3c7f7831fdf85ea790c1083fd373617111b78e17bb5559e8333e70da22cfd9f4109f9ad9026f30d408864b3c84d13cf2c5164d990c2a8c1754
AUX guile-1.8.8-tinfo.patch 450 BLAKE2B 0dcf1728e30034f1e612d666b07cdbf2147dbbe8151a23479d1519f4bc55a0fcf83c37e545592c2a2fb7c7426f026ae3fac0f08d3a36248cd8b27c3d9ae8a618 SHA512 0ea33680a57b1adb0821bd00cd73955e8c2fd5f31c4bd20a291c3e4fbb6a3dd9e2f4977b135f05fa3e2b65b1f5e0f5253db642e7b0b0fcd2e78ff8b6dd1cf37a
AUX guile-2.2.3-gentoo-sandbox.patch 361 BLAKE2B 997d4cec108f302f34b42c59c78d420c858f964b8587bed523d95fadedbf9981dd9c196934299413db9c23e940a4b88e798e4fff65cdea1507968494338313ba SHA512 450f44cbd2b3f0c7c02963c35e58e8d0e4a7192239993215b69713d8a1109692ab1e153efe685c27681069477a56e7bc52b34ebd8717a2c8695be8c6b8abe673
+AUX guile-2.2.7-fix-buggy-gnulib.patch 2813 BLAKE2B 9905f91b37fc8262ed508f8dd9507e9bb38704847f84ba0fc0b214f52b2359182d56b9a766ed31102d1d5c9d6ad852f6a3ca5976f032e77d536c2374448b242e SHA512 eea1f62f2e8ce3d476bba79d0d400c13d32e3ccd138db5f512788dfe08ddca234cfc83e8c2df7cf0252e958271e78d74cbb9632b3fc97f7f6fd1bacb6f1f5e54
AUX guile-2.2.7-stack-up.patch 568 BLAKE2B 11f19c9e657b9b23c033e0edac9d06fcaa2f56f69230d526fc42eed6050022395599855015539c32ed83b6e3f5c8a94744ff6ef50b3c9284818d0d8f725f18b6 SHA512 f312e4e5d8d3781efb6fe65f4ec94431d8b19a7ac3e3e9e461748c60643088237e570314e74b5253418a01b129586465ed43107463d8de182e362393f75073bd
AUX guile-3.0.8-configure-clang16.patch 867 BLAKE2B 19c86cf32920b99f0dd1f4e8d862e259e542c3494dcd84df5a1b29b13e754226b1cac9130b823a18f2a0cc1f31f7faca3dd8d0789b867cd8cacea03142f5ac9b SHA512 d9713c992ee798e25152b47a89a682de5fc40afc6ba22b064350d373163730e5b9ed34a00647b9af20d7b4e73c6a59cfab183c8e27ff719c39fd22e29abdd16c
DIST guile-1.8.8.tar.gz 3956654 BLAKE2B 4820d635ac2c57526c0c03f3e0e6e4ac4276533ea8db15e6d1b759c33edec094a1a4bdc3e09ccae61f1b271d63565063746feea242a90c18cd575775444a42ef SHA512 ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0
@@ -17,6 +18,7 @@ DIST guile-3.0.8.tar.xz 6200072 BLAKE2B 6ab6bfd18889d0d263e5e06ff1284ec025437e53
DIST guile-3.0.9.tar.xz 5750636 BLAKE2B 693f189bda52468d989f27c9482b515b8a14ed814d6e4a9a988d7a03d9789903a568b41c5e3ae524b3a51cc635693cd20245b2017efabb9774be59c298823083 SHA512 a1e47a60a654f26edc57b3a34d943e15a055fc85c3cc764e912be23a80d56534b16f3512d7c7bc426f24a0cac1fcc9556802ac248f10c1fbdde51cd1e24afaf2
EBUILD guile-1.8.8-r4.ebuild 3093 BLAKE2B 22de2f4fb4bbdb99cbcefbe740a1a19565f925baa3d7fe8cfe4e601f0d498236823b3ab0b4cb05aec088dd1c67391869f850fee54967c1484ba34cb684ae077e SHA512 f1de3ea647c208028a529a83ecd62cc84e728538b229ffd57fc32f97af1edfe556cda41c45e1a2e549ae3a8b91253d0498084fa4c698daaac221ba27fbe030fe
EBUILD guile-2.2.7-r1.ebuild 2153 BLAKE2B 15c8f851508b2a76a2f58e1cb1a183b09cb081f4c41b05f8709df2e41c11bfe197fd5cddefc5c1f125d75c8dd5bb7e70f6cf2026114cdecb965c9979c971f9e2 SHA512 f3d58eed30c24bf96faf65a4cd07d11105bda4632f59bdc919fd6568029e76786f47834db1890b2f43003f6fe9b5af82e7358a7b78f68e3a2d67931d28d56f61
+EBUILD guile-2.2.7-r2.ebuild 2306 BLAKE2B b211ec6990b4bbaf54a626800ff2616a0ee8ff758f684c8ff4b879ce408ef82751a24efa91b1fc8560525e1118f5baf6ba44c2c14266272784ba52060a129631 SHA512 ba61fbc87a1cc061fde07b95d1da6107b299a7294e6219815e11295cc24f16642ee742fe3b90424d069152f634fae88e2e3714e1fca8091cdaf6565b7bae3772
EBUILD guile-3.0.8-r1.ebuild 2262 BLAKE2B fd12e929634be1ccf8b15ccad4eb53d6dbdff6ecfeb29205d2d0db6b528ffaa79bc80e63f0c4fa3873757152c09450e1e110416e6503a46a2d9897fd2c9d85d9 SHA512 e2f889ee8097a74a37a4ccfc71c8bb586fa89aa594f6aafcd7238707c7f1431e0ac0beeade9a6eea805a743897053871d7cd3affb58dd815773bd4283ddd58ce
EBUILD guile-3.0.9.ebuild 2157 BLAKE2B 90caed9523271c6da94cf9adf507c4eded321664e6d81fa548a7621c90ad055c3aa220a0383bed797603d828dc647589f3e61a9078831b9b1fe78ea34d1c21ea SHA512 c18ded13e7dc2cc3741d3855242888e510979f50a05109ee3a29ee1f17a53d33ac751de4538dc24ec189df4006aeff3ca4b5bcd1634c89a8586505fa234effd0
MISC metadata.xml 1215 BLAKE2B cb546c1bfb71222500e0a78ba2d745a8ead21610ce8d66215e0230ea0249a2ecfd8fa42437d44e8d7eef6e0c64cf0100cbbdd9b580b88afa11274986fa49e712 SHA512 54b7513aeafafef02c9fafcba5c1c645fb163d43b03e253f278ebb9f198ce255171b61a6b847415652a8dabeaa2fb34fa226bd49b02bb2c2dcdeae00c6e3babe
diff --git a/dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch b/dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch
new file mode 100644
index 000000000000..20f04c3b095c
--- /dev/null
+++ b/dev-scheme/guile/files/guile-2.2.7-fix-buggy-gnulib.patch
@@ -0,0 +1,85 @@
+From 76d84a62e84d4206d41ffed16b8baa5af2d1e62f Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 26 May 2024 13:02:54 -0400
+Subject: [PATCH 1/2] fix invalid bash code causing the wrong type of failure
+
+test $var = no
+
+fails if $var is only ever defined after this line. gnulib is brilliant
+software and naturally does exactly this, because it is highly logical
+to only define code after you try to use it.
+
+Probably. It's hard to tell because the actual code that gets run is:
+
+func_gl_gnulib_m4code_5264294aa0a5557541b53c8c741f7f31
+
+since the other sparkling aspect of gnulib's innovative brilliance is
+the realization that *of course* the most robust way to design software
+is to use checksums as *replacements* for function names.
+
+Or, "that time Eli got jiatanned by gnulib".
+
+The quoting was silently "fixed" upstream in:
+https://github.com/coreutils/gnulib/commit/db1ee11e2168af7137db53289a92e306d2277b0b
+
+It is the same "fix" we do here, thus restoring dash <--> bash
+compatibility and preventing:
+
+```
+ * QA Notice: Abnormal configure code
+ *
+ * ./configure: 38012: test: =: unexpected operator
+```
+
+although it seems to me gnulib is just more generally broken.
+---
+ m4/timegm.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/timegm.m4 b/m4/timegm.m4
+index 510e25a..34e5347 100644
+--- a/m4/timegm.m4
++++ b/m4/timegm.m4
+@@ -11,7 +11,7 @@ AC_DEFUN([gl_FUNC_TIMEGM],
+ REPLACE_TIMEGM=0
+ AC_CHECK_FUNCS_ONCE([timegm])
+ if test $ac_cv_func_timegm = yes; then
+- if test $gl_cv_func_working_mktime = no; then
++ if test "$gl_cv_func_working_mktime" = no; then
+ # Assume that timegm is buggy if mktime is.
+ REPLACE_TIMEGM=1
+ fi
+--
+2.44.1
+
+
+From fa98775e2a0bc6e33de851a8bd399635b977d0e6 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Sun, 26 May 2024 13:07:25 -0400
+Subject: [PATCH 2/2] gnulib: backport fix for Modern C in round.m4
+
+https://github.com/coreutils/gnulib/commit/f12a7bbb4acaaa72f48e452e04da2a4dd749a664
+
+Fixes undefined exit() by switching it to merely return. That's the
+upstream fix, so use it although arguably one could simply #include the
+headers for functions that are used...
+---
+ m4/round.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/round.m4 b/m4/round.m4
+index 45b7df4..d4ef7f2 100644
+--- a/m4/round.m4
++++ b/m4/round.m4
+@@ -57,7 +57,7 @@ int main()
+ * (double) (1U << ((DBL_MANT_DIG + 3) / 5))
+ * (double) (1U << ((DBL_MANT_DIG + 4) / 5));
+ volatile double x = 0.5 - 0.5 / TWO_MANT_DIG;
+- exit (x < 0.5 && round (x) != 0.0);
++ return (x < 0.5 && round (x) != 0.0);
+ }]])], [gl_cv_func_round_works=yes], [gl_cv_func_round_works=no],
+ [case "$host_os" in
+ netbsd* | aix*) gl_cv_func_round_works="guessing no";;
+--
+2.44.1
+
diff --git a/dev-scheme/guile/guile-2.2.7-r2.ebuild b/dev-scheme/guile/guile-2.2.7-r2.ebuild
new file mode 100644
index 000000000000..8b20939f47e3
--- /dev/null
+++ b/dev-scheme/guile/guile-2.2.7-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MAJOR="2.2"
+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="12/2.2-1" # libguile-2.2.so.1 => 2.2-1
+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:="
+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"
+ # Modern C bug in round.m4
+ # /bin/sh bug in timegm.m4
+ "${FILESDIR}"/${PN}-2.2.7-fix-buggy-gnulib.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_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # see bug #676468
+ mv prebuilt/32-bit-big-endian{,.broken} || die
+
+ econf \
+ --disable-error-on-warning \
+ --disable-rpath \
+ --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
+
+ # necessary for registering slib, see bug 206896
+ keepdir /usr/share/guile/site
+
+ find "${D}" -name '*.la' -delete || die
+}