gnu: racket: Update to 7.0.

* gnu/packages/scheme.scm (racket): Update to 7.0.
[inputs]: Add libedit.
[arguments]: Update the list of FFI library references to patch.
[source]: Remove 'racket-fix-xform-issue.patch'.
* gnu/packages/patches/racket-store-checksum-override.patch: Adjust.
* gnu/packages/patches/racket-fix-xform-issue.patch: Delete file.
* gnu/local.mk: Adjust accordingly.

Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
Konrad Hinsen 2018-08-02 16:23:11 +02:00 committed by Leo Famulari
parent 41c038078e
commit e0b49c785b
No known key found for this signature in database
GPG key ID: 2646FA30BACA7F08
4 changed files with 34 additions and 89 deletions

View file

@ -1117,7 +1117,7 @@ dist_patch_DATA = \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rsem-makefile.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-fix-xform-issue.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \

View file

@ -1,63 +0,0 @@
050cdb59839896b41431791f8ee0ef2564231b8f
Author: Matthew Flatt <mflatt@racket-lang.org>
AuthorDate: Tue Mar 6 09:05:08 2018 -0700
Commit: Matthew Flatt <mflatt@racket-lang.org>
CommitDate: Tue Mar 6 09:05:08 2018 -0700
Parent: efb9a919fc ffi docs: clarification on `unsafe-socket->port`
Containing: master
Follows: v5.0.1 (21612)
xform: avoid problems with `__signbitf128`
Closes #1962 and uses the suggested patch there, among other changes.
2 files changed, 6 insertions(+), 3 deletions(-)
racket/collects/compiler/private/xform.rkt | 2 +-
racket/src/racket/src/number.c | 7 +++++--
diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt
index 28a425c057..89ae848f9c 100644
--- a/collects/compiler/private/xform.rkt
+++ b/collects/compiler/private/xform.rkt
@@ -904,7 +904,7 @@
strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp
isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl
- _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl
+ _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128
__isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128
__inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl
__builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit
diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c
index 71f42aaf3c..3bbad3ba83 100644
--- a/src/racket/src/number.c
+++ b/src/racket/src/number.c
@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r)
}
XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d)
+ XFORM_SKIP_PROC
{
#ifdef MZ_IS_NEG_ZERO
return MZ_IS_NEG_ZERO(d);
@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d)
return minus_zero_p(d);
}
-static int rational_dbl_p(double f) {
+XFORM_NONGCING static int rational_dbl_p(double f)
+ XFORM_SKIP_PROC
+{
return !(MZ_IS_NAN(f)
|| MZ_IS_INFINITY(f));
}
@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[])
return (SCHEME_REALP(o) ? scheme_true : scheme_false);
}
-static int is_rational(const Scheme_Object *o)
+XFORM_NONGCING static int is_rational(const Scheme_Object *o)
{
if (SCHEME_FLOATP(o))
return rational_dbl_p(SCHEME_FLOAT_VAL(o));

View file

@ -7,19 +7,23 @@ because the store is immutable. This patch makes Racket ignore
checksums for files in the store.
See <https://debbugs.gnu.org/30680> for details.
---
collects/compiler/private/cm-minimal.rkt | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff -ruN racket-6.12/collects/compiler/cm.rkt racket-6.12-patched/collects/compiler/cm.rkt
--- racket-6.12/collects/compiler/cm.rkt 1969-12-31 19:00:00.000000000 -0500
+++ racket-6.12-patched/collects/compiler/cm.rkt 2018-08-12 06:36:46.061142149 -0400
diff --git a/collects/compiler/private/cm-minimal.rkt b/collects/compiler/private/cm-minimal.rkt
index a5a5407..15af6b8 100644
--- a/collects/compiler/private/cm-minimal.rkt
+++ b/collects/compiler/private/cm-minimal.rkt
@@ -7,6 +7,7 @@
racket/list
racket/path
racket/promise
+ racket/string
openssl/sha1
racket/place
setup/collects
@@ -627,6 +628,10 @@
compiler/compilation-path
@@ -543,6 +544,10 @@
#f
(list src-hash recorded-hash)))
@ -30,7 +34,7 @@ diff -ruN racket-6.12/collects/compiler/cm.rkt racket-6.12-patched/collects/comp
(define (rkt->ss p)
(if (path-has-extension? p #".rkt")
(path-replace-extension p #".ss")
@@ -679,7 +684,8 @@
@@ -595,7 +600,8 @@
(trace-printf "newer src... ~a > ~a" path-time path-zo-time)
;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk:
(maybe-compile-zo sha1-only? deps path->mode roots path orig-path read-src-syntax up-to-date collection-cache new-seen)]
@ -40,3 +44,6 @@ diff -ruN racket-6.12/collects/compiler/cm.rkt racket-6.12-patched/collects/comp
=> (lambda (difference)
(trace-printf "different src hash... ~a" difference)
;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk:
--
2.18.0

View file

@ -65,6 +65,7 @@ (define-module (gnu packages scheme)
#:use-module (gnu packages xorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages gl)
#:use-module (gnu packages libedit)
#:use-module (ice-9 match))
(define (mit-scheme-source-directory system version)
@ -407,7 +408,7 @@ (define-public scheme48
(define-public racket
(package
(name "racket")
(version "6.12")
(version "7.0")
(source (origin
(method url-fetch)
(uri (list (string-append "http://mirror.racket-lang.org/installers/"
@ -417,11 +418,8 @@ (define-public racket
version "/racket-" version "-src.tgz")))
(sha256
(base32
"0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5"))
"1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a"))
(patches (search-patches
;; See: https://github.com/racket/racket/issues/1962
;; This can be removed in whatever Racket release comes after 6.12
"racket-fix-xform-issue.patch"
"racket-store-checksum-override.patch"))))
(build-system gnu-build-system)
(arguments
@ -485,7 +483,9 @@ (define-public racket
("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt"
("libGL"))
("share/pkgs/sgl/gl.rkt"
("libGL" "libGLU")))))
("libGL" "libGLU"))
("share/pkgs/readline-lib/readline/rktrl.rkt"
("libedit")))))
(chdir "src")
#t))
(add-after 'unpack 'patch-/bin/sh
@ -513,7 +513,8 @@ (define-public racket
("openssl" ,openssl)
("pango" ,pango)
("sqlite" ,sqlite)
("unixodbc" ,unixodbc)))
("unixodbc" ,unixodbc)
("libedit" ,libedit)))
(home-page "http://racket-lang.org")
(synopsis "Implementation of Scheme and related languages")
(description