Update manifest to only use dev tools

This commit is contained in:
TakeV 2023-12-28 14:03:24 -05:00
parent 0b9abd61dc
commit 2990f45d11
Signed by: TakeV
GPG Key ID: A64F41345C7400AF
5 changed files with 304 additions and 796 deletions

View File

@ -7,36 +7,38 @@
(define-public rust-ubyte-0.10
(package
(name "rust-ubyte")
(version "0.10.3")
(source (origin
(method url-fetch)
(uri (crate-uri "ubyte" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rlg6sr14i3rd4kfhrwd7b7w7krlg6kpjxkd6vcx0si8gnp0s7y8"))))
(version "0.10.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "ubyte" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1spj3k9sx6xvfn7am9vm1b463hsr79nyvj8asi2grqhyrvvdw87p"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/SergioBenitez/ubyte")
(synopsis
"A simple, complete, const-everything, saturating, human-friendly, no_std library for byte units. ")
"A simple, complete, const-everything, saturating, human-friendly, no_std library for byte units.
")
(description
"This package provides a simple, complete, const-everything, saturating,human-friendly, no_std library for byte units.")
"This package provides a simple, complete, const-everything, saturating,
human-friendly, no_std library for byte units.")
(license (list license:expat license:asl2.0))))
(define-public rust-oid-registry-0.4
(package
(name "rust-oid-registry")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (crate-uri "oid-registry" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0akbah3j8231ayrp2l1y5d9zmvbvqcsj0sa6s6dz6h85z8bhgqiq"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "oid-registry" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0akbah3j8231ayrp2l1y5d9zmvbvqcsj0sa6s6dz6h85z8bhgqiq"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -50,13 +52,13 @@
(package
(name "rust-der-parser")
(version "7.0.0")
(source (origin
(method url-fetch)
(uri (crate-uri "der-parser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"10kfa2gzl3x20mwgrd43cyi79xgkqxyzcyrh0xylv4apa33qlfgy"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "der-parser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "10kfa2gzl3x20mwgrd43cyi79xgkqxyzcyrh0xylv4apa33qlfgy"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -76,13 +78,13 @@
(package
(name "rust-asn1-rs-derive")
(version "0.1.0")
(source (origin
(method url-fetch)
(uri (crate-uri "asn1-rs-derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1gzf9vab06lk0zjvbr07axx64fndkng2s28bnj27fnwd548pb2yv"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "asn1-rs-derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1gzf9vab06lk0zjvbr07axx64fndkng2s28bnj27fnwd548pb2yv"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -99,13 +101,13 @@
(package
(name "rust-asn1-rs")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (crate-uri "asn1-rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0czsk1nd4dx2k83f7jzkn8klx05wbmblkx1jh51i4c170akhbzrh"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "asn1-rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0czsk1nd4dx2k83f7jzkn8klx05wbmblkx1jh51i4c170akhbzrh"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -129,13 +131,13 @@
(package
(name "rust-x509-parser")
(version "0.13.2")
(source (origin
(method url-fetch)
(uri (crate-uri "x509-parser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"077bi0xyaa8cmrqf3rrw1z6kkzscwd1nxdxgs7mgz2ambg7bmfcz"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "x509-parser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "077bi0xyaa8cmrqf3rrw1z6kkzscwd1nxdxgs7mgz2ambg7bmfcz"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -155,17 +157,62 @@
(description "Parser for the X.509 v3 format (RFC 5280 certificates)")
(license (list license:expat license:asl2.0))))
(define-public rust-tokio-rustls-0.24
(package
(name "rust-tokio-rustls")
(version "0.24.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "tokio-rustls" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "10bhibg57mqir7xjhb2xmf24xgfpx6fzpyw720a4ih8a737jg0y2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-rustls" ,rust-rustls-0.21)
("rust-tokio" ,rust-tokio-1))))
(home-page "https://github.com/rustls/tokio-rustls")
(synopsis "Asynchronous TLS/SSL streams for Tokio using Rustls.")
(description "Asynchronous TLS/SSL streams for Tokio using Rustls.")
(license (list license:expat license:asl2.0))))
(define-public rust-state-0.6
(package
(name "rust-state")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "state" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1n3n2h324h1y5zhaajh6kplvzfvg1l6hsr8siggmf4yq8m24m31b"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-loom" ,rust-loom-0.5))))
(home-page "https://github.com/SergioBenitez/state")
(synopsis
"A library for safe and effortless global and thread-local state management.
")
(description
"This package provides a library for safe and effortless global and thread-local
state management.")
(license (list license:expat license:asl2.0))))
(define-public rust-stable-pattern-0.1
(package
(name "rust-stable-pattern")
(version "0.1.0")
(source (origin
(method url-fetch)
(uri (crate-uri "stable-pattern" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0i8hq82vm82mqj02qqcsd7caibrih7x5w3a1xpm8hpv30261cr25"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "stable-pattern" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0i8hq82vm82mqj02qqcsd7caibrih7x5w3a1xpm8hpv30261cr25"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -175,41 +222,75 @@
(description "Stable port of std::str::Pattern and friends.")
(license (list license:expat license:asl2.0))))
(define-public rust-rocket-http-0.5
(define-public rust-cookie-0.18
(package
(name "rust-rocket-http")
(version "0.5.0-rc.3")
(source (origin
(method url-fetch)
(uri (crate-uri "rocket_http" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1x4h411ldb59c6bq05r7dzi65xiqz7akd63zydkkm832j74i4q4k"))))
(name "rust-cookie")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "cookie" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1y2ywf9isq0dwpj7m7jq7r1g9cs3xr2i6qipw5v030hj2kv1rn9w"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-cookie" ,rust-cookie-0.17)
#:cargo-inputs (("rust-aes-gcm" ,rust-aes-gcm-0.10)
("rust-base64" ,rust-base64-0.21)
("rust-hkdf" ,rust-hkdf-0.12)
("rust-hmac" ,rust-hmac-0.12)
("rust-percent-encoding" ,rust-percent-encoding-2)
("rust-rand" ,rust-rand-0.8)
("rust-sha2" ,rust-sha2-0.10)
("rust-subtle" ,rust-subtle-2)
("rust-time" ,rust-time-0.3)
("rust-version-check" ,rust-version-check-0.9))))
(home-page "https://github.com/SergioBenitez/cookie-rs")
(synopsis
"HTTP cookie parsing and cookie jar management. Supports signed and private
(encrypted, authenticated) jars.
")
(description
"HTTP cookie parsing and cookie jar management. Supports signed and private
(encrypted, authenticated) jars.")
(license (list license:expat license:asl2.0))))
(define-public rust-rocket-http-0.5
(package
(name "rust-rocket-http")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rocket_http" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "17iq208zf9rfxdnx8hfjxnn51074cc9li99yjigzwnfhjhv6d89p"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-cookie" ,rust-cookie-0.18)
("rust-either" ,rust-either-1)
("rust-futures" ,rust-futures-0.3)
("rust-http" ,rust-http-0.2)
("rust-hyper" ,rust-hyper-0.14)
("rust-indexmap" ,rust-indexmap-1)
("rust-indexmap" ,rust-indexmap-2)
("rust-log" ,rust-log-0.4)
("rust-memchr" ,rust-memchr-2)
("rust-pear" ,rust-pear-0.2)
("rust-percent-encoding" ,rust-percent-encoding-2)
("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
("rust-ref-cast" ,rust-ref-cast-1)
("rust-rustls" ,rust-rustls-0.20)
("rust-rustls" ,rust-rustls-0.21)
("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
("rust-serde" ,rust-serde-1)
("rust-smallvec" ,rust-smallvec-1)
("rust-stable-pattern" ,rust-stable-pattern-0.1)
("rust-state" ,rust-state-0.5)
("rust-state" ,rust-state-0.6)
("rust-time" ,rust-time-0.3)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-rustls" ,rust-tokio-rustls-0.23)
("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
("rust-uncased" ,rust-uncased-0.9)
("rust-uuid" ,rust-uuid-1)
("rust-x509-parser" ,rust-x509-parser-0.13))))
@ -225,13 +306,13 @@
(package
(name "rust-devise-core")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (crate-uri "devise_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0sp5idq0idng9i5kwjd8slvc724s97r28arrhyqq1jpx1ax0vd9m"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "devise_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0sp5idq0idng9i5kwjd8slvc724s97r28arrhyqq1jpx1ax0vd9m"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -251,13 +332,13 @@ macros.")
(package
(name "rust-devise-codegen")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (crate-uri "devise_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1mpy5mmsigkj5f72gby82yk4advcqj97am2wzn0dwkj8vnwg934w"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "devise_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1mpy5mmsigkj5f72gby82yk4advcqj97am2wzn0dwkj8vnwg934w"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -274,13 +355,13 @@ macros.")
(package
(name "rust-devise")
(version "0.4.1")
(source (origin
(method url-fetch)
(uri (crate-uri "devise" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1y45iag4hyvspkdsf6d856hf0ihf9vjnaga3c7y6c72l7zywxsnn"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "devise" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1y45iag4hyvspkdsf6d856hf0ihf9vjnaga3c7y6c72l7zywxsnn"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -296,85 +377,42 @@ macros.")
(define-public rust-rocket-codegen-0.5
(package
(name "rust-rocket-codegen")
(version "0.5.0-rc.3")
(source (origin
(method url-fetch)
(uri (crate-uri "rocket_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12shzkr9zmc0v3r190nhcfavly28nngja2g4h94p93122hzkb4vh"))))
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rocket_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0k6hdf9s9y73kzj89qs688gnfjj1sl4imp6pdjz22pzpmdk808x2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-devise" ,rust-devise-0.4)
("rust-glob" ,rust-glob-0.3)
("rust-indexmap" ,rust-indexmap-1)
("rust-indexmap" ,rust-indexmap-2)
("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-rocket-http" ,rust-rocket-http-0.5)
("rust-syn" ,rust-syn-2)
("rust-unicode-xid" ,rust-unicode-xid-0.2))))
("rust-unicode-xid" ,rust-unicode-xid-0.2)
("rust-version-check" ,rust-version-check-0.9))))
(home-page "https://rocket.rs")
(synopsis "Procedural macros for the Rocket web framework.")
(description "Procedural macros for the Rocket web framework.")
(license (list license:expat license:asl2.0))))
(define-public rust-rmp-0.8
(package
(name "rust-rmp")
(version "0.8.12")
(source (origin
(method url-fetch)
(uri (crate-uri "rmp" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"083bbqw8ibqp63v6scmaxmy5x8yznj4j0i2n6jjivv9qrjk6163z"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-paste" ,rust-paste-1))))
(home-page "https://github.com/3Hren/msgpack-rust")
(synopsis "Pure Rust MessagePack serialization implementation")
(description "Pure Rust @code{MessagePack} serialization implementation")
(license license:expat)))
(define-public rust-rmp-serde-1
(package
(name "rust-rmp-serde")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (crate-uri "rmp-serde" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"12i5aglyni58hlq19pi58z1z6a1hv6l04p9y8ms8l3cqx9gaizmz"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-byteorder" ,rust-byteorder-1)
("rust-rmp" ,rust-rmp-0.8)
("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/3Hren/msgpack-rust")
(synopsis "Serde bindings for RMP")
(description "Serde bindings for RMP")
(license license:expat)))
(define-public rust-multer-2
(package
(name "rust-multer")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (crate-uri "multer" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1hjiphaypj3phqaj5igrzcia9xfmf4rr4ddigbh8zzb96k1bvb01"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "multer" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1hjiphaypj3phqaj5igrzcia9xfmf4rr4ddigbh8zzb96k1bvb01"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -403,13 +441,13 @@ macros.")
(package
(name "rust-yansi")
(version "1.0.0-rc.1")
(source (origin
(method url-fetch)
(uri (crate-uri "yansi" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xr3n41j5v00scfkac2d6vhkxiq9nz3l5j6vw8f3g3bqixdjjrqk"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "yansi" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xr3n41j5v00scfkac2d6vhkxiq9nz3l5j6vw8f3g3bqixdjjrqk"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -424,13 +462,13 @@ macros.")
(package
(name "rust-proc-macro2-diagnostics")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri (crate-uri "proc-macro2-diagnostics" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1j48ipc80pykvhx6yhndfa774s58ax1h6sm6mlhf09ls76f6l1mg"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "proc-macro2-diagnostics" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1j48ipc80pykvhx6yhndfa774s58ax1h6sm6mlhf09ls76f6l1mg"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -447,14 +485,14 @@ macros.")
(define-public rust-pear-codegen-0.2
(package
(name "rust-pear-codegen")
(version "0.2.7")
(source (origin
(method url-fetch)
(uri (crate-uri "pear_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0m0dras73cm92sqn1715ypn46h9z1r8sc043kq9rq1n8v89hz7ys"))))
(version "0.2.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "pear_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xrwnlncg7l64gfy82vf6kq55ww7p6krq6bc3pqwymxpiq76f8if"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -471,13 +509,13 @@ macros.")
(package
(name "rust-inlinable-string")
(version "0.1.15")
(source (origin
(method url-fetch)
(uri (crate-uri "inlinable_string" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ysjci8yfvxgf51z0ny2nnwhxrclhmb3vbngin8v4bznhr3ybyn8"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "inlinable_string" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1ysjci8yfvxgf51z0ny2nnwhxrclhmb3vbngin8v4bznhr3ybyn8"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -486,24 +524,24 @@ macros.")
(synopsis
"The `inlinable_string` crate provides the `InlinableString` type -- an owned, grow-able UTF-8 string that stores small strings inline and avoids heap-allocation -- and the `StringExt` trait which abstracts string operations over both `std::string::String` and `InlinableString` (or even your own custom string type).")
(description
"The `inlinable_string` crate provides the @code{`InlinableString`} type -- an
"The `inlinable_string` crate provides the `@code{InlinableString`} type -- an
owned, grow-able UTF-8 string that stores small strings inline and avoids
heap-allocation -- and the @code{`StringExt`} trait which abstracts string
operations over both `std::string::String` and @code{`InlinableString`} (or even
heap-allocation -- and the `@code{StringExt`} trait which abstracts string
operations over both `std::string::String` and `@code{InlinableString`} (or even
your own custom string type).")
(license (list license:asl2.0 license:expat))))
(define-public rust-pear-0.2
(package
(name "rust-pear")
(version "0.2.7")
(source (origin
(method url-fetch)
(uri (crate-uri "pear" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"077pd1lbr5g99gsmcbglcrq6izl32qvd2l2bc2cx6aajf76qd8v1"))))
(version "0.2.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "pear" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1j03s6m80iqldnm6jzh3k1fbyk0lxirx8bi4ivgq3k3sq7va1k2c"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@ -515,28 +553,48 @@ your own custom string type).")
(description "This package provides a pear is a fruit.")
(license (list license:expat license:asl2.0))))
(define-public rust-figment-0.10
(define-public rust-atomic-0.6
(package
(name "rust-figment")
(version "0.10.10")
(source (origin
(method url-fetch)
(uri (crate-uri "figment" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"19f932h57nzw6kd3ispch1aigcwj841sjw70f42qday9yhkf4is5"))))
(name "rust-atomic")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "atomic" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "15193mfhmrq3p6vi1a10hw3n6kvzf5h32zikhby3mdj0ww1q10cd"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-atomic" ,rust-atomic-0.5)
#:cargo-inputs (("rust-bytemuck" ,rust-bytemuck-1))))
(home-page "https://github.com/Amanieu/atomic-rs")
(synopsis "Generic Atomic<T> wrapper type")
(description "Generic Atomic<T> wrapper type")
(license (list license:asl2.0 license:expat))))
(define-public rust-figment-0.10
(package
(name "rust-figment")
(version "0.10.12")
(source
(origin
(method url-fetch)
(uri (crate-uri "figment" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vps8n6nnn0ca2cww60bibm5ka4d9lq2d5jik9z0b535h9fkx7v4"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-atomic" ,rust-atomic-0.6)
("rust-parking-lot" ,rust-parking-lot-0.12)
("rust-pear" ,rust-pear-0.2)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-serde-yaml" ,rust-serde-yaml-0.9)
("rust-tempfile" ,rust-tempfile-3)
("rust-toml" ,rust-toml-0.7)
("rust-toml" ,rust-toml-0.8)
("rust-uncased" ,rust-uncased-0.9)
("rust-version-check" ,rust-version-check-0.9))))
(home-page "https://github.com/SergioBenitez/Figment")
@ -549,13 +607,13 @@ your own custom string type).")
(package
(name "rust-binascii")
(version "0.1.4")
(source (origin
(method url-fetch)
(uri (crate-uri "binascii" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0wnaglgl72pn5ilv61q6y34w76gbg7crb8ifqk6lsxnq2gajjg9q"))))
(source
(origin
(method url-fetch)
(uri (crate-uri "binascii" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0wnaglgl72pn5ilv61q6y34w76gbg7crb8ifqk6lsxnq2gajjg9q"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t))
@ -569,14 +627,14 @@ your own custom string type).")
(define-public rust-rocket-0.5
(package
(name "rust-rocket")
(version "0.5.0-rc.3")
(source (origin
(method url-fetch)
(uri (crate-uri "rocket" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1jcwrkqvmbh1gwvg55kv6mdp8c9331hqzd45jq9gsp5f05s4ywsq"))))
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rocket" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0l4i93dai7pyzlkvdjkqg2g7ni1r6749cwx4nrrhsrr6rdybaywy"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-async-stream" ,rust-async-stream-0.3)
@ -587,8 +645,7 @@ your own custom string type).")
("rust-either" ,rust-either-1)
("rust-figment" ,rust-figment-0.10)
("rust-futures" ,rust-futures-0.3)
("rust-indexmap" ,rust-indexmap-1)
("rust-is-terminal" ,rust-is-terminal-0.4)
("rust-indexmap" ,rust-indexmap-2)
("rust-log" ,rust-log-0.4)
("rust-memchr" ,rust-memchr-2)
("rust-multer" ,rust-multer-2)
@ -602,7 +659,7 @@ your own custom string type).")
("rust-rocket-http" ,rust-rocket-http-0.5)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-state" ,rust-state-0.5)
("rust-state" ,rust-state-0.6)
("rust-tempfile" ,rust-tempfile-3)
("rust-time" ,rust-time-0.3)
("rust-tokio" ,rust-tokio-1)
@ -611,7 +668,7 @@ your own custom string type).")
("rust-ubyte" ,rust-ubyte-0.10)
("rust-uuid" ,rust-uuid-1)
("rust-version-check" ,rust-version-check-0.9)
("rust-yansi" ,rust-yansi-0.5))
("rust-yansi" ,rust-yansi-1))
#:cargo-development-inputs (("rust-figment" ,rust-figment-0.10)
("rust-pretty-assertions" ,rust-pretty-assertions-1))))
(home-page "https://rocket.rs")
@ -621,226 +678,4 @@ your own custom string type).")
(description
"Web framework with a focus on usability, security, extensibility, and speed.")
(license (list license:expat license:asl2.0))))
(define-public rust-quick-xml-0.29
(package
(name "rust-quick-xml")
(version "0.29.0")
(source (origin
(method url-fetch)
(uri (crate-uri "quick-xml" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0lfaciwimmlsx9c6w3vhypk5ssqkhzi1vv0g95hpnb6q2n125fc1"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1)
("rust-document-features" ,rust-document-features-0.2)
("rust-encoding-rs" ,rust-encoding-rs-0.8)
("rust-memchr" ,rust-memchr-2)
("rust-serde" ,rust-serde-1)
("rust-tokio" ,rust-tokio-1))))
(home-page "https://github.com/tafia/quick-xml")
(synopsis "High performance xml reader and writer")
(description "High performance xml reader and writer")
(license license:expat)))
(define-public rust-plist-1
(package
(name "rust-plist")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (crate-uri "plist" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"01mfd4129p1iqadvpylpbx5ma3p2x4cdih2bwai5gnx3zqf01h5x"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-base64" ,rust-base64-0.21)
("rust-indexmap" ,rust-indexmap-1)
("rust-line-wrap" ,rust-line-wrap-0.1)
("rust-quick-xml" ,rust-quick-xml-0.29)
("rust-serde" ,rust-serde-1)
("rust-time" ,rust-time-0.3))))
(home-page "https://github.com/ebarnard/rust-plist/")
(synopsis "A rusty plist parser. Supports Serde serialization.")
(description
"This package provides a rusty plist parser. Supports Serde serialization.")
(license license:expat)))
(define-public rust-fancy-regex-0.11
(package
(name "rust-fancy-regex")
(version "0.11.0")
(source (origin
(method url-fetch)
(uri (crate-uri "fancy-regex" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"18j0mmzfycibhxhhhfja00dxd1vf8x5c28lbry224574h037qpxr"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5)
("rust-regex" ,rust-regex-1))))
(home-page "https://github.com/fancy-regex/fancy-regex")
(synopsis
"An implementation of regexes, supporting a relatively rich set of features, including backreferences and look-around.")
(description
"An implementation of regexes, supporting a relatively rich set of features,
including backreferences and look-around.")
(license license:expat)))
(define-public rust-syntect-5
(package
(name "rust-syntect")
(version "5.1.0")
(source (origin
(method url-fetch)
(uri (crate-uri "syntect" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14cg314vzabi45cdbqgcpav0dlx3d18blp24n3z8pl7q7cq4naz0"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-bincode" ,rust-bincode-1)
("rust-bitflags" ,rust-bitflags-1)
("rust-fancy-regex" ,rust-fancy-regex-0.11)
("rust-flate2" ,rust-flate2-1)
("rust-fnv" ,rust-fnv-1)
("rust-once-cell" ,rust-once-cell-1)
("rust-onig" ,rust-onig-6)
("rust-plist" ,rust-plist-1)
("rust-regex-syntax" ,rust-regex-syntax-0.7)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-walkdir" ,rust-walkdir-2)
("rust-yaml-rust" ,rust-yaml-rust-0.4))))
(home-page "https://github.com/trishume/syntect")
(synopsis
"library for high quality syntax highlighting and code intelligence using Sublime Text's grammars")
(description
"library for high quality syntax highlighting and code intelligence using Sublime
Text's grammars")
(license license:expat)))
(define-public rust-emojis-0.5
(package
(name "rust-emojis")
(version "0.5.3")
(source (origin
(method url-fetch)
(uri (crate-uri "emojis" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0pdrhzlx53ksb41dx3qjl6qg9nj711vj28r8d92pv0lij5sbq1rl"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-phf" ,rust-phf-0.11))))
(home-page "https://github.com/rossmacarthur/emojis")
(synopsis
"✨ Lookup and iterate over emoji names, shortcodes, and groups")
(description
"✨ Lookup and iterate over emoji names, shortcodes, and groups")
(license (list license:expat license:asl2.0))))
(define-public rust-comrak-0.16
(package
(name "rust-comrak")
(version "0.16.0")
(source (origin
(method url-fetch)
(uri (crate-uri "comrak" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"004m3512w5xwzxmsmmvgf5708is8d2qwj36cg4ay1b9dh783cj3q"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-clap" ,rust-clap-4)
("rust-emojis" ,rust-emojis-0.5)
("rust-entities" ,rust-entities-1)
("rust-memchr" ,rust-memchr-2)
("rust-once-cell" ,rust-once-cell-1)
("rust-pest" ,rust-pest-2)
("rust-pest-derive" ,rust-pest-derive-2)
("rust-regex" ,rust-regex-1)
("rust-shell-words" ,rust-shell-words-1)
("rust-slug" ,rust-slug-0.1)
("rust-syntect" ,rust-syntect-5)
("rust-typed-arena" ,rust-typed-arena-2)
("rust-unicode-categories" ,rust-unicode-categories-0.1)
("rust-xdg" ,rust-xdg-2))))
(home-page "https://github.com/kivikakk/comrak")
(synopsis
"A 100% CommonMark-compatible GitHub Flavored Markdown parser and formatter")
(description
"This package provides a 100% @code{CommonMark-compatible} @code{GitHub} Flavored
Markdown parser and formatter")
(license license:bsd-2)))
(define-public rust-askama-derive-0.12
(package
(name "rust-askama-derive")
(version "0.12.1")
(source (origin
(method url-fetch)
(uri (crate-uri "askama_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"157w36qk4l6nzcy23bhm0bhkkl6d4bzncsg5b21hjp2l2c2bwby2"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-basic-toml" ,rust-basic-toml-0.1)
("rust-mime" ,rust-mime-0.3)
("rust-mime-guess" ,rust-mime-guess-2)
("rust-nom" ,rust-nom-7)
("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-serde" ,rust-serde-1)
("rust-syn" ,rust-syn-2))))
(home-page "https://github.com/djc/askama")
(synopsis "Procedural macro package for Askama")
(description "Procedural macro package for Askama")
(license (list license:expat license:asl2.0))))
(define-public rust-askama-0.12
(package
(name "rust-askama")
(version "0.12.0")
(source (origin
(method url-fetch)
(uri (crate-uri "askama" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0zmmrzwy1l5mlzwxlwjvssh23i55bf1y9gkvf8rri3gsfg7w7js7"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-askama-derive" ,rust-askama-derive-0.12)
("rust-askama-escape" ,rust-askama-escape-0.10)
("rust-comrak" ,rust-comrak-0.16)
("rust-humansize" ,rust-humansize-2)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-percent-encoding" ,rust-percent-encoding-2)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-serde-yaml" ,rust-serde-yaml-0.9))))
(home-page "https://github.com/djc/askama")
(synopsis "Type-safe, compiled Jinja-like templates for Rust")
(description "Type-safe, compiled Jinja-like templates for Rust")
(license (list license:expat license:asl2.0))))

View File

@ -1,34 +1,31 @@
(load "rust.scm")
(load "crates-io.scm")
(define-module (meowy-webring)
#:use-module (crates-io)
#:use-module (guix)
#:use-module (guix build-system cargo)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages crates-io)
#:use-module (rust)
#:use-module (srfi srfi-1))
:use-module (crates-io)
#:use-module (guix)
#:use-module (guix build-system cargo)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages crates-io)
#:use-module (srfi srfi-1))
(define (keep-file? file stat)
(not (any (lambda (my-string)
(string-contains file my-string))
(list ".git" ".dir-locals.el" "guix.scm" ".guix"))))
(or (git-predicate (current-source-directory))
(const #t)))
(define-public meowy-webring
(package
(name "meowy-webring")
(version "0.1.0-git")
(source (local-file "../.." "meowy-webring-checkout"
#:recursive? #t
#:select? keep-file?))
(build-system cargo-build-system)
(arguments (list #:rust backported-rust
#:cargo-inputs `(("rust-rocket" ,rust-rocket-0.5)
("rust-askama" ,rust-askama-0.12))))
(synopsis "")
(description "")
(home-page "")
(license license:cc0)))
(package
(name "meowy-webring")
(version "0.1.0-git")
(source (local-file "../.." "meowy-webring-checkout"
#:recursive? #t
#:select? keep-file?))
(build-system cargo-build-system)
(arguments (list #:cargo-inputs `(("rust-rocket" ,rust-rocket-0.5)
("rust-serde" ,rust-serde-1))))
(synopsis "")
(description "")
(home-page "")
(license license:cc0)))
meowy-webring

View File

@ -1,20 +0,0 @@
--- a/vendor/fd-lock/Cargo.toml 2023-05-31 14:44:48.000000000 -0700
+++ b/vendor/fd-lock/Cargo.toml 2023-07-14 21:19:34.637702319 -0700
@@ -45,7 +45,7 @@
[target."cfg(unix)".dependencies.rustix]
version = "0.37.0"
-features = ["fs"]
+features = ["fs", "cc"]
[target."cfg(windows)".dependencies.windows-sys]
version = "0.45.0"
--- a/src/bootstrap/Cargo.lock 2023-07-11 20:32:40.000000000 -0700
+++ b/src/bootstrap/Cargo.lock 2023-07-14 22:41:53.269284713 -0700
@@ -618,6 +618,7 @@
dependencies = [
"bitflags",
+ "cc",
"errno",
"io-lifetimes",
"libc",

View File

@ -1,302 +0,0 @@
(define-module (rust)
#:use-module (guix)
#:use-module (guix build-system cargo)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages gdb)
#:use-module (gnu packages linux)
#:use-module (gnu packages rust)
#:use-module (srfi srfi-1))
(define rust-1.68
(@@ (gnu packages rust) rust-1.68))
(define rust-bootstrapped-package
(@@ (gnu packages rust) rust-bootstrapped-package))
(define %cargo-reference-hash
(@@ (gnu packages rust) %cargo-reference-hash))
(define rust-1.69
(let ((base-rust
(rust-bootstrapped-package
rust-1.68 "1.69.0" "03zn7kx5bi5mdfsqfccj4h8gd6abm7spj0kjsfxwlv5dcwc9f1gv")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
(snippet
'(begin
(for-each delete-file-recursively
'("src/llvm-project"
"vendor/tikv-jemalloc-sys/jemalloc"))
;; Also remove the bundled (mostly Windows) libraries.
(for-each delete-file
(find-files "vendor" ".*\\.(a|dll|exe|lib)$")))))))))
(define rust-1.70
(let ((base-rust
(rust-bootstrapped-package
rust-1.69 "1.70.0" "0z6j7d0ni0rmfznv0w3mrf882m11kyh51g2bxkj40l3s1c0axgxj")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
;; Rust 1.70 uses the rustix library which on Linux, it defaults to
;; using outline ASM which without the cc cargo feature enabled, it
;; will expect a precompiled binary library. This patch will enable the cargo
;; cc feature flag inside the fd-lock vendored Cargo.toml file, which is the
;; crate that uses rustix.
(patches (list "./patches/rust-1.70-fix-rustix-build.patch"))
(patch-flags '("-p1"))))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:phases phases)
`(modify-phases ,phases
(replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys)
(let ((job-spec (string-append
"-j" (if parallel-build?
(number->string (parallel-job-count))
"1"))))
(invoke "./x.py" job-spec "build" "--stage=1"
"library/std"
"src/tools/cargo")))))))))))
(define rust-1.71
(let ((base-rust
(rust-bootstrapped-package
rust-1.70 "1.71.0" "15jc0d13cmrh2xvpkyyvsbwgn3w4klqiwf2wlgzfp22mvjmy8rx6")))
(package
(inherit base-rust)
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:validate-runpath? _ #t)
#f)
((#:phases phases)
`(modify-phases ,phases
(replace 'patch-cargo-checksums
(lambda _
(substitute* '("Cargo.lock"
"src/bootstrap/Cargo.lock"
"src/tools/rust-analyzer/Cargo.lock"
"src/tools/cargo/Cargo.lock")
(("(checksum = )\".*\"" all name)
(string-append name "\"" ,%cargo-reference-hash "\"")))
(generate-all-checksums "vendor"))))))))))
;;; Function to make creating a list to ignore tests a bit easier.
(define (make-ignore-test-list strs)
(map (lambda (str)
(let ((ignore-string (format #f "#[ignore]\n~a" str)))
`((,str) ,ignore-string)))
strs))
;;; Note: Only the latest versions of Rust are supported and tested. The
;;; intermediate rusts are built for bootstrapping purposes and should not
;;; be relied upon. This is to ease maintenance and reduce the time
;;; required to build the full Rust bootstrap chain.
;;;
;;; Here we take the latest included Rust, make it public, and re-enable tests
;;; and extra components such as rustfmt.
(define-public backported-rust
(let ((base-rust rust-1.71))
(package
(inherit base-rust)
(outputs (cons "rustfmt" (package-outputs base-rust)))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:tests? _ #f)
(not (%current-target-system)))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'relax-gdb-auto-load-safe-path
;; Allow GDB to load binaries from any location, otherwise the
;; gdbinfo tests fail. This is only useful when testing with a
;; GDB version newer than 8.2.
(lambda _
(setenv "HOME" (getcwd))
(with-output-to-file (string-append (getenv "HOME") "/.gdbinit")
(lambda _
(format #t "set auto-load safe-path /~%")))
;; Do not launch gdb with '-nx' which causes it to not execute
;; any init file.
(substitute* "src/tools/compiletest/src/runtest.rs"
(("\"-nx\".as_ref\\(\\), ")
""))))
(add-after 'unpack 'patch-cargo-env-shebang
(lambda _
(substitute* '("src/tools/cargo/tests/testsuite/build.rs"
"src/tools/cargo/tests/testsuite/fix.rs")
;; The cargo *_wrapper tests set RUSTC.*WRAPPER environment
;; variable which points to /usr/bin/env. Since it's not a
;; shebang, it needs to be manually patched.
(("/usr/bin/env")
(which "env")))))
(add-after 'unpack 'disable-tests-requiring-git
(lambda _
(substitute* "src/tools/cargo/tests/testsuite/git.rs"
,@(make-ignore-test-list '("fn fetch_downloads_with_git2_first_then_with_gitoxide_and_vice_versa"
"fn git_fetch_cli_env_clean"
"fn git_with_cli_force"
"fn use_the_cli")))
;; Gitoxide tests seem to require the internet to run
;; and Guix build containers don't have the internet.
(substitute* "src/tools/cargo/tests/testsuite/git_shallow.rs"
,@(make-ignore-test-list
'("fn gitoxide_clones_git_dependency_with_shallow_protocol_and_git2_is_used_for_followup_fetches"
"fn gitoxide_clones_registry_with_shallow_protocol_and_aborts_and_updates_again"
"fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_fetch_maintains_shallowness"
"fn gitoxide_clones_registry_with_shallow_protocol_and_follow_up_with_git2_fetch"
"fn gitoxide_clones_registry_without_shallow_protocol_and_follow_up_fetch_uses_shallowness"
"fn gitoxide_clones_shallow_two_revs_same_deps"
"fn gitoxide_git_dependencies_switch_from_branch_to_rev"
"fn gitoxide_shallow_clone_followed_by_non_shallow_update"
"fn shallow_deps_work_with_revisions_and_branches_mixed_on_same_dependency")))
(substitute* "src/tools/cargo/tests/testsuite/offline.rs"
,@(make-ignore-test-list '("fn gitoxide_cargo_compile_offline_with_cached_git_dep_shallow_dep")))
(substitute* "src/tools/cargo/tests/testsuite/patch.rs"
,@(make-ignore-test-list '("fn gitoxide_clones_shallow_old_git_patch")))))
(add-after 'unpack 'disable-tests-requiring-mercurial
(lambda _
(substitute*
"src/tools/cargo/tests/testsuite/init/mercurial_autodetect/mod.rs"
,@(make-ignore-test-list '("fn case")))
(substitute*
"src/tools/cargo/tests/testsuite/init/simple_hg/mod.rs"
,@(make-ignore-test-list '("fn case")))
(substitute*
"src/tools/cargo/tests/testsuite/init/simple_hg_ignore_exists/mod.rs"
,@(make-ignore-test-list '("fn case")))
(substitute*
"src/tools/cargo/tests/testsuite/new.rs"
,@(make-ignore-test-list '("fn simple_hg")))))
(add-after 'unpack 'disable-tests-broken-on-aarch64
(lambda _
(with-directory-excursion "src/tools/cargo/tests/testsuite/"
(substitute* "build_script_extra_link_arg.rs"
(("^fn build_script_extra_link_arg_bin_single" m)
(string-append "#[ignore]\n" m)))
(substitute* "build_script.rs"
(("^fn env_test" m)
(string-append "#[ignore]\n" m)))
(substitute* "collisions.rs"
(("^fn collision_doc_profile_split" m)
(string-append "#[ignore]\n" m)))
(substitute* "concurrent.rs"
(("^fn no_deadlock_with_git_dependencies" m)
(string-append "#[ignore]\n" m)))
(substitute* "features2.rs"
(("^fn dep_with_optional_host_deps_activated" m)
(string-append "#[ignore]\n" m))))))
(add-after 'unpack 'patch-command-exec-tests
;; This test suite includes some tests that the stdlib's
;; `Command` execution properly handles in situations where
;; the environment or PATH variable are empty, but this fails
;; since we don't have `echo` available at its usual FHS
;; location.
(lambda _
(substitute* (match (find-files "." "^command-exec.rs$")
((file) file))
(("Command::new\\(\"echo\"\\)")
(format #f "Command::new(~s)" (which "echo"))))))
(add-after 'unpack 'patch-command-uid-gid-test
(lambda _
(substitute* (match (find-files "." "^command-uid-gid.rs$")
((file) file))
(("/bin/sh")
(which "sh")))))
(add-after 'unpack 'skip-shebang-tests
;; This test make sure that the parser behaves properly when a
;; source file starts with a shebang. Unfortunately, the
;; patch-shebangs phase changes the meaning of these edge-cases.
;; We skip the test since it's drastically unlikely Guix's
;; packaging will introduce a bug here.
(lambda _
(delete-file "tests/ui/parser/shebang/sneaky-attrib.rs")))
(add-after 'unpack 'patch-process-tests
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "library/std/src/process/tests.rs"
(("\"/bin/sh\"")
(string-append "\"" bash "/bin/sh\"")))
;; The three tests which are known to fail upstream on QEMU
;; emulation on aarch64 and riscv64 also fail on x86_64 in Guix's
;; build system. Skip them on all builds.
(substitute* "library/std/src/sys/unix/process/process_common/tests.rs"
(("target_arch = \"arm\",") "target_os = \"linux\",")))))
(add-after 'unpack 'disable-interrupt-tests
(lambda _
;; This test hangs in the build container; disable it.
(substitute* (match (find-files "." "^freshness.rs$")
((file) file))
(("fn linking_interrupted")
"#[ignore]\nfn linking_interrupted"))
;; Likewise for the ctrl_c_kills_everyone test.
(substitute* (match (find-files "." "^death.rs$")
((file) file))
(("fn ctrl_c_kills_everyone")
"#[ignore]\nfn ctrl_c_kills_everyone"))))
(add-after 'unpack 'adjust-rpath-values
;; This adds %output:out to rpath, allowing us to install utilities in
;; different outputs while reusing the shared libraries.
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "src/bootstrap/builder.rs"
((" = rpath.*" all)
(string-append all
" "
"rustflags.arg(\"-Clink-args=-Wl,-rpath="
out "/lib\");\n"))))))
(add-after 'configure 'add-gdb-to-config
(lambda* (#:key inputs #:allow-other-keys)
(let ((gdb (assoc-ref inputs "gdb")))
(substitute* "config.toml"
(("^python =.*" all)
(string-append all
"gdb = \"" gdb "/bin/gdb\"\n"))))))
(replace 'build
;; Phase overridden to also build rustfmt.
(lambda* (#:key parallel-build? #:allow-other-keys)
(let ((job-spec (string-append
"-j" (if parallel-build?
(number->string (parallel-job-count))
"1"))))
(invoke "./x.py" job-spec "build"
"library/std" ;rustc
"src/tools/cargo"
"src/tools/rustfmt"))))
(replace 'check
;; Phase overridden to also test rustfmt.
(lambda* (#:key tests? parallel-build? #:allow-other-keys)
(when tests?
(let ((job-spec (string-append
"-j" (if parallel-build?
(number->string (parallel-job-count))
"1"))))
(invoke "./x.py" job-spec "test" "-vv"
"library/std"
"src/tools/cargo"
"src/tools/rustfmt")))))
(replace 'install
;; Phase overridden to also install rustfmt.
(lambda* (#:key outputs #:allow-other-keys)
(invoke "./x.py" "install")
(substitute* "config.toml"
;; Adjust the prefix to the 'cargo' output.
(("prefix = \"[^\"]*\"")
(format #f "prefix = ~s" (assoc-ref outputs "cargo"))))
(invoke "./x.py" "install" "cargo")
(substitute* "config.toml"
;; Adjust the prefix to the 'rustfmt' output.
(("prefix = \"[^\"]*\"")
(format #f "prefix = ~s" (assoc-ref outputs "rustfmt"))))
(invoke "./x.py" "install" "rustfmt")))))))
;; Add test inputs.
(native-inputs (cons* `("gdb" ,gdb/pinned)
`("procps" ,procps)
(package-native-inputs base-rust))))))

View File

@ -3,10 +3,8 @@
;; that accepts a '--manifest' (or '-m') option.
(specifications->manifest
(list "nss-certs"
"rust-async-stream"
"rust-cargo"
"rust-rocket"
"rust-askama"
"rust-serde"
(list "gcc-toolchain"
"git"
"git-lfs"
"rust-cargo"
"rust"))