forked from tribes/guix
Compare commits
9 Commits
crypto-team
...
rust-team
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ea6f99ccd | |||
| d22e33ea60 | |||
| 137491a68e | |||
| 091c121514 | |||
| bc3e92e673 | |||
| 7208782e20 | |||
| 0c3f020dac | |||
| 60f7c740f8 | |||
| 42ed3aa37a |
@@ -3794,14 +3794,14 @@ background agent taking care of maintaining the necessary state.")
|
||||
(define-public rust-cargo-c
|
||||
(package
|
||||
(name "rust-cargo-c")
|
||||
(version "0.10.20+cargo-0.94.0")
|
||||
(version "0.10.21+cargo-0.95.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cargo-c" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0q1198xlkcd50nxx722s18lpm6hacnvzqqacb0xdld8ll9z3m5ay"))))
|
||||
(base32 "14bfybh3gzcrk7h22xxxhib1zc3m95j52ib258wxv64n939gln54"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments (list #:install-source? #f))
|
||||
(native-inputs
|
||||
|
||||
+581
-286
File diff suppressed because it is too large
Load Diff
+20
-5
@@ -1830,8 +1830,8 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(define-public rust-1.94
|
||||
(let ((base-rust
|
||||
(rust-bootstrapped-package
|
||||
rust-1.93 "1.94.0"
|
||||
"0k274dla70wnajjli2w80by9k4nqf2wah1lw9xhzy8gkscf94gxq")))
|
||||
rust-1.93 "1.94.1"
|
||||
"056mbblkhn5ig62v09r6938qmnb09ygy32n62vvwvqqjbxi2l52c")))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(source
|
||||
@@ -1901,7 +1901,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
;;; Here we take the latest included Rust, make it public, and re-enable tests
|
||||
;;; and extra components such as rustfmt.
|
||||
(define-public rust
|
||||
(let ((base-rust rust-1.93))
|
||||
(let ((base-rust rust-1.94))
|
||||
(package
|
||||
(inherit base-rust)
|
||||
(properties (append
|
||||
@@ -1922,6 +1922,17 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(cons '(srfi srfi-26) modules))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'patch-shebangs-in-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion
|
||||
"src/tools/rust-analyzer/crates/parser/test_data"
|
||||
(substitute* '("lexer/ok/shebang_frontmatter.rast"
|
||||
"parser/inline/ok/frontmatter.rast")
|
||||
(("/usr/bin/env cargo")
|
||||
(search-input-file inputs "bin/cargo")))
|
||||
(substitute* "lexer/ok/single_line_comments.rast"
|
||||
(("/usr/bin/env bash")
|
||||
(search-input-file inputs "bin/bash"))))))
|
||||
(add-after 'unpack 'disable-tests-requiring-git
|
||||
(lambda _
|
||||
(substitute* "src/tools/cargo/tests/testsuite/publish_lockfile.rs"
|
||||
@@ -2063,6 +2074,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
"library/std" ;rustc
|
||||
"src/tools/cargo"
|
||||
"src/tools/clippy"
|
||||
"src/tools/llvm-bitcode-linker"
|
||||
"src/tools/rust-analyzer"
|
||||
"src/tools/rustfmt"))))
|
||||
(replace 'check
|
||||
@@ -2082,7 +2094,10 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(replace 'install
|
||||
;; Phase overridden to also install more tools.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "./x.py" "install")
|
||||
;; Install rustc, std, and llvm-bitcode-linker.
|
||||
;; rust-src is handled separately in 'install-rust-src'.
|
||||
(invoke "./x.py" "install" "compiler/rustc" "library/std"
|
||||
"llvm-bitcode-linker")
|
||||
(substitute* "config.toml"
|
||||
;; Adjust the prefix to the 'cargo' output.
|
||||
(("prefix = \"[^\"]*\"")
|
||||
@@ -2130,7 +2145,7 @@ ge13ca993e8ccb9ba9847cc330696e02839f328f7/jemalloc"))
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "rust-src")
|
||||
"/lib/rustlib/src/rust/src/tools/")
|
||||
(substitute* (find-files "." "\\.rs$")
|
||||
(substitute* (find-files "." "\\.(rs|rast)$")
|
||||
(("#!.*/bin/cargo")
|
||||
(string-append "#!" (assoc-ref outputs "cargo")
|
||||
"/bin/cargo"))))))
|
||||
|
||||
+43
-47
@@ -4223,7 +4223,7 @@ be used for realtime video capture via Linux-specific APIs.")
|
||||
"-DENABLE_QSV11=OFF"
|
||||
"-DENABLE_NVENC=OFF"
|
||||
;; Requires a custom version of websocketpp in inputs, that's
|
||||
;; patched to be compatible with recent versions of Boost
|
||||
;; patched to be compatible with recent versions of Boost
|
||||
"-DENABLE_WEBSOCKET=ON"
|
||||
;; Browser plugin requires cef, but it is not packaged yet.
|
||||
;; <https://bitbucket.org/chromiumembedded/cef/src/master/>
|
||||
@@ -6486,7 +6486,7 @@ and audio capture, network stream playback, and many more.")
|
||||
(define-public dav1d
|
||||
(package
|
||||
(name "dav1d")
|
||||
(version "1.5.1")
|
||||
(version "1.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -6495,7 +6495,7 @@ and audio capture, network stream playback, and many more.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n0b5m4srdjsqg15plc9fng5kjv14ygqahjxy8863fbzhr13vjx9"))))
|
||||
(base32 "0x19r721gf91a37xqm70j7qcpadyd3m9lcf1lasxq73wnby5lxqk"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(if (target-x86?)
|
||||
@@ -6777,63 +6777,59 @@ result in several formats:
|
||||
(define-public rav1e
|
||||
(package
|
||||
(name "rav1e")
|
||||
(version "0.7.1")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rav1e" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1sawva6nmj2fvynydbcirr3nb7wjyg0id2hz2771qnv6ly0cx1yd"))))
|
||||
(base32 "0axk3ji3jmlr81svmsy5zvj8shmhpp8lz5nyghkq752xx1bdvdj3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:install-source? #f
|
||||
(list
|
||||
#:install-source? #f
|
||||
#:modules '((guix build cargo-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs outputs #:allow-other-keys)
|
||||
(unless ,(%current-target-system)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(bash-completions-dir
|
||||
(string-append out "/etc/bash_completion.d"))
|
||||
(zsh-completions-dir
|
||||
(string-append share "/zsh/site-functions"))
|
||||
(fish-completions-dir
|
||||
(string-append share "/fish/vendor_completions.d"))
|
||||
(elvish-completions-dir
|
||||
(string-append share "/elvish/lib"))
|
||||
(rav1e (string-append out "/bin/rav1e"))
|
||||
(common-flags '("-" "-o" "-" "advanced" "--completion")))
|
||||
(mkdir-p bash-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append bash-completions-dir "/rav1e")
|
||||
(lambda _ (apply invoke rav1e (append common-flags '("bash")))))
|
||||
(mkdir-p zsh-completions-dir)
|
||||
;; This one currently fails to build.
|
||||
;(with-output-to-file
|
||||
; (string-append zsh-completions-dir "/_rav1e")
|
||||
; (lambda _ (apply invoke rav1e (append common-flags '("zsh")))))
|
||||
(mkdir-p fish-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append fish-completions-dir "/rav1e.fish")
|
||||
(lambda _ (apply invoke rav1e (append common-flags '("fish")))))
|
||||
(mkdir-p elvish-completions-dir)
|
||||
(with-output-to-file
|
||||
(string-append elvish-completions-dir "/rav1e")
|
||||
(lambda _
|
||||
(apply invoke rav1e (append common-flags '("elvish"))))))))))))
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "cargo" "cinstall" "--release"
|
||||
;; Only build the dynamic library.
|
||||
"--library-type" "cdylib"
|
||||
(string-append "--prefix=" out)))))
|
||||
(add-after 'install 'install-completions
|
||||
(lambda* (#:key native-inputs #:allow-other-keys)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((shell . path)
|
||||
(mkdir-p (in-vicinity #$output (dirname path)))
|
||||
(let ((binary
|
||||
(if #$(%current-target-system)
|
||||
(search-input-file native-inputs "bin/rav1e")
|
||||
(in-vicinity #$output "bin/rav1e"))))
|
||||
(with-output-to-file (in-vicinity #$output path)
|
||||
(lambda _
|
||||
(invoke binary
|
||||
"-" "-o"
|
||||
"-" "advanced"
|
||||
"--completion" shell))))))
|
||||
'(("bash" . "share/bash-completion/completions/rav1e")
|
||||
("elvish" . "share/elvish/lib/rav1e")
|
||||
("fish" . "share/fish/vendor_completions.d/rav1e.fish")
|
||||
;; This one currently fails to build.
|
||||
;("zsh" . "share/zsh/site-functions/_rav1e")
|
||||
)))))))
|
||||
(native-inputs
|
||||
(append (if (target-x86?)
|
||||
(list nasm)
|
||||
'())
|
||||
(if (%current-target-system)
|
||||
(list this-package)
|
||||
'())
|
||||
(list pkg-config rust-cargo-c)))
|
||||
(inputs
|
||||
(cons* libgit2-1.9 zlib (cargo-inputs 'rav1e)))
|
||||
|
||||
@@ -390,10 +390,20 @@ directory = '" vendor-dir "'") port)
|
||||
(for-each
|
||||
(lambda (crate)
|
||||
(invoke "tar" "xzf" crate "-C" vendor-dir))
|
||||
(find-files "target/package" "\\.crate$"))
|
||||
(map (lambda (f) (string-append "target/package/" f))
|
||||
(scandir "target/package"
|
||||
(lambda (f) (string-suffix? ".crate" f)))))
|
||||
(patch-cargo-checksums #:vendor-dir vendor-dir))
|
||||
cargo-package-crates))
|
||||
|
||||
;; Cargo creates target/package/tmp-crate/ as scratch space during
|
||||
;; packaging and leaves .crate file copies there after uplifting them
|
||||
;; to target/package/. Delete it so the repacking scandir does not
|
||||
;; pick the tmp-crate directory instead of the extracted crate
|
||||
;; directory when crate names sort after "tmp-crate" alphabetically.
|
||||
(when (file-exists? "target/package/tmp-crate")
|
||||
(delete-file-recursively "target/package/tmp-crate"))
|
||||
|
||||
;; Then unpack the crate, reset the timestamp of all contained files, and
|
||||
;; repack them. This is necessary to ensure that they are reproducible.
|
||||
(with-directory-excursion "target/package"
|
||||
|
||||
Reference in New Issue
Block a user