nixpkgs/maintainers/scripts/audit-ruby-packages/default.nix
Victor Engmark 82c23622c7
rubyPackages: Add command to audit packages
For known security vulnerabilities.

Converts `pkgs/top-level/ruby-packages.nix` to a minimal `Gemfile.lock`
for `bundler-audit`.
2025-09-18 13:58:53 +02:00

16 lines
513 B
Nix

let
pkgs = import ../../.. { };
lockFileBody = pkgs.lib.concatStringsSep "\n" (
pkgs.lib.mapAttrsToList (name: props: " ${name} (${props.version})") (
pkgs.lib.filterAttrs (name: _props: name != "recurseForDerivations") pkgs.rubyPackages
)
);
in
pkgs.runCommand "bundle-audit" { } ''
mkdir "$out"
echo 'GEM' > "$out/Gemfile.lock"
echo ' remote: https://rubygems.org/' >> "$out/Gemfile.lock"
echo ' specs:' >> "$out/Gemfile.lock"
echo '${lockFileBody}' >> "$out/Gemfile.lock"
''