<commit_before>{ stdenv, fetchurl, runCommand, python, perl, cdrkit, pathsFromGraph }:

{ packages ? []
, mirror ? "http://ftp.gwdg.de/pub/linux/sources.redhat.com/cygwin"
, extraContents ? []
}:

let
  cygPkgList = fetchurl {
    url = "${mirror}/x86_64/setup.ini";
    sha256 = "19vfm7zr8kcp1algmggk8vsilkccycx22mdf0ynfl6lcmp6dkfsz";
  };

  makeCygwinClosure = { packages, packageList }: let
    expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } ''
      python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out"
    '');
    gen = { url, md5 }: {
      source = fetchurl {
        url = "${mirror}/${url}";
        inherit md5;
      };
      target = url;
    };
  in map gen expr;

in import <nixpkgs/nixos/lib/make-iso9660-image.nix> {
  inherit (import <nixpkgs> {}) stdenv perl cdrkit pathsFromGraph;
  contents = [
    { source = fetchurl {
        url = "http://cygwin.com/setup-x86_64.exe";
        sha256 = "1bjmq9h1p6mmiqp6f1kvmg94jbsdi1pxfa07a5l497zzv9dsfivm";
      };
      target = "setup.exe";
    }
    { source = cygPkgList;
      target = "setup.ini";
    }
  ] ++ makeCygwinClosure {
    packages = cygPkgList;
    packageList = packages;
  } ++ extraContents;
}
<commit_msg>vm/windows: Add setup.ini for 32bit architecture.<commit_after>{ stdenv, fetchurl, runCommand, python, perl, cdrkit, pathsFromGraph }:

{ packages ? []
, mirror ? "http://ftp.gwdg.de/pub/linux/sources.redhat.com/cygwin"
, extraContents ? []
}:

let
  cygPkgList = if stdenv.is64bit then fetchurl {
    url = "${mirror}/x86_64/setup.ini";
    sha256 = "142f8zyfwgi6s2djxv3z5wn0ysl94pxwa79z8rjfqz4kvnpgz120";
  } else fetchurl {
    url = "${mirror}/x86/setup.ini";
    sha256 = "1v596lln2iip5h7wxjnig5rflzvqa21zzd2iyhx07zs28q5h76i9";
  };

  makeCygwinClosure = { packages, packageList }: let
    expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } ''
      python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out"
    '');
    gen = { url, md5 }: {
      source = fetchurl {
        url = "${mirror}/${url}";
        inherit md5;
      };
      target = url;
    };
  in map gen expr;

in import <nixpkgs/nixos/lib/make-iso9660-image.nix> {
  inherit (import <nixpkgs> {}) stdenv perl cdrkit pathsFromGraph;
  contents = [
    { source = fetchurl {
        url = "http://cygwin.com/setup-x86_64.exe";
        sha256 = "1bjmq9h1p6mmiqp6f1kvmg94jbsdi1pxfa07a5l497zzv9dsfivm";
      };
      target = "setup.exe";
    }
    { source = cygPkgList;
      target = "setup.ini";
    }
  ] ++ makeCygwinClosure {
    packages = cygPkgList;
    packageList = packages;
  } ++ extraContents;
}

{'fraction_non_alphanumeric': 0.1499811106913487, 'fraction_numerical': 0.048734416320362677, 'mean_word_length': 2.9879518072289155, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6535865', 'n_tokens_mistral': 1114, 'n_tokens_neox': 1043, 'n_words': 172}