Added guile-2.0.14-r5.
This commit is contained in:
parent
09c3502e7d
commit
189d57461a
8
dev-scheme/guile/Manifest
Normal file
8
dev-scheme/guile/Manifest
Normal file
|
@ -0,0 +1,8 @@
|
|||
AUX 50guile-gentoo.el 38 BLAKE2B e96c6cf48d1522d89450e11d339c76210c672377208b56951791b83c6ef22b2c872d313084e199dd5d7b533a99106a87dbc7f15b5ee6126f71bf5f2e84165ffa SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5
|
||||
AUX guile-2-snarf.patch 1274 BLAKE2B e9efdd1e14560579131ecff748add4f97de730678e6f766681be72f95bf99ab36edd8bc7279701084d13f3fa762968af814760bcf9b8778c73c956c282bb3c93 SHA512 49d015b08d0bcf5d27aa43d4a595b2ccb4366dffe0f5d159162c8c7747fb9fdbe84056a737f3c81a6e39281d91109bfa4aa98c85dd0e757c17ab668a1dd46f24
|
||||
AUX guile-2.0.14-configure-clang16.patch 2083 BLAKE2B db51de35520459eef3b66102a77afbcc492f2762e5629c5c63239dff9169f51104dbbadbedccfbdb3c83b051bd80ec82807f7a4e0ba1d43cc4c292b6a5d3ecc6 SHA512 40b1f6c4f2a04da26ceb0ffb6d016476b673d142ce465895c4fc241b24cb4dc0f3b0e759d51817f9cad27cea7c9cb56dc38507312f28af27daed6f362c70bb4c
|
||||
AUX guile-2.0.14-darwin.patch 1026 BLAKE2B 9193732cfb74931f7bf8e9b55c5c9dd2621ef6271c8d18190e0ed94d90decde85272f271bbbe7d3c4dd0dd509e51fae3f7f0af42872a0b9ebb87396c9e69a9d2 SHA512 151d19f171656105d87336f81dd8c34273d07a3e88aa03ac5ca8d640c79ab317a90ef06097858bf627e4666fba747faea45237c73e7bc6462d19d8f0d1904d53
|
||||
AUX guile-2.0.14-ia64-fix-crash-thread-context-switch.patch 2426 BLAKE2B 5b2073a3780794e9466d8e5434ab98a91a821408ab792abbfaf61d09c95e113b99746b0da850115b4534bda00b1313cef5bb9b08c90c8bf9a04c81b1eb78faa3 SHA512 082f98ac4ee2f40dd3762006bf5c43022088b2286c9a8d63ae9e234d3c8527f3afcfba8076e0c8578e7fbed257294db6ce1a4513661b89f821579dc121d449ae
|
||||
DIST guile-2.0.14.tar.xz 4615196 BLAKE2B 97e26635c941309b713b632371bc9df7361d3d7d524af3d2c67275f3151dc9c51bd774155bd3c1caf6950d4e839afe8b019f553b5a7223c447bb19c8a97d608c SHA512 2cad60ab8aa77be44bc4988eaa3a2f0652637f315322abd6011c18f1800c3a461eefa15a14fd54d0d48031b093bc56dfc6cd15dc0a8260b97b40521bff793db6
|
||||
EBUILD guile-2.0.14-r5.ebuild 2403 BLAKE2B 2c6cd345ea0f7402724ddcd4b74df9ea26d3ccde3e01eb9d2f56ae314fdf2bd7fff9551aab9b00cd9ec2b19c99356d556476782c3c1e60f0fd448e88d93737fe SHA512 b4e3337089b4096480733fab0e877ff5a77a8d1c13bcf20c3321d1925b2701e18cc07d0fdd45407361b0cc3c16a4e7b5d27d220577c36330a329d77bae0a2921
|
||||
MISC metadata.xml 1137 BLAKE2B a7804962f0827541dd7e1d10d962700f32734d5dd4f04688c1f07838109ecf68f68d3601f86786a893c6c68c1f8d5144e254d4c82fcad53f6edc12bba9f6cc51 SHA512 5bb0ed15c972f967899c24e290550fb10bb830222dce3890413d9978870d0f00942ebfec738372418958ee99048017ebd25e8fc4c6d175027eef1448bc12384a
|
1
dev-scheme/guile/files/50guile-gentoo.el
Normal file
1
dev-scheme/guile/files/50guile-gentoo.el
Normal file
|
@ -0,0 +1 @@
|
|||
(add-to-list 'load-path "@SITELISP@")
|
47
dev-scheme/guile/files/guile-2-snarf.patch
Normal file
47
dev-scheme/guile/files/guile-2-snarf.patch
Normal file
|
@ -0,0 +1,47 @@
|
|||
From f775ab3654357fcaad294b95efb0b1c16de1eda8 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Sun, 19 Feb 2017 22:58:40 +0000
|
||||
Subject: guile-snarf: skip -g* arguments to avoid build failure
|
||||
|
||||
* libguile/guile-snarf.in: skip -g* arguments to avoid failure on
|
||||
-ggdb3.
|
||||
|
||||
Bug: https://bugs.gentoo.org/608190
|
||||
Bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25803
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
---
|
||||
libguile/guile-snarf.in | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libguile/guile-snarf.in b/libguile/guile-snarf.in
|
||||
index 47bbc04..22dc1d3 100644
|
||||
--- a/libguile/guile-snarf.in
|
||||
+++ b/libguile/guile-snarf.in
|
||||
@@ -95,10 +95,22 @@ if [ x"$CPP" = x ] ; then cpp="@CPP@" ; else cpp="$CPP" ; fi
|
||||
|
||||
trap "rm -rf $tempdir" 0 1 2 15
|
||||
|
||||
+# filter out -g* flags from commandline
|
||||
+# as some flags like -ggdb3 cause CPP
|
||||
+
|
||||
+cpp_args=""
|
||||
+for arg in "$@"
|
||||
+do
|
||||
+ case "$arg" in
|
||||
+ -g*) ;; # skip debug flag
|
||||
+ *) cpp_args="$cpp_args $arg" ;;
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
if [ ! "$outfile" = "-" ] ; then
|
||||
- modern_snarf "$@" > $outfile
|
||||
+ modern_snarf $cpp_args > $outfile
|
||||
else
|
||||
- modern_snarf "$@"
|
||||
+ modern_snarf $cpp_args
|
||||
fi
|
||||
|
||||
# zonk outfile if errors occurred
|
||||
--
|
||||
cgit v1.0-41-gc330
|
||||
|
71
dev-scheme/guile/files/guile-2.0.14-configure-clang16.patch
Normal file
71
dev-scheme/guile/files/guile-2.0.14-configure-clang16.patch
Normal file
|
@ -0,0 +1,71 @@
|
|||
https://src.fedoraproject.org/rpms/guile/c/7fcab121be7d2bc8e3e48d0da476127b86cec90c?branch=rawhide
|
||||
|
||||
These issues have already been fixed upstream via gnulib imports:
|
||||
|
||||
commit 7e641595cd9b45ce7339e21c20a8ab81af9278f6
|
||||
Author: Andy Wingo <wingo@pobox.com>
|
||||
Date: Wed Feb 15 21:41:24 2017 +0100
|
||||
|
||||
Update Gnulib to v0.1-1157-gb03f418.
|
||||
|
||||
commit a91b95cca2d397c84f8b9bbd602d40209a7092ce
|
||||
Author: Andy Wingo <wingo@pobox.com>
|
||||
Date: Wed Jan 20 21:52:54 2021 +0100
|
||||
|
||||
Update Gnulib to v0.1-4379-g2ef5a9b4b
|
||||
|
||||
Also bump required autoconf version to 2.64, as required by Gnulib.
|
||||
|
||||
--- a/m4/link.m4
|
||||
+++ b/m4/link.m4
|
||||
@@ -22,6 +22,7 @@ AC_DEFUN([gl_FUNC_LINK],
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <unistd.h>
|
||||
+ #include <stdio.h>
|
||||
]],
|
||||
[[int result = 0;
|
||||
if (!link ("conftest.a", "conftest.b/"))
|
||||
--- 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";;
|
||||
|
||||
|
||||
Avoid implicit ints in the guile_cv_localtime_cache check. It cause
|
||||
the check to always fail with strict(er) C99 compilers that do not
|
||||
support implicit int.
|
||||
|
||||
Submitted upstream:
|
||||
|
||||
<https://lists.gnu.org/archive/html/bug-guile/2022-12/msg00017.html>
|
||||
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60022>
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1086,7 +1086,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <time.h>
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
extern char **environ;
|
||||
-unset_TZ ()
|
||||
+int unset_TZ ()
|
||||
{
|
||||
char **from, **to;
|
||||
for (to = from = environ; (*to = *from); from++)
|
||||
@@ -1095,7 +1095,7 @@ unset_TZ ()
|
||||
}
|
||||
char TZ_GMT0[] = "TZ=GMT0";
|
||||
char TZ_PST8[] = "TZ=PST8";
|
||||
-main()
|
||||
+int main()
|
||||
{
|
||||
time_t now = time ((time_t *) 0);
|
||||
int hour_GMT0, hour_unset;
|
||||
|
38
dev-scheme/guile/files/guile-2.0.14-darwin.patch
Normal file
38
dev-scheme/guile/files/guile-2.0.14-darwin.patch
Normal file
|
@ -0,0 +1,38 @@
|
|||
fix compilation on Darwin
|
||||
|
||||
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24862#23
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=612338
|
||||
|
||||
--- guile-2.0.14/libguile/filesys.c
|
||||
+++ guile-2.0.14/libguile/filesys.c
|
||||
@@ -1486,6 +1486,9 @@
|
||||
mode_bits = scm_i_mode_bits (mode);
|
||||
}
|
||||
|
||||
+#ifdef __APPLE__
|
||||
+ open_flags &= O_APPEND|O_SHLOCK|O_EXLOCK|O_CLOEXEC;
|
||||
+#endif
|
||||
SCM_SYSCALL (rv = mkostemp (c_tmpl, open_flags));
|
||||
if (rv == -1)
|
||||
SCM_SYSERROR;
|
||||
--- guile-2.0.14/libguile/stime.c
|
||||
+++ guile-2.0.14/libguile/stime.c
|
||||
@@ -830,6 +830,10 @@
|
||||
|
||||
#ifdef HAVE_POSIX_CPUTIME
|
||||
{
|
||||
+#ifdef __APPLE__
|
||||
+ if (clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &posix_run_time_base) == 0)
|
||||
+ get_internal_run_time = get_internal_run_time_posix_timer;
|
||||
+#else
|
||||
clockid_t dummy;
|
||||
|
||||
/* Only use the _POSIX_CPUTIME clock if it's going to work across
|
||||
@@ -839,6 +843,7 @@
|
||||
get_internal_run_time = get_internal_run_time_posix_timer;
|
||||
else
|
||||
errno = 0;
|
||||
+#endif
|
||||
}
|
||||
#endif /* HAVE_POSIX_CPUTIME */
|
||||
#endif /* HAVE_CLOCKTIME */
|
|
@ -0,0 +1,63 @@
|
|||
From f92888853439a8ded221f3423865c78de2a96a14 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Sun, 5 Nov 2017 09:30:45 +0000
|
||||
Subject: ia64: Fix crash in thread context switch.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes <https://bugs.gnu.org/29151> and <https://bugs.gentoo.org/613986>.
|
||||
|
||||
Backtrace looks like that:
|
||||
|
||||
Program terminated with signal SIGSEGV, Segmentation fault.
|
||||
#0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372
|
||||
372 t->pending_rbs_continuation->backing_store,
|
||||
[Current thread is 1 (Thread 0x2000000000049340 (LWP 8190))]
|
||||
(gdb) bt
|
||||
#0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372
|
||||
#1 0x2000000000148e00 in scm_c_abort (vm=0x60000000000edea0, tag=0x6000000000795ba0, n=0, argv=0x60000fffff7f0ce0, cookie=-1) at control.c:239
|
||||
#2 0x2000000000149070 in scm_at_abort (tag=0x6000000000795ba0, args=0x304) at control.c:258
|
||||
(gdb) print t
|
||||
$2 = (scm_i_thread *) 0x6000000000068000
|
||||
(gdb) print t->pending_rbs_continuation
|
||||
$3 = (scm_t_contregs *) 0xffeb
|
||||
|
||||
The problem here is the value of 't->pending_rbs_continuation' pointer.
|
||||
It's supposed to poin to a register stack pointer or be NULL if not yet
|
||||
backed up.
|
||||
|
||||
The problem is it is never initialized to NULL at creation time and
|
||||
contained garbage on stack. Sometimes people are lucky and have zeros
|
||||
on stack and guile works. But sometimes there is something and guile
|
||||
crashes.
|
||||
|
||||
The fix is trivial: initialize 'pending_rbs_continuation = NULL'
|
||||
at thread registration time (the same way other threads are registered).
|
||||
|
||||
Reported-by: Matt Turner
|
||||
|
||||
* libguile/threads.c (guilify_self_1): Initialize pending_rbs_continuation
|
||||
to avoid crash on ia64.
|
||||
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
||||
---
|
||||
libguile/threads.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libguile/threads.c b/libguile/threads.c
|
||||
index 9ceb5b8..770f62c 100644
|
||||
--- a/libguile/threads.c
|
||||
+++ b/libguile/threads.c
|
||||
@@ -395,6 +395,7 @@ guilify_self_1 (struct GC_stack_base *base, int needs_unregister)
|
||||
t.base = base->mem_base;
|
||||
#ifdef __ia64__
|
||||
t.register_backing_store_base = base->reg_base;
|
||||
+ t.pending_rbs_continuation = 0;
|
||||
#endif
|
||||
t.continuation_root = SCM_EOL;
|
||||
t.continuation_base = t.base;
|
||||
--
|
||||
cgit v1.0-41-gc330
|
||||
|
92
dev-scheme/guile/guile-2.0.14-r5.ebuild
Normal file
92
dev-scheme/guile/guile-2.0.14-r5.ebuild
Normal file
|
@ -0,0 +1,92 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit flag-o-matic autotools
|
||||
|
||||
DESCRIPTION="GNU Ubiquitous Intelligent Language for Extensions"
|
||||
HOMEPAGE="https://www.gnu.org/software/guile/"
|
||||
SRC_URI="mirror://gnu/guile/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
LICENSE="LGPL-3+"
|
||||
IUSE="debug debug-malloc +deprecated +networking +nls +regex +threads" # upstream recommended +networking +nls
|
||||
# emacs useflag removal not working
|
||||
|
||||
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-devel/libtool
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:0=
|
||||
virtual/libcrypt:="
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
sys-apps/texinfo
|
||||
sys-devel/gettext"
|
||||
|
||||
SLOT="12/22" # subslot is soname version
|
||||
MAJOR="2.0"
|
||||
|
||||
# guile generates ELF files without use of C or machine code
|
||||
# It's a false positive. bug #677600
|
||||
QA_PREBUILT='*[.]go'
|
||||
|
||||
DOCS=( GUILE-VERSION HACKING README )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2-snarf.patch"
|
||||
"${FILESDIR}/${P}-darwin.patch"
|
||||
"${FILESDIR}/${P}-ia64-fix-crash-thread-context-switch.patch"
|
||||
"${FILESDIR}/${P}-configure-clang16.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# see bug #178499
|
||||
filter-flags -ftree-vectorize
|
||||
|
||||
econf \
|
||||
--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
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
|
||||
# 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
|
||||
|
||||
# Dark magic necessary for some deps
|
||||
dosym libguile-2.0.so /usr/$(get_libdir)/libguile.so
|
||||
}
|
22
dev-scheme/guile/metadata.xml
Normal file
22
dev-scheme/guile/metadata.xml
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>scheme@gentoo.org</email>
|
||||
<name>Gentoo Scheme Project</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Guile is a library designed to help programmers create flexible applications. Using Guile in an application allows programmers to write plug-ins, or modules (there are many names, but the concept is essentially the same) and users to use them to have an application fit their needs.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="debug-freelist">Include garbage collector freelist debugging code</flag>
|
||||
<flag name="debug-malloc">Include malloc debugging code</flag>
|
||||
<flag name="deprecated">Enable deprecated features</flag>
|
||||
<flag name="discouraged"> (implied by deprecated) enable merely discouraged features</flag>
|
||||
<flag name="networking">Include networking interfaces</flag>
|
||||
<flag name="regex"> Include regular expression interfaces</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="savannah">guile</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
Loading…
Reference in a new issue