summary refs log tree commit diff
diff options
context:
space:
mode:
authorKonrad Hinsen <konrad.hinsen@fastmail.net>2018-08-02 16:23:11 +0200
committerLeo Famulari <leo@famulari.name>2018-08-16 18:36:09 -0400
commite0b49c785b6fe577fbf07e5d74b8544e9d336209 (patch)
treea4eb5271f0e5e7e86a35603e9a520007e129716f
parent41c038078e795005420012c173725d06c7e23256 (diff)
downloadguix-e0b49c785b6fe577fbf07e5d74b8544e9d336209.tar.gz
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>
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/patches/racket-fix-xform-issue.patch63
-rw-r--r--gnu/packages/patches/racket-store-checksum-override.patch19
-rw-r--r--gnu/packages/scheme.scm39
4 files changed, 34 insertions, 89 deletions
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 <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));
\ 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 <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
+
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 @@
   #: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 @@ implementation techniques and as an expository tool.")
 (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 @@ implementation techniques and as an expository tool.")
                   ("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 @@ implementation techniques and as an expository tool.")
              (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 @@ implementation techniques and as an expository tool.")
        ("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 @@ implementation techniques and as an expository tool.")
        ("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