Revision: 130523 https://trac.macports.org/changeset/130523 Author: jeremyhu@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@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/... - ---- 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)) - {
participants (1)
-
jeremyhu@macports.org