[36446] users/ryandesign

ryandesign at macports.org ryandesign at macports.org
Fri May 2 03:08:04 PDT 2008


Revision: 36446
          http://trac.macosforge.org/projects/macports/changeset/36446
Author:   ryandesign at macports.org
Date:     2008-05-02 03:08:03 -0700 (Fri, 02 May 2008)

Log Message:
-----------
pure-devel: new port, using r30 from their repository since the 0.1 release wouldn't compile

Added Paths:
-----------
    users/ryandesign/pure-devel/
    users/ryandesign/pure-devel/Portfile
    users/ryandesign/pure-devel/files/
    users/ryandesign/pure-devel/files/patch-util.cc.diff

Added: users/ryandesign/pure-devel/Portfile
===================================================================
--- users/ryandesign/pure-devel/Portfile	                        (rev 0)
+++ users/ryandesign/pure-devel/Portfile	2008-05-02 10:08:03 UTC (rev 36446)
@@ -0,0 +1,67 @@
+# $Id: Portfile 36126 2008-04-19 01:33:52Z ryandesign at macports.org $
+
+PortSystem              1.0
+
+name                    pure-devel
+version                 0.1.0.r30
+categories              lang
+platforms               darwin
+maintainers             ryandesign
+use_configure           no
+universal_variant       no
+homepage                http://pure-lang.sourceforge.net/
+master_sites            sourceforge:pure-lang
+
+fetch.type              svn
+svn.url                 http://pure-lang.svn.sourceforge.net/svnroot/pure-lang/pure/trunk
+svn.tag                 [strsed ${version} {g/^.*\.r//}]
+worksrcdir              trunk
+
+description \
+    functional programming language based on term rewriting
+
+long_description \
+    Pure is a functional programming language based on term rewriting. \
+    It has a modern syntax featuring curried function applications, lexical \
+    closures and equational definitions with pattern matching, and thus is \
+    somewhat similar to languages of the Haskell and ML variety. But Pure is \
+    also a very dynamic and reflective language, and is more like Lisp in \
+    this respect. The interpreter has an LLVM backend to do JIT compilation, \
+    hence programs run blazingly fast and interfacing to C modules is easy.
+
+# svn, bison and flex won't be needed for released tarballs
+# svn is really a fetch dependency, but there isn't a depends_fetch
+depends_build \
+    bin:svn:subversion \
+    port:bison \
+    port:flex
+
+depends_lib \
+    port:gmp \
+    port:libiconv \
+    port:libtool \
+    port:llvm \
+    port:readline
+
+patchfiles \
+    patch-util.cc.diff
+
+build.args \
+    prefix=${prefix} \
+    build=release
+
+build.env \
+    LIBS=-liconv
+
+destroot.args \
+    prefix=${prefix}
+
+variant debug description {Build non-optimized (builds quicker; runs slower)} {
+    build.args-delete build=release
+}
+
+test.run                yes
+test.target             check
+
+livecheck.version       [strsed ${version} {g/\.0\.r.*$//}]
+livecheck.regex         <title>pure (.*) released.*</title>

Added: users/ryandesign/pure-devel/files/patch-util.cc.diff
===================================================================
--- users/ryandesign/pure-devel/files/patch-util.cc.diff	                        (rev 0)
+++ users/ryandesign/pure-devel/files/patch-util.cc.diff	2008-05-02 10:08:03 UTC (rev 36446)
@@ -0,0 +1,31 @@
+Index: util.cc
+===================================================================
+--- util.cc	(revision 29)
++++ util.cc	(working copy)
+@@ -455,7 +455,7 @@
+     char *inbuf = (char*)s, *outbuf = t; // const char* -> char*. Ugh.
+     size_t inbytes = l, outbytes = l;
+ 
+-    while (iconv(ic, &inbuf, &inbytes, &outbuf, &outbytes) ==
++    while (iconv(ic, (const char**)&inbuf, &inbytes, &outbuf, &outbytes) ==
+ 	   (size_t)-1)
+       if (errno == E2BIG) {
+ 	/* try to enlarge the output buffer */
+@@ -508,7 +508,7 @@
+     char *inbuf = (char*)s, *outbuf = t; // const char* -> char*. Ugh.
+     size_t inbytes = l, outbytes = l;
+ 
+-    while (iconv(ic, &inbuf, &inbytes, &outbuf, &outbytes) ==
++    while (iconv(ic, (const char**)&inbuf, &inbytes, &outbuf, &outbytes) ==
+ 	   (size_t)-1)
+       if (errno == E2BIG) {
+ 	/* try to enlarge the output buffer */
+@@ -580,7 +580,7 @@
+     char *inbuf = s; wchar_t *outbuf = t;
+     size_t inbytes = l, outbytes = l*sizeof(wchar_t);
+ 
+-    if (iconv(myic[1], &inbuf, &inbytes, (char**)&outbuf, &outbytes) ==
++    if (iconv(myic[1], (const char**)&inbuf, &inbytes, (char**)&outbuf, &outbytes) ==
+ 	(size_t)-1)
+       return NULL;
+     /* terminate the output string */

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080502/537e385f/attachment.html


More information about the macports-changes mailing list