Môi trường xây dựng tiêu chuẩn trong bộ sưu tập Gói Nix cung cấp môi trường để xây dựng các gói Unix tự động thực hiện nhiều tác vụ xây dựng phổ biến. Trên thực tế, đối với các gói Unix sử dụng giao diện bản dựng
source $stdenv/setup buildPhase[] { echo ".. this is my custom build phase ..." gcc foo.c -o foo } installPhase[] { mkdir -p $out/bin cp foo $out/bin } genericBuild5 tiêu chuẩn, bạn hoàn toàn không cần phải viết tập lệnh bản dựng; . Nếu
source $stdenv/setup buildPhase[] { echo ".. this is my custom build phase ..." gcc foo.c -o foo } installPhase[] { mkdir -p $out/bin cp foo $out/bin } genericBuild6 không tự động làm những gì bạn cần, bạn có thể dễ dàng tùy chỉnh hoặc ghi đè các giai đoạn xây dựng khác nhau
Để xây dựng một gói với môi trường tiêu chuẩn, bạn sử dụng hàm
source $stdenv/setup buildPhase[] { echo ".. this is my custom build phase ..." gcc foo.c -o foo } installPhase[] { mkdir -p $out/bin cp foo $out/bin } genericBuild7, thay vì hàm dựng sẵn nguyên thủy
source $stdenv/setup buildPhase[] { echo ".. this is my custom build phase ..." gcc foo.c -o foo } installPhase[] { mkdir -p $out/bin cp foo $out/bin } genericBuild8, e. g
stdenv.mkDerivation { name = "libfoo-1.2.3"; src = fetchurl { url = "//example.org/libfoo-1.2.3.tar.bz2"; sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m"; }; }
[
source $stdenv/setup buildPhase[] { echo ".. this is my custom build phase ..." gcc foo.c -o foo } installPhase[] { mkdir -p $out/bin cp foo $out/bin } genericBuild6 cần nằm trong phạm vi, vì vậy nếu bạn viết phần này trong một biểu thức Nix riêng biệt từ
let mapOffset[h, t, i] = i + [if i