mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-25 20:19:18 -05:00
gnu: make-rust-sysroot/implementation: Use gexps.
* gnu/packages/rust.scm (make-rust-sysroot/implementation): Use gexps. Change-Id: Ie35ca201c2a55f00023dad02a0d1121b6f298812
This commit is contained in:
parent
e5ee9403af
commit
f719373583
1 changed files with 113 additions and 114 deletions
|
@ -1353,7 +1353,7 @@ (define make-rust-sysroot/implementation
|
||||||
(substitute-keyword-arguments (package-arguments base-rust)
|
(substitute-keyword-arguments (package-arguments base-rust)
|
||||||
((#:tests? _ #f) #f) ; This package for cross-building.
|
((#:tests? _ #f) #f) ; This package for cross-building.
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
`(modify-phases ,phases
|
#~(modify-phases #$phases
|
||||||
(add-after 'unpack 'unbundle-xz
|
(add-after 'unpack 'unbundle-xz
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file-recursively "vendor/lzma-sys/xz-5.2")
|
(delete-file-recursively "vendor/lzma-sys/xz-5.2")
|
||||||
|
@ -1361,7 +1361,7 @@ (define make-rust-sysroot/implementation
|
||||||
;; This is necessary for building the sysroot.
|
;; This is necessary for building the sysroot.
|
||||||
(substitute* "vendor/lzma-sys/build.rs"
|
(substitute* "vendor/lzma-sys/build.rs"
|
||||||
(("!want_static && ") ""))))
|
(("!want_static && ") ""))))
|
||||||
,@(if (target-mingw? target)
|
#$@(if (target-mingw? target)
|
||||||
`((add-after 'set-env 'patch-for-mingw
|
`((add-after 'set-env 'patch-for-mingw
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(setenv "LIBRARY_PATH"
|
(setenv "LIBRARY_PATH"
|
||||||
|
@ -1401,13 +1401,13 @@ (define make-rust-sysroot/implementation
|
||||||
|
|
||||||
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
|
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
|
||||||
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
|
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
|
||||||
(when (assoc-ref inputs (string-append "glibc-cross-" ,target))
|
(when (assoc-ref inputs (string-append "glibc-cross-" #$target))
|
||||||
(setenv "LIBRARY_PATH"
|
(setenv "LIBRARY_PATH"
|
||||||
(string-join
|
(string-join
|
||||||
(delete
|
(delete
|
||||||
(string-append
|
(string-append
|
||||||
(assoc-ref inputs
|
(assoc-ref inputs
|
||||||
(string-append "glibc-cross-" ,target))
|
(string-append "glibc-cross-" #$target))
|
||||||
"/lib")
|
"/lib")
|
||||||
(string-split (getenv "LIBRARY_PATH") #\:))
|
(string-split (getenv "LIBRARY_PATH") #\:))
|
||||||
":"))
|
":"))
|
||||||
|
@ -1416,7 +1416,7 @@ (define make-rust-sysroot/implementation
|
||||||
(delete
|
(delete
|
||||||
(string-append
|
(string-append
|
||||||
(assoc-ref inputs
|
(assoc-ref inputs
|
||||||
(string-append "glibc-cross-" ,target))
|
(string-append "glibc-cross-" #$target))
|
||||||
"/include")
|
"/include")
|
||||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||||
":")))))
|
":")))))
|
||||||
|
@ -1425,7 +1425,7 @@ (define make-rust-sysroot/implementation
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(target-cc
|
(target-cc
|
||||||
(search-input-file
|
(search-input-file
|
||||||
inputs (string-append "/bin/" ,(cc-for-target target)))))
|
inputs (string-append "/bin/" #$(cc-for-target target)))))
|
||||||
(call-with-output-file "config.toml"
|
(call-with-output-file "config.toml"
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
(display (string-append "
|
(display (string-append "
|
||||||
|
@ -1437,7 +1437,7 @@ (define make-rust-sysroot/implementation
|
||||||
python = \"" (which "python") "\"
|
python = \"" (which "python") "\"
|
||||||
vendor = true
|
vendor = true
|
||||||
submodules = false
|
submodules = false
|
||||||
target = [\"" ,(platform-rust-target (lookup-platform-by-target target)) "\"]
|
target = [\"" #$(platform-rust-target (lookup-platform-by-target target)) "\"]
|
||||||
[install]
|
[install]
|
||||||
prefix = \"" out "\"
|
prefix = \"" out "\"
|
||||||
sysconfdir = \"etc\"
|
sysconfdir = \"etc\"
|
||||||
|
@ -1446,19 +1446,19 @@ (define make-rust-sysroot/implementation
|
||||||
jemalloc = false
|
jemalloc = false
|
||||||
default-linker = \"" target-cc "\"
|
default-linker = \"" target-cc "\"
|
||||||
channel = \"stable\"
|
channel = \"stable\"
|
||||||
[target." ,(platform-rust-target (lookup-platform-by-system (%current-system))) "]
|
[target." #$(platform-rust-target (lookup-platform-by-system (%current-system))) "]
|
||||||
# These are all native tools
|
# These are all native tools
|
||||||
llvm-config = \"" (search-input-file inputs "/bin/llvm-config") "\"
|
llvm-config = \"" (search-input-file inputs "/bin/llvm-config") "\"
|
||||||
linker = \"" (which "gcc") "\"
|
linker = \"" (which "gcc") "\"
|
||||||
cc = \"" (which "gcc") "\"
|
cc = \"" (which "gcc") "\"
|
||||||
cxx = \"" (which "g++") "\"
|
cxx = \"" (which "g++") "\"
|
||||||
ar = \"" (which "ar") "\"
|
ar = \"" (which "ar") "\"
|
||||||
[target." ,(platform-rust-target (lookup-platform-by-target target)) "]
|
[target." #$(platform-rust-target (lookup-platform-by-target target)) "]
|
||||||
llvm-config = \"" (search-input-file inputs "/bin/llvm-config") "\"
|
llvm-config = \"" (search-input-file inputs "/bin/llvm-config") "\"
|
||||||
linker = \"" target-cc "\"
|
linker = \"" target-cc "\"
|
||||||
cc = \"" target-cc "\"
|
cc = \"" target-cc "\"
|
||||||
cxx = \"" (search-input-file inputs (string-append "/bin/" ,(cxx-for-target target))) "\"
|
cxx = \"" (search-input-file inputs (string-append "/bin/" #$(cxx-for-target target))) "\"
|
||||||
ar = \"" (search-input-file inputs (string-append "/bin/" ,(ar-for-target target))) "\"
|
ar = \"" (search-input-file inputs (string-append "/bin/" #$(ar-for-target target))) "\"
|
||||||
[dist]
|
[dist]
|
||||||
") port))))))
|
") port))))))
|
||||||
(replace 'build
|
(replace 'build
|
||||||
|
@ -1503,8 +1503,7 @@ (define make-rust-sysroot/implementation
|
||||||
(cross-libc target)
|
(cross-libc target)
|
||||||
(cross-binutils target)))))
|
(cross-binutils target)))))
|
||||||
(properties
|
(properties
|
||||||
`((hidden? . #t)
|
`((hidden? . #t) ,(package-properties base-rust))))))
|
||||||
,(package-properties base-rust))))))
|
|
||||||
|
|
||||||
(define-public rust-analyzer
|
(define-public rust-analyzer
|
||||||
(package
|
(package
|
||||||
|
|
Loading…
Reference in a new issue