* [bug#32822] [PATCH 0/4] Finish rust bootstrapping. @ 2018-09-24 14:47 Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0 Danny Milosavljevic 2018-09-24 19:38 ` [bug#32822] [PATCH 0/4] Finish rust bootstrapping Ludovic Courtès 0 siblings, 2 replies; 8+ messages in thread From: Danny Milosavljevic @ 2018-09-24 14:47 UTC (permalink / raw) To: 32822 Danny Milosavljevic (4): gnu: rust: Hide "ar" entry from rust@1.21.0. gnu: rust@1.23.0: Bootstrap by rust@1.22.0. gnu: rust@1.23.0: Use rust-bootstrapped-package. gnu: rust: Remove binary bootstrapper. gnu/packages/rust.scm | 142 +++++++++--------------------------------- 1 file changed, 30 insertions(+), 112 deletions(-) ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0. 2018-09-24 14:47 [bug#32822] [PATCH 0/4] Finish rust bootstrapping Danny Milosavljevic @ 2018-09-24 15:01 ` Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 2/4] gnu: rust@1.23.0: Bootstrap by rust@1.22.0 Danny Milosavljevic ` (2 more replies) 2018-09-24 19:38 ` [bug#32822] [PATCH 0/4] Finish rust bootstrapping Ludovic Courtès 1 sibling, 3 replies; 8+ messages in thread From: Danny Milosavljevic @ 2018-09-24 15:01 UTC (permalink / raw) To: 32822 * gnu/packages/rust.scm (rust-1.21)[arguments]<#:phases>[remove-ar]: New phase. --- gnu/packages/rust.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 40633854a..a1ad6534e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -636,8 +636,20 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" #t)))))))))) (define-public rust-1.21 - (rust-bootstrapped-package rust-1.20 "1.21.0" - "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp")) + (let ((base-rust (rust-bootstrapped-package rust-1.20 "1.21.0" + "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp"))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'configure 'remove-ar + (lambda* (#:key inputs #:allow-other-keys) + ;; Remove because toml complains about "unknown field". + (substitute* "config.toml" + (("^ar =.*") "\n")) + #t))))))))) (define-public rust-1.22 (rust-bootstrapped-package rust-1.21 "1.22.1" ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 2/4] gnu: rust@1.23.0: Bootstrap by rust@1.22.0. 2018-09-24 15:01 ` [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0 Danny Milosavljevic @ 2018-09-24 15:01 ` Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 3/4] gnu: rust@1.23.0: Use rust-bootstrapped-package Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 4/4] gnu: rust: Remove binary bootstrapper Danny Milosavljevic 2 siblings, 0 replies; 8+ messages in thread From: Danny Milosavljevic @ 2018-09-24 15:01 UTC (permalink / raw) To: 32822 * gnu/packages/rust.scm (rust-1.23)[inherit]: Inherit from rust-1.22. [native-inputs]: Replace rust-bootstrap by rust-1.22. [arguments]: Inherit from rust-1.22. Delete "remove-ar" phase. --- gnu/packages/rust.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index a1ad6534e..2e51c4a5b 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -657,7 +657,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (define-public rust-1.23 (package - (inherit rust-1.20) + (inherit rust-1.22) (name "rust") (version "1.23.0") (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) @@ -669,15 +669,16 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" ("git" ,git) ("procps" ,procps) ; For the tests ("python-2" ,python-2) - ("rustc-bootstrap" ,rust-bootstrap) - ("cargo-bootstrap" ,rust-bootstrap "cargo") + ("rustc-bootstrap" ,rust-1.22) + ("cargo-bootstrap" ,rust-1.22 "cargo") ("pkg-config" ,pkg-config) ; For "cargo" ("which" ,which))) (arguments - (substitute-keyword-arguments (package-arguments rust-1.20) + (substitute-keyword-arguments (package-arguments rust-1.22) ((#:phases phases) `(modify-phases ,phases (delete 'configure-archiver) + (delete 'remove-ar) (add-after 'unpack 'dont-build-native (lambda _ ;; XXX: Revisit this when we use gcc 6. ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 3/4] gnu: rust@1.23.0: Use rust-bootstrapped-package. 2018-09-24 15:01 ` [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0 Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 2/4] gnu: rust@1.23.0: Bootstrap by rust@1.22.0 Danny Milosavljevic @ 2018-09-24 15:01 ` Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 4/4] gnu: rust: Remove binary bootstrapper Danny Milosavljevic 2 siblings, 0 replies; 8+ messages in thread From: Danny Milosavljevic @ 2018-09-24 15:01 UTC (permalink / raw) To: 32822 * gnu/packages/rust.scm (rust-1.23): Use rust-bootstrapped-package. --- gnu/packages/rust.scm | 45 +++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 2e51c4a5b..37c30c14e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -656,35 +656,22 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")) (define-public rust-1.23 - (package - (inherit rust-1.22) - (name "rust") - (version "1.23.0") - (source (rust-source version "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")) - (native-inputs - `(("bison" ,bison) ; For the tests - ("cmake" ,cmake) - ("flex" ,flex) ; For the tests - ("gdb" ,gdb) ; For the tests - ("git" ,git) - ("procps" ,procps) ; For the tests - ("python-2" ,python-2) - ("rustc-bootstrap" ,rust-1.22) - ("cargo-bootstrap" ,rust-1.22 "cargo") - ("pkg-config" ,pkg-config) ; For "cargo" - ("which" ,which))) - (arguments - (substitute-keyword-arguments (package-arguments rust-1.22) - ((#:phases phases) - `(modify-phases ,phases - (delete 'configure-archiver) - (delete 'remove-ar) - (add-after 'unpack 'dont-build-native - (lambda _ - ;; XXX: Revisit this when we use gcc 6. - (substitute* "src/binaryen/CMakeLists.txt" - (("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") "")) - #t)))))))) + (let ((base-rust (rust-bootstrapped-package rust-1.22 "1.23.0" + "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l"))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (delete 'configure-archiver) + (delete 'remove-ar) + (add-after 'unpack 'dont-build-native + (lambda _ + ;; XXX: Revisit this when we use gcc 6. + (substitute* "src/binaryen/CMakeLists.txt" + (("ADD_COMPILE_FLAG\\(\\\"-march=native\\\"\\)") "")) + #t))))))))) (define-public rust-1.24 (let ((base-rust ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 4/4] gnu: rust: Remove binary bootstrapper. 2018-09-24 15:01 ` [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0 Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 2/4] gnu: rust@1.23.0: Bootstrap by rust@1.22.0 Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 3/4] gnu: rust@1.23.0: Use rust-bootstrapped-package Danny Milosavljevic @ 2018-09-24 15:01 ` Danny Milosavljevic 2 siblings, 0 replies; 8+ messages in thread From: Danny Milosavljevic @ 2018-09-24 15:01 UTC (permalink / raw) To: 32822 * gnu/packages/rust.scm (rust-bootstrap): Delete variable. --- gnu/packages/rust.scm | 82 ------------------------------------------- 1 file changed, 82 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 37c30c14e..e30e8a61a 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -69,88 +69,6 @@ ("mips64el-linux" "mips64el-unknown-linux-gnuabi64") (_ (nix-system->gnu-triplet system)))) -(define rust-bootstrap - (package - (name "rust-bootstrap") - (version "1.22.1") - (source #f) - (build-system gnu-build-system) - (native-inputs - `(("patchelf" ,patchelf))) - (inputs - `(("gcc" ,(canonical-package gcc)) - ("gcc:lib" ,(canonical-package gcc) "lib") - ("zlib" ,zlib) - ("source" - ,(origin - (method url-fetch) - (uri (string-append - "https://static.rust-lang.org/dist/" - "rust-" version "-" (nix-system->gnu-triplet-for-rust) - ".tar.gz")) - (sha256 - (base32 - (match (nix-system->gnu-triplet-for-rust) - ("i686-unknown-linux-gnu" - "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr") - ("x86_64-unknown-linux-gnu" - "1yll78x6b3abnvgjf2b66gvp6mmcb9y9jdiqcwhmgc0z0i0fix4c") - ("armv7-unknown-linux-gnueabihf" - "138a8l528kzp5wyk1mgjaxs304ac5ms8vlpq0ggjaznm6bn2j7a5") - ("aarch64-unknown-linux-gnu" - "0z6m9m1rx4d96nvybbfmpscq4dv616m615ijy16d5wh2vx0p4na8") - ("mips64el-unknown-linux-gnuabi64" - "07k4pcv7jvfa48cscdj8752lby7m7xdl88v3a6na1vs675lhgja2") - (_ "")))))))) - (outputs '("out" "cargo")) - (arguments - `(#:tests? #f - #:strip-binaries? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (cargo-out (assoc-ref outputs "cargo")) - (gcc:lib (assoc-ref inputs "gcc:lib")) - (libc (assoc-ref inputs "libc")) - (zlib (assoc-ref inputs "zlib")) - (ld-so (string-append libc ,(glibc-dynamic-linker))) - (rpath (string-append out "/lib:" zlib "/lib:" - libc "/lib:" gcc:lib "/lib")) - (cargo-rpath (string-append cargo-out "/lib:" libc "/lib:" - gcc:lib "/lib")) - (rustc (string-append out "/bin/rustc")) - (rustdoc (string-append out "/bin/rustdoc")) - (cargo (string-append cargo-out "/bin/cargo")) - (gcc (assoc-ref inputs "gcc"))) - ;; Install rustc/rustdoc. - (invoke "bash" "install.sh" - (string-append "--prefix=" out) - (string-append "--components=rustc," - "rust-std-" - ,(nix-system->gnu-triplet-for-rust))) - ;; Install cargo. - (invoke "bash" "install.sh" - (string-append "--prefix=" cargo-out) - (string-append "--components=cargo")) - (for-each (lambda (file) - (invoke "patchelf" "--set-rpath" rpath file)) - (cons* rustc rustdoc (find-files out "\\.so$"))) - (invoke "patchelf" "--set-rpath" cargo-rpath cargo) - (for-each (lambda (file) - (invoke "patchelf" "--set-interpreter" ld-so file)) - (list rustc rustdoc cargo)) - #t)))))) - (home-page "https://www.rust-lang.org") - (synopsis "Prebuilt rust compiler and cargo package manager") - (description "This package provides a pre-built @command{rustc} compiler -and a pre-built @command{cargo} package manager, which can -in turn be used to build the final Rust.") - (license license:asl2.0))) - \f (define* (rust-source version hash #:key (patches '())) (origin ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 0/4] Finish rust bootstrapping. 2018-09-24 14:47 [bug#32822] [PATCH 0/4] Finish rust bootstrapping Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0 Danny Milosavljevic @ 2018-09-24 19:38 ` Ludovic Courtès 2018-09-25 8:01 ` Danny Milosavljevic 1 sibling, 1 reply; 8+ messages in thread From: Ludovic Courtès @ 2018-09-24 19:38 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 32822 Hi Danny, Danny Milosavljevic <dannym@scratchpost.org> skribis: > Danny Milosavljevic (4): > gnu: rust: Hide "ar" entry from rust@1.21.0. > gnu: rust@1.23.0: Bootstrap by rust@1.22.0. > gnu: rust@1.23.0: Use rust-bootstrapped-package. > gnu: rust: Remove binary bootstrapper. Do I get it right that mrustc is capable enough to build Rust 1.19, and from there on we have the full chain? That sounds really exciting! And worth a blog post :-), if only to share with those who care about building from source: #bootstrappable, Debian, and other reproducible build people. FWIW the patches LGTM. I suppose you could push them to wip-rust, then we let hydra and berlin build it, and once it’s built (could be 36h later?) we merge into master. WDYT? Thank you! Ludo’. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 0/4] Finish rust bootstrapping. 2018-09-24 19:38 ` [bug#32822] [PATCH 0/4] Finish rust bootstrapping Ludovic Courtès @ 2018-09-25 8:01 ` Danny Milosavljevic 2018-09-25 15:31 ` Ludovic Courtès 0 siblings, 1 reply; 8+ messages in thread From: Danny Milosavljevic @ 2018-09-25 8:01 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 32822 [-- Attachment #1: Type: text/plain, Size: 1155 bytes --] Hi Ludo, On Mon, 24 Sep 2018 21:38:21 +0200 ludo@gnu.org (Ludovic Courtès) wrote: > Danny Milosavljevic <dannym@scratchpost.org> skribis: > > > Danny Milosavljevic (4): > > gnu: rust: Hide "ar" entry from rust@1.21.0. > > gnu: rust@1.23.0: Bootstrap by rust@1.22.0. > > gnu: rust@1.23.0: Use rust-bootstrapped-package. > > gnu: rust: Remove binary bootstrapper. > > Do I get it right that mrustc is capable enough to build Rust 1.19, and > from there on we have the full chain? Yes (except for MIPS, where mrustc doesn't have the target settings in upstreeam - but I do, but untested). > That sounds really exciting! And worth a blog post :-), if only to > share with those who care about building from source: #bootstrappable, > Debian, and other reproducible build people. Sure. Should I just E-Mail the text or how do I get it into the blog? > FWIW the patches LGTM. I suppose you could push them to wip-rust, then > we let hydra and berlin build it, and once it’s built (could be 36h > later?) we merge into master. Okay. I've pushed them to wip-rust. How do we make hydra and berlin build it? [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* [bug#32822] [PATCH 0/4] Finish rust bootstrapping. 2018-09-25 8:01 ` Danny Milosavljevic @ 2018-09-25 15:31 ` Ludovic Courtès 0 siblings, 0 replies; 8+ messages in thread From: Ludovic Courtès @ 2018-09-25 15:31 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: 32822 Hello, Danny Milosavljevic <dannym@scratchpost.org> skribis: > On Mon, 24 Sep 2018 21:38:21 +0200 > ludo@gnu.org (Ludovic Courtès) wrote: > >> Danny Milosavljevic <dannym@scratchpost.org> skribis: >> >> > Danny Milosavljevic (4): >> > gnu: rust: Hide "ar" entry from rust@1.21.0. >> > gnu: rust@1.23.0: Bootstrap by rust@1.22.0. >> > gnu: rust@1.23.0: Use rust-bootstrapped-package. >> > gnu: rust: Remove binary bootstrapper. >> >> Do I get it right that mrustc is capable enough to build Rust 1.19, and >> from there on we have the full chain? > > Yes (except for MIPS, where mrustc doesn't have the target settings in > upstreeam - but I do, but untested). Woohoo! Impressive. >> That sounds really exciting! And worth a blog post :-), if only to >> share with those who care about building from source: #bootstrappable, >> Debian, and other reproducible build people. > > Sure. Should I just E-Mail the text or how do I get it into the blog? You can send a .md file or a patch against guix-artwork.git (under website/posts) to guix-blog@gnu.org for feedback (though currently it’s just Jelle, Ricardo, and myself IIRC.) And then you can push to guix-artwork.git and I can do the CVS dance to put it on-line. >> FWIW the patches LGTM. I suppose you could push them to wip-rust, then >> we let hydra and berlin build it, and once it’s built (could be 36h >> later?) we merge into master. > > Okay. I've pushed them to wip-rust. How do we make hydra and berlin build it? If I didn’t make any mistake it should show up at: https://hydra.gnu.org/jobset/gnu/wip-rust https://berlin.guixsd.org/jobset/wip-rust Thanks for all the work! Ludo’. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-09-25 15:47 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-09-24 14:47 [bug#32822] [PATCH 0/4] Finish rust bootstrapping Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 1/4] gnu: rust: Hide "ar" entry from rust@1.21.0 Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 2/4] gnu: rust@1.23.0: Bootstrap by rust@1.22.0 Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 3/4] gnu: rust@1.23.0: Use rust-bootstrapped-package Danny Milosavljevic 2018-09-24 15:01 ` [bug#32822] [PATCH 4/4] gnu: rust: Remove binary bootstrapper Danny Milosavljevic 2018-09-24 19:38 ` [bug#32822] [PATCH 0/4] Finish rust bootstrapping Ludovic Courtès 2018-09-25 8:01 ` Danny Milosavljevic 2018-09-25 15:31 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).