about summary refs log tree commit diff
path: root/pkgs/development/interpreters/pure
diff options
context:
space:
mode:
authorKarn Kallio <tierpluspluslists@gmail.com>2013-10-09 21:23:37 +0200
committerVladimír Čunát <vcunat@gmail.com>2013-10-09 21:23:37 +0200
commit32ebe90fa1deb61be1193bc5ad4b23805d2743e6 (patch)
treec161caf00d9951ca3c1f8b6d9c0ad1de73ac3d15 /pkgs/development/interpreters/pure
parentf7a1c8c2f52970989ac70bcd520d502b981da021 (diff)
pure: fix build with llvm 3.3
Diffstat (limited to 'pkgs/development/interpreters/pure')
-rw-r--r--pkgs/development/interpreters/pure/default.nix14
-rw-r--r--pkgs/development/interpreters/pure/new-gcc.patch62
2 files changed, 7 insertions, 69 deletions
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 83a1c0ac5009d..84ae789150dab 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , llvm, gmp, mpfr, readline, bison, flex
+  , llvm, gmp, mpfr, readline, bison, flex, makeWrapper
   , ...}:
 builderDefsPackage
 (a :  
@@ -12,11 +12,11 @@ let
   sourceInfo = rec {
     baseName="pure";
     project="pure-lang";
-    version="0.56";
+    version="0.58";
     name="${baseName}-${version}";
     extension="tar.gz";
-    url="http://${project}.googlecode.com/files/${name}.${extension}";
-    hash="1ll29j31lp7ymp1kq57328q8md7pkp8jmwsadp67j4cdlzc3zdhj";
+    url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
+    hash="180ygv8nmfy8v4696km8jdahn5cnr454sc8i1av7s6z4ss7mrxmi";
   };
 in
 rec {
@@ -29,9 +29,9 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
+  phaseNames = ["doConfigure" "doMakeInstall" "doWrap"];
 
-  patches = [ ./new-gcc.patch ];
+  doWrap = a.makeManyWrappers ''$out/bin/pure'' ''--prefix LD_LIBRARY_PATH : "${llvm}/lib"'';
 
   meta = {
     description = "A purely functional programming language based on term rewriting";
@@ -45,7 +45,7 @@ rec {
   };
   passthru = {
     updateInfo = {
-      downloadPage = "http://code.google.com/p/pure-lang/downloads/list";
+      downloadPage = "https://bitbucket.org/purelang/pure-lang/downloads";
     };
   };
 }) x
diff --git a/pkgs/development/interpreters/pure/new-gcc.patch b/pkgs/development/interpreters/pure/new-gcc.patch
deleted file mode 100644
index ea2cd8450591a..0000000000000
--- a/pkgs/development/interpreters/pure/new-gcc.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-diff --git a/runtime.cc b/runtime.cc
-index 04cbc40..54a0b43 100644
---- a/runtime.cc
-+++ b/runtime.cc
-@@ -13121,39 +13121,6 @@ unsigned int sleep(unsigned int secs)
- }
- #endif
- 
--/* Horrible kludge to get round, trunc and the inverse hyperbolic functions
--   from libmingwex.a (these are in C99, but not in the Windows system
--   libraries, and LLVM doesn't know how to get them either). */
--
--extern "C"
--double __round(double x)
--{
--  return round(x);
--}
--
--extern "C"
--double __trunc(double x)
--{
--  return trunc(x);
--}
--
--extern "C"
--double __asinh(double x)
--{
--  return asinh(x);
--}
--
--extern "C"
--double __acosh(double x)
--{
--  return acosh(x);
--}
--
--extern "C"
--double __atanh(double x)
--{
--  return atanh(x);
--}
- 
- /* File type bits. */
- 
-diff --git a/util.hh b/util.hh
-index ae95b79..eab3330 100644
---- a/util.hh
-+++ b/util.hh
-@@ -58,13 +58,6 @@ char *default_encoding();
- double my_strtod(const char  *nptr, char **endptr);
- char *my_formatd(char *buffer, const char  *format, double d);
- 
--/* Windows doesn't have strptime, so we provide a suitable replacement from
--   GNU libc (see strptime.c). */
--
--#ifndef HAVE_STRPTIME
--extern "C"
--char *strptime(const char *s, const char *format, struct tm *tm);
--#endif
- 
- /* Windows doesn't have mkstemp, so we provide a suitable replacement. */
-