* [bug#32355] [PATCH] gnu: racket: Update to 7.0
2018-08-02 14:23 [bug#32355] [PATCH] gnu: racket: Update to 7.0 Konrad Hinsen
@ 2018-08-06 18:28 ` Kei Kebreau
2018-08-07 12:58 ` Konrad Hinsen
2018-08-14 12:02 ` [bug#32355] Updated patch Konrad Hinsen
1 sibling, 1 reply; 5+ messages in thread
From: Kei Kebreau @ 2018-08-06 18:28 UTC (permalink / raw)
To: Konrad Hinsen; +Cc: 32355
[-- Attachment #1: Type: text/plain, Size: 8052 bytes --]
Konrad Hinsen <konrad.hinsen@fastmail.net> writes:
> * gnu/packages/scheme.scm (racket): Update to 7.0.
> ---
> .../patches/racket-fix-xform-issue.patch | 63 -------------------
> gnu/packages/scheme.scm | 16 ++---
> 2 files changed, 8 insertions(+), 71 deletions(-)
> delete mode 100644 gnu/packages/patches/racket-fix-xform-issue.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 0a1640ee5..000000000
> --- 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/scheme.scm b/gnu/packages/scheme.scm
> index 4178a45a8..545980088 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,7 +408,7 @@ 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/"
> @@ -417,11 +418,7 @@ implementation techniques and as an expository tool.")
> 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"))))
> + "1glv5amsp9xp480d4yr63hhm9kkyav06yl3a6p489nkr4cln0j9a"))))
> (build-system gnu-build-system)
> (arguments
> '(#:phases
> @@ -484,7 +481,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
> @@ -512,7 +511,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
This looks okay, but when I build for armhf-linux using the qemu-binfmt
service I get an error. It could just be because I'm using QEMU, so
maybe someone with a native armhf-linux installation can verify. Here's
the error I got:
make[3]: Entering directory '/tmp/guix-build-racket-7.0.drv-0/racket-7.0/src/racket'
./racket3m -cqu ./mksystem.rkt system.rktd "gcc -E -I. -I./include -I./src -g -O2 -DUSE_SENORA_GC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ./src/systype.c" "" "./racket3m" "./racket3m"
qemu: uncaught target signal 6 (Aborted) - core dumped
make[3]: *** [Makefile:180: sysinfer3m] Aborted
make[3]: Leaving directory '/tmp/guix-build-racket-7.0.drv-0/racket-7.0/src/racket'
make[2]: *** [Makefile:114: 3m] Error 2
make[2]: Leaving directory '/tmp/guix-build-racket-7.0.drv-0/racket-7.0/src/racket'
make[1]: *** [Makefile:58: 3m] Error 2
make[1]: Leaving directory '/tmp/guix-build-racket-7.0.drv-0/racket-7.0/src'
make: *** [Makefile:51: all] Error 2
Backtrace:
4 (primitive-load "/gnu/store/pinrmx3dsl4zswbd0757sii8dsn…")
In ice-9/eval.scm:
191:35 3 (_ _)
In srfi/srfi-1.scm:
640:9 2 (for-each #<procedure 3c6220 at /gnu/store/7zsb0zp70x7…> …)
In /gnu/store/7zsb0zp70x75prdpyqk83iap9l50aaiq-module-import/guix/build/gnu-build-system.scm:
799:31 1 (_ _)
In /gnu/store/7zsb0zp70x75prdpyqk83iap9l50aaiq-module-import/guix/build/utils.scm:
616:6 0 (invoke _ . _)
/gnu/store/7zsb0zp70x75prdpyqk83iap9l50aaiq-module-import/guix/build/utils.scm:616:6: In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program: "make" arguments: ("-j" "2") exit-status: 2 term-signal: #f stop-signal: #f] 7fee0>)'.
note: keeping build directory `/tmp/guix-build-racket-7.0.drv-1'
builder for `/gnu/store/dhz9d81xfdg6v33jybpf9r586s5x8f02-racket-7.0.drv' failed with exit code 1
@ build-failed /gnu/store/dhz9d81xfdg6v33jybpf9r586s5x8f02-racket-7.0.drv - 1 builder for `/gnu/store/dhz9d81xfdg6v33jybpf9r586s5x8f02-racket-7.0.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/dhz9d81xfdg6v33jybpf9r586s5x8f02-racket-7.0.drv' failed
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#32355] Updated patch
2018-08-02 14:23 [bug#32355] [PATCH] gnu: racket: Update to 7.0 Konrad Hinsen
2018-08-06 18:28 ` Kei Kebreau
@ 2018-08-14 12:02 ` Konrad Hinsen
2018-08-16 22:37 ` bug#32355: " Leo Famulari
1 sibling, 1 reply; 5+ messages in thread
From: Konrad Hinsen @ 2018-08-14 12:02 UTC (permalink / raw)
To: 32355
[-- Attachment #1: Type: text/plain, Size: 124 bytes --]
The attached file is an update to this patch after an important recent
bugfix for Racket under Guix (bug #30680).
Konrad.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-racket-Update-to-7.0.patch --]
[-- Type: text/x-diff, Size: 10105 bytes --]
From 2d80d085c372cf466d95b8e06289b2f58853f7ea Mon Sep 17 00:00:00 2001
From: Konrad Hinsen <konrad.hinsen@fastmail.net>
Date: Thu, 2 Aug 2018 16:23:11 +0200
Subject: [PATCH] gnu: racket: Update to 7.0
* gnu/packages/scheme.scm (racket): Update to 7.0.
---
gnu/local.mk | 2 +-
.../patches/racket-fix-xform-issue.patch | 63 -------------------
.../racket-store-checksum-override.patch | 19 ++++--
gnu/packages/scheme.scm | 39 ++++++------
4 files changed, 34 insertions(+), 89 deletions(-)
delete mode 100644 gnu/packages/patches/racket-fix-xform-issue.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 53120db7f..09519edd5 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 0a1640ee5..000000000
--- 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 b22facca0..6c9cd5198 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 b30245cce..1e045a27f 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
--
2.18.0
^ permalink raw reply related [flat|nested] 5+ messages in thread