[89936] trunk/dports/lang/chicken

jmr at macports.org jmr at macports.org
Wed Feb 15 19:25:23 PST 2012


Revision: 89936
          http://trac.macports.org/changeset/89936
Author:   jmr at macports.org
Date:     2012-02-15 19:25:23 -0800 (Wed, 15 Feb 2012)
Log Message:
-----------
chicken: use full path to library with dlopen (#28617)

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

Added Paths:
-----------
    trunk/dports/lang/chicken/files/eval.c.patch

Modified: trunk/dports/lang/chicken/Portfile
===================================================================
--- trunk/dports/lang/chicken/Portfile	2012-02-16 00:30:38 UTC (rev 89935)
+++ trunk/dports/lang/chicken/Portfile	2012-02-16 03:25:23 UTC (rev 89936)
@@ -2,8 +2,10 @@
 # $Id$
 
 PortSystem 1.0
+
 name		chicken
 version		4.7.0
+revision	1
 categories	lang scheme
 license         BSD public-domain
 maintainers	gmail.com:arto.bendiken waqar gmail.com:ivan.g.raikov
@@ -21,8 +23,18 @@
                     sha1    504036951eccda7680547dae63ad44e8960d3f72 \
                     rmd160  421f6e7383a666b836a7ad9d5ac342c8033bfff6
 
-patchfiles	patch-Makefile.macosx
+patchfiles	patch-Makefile.macosx \
+            eval.c.patch
 
+post-patch {
+    # use full path with dlopen (#28617)
+    # this is ugly because we can't edit the scheme source (we'd need to
+    # already have the compiler) and the generated C uses an octal length
+    # prefix for strings.
+    set len [expr [string length ${prefix}] + [string length "/lib/libchicken"]]
+    reinplace "s|031__PREFIX__|[format %03o $len]${prefix}|" ${worksrcpath}/eval.c
+}
+
 use_configure	no
 
 build.args	C_COMPILER=${configure.cc} \

Added: trunk/dports/lang/chicken/files/eval.c.patch
===================================================================
--- trunk/dports/lang/chicken/files/eval.c.patch	                        (rev 0)
+++ trunk/dports/lang/chicken/files/eval.c.patch	2012-02-16 03:25:23 UTC (rev 89936)
@@ -0,0 +1,11 @@
+--- eval.c.orig	2011-05-24 19:19:11.000000000 +1000
++++ eval.c	2012-02-16 13:48:39.000000000 +1100
+@@ -3522,7 +3522,7 @@
+ lf[214]=C_h_intern(&lf[214],26,"\003sysload-library-extension");
+ lf[215]=C_h_intern(&lf[215],6,"cygwin");
+ lf[216]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376B\000\000\014cygchicken-0\376\377\016");
+-lf[217]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376B\000\000\012libchicken\376\377\016");
++lf[217]=C_decode_literal(C_heaptop,"\376\003\000\000\002\376B\000\000\031__PREFIX__/lib/libchicken\376\377\016");
+ lf[218]=C_h_intern(&lf[218],34,"\003sysdefault-dynamic-load-libraries");
+ lf[219]=C_h_intern(&lf[219],22,"dynamic-load-libraries");
+ lf[220]=C_h_intern(&lf[220],13,"string-append");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120215/e1cb99b4/attachment-0001.html>


More information about the macports-changes mailing list