diff --git a/gnu/local.mk b/gnu/local.mk index c3d9d1ae40..1e64015faa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/patches/racket-fix-xform-issue.patch b/gnu/packages/patches/racket-fix-xform-issue.patch deleted file mode 100644 index 0a1640ee51..0000000000 --- a/gnu/packages/patches/racket-fix-xform-issue.patch +++ /dev/null @@ -1,63 +0,0 @@ -050cdb59839896b41431791f8ee0ef2564231b8f -Author: Matthew Flatt -AuthorDate: Tue Mar 6 09:05:08 2018 -0700 -Commit: Matthew Flatt -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)); \ No newline at end of file diff --git a/gnu/packages/patches/racket-store-checksum-override.patch b/gnu/packages/patches/racket-store-checksum-override.patch index b22facca0d..6c9cd5198a 100644 --- a/gnu/packages/patches/racket-store-checksum-override.patch +++ b/gnu/packages/patches/racket-store-checksum-override.patch @@ -7,19 +7,23 @@ because the store is immutable. This patch makes Racket ignore checksums for files in the store. See 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 + diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index b30245ccea..1e045a27fd 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -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,22 +408,19 @@ (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/" - version "/racket-" version "-src.tgz") - (string-append - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - version "/racket-" version "-src.tgz"))) - (sha256 - (base32 - "0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5")) - (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")))) + (method url-fetch) + (uri (list (string-append "http://mirror.racket-lang.org/installers/" + version "/racket-" version "-src.tgz") + (string-append + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + version "/racket-" version "-src.tgz"))) + (sha256 + (base32 + "1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a")) + (patches (search-patches + "racket-store-checksum-override.patch")))) (build-system gnu-build-system) (arguments '(#:phases @@ -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 @@ -493,7 +493,7 @@ (define-public racket (substitute* "collects/racket/system.rkt" (("/bin/sh") (which "sh"))) #t))) - #:tests? #f ; XXX: how to run them? + #:tests? #f ; XXX: how to run them? )) (inputs `(("libffi" ,libffi) @@ -504,7 +504,7 @@ (define-public racket ("glib" ,glib) ("glu" ,glu) ("gmp" ,gmp) - ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg + ("gtk+" ,gtk+) ; propagates gdk-pixbuf+svg ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libx11" ,libx11) @@ -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