[130523] trunk/dports/lang/guile

jeremyhu at macports.org jeremyhu at macports.org
Tue Dec 30 23:26:32 PST 2014


Revision: 130523
          https://trac.macports.org/changeset/130523
Author:   jeremyhu at macports.org
Date:     2014-12-30 23:26:32 -0800 (Tue, 30 Dec 2014)
Log Message:
-----------
guile: Fix i386 build

+universal still fails becasue of comparison issues, but this at least gets
i386-only working for anyone still on such a config.

Modified Paths:
--------------
    trunk/dports/lang/guile/Portfile

Added Paths:
-----------
    trunk/dports/lang/guile/files/clang-i386.patch

Removed Paths:
-------------
    trunk/dports/lang/guile/files/endl.patch
    trunk/dports/lang/guile/files/patch-libguile-fports.c.diff
    trunk/dports/lang/guile/files/patch-no-stack-checking.diff
    trunk/dports/lang/guile/files/patch-srfi-60.c.diff

Modified: trunk/dports/lang/guile/Portfile
===================================================================
--- trunk/dports/lang/guile/Portfile	2014-12-31 05:45:29 UTC (rev 130522)
+++ trunk/dports/lang/guile/Portfile	2014-12-31 07:26:32 UTC (rev 130523)
@@ -6,6 +6,7 @@
 
 name		guile
 version		2.0.11
+revision        1
 categories	lang
 maintainers	nomaintainer
 platforms	darwin
@@ -51,6 +52,7 @@
 		--enable-regex                          \
 		--disable-error-on-warning
 
+patchfiles clang-i386.patch
 
 # Unable to cross compile, so we need to be able to run the built code
 if {${os.arch} eq "i386" && ${os.major} >= 11} {

Added: trunk/dports/lang/guile/files/clang-i386.patch
===================================================================
--- trunk/dports/lang/guile/files/clang-i386.patch	                        (rev 0)
+++ trunk/dports/lang/guile/files/clang-i386.patch	2014-12-31 07:26:32 UTC (rev 130523)
@@ -0,0 +1,62 @@
+From 156119b0223cf14d335ebda84701a69b2ba95757 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver <mhw at netris.org>
+Date: Sat, 20 Sep 2014 03:49:46 -0400
+Subject: [PATCH] Do not assume that 64-bit integers will be 64-bit aligned.
+
+* libguile/foreign.c (raw_bytecode, objcode_cells):
+* libguile/gsubr.c (raw_bytecode, objcode_cells): Use SCM_ALIGNED to
+  ensure 64-bit alignment.
+
+--- libguile/foreign.c.orig	2014-01-21 21:20:53 UTC
++++ libguile/foreign.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2010, 2011, 2012, 2013  Free Software Foundation, Inc.
++/* Copyright (C) 2010-2014  Free Software Foundation, Inc.
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public License
+@@ -814,7 +814,7 @@ SCM_DEFINE (scm_pointer_to_procedure, "p
+ 
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* ensure 8-byte alignment; perhaps there's a better way */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   const scm_t_uint8 bytes[10 * (sizeof (struct scm_objcode) + 8
+                                 + sizeof (struct scm_objcode) + 32)];
+ } raw_bytecode = {
+@@ -867,7 +867,7 @@ make_objcode_trampoline (unsigned int na
+ 
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* alignment */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   scm_t_cell cells[10 * 2]; /* 10 double cells */
+ } objcode_cells = {
+   0,
+--- libguile/gsubr.c.orig	2012-07-02 09:28:13 UTC
++++ libguile/gsubr.c
+@@ -1,4 +1,5 @@
+-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
++/* Copyright (C) 1995-2001, 2006, 2008-2011,
++ *   2014 Free Software Foundation, Inc.
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public License
+@@ -213,7 +214,7 @@
+ */
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* ensure 8-byte alignment; perhaps there's a better way */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   const scm_t_uint8 bytes[121 * (sizeof (struct scm_objcode) + 16
+                                  + sizeof (struct scm_objcode) + 32)];
+ } raw_bytecode = {
+@@ -317,7 +318,7 @@ static const struct
+ 
+ static const struct
+ {
+-  scm_t_uint64 dummy; /* alignment */
++  SCM_ALIGNED (8) scm_t_uint64 dummy; /* alignment */
+   scm_t_cell cells[121 * 2]; /* 11*11 double cells */
+ } objcode_cells = {
+   0,
\ No newline at end of file

Deleted: trunk/dports/lang/guile/files/endl.patch
===================================================================
--- trunk/dports/lang/guile/files/endl.patch	2014-12-31 05:45:29 UTC (rev 130522)
+++ trunk/dports/lang/guile/files/endl.patch	2014-12-31 07:26:32 UTC (rev 130523)
@@ -1,54 +0,0 @@
-https://www.mail-archive.com/fink-users@lists.sourceforge.net/msg39760.html
-http://fink.cvs.sourceforge.net/viewvc/fink/dists/10.7/stable/main/finkinfo/languages/guile18.patch?r1=1.2&r2=1.4
-
---- libguile/Makefile.in~	2010-12-13 20:29:39.000000000 +0100
-+++ libguile/Makefile.in	2014-04-02 10:29:34.000000000 +0200
-@@ -2158,6 +2158,8 @@
- .c.doc:
- 	-$(AWK) -f ./guile-func-name-check $<
- 	(./guile-snarf-docs $(snarfcppopts) $< | \
-+	   sed -e 's|ENDL|\
-+|g' -e '/^#/d' | \
- 	./guile_filter_doc_snarfage$(EXEEXT) --filter-snarfage) > $@ || { rm $@; false; }
- 
- $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h guile-snarf.in
---- libguile/guile-snarf.in~	2010-12-13 18:24:40.000000000 +0100
-+++ libguile/guile-snarf.in	2014-04-02 09:17:20.000000000 +0200
-@@ -50,7 +50,8 @@
-     ## Apparently, AIX's preprocessor is unhappy if you try to #include an
-     ## empty file.
-     echo "/* cpp arguments: $@ */" ;
--    ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" > ${temp} && cpp_ok_p=true
-+    ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER "$@" | sed -e 's|ENDL|\
-+|g' > ${temp} && cpp_ok_p=true
-     grep "^ *\^ *\^" ${temp} | sed -e "s/^ *\^ *\^//" -e "s/\^\ *:\ *\^.*/;/"
- }
- 
---- libguile/snarf.h~	2010-12-13 18:24:40.000000000 +0100
-+++ libguile/snarf.h	2014-04-01 14:46:36.000000000 +0200
-@@ -51,14 +51,14 @@
- 
- #ifdef SCM_MAGIC_SNARF_INITS
- # define SCM_SNARF_HERE(X)
--# define SCM_SNARF_INIT(X) ^^ X ^:^
-+# define SCM_SNARF_INIT(x) ENDL^^ x ^:^
- # define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING)
- #else
- # ifdef SCM_MAGIC_SNARF_DOCS
- #  define SCM_SNARF_HERE(X)
- #  define SCM_SNARF_INIT(X)
- #  define SCM_SNARF_DOCS(TYPE, CNAME, FNAME, ARGLIST, REQ, OPT, VAR, DOCSTRING) \
--^^ { \
-+ENDL^^ { \
- cname CNAME ^^ \
- fname FNAME ^^ \
- type TYPE ^^ \
-@@ -272,7 +272,7 @@
- 
- #ifdef SCM_MAGIC_SNARF_DOCS
- #undef SCM_ASSERT
--#define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^ argpos _arg _pos __LINE__ ^^
-+#define SCM_ASSERT(_cond, _arg, _pos, _subr) ENDL^^ argpos _arg _pos __LINE__ ^^
- #endif /* SCM_MAGIC_SNARF_DOCS */
- 
- #endif  /* SCM_SNARF_H */

Deleted: trunk/dports/lang/guile/files/patch-libguile-fports.c.diff
===================================================================
--- trunk/dports/lang/guile/files/patch-libguile-fports.c.diff	2014-12-31 05:45:29 UTC (rev 130522)
+++ trunk/dports/lang/guile/files/patch-libguile-fports.c.diff	2014-12-31 07:26:32 UTC (rev 130523)
@@ -1,11 +0,0 @@
---- libguile/fports.c~	2007-05-09 16:22:03.000000000 -0400
-+++ libguile/fports.c	2007-12-17 20:09:21.000000000 -0500
-@@ -674,7 +674,7 @@
- static off_t
- fport_seek (SCM port, off_t offset, int whence)
- {
--  off64_t rv = fport_seek_or_seek64 (port, (off64_t) offset, whence);
-+  off_t_or_off64_t rv = fport_seek_or_seek64 (port, (off_t_or_off64_t) offset, whence);
-   if (rv > OFF_T_MAX || rv < OFF_T_MIN)
-     {
-       errno = EOVERFLOW;

Deleted: trunk/dports/lang/guile/files/patch-no-stack-checking.diff
===================================================================
--- trunk/dports/lang/guile/files/patch-no-stack-checking.diff	2014-12-31 05:45:29 UTC (rev 130522)
+++ trunk/dports/lang/guile/files/patch-no-stack-checking.diff	2014-12-31 07:26:32 UTC (rev 130523)
@@ -1,25 +0,0 @@
-diff -Naurp guile-1.8.8.orig/libguile/__scm.h guile-1.8.8/libguile/__scm.h
---- libguile/__scm.h	2010-12-13 09:25:01.000000000 -0800
-+++ libguile/__scm.h	2012-10-29 13:54:26.000000000 -0700
-@@ -141,7 +141,7 @@
- 
- /* Random options (not yet supported or in final form). */
- 
--#define STACK_CHECKING
-+#undef STACK_CHECKING
- #undef NO_CEVAL_STACK_CHECKING
- 
- 
-diff -Naurp guile-1.8.8.orig/libguile/debug.c guile-1.8.8/libguile/debug.c
---- libguile/debug.c	2010-12-13 09:24:39.000000000 -0800
-+++ libguile/debug.c	2012-10-29 13:55:44.000000000 -0700
-@@ -69,7 +69,9 @@ SCM_DEFINE (scm_debug_options, "debug-op
-       SCM_OUT_OF_RANGE (1, setting);
-     }
-   SCM_RESET_DEBUG_MODE;
-+#ifdef STACK_CHECKING
-   scm_stack_checking_enabled_p = SCM_STACK_CHECKING_P;
-+#endif
-   scm_debug_eframe_size = 2 * SCM_N_FRAMES;
- 
-   scm_dynwind_end ();

Deleted: trunk/dports/lang/guile/files/patch-srfi-60.c.diff
===================================================================
--- trunk/dports/lang/guile/files/patch-srfi-60.c.diff	2014-12-31 05:45:29 UTC (rev 130522)
+++ trunk/dports/lang/guile/files/patch-srfi-60.c.diff	2014-12-31 07:26:32 UTC (rev 130523)
@@ -1,20 +0,0 @@
---- srfi/srfi-60.c.orig	2009-07-03 15:19:22.000000000 -0700
-+++ srfi/srfi-60.c	2009-07-06 09:44:43.000000000 -0700
-@@ -63,7 +63,7 @@
- 
- 
- SCM_DEFINE (scm_srfi60_copy_bit, "copy-bit", 3, 0, 0,
--            (SCM index, SCM n, SCM bit),
-+            (SCM index, SCM n, SCM newbit),
- 	    "Return @var{n} with the bit at @var{index} set according to\n"
- 	    "@var{newbit}.  @var{newbit} should be @code{#t} to set the bit\n"
- 	    "to 1, or @code{#f} to set it to 0.  Bits other than at\n"
-@@ -79,7 +79,7 @@
-   int bb;
- 
-   ii = scm_to_ulong (index);
--  bb = scm_to_bool (bit);
-+  bb = scm_to_bool (newbit);
- 
-   if (SCM_I_INUMP (n))
-     {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141230/86b2fb0f/attachment.html>


More information about the macports-changes mailing list