all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
@ 2019-03-12  2:21 Ivan Petkov
  2019-03-18  3:07 ` Ivan Petkov
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Petkov @ 2019-03-12  2:21 UTC (permalink / raw)
  To: 34820

* gnu/packages/rust.scm (rust-source): Rename to...
(rust-source-pre-1.32): ... this.
(rust-source): New variable.
(rust-bootstrapped-package-pre-1.32): New variable.
(rust): Rename to...
(rust-1.32): ...this.
(rust): New variable
---
 gnu/packages/rust.scm | 189 ++++++++++++++++++++++++++++++++----------
 1 file changed, 143 insertions(+), 46 deletions(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index be916743fb..5aa70cc962 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -70,7 +70,10 @@
     (_                (nix-system->gnu-triplet system))))
 
 \f
-(define* (rust-source version hash #:key (patches '()))
+(define* (rust-source-pre-1.32 version hash
+                               #:key
+                               (patches '())
+                               (patch-flags '("-p1")))
   (origin
     (method url-fetch)
     (uri (string-append "https://static.rust-lang.org/dist/"
@@ -78,16 +81,51 @@
     (sha256 (base32 hash))
     (modules '((guix build utils)))
     (snippet '(begin (delete-file-recursively "src/llvm") #t))
-    (patches (map search-patch patches))))
+    (patches (map search-patch patches))
+    (patch-flags patch-flags)))
+
+(define* (rust-bootstrapped-package-pre-1.32 base-rust version checksum
+                                             #:key
+                                             (patches '())
+                                             (patch-flags '("-p1")))
+  "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST.
+Specific to rust versions before 1.32."
+  (package
+    (inherit base-rust)
+    (version version)
+    (source
+     (rust-source-pre-1.32 version checksum #:patches patches #:patch-flags patch-flags))
+    (native-inputs
+     (alist-replace "cargo-bootstrap" (list base-rust "cargo")
+                    (alist-replace "rustc-bootstrap" (list base-rust)
+                                   (package-native-inputs base-rust))))))
+
+(define* (rust-source version hash
+                      #:key
+                      (patches '())
+                      (patch-flags '("-p1")))
+  (origin
+    (method url-fetch)
+    (uri (string-append "https://static.rust-lang.org/dist/"
+                        "rustc-" version "-src.tar.gz"))
+    (sha256 (base32 hash))
+    (modules '((guix build utils)))
+    (snippet '(begin (delete-file-recursively "src/llvm")
+                     (delete-file-recursively "vendor/jemalloc-sys/jemalloc")
+                     #t))
+    (patches (map search-patch patches))
+    (patch-flags patch-flags)))
 
 (define* (rust-bootstrapped-package base-rust version checksum
-                                    #:key (patches '()))
+                                    #:key
+                                    (patches '())
+                                    (patch-flags '("-p1")))
   "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST."
   (package
     (inherit base-rust)
     (version version)
     (source
-     (rust-source version checksum #:patches patches))
+     (rust-source version checksum #:patches patches #:patch-flags patch-flags))
     (native-inputs
      (alist-replace "cargo-bootstrap" (list base-rust "cargo")
                     (alist-replace "rustc-bootstrap" (list base-rust)
@@ -116,7 +154,7 @@
          ("flex" ,flex)
          ;; Required for the libstd sources.
          ("rustc"
-          ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
+          ,(rust-source-pre-1.32 "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
       (arguments
        `(#:test-target "local_tests"
          #:make-flags (list (string-append "LLVM_CONFIG="
@@ -189,7 +227,7 @@ safety and thread safety guarantees.")
   (package
     (name "rust")
     (version "1.19.0")
-    (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
+    (source (rust-source-pre-1.32 version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
             #:patches '("rust-1.19-mrustc.patch")))
     (outputs '("out" "cargo"))
     (properties '((timeout . 72000)               ;20 hours
@@ -425,7 +463,7 @@ safety and thread safety guarantees.")
 
 (define-public rust-1.20
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.19 "1.20.0"
+         (rust-bootstrapped-package-pre-1.32 rust-1.19 "1.20.0"
           "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a")))
     (package
       (inherit base-rust)
@@ -564,7 +602,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                    #t))))))))))
 
 (define-public rust-1.21
-  (let ((base-rust (rust-bootstrapped-package rust-1.20 "1.21.0"
+  (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.20 "1.21.0"
                     "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp")))
     (package
       (inherit base-rust)
@@ -580,7 +618,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  #t)))))))))
 
 (define-public rust-1.22
-  (let ((base-rust (rust-bootstrapped-package rust-1.21 "1.22.1"
+  (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.21 "1.22.1"
                     "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")))
     (package
       (inherit base-rust)
@@ -596,7 +634,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  #t)))))))))
 
 (define-public rust-1.23
-  (let ((base-rust (rust-bootstrapped-package rust-1.22 "1.23.0"
+  (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.22 "1.23.0"
                     "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")))
     (package
       (inherit base-rust)
@@ -615,8 +653,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.24
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.23 "1.24.1"
-                                    "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
+         (rust-bootstrapped-package-pre-1.32 rust-1.23 "1.24.1"
+          "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
     (package
       (inherit base-rust)
       (arguments
@@ -637,7 +675,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 ;;; Keep using llvm 3.9.1 until builds become determenistic
 (define-public rust-1.25
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.24 "1.25.0"
+         (rust-bootstrapped-package-pre-1.32 rust-1.24 "1.25.0"
           "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"
           #:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch"))))
     (package
@@ -668,7 +706,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.26
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.25 "1.26.2"
+         (rust-bootstrapped-package-pre-1.32 rust-1.25 "1.26.2"
           "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv"
           #:patches '("rust-coresimd-doctest.patch"
                       "rust-1.25-accept-more-detailed-gdb-lines.patch"))))
@@ -723,13 +761,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.27
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.26 "1.27.2"
-                                    "0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
-                                    #:patches
-                                    '("rust-coresimd-doctest.patch"
-                                      "rust-bootstrap-stage0-test.patch"
-                                      "rust-1.25-accept-more-detailed-gdb-lines.patch"
-                                      "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package-pre-1.32 rust-1.26 "1.27.2"
+          "0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
+          #:patches
+          '("rust-coresimd-doctest.patch"
+            "rust-bootstrap-stage0-test.patch"
+            "rust-1.25-accept-more-detailed-gdb-lines.patch"
+            "rust-reproducible-builds.patch"))))
     (package
       (inherit base-rust)
       (arguments
@@ -752,13 +790,13 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.28
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.27 "1.28.0"
-                                    "11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"
-                                    #:patches
-                                    '("rust-coresimd-doctest.patch"
-                                      "rust-bootstrap-stage0-test.patch"
-                                      "rust-1.25-accept-more-detailed-gdb-lines.patch"
-                                      "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package-pre-1.32 rust-1.27 "1.28.0"
+          "11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"
+          #:patches
+          '("rust-coresimd-doctest.patch"
+            "rust-bootstrap-stage0-test.patch"
+            "rust-1.25-accept-more-detailed-gdb-lines.patch"
+            "rust-reproducible-builds.patch"))))
     (package
       (inherit base-rust)
       (inputs
@@ -786,22 +824,22 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.29
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.28 "1.29.2"
-                                    "1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h"
-                                    #:patches
-                                    '("rust-1.25-accept-more-detailed-gdb-lines.patch"
-                                      "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package-pre-1.32 rust-1.28 "1.29.2"
+          "1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h"
+          #:patches
+          '("rust-1.25-accept-more-detailed-gdb-lines.patch"
+            "rust-reproducible-builds.patch"))))
     (package
       (inherit base-rust))))
 
 (define-public rust-1.30
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.29 "1.30.1"
-                                    "0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn"
-                                    #:patches
-                                    '("rust-1.25-accept-more-detailed-gdb-lines.patch"
-                                      "rust-1.30-gdb-llvm.patch"
-                                      "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package-pre-1.32 rust-1.29 "1.30.1"
+          "0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn"
+          #:patches
+          '("rust-1.25-accept-more-detailed-gdb-lines.patch"
+            "rust-1.30-gdb-llvm.patch"
+            "rust-reproducible-builds.patch"))))
     (package
       (inherit base-rust)
       (inputs
@@ -838,14 +876,14 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
              ;; moved elsewhere, so the patch doesn't apply.
              (delete 'disable-amd64-avx-test))))))))
 
-(define-public rust
+(define-public rust-1.31
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.30 "1.31.1"
-                                    "0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli"
-                                    #:patches
-                                    '("rust-1.25-accept-more-detailed-gdb-lines.patch"
-                                      "rust-1.30-gdb-llvm.patch"
-                                      "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package-pre-1.32 rust-1.30 "1.31.1"
+          "0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli"
+          #:patches
+          '("rust-1.25-accept-more-detailed-gdb-lines.patch"
+            "rust-1.30-gdb-llvm.patch"
+            "rust-reproducible-builds.patch"))))
     (package
       (inherit base-rust)
       (arguments
@@ -874,3 +912,62 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  (substitute* "src/libstd/process.rs"
                    (("```rust") "```rust,no_run"))
                  #t)))))))))
+
+(define-public rust
+  (let ((base-rust
+         (rust-bootstrapped-package rust-1.31 "1.32.0"
+          "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac"
+          #:patches '("rust-reproducible-builds.patch")
+          ;; the vendor directory has moved to the root of
+          ;; the tarball, so we have to strip an extra prefix
+          #:patch-flags '("-p2"))))
+    (package
+      (inherit base-rust)
+      (inputs
+       ;; Downgrade to LLVM 6, all LTO tests appear to fail with LLVM 7.0.1
+       (alist-replace "llvm" (list llvm-6)
+                      (package-inputs base-rust)))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base-rust)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             ;; Cargo.lock and the vendor/ directory have been moved to the
+             ;; root of the rust tarball
+             (replace 'patch-cargo-checksums
+               (lambda* _
+                 (substitute* "Cargo.lock"
+                   (("(\"checksum .* = )\".*\"" all name)
+                    (string-append name "\"" ,%cargo-reference-hash "\"")))
+                 (for-each
+                  (lambda (filename)
+                    (use-modules (guix build cargo-utils))
+                    (delete-file filename)
+                    (let* ((dir (dirname filename)))
+                      (display (string-append
+                                "patch-cargo-checksums: generate-checksums for "
+                                dir "\n"))
+                      (generate-checksums dir ,%cargo-reference-project-file)))
+                  (find-files "vendor" ".cargo-checksum.json"))
+                 #t))
+             (add-after 'enable-codegen-tests 'override-jemalloc
+               (lambda* (#:key inputs #:allow-other-keys)
+                 ;; The compiler is no longer directly built against jemalloc,
+                 ;; but rather via the jemalloc-sys crate (which vendors the
+                 ;; jemalloc source). To use jemalloc we must enable linking to
+                 ;; it (otherwise it would use the system allocator), and set
+                 ;; an environment variable pointing to the compiled jemalloc.
+                 (substitute* "config.toml"
+                   (("^jemalloc =.*$") "")
+                   (("[[]rust[]]") "\n[rust]\njemalloc=true\n"))
+                 (setenv "JEMALLOC_OVERRIDE" (string-append (assoc-ref inputs "jemalloc")
+                                                            "/lib/libjemalloc_pic.a"))
+                 #t))
+             (add-after 'patch-tests 'disable-amd64-avx-test
+               ;; That test would fail on x86_64 machines without avx.
+               (lambda* _
+                 (substitute* "src/test/ui/issues/issue-44056.rs"
+                   (("only-x86_64") "ignore-test"))
+                 #t))
+             ;; Remove no longer relevant steps
+             (delete 'remove-flaky-test)
+             (delete 'patch-aarch64-test))))))))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-12  2:21 [bug#34820] [PATCH] gnu: rust: Update to 1.32.0 Ivan Petkov
@ 2019-03-18  3:07 ` Ivan Petkov
  2019-03-19  1:47   ` Danny Milosavljevic
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Petkov @ 2019-03-18  3:07 UTC (permalink / raw)
  To: 34820

Friendly ping! 
Already have a patch ready for packaging rust 1.33 :)

Thanks,
—Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-18  3:07 ` Ivan Petkov
@ 2019-03-19  1:47   ` Danny Milosavljevic
  2019-03-22 15:33     ` Ivan Petkov
  0 siblings, 1 reply; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-19  1:47 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820

[-- Attachment #1: Type: text/plain, Size: 123 bytes --]

Hi Ivan,

thanks for the reminder!

It's currently building in a private branch on bayfront.guixsd.org - let's see...

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-19  1:47   ` Danny Milosavljevic
@ 2019-03-22 15:33     ` Ivan Petkov
  2019-03-26 13:21       ` Danny Milosavljevic
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Petkov @ 2019-03-22 15:33 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 34820

Thanks for submitting a build job!

Just curious, is there a public API to see the status/logs of the build similar to Hydra?
If not I’ll just wait for an email from you :)

—Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-22 15:33     ` Ivan Petkov
@ 2019-03-26 13:21       ` Danny Milosavljevic
  2019-03-26 14:13         ` Danny Milosavljevic
  2019-03-26 15:00         ` Ivan Petkov
  0 siblings, 2 replies; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-26 13:21 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820

[-- Attachment #1: Type: text/plain, Size: 2535 bytes --]

Hi Ivan,

On Fri, 22 Mar 2019 08:33:46 -0700
Ivan Petkov <ivanppetkov@gmail.com> wrote:

> Thanks for submitting a build job!
> 
> Just curious, is there a public API to see the status/logs of the build similar to Hydra?

I don't know.

> If not I’ll just wait for an email from you :)

I got a test failure while building rust 1.30.1, in ui/run-pass/issues/issue-44056.rs .

error: test run failed!
status: signal: 4
command: "/tmp/guix-build-rust-1.30.1.drv-0/rustc-1.30.1-src/build/x86_64-unknown-linux-gnu/test/ui/run-pass/issues/issue-44056/a"
thread '[ui] ui/run-pass/issues/issue-44056.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3205:9

test result: FAILED. 6764 passed; 1 failed; 25 ignored; 0 measured; 0 filtered

command did not execute successfully: "/tmp/guix-build-rust-1.30.1.drv-0/rustc-1
.30.1-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compil
e-lib-path" "/tmp/guix-build-rust-1.30.1.drv-0/rustc-1.30.1-src/build/x86_64-unk
nown-linux-gnu/stage2/lib" "--run-lib-path" "/tmp/guix-build-rust-1.30.1.drv-0/r
ustc-1.30.1-src/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown
-linux-gnu/lib" "--rustc-path" "/tmp/guix-build-rust-1.30.1.drv-0/rustc-1.30.1-s
rc/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/tmp/guix-buil
d-rust-1.30.1.drv-0/rustc-1.30.1-src/src/test/ui" "--build-base" "/tmp/guix-buil
d-rust-1.30.1.drv-0/rustc-1.30.1-src/build/x86_64-unknown-linux-gnu/test/ui" "--
stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unk
nown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/gnu/sto
re/slhclazbx16ij6kyggz667sycmyy9iii-llvm-7.0.1/bin/FileCheck" "--host-rustcflags
" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-
options  -Lnative=/tmp/guix-build-rust-1.30.1.drv-0/rustc-1.30.1-src/build/x86_6
4-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/gnu/store/g87ha
mjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python2" "--lldb-python" "/gnu/st
ore/g87hamjyipk1j6dfq5pjfzfnfb64spbv-python2-2.7.15/bin/python2" "--gdb" "/gnu/s
tore/pp6nvrw47ip2r54k4kyk5a8fhyxvhsb8-gdb-8.2/bin/gdb" "--verbose" "--quiet" "--llvm-version" "7.0.1\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""
expected success, got: exit code: 101

I'm rebuilding that with "--keep-failed" now...

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-26 13:21       ` Danny Milosavljevic
@ 2019-03-26 14:13         ` Danny Milosavljevic
  2019-03-26 15:00         ` Ivan Petkov
  1 sibling, 0 replies; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-26 14:13 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820

[-- Attachment #1: Type: text/plain, Size: 58 bytes --]

Upstream: https://github.com/rust-lang/rust/issues/55996

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-26 13:21       ` Danny Milosavljevic
  2019-03-26 14:13         ` Danny Milosavljevic
@ 2019-03-26 15:00         ` Ivan Petkov
  2019-03-26 18:14           ` Danny Milosavljevic
  1 sibling, 1 reply; 16+ messages in thread
From: Ivan Petkov @ 2019-03-26 15:00 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 34820

Hi Danny,

> On Mar 26, 2019, at 6:21 AM, Danny Milosavljevic <dannym@scratchpost.org> wrote:
> 
> I got a test failure while building rust 1.30.1, in ui/run-pass/issues/issue-44056.rs .

Hmm, I think I hit this too. The patch attempts to mark the test as ignored,
similar to what we do in earlier rust versions.

> I'm rebuilding that with "--keep-failed" now…

Could you check what the issue-44056 test file contains in case the
substitution didn’t work right?

Thanks,
—Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-26 15:00         ` Ivan Petkov
@ 2019-03-26 18:14           ` Danny Milosavljevic
  2019-03-26 19:18             ` Ivan Petkov
  2019-03-28 23:23             ` Danny Milosavljevic
  0 siblings, 2 replies; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-26 18:14 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820

[-- Attachment #1: Type: text/plain, Size: 351 bytes --]

Hi Ivan,

the test has been moved to ./src/test/ui/run-pass/issues/issue-44056.rs

> Could you check what the issue-44056 test file contains in case the
> substitution didn’t work right?

The substitution phase has been deleted in rust-1.30 and thus can't work.

I've now reinstated an adjusted phase and restarted the build... let's see.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-26 18:14           ` Danny Milosavljevic
@ 2019-03-26 19:18             ` Ivan Petkov
  2019-03-27  1:51               ` Brett Gilio
  2019-03-28 23:23             ` Danny Milosavljevic
  1 sibling, 1 reply; 16+ messages in thread
From: Ivan Petkov @ 2019-03-26 19:18 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 34820


> On Mar 26, 2019, at 11:14 AM, Danny Milosavljevic <dannym@scratchpost.org> wrote:

> the test has been moved to ./src/test/ui/run-pass/issues/issue-44056.rs

> I've now reinstated an adjusted phase and restarted the build... let's see.

Great, thanks for fixing this, it looks like I got the path wrong in the original patch, and I added the phase to 1.32 instead of 1.31

—Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-26 19:18             ` Ivan Petkov
@ 2019-03-27  1:51               ` Brett Gilio
  2019-03-27  2:19                 ` Ivan Petkov
  0 siblings, 1 reply; 16+ messages in thread
From: Brett Gilio @ 2019-03-27  1:51 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820


Ivan Petkov writes:

>> On Mar 26, 2019, at 11:14 AM, Danny Milosavljevic <dannym@scratchpost.org> wrote:
>
>> the test has been moved to ./src/test/ui/run-pass/issues/issue-44056.rs
>
>> I've now reinstated an adjusted phase and restarted the build... let's see.
>
> Great, thanks for fixing this, it looks like I got the path wrong in the original patch, and I added the phase to 1.32 instead of 1.31
>
> —Ivan

LGTM, I want to try maintaining a local build for nightly which requires
1.33 atm. Do we have an ETA on how long until we can get that? What can
I do to help?

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-27  1:51               ` Brett Gilio
@ 2019-03-27  2:19                 ` Ivan Petkov
  2019-03-27  2:58                   ` Brett Gilio
  0 siblings, 1 reply; 16+ messages in thread
From: Ivan Petkov @ 2019-03-27  2:19 UTC (permalink / raw)
  To: Brett Gilio; +Cc: 34820

Hi Brett!

> On Mar 26, 2019, at 6:51 PM, Brett Gilio <brettg@posteo.net> wrote:
> 
> LGTM, I want to try maintaining a local build for nightly which requires
> 1.33 atm. Do we have an ETA on how long until we can get that? What can
> I do to help?

I actually have a patch ready for packaging 1.33, just been holding off to
avoid the noise while we get 1.31/1.32 built. Happy to post put it up if
you'd like to see a copy!

As far as maintaining nightlies goes, I think it would be a challenge to
keep up manually, unless you happen to have some cron job that builds a
new version daily. I've been considering packaging rustup within guix
after 1.33 lands, which might make it possible to develop with nightly
rust without having to maintain a nightly build within guix itself.

Not sure what challenges there may be with the rustup approach though
(will the prebuild binaries work well with guix?). I'd be happy to hear
if you make any progress though!

—Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-27  2:19                 ` Ivan Petkov
@ 2019-03-27  2:58                   ` Brett Gilio
  2019-03-27 11:02                     ` Danny Milosavljevic
  0 siblings, 1 reply; 16+ messages in thread
From: Brett Gilio @ 2019-03-27  2:58 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820


Ivan Petkov writes:

> Hi Brett!
>
>> On Mar 26, 2019, at 6:51 PM, Brett Gilio <brettg@posteo.net> wrote:
>> 
>> LGTM, I want to try maintaining a local build for nightly which requires
>> 1.33 atm. Do we have an ETA on how long until we can get that? What can
>> I do to help?
>
> I actually have a patch ready for packaging 1.33, just been holding off to
> avoid the noise while we get 1.31/1.32 built. Happy to post put it up if
> you'd like to see a copy!
>
> As far as maintaining nightlies goes, I think it would be a challenge to
> keep up manually, unless you happen to have some cron job that builds a
> new version daily. I've been considering packaging rustup within guix
> after 1.33 lands, which might make it possible to develop with nightly
> rust without having to maintain a nightly build within guix itself.
>
> Not sure what challenges there may be with the rustup approach though
> (will the prebuild binaries work well with guix?). I'd be happy to hear
> if you make any progress though!
>
> —Ivan

You are probably right, there are definitely going to be some liability
issues about working with the nightly branch. But it was something I was
interested in investigating. The more we deal with rust on Guix, the
more I think that rustup is going to have to become a necessity if we
want to attract more Rust developers to using Guix. Nightly is almost a
requirement for a good few.

You might be knowing that Nix has the rustup toolchain, and it seems to
work fine. Although, there is the nasty linker issue which requires
building all rust projects in a nix-shell with the mozilla rust
channel. So, there is definitely some potential challenges there, but it
is definitely something we need to investigate imo.

Also, yes, please send me the patch off list.

Brett

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-27  2:58                   ` Brett Gilio
@ 2019-03-27 11:02                     ` Danny Milosavljevic
  0 siblings, 0 replies; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-27 11:02 UTC (permalink / raw)
  To: Brett Gilio; +Cc: 34820

[-- Attachment #1: Type: text/plain, Size: 2355 bytes --]

Hi,

On Tue, 26 Mar 2019 21:58:07 -0500
Brett Gilio <brettg@posteo.net> wrote:

> > Not sure what challenges there may be with the rustup approach though

Without using the Guix package manager?  That depends on whether they can
install into $HOME.  If so, it's not difficult.

> > (will the prebuild binaries work well with guix?).

We had prebuilt Rust binaries before, but we had to patch them slightly
using patchelf.

From a strategic standpoint we'd like to reduce the number of bootstrap
seeds required for Guix packages, not increase them.  But I guess as
long as they are optional (not dependencies of anything else), that's
the user's choice.

> You are probably right, there are definitely going to be some liability
> issues about working with the nightly branch. But it was something I was
> interested in investigating. The more we deal with rust on Guix, the
> more I think that rustup is going to have to become a necessity if we
> want to attract more Rust developers to using Guix. Nightly is almost a
> requirement for a good few.

I think Rust is one of the few languages getting it right in this regard:
There is a "stable" setting where you can only access APIs in the runtime
and/or language that won't change.  If there are unfinished experimental
APIs they can expose them (to programs not written to require the "stable"
setting) and later on change them and tell everyone "I told you so".

As a distribution, we usually package stable versions of software, so it
does make sense that if the feature is unstable (subject to change in
incompatible ways in less than, say, 1 month) then it's not available.

Long story short, I don't use Rust for production projects because some
important things are not deemed stable yet--and I had to do too much
pointless rewriting in my life just because some other API changed.

But there should be nothing stopping a user from testing Rust some other
way (install into $HOME etc).

In order to test Rust nightly I use a Docker container and this script:

dannym@dayas ~/.local/bin$ cat in-rust-nightly 
#!/bin/sh

p="`realpath \".\"`"
# example: cargo build --release
if [ "$1" = "" ]
then
        set -- sh
fi

exec docker run --rm -e USER="${USER}" --user "$(id -u)":"$(id -g)" -v "$PWD":"${p}" -w "${p}" rustlang/rust:nightly "$@"

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-26 18:14           ` Danny Milosavljevic
  2019-03-26 19:18             ` Ivan Petkov
@ 2019-03-28 23:23             ` Danny Milosavljevic
  2019-03-31 19:12               ` bug#34820: " Danny Milosavljevic
  1 sibling, 1 reply; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-28 23:23 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820

[-- Attachment #1: Type: text/plain, Size: 61 bytes --]

Rust 1.31.1 moved the test again so it failed.

Fixing...

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#34820: [PATCH] gnu: rust: Update to 1.32.0
  2019-03-28 23:23             ` Danny Milosavljevic
@ 2019-03-31 19:12               ` Danny Milosavljevic
  2019-04-01  3:25                 ` [bug#34820] " Ivan Petkov
  0 siblings, 1 reply; 16+ messages in thread
From: Danny Milosavljevic @ 2019-03-31 19:12 UTC (permalink / raw)
  To: Ivan Petkov; +Cc: 34820-done

[-- Attachment #1: Type: text/plain, Size: 94 bytes --]

Rust 1.32.0 just built fine.

I've pushed a variant of this patchset to master.

Thanks!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [bug#34820] [PATCH] gnu: rust: Update to 1.32.0
  2019-03-31 19:12               ` bug#34820: " Danny Milosavljevic
@ 2019-04-01  3:25                 ` Ivan Petkov
  0 siblings, 0 replies; 16+ messages in thread
From: Ivan Petkov @ 2019-04-01  3:25 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 34820


> On Mar 31, 2019, at 12:12 PM, Danny Milosavljevic <dannym@scratchpost.org> wrote:
> 
> Rust 1.32.0 just built fine.
> 
> I've pushed a variant of this patchset to master.

Awesome, thanks again for your help Danny!

—Ivan

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-04-01  3:26 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-12  2:21 [bug#34820] [PATCH] gnu: rust: Update to 1.32.0 Ivan Petkov
2019-03-18  3:07 ` Ivan Petkov
2019-03-19  1:47   ` Danny Milosavljevic
2019-03-22 15:33     ` Ivan Petkov
2019-03-26 13:21       ` Danny Milosavljevic
2019-03-26 14:13         ` Danny Milosavljevic
2019-03-26 15:00         ` Ivan Petkov
2019-03-26 18:14           ` Danny Milosavljevic
2019-03-26 19:18             ` Ivan Petkov
2019-03-27  1:51               ` Brett Gilio
2019-03-27  2:19                 ` Ivan Petkov
2019-03-27  2:58                   ` Brett Gilio
2019-03-27 11:02                     ` Danny Milosavljevic
2019-03-28 23:23             ` Danny Milosavljevic
2019-03-31 19:12               ` bug#34820: " Danny Milosavljevic
2019-04-01  3:25                 ` [bug#34820] " Ivan Petkov

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.