aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/zig.scm79
1 files changed, 40 insertions, 39 deletions
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index dcca9a1121..882e5426dc 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -20,6 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages zig)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix git-download)
@@ -53,45 +54,45 @@
(native-inputs
(list llvm-15))
(arguments
- `(#:configure-flags
- (list ,@(if (%current-target-system)
- '(string-append "-DZIG_TARGET_TRIPLE="
- (%current-target-system))
- '())
- (string-append "-DZIG_TARGET_MCPU=baseline")
- "-DZIG_SHARED_LLVM=ON"
- (string-append "-DZIG_LIB_DIR=" (assoc-ref %outputs "out")
- "/lib/zig"))
- #:validate-runpath? #f ; TODO: zig binary can't find ld-linux.
- #:out-of-source? #f ; for tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'set-env-variables
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- ;; Set CC, since the stage 2 zig relies on it to find the libc
- ;; installation, and otherwise silently links against its own.
- (setenv "CC" ,(cc-for-target))
- ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
- (setenv "ZIG_GLOBAL_CACHE_DIR"
- (string-append (getcwd) "/zig-cache"))))
- (add-after 'patch-source-shebangs 'patch-more-shebangs
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Zig uses information about /usr/bin/env to determine the
- ;; version of glibc and other data.
- (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
- (("/usr/bin/env") (search-input-file inputs "/bin/env")))))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key outputs tests? #:allow-other-keys)
- (when tests?
- (invoke (string-append (assoc-ref outputs "out") "/bin/zig")
- "build" "test"
- ;; We're not testing the compiler bootstrap chain.
- "-Dskip-stage1"
- "-Dskip-stage2-tests"
- ;; Non-native tests try to link and execute non-native
- ;; binaries.
- "-Dskip-non-native")))))))
+ (list
+ #:configure-flags
+ #~(list #$@(if (%current-target-system)
+ (list (string-append "-DZIG_TARGET_TRIPLE="
+ (%current-target-system)))
+ '())
+ "-DZIG_TARGET_MCPU=baseline"
+ "-DZIG_SHARED_LLVM=ON"
+ (string-append "-DZIG_LIB_DIR=" #$output "/lib/zig"))
+ #:validate-runpath? #f ;TODO: zig binary can't find ld-linux.
+ #:out-of-source? #f ;for tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-env-variables
+ (lambda _
+ ;; Set CC, since the stage 2 zig relies on it to find the libc
+ ;; installation, and otherwise silently links against its own.
+ (setenv "CC" #$(cc-for-target))
+ ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'.
+ (setenv "ZIG_GLOBAL_CACHE_DIR"
+ (string-append (getcwd) "/zig-cache"))))
+ (add-after 'patch-source-shebangs 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Zig uses information about /usr/bin/env to determine the
+ ;; version of glibc and other data.
+ (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
+ (("/usr/bin/env") (search-input-file inputs "/bin/env")))))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke (string-append #$output "/bin/zig")
+ "build" "test"
+ ;; We're not testing the compiler bootstrap chain.
+ "-Dskip-stage1"
+ "-Dskip-stage2-tests"
+ ;; Non-native tests try to link and execute non-native
+ ;; binaries.
+ "-Dskip-non-native")))))))
(native-search-paths
(list
(search-path-specification