[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