From 67a70befab1966b026701e8e94cf19b1543075c5 Mon Sep 17 00:00:00 2001 From: Leon Klingele Date: Fri, 19 Jun 2026 12:27:25 +0200 Subject: [PATCH 1/9] go_1_27: init at 1.27rc1 https://go.dev/doc/go1.27 fix: vet The "nixpkgs-vet"[^0] CI job was failing before. - Attribute `pkgs.go_1_27` is a new top-level package using `pkgs.callPackage ./pkgs/development/compilers/go/1.27.nix { /* ... */ }`. Please define it in pkgs/by-name/go/go_1_27/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is `{ }`, no manual `callPackage` in pkgs/top-level/all-packages.nix is needed anymore. (https://github.com/NixOS/nixpkgs-vet/wiki/NPV-162) This PR introduces additional instances of discouraged patterns as listed above. Please fix them before merging. error: Cannot build '/nix/store/69y050xrdffqxils57mrqw43cf90i0xf-nixpkgs-vet.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/kxrknx65q0abw9m5mhpcivwhggpwm7l3-nixpkgs-vet Last 6 log lines: > - Attribute `pkgs.go_1_27` is a new top-level package using `pkgs.callPackage ./pkgs/development/compilers/go/1.27.nix { /* ... */ }`. > Please define it in pkgs/by-name/go/go_1_27/package.nix instead. > See `pkgs/by-name/README.md` for more details. > Since the second `callPackage` argument is `{ }`, no manual `callPackage` in pkgs/top-level/all-packages.nix is needed anymore. > (https://github.com/NixOS/nixpkgs-vet/wiki/NPV-162) > This PR introduces additional instances of discouraged patterns as listed above. Please fix them before merging. For full logs, run: nix log /nix/store/69y050xrdffqxils57mrqw43cf90i0xf-nixpkgs-vet.drv To run locally: ./ci/nixpkgs-vet.sh master https://github.com/NixOS/nixpkgs.git If you're having trouble, ping @NixOS/nixpkgs-vet Moving 1.27.nix into `pkgs/by-name/go/go_1_27/package.nix` is impractical because the file references many sibling files in `pkgs/development/compilers/go/` (patches, bootstrap files, etc.) Follow `pkgs/by-name/README.md` and use `inherit` to please the vet linter. [^0]: https://github.com/NixOS/nixpkgs/actions/runs/27820342521/job/82331726385?pr=533254#step:6:210 --- pkgs/development/compilers/go/1.27.nix | 204 ++++++++++++++++++ .../go/go_no_vendor_checks-1.27.patch | 26 +++ pkgs/top-level/all-packages.nix | 5 + 3 files changed, 235 insertions(+) create mode 100644 pkgs/development/compilers/go/1.27.nix create mode 100644 pkgs/development/compilers/go/go_no_vendor_checks-1.27.patch diff --git a/pkgs/development/compilers/go/1.27.nix b/pkgs/development/compilers/go/1.27.nix new file mode 100644 index 000000000000..2e71a083e8c7 --- /dev/null +++ b/pkgs/development/compilers/go/1.27.nix @@ -0,0 +1,204 @@ +{ + lib, + stdenv, + fetchurl, + tzdata, + replaceVars, + iana-etc, + mailcap, + buildPackages, + pkgsBuildTarget, + targetPackages, + # for testing + buildGo127Module, + callPackage, +}: + +let + goBootstrap = buildPackages.callPackage ./bootstrap124.nix { }; + + # We need a target compiler which is still runnable at build time, + # to handle the cross-building case where build != host == target + targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; + + isCross = stdenv.buildPlatform != stdenv.targetPlatform; +in +stdenv.mkDerivation (finalAttrs: { + pname = "go"; + version = "1.27rc1"; + + src = fetchurl { + url = "https://go.dev/dl/go${finalAttrs.version}.src.tar.gz"; + hash = "sha256-M49R9VfG2xI1o+64mgk2r29ODUEWKR7zuOQRhrxlUzQ="; + }; + + strictDeps = true; + buildInputs = + [ ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ stdenv.cc.libc.out ] + ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; + + depsBuildTarget = lib.optional isCross targetCC; + + depsTargetTarget = lib.optional stdenv.targetPlatform.isMinGW targetPackages.threads.package; + + postPatch = '' + patchShebangs . + ''; + + patches = [ + (replaceVars ./iana-etc-1.25.patch { + iana = iana-etc; + }) + # Patch the mimetype database location which is missing on NixOS. + # but also allow static binaries built with NixOS to run outside nix + (replaceVars ./mailcap-1.17.patch { + inherit mailcap; + }) + # prepend the nix path to the zoneinfo files but also leave the original value for static binaries + # that run outside a nix server + (replaceVars ./tzdata-1.19.patch { + inherit tzdata; + }) + ./remove-tools-1.11.patch + ./go_no_vendor_checks-1.27.patch + ./go-env-go_ldso.patch + ]; + + env = { + inherit (stdenv.targetPlatform.go) GOOS GOARCH GOARM; + # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. + # Go will nevertheless build a for host system that we will copy over in + # the install phase. + GOHOSTOS = stdenv.buildPlatform.go.GOOS; + GOHOSTARCH = stdenv.buildPlatform.go.GOARCH; + + GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 + # Wasi does not support CGO + # ppc64/linux CGO is incomplete/borked, and will likely not receive any further improvements + # https://github.com/golang/go/issues/8912 + # https://github.com/golang/go/issues/13192 + CGO_ENABLED = + if + ( + stdenv.targetPlatform.isWasi + || (stdenv.targetPlatform.isPower64 && stdenv.targetPlatform.isBigEndian) + ) + then + 0 + else + 1; + + GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + } + // lib.optionalAttrs isCross { + # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those + # to be different from CC/CXX + CC_FOR_TARGET = "${targetCC}/bin/${targetCC.targetPrefix}cc"; + CXX_FOR_TARGET = "${targetCC}/bin/${targetCC.targetPrefix}c++"; + }; + + buildPhase = '' + runHook preBuild + export GOCACHE=$TMPDIR/go-cache + if [ -f "$NIX_CC/nix-support/dynamic-linker" ]; then + export GO_LDSO=$(cat $NIX_CC/nix-support/dynamic-linker) + fi + + export PATH=$(pwd)/bin:$PATH + + ${lib.optionalString isCross '' + # Independent from host/target, CC should produce code for the building system. + # We only set it when cross-compiling. + export CC=${buildPackages.stdenv.cc}/bin/cc + # Prefer external linker for cross when CGO is supported, since + # we haven't taught go's internal linker to pick the correct ELF + # interpreter for cross + # When CGO is not supported we rely on static binaries being built + # since they don't need an ELF interpreter + export GO_EXTLINK_ENABLED=${toString finalAttrs.env.CGO_ENABLED} + ''} + ulimit -a + + pushd src + ./make.bash + popd + runHook postBuild + ''; + + preInstall = '' + # Contains the wrong perl shebang when cross compiling, + # since it is not used for anything we can deleted as well. + rm src/regexp/syntax/make_perl_groups.pl + '' + + ( + if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then + '' + mv bin/*_*/* bin + rmdir bin/*_* + ${lib.optionalString + ( + !( + finalAttrs.env.GOHOSTARCH == finalAttrs.env.GOARCH && finalAttrs.env.GOOS == finalAttrs.env.GOHOSTOS + ) + ) + '' + rm -rf pkg/${finalAttrs.env.GOHOSTOS}_${finalAttrs.env.GOHOSTARCH} pkg/tool/${finalAttrs.env.GOHOSTOS}_${finalAttrs.env.GOHOSTARCH} + '' + } + '' + else + lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) '' + rm -rf bin/*_* + ${lib.optionalString + ( + !( + finalAttrs.env.GOHOSTARCH == finalAttrs.env.GOARCH && finalAttrs.env.GOOS == finalAttrs.env.GOHOSTOS + ) + ) + '' + rm -rf pkg/${finalAttrs.env.GOOS}_${finalAttrs.env.GOARCH} pkg/tool/${finalAttrs.env.GOOS}_${finalAttrs.env.GOARCH} + '' + } + '' + ); + + installPhase = '' + runHook preInstall + mkdir -p $out/share/go + cp -a bin pkg src lib misc api doc go.env VERSION $out/share/go + mkdir -p $out/bin + ln -s $out/share/go/bin/* $out/bin + runHook postInstall + ''; + + disallowedReferences = [ goBootstrap ]; + + passthru = { + inherit goBootstrap; + tests = callPackage ./tests.nix { + go = finalAttrs.finalPackage; + buildGoModule = buildGo127Module; + }; + }; + + __structuredAttrs = true; + + meta = { + changelog = "https://go.dev/doc/devel/release#go${lib.versions.majorMinor finalAttrs.version}"; + description = "Go Programming language"; + homepage = "https://go.dev/"; + license = lib.licenses.bsd3; + teams = [ lib.teams.golang ]; + platforms = + lib.platforms.darwin ++ lib.platforms.linux ++ lib.platforms.wasi ++ lib.platforms.freebsd; + badPlatforms = [ + # Support for big-endian POWER < 8 was dropped in 1.9, but POWER8 users have less of a reason to run in big-endian mode than pre-POWER8 ones + # So non-LE ppc64 is effectively unsupported, and Go SIGILLs on affordable ppc64 hardware + # https://github.com/golang/go/issues/19074 - Dropped support for big-endian POWER < 8, with community pushback + # https://github.com/golang/go/issues/73349 - upstream will not accept submissions to fix this + "powerpc64-linux" + ]; + mainProgram = "go"; + }; +}) diff --git a/pkgs/development/compilers/go/go_no_vendor_checks-1.27.patch b/pkgs/development/compilers/go/go_no_vendor_checks-1.27.patch new file mode 100644 index 000000000000..591cf5428793 --- /dev/null +++ b/pkgs/development/compilers/go/go_no_vendor_checks-1.27.patch @@ -0,0 +1,26 @@ +diff --git a/src/cmd/go/internal/modload/import.go b/src/cmd/go/internal/modload/import.go +index 98f17ccff15b3378c44350615e19226b5b8ee68f..964f86a6dd25ed0c25a923ae4e946da8a2eff713 100644 +--- a/src/cmd/go/internal/modload/import.go ++++ b/src/cmd/go/internal/modload/import.go +@@ -350,7 +350,7 @@ func importFromModules(ld *Loader, ctx context.Context, path string, rs *Require + // vendor/modules.txt does not exist or the user manually added directories to the vendor directory. + // Go 1.23 and later require vendored packages to be present in modules.txt to be imported. + _, ok := vendorPkgModule[path] +- if ok || (gover.Compare(ld.MainModules.GoVersion(ld), gover.ExplicitModulesTxtImportVersion) < 0) { ++ if ok || (gover.Compare(ld.MainModules.GoVersion(ld), gover.ExplicitModulesTxtImportVersion) < 0) || os.Getenv("GO_NO_VENDOR_CHECKS") == "1" { + mods = append(mods, vendorPkgModule[path]) + dirs = append(dirs, dir) + roots = append(roots, vendorDir) +diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go +index 577e8f67769e0e92958ebcb684b3afa124014b64..ea7a45d90bcfb1dade2178e222b85ff52dee75b5 100644 +--- a/src/cmd/go/internal/modload/vendor.go ++++ b/src/cmd/go/internal/modload/vendor.go +@@ -159,7 +159,7 @@ func checkVendorConsistency(ld *Loader, indexes []*modFileIndex, modFiles []*mod + panic(fmt.Errorf("not in workspace mode but number of indexes is %v, not 1", len(indexes))) + } + index := indexes[0] +- if gover.Compare(index.goVersion, "1.14") < 0 { ++ if gover.Compare(index.goVersion, "1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) { + // Go versions before 1.14 did not include enough information in + // vendor/modules.txt to check for consistency. + // If we know that we're on an earlier version, relax the consistency check. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc70e4476e16..9863c35784b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7067,6 +7067,11 @@ with pkgs; go = buildPackages.go_1_26; }; + inherit ({ go_1_27 = callPackage ../development/compilers/go/1.27.nix { }; }) go_1_27; + buildGo127Module = callPackage ../build-support/go/module.nix { + go = buildPackages.go_1_27; + }; + ### DEVELOPMENT / HARE hareHook = callPackage ../by-name/ha/hare/hook.nix { }; From bc3d434a91e16e8facfba74de3e1c76dd2e4376f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 4 Jul 2026 14:15:54 +0200 Subject: [PATCH 2/9] puredns: init at 2.1.1 Domain resolver and subdomain bruteforcing tool https://github.com/d3mondev/puredns --- pkgs/by-name/pu/puredns/package.nix | 63 +++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 pkgs/by-name/pu/puredns/package.nix diff --git a/pkgs/by-name/pu/puredns/package.nix b/pkgs/by-name/pu/puredns/package.nix new file mode 100644 index 000000000000..f36d81ef6ab3 --- /dev/null +++ b/pkgs/by-name/pu/puredns/package.nix @@ -0,0 +1,63 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + fetchpatch2, + makeWrapper, + massdns, + nix-update-script, + versionCheckHook, +}: + +buildGoModule (finalAttrs: { + pname = "puredns"; + version = "2.1.1"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "d3mondev"; + repo = "puredns"; + tag = "v${finalAttrs.version}"; + hash = "sha256-3I4ZRj0bM6VfdnaG7pG9E4Qw4dpxlX4xJbsOIZu01i0="; + }; + + vendorHash = "sha256-JB0Xojjh2STXwrpZxCvTgvp80ZLtL0jhhzTsiYOWtIM="; + + overrideModAttrs = _: { patches = finalAttrs.patches; }; + + patches = [ + # https://github.com/d3mondev/puredns/pull/71 + (fetchpatch2 { + name = "bump-go.patch"; + url = "https://github.com/d3mondev/puredns/commit/4c58955c5d9450b9aecad2213c253a6eb2670c33.patch?full_index=1"; + hash = "sha256-CzlfN4ld065O7OVI5vILeyvv+jWBbAeweVgkeL80UDY="; + }) + ]; + + nativeBuildInputs = [ + makeWrapper + massdns + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + ldflags = [ "-s" ]; + + postFixup = '' + wrapProgram $out/bin/puredns --prefix PATH : "${lib.makeBinPath [ massdns ]}" + ''; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Domain resolver and subdomain bruteforcing tool"; + homepage = "https://github.com/d3mondev/puredns"; + changelog = "https://github.com/d3mondev/puredns/blob/${finalAttrs.src.rev}/CHANGELOG.md"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "puredns"; + }; +}) From 060e9bd242e9987ba3d7991d91e146170367909e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 4 Jul 2026 14:27:19 +0200 Subject: [PATCH 3/9] tldfinder: init at 0.0.2 Tool for discovering private TLDs https://github.com/projectdiscovery/tldfinder --- pkgs/by-name/tl/tldfinder/package.nix | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pkgs/by-name/tl/tldfinder/package.nix diff --git a/pkgs/by-name/tl/tldfinder/package.nix b/pkgs/by-name/tl/tldfinder/package.nix new file mode 100644 index 000000000000..232aacb52b59 --- /dev/null +++ b/pkgs/by-name/tl/tldfinder/package.nix @@ -0,0 +1,35 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, + versionCheckHook, +}: + +buildGoModule (finalAttrs: { + pname = "tldfinder"; + version = "0.0.2"; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "projectdiscovery"; + repo = "tldfinder"; + tag = "v${finalAttrs.version}"; + hash = "sha256-GUhhZK9jNGRQKDL6PIUmbVwhcFIUSI92YRnx0UcL680="; + }; + + vendorHash = "sha256-lY9AouIIj2OFBRLeaE/8KdF2siiBTuD8ieWdPZVNI9I="; + + ldflags = [ "-s" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Tool for discovering private TLDs"; + homepage = "https://github.com/projectdiscovery/tldfinder"; + changelog = "https://github.com/projectdiscovery/tldfinder/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "tldfinder"; + }; +}) From 0f7b0a8886927bb6f89d830b5aea0166870ae0b6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 4 Jul 2026 15:38:20 +0200 Subject: [PATCH 4/9] kingfisher: init at 1.102.0 Tool to detect leaked secrets and perform live validation https://github.com/mongodb/kingfisher --- pkgs/by-name/ki/kingfisher/package.nix | 67 ++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 pkgs/by-name/ki/kingfisher/package.nix diff --git a/pkgs/by-name/ki/kingfisher/package.nix b/pkgs/by-name/ki/kingfisher/package.nix new file mode 100644 index 000000000000..89aecee69843 --- /dev/null +++ b/pkgs/by-name/ki/kingfisher/package.nix @@ -0,0 +1,67 @@ +{ + lib, + boost, + cmake, + fetchFromGitHub, + libgit2, + nix-update-script, + openssl, + pkg-config, + rust-jemalloc-sys, + rustPlatform, + sqlite, + versionCheckHook, + zlib, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "kingfisher"; + version = "1.102.0"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "mongodb"; + repo = "kingfisher"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ksTpxjBGYfZIFx93O0Wa+Z4qbLdur+5oETWHiH6BiNM="; + }; + + cargoHash = "sha256-+m7rDZvR1nJmNj1IPydQdMq+/Xl7yVdrUO42BxRmkQY="; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + boost + libgit2 + openssl + rust-jemalloc-sys + sqlite + zlib + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + env = { + LIBSQLITE3_SYS_USE_PKG_CONFIG = true; + }; + + doInstallCheck = true; + + # Integration tests exceed memory limits and can crash + doCheck = false; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Tool to detect leaked secrets and perform live validation"; + homepage = "https://github.com/mongodb/kingfisher"; + changelog = "https://github.com/mongodb/kingfisher/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "kingfisher"; + }; +}) From 0420746c7f457309570946f6803c0fc4e57fdfe2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 4 Jul 2026 23:59:31 +0200 Subject: [PATCH 5/9] skewrun: init at 1.1.1 Active Directory time discovery toolkit https://github.com/JVBotelho/skewrun --- pkgs/by-name/sk/skewrun/package.nix | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 pkgs/by-name/sk/skewrun/package.nix diff --git a/pkgs/by-name/sk/skewrun/package.nix b/pkgs/by-name/sk/skewrun/package.nix new file mode 100644 index 000000000000..79966fa1ceb9 --- /dev/null +++ b/pkgs/by-name/sk/skewrun/package.nix @@ -0,0 +1,48 @@ +{ + lib, + fetchFromGitHub, + libfaketime, + makeBinaryWrapper, + nix-update-script, + rustPlatform, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "skewrun"; + version = "1.1.1"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "JVBotelho"; + repo = "skewrun"; + tag = "v${finalAttrs.version}"; + hash = "sha256-C4LF2am3gnQb+k9cdfB2xcszZ5imRBwz0ldP0gjfXRs="; + }; + + cargoHash = "sha256-hGJvirVLtP1ondLxJuyfiV7Y0+pGt8Pu3lzLAhRYtoo="; + + buildInputs = [ + libfaketime + makeBinaryWrapper + ]; + + postFixup = '' + wrapProgram $out/bin/skewrun --prefix PATH : "${ + lib.makeBinPath [ + libfaketime + ] + }" + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Active Directory time discovery toolkit"; + homepage = "https://github.com/JVBotelho/skewrun"; + changelog = "https://github.com/JVBotelho/skewrun/releases/tag/v${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "skewrun"; + }; +}) From fa18ee566a14d7b4ba2e73b1d567900733b7fc7c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 5 Jul 2026 10:31:19 +0200 Subject: [PATCH 6/9] subcat: 1.4.0-unstable-2025-05-13 -> 1.6.0-unstable-2026-06-28 --- pkgs/by-name/su/subcat/package.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/su/subcat/package.nix b/pkgs/by-name/su/subcat/package.nix index ccc7a8c00338..ed45fe752c85 100644 --- a/pkgs/by-name/su/subcat/package.nix +++ b/pkgs/by-name/su/subcat/package.nix @@ -6,21 +6,26 @@ python3.pkgs.buildPythonApplication { pname = "subcat"; - version = "1.4.0-unstable-2025-05-13"; + version = "1.6.0-unstable-2026-06-28"; pyproject = true; src = fetchFromGitHub { owner = "duty1g"; repo = "subcat"; - rev = "1b3d015b064f244bfbc05114e4d30ab17861fb46"; - hash = "sha256-Jft+3ZM9+luvRwO/pL3iTYkz+322TQ/HTD38MttJjQU="; + # https://github.com/duty1g/subcat/issues/10 + rev = "19535a896f60573a234d5b266d08cc6e78d8a525"; + hash = "sha256-E6gK5CHuFyu3GPyofHErlu92RAgl6jBPfWbTTX3aNtA="; }; build-system = with python3.pkgs; [ setuptools ]; dependencies = with python3.pkgs; [ + aiohttp + dnspython + playwright pyyaml requests + rich urllib3 ]; From fdbbfb693a0b4c3f17fb41d51b5802894c9c6928 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 5 Jul 2026 10:57:51 +0200 Subject: [PATCH 7/9] whale: init at 0.1.62 Terminal-first AI coding agent for DeepSeek https://github.com/usewhale/Whale --- pkgs/by-name/wh/whale/package.nix | 57 +++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pkgs/by-name/wh/whale/package.nix diff --git a/pkgs/by-name/wh/whale/package.nix b/pkgs/by-name/wh/whale/package.nix new file mode 100644 index 000000000000..71090fabc427 --- /dev/null +++ b/pkgs/by-name/wh/whale/package.nix @@ -0,0 +1,57 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + gitMinimal, + nix-update-script, + versionCheckHook, + writableTmpDirAsHomeHook, +}: + +buildGoModule (finalAttrs: { + pname = "whale"; + version = "0.1.62"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "usewhale"; + repo = "Whale"; + tag = "v${finalAttrs.version}"; + hash = "sha256-EvuNdgpW5M+i33tGLurQDq0z+Ht/z5agIsaWWapXqpY="; + }; + + vendorHash = "sha256-YBY5b2SLcWeiCQDZELJdsi+mJ+YEuo+yTbotUlLgqEA="; + + nativeCheckInputs = [ + gitMinimal + writableTmpDirAsHomeHook + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + ldflags = [ + "-s" + "-X=github.com/usewhale/whale/internal/build.Version=${finalAttrs.version}" + ]; + + excludedPackages = [ "cmd/dev" ]; + + checkFlags = [ + # Fails in the sandbox + "-skip=TestRulePolicyMCPPathOutsideWorkspaceRequiresExternalDirectoryApproval" + ]; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Terminal-first AI coding agent for DeepSeek"; + homepage = "https://github.com/usewhale/Whale"; + changelog = "https://github.com/usewhale/Whale/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "whale"; + }; +}) From e5db0aad3d641ba4f47a916eca27f944b1a52186 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 5 Jul 2026 13:02:24 +0200 Subject: [PATCH 8/9] bomly: init at 0.16.0 CLI for dependency intelligence, SBOMs, vulnerability auditing, and CI policy gates https://github.com/bomly-dev/bomly-cli --- pkgs/by-name/bo/bomly/package.nix | 66 ++++++++++ pkgs/by-name/bo/bomly/scan_targets.json | 160 ++++++++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 pkgs/by-name/bo/bomly/package.nix create mode 100644 pkgs/by-name/bo/bomly/scan_targets.json diff --git a/pkgs/by-name/bo/bomly/package.nix b/pkgs/by-name/bo/bomly/package.nix new file mode 100644 index 000000000000..e09af8124794 --- /dev/null +++ b/pkgs/by-name/bo/bomly/package.nix @@ -0,0 +1,66 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + grype, + makeBinaryWrapper, + nix-update-script, + syft, + versionCheckHook, +}: + +buildGoModule (finalAttrs: { + pname = "bomly"; + version = "0.16.0"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "bomly-dev"; + repo = "bomly-cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-y4FJCOzgEUprIBy/RuWVIlco4bI0XNUNabRr+2VebgM="; + }; + + vendorHash = "sha256-qptl09fBZigImxr0ReWIqdmvyeHqr372pZqDnyMHe5A="; + + # .gitattributes excludes all testdata from the GitHub tarball + postPatch = '' + mkdir -p internal/benchmark/testdata + cp ${./scan_targets.json} internal/benchmark/testdata/scan_targets.json + ''; + + buildInputs = [ makeBinaryWrapper ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + # testdata directories are excluded from the GitHub tarball via .gitattributes + doCheck = false; + + ldflags = [ + "-s" + "-X=main.version=${finalAttrs.version}" + ]; + + postFixup = '' + wrapProgram $out/bin/bomly --prefix PATH : "${ + lib.makeBinPath [ + grype + syft + ] + }" + ''; + + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI for dependency intelligence, SBOMs, vulnerability auditing, and CI policy gates"; + homepage = "https://github.com/bomly-dev/bomly-cli"; + changelog = "https://github.com/bomly-dev/bomly-cli/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ fab ]; + mainProgram = "bomly"; + }; +}) diff --git a/pkgs/by-name/bo/bomly/scan_targets.json b/pkgs/by-name/bo/bomly/scan_targets.json new file mode 100644 index 000000000000..95f0279f4b60 --- /dev/null +++ b/pkgs/by-name/bo/bomly/scan_targets.json @@ -0,0 +1,160 @@ +[ + { + "name": "scan-go", + "url": "https://github.com/bomly-dev/example-go-gomod", + "ref": "v1.0.0", + "ecosystem": "go", + "tools": ["go"], + "benchmark_enabled": true + }, + { + "name": "scan-npm", + "url": "https://github.com/bomly-dev/example-javascript-npm", + "ref": "v1.0.0", + "ecosystem": "npm", + "tools": ["npm"], + "benchmark_enabled": true + }, + { + "name": "scan-maven", + "url": "https://github.com/bomly-dev/example-java-maven", + "ref": "v1.0.0", + "ecosystem": "maven", + "tools": ["mvn"], + "benchmark_enabled": true + }, + { + "name": "scan-python-pip", + "url": "https://github.com/bomly-dev/example-python-pip", + "ref": "fe04c758134b95dab102e1fce10275f7d18c0cf2", + "ecosystem": "python", + "tools": ["pip"], + "benchmark_enabled": true + }, + { + "name": "scan-composer", + "url": "https://github.com/bomly-dev/example-php-composer", + "ref": "v1.0.0", + "ecosystem": "php", + "benchmark_enabled": true + }, + { + "name": "scan-bundler", + "url": "https://github.com/bomly-dev/example-ruby-bundler", + "ref": "v1.0.0", + "ecosystem": "ruby", + "benchmark_enabled": true + }, + { + "name": "scan-github-actions", + "url": "https://github.com/bomly-dev/example-github-actions", + "ref": "v1.0.0", + "ecosystem": "github-actions", + "benchmark_enabled": true + }, + { + "name": "scan-nuget", + "url": "https://github.com/bomly-dev/example-dotnet-nuget", + "ref": "v1.0.0", + "ecosystem": "dotnet", + "benchmark_enabled": true + }, + { + "name": "scan-cargo", + "url": "https://github.com/bomly-dev/example-rust-cargo", + "ref": "v1.0.0", + "ecosystem": "rust", + "benchmark_enabled": true + }, + { + "name": "scan-pub", + "url": "https://github.com/bomly-dev/example-dart-pub", + "ref": "v1.0.0", + "ecosystem": "dart", + "benchmark_enabled": true + }, + { + "name": "scan-cocoapods", + "url": "https://github.com/bomly-dev/example-swift-cocoapods", + "ref": "v1.0.0", + "ecosystem": "swift", + "benchmark_enabled": true + }, + { + "name": "scan-mix", + "url": "https://github.com/bomly-dev/example-elixir-mix", + "ref": "v1.0.0", + "ecosystem": "elixir", + "benchmark_enabled": true + }, + { + "name": "scan-swiftpm", + "url": "https://github.com/bomly-dev/example-swift-swiftpm", + "ref": "v1.0.0", + "ecosystem": "swift", + "benchmark_enabled": true + }, + { + "name": "scan-sbt", + "url": "https://github.com/bomly-dev/example-scala-sbt", + "ref": "v1.0.0", + "ecosystem": "scala", + "benchmark_enabled": true + }, + { + "name": "scan-yarn", + "url": "https://github.com/bomly-dev/example-javascript-yarn", + "ref": "v1.0.0", + "ecosystem": "npm", + "tools": ["npm"], + "benchmark_enabled": true + }, + { + "name": "scan-pnpm", + "url": "https://github.com/bomly-dev/example-javascript-pnpm", + "ref": "v1.0.0", + "ecosystem": "npm", + "tools": ["npm"], + "benchmark_enabled": true + }, + { + "name": "scan-gradle", + "url": "https://github.com/bomly-dev/example-java-gradle", + "ref": "v1.0.0", + "ecosystem": "maven", + "benchmark_enabled": true + }, + { + "name": "scan-python-pipenv", + "url": "https://github.com/bomly-dev/example-python-pipenv", + "ref": "v1.0.0", + "ecosystem": "python", + "args": ["--install-first"], + "tools": ["pipenv"], + "benchmark_enabled": true + }, + { + "name": "scan-python-poetry", + "url": "https://github.com/bomly-dev/example-python-poetry", + "ref": "v1.0.0", + "ecosystem": "python", + "tools": ["poetry"], + "benchmark_enabled": true + }, + { + "name": "scan-python-uv", + "url": "https://github.com/bomly-dev/example-python-uv", + "ref": "v1.0.0", + "ecosystem": "python", + "args": ["--install-first"], + "tools": ["uv"], + "benchmark_enabled": true + }, + { + "name": "scan-cpp-conan", + "url": "https://github.com/bomly-dev/example-cpp-conan", + "ref": "v1.0.0", + "ecosystem": "cpp", + "benchmark_enabled": true + } +] From 265873637bfdbc5a911f569897b345670cb5b42a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 6 Jul 2026 03:36:01 +0000 Subject: [PATCH 9/9] python3Packages.moyopy: 0.13.0 -> 0.14.0 --- pkgs/development/python-modules/moyopy/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/moyopy/default.nix b/pkgs/development/python-modules/moyopy/default.nix index ef26d9beeab1..b4efbc71cf17 100644 --- a/pkgs/development/python-modules/moyopy/default.nix +++ b/pkgs/development/python-modules/moyopy/default.nix @@ -16,7 +16,7 @@ buildPythonPackage (finalAttrs: { pname = "moyopy"; - version = "0.13.0"; + version = "0.14.0"; pyproject = true; __structuredAttrs = true; @@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: { owner = "spglib"; repo = "moyo"; tag = "v${finalAttrs.version}"; - hash = "sha256-obGrnXu1ldYAR5SL6ghaQAUFsNX68kXQJwGpskAriX4="; + hash = "sha256-xDgkKwWZovHgkJH3Jcp7/Yz8oAySdDVEbrOCGIpdI4c="; }; sourceRoot = "${finalAttrs.src.name}/moyopy"; @@ -47,7 +47,7 @@ buildPythonPackage (finalAttrs: { sourceRoot cargoRoot ; - hash = "sha256-7tdPpQ/BL5j1M+sAEyVBeIobto8csEO6lUmEhbQdZK8="; + hash = "sha256-xivPb07t7MPK09SCeXQqyycrI0WB+LgOB15pIA6cAkE="; }; build-system = [