1{ stdenv, fetchFromGitHub, cmake, llvmPackages, libxml2 }:
2
3stdenv.mkDerivation rec {
4 version = "0.2.0";
5 name = "zig-${version}";
6
7 src = fetchFromGitHub {
8 owner = "zig-lang";
9 repo = "zig";
10 rev = "${version}";
11 sha256 = "0lym28z9mj6hfiq78x1fsd8y89h8xyfc1jgqyazi1g9r72427n07";
12 };
13
14 nativeBuildInputs = [ cmake ];
15 buildInputs = [ llvmPackages.clang-unwrapped llvmPackages.llvm libxml2 ];
16
17 cmakeFlags = [
18 "-DZIG_LIBC_INCLUDE_DIR=${stdenv.cc.libc_dev}/include"
19 "-DZIG_LIBC_LIB_DIR=${stdenv.cc.libc}/lib"
20 "-DCMAKE_BUILD_TYPE=Release"
21 "-DZIG_EACH_LIB_RPATH=On"
22 ];
23
24 preConfigure = ''
25 cmakeFlags="$cmakeFlags -DZIG_LIBC_STATIC_LIB_DIR=$(dirname $(cc -print-file-name=crtbegin.o)) -DZIG_DYNAMIC_LINKER=$(cc -print-file-name=ld-linux-x86-64.so.2)"
26 '';
27
28 meta = with stdenv.lib; {
29 description = "Programming languaged designed for robustness, optimality, and clarity";
30 homepage = https://ziglang.org/;
31 license = licenses.mit;
32 platforms = platforms.unix;
33 maintainers = [ maintainers.andrewrk ];
34 };
35}