commit:     43bcc61c56a5a7de0eaf806efec7d8c0e4c01ae7
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 19 08:45:00 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jun 19 08:45:18 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43bcc61c

sys-devel/autogen: add minimal guile-3 support

Reported-by: Cedric Sodhi
Closes: https://bugs.gentoo.org/746917
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 sys-devel/autogen/autogen-5.18.16-r1.ebuild        |  1 +
 .../autogen/files/autogen-5.18.16-guile-3.patch    | 38 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/sys-devel/autogen/autogen-5.18.16-r1.ebuild 
b/sys-devel/autogen/autogen-5.18.16-r1.ebuild
index 580f8317fbc..748c7fec6d4 100644
--- a/sys-devel/autogen/autogen-5.18.16-r1.ebuild
+++ b/sys-devel/autogen/autogen-5.18.16-r1.ebuild
@@ -24,6 +24,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-5.18.16-rpath.patch
        "${FILESDIR}"/${PN}-5.18.16-respect-TMPDIR.patch
        "${FILESDIR}"/${PN}-5.18.16-make-4.3.patch
+       "${FILESDIR}"/${PN}-5.18.16-guile-3.patch
 )
 
 src_prepare() {

diff --git a/sys-devel/autogen/files/autogen-5.18.16-guile-3.patch 
b/sys-devel/autogen/files/autogen-5.18.16-guile-3.patch
new file mode 100644
index 00000000000..2d21c4fae3e
--- /dev/null
+++ b/sys-devel/autogen/files/autogen-5.18.16-guile-3.patch
@@ -0,0 +1,38 @@
+--- a/config/guile.m4
++++ b/config/guile.m4
+@@ -61,7 +61,7 @@
+ #
+ AC_DEFUN([GUILE_PKG],
+  [PKG_PROG_PKG_CONFIG
+-  _guile_versions_to_search="m4_default([$1], [2.2 2.0 1.8])"
++  _guile_versions_to_search="m4_default([$1], [3.0 2.2 2.0 1.8])"
+   if test -n "$GUILE_EFFECTIVE_VERSION"; then
+     _guile_tmp=""
+     for v in $_guile_versions_to_search; do
+--- a/configure
++++ b/configure
+@@ -14799,7 +14799,7 @@ $as_echo "no" >&6; }
+               PKG_CONFIG=""
+       fi
+ fi
+-  _guile_versions_to_search="2.2 2.0 1.8"
++  _guile_versions_to_search="3.0 2.2 2.0 1.8"
+   if test -n "$GUILE_EFFECTIVE_VERSION"; then
+     _guile_tmp=""
+     for v in $_guile_versions_to_search; do
+--- a/agen5/guile-iface.h
++++ b/agen5/guile-iface.h
+@@ -16,6 +16,13 @@
+ # define AG_SCM_TO_LONG(_v)           scm_to_long(_v)
+ # define AG_SCM_TO_ULONG(_v)          ((unsigned long)scm_to_ulong(_v))
+ 
++#elif GUILE_VERSION < 400000
++# define AG_SCM_IS_PROC(_p)           scm_is_true( scm_procedure_p(_p))
++# define AG_SCM_LIST_P(_l)            scm_is_true( scm_list_p(_l))
++# define AG_SCM_PAIR_P(_p)            scm_is_true( scm_pair_p(_p))
++# define AG_SCM_TO_LONG(_v)           scm_to_long(_v)
++# define AG_SCM_TO_ULONG(_v)          ((unsigned long)scm_to_ulong(_v))
++
+ #else
+ # error unknown GUILE_VERSION
+   choke me.

Reply via email to