The attached patch gets the pure
interpreter to build with llvm 3.3 by
advancing to the latest release pure
version 0.58.
>From 888d9ae5a35d1121e0f2d9e03e3d20b001b79635 Mon Sep 17 00:00:00 2001
From: Karn Kallio <[email protected]>
Date: Wed, 9 Oct 2013 14:39:19 -0430
Subject: [PATCH] pure: advance to version 0.58; fix build with llvm version
3.3.
---
pkgs/development/interpreters/pure/default.nix | 14 +++---
pkgs/development/interpreters/pure/new-gcc.patch | 62 ------------------------
2 files changed, 7 insertions(+), 69 deletions(-)
delete mode 100644 pkgs/development/interpreters/pure/new-gcc.patch
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 83a1c0a..84ae789 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 ea2cd84..0000000
--- 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. */
-
--
1.8.4
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev