···1+/* Helper expression for copy-tarballs. This returns (nearly) all
2+ tarballs used the free packages in Nixpkgs.
3+4+ Typical usage:
5+6+ $ copy-tarballs.pl --expr 'import <nixpkgs/maintainers/scripts/all-tarballs.nix>'
7+*/
8+9+removeAttrs (import ../../pkgs/top-level/release.nix
10+ { # Don't apply ‘hydraJob’ to jobs, because then we can't get to the
11+ # dependency graph.
12+ scrubJobs = false;
13+ # No need to evaluate on i686.
14+ supportedSystems = [ "x86_64-linux" ];
15+ })
16+ [ # Remove jobs whose evaluation depends on a writable Nix store.
17+ "tarball" "unstable"
18+ ]
+6-1
maintainers/scripts/copy-tarballs.pl
···9394 # Evaluate find-tarballs.nix.
95 my $expr = $ARGV[0] // die "$0: --expr requires a Nix expression\n";
96- my $pid = open(JSON, "-|", "nix-instantiate", "--eval-only", "--json", "--strict",
97 "<nixpkgs/maintainers/scripts/find-tarballs.nix>",
98 "--arg", "expr", $expr);
99 my $stdout = <JSON>;
···112 my $url = $fetch->{url};
113 my $algo = $fetch->{type};
114 my $hash = $fetch->{hash};
00000115116 if ($url !~ /^http:/ && $url !~ /^https:/ && $url !~ /^ftp:/ && $url !~ /^mirror:/) {
117 print STDERR "skipping $url (unsupported scheme)\n";
···9394 # Evaluate find-tarballs.nix.
95 my $expr = $ARGV[0] // die "$0: --expr requires a Nix expression\n";
96+ my $pid = open(JSON, "-|", "nix-instantiate", "--eval", "--json", "--strict",
97 "<nixpkgs/maintainers/scripts/find-tarballs.nix>",
98 "--arg", "expr", $expr);
99 my $stdout = <JSON>;
···112 my $url = $fetch->{url};
113 my $algo = $fetch->{type};
114 my $hash = $fetch->{hash};
115+116+ if (defined $ENV{DEBUG}) {
117+ print "$url $algo $hash\n";
118+ next;
119+ }
120121 if ($url !~ /^http:/ && $url !~ /^https:/ && $url !~ /^ftp:/ && $url !~ /^mirror:/) {
122 print STDERR "skipping $url (unsupported scheme)\n";
+2-3
maintainers/scripts/find-tarballs.nix
···1-# This expression returns a list of all fetchurl calls used by all
2-# packages reachable from release.nix.
34with import ../.. { };
5with lib;
67-{ expr ? removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" ] }:
89let
10
···1+# This expression returns a list of all fetchurl calls used by ‘expr’.
023with import ../.. { };
4with lib;
56+{ expr }:
78let
9