pure: update and fix by patching
This commit is contained in:
parent
524d9b656e
commit
b2f8432ad3
@ -1,5 +1,5 @@
|
|||||||
x@{builderDefsPackage
|
x@{builderDefsPackage
|
||||||
, llvm, gmp, mpfr, readline
|
, llvm, gmp, mpfr, readline, bison, flex
|
||||||
, ...}:
|
, ...}:
|
||||||
builderDefsPackage
|
builderDefsPackage
|
||||||
(a :
|
(a :
|
||||||
@ -12,11 +12,11 @@ let
|
|||||||
sourceInfo = rec {
|
sourceInfo = rec {
|
||||||
baseName="pure";
|
baseName="pure";
|
||||||
project="pure-lang";
|
project="pure-lang";
|
||||||
version="0.49";
|
version="0.56";
|
||||||
name="${baseName}-${version}";
|
name="${baseName}-${version}";
|
||||||
extension="tar.gz";
|
extension="tar.gz";
|
||||||
url="http://${project}.googlecode.com/files/${name}.${extension}";
|
url="http://${project}.googlecode.com/files/${name}.${extension}";
|
||||||
hash="0kkrcmmqks82g3qlkvs3cd23v6b5948rw3xsdadd1jidh74jg33x";
|
hash="1ll29j31lp7ymp1kq57328q8md7pkp8jmwsadp67j4cdlzc3zdhj";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
@ -29,8 +29,10 @@ rec {
|
|||||||
inherit buildInputs;
|
inherit buildInputs;
|
||||||
|
|
||||||
/* doConfigure should be removed if not needed */
|
/* doConfigure should be removed if not needed */
|
||||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
|
||||||
|
|
||||||
|
patches = [ ./new-gcc.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A purely functional programming language based on term rewriting";
|
description = "A purely functional programming language based on term rewriting";
|
||||||
maintainers = with a.lib.maintainers;
|
maintainers = with a.lib.maintainers;
|
||||||
|
62
pkgs/development/interpreters/pure/new-gcc.patch
Normal file
62
pkgs/development/interpreters/pure/new-gcc.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
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. */
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user