nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, fetchFromGitHub
3, cmake
4, llvmPackages
5, libxml2
6, zlib
7}:
8
9let
10 inherit (llvmPackages) stdenv;
11in
12stdenv.mkDerivation rec {
13 pname = "zig";
14 version = "0.9.1";
15
16 src = fetchFromGitHub {
17 owner = "ziglang";
18 repo = pname;
19 rev = version;
20 hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
21 };
22
23 nativeBuildInputs = [
24 cmake
25 llvmPackages.llvm.dev
26 ];
27
28 buildInputs = [
29 libxml2
30 zlib
31 ] ++ (with llvmPackages; [
32 libclang
33 lld
34 llvm
35 ]);
36
37 preBuild = ''
38 export HOME=$TMPDIR;
39 '';
40
41 doCheck = true;
42 checkPhase = ''
43 runHook preCheck
44 ./zig test --cache-dir "$TMPDIR" -I $src/test $src/test/behavior.zig
45 runHook postCheck
46 '';
47
48 meta = with lib; {
49 homepage = "https://ziglang.org/";
50 description =
51 "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
52 license = licenses.mit;
53 maintainers = with maintainers; [ andrewrk AndersonTorres ];
54 platforms = platforms.unix;
55 broken = stdenv.isDarwin; # See https://github.com/NixOS/nixpkgs/issues/86299
56 };
57}