From 339c1365fd090795154bf6086f0102d7c9079c95 Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Fri, 29 Mar 2019 00:38:02 +0100 Subject: gnu: rust: Refactor in order to prepare for newer Rust versions. * gnu/packages/rust.scm (rust-source): Rename to... (rust-source-pre-1.32): ...this. Add PATCH-FLAGS. (rust-bootstrapped-package): Rename to... (rust-bootstrapped-package-pre-1.32): ...this. (rust-source): New procedure. (rust-bootstrapped-package): New procedure. (mrustc): Use rust-bootstrapped-package-pre-1.32. (rust-1.19): Use rust-bootstrapped-package-pre-1.32. (rust-1.20): Use rust-bootstrapped-package-pre-1.32. (rust-1.21): Use rust-bootstrapped-package-pre-1.32. (rust-1.22): Use rust-bootstrapped-package-pre-1.32. (rust-1.23): Use rust-bootstrapped-package-pre-1.32. (rust-1.24): Use rust-bootstrapped-package-pre-1.32. (rust-1.25): Use rust-bootstrapped-package-pre-1.32. (rust-1.26): Use rust-bootstrapped-package-pre-1.32. (rust-1.27): Use rust-bootstrapped-package-pre-1.32. (rust-1.28): Use rust-bootstrapped-package-pre-1.32. (rust-1.29): Use rust-bootstrapped-package-pre-1.32. (rust-1.30): Use rust-bootstrapped-package-pre-1.32. (rust): Use rust-bootstrapped-package-pre-1.32. Signed-off-by: Danny Milosavljevic --- gnu/packages/rust.scm | 133 +++++++++++++++++++++++++++++++------------------- 1 file changed, 84 insertions(+), 49 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 074d9b0655..bdb8d5fa2a 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -70,7 +70,10 @@ (define* (nix-system->gnu-triplet-for-rust (_ (nix-system->gnu-triplet system)))) -(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 @@ (define* (rust-source version hash #:key (patches '())) (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 @@ (define-public mrustc ("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 @@ (define rust-1.19 (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 @@ (define rust-1.19 (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) @@ -570,7 +608,7 @@ (define-public rust-1.20 #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) @@ -586,7 +624,7 @@ (define-public rust-1.21 #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) @@ -602,7 +640,7 @@ (define-public rust-1.22 #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) @@ -621,8 +659,8 @@ (define-public rust-1.23 (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 @@ -643,7 +681,7 @@ (define-public rust-1.24 ;;; 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 @@ -674,7 +712,7 @@ (define-public rust-1.25 (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")))) @@ -729,13 +767,13 @@ (define-public rust-1.26 (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 @@ -758,13 +796,13 @@ (define-public rust-1.27 (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 @@ -792,22 +830,22 @@ (define-public rust-1.28 (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 @@ -839,19 +877,16 @@ (define-public rust-1.30 ;; these for now (("fn include") "#[ignore]\nfn include") (("fn exclude") "#[ignore]\nfn exclude")) - #t)) - ;; Appears that this test isn't currently running and has been - ;; moved elsewhere, so the patch doesn't apply. - (delete 'disable-amd64-avx-test)))))))) + #t))))))))) (define-public rust (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 -- cgit v1.2.3 From 586d30caa2fb6372ab991f4284e92b19ebf15878 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Fri, 29 Mar 2019 00:43:10 +0100 Subject: gnu: rust: Fix test setup. * gnu/packages/rust.scm (rust-1.30)[arguments]<#:phases> [disable-amd64-avx-test]: Replace. (rust)[arguments]<#:phases>[disable-amd64-avx-test]: Replace. --- gnu/packages/rust.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index bdb8d5fa2a..5151cacd42 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -877,7 +877,13 @@ (define-public rust-1.30 ;; these for now (("fn include") "#[ignore]\nfn include") (("fn exclude") "#[ignore]\nfn exclude")) - #t))))))))) + #t)) + ;; The test has been moved elsewhere. + (replace 'disable-amd64-avx-test + (lambda _ + (substitute* "src/test/ui/run-pass/issues/issue-44056.rs" + (("only-x86_64") "ignore-test")) + #t))))))))) (define-public rust (let ((base-rust @@ -908,6 +914,12 @@ (define-public rust ((" Command::new\\(\"echo\"\\)") (string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n"))) #t))) + ;; The test has been moved elsewhere. + (replace 'disable-amd64-avx-test + (lambda _ + (substitute* "src/test/ui/issues/issue-44056.rs" + (("only-x86_64") "ignore-test")) + #t)) (add-after 'patch-tests 'patch-process-docs-rev-cmd (lambda* _ ;; Disable some doc tests which depend on the "rev" command -- cgit v1.2.3 From d7d3bdca890e1a39c7e3dde3fe11dad9e14cf875 Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Fri, 29 Mar 2019 00:46:10 +0100 Subject: gnu: rust: Update to 1.32.0. * gnu/packages/rust.scm (rust): Rename to... (rust-1.31): ...this. (rust): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/rust.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 6 deletions(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 5151cacd42..63426a12fc 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -882,10 +882,10 @@ (define-public rust-1.30 (replace 'disable-amd64-avx-test (lambda _ (substitute* "src/test/ui/run-pass/issues/issue-44056.rs" - (("only-x86_64") "ignore-test")) + (("only-x86_64") "ignore-test")) #t))))))))) -(define-public rust +(define-public rust-1.31 (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.30 "1.31.1" "0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli" @@ -914,10 +914,10 @@ (define-public rust ((" Command::new\\(\"echo\"\\)") (string-append "\nCommand::new(\"" coreutils "/bin/echo\")\n"))) #t))) - ;; The test has been moved elsewhere. - (replace 'disable-amd64-avx-test - (lambda _ - (substitute* "src/test/ui/issues/issue-44056.rs" + ;; The test has been moved elsewhere. + (replace 'disable-amd64-avx-test + (lambda _ + (substitute* "src/test/ui/issues/issue-44056.rs" (("only-x86_64") "ignore-test")) #t)) (add-after 'patch-tests 'patch-process-docs-rev-cmd @@ -927,3 +927,56 @@ (define-public rust (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)) + ;; Remove no longer relevant steps + (delete 'remove-flaky-test) + (delete 'patch-aarch64-test)))))))) -- cgit v1.2.3 From 6d511a53cf790c10677848f797ad3c71a935c913 Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Tue, 2 Apr 2019 19:33:21 -0700 Subject: gnu: rust: Update to 1.33.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/rust.scm (rust): Rename to... (rust-1.32): ...this. (rust): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/rust.scm | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 63426a12fc..5198fd3328 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -928,7 +928,7 @@ (define-public rust-1.31 (("```rust") "```rust,no_run")) #t))))))))) -(define-public rust +(define-public rust-1.32 (let ((base-rust (rust-bootstrapped-package rust-1.31 "1.32.0" "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac" @@ -980,3 +980,30 @@ (define-public rust ;; Remove no longer relevant steps (delete 'remove-flaky-test) (delete 'patch-aarch64-test)))))))) + +(define-public rust-1.33 + (let ((base-rust + (rust-bootstrapped-package rust-1.32 "1.33.0" + "152x91mg7bz4ygligwjb05fgm1blwy2i70s2j03zc9jiwvbsh0as" + #:patches '()))) + (package + (inherit base-rust) + (inputs + ;; Upgrade to jemalloc@5.1.0 + (alist-replace "jemalloc" (list jemalloc) + (package-inputs base-rust))) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (delete 'ignore-cargo-package-tests) + (add-after 'configure 'configure-test-threads + ;; Several rustc and cargo tests will fail if run on one core + ;; https://github.com/rust-lang/rust/issues/59122 + ;; https://github.com/rust-lang/cargo/issues/6746 + ;; https://github.com/rust-lang/rust/issues/58907 + (lambda* (#:key inputs #:allow-other-keys) + (setenv "RUST_TEST_THREADS" "2") + #t))))))))) + +(define-public rust rust-1.33) -- cgit v1.2.3 From 55548cdc6af701bfa3df51139a9cf8fa3a2fcfa5 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 3 Apr 2019 19:00:44 +0200 Subject: gnu: rust: Enable parallel tests starting with 1.26. * gnu/packages/rust.scm (rust-1.26)[arguments]<#:phases>[check]: Enable parallel tests. --- gnu/packages/rust.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 5198fd3328..f3b2d7366b 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -724,6 +724,16 @@ (define-public rust-1.26 `(modify-phases ,phases ;; binaryen was replaced with LLD project from LLVM (delete 'dont-build-native) + (replace 'check + (lambda* _ + ;; Enable parallel execution. + (let ((parallel-job-spec + (string-append "-j" (number->string + (min 4 + (parallel-job-count)))))) + (invoke "./x.py" parallel-job-spec "test" "-vv") + (invoke "./x.py" parallel-job-spec "test" + "src/tools/cargo")))) (replace 'remove-unsupported-tests (lambda* _ ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. -- cgit v1.2.3 From a5c72da46c302511ef77f02ed9725e701ab82687 Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Sun, 14 Apr 2019 09:54:58 -0700 Subject: gnu: rust: Update to 1.34.0. * gnu/packages/rust.scm (rust): Update to 1.34.0. --- gnu/packages/rust.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'gnu/packages/rust.scm') diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index f3b2d7366b..a82fdeb434 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -1016,4 +1016,18 @@ (define-public rust-1.33 (setenv "RUST_TEST_THREADS" "2") #t))))))))) -(define-public rust rust-1.33) +(define-public rust + (let ((base-rust + (rust-bootstrapped-package rust-1.33 "1.34.0" + "0n8z1wngkxab1rvixqg6w8b727hzpnm9wp9h8iy3mpbrzp7mmj3s" + #:patches '()))) + (package + (inherit base-rust) + (source + (origin + (inherit (package-source base-rust)) + (snippet '(begin + (delete-file-recursively "src/llvm-emscripten") + (delete-file-recursively "src/llvm-project") + (delete-file-recursively "vendor/jemalloc-sys/jemalloc") + #t))))))) -- cgit v1.2.3