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/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rsem-makefile.patch \ %D%/packages/patches/rsem-makefile.patch \
%D%/packages/patches/rtags-separate-rct.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-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.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. checksums for files in the store.
See <https://debbugs.gnu.org/30680> for details. 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 diff --git a/collects/compiler/private/cm-minimal.rkt b/collects/compiler/private/cm-minimal.rkt
--- racket-6.12/collects/compiler/cm.rkt 1969-12-31 19:00:00.000000000 -0500 index a5a5407..15af6b8 100644
+++ racket-6.12-patched/collects/compiler/cm.rkt 2018-08-12 06:36:46.061142149 -0400 --- a/collects/compiler/private/cm-minimal.rkt
+++ b/collects/compiler/private/cm-minimal.rkt
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
racket/list racket/list
racket/path racket/path
racket/promise racket/promise
+ racket/string + racket/string
openssl/sha1 openssl/sha1
racket/place
setup/collects setup/collects
@@ -627,6 +628,10 @@ compiler/compilation-path
@@ -543,6 +544,10 @@
#f #f
(list src-hash recorded-hash))) (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) (define (rkt->ss p)
(if (path-has-extension? p #".rkt") (if (path-has-extension? p #".rkt")
(path-replace-extension p #".ss") (path-replace-extension p #".ss")
@@ -679,7 +684,8 @@ @@ -595,7 +600,8 @@
(trace-printf "newer src... ~a > ~a" path-time path-zo-time) (trace-printf "newer src... ~a > ~a" path-time path-zo-time)
;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk: ;; 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)] (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) => (lambda (difference)
(trace-printf "different src hash... ~a" difference) (trace-printf "different src hash... ~a" difference)
;; If `sha1-only?', then `maybe-compile-zo' returns a #f or thunk: ;; 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 xorg)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages libedit)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define (mit-scheme-source-directory system version) (define (mit-scheme-source-directory system version)
@ -407,22 +408,19 @@ (define-public scheme48
(define-public racket (define-public racket
(package (package
(name "racket") (name "racket")
(version "6.12") (version "7.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "http://mirror.racket-lang.org/installers/" (uri (list (string-append "http://mirror.racket-lang.org/installers/"
version "/racket-" version "-src.tgz") version "/racket-" version "-src.tgz")
(string-append (string-append
"http://mirror.informatik.uni-tuebingen.de/mirror/racket/" "http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
version "/racket-" version "-src.tgz"))) version "/racket-" version "-src.tgz")))
(sha256 (sha256
(base32 (base32
"0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5")) "1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a"))
(patches (search-patches (patches (search-patches
;; See: https://github.com/racket/racket/issues/1962 "racket-store-checksum-override.patch"))))
;; 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) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -485,7 +483,9 @@ (define-public racket
("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt" ("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt"
("libGL")) ("libGL"))
("share/pkgs/sgl/gl.rkt" ("share/pkgs/sgl/gl.rkt"
("libGL" "libGLU"))))) ("libGL" "libGLU"))
("share/pkgs/readline-lib/readline/rktrl.rkt"
("libedit")))))
(chdir "src") (chdir "src")
#t)) #t))
(add-after 'unpack 'patch-/bin/sh (add-after 'unpack 'patch-/bin/sh
@ -493,7 +493,7 @@ (define-public racket
(substitute* "collects/racket/system.rkt" (substitute* "collects/racket/system.rkt"
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
#t))) #t)))
#:tests? #f ; XXX: how to run them? #:tests? #f ; XXX: how to run them?
)) ))
(inputs (inputs
`(("libffi" ,libffi) `(("libffi" ,libffi)
@ -504,7 +504,7 @@ (define-public racket
("glib" ,glib) ("glib" ,glib)
("glu" ,glu) ("glu" ,glu)
("gmp" ,gmp) ("gmp" ,gmp)
("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg
("libjpeg" ,libjpeg) ("libjpeg" ,libjpeg)
("libpng" ,libpng) ("libpng" ,libpng)
("libx11" ,libx11) ("libx11" ,libx11)
@ -513,7 +513,8 @@ (define-public racket
("openssl" ,openssl) ("openssl" ,openssl)
("pango" ,pango) ("pango" ,pango)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("unixodbc" ,unixodbc))) ("unixodbc" ,unixodbc)
("libedit" ,libedit)))
(home-page "http://racket-lang.org") (home-page "http://racket-lang.org")
(synopsis "Implementation of Scheme and related languages") (synopsis "Implementation of Scheme and related languages")
(description (description