commit:     13a0978fd44908dcd1565318ecdf34b0814dcbdc
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 21 12:33:25 2017 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Wed Jun 21 12:33:36 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13a0978f

dev-scheme/guile: fix compilation on Darwin, thanks * in bug #612338

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 dev-scheme/guile/files/guile-2.0.14-darwin.patch | 38 ++++++++++++++++++++++++
 dev-scheme/guile/guile-2.0.14.ebuild             |  5 +++-
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/dev-scheme/guile/files/guile-2.0.14-darwin.patch 
b/dev-scheme/guile/files/guile-2.0.14-darwin.patch
new file mode 100644
index 00000000000..17741ae352c
--- /dev/null
+++ b/dev-scheme/guile/files/guile-2.0.14-darwin.patch
@@ -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 */

diff --git a/dev-scheme/guile/guile-2.0.14.ebuild 
b/dev-scheme/guile/guile-2.0.14.ebuild
index 78edbb0f216..6be23f4049e 100644
--- a/dev-scheme/guile/guile-2.0.14.ebuild
+++ b/dev-scheme/guile/guile-2.0.14.ebuild
@@ -32,7 +32,10 @@ MAJOR="2.0"
 
 DOCS=( GUILE-VERSION HACKING README )
 
-PATCHES=( "${FILESDIR}/${PN}-2-snarf.patch" )
+PATCHES=(
+       "${FILESDIR}/${PN}-2-snarf.patch"
+       "${FILESDIR}/${P}-darwin.patch"
+)
 
 src_prepare() {
        default

Reply via email to