@@ -93,3 +93,43 @@
(synopsis "Rustc bootstrap")
(description "Rustc bootstrap.")
(license license:asl2.0)))
+
+(define-public cargo-bootstrap
+ (package
+ (name "cargo-bootstrap")
+ (version "1.12.0")
+ (source rust-bootstrap-x86_64-1.12.0)
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("patchelf" ,patchelf)))
+ (inputs
+ `(("gcc-lib" ,gcc "lib")
+ ("gcc-toolchain-6" ,gcc-toolchain-6)))
+ (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"))
+ (platform ,(system->rust-platform (%current-system)))
+ (ld-so (string-append (assoc-ref inputs "libc")
+ ,(glibc-dynamic-linker))))
+ (system* "bash" "install.sh"
+ (string-append "--prefix=" out)
+ "--components=cargo")
+ (zero? (system* "patchelf"
+ "--set-interpreter" ld-so
+ "--set-rpath"
+ (string-append
+ out "/lib:"
+ (assoc-ref inputs "gcc-lib") "/lib:"
+ (assoc-ref inputs "gcc-toolchain-6") "/lib")
+ (string-append out "/bin/cargo")))))))))
+ (home-page "https://www.rust-lang.org")
+ (synopsis "Cargo bootstrap")
+ (description "Cargo bootstrap.")
+ (license license:asl2.0)))