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