1{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2, zlib, substituteAll }:
2
3llvmPackages.stdenv.mkDerivation rec {
4 version = "0.6.0";
5 pname = "zig";
6
7 src = fetchFromGitHub {
8 owner = "ziglang";
9 repo = pname;
10 rev = version;
11 sha256 = "13dwm2zpscn4n0p5x8ggs9n7mwmq9cgip383i3qqphg7m3pkls8z";
12 };
13
14 nativeBuildInputs = [ cmake ];
15 buildInputs = [
16 llvmPackages.clang-unwrapped
17 llvmPackages.llvm
18 llvmPackages.lld
19 libxml2
20 zlib
21 ];
22
23 preBuild = ''
24 export HOME=$TMPDIR;
25 '';
26
27 checkPhase = ''
28 runHook preCheck
29 ./zig test $src/test/stage1/behavior.zig
30 runHook postCheck
31 '';
32
33 doCheck = true;
34
35 meta = with stdenv.lib; {
36 description =
37 "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software";
38 homepage = "https://ziglang.org/";
39 license = licenses.mit;
40 platforms = platforms.unix;
41 maintainers = [ maintainers.andrewrk ];
42 };
43}