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