<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[130523] trunk/dports/lang/guile</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/130523">130523</a></dd>
<dt>Author</dt> <dd>jeremyhu@macports.org</dd>
<dt>Date</dt> <dd>2014-12-30 23:26:32 -0800 (Tue, 30 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>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.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportslangguilePortfile">trunk/dports/lang/guile/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportslangguilefilesclangi386patch">trunk/dports/lang/guile/files/clang-i386.patch</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkdportslangguilefilesendlpatch">trunk/dports/lang/guile/files/endl.patch</a></li>
<li><a href="#trunkdportslangguilefilespatchlibguilefportscdiff">trunk/dports/lang/guile/files/patch-libguile-fports.c.diff</a></li>
<li><a href="#trunkdportslangguilefilespatchnostackcheckingdiff">trunk/dports/lang/guile/files/patch-no-stack-checking.diff</a></li>
<li><a href="#trunkdportslangguilefilespatchsrfi60cdiff">trunk/dports/lang/guile/files/patch-srfi-60.c.diff</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportslangguilePortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/lang/guile/Portfile (130522 => 130523)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -6,6 +6,7 @@
</span><span class="cx"> 
</span><span class="cx"> name                guile
</span><span class="cx"> version                2.0.11
</span><ins>+revision        1
</ins><span class="cx"> categories        lang
</span><span class="cx"> maintainers        nomaintainer
</span><span class="cx"> platforms        darwin
</span><span class="lines">@@ -51,6 +52,7 @@
</span><span class="cx">                 --enable-regex                          \
</span><span class="cx">                 --disable-error-on-warning
</span><span class="cx"> 
</span><ins>+patchfiles clang-i386.patch
</ins><span class="cx"> 
</span><span class="cx"> # Unable to cross compile, so we need to be able to run the built code
</span><span class="cx"> if {${os.arch} eq &quot;i386&quot; &amp;&amp; ${os.major} &gt;= 11} {
</span></span></pre></div>
<a id="trunkdportslangguilefilesclangi386patch"></a>
<div class="addfile"><h4>Added: trunk/dports/lang/guile/files/clang-i386.patch (0 => 130523)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+From 156119b0223cf14d335ebda84701a69b2ba95757 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver &lt;mhw@netris.org&gt;
+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, &quot;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,
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkdportslangguilefilesendlpatch"></a>
<div class="delfile"><h4>Deleted: trunk/dports/lang/guile/files/endl.patch (130522 => 130523)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,54 +0,0 @@
</span><del>-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&amp;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 $&lt;
-         (./guile-snarf-docs $(snarfcppopts) $&lt; | \
-+           sed -e 's|ENDL|\
-+|g' -e '/^#/d' | \
-         ./guile_filter_doc_snarfage$(EXEEXT) --filter-snarfage) &gt; $@ || { 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 &quot;/* cpp arguments: $@ */&quot; ;
--    ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER &quot;$@&quot; &gt; ${temp} &amp;&amp; cpp_ok_p=true
-+    ${cpp} -DSCM_MAGIC_SNARF_INITS -DSCM_MAGIC_SNARFER &quot;$@&quot; | sed -e 's|ENDL|\
-+|g' &gt; ${temp} &amp;&amp; cpp_ok_p=true
-     grep &quot;^ *\^ *\^&quot; ${temp} | sed -e &quot;s/^ *\^ *\^//&quot; -e &quot;s/\^\ *:\ *\^.*/;/&quot;
- }

---- 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 */
</del></span></pre></div>
<a id="trunkdportslangguilefilespatchlibguilefportscdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/lang/guile/files/patch-libguile-fports.c.diff (130522 => 130523)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,11 +0,0 @@
</span><del>---- 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 &gt; OFF_T_MAX || rv &lt; OFF_T_MIN)
-     {
-       errno = EOVERFLOW;
</del></span></pre></div>
<a id="trunkdportslangguilefilespatchnostackcheckingdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/lang/guile/files/patch-no-stack-checking.diff (130522 => 130523)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,25 +0,0 @@
</span><del>-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, &quot;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 ();
</del></span></pre></div>
<a id="trunkdportslangguilefilespatchsrfi60cdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/lang/guile/files/patch-srfi-60.c.diff (130522 => 130523)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>---- 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, &quot;copy-bit&quot;, 3, 0, 0,
--            (SCM index, SCM n, SCM bit),
-+            (SCM index, SCM n, SCM newbit),
-             &quot;Return @var{n} with the bit at @var{index} set according to\n&quot;
-             &quot;@var{newbit}.  @var{newbit} should be @code{#t} to set the bit\n&quot;
-             &quot;to 1, or @code{#f} to set it to 0.  Bits other than at\n&quot;
-@@ -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))
-     {
</del></span></pre>
</div>
</div>

</body>
</html>