at 23.05-pre 62 lines 1.2 kB view raw
1{ lib 2, stdenv 3, fetchFromGitHub 4, cmake 5, llvmPackages 6, libxml2 7, zlib 8}: 9 10stdenv.mkDerivation rec { 11 pname = "zig"; 12 version = "0.9.1"; 13 14 src = fetchFromGitHub { 15 owner = "ziglang"; 16 repo = pname; 17 rev = version; 18 hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k="; 19 }; 20 21 # Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev) 22 patches = [ ./rpath.patch ]; 23 24 nativeBuildInputs = [ 25 cmake 26 llvmPackages.llvm.dev 27 ]; 28 29 buildInputs = [ 30 libxml2 31 zlib 32 ] ++ (with llvmPackages; [ 33 libclang 34 lld 35 llvm 36 ]); 37 38 preBuild = '' 39 export HOME=$TMPDIR; 40 ''; 41 42 cmakeFlags = [ 43 # file RPATH_CHANGE could not write new RPATH 44 "-DCMAKE_SKIP_BUILD_RPATH=ON" 45 ]; 46 47 doCheck = true; 48 checkPhase = '' 49 runHook preCheck 50 ./zig test --cache-dir "$TMPDIR" -I $src/test $src/test/behavior.zig 51 runHook postCheck 52 ''; 53 54 meta = with lib; { 55 homepage = "https://ziglang.org/"; 56 description = 57 "General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software"; 58 license = licenses.mit; 59 maintainers = with maintainers; [ aiotter andrewrk AndersonTorres ]; 60 platforms = platforms.unix; 61 }; 62}