···11{ fetchurl, lib, stdenv, zstd
22, autoPatchelfHook, gcc-unwrapped
33+, testers, buck2 # for passthru.tests
34}:
4556let
···6566 doInstallCheck = true;
6667 installCheckPhase = "$out/bin/buck2 --version";
67686868- passthru.updateScript = ./update.sh;
6969+ passthru = {
7070+ updateScript = ./update.sh;
7171+ tests = testers.testVersion {
7272+ package = buck2;
7373+7474+ # NOTE (aseipp): the buck2 --version command doesn't actually print out
7575+ # the given version tagged in the release, but a hash, but not the git
7676+ # hash; the entire version logic is bizarrely specific to buck2, and needs
7777+ # to be reworked the open source build to behave like expected. in the
7878+ # mean time, it *does* always print out 'buck2 <hash>...' so we can just
7979+ # match on "buck2"
8080+ version = "buck2";
8181+ };
8282+ };
8383+6984 meta = with lib; {
7085 description = "Fast, hermetic, multi-language build system";
7186 homepage = "https://buck2.build";
8787+ changelog = "https://github.com/facebook/buck2/releases/tag/${buck2-version}";
7288 license = with licenses; [ asl20 /* or */ mit ];
8989+ mainProgram = "buck2";
9090+ maintainers = with maintainers; [ thoughtpolice ];
7391 platforms = [
7492 "x86_64-linux" "aarch64-linux"
7593 "x86_64-darwin" "aarch64-darwin"
7694 ];
7777- maintainers = with maintainers; [ thoughtpolice ];
7895 };
7996}
···2828 #
2929 # We set SECURITY_WRITABLE_HOOKS n primarily for documentation purposes; the
3030 # config builder fails to detect that it has indeed been unset.
3131- SECURITY_SELINUX_DISABLE = no;
3131+ SECURITY_SELINUX_DISABLE = whenOlder "6.4" no; # On 6.4: error: unused option: SECURITY_SELINUX_DISABLE
3232 SECURITY_WRITABLE_HOOKS = option no;
33333434 STRICT_KERNEL_RWX = yes;