Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 47 lines 973 B view raw
1{ 2 lib, 3 stdenv, 4 cmake, 5 libSrc, 6 stepreduce, 7 parallel, 8 zip, 9}: 10let 11 mkLib = 12 name: 13 stdenv.mkDerivation { 14 pname = "kicad-${name}"; 15 version = builtins.substring 0 10 (libSrc name).rev; 16 17 src = libSrc name; 18 19 nativeBuildInputs = [ 20 cmake 21 ] 22 ++ lib.optionals (name == "packages3d") [ 23 stepreduce 24 parallel 25 zip 26 ]; 27 28 postInstall = 29 lib.optionalString (name == "packages3d") '' 30 find $out -type f -name '*.step' | parallel 'stepreduce {} {} && zip -9 {.}.stpZ {} && rm {}' 31 '' 32 + lib.optionalString (name == "footprints") '' 33 grep -rl '\.step' $out | xargs sed -i 's/\.step/.stpZ/g' 34 ''; 35 36 meta = { 37 license = lib.licenses.cc-by-sa-40; 38 platforms = lib.platforms.all; 39 }; 40 }; 41in 42{ 43 symbols = mkLib "symbols"; 44 templates = mkLib "templates"; 45 footprints = mkLib "footprints"; 46 packages3d = mkLib "packages3d"; 47}