From da1f31a62ef82b4a3edf8a7f7bdf2d42e4ffab15 Mon Sep 17 00:00:00 2001 From: Stephane Raux Date: Wed, 16 Feb 2022 20:27:22 -0600 Subject: [PATCH 01/83] redhat-official-fonts: 2.3.2 -> 4.0.2 This update also makes the monospace font available. --- pkgs/data/fonts/redhat-official/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/data/fonts/redhat-official/default.nix b/pkgs/data/fonts/redhat-official/default.nix index 37ca9db9fa0b..9daaffd0b4ba 100644 --- a/pkgs/data/fonts/redhat-official/default.nix +++ b/pkgs/data/fonts/redhat-official/default.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub }: let - version = "2.3.2"; + version = "4.0.2"; in fetchFromGitHub { name = "redhat-official-${version}"; @@ -11,11 +11,13 @@ fetchFromGitHub { postFetch = '' tar xf $downloadedFile --strip=1 - install -m444 -Dt $out/share/fonts/opentype OTF/*.otf - install -m444 -Dt $out/share/fonts/truetype TTF/*.ttf + for kind in mono proportional; do + install -m444 -Dt $out/share/fonts/opentype fonts/$kind/static/otf/*.otf + install -m444 -Dt $out/share/fonts/truetype fonts/$kind/static/ttf/*.ttf + done ''; - sha256 = "1afvxmgif61hb17g8inmxvq30vkzwh30mydlqpf0zgvaaz8qdwmv"; + sha256 = "sha256-904uQtbAdLx9MJudLk/vVk/+uK0nsPbWbAeXrWxTHm8="; meta = with lib; { homepage = "https://github.com/RedHatOfficial/RedHatFont"; From 49edd414ef915936a70ce906180372b96cf5a04f Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Sun, 20 Feb 2022 11:24:45 +0100 Subject: [PATCH 02/83] lgogdownloader: 3.8 -> 3.9 --- pkgs/games/lgogdownloader/default.nix | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pkgs/games/lgogdownloader/default.nix b/pkgs/games/lgogdownloader/default.nix index 93f17dbb8135..0c40d537fcec 100644 --- a/pkgs/games/lgogdownloader/default.nix +++ b/pkgs/games/lgogdownloader/default.nix @@ -11,17 +11,19 @@ , rhash , tinyxml-2 , help2man +, testVersion +, lgogdownloader }: stdenv.mkDerivation rec { pname = "lgogdownloader"; - version = "3.8"; + version = "3.9"; src = fetchFromGitHub { owner = "Sude-"; repo = "lgogdownloader"; rev = "v${version}"; - sha256 = "sha256-LywFJCZevlhthOkAZo7JkXcPT9V6Zh28VD/MVQnMQjo="; + sha256 = "sha256-Qt9uTKsD0kQ6b9Y5+eC+YWpCHMIJGzP+pMfuUBt/fME="; }; nativeBuildInputs = [ @@ -40,15 +42,9 @@ stdenv.mkDerivation rec { tinyxml-2 ]; - doInstallCheck = true; - installCheckPhase = '' - if [[ "$("$out/bin/${pname}" --version)" == "LGOGDownloader ${version}" ]]; then - echo '${pname} smoke check passed' - else - echo '${pname} smoke check failed' - return 1 - fi - ''; + passthru.tests = { + version = testVersion { package = lgogdownloader; }; + }; meta = with lib; { description = "Unofficial downloader to GOG.com for Linux users. It uses the same API as the official GOGDownloader"; From 79f727ad47270cd9d7d976c9e39c9b0e895cd083 Mon Sep 17 00:00:00 2001 From: Daniel Nagy Date: Fri, 18 Feb 2022 17:42:24 +0100 Subject: [PATCH 03/83] gsctl: 0.15.4 -> 1.1.4 Also switch to buildGoModule. --- pkgs/applications/misc/gsctl/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/gsctl/default.nix b/pkgs/applications/misc/gsctl/default.nix index 15d8b9663960..95a909c29a97 100644 --- a/pkgs/applications/misc/gsctl/default.nix +++ b/pkgs/applications/misc/gsctl/default.nix @@ -1,18 +1,23 @@ -{ lib, buildGoPackage, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { +buildGoModule rec { pname = "gsctl"; - version = "0.15.4"; - - goPackagePath = "github.com/giantswarm/gsctl"; + version = "1.1.4"; src = fetchFromGitHub { owner = "giantswarm"; repo = pname; - rev = version; - sha256 = "0s5bli08wfd9xszx3kc90k51vlgjc00r0qg4mikb6qdc4pxpgsxj"; + rev = version; + sha256 = "sha256-uCNWgaLZMm1vPxFduj8mpjKYuYlp1ChF6bK+bmAWy50="; }; + vendorSha256 = "sha256-lZgHrQYqoyoM1Iv6vCqTMcv62zSKyxaAsq56kUXHrIA="; + + ldflags = + [ "-s" "-w" "-X github.com/giantswarm/gsctl/buildinfo.Version=${version}" ]; + + doCheck = false; + meta = with lib; { description = "The Giant Swarm command line interface"; homepage = "https://github.com/giantswarm/gsctl"; From 2809b54022aa7336ae2dc3b4b0277db22feb5ddd Mon Sep 17 00:00:00 2001 From: JesusMtnez Date: Mon, 21 Feb 2022 06:17:59 +0100 Subject: [PATCH 04/83] scalafmt: 3.4.0 -> 3.4.3 --- pkgs/development/tools/scalafmt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix index ee49ee1bf6d9..6a442424c4f7 100644 --- a/pkgs/development/tools/scalafmt/default.nix +++ b/pkgs/development/tools/scalafmt/default.nix @@ -2,7 +2,7 @@ let baseName = "scalafmt"; - version = "3.4.0"; + version = "3.4.3"; deps = stdenv.mkDerivation { name = "${baseName}-deps-${version}"; buildCommand = '' @@ -13,7 +13,7 @@ let ''; outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "l5F09bjRev2eBHKTMzojC7+USkW7qf3YtA2KSoN7MxM="; + outputHash = "FWGvhKK/VnvetnHS35/z1errYTRZCrcfWyEAHlhKApk="; }; in stdenv.mkDerivation { From 377cfd903bda6ed175f8e0189388c81889bed8bd Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 20 Feb 2022 17:01:55 -0500 Subject: [PATCH 05/83] pam_p11: fix on darwin --- pkgs/os-specific/linux/pam_p11/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/pam_p11/default.nix b/pkgs/os-specific/linux/pam_p11/default.nix index 1ed47ba53c2a..35199d3357b1 100644 --- a/pkgs/os-specific/linux/pam_p11/default.nix +++ b/pkgs/os-specific/linux/pam_p11/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, openssl, libp11, pam }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, openssl, libp11, pam, libintl }: stdenv.mkDerivation rec { pname = "pam_p11"; @@ -12,7 +12,8 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ pam openssl libp11 ]; + buildInputs = [ pam openssl libp11 ] + ++ lib.optionals stdenv.isDarwin [ libintl ]; meta = with lib; { homepage = "https://github.com/OpenSC/pam_p11"; From 3375bca83021cca5ee61742f0be2c7b46e6a7930 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Tue, 22 Feb 2022 01:23:18 -0500 Subject: [PATCH 06/83] pgbadger: mark as broken on darwin --- pkgs/tools/misc/pgbadger/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/pgbadger/default.nix b/pkgs/tools/misc/pgbadger/default.nix index d6e3588f6bb9..c7c4fd1f89b5 100644 --- a/pkgs/tools/misc/pgbadger/default.nix +++ b/pkgs/tools/misc/pgbadger/default.nix @@ -1,4 +1,4 @@ -{ buildPerlPackage, lib, fetchFromGitHub, which, bzip2, PodMarkdown, JSONXS +{ buildPerlPackage, stdenv, lib, fetchFromGitHub, which, bzip2, PodMarkdown, JSONXS , TextCSV }: buildPerlPackage rec { pname = "pgbadger"; @@ -27,5 +27,6 @@ buildPerlPackage rec { description = "A fast PostgreSQL Log Analyzer"; license = lib.licenses.postgresql; maintainers = lib.teams.determinatesystems.members; + broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/pgbadger.x86_64-darwin }; } From 93e8885f2acb1bdc84d950a1601e4da1a5a62ed9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Feb 2022 14:50:51 +0000 Subject: [PATCH 07/83] rednotebook: 2.23 -> 2.24 --- pkgs/applications/editors/rednotebook/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix index e5bdc28b80ef..76c94693d24b 100644 --- a/pkgs/applications/editors/rednotebook/default.nix +++ b/pkgs/applications/editors/rednotebook/default.nix @@ -5,13 +5,13 @@ buildPythonApplication rec { pname = "rednotebook"; - version = "2.23"; + version = "2.24"; src = fetchFromGitHub { owner = "jendrikseipp"; repo = "rednotebook"; rev = "v${version}"; - sha256 = "sha256-CLQWbwwJnr6Al223GvV1hVNK13p2iAyjNF7PhdaU9N0="; + sha256 = "sha256-nTFyRNJAhTrVlKdLd2F0jv7VcNn2pGTAegvfMjfHY84="; }; # We have not packaged tests. From e458303d2f1810634ad2483acd624562ff8ed550 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Tue, 22 Feb 2022 23:16:37 +0100 Subject: [PATCH 08/83] punes: 0.108 -> 0.109 --- pkgs/applications/emulators/punes/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/emulators/punes/default.nix b/pkgs/applications/emulators/punes/default.nix index 9b147de4fa93..dba83f41305d 100644 --- a/pkgs/applications/emulators/punes/default.nix +++ b/pkgs/applications/emulators/punes/default.nix @@ -20,25 +20,15 @@ mkDerivation rec { pname = "punes"; - version = "0.108"; + version = "0.109"; src = fetchFromGitHub { owner = "punesemu"; repo = "puNES"; rev = "v${version}"; - sha256 = "0inkwmvbr2w4addmgk9r4f13yismang9ylfgflhh9352lf0lirv8"; + sha256 = "sha256-6aRtR/d8nhzmpN9QKSZ62jye7qjfO+FpRMCXkX4Yubk="; }; - patches = [ - # Drop when version > 0.108 - # https://github.com/punesemu/puNES/issues/185 - (fetchpatch { - name = "0001-punes-Fixed-make-install.patch"; - url = "https://github.com/punesemu/puNES/commit/902434f50398ebcda0786ade4b28a0496084810e.patch"; - sha256 = "1a3052n3n1qipi4bd7f7gq4zl5jjjzzzpbijdisis2vxvhnfvcim"; - }) - ]; - postPatch = '' substituteInPlace configure.ac \ --replace '`$PKG_CONFIG --variable=host_bins Qt5Core`/lrelease' '${qttools.dev}/bin/lrelease' From bd9781eed56eee7baa40d8ecc55a84b9a623d1dd Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Wed, 23 Feb 2022 11:57:54 +0000 Subject: [PATCH 09/83] scorecard: 4.0.1 -> 4.1.0 --- pkgs/tools/security/scorecard/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/scorecard/default.nix b/pkgs/tools/security/scorecard/default.nix index a865e441f1ea..35ce8e900fb7 100644 --- a/pkgs/tools/security/scorecard/default.nix +++ b/pkgs/tools/security/scorecard/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "scorecard"; - version = "4.0.1"; + version = "4.1.0"; src = fetchFromGitHub { owner = "ossf"; repo = pname; rev = "v${version}"; - sha256 = "sha256-xZBK2gIIxuvO2fuSYyWitO1xT8ItfBVqt2JRJoyH+gg="; + sha256 = "sha256-QOWQhuEEnwtHmQwl5WCCHcKMjwhgxn9xerR0Bxi3660="; # populate values otherwise taken care of by goreleaser, # unfortunately these require us to use git. By doing # this in postFetch we can delete .git afterwards and @@ -27,7 +27,7 @@ buildGoModule rec { find "$out" -name .git -print0 | xargs -0 rm -rf ''; }; - vendorSha256 = "sha256-NSV7mDn1efQAO4jm6bJm12ExDFTN76TkmD4r61V6D2Q="; + vendorSha256 = "sha256-AFadBzkRj0D1MXLHzexvomJ0cqirhW82tnNRGx/gChI="; # Install completions post-install nativeBuildInputs = [ installShellFiles ]; @@ -48,6 +48,8 @@ buildGoModule rec { getGoDirs() { go list ./... | grep -v e2e } + # Ensure other e2e tests that have escaped the e2e dir dont run + export SKIP_GINKGO=1 ''; postInstall = '' From 7a36369036c44fd6bb5a6f57a6ccf75cea43dfec Mon Sep 17 00:00:00 2001 From: Ember 'n0emis' Keske Date: Tue, 23 Nov 2021 21:32:58 +0100 Subject: [PATCH 10/83] maintainers: add n0emis --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5e20969554d5..f02d96bc7b22 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8540,6 +8540,12 @@ githubId = 9636071; name = "Myrl Hex"; }; + n0emis = { + email = "nixpkgs@n0emis.network"; + github = "n0emis"; + githubId = 22817873; + name = "Ember Keske"; + }; nadrieril = { email = "nadrieril@gmail.com"; github = "nadrieril"; From 7cf49c38a5943571ce523700bd896f0fdadc8224 Mon Sep 17 00:00:00 2001 From: Ember 'n0emis' Keske Date: Tue, 23 Nov 2021 21:52:25 +0100 Subject: [PATCH 11/83] zammad: init at 5.0.2 Co-authored-by: Rok Garbas --- .../networking/misc/zammad/0001-nulldb.patch | 15 + .../networking/misc/zammad/default.nix | 134 + .../networking/misc/zammad/gemset.nix | 2834 +++++++++++++++++ .../networking/misc/zammad/source.json | 7 + .../networking/misc/zammad/update.nix | 35 + .../networking/misc/zammad/update.sh | 65 + .../networking/misc/zammad/yarn.lock | 2347 ++++++++++++++ .../networking/misc/zammad/yarn.nix | 2669 ++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 9 files changed, 8108 insertions(+) create mode 100644 pkgs/applications/networking/misc/zammad/0001-nulldb.patch create mode 100644 pkgs/applications/networking/misc/zammad/default.nix create mode 100644 pkgs/applications/networking/misc/zammad/gemset.nix create mode 100644 pkgs/applications/networking/misc/zammad/source.json create mode 100644 pkgs/applications/networking/misc/zammad/update.nix create mode 100755 pkgs/applications/networking/misc/zammad/update.sh create mode 100644 pkgs/applications/networking/misc/zammad/yarn.lock create mode 100644 pkgs/applications/networking/misc/zammad/yarn.nix diff --git a/pkgs/applications/networking/misc/zammad/0001-nulldb.patch b/pkgs/applications/networking/misc/zammad/0001-nulldb.patch new file mode 100644 index 000000000000..61971525b99d --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/0001-nulldb.patch @@ -0,0 +1,15 @@ +diff --git a/config/application.rb b/config/application.rb +index d85a17491..90ea5e387 100644 +--- a/config/application.rb ++++ b/config/application.rb +@@ -3,6 +3,7 @@ + require_relative 'boot' + + require 'rails/all' ++require 'nulldb' + require_relative 'issue_2656_workaround_for_rails_issue_33600' + + # DO NOT REMOVE THIS LINE - see issue #2037 +diff --git a/db/schema.rb b/db/schema.rb +new file mode 100644 +index 000000000..e69de29bb diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix new file mode 100644 index 000000000000..8060f582851e --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -0,0 +1,134 @@ +{ stdenv +, lib +, fetchFromGitHub +, bundlerEnv +, defaultGemConfig +, callPackage +, writeText +, procps +, ruby_2_7 +, postgresql +, imlib2 +, nodejs +, yarn +, yarn2nix-moretea +, v8 +, cacert +}: + +let + pname = "zammad"; + version = "5.0.2"; + + sourceDir = fetchFromGitHub (builtins.fromJSON (builtins.readFile ./source.json)); + + databaseConfig = writeText "database.yml" '' + production: + url: <%= ENV['DATABASE_URL'] %> + ''; + + secretsConfig = writeText "secrets.yml" '' + production: + secret_key_base: <%= ENV['SECRET_KEY_BASE'] %> + ''; + + rubyEnv = bundlerEnv { + name = "${pname}-gems-${version}"; + inherit version; + + # Which ruby version to select: + # https://docs.zammad.org/en/latest/prerequisites/software.html#ruby-programming-language + inherit ruby_2_7; + + gemdir = sourceDir; + gemset = ./gemset.nix; + groups = [ + "assets" + "unicorn" # server + "nulldb" + "test" + "mysql" + "puma" + "development" + "postgres" # database + ]; + gemConfig = defaultGemConfig // { + pg = attrs: { + buildFlags = [ "--with-pg-config=${postgresql}/bin/pg_config" ]; + }; + rszr = attrs: { + buildInputs = [ imlib2 imlib2.dev ]; + }; + mini_racer = attrs: { + buildFlags = [ + "--with-v8-dir=\"${v8}\"" + ]; + dontBuild = false; + postPatch = '' + substituteInPlace ext/mini_racer_extension/extconf.rb \ + --replace Libv8.configure_makefile '$CPPFLAGS += " -x c++"; Libv8.configure_makefile' + ''; + }; + }; + }; + + yarnEnv = yarn2nix-moretea.mkYarnPackage { + pname = "${pname}-node-modules"; + inherit version; + src = sourceDir; + yarnLock = ./yarn.lock; + yarnNix = ./yarn.nix; + packageJSON = sourceDir + "/package.json"; + }; + +in stdenv.mkDerivation { + name = "${pname}-${version}"; + inherit pname version; + + src = sourceDir; + + patches = [ + ./0001-nulldb.patch + ]; + + buildInputs = [ + rubyEnv + rubyEnv.wrappedRuby + rubyEnv.bundler + yarn + nodejs + procps + cacert + ]; + + RAILS_ENV = "production"; + + buildPhase = '' + node_modules=${yarnEnv}/libexec/Zammad/node_modules + ${yarn2nix-moretea.linkNodeModulesHook} + + rake DATABASE_URL="nulldb://user:pass@127.0.0.1/dbname" assets:precompile + ''; + + installPhase = '' + mkdir -p $out/config + cp -R ./* $out + rm -R $out/tmp/* + cp ${databaseConfig} $out/config/database.yml + cp ${secretsConfig} $out/config/secrets.yml + sed -i -e "s|info|debug|" $out/config/environments/production.rb + ''; + + passthru = { + inherit rubyEnv yarnEnv; + updateScript = [ "${callPackage ./update.nix {}}/bin/update.sh" pname (toString ./.) ]; + }; + + meta = with lib; { + description = "Zammad, a web-based, open source user support/ticketing solution."; + homepage = "https://zammad.org"; + license = licenses.agpl3Plus; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ n0emis ]; + }; +} diff --git a/pkgs/applications/networking/misc/zammad/gemset.nix b/pkgs/applications/networking/misc/zammad/gemset.nix new file mode 100644 index 000000000000..9fe172dd4d80 --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/gemset.nix @@ -0,0 +1,2834 @@ +{ + aasm = { + dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05j0rdhdzc628v5nyzrazp4704hh96j5sjbn48zxyk4v3a61f4m2"; + type = "gem"; + }; + version = "5.2.0"; + }; + actioncable = { + dependencies = ["actionpack" "nio4r" "websocket-driver"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vv8dq95apmwsnam1l2c62ayjr2jwi5m24bcd2l4p324cqmds3ir"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + actionmailbox = { + dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q8bhmdi1jgybs18vaa3hpmydhw8mjx8hcpjlravkwc78ckl19vy"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + actionmailer = { + dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nximq0hwcy5vhywsryn6y67zaqwhk5gk44d0rgyisbwl6s34zim"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + actionpack = { + dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00vsfvrbw1dx1xpvpca5szk1z9qqv5g00c2gyrvskvxbgn3298bg"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + actiontext = { + dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00yz34p7syz3wr7sbgn81b5qf97hv5lm2vbbf5xiny9cj1y8hrll"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + actionview = { + dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03dqdl0qkwmkxf6xar9lrxp547hj72ysqg6i13kw8jg8mprk1xk1"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + activejob = { + dependencies = ["activesupport" "globalid"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r4dk44x1kn16bsi4h9q13sq65waa940nrnf4i0wd2cssk34sx3i"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + activemodel = { + dependencies = ["activesupport"]; + groups = ["default" "nulldb"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m254z419v5n6flqvvf923p5hxwqv43x6nr8gzaw378vl68sp8ff"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + activerecord = { + dependencies = ["activemodel" "activesupport"]; + groups = ["default" "nulldb"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q48dsxkvlrr34w6hap2dyr1ym68azkmnhllng60pxaizml89azl"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + activerecord-import = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17ydad9gcsh0c9ny68fyvxmh6rbld4pyvyabnc7882678dnvfy8i"; + type = "gem"; + }; + version = "1.2.0"; + }; + activerecord-nulldb-adapter = { + dependencies = ["activerecord"]; + groups = ["nulldb"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1iybn9vafw9vcdi966yidj4zk5vy6b0gg0zk39v1r0kgj9n9qm1v"; + type = "gem"; + }; + version = "0.7.0"; + }; + activerecord-session_store = { + dependencies = ["actionpack" "activerecord" "multi_json" "rack" "railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06ddhz1b2yg72iv09n48gcd3ix5da7hxlzi7vvj13nrps2qwlffg"; + type = "gem"; + }; + version = "2.0.0"; + }; + activestorage = { + dependencies = ["actionpack" "activejob" "activerecord" "marcel"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1g6h5k478d9v14w09wnhflsk8xj06clkd6xbfw4sxbbww5n8vl55"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + activesupport = { + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ldrpgy4gfqykzavgdp0svsm41hkzfi2aaq8as9lqd0sq19mgpqx"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + acts_as_list = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12p22h59c45dnccb51pqk275ziyi502azf9w3qcnkcsq827ma5jm"; + type = "gem"; + }; + version = "1.0.4"; + }; + addressable = { + dependencies = ["public_suffix"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; + type = "gem"; + }; + version = "2.8.0"; + }; + argon2 = { + dependencies = ["ffi" "ffi-compiler"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0285wr6ai2c1qswr67pybpbj28dv5nv1i4597hg3vg9w1fb7gmzl"; + type = "gem"; + }; + version = "2.0.3"; + }; + ast = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; + type = "gem"; + }; + version = "2.4.2"; + }; + async = { + dependencies = ["console" "nio4r" "timers"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lh36bsb41vllyrkiffs8qba2ilcjl7nrywizrb8ffrix50rfjn9"; + type = "gem"; + }; + version = "1.29.1"; + }; + async-http = { + dependencies = ["async" "async-io" "async-pool" "protocol-http" "protocol-http1" "protocol-http2"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a1si0iz1m6b1lzd5f8cvf1cbniy8kqc06n10bn74l1ppx8a6lc2"; + type = "gem"; + }; + version = "0.56.3"; + }; + async-http-faraday = { + dependencies = ["async-http" "faraday"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ndynkfknabv6m9wzcmdnj4r4bhlxqkg9c6rzsjc1pk8q057kslv"; + type = "gem"; + }; + version = "0.11.0"; + }; + async-io = { + dependencies = ["async"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z58cgnw79idasx63knyjqihxp5v4wrp7r4jf251a8kyykwdd83a"; + type = "gem"; + }; + version = "1.32.1"; + }; + async-pool = { + dependencies = ["async"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rq62gnhiy4a275wid465xqv6f6xsmp1zd9002xw4b37y83y5rqg"; + type = "gem"; + }; + version = "0.3.7"; + }; + autodiscover = { + dependencies = ["httpclient" "logging" "nokogiri" "nori"]; + groups = ["default"]; + platforms = []; + source = { + fetchSubmodules = false; + rev = "ee9b53dfa797ce6d4f970b82beea7fbdd2df56bb"; + sha256 = "1qffylir5i06vd3khwd182pslnqsa0kfc3dihvvjfdyl7p1lxv16"; + type = "git"; + url = "https://github.com/zammad-deps/autodiscover"; + }; + version = "1.0.2"; + }; + autoprefixer-rails = { + dependencies = ["execjs"]; + groups = ["assets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bj8ajlq6ygyqxz7ykykaxfr4jn0ivc95sl64wrycwz7hxz29vda"; + type = "gem"; + }; + version = "10.3.3.0"; + }; + binding_of_caller = { + dependencies = ["debug_inspector"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "078n2dkpgsivcf0pr50981w95nfc2bsrp3wpf9wnxz1qsp8jbb9s"; + type = "gem"; + }; + version = "1.0.0"; + }; + biz = { + dependencies = ["clavius" "tzinfo"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1n2d7cs9jlnpi75nbssv77qlw0jsqnixaikpxsrbxz154q43gvlc"; + type = "gem"; + }; + version = "1.8.2"; + }; + bootsnap = { + dependencies = ["msgpack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ndjra3h86dq28njm2swmaw6n3vsywrycrf7i5iy9l8hrhfhv4x2"; + type = "gem"; + }; + version = "1.9.1"; + }; + brakeman = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y71fqqd0azy5rn78fwiz9px0mql23zrl0ij0dzdkx22l4cscpb0"; + type = "gem"; + }; + version = "5.1.1"; + }; + browser = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g4bcpax07kqqr9cp7cjc7i0pcij4nqpn1rdsg2wdwhzf00m6x32"; + type = "gem"; + }; + version = "5.3.1"; + }; + buftok = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; + type = "gem"; + }; + version = "0.2.0"; + }; + builder = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; + type = "gem"; + }; + version = "3.2.4"; + }; + byebug = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; + type = "gem"; + }; + version = "11.1.3"; + }; + capybara = { + dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1viqcpsngy9fqjd68932m43ad6xj656d1x33nx9565q57chgi29k"; + type = "gem"; + }; + version = "3.35.3"; + }; + childprocess = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5"; + type = "gem"; + }; + version = "3.0.0"; + }; + chunky_png = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; + type = "gem"; + }; + version = "1.4.0"; + }; + clavius = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0y58v8k860vafm1psm69f2ndcqmcifyvswsjdy8bxbxy30zrgad1"; + type = "gem"; + }; + version = "1.0.4"; + }; + clearbit = { + dependencies = ["nestful"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccgvxzgpll1wr5i9wjm1h0m2z600j6c4yf6pww423qhg8a25lbl"; + type = "gem"; + }; + version = "0.3.3"; + }; + coderay = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; + type = "gem"; + }; + version = "1.1.3"; + }; + coffee-rails = { + dependencies = ["coffee-script" "railties"]; + groups = ["assets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "170sp4y82bf6nsczkkkzypzv368sgjg6lfrkib4hfjgxa6xa3ajx"; + type = "gem"; + }; + version = "5.0.0"; + }; + coffee-script = { + dependencies = ["coffee-script-source" "execjs"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2"; + type = "gem"; + }; + version = "2.4.1"; + }; + coffee-script-source = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1"; + type = "gem"; + }; + version = "1.12.2"; + }; + coffeelint = { + dependencies = ["coffee-script" "execjs" "json"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k6nqia44m6jzzkav6wz1aafjipbygla3g6nl6i7sks854bwgdg1"; + type = "gem"; + }; + version = "1.16.1"; + }; + composite_primary_keys = { + dependencies = ["activerecord"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08w8rns5dgjmvavqf1apfbd59dyqyv4igni940rklnqps297w2bn"; + type = "gem"; + }; + version = "12.0.10"; + }; + concurrent-ruby = { + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f"; + type = "gem"; + }; + version = "1.1.9"; + }; + console = { + dependencies = ["fiber-local"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04vhg3vnj2ky00fld4v6qywx32z4pjsa7l8i7sl1bl213s8334l9"; + type = "gem"; + }; + version = "1.13.1"; + }; + coveralls = { + dependencies = ["multi_json" "rest-client" "simplecov" "term-ansicolor" "thor"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b97bp3kndl1glfx8rlm19b1vxphirvkrjqn5hn9y1p975iwhl3w"; + type = "gem"; + }; + version = "0.7.1"; + }; + crack = { + dependencies = ["rexml"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cr1kfpw3vkhysvkk3wg7c54m75kd68mbm9rs5azdjdq57xid13r"; + type = "gem"; + }; + version = "0.4.5"; + }; + crass = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; + type = "gem"; + }; + version = "1.0.6"; + }; + csv = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "079al4y5rjgx12s7rg08rnf9w1n51a7ghycvmr7vhw6r6i81ry8s"; + type = "gem"; + }; + version = "3.2.0"; + }; + daemons = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg"; + type = "gem"; + }; + version = "1.4.1"; + }; + dalli = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0br39scmr187w3ifl5gsddl2fhq6ahijgw6358plqjdzrizlg764"; + type = "gem"; + }; + version = "2.7.11"; + }; + debug_inspector = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga"; + type = "gem"; + }; + version = "1.1.0"; + }; + delayed_job = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19ym3jw2jj1pxm6p22x2mpf69sdxiw07ddr69v92ccgg6d7q87rh"; + type = "gem"; + }; + version = "4.1.9"; + }; + delayed_job_active_record = { + dependencies = ["activerecord" "delayed_job"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0n6wjvk0yfkp1z19kvma7piasw1xgjh5ls51sf24c8g1jlmkmvdh"; + type = "gem"; + }; + version = "4.1.6"; + }; + deprecation_toolkit = { + dependencies = ["activesupport"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fh4d98irhph3ri7c2rrvvmmjd4z14702r8baq9flh5f34dap8d8"; + type = "gem"; + }; + version = "1.5.1"; + }; + diff-lcs = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; + type = "gem"; + }; + version = "1.4.4"; + }; + diffy = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nrg7kpgz6cn1gv2saj2fa5sfiykamvd7vn9lw2v625k7pjwf31l"; + type = "gem"; + }; + version = "3.4.0"; + }; + docile = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz"; + type = "gem"; + }; + version = "1.4.0"; + }; + domain_name = { + dependencies = ["unf"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0"; + type = "gem"; + }; + version = "0.5.20190701"; + }; + doorkeeper = { + dependencies = ["railties"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hnwd7by65yyiz90ycs3pj4f78s7bnl09nzs1g1vs62509j4nz19"; + type = "gem"; + }; + version = "5.5.2"; + }; + dotenv = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; + type = "gem"; + }; + version = "2.7.6"; + }; + eco = { + dependencies = ["coffee-script" "eco-source" "execjs"]; + groups = ["assets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09jiwb7pkg0sxk730maxahra4whqw5l47zd7yg7fvd71pikdwdr0"; + type = "gem"; + }; + version = "1.0.0"; + }; + eco-source = { + groups = ["assets" "default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ccxrvaac6mw5kdj1i490b5xb1wdka3a5q4jhvn8dvg41594yba1"; + type = "gem"; + }; + version = "1.1.0.rc.1"; + }; + em-websocket = { + dependencies = ["eventmachine" "http_parser.rb"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb"; + type = "gem"; + }; + version = "0.5.2"; + }; + equalizer = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; + type = "gem"; + }; + version = "0.0.11"; + }; + erubi = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l"; + type = "gem"; + }; + version = "1.10.0"; + }; + eventmachine = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; + type = "gem"; + }; + version = "1.2.7"; + }; + execjs = { + groups = ["assets" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; + type = "gem"; + }; + version = "2.8.1"; + }; + factory_bot = { + dependencies = ["activesupport"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi"; + type = "gem"; + }; + version = "6.2.0"; + }; + factory_bot_rails = { + dependencies = ["factory_bot" "railties"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18fhcihkc074gk62iwqgbdgc3ymim4fm0b4p3ipffy5hcsb9d2r7"; + type = "gem"; + }; + version = "6.2.0"; + }; + faker = { + dependencies = ["i18n"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hb9wfxyb4ss2vl2mrj1zgdk7dh4yaxghq22gbx62yxj5yb9w4zw"; + type = "gem"; + }; + version = "2.19.0"; + }; + faraday = { + dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi"; + type = "gem"; + }; + version = "1.8.0"; + }; + faraday-em_http = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; + type = "gem"; + }; + version = "1.0.0"; + }; + faraday-em_synchrony = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; + type = "gem"; + }; + version = "1.0.0"; + }; + faraday-excon = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; + type = "gem"; + }; + version = "1.1.0"; + }; + faraday-http-cache = { + dependencies = ["faraday"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7"; + type = "gem"; + }; + version = "2.2.0"; + }; + faraday-httpclient = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; + type = "gem"; + }; + version = "1.0.1"; + }; + faraday-net_http = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; + type = "gem"; + }; + version = "1.0.1"; + }; + faraday-net_http_persistent = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; + type = "gem"; + }; + version = "1.2.0"; + }; + faraday-patron = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; + type = "gem"; + }; + version = "1.0.0"; + }; + faraday-rack = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; + type = "gem"; + }; + version = "1.0.0"; + }; + faraday_middleware = { + dependencies = ["faraday"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r"; + type = "gem"; + }; + version = "1.0.0"; + }; + ffi = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq"; + type = "gem"; + }; + version = "1.15.3"; + }; + ffi-compiler = { + dependencies = ["ffi" "rake"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"; + type = "gem"; + }; + version = "1.0.1"; + }; + fiber-local = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9"; + type = "gem"; + }; + version = "1.0.0"; + }; + formatador = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mprf1dwznz5ld0q1jpbyl59fwnwk6azspnd0am7zz7kfg3pxhv5"; + type = "gem"; + }; + version = "0.3.0"; + }; + github_changelog_generator = { + dependencies = ["activesupport" "async" "async-http-faraday" "faraday-http-cache" "multi_json" "octokit" "rainbow" "rake"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04d6z2ysq3gzvpw91lq8mxmdlqcxkmvp8rw9zrzkmksh3pjdzli1"; + type = "gem"; + }; + version = "1.16.4"; + }; + gli = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sxpixpkbwi0g1lp9nv08hb4hw9g563zwxqfxd3nqp9c1ymcv5h3"; + type = "gem"; + }; + version = "2.20.1"; + }; + globalid = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm"; + type = "gem"; + }; + version = "0.5.2"; + }; + gmail_xoauth = { + dependencies = ["oauth"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dslnb1kffcygcbs8sqw58w6ba0maq4w7k1i7kjrqpq0kxx6wklq"; + type = "gem"; + }; + version = "0.4.2"; + }; + guard = { + dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zqy994fr0pf3pda0x3mmkhgnfg4hd12qp5bh1s1xm68l00viwhj"; + type = "gem"; + }; + version = "2.18.0"; + }; + guard-compat = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; + type = "gem"; + }; + version = "1.2.1"; + }; + guard-livereload = { + dependencies = ["em-websocket" "guard" "guard-compat" "multi_json"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yd74gdbbv2yz2caqwpsavzw8d5fd5y446wp8rdjw8wan0yd6k8j"; + type = "gem"; + }; + version = "2.5.2"; + }; + guard-symlink = { + dependencies = ["guard" "guard-compat"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s5lwl8v55lq0bbvj9k3fv0l4nkl0ydd7gr1k26ycs2a80cgd5mq"; + type = "gem"; + }; + version = "0.1.1"; + }; + hashdiff = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c"; + type = "gem"; + }; + version = "1.0.1"; + }; + hashie = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q"; + type = "gem"; + }; + version = "4.1.0"; + }; + hiredis = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "04jj8k7lxqxw24sp0jiravigdkgsyrpprxpxm71ba93x1wr2w1bz"; + type = "gem"; + }; + version = "0.6.3"; + }; + htmlentities = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; + type = "gem"; + }; + version = "4.3.4"; + }; + http = { + dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y"; + type = "gem"; + }; + version = "4.4.1"; + }; + http-accept = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6"; + type = "gem"; + }; + version = "1.7.0"; + }; + http-cookie = { + dependencies = ["domain_name"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9"; + type = "gem"; + }; + version = "1.0.4"; + }; + http-form_data = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc"; + type = "gem"; + }; + version = "2.3.0"; + }; + http-parser = { + dependencies = ["ffi-compiler"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18qqvckvqjffh88hfib6c8pl9qwk9gp89w89hl3f2s1x8hgyqka1"; + type = "gem"; + }; + version = "1.2.3"; + }; + "http_parser.rb" = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; + type = "gem"; + }; + version = "0.6.0"; + }; + httpclient = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; + type = "gem"; + }; + version = "2.8.3"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a"; + type = "gem"; + }; + version = "1.8.10"; + }; + icalendar = { + dependencies = ["ice_cube"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wv5wq6pzq6434bnxfanvijswj2rnfvjmgisj1qg399mc42g46ls"; + type = "gem"; + }; + version = "2.7.1"; + }; + icalendar-recurrence = { + dependencies = ["icalendar" "ice_cube"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06li3cdbwkd9y2sadjlbwj54blqdaa056yx338s4ddfxywrngigh"; + type = "gem"; + }; + version = "1.1.3"; + }; + ice_cube = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rzfydzgy6jppqvzzr76skfk07nmlszpcjzzn4wlzpsgmagmf0wq"; + type = "gem"; + }; + version = "0.16.3"; + }; + inflection = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mfkk0j0dway3p4gwzk8fnpi4hwaywl2v0iywf1azf98zhk9pfnf"; + type = "gem"; + }; + version = "1.0.0"; + }; + iniparse = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n"; + type = "gem"; + }; + version = "1.5.0"; + }; + interception = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01vrkn28psdx1ysh5js3hn17nfp1nvvv46wc1pwqsakm6vb1hf55"; + type = "gem"; + }; + version = "0.5"; + }; + json = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; + type = "gem"; + }; + version = "2.5.1"; + }; + jwt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs"; + type = "gem"; + }; + version = "2.2.3"; + }; + kgio = { + groups = ["default" "unicorn"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ipzvw7n0kz1w8rkqybyxvf3hb601a770khm0xdqm68mc4aa59xx"; + type = "gem"; + }; + version = "2.11.4"; + }; + koala = { + dependencies = ["addressable" "faraday" "json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1k7nlif8nwgb6bfkclry41xklaf4rqf18ycgq63sgkgj6zdpda4w"; + type = "gem"; + }; + version = "3.0.0"; + }; + libv8 = { + groups = ["mini_racer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0317sr3nrl51sp844bps71smkrwim3fjn47wdfpbycixnbxspivm"; + type = "gem"; + }; + version = "8.4.255.0"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj"; + type = "gem"; + }; + version = "3.5.1"; + }; + little-plugger = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; + type = "gem"; + }; + version = "1.1.4"; + }; + logging = { + dependencies = ["little-plugger" "multi_json"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pkmhcxi8lp74bq5gz9lxrvaiv5w0745kk7s4bw2b1x07qqri0n9"; + type = "gem"; + }; + version = "2.3.0"; + }; + loofah = { + dependencies = ["crass" "nokogiri"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw"; + type = "gem"; + }; + version = "2.12.0"; + }; + lumberjack = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06pybb23hypc9gvs2p839ildhn26q68drb6431ng3s39i3fkkba8"; + type = "gem"; + }; + version = "1.2.8"; + }; + mail = { + dependencies = ["mini_mime"]; + groups = ["default"]; + platforms = []; + source = { + fetchSubmodules = false; + rev = "9265cf75bbe376f595944bd10d2dd953f863e765"; + sha256 = "04jxql35kwijapl37h9an6127hzz0y4pnj82a9iw39kz9vva890s"; + type = "git"; + url = "https://github.com/zammad-deps/mail"; + }; + version = "2.7.2.edge"; + }; + marcel = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3"; + type = "gem"; + }; + version = "1.0.1"; + }; + memoizable = { + dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; + type = "gem"; + }; + version = "0.4.2"; + }; + messagebird-rest = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nj994h4ziwb72g54ma3ivb3rbfkv3yk81wwcmgykl2ik3g7q2bm"; + type = "gem"; + }; + version = "3.0.0"; + }; + method_source = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; + type = "gem"; + }; + version = "1.0.0"; + }; + mime-types = { + dependencies = ["mime-types-data"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh"; + type = "gem"; + }; + version = "3.3.1"; + }; + mime-types-data = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1phcq7z0zpipwd7y4fbqmlaqghv07fjjgrx99mwq3z3n0yvy7fmi"; + type = "gem"; + }; + version = "3.2021.0225"; + }; + mini_mime = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "173dp4vqvx1sl6aq83daxwn5xvb5rn3jgynjmb91swl7gmgp17yl"; + type = "gem"; + }; + version = "1.1.1"; + }; + mini_portile2 = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; + type = "gem"; + }; + version = "2.6.1"; + }; + mini_racer = { + dependencies = ["libv8"]; + groups = ["mini_racer"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zi36qcg5qj4g1c11vwmc7lknjihirrmc6yxi6q8j6v4lfnyjbyg"; + type = "gem"; + }; + version = "0.2.9"; + }; + minitest = { + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"; + type = "gem"; + }; + version = "5.14.4"; + }; + msgpack = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6"; + type = "gem"; + }; + version = "1.4.2"; + }; + multi_json = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; + type = "gem"; + }; + version = "1.15.0"; + }; + multi_xml = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; + type = "gem"; + }; + version = "0.6.0"; + }; + multipart-post = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; + type = "gem"; + }; + version = "2.1.1"; + }; + mysql2 = { + groups = ["mysql"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0d14pcy5m4hjig0zdxnl9in5f4izszc7v9zcczf2gyi5kiyxk8jw"; + type = "gem"; + }; + version = "0.5.3"; + }; + naught = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; + type = "gem"; + }; + version = "1.1.0"; + }; + nenv = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; + type = "gem"; + }; + version = "0.3.0"; + }; + nestful = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sn7lrdhp1dwn9xkqwkarby5bxx1g30givy3fi1dwp1xvqbrqikw"; + type = "gem"; + }; + version = "1.1.4"; + }; + net-ldap = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j19yxrz7h3hj7kiiln13c7bz7hvpdqr31bwi88dj64zifr7896n"; + type = "gem"; + }; + version = "0.17.0"; + }; + netrc = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; + type = "gem"; + }; + version = "0.11.0"; + }; + nio4r = { + groups = ["default" "development" "puma" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v"; + type = "gem"; + }; + version = "2.5.8"; + }; + nokogiri = { + dependencies = ["mini_portile2" "racc"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"; + type = "gem"; + }; + version = "1.12.5"; + }; + nori = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"; + type = "gem"; + }; + version = "2.6.0"; + }; + notiffany = { + dependencies = ["nenv" "shellany"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f47h3bmg1apr4x51szqfv3rh2vq58z3grh4w02cp3bzbdh6jxnk"; + type = "gem"; + }; + version = "0.1.3"; + }; + oauth = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0"; + type = "gem"; + }; + version = "0.5.6"; + }; + oauth2 = { + dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q6q2kgpxmygk8kmxqn54zkw8cs57a34zzz5cxpsh1bj3ag06rk3"; + type = "gem"; + }; + version = "1.4.7"; + }; + octokit = { + dependencies = ["faraday" "sawyer"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27"; + type = "gem"; + }; + version = "4.21.0"; + }; + omniauth = { + dependencies = ["hashie" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz"; + type = "gem"; + }; + version = "1.9.1"; + }; + omniauth-facebook = { + dependencies = ["omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z0f5sr2ddnvfva0jrfd4926nlv4528rfj7z595288n39304r092"; + type = "gem"; + }; + version = "8.0.0"; + }; + omniauth-github = { + dependencies = ["omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xbk0dbxqfpyfb33ghz6vrlz3m6442rp18ryf13gwzlnifcawhlb"; + type = "gem"; + }; + version = "1.4.0"; + }; + omniauth-gitlab = { + dependencies = ["omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1nbrg93p0nqxs1i2ddyij2rr7jn4vr3la4la39q4fknpin535k3z"; + type = "gem"; + }; + version = "2.0.0"; + }; + omniauth-google-oauth2 = { + dependencies = ["jwt" "oauth2" "omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10pnxvb6wpnf58dja3yz4ja527443x3q13hzhcbays4amnnp8i4a"; + type = "gem"; + }; + version = "0.8.2"; + }; + omniauth-linkedin-oauth2 = { + dependencies = ["omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ydkj9f2hd3fskpc2gazz9dim70z2k6z6pb8j3glnlhkd67iyzci"; + type = "gem"; + }; + version = "1.0.0"; + }; + omniauth-microsoft-office365 = { + dependencies = ["omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vw6418gykxqd9z32ddq0mr6wa737la1zwppb1ilw9sgii24rg1v"; + type = "gem"; + }; + version = "0.0.8"; + }; + omniauth-oauth = { + dependencies = ["oauth" "omniauth"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yw2vzx633p9wpdkd4jxsih6mw604mj7f6myyfikmj4d95c8d9z7"; + type = "gem"; + }; + version = "1.2.0"; + }; + omniauth-oauth2 = { + dependencies = ["oauth2" "omniauth"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10fr2b58sp7l6nfdvxpbi67374hkrvsf507cvda89jjs0jacy319"; + type = "gem"; + }; + version = "1.7.1"; + }; + omniauth-rails_csrf_protection = { + dependencies = ["actionpack" "omniauth"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xgkxwg17w39q3yjqcj0fm6hdkw37qm1l82dvm9zxn6q2pbzm2zv"; + type = "gem"; + }; + version = "0.1.2"; + }; + omniauth-saml = { + dependencies = ["omniauth" "ruby-saml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gxl14lbksnjkl8dfn23lsjkk63md77icm5racrh6fsp5n4ni9d4"; + type = "gem"; + }; + version = "1.10.3"; + }; + omniauth-twitter = { + dependencies = ["omniauth-oauth" "rack"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; + type = "gem"; + }; + version = "1.4.0"; + }; + omniauth-weibo-oauth2 = { + dependencies = ["omniauth" "omniauth-oauth2"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02cz73lj38cjqkbrdnfr7iymzqdcxgqcjy992r5hmawgpqqgxvwb"; + type = "gem"; + }; + version = "0.5.2"; + }; + openssl = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03wbynzkhay7l1x76srjkg91q48mxl575vrxb3blfxlpqwsvvp0w"; + type = "gem"; + }; + version = "2.2.0"; + }; + overcommit = { + dependencies = ["childprocess" "iniparse" "rexml"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wbczp2pxwiggx5n925mdr2q17c6m9hq7h0q7ml2spmla29609sr"; + type = "gem"; + }; + version = "0.58.0"; + }; + parallel = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hkfpm78c2vs1qblnva3k1grijvxh87iixcnyd83s3lxrxsjvag4"; + type = "gem"; + }; + version = "1.21.0"; + }; + parser = { + dependencies = ["ast"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06ma6w87ph8lnc9z4hi40ynmcdnjv0p8x53x0s3fjkz4q2p6sxh5"; + type = "gem"; + }; + version = "3.0.2.0"; + }; + pg = { + groups = ["postgres"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00vhasqwc4f98qb4wxqn2h07fjwzhp5lwyi41j2gndi2g02wrdqh"; + type = "gem"; + }; + version = "0.21.0"; + }; + power_assert = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01z44m715rb6nzfrc90c5rkkdiy42dv3q94jw1q8baf9dg33nwi5"; + type = "gem"; + }; + version = "2.0.1"; + }; + protocol-hpack = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sd85am1hj2w7z5hv19wy1nbisxfr1vqx3wlxjfz9xy7x7s6aczw"; + type = "gem"; + }; + version = "1.4.2"; + }; + protocol-http = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q7js6npc8flgipjpdykmbdmhf2ml8li5gy7763y6awkpli6s6p6"; + type = "gem"; + }; + version = "0.22.4"; + }; + protocol-http1 = { + dependencies = ["protocol-http"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wp9pi1qjh1darrqv0r46i4bvax3n64aa0mn7kza4251qmk0dwz5"; + type = "gem"; + }; + version = "0.14.1"; + }; + protocol-http2 = { + dependencies = ["protocol-hpack" "protocol-http"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a9klpfmi7w465zq5xz8y8h1qvj42hkm0qd0nlws9d2idd767q5j"; + type = "gem"; + }; + version = "0.14.2"; + }; + pry = { + dependencies = ["coderay" "method_source"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr"; + type = "gem"; + }; + version = "0.14.1"; + }; + pry-rails = { + dependencies = ["pry"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6"; + type = "gem"; + }; + version = "0.3.9"; + }; + pry-remote = { + dependencies = ["pry" "slop"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10g1wrkcy5v5qyg9fpw1cag6g5rlcl1i66kn00r7kwqkzrdhd7nm"; + type = "gem"; + }; + version = "0.1.8"; + }; + pry-rescue = { + dependencies = ["interception" "pry"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wn72y8y3d3g0ng350ld92nyjln012432q2z2iy9lhwzjc4dwi65"; + type = "gem"; + }; + version = "1.5.2"; + }; + pry-stack_explorer = { + dependencies = ["binding_of_caller" "pry"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h7kp99r8vpvpbvia079i58932qjz2ci9qhwbk7h1bf48ydymnx2"; + type = "gem"; + }; + version = "0.6.1"; + }; + public_suffix = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; + type = "gem"; + }; + version = "4.0.6"; + }; + puma = { + dependencies = ["nio4r"]; + groups = ["puma"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r22aq2shhmvi461pfs1c7pf66l4kbwndpi1jgxqydp0a1lfjbbk"; + type = "gem"; + }; + version = "4.3.10"; + }; + pundit = { + dependencies = ["activesupport"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i3rccbzyw46xrx1ic95r11v15ia2kj8naiyi68gdvxfrisk1fxm"; + type = "gem"; + }; + version = "2.1.1"; + }; + pundit-matchers = { + dependencies = ["rspec-rails"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10kvf0pj5339fh3dgf9lvsv94d74x7x1wxdb0hp8a1ac7w5l6vmm"; + type = "gem"; + }; + version = "1.7.0"; + }; + racc = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; + type = "gem"; + }; + version = "1.5.2"; + }; + rack = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16"; + type = "gem"; + }; + version = "2.2.3"; + }; + rack-livereload = { + dependencies = ["rack"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1slzlmvlapgp2pc7389i0zndq3nka0s6sh445vf21cxpz7vz3p5i"; + type = "gem"; + }; + version = "0.3.17"; + }; + rack-test = { + dependencies = ["rack"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; + type = "gem"; + }; + version = "1.1.0"; + }; + rails = { + dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q0y3nc0phg85zjxh9j78rs2hlc34zbhwn2zaw2w7bz2fc2vbxk2"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + rails-controller-testing = { + dependencies = ["actionpack" "actionview" "activesupport"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "151f303jcvs8s149mhx2g5mn67487x0blrf9dzl76q1nb7dlh53l"; + type = "gem"; + }; + version = "1.0.5"; + }; + rails-dom-testing = { + dependencies = ["activesupport" "nokogiri"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; + type = "gem"; + }; + version = "2.0.3"; + }; + rails-html-sanitizer = { + dependencies = ["loofah"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0whc4d4jqm8kd4x3jzbax54sscm1k4pfkr5d1gpapjbzqkfj77yy"; + type = "gem"; + }; + version = "1.4.1"; + }; + railties = { + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v454xnsfh2sival85cah5wbagzzzzd7frqx9kwn4nc9m8m3yx74"; + type = "gem"; + }; + version = "6.0.4.1"; + }; + rainbow = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; + type = "gem"; + }; + version = "3.0.0"; + }; + raindrops = { + groups = ["default" "unicorn"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07nikrdnsf6g55225njnzs1lm9s0lnbv2krvqd2gldwl49l7vl9x"; + type = "gem"; + }; + version = "0.19.2"; + }; + rake = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + type = "gem"; + }; + version = "13.0.6"; + }; + rb-fsevent = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is"; + type = "gem"; + }; + version = "0.11.0"; + }; + rb-inotify = { + dependencies = ["ffi"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; + type = "gem"; + }; + version = "0.10.1"; + }; + rchardet = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; + type = "gem"; + }; + version = "1.8.0"; + }; + redis = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ig832dp0xmpp6a934nifzaj7wm9lzjxzasw911fagycs8p6m720"; + type = "gem"; + }; + version = "4.4.0"; + }; + regexp_parser = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr"; + type = "gem"; + }; + version = "2.1.1"; + }; + rest-client = { + dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im"; + type = "gem"; + }; + version = "2.1.0"; + }; + rexml = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; + type = "gem"; + }; + version = "3.2.5"; + }; + rspec-core = { + dependencies = ["rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc"; + type = "gem"; + }; + version = "3.10.1"; + }; + rspec-expectations = { + dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17"; + type = "gem"; + }; + version = "3.10.1"; + }; + rspec-mocks = { + dependencies = ["diff-lcs" "rspec-support"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k"; + type = "gem"; + }; + version = "3.10.2"; + }; + rspec-rails = { + dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "152yz205p8zi5nxxhs8z581rjdvvqsfjndklkvn11f2vi50nv7n9"; + type = "gem"; + }; + version = "5.0.2"; + }; + rspec-support = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15j52parvb8cgvl6s0pbxi2ywxrv6x0764g222kz5flz0s4mycbl"; + type = "gem"; + }; + version = "3.10.2"; + }; + rszr = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ns5qxdkgbqw1d52nz29lwx6xgs5bqwx1js1227n6l4q36g3snpp"; + type = "gem"; + }; + version = "0.5.2"; + }; + rubocop = { + dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gqsacpqzcflc8j08qx1asvcr89jjg9gqhijhir6wivjbmz700cm"; + type = "gem"; + }; + version = "1.21.0"; + }; + rubocop-ast = { + dependencies = ["parser"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06fkn66wrsfprvd7bh0bkjvdcr17b9jy3j0cs7lbd3f2yscvwr63"; + type = "gem"; + }; + version = "1.11.0"; + }; + rubocop-faker = { + dependencies = ["faker" "rubocop"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05d2mpi8xq50xh1s53h75hgvdhcz76lv9cnfn4jg35nbg67j1pdz"; + type = "gem"; + }; + version = "1.1.0"; + }; + rubocop-performance = { + dependencies = ["rubocop" "rubocop-ast"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0whjb16w70z1x0x797cfbcmqq6ngf0vkhn5qn2f2zmcin0929kgm"; + type = "gem"; + }; + version = "1.11.5"; + }; + rubocop-rails = { + dependencies = ["activesupport" "rack" "rubocop"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sc2hbz434j6h3y1s6pzqrmdbbj6y0csfqdyjm23scwfdg7g3n07"; + type = "gem"; + }; + version = "2.12.2"; + }; + rubocop-rspec = { + dependencies = ["rubocop"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "037v3zb1ia12sgqb2f2dd2cgrfj4scfvy29nfp5688av0wghb7fd"; + type = "gem"; + }; + version = "2.5.0"; + }; + ruby-progressbar = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc"; + type = "gem"; + }; + version = "1.11.0"; + }; + ruby-saml = { + dependencies = ["nokogiri" "rexml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v21hgbhaqvz99w3jdm3s1pxwc2idjgqyw4fghzj54g9sgm0dxii"; + type = "gem"; + }; + version = "1.12.2"; + }; + ruby2_keywords = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; + type = "gem"; + }; + version = "0.0.5"; + }; + rubyntlm = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv"; + type = "gem"; + }; + version = "0.6.3"; + }; + rubyzip = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji"; + type = "gem"; + }; + version = "2.3.0"; + }; + sassc = { + dependencies = ["ffi"]; + groups = ["assets" "default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c"; + type = "gem"; + }; + version = "2.4.0"; + }; + sassc-rails = { + dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; + groups = ["assets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1d9djmwn36a5m8a83bpycs48g8kh1n2xkyvghn7dr6zwh4wdyksz"; + type = "gem"; + }; + version = "2.1.2"; + }; + sawyer = { + dependencies = ["addressable" "faraday"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; + type = "gem"; + }; + version = "0.8.2"; + }; + selenium-webdriver = { + dependencies = ["childprocess" "rubyzip"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0adcvp86dinaqq3nhf8p3m0rl2g6q0a4h52k0i7kdnsg1qz9k86y"; + type = "gem"; + }; + version = "3.142.7"; + }; + shellany = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; + type = "gem"; + }; + version = "0.0.1"; + }; + shoulda-matchers = { + dependencies = ["activesupport"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0z6v2acldnvqrnvfk70f9xq39ppw5j03kbz2hpz7s17lgnn21vx8"; + type = "gem"; + }; + version = "5.0.0"; + }; + simple_oauth = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; + type = "gem"; + }; + version = "0.3.1"; + }; + simplecov = { + dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; + type = "gem"; + }; + version = "0.21.2"; + }; + simplecov-html = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; + type = "gem"; + }; + version = "0.12.3"; + }; + simplecov-rcov = { + dependencies = ["simplecov"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "056fav5r7m73fkzpsrvbg0kgv905lkpmnj1l80q9msj3gfq23xn7"; + type = "gem"; + }; + version = "0.2.3"; + }; + simplecov_json_formatter = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19r15hyvh52jx7fmsrcflb58xh8l7l0zx4sxkh3hqzhq68y81pjl"; + type = "gem"; + }; + version = "0.1.3"; + }; + slack-notifier = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "001bipchr45sny33nlavqgxca9y1qqxa7xpi7pvjfqiybwzvm6nd"; + type = "gem"; + }; + version = "2.4.0"; + }; + slack-ruby-client = { + dependencies = ["faraday" "faraday_middleware" "gli" "hashie" "websocket-driver"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11q9v6ch9jpc82z1nghwibbbbxbi23q41fcw8i57dpjmq06ma9z2"; + type = "gem"; + }; + version = "0.17.0"; + }; + slop = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; + type = "gem"; + }; + version = "3.6.0"; + }; + spring = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12kyz3jdnaarhf2jbykmd9mqg085gxsx00c16la5q7czxvpb2x2r"; + type = "gem"; + }; + version = "3.0.0"; + }; + spring-commands-rspec = { + dependencies = ["spring"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; + type = "gem"; + }; + version = "1.0.4"; + }; + spring-commands-testunit = { + dependencies = ["spring"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qqb0iyjgl9nr7w69p07nq8ghidjcp5n81xrsn8rvafana5lis5c"; + type = "gem"; + }; + version = "1.0.1"; + }; + sprockets = { + dependencies = ["concurrent-ruby" "rack"]; + groups = ["assets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; + type = "gem"; + }; + version = "3.7.2"; + }; + sprockets-rails = { + dependencies = ["actionpack" "activesupport" "sprockets"]; + groups = ["assets" "default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2"; + type = "gem"; + }; + version = "3.2.2"; + }; + sync = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6"; + type = "gem"; + }; + version = "0.5.0"; + }; + tcr = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14678jlva69bxx24sz5i882x25h357xmbmqsichvq8vdiw2xf6aa"; + type = "gem"; + }; + version = "0.2.2"; + }; + telegramAPI = { + dependencies = ["rest-client"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "043blxqk5qps62jgjyr7hbf2y2fg5ldcmii8mxk09b3c6ps9ji6g"; + type = "gem"; + }; + version = "1.4.2"; + }; + telephone_number = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0231010c9rq0sp2iss6m9lrycpwrapl2hdg1fjg9d0jg5m1ly66v"; + type = "gem"; + }; + version = "1.4.12"; + }; + term-ansicolor = { + dependencies = ["tins"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xq5kci9215skdh27npyd3y55p812v4qb4x2hv3xsjvwqzz9ycwj"; + type = "gem"; + }; + version = "1.7.1"; + }; + test-unit = { + dependencies = ["power_assert"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03pn837vgza8v550ggzhcxbvb80d6qivqnhv3n39lrfnsc8xgi7m"; + type = "gem"; + }; + version = "3.4.7"; + }; + thor = { + groups = ["assets" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; + type = "gem"; + }; + version = "1.1.0"; + }; + thread_safe = { + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; + type = "gem"; + }; + version = "0.3.6"; + }; + tilt = { + groups = ["assets" "default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv"; + type = "gem"; + }; + version = "2.0.10"; + }; + timers = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00xdi97gm01alfqhjgvv5sff9n1n2l6aym69s9jh8l9clg63b0jc"; + type = "gem"; + }; + version = "4.3.3"; + }; + tins = { + dependencies = ["sync"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nzp88y19rqlcizp1nw8m44fvfxs9g3bhjpscz44dwfawfrmr0cb"; + type = "gem"; + }; + version = "1.29.1"; + }; + twilio-ruby = { + dependencies = ["faraday" "jwt" "nokogiri"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07g0jrd5qxzgrv10pgyxajahvmfnqx26i8kp0sxmn2in2xj6fb6c"; + type = "gem"; + }; + version = "5.58.3"; + }; + twitter = { + dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13dmkjgsnym1avym9f7y2i2h3mlk8crqvc87drrzr4f0sf9l8g2y"; + type = "gem"; + }; + version = "7.0.0"; + }; + tzinfo = { + dependencies = ["thread_safe"]; + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj"; + type = "gem"; + }; + version = "1.2.9"; + }; + uglifier = { + dependencies = ["execjs"]; + groups = ["assets"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f"; + type = "gem"; + }; + version = "4.2.0"; + }; + unf = { + dependencies = ["unf_ext"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4"; + type = "gem"; + }; + version = "0.0.7.7"; + }; + unicode-display_width = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn"; + type = "gem"; + }; + version = "2.1.0"; + }; + unicorn = { + dependencies = ["kgio" "raindrops"]; + groups = ["unicorn"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jcm85d7j7njfgims712svlgml32zjim6qwabm99645aj5laayln"; + type = "gem"; + }; + version = "6.0.0"; + }; + valid_email2 = { + dependencies = ["activemodel" "mail"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0l4xkwvx7aj5z18h6vzp0wsfjbcrl76ixp0x95wwlrhn03qab6hs"; + type = "gem"; + }; + version = "4.0.0"; + }; + vcr = { + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j9j257wjkjbh8slx6gjgcwch8x4f7pk53iaq2w71z35rm1a0a3a"; + type = "gem"; + }; + version = "6.0.0"; + }; + viewpoint = { + dependencies = ["httpclient" "logging" "nokogiri" "rubyntlm"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14bvihfs0gzmam680xqqs07isxjk677yi3ph2pdvyyhhkbfys0l0"; + type = "gem"; + }; + version = "1.1.1"; + }; + webmock = { + dependencies = ["addressable" "crack" "hashdiff"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l8vh8p0g92cqcvv0ra3mblsa4nczh0rz8nbwbkc3g3yzbva85xk"; + type = "gem"; + }; + version = "3.14.0"; + }; + websocket-driver = { + dependencies = ["websocket-extensions"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052"; + type = "gem"; + }; + version = "0.7.5"; + }; + websocket-extensions = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; + type = "gem"; + }; + version = "0.1.5"; + }; + writeexcel = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0waaf1drp17m5qdchxqlqzj51sfa9hxqccw7d71qdg73gzay1x34"; + type = "gem"; + }; + version = "1.0.5"; + }; + xpath = { + dependencies = ["nokogiri"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; + type = "gem"; + }; + version = "3.2.0"; + }; + zeitwerk = { + groups = ["assets" "default" "development" "nulldb" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; + type = "gem"; + }; + version = "2.4.2"; + }; + zendesk_api = { + dependencies = ["faraday" "hashie" "inflection" "mini_mime" "multipart-post"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j50s7cw52hrjnd9v3lbfk76d44vx3sq4af7alz9hiy90gnxnd9z"; + type = "gem"; + }; + version = "1.33.0"; + }; +} diff --git a/pkgs/applications/networking/misc/zammad/source.json b/pkgs/applications/networking/misc/zammad/source.json new file mode 100644 index 000000000000..0142e8d6fce5 --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/source.json @@ -0,0 +1,7 @@ +{ + "owner": "zammad", + "repo": "zammad", + "rev": "ad12ad4e01f5e6d1d58da019107b66e562ae463c", + "sha256": "i50A0/dBsdvv7L/fZiA1LvJEcO3OghjjgwS/7oFjk2o=", + "fetchSubmodules": true +} diff --git a/pkgs/applications/networking/misc/zammad/update.nix b/pkgs/applications/networking/misc/zammad/update.nix new file mode 100644 index 000000000000..216feb3e3706 --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/update.nix @@ -0,0 +1,35 @@ +{ stdenv +, lib +, makeWrapper +, bundix +, common-updater-scripts +, nix-prefetch-github +, yarn +, yarn2nix +}: + +stdenv.mkDerivation rec { + name = "zammad-update-script"; + installPhase = '' + mkdir -p $out/bin + cp ${./update.sh} $out/bin/update.sh + patchShebangs $out/bin/update.sh + wrapProgram $out/bin/update.sh --prefix PATH : ${lib.makeBinPath buildInputs} + ''; + phases = [ "installPhase" ]; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ + bundix + common-updater-scripts + nix-prefetch-github + yarn + yarn2nix + ]; + + meta = { + maintainers = with lib.maintainers; [ n0emis ]; + description = "Utility to generate Nix expressions for Zammad's dependencies"; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/applications/networking/misc/zammad/update.sh b/pkgs/applications/networking/misc/zammad/update.sh new file mode 100755 index 000000000000..01cdb4f8e921 --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/update.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +set -euo pipefail + +if [ "$#" -gt 2 ] || [[ "$1" == -* ]]; then + echo "Regenerates packaging data for the zammad packages." + echo "Usage: $0 [package name] [zammad directory in nixpkgs]" + exit 1 +fi + +VERSION=$(curl -s https://ftp.zammad.com/ | grep -v latest | grep tar.gz | sed "s/zammad-//" | sort -h | tail -n 1 | awk '{print $1}' | sed 's/.tar.gz<\/a>//') +TARGET_DIR="$2" +WORK_DIR=$(mktemp -d) +SOURCE_DIR=$WORK_DIR/zammad-$VERSION + +pushd $TARGET_DIR + +rm -rf \ + ./source.json \ + ./gemset.nix \ + ./yarn.lock \ + ./yarn.nix + + +# Check that working directory was created. +if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then + echo "Could not create temporary directory." + exit 1 +fi + +# Delete the working directory on exit. +function cleanup { + rm -rf "$WORK_DIR" +} +trap cleanup EXIT + + +pushd $WORK_DIR + +echo ":: Creating source.json" +nix-prefetch-github zammad zammad --rev $VERSION --json > $TARGET_DIR/source.json +echo >> $TARGET_DIR/source.json + +echo ":: Fetching source" +curl -L https://github.com/zammad/zammad/archive/$VERSION.tar.gz --output source.tar.gz +tar zxf source.tar.gz + +if [[ ! "$SOURCE_DIR" || ! -d "$SOURCE_DIR" ]]; then + echo "Source directory does not exists." + exit 1 +fi + +pushd $SOURCE_DIR + +echo ":: Creating gemset.nix" +bundix --lockfile=./Gemfile.lock --gemfile=./Gemfile --gemset=$TARGET_DIR/gemset.nix + +echo ":: Creating yarn.nix" +yarn install +cp yarn.lock $TARGET_DIR +yarn2nix > $TARGET_DIR/yarn.nix + +popd +popd +popd diff --git a/pkgs/applications/networking/misc/zammad/yarn.lock b/pkgs/applications/networking/misc/zammad/yarn.lock new file mode 100644 index 000000000000..8f512464386c --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/yarn.lock @@ -0,0 +1,2347 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +ansi-cyan@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" + integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM= + dependencies: + ansi-wrap "0.1.0" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + +ansi-red@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" + integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-wrap@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" + integrity sha1-aHwydYFjWI/vfeezb6vklesaOZo= + dependencies: + arr-flatten "^1.0.1" + array-slice "^0.2.3" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" + integrity sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-slice@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" + integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU= + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-each@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.0.0: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +chalk@^1.0.0, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +cheerio@0.*: + version "0.22.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" + integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash.assignin "^4.0.9" + lodash.bind "^4.1.4" + lodash.defaults "^4.0.1" + lodash.filter "^4.4.0" + lodash.flatten "^4.2.0" + lodash.foreach "^4.3.0" + lodash.map "^4.4.0" + lodash.merge "^4.4.0" + lodash.pick "^4.2.1" + lodash.reduce "^4.4.0" + lodash.reject "^4.4.0" + lodash.some "^4.4.0" + +chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA== + dependencies: + chalk "^1.1.3" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8= + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0= + dependencies: + q "^1.1.2" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +css-select@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U= + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +dateformat@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + dependencies: + domelementtype "^1.3.0" + entities "^1.1.1" + +domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds= + dependencies: + readable-stream "~1.1.9" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8= + dependencies: + once "~1.3.0" + +entities@^1.1.1, entities@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +extend-shallow@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" + integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE= + dependencies: + kind-of "^1.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fancy-log@^1.1.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04= + +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= + dependencies: + readable-stream "^2.0.2" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fsevents@^1.0.0: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + integrity sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8= + dependencies: + globule "~0.1.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + integrity sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs= + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + integrity sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs= + dependencies: + gaze "^0.5.1" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY= + dependencies: + find-index "^0.1.1" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + integrity sha1-0p4KBV3qUTj00H7UDomC6DwgZs0= + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + integrity sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU= + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + +graceful-fs@^3.0.0: + version "3.0.12" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz#0034947ce9ed695ec8ab0b854bc919e82b1ffaef" + integrity sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg== + dependencies: + natives "^1.1.3" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q= + +gulp-cheerio@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/gulp-cheerio/-/gulp-cheerio-0.6.3.tgz#40271c1703368c88408ab8750ba9bf3e1aea9c68" + integrity sha512-ZuRAq48qT9u2E8QUz1pHQZOq9500tQojOfGXzAER91CGYf8a3U5+fHuLWk5wvJ0iwrriaApg5Honvt3r5XMcNg== + dependencies: + cheerio "0.*" + plugin-error "^0.1.2" + through2 "^0.6.3" + +gulp-rename@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" + integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== + +gulp-svgmin@^1.1.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/gulp-svgmin/-/gulp-svgmin-1.2.4.tgz#a4aa9e2615cf1105ef555aea86e86296cc20e273" + integrity sha1-pKqeJhXPEQXvVVrqhuhilswg4nM= + dependencies: + gulp-util "^3.0.4" + svgo "^0.7.0" + +gulp-svgstore@^5.0.1: + version "5.0.5" + resolved "https://registry.yarnpkg.com/gulp-svgstore/-/gulp-svgstore-5.0.5.tgz#4ad5cec5d753a1624a00e49cef5fc86a45d97327" + integrity sha1-StXOxddToWJKAOSc71/IakXZcyc= + dependencies: + cheerio "0.*" + gulp-util "^3.0.0" + +gulp-util@^3.0.0, gulp-util@^3.0.4, gulp-util@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08= + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-watch@^4.2.4: + version "4.3.11" + resolved "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-4.3.11.tgz#162fc563de9fc770e91f9a7ce3955513a9a118c0" + integrity sha1-Fi/FY96fx3DpH5p845VVE6mhGMA= + dependencies: + anymatch "^1.3.0" + chokidar "^1.6.1" + glob-parent "^3.0.1" + gulp-util "^3.0.7" + object-assign "^4.1.0" + path-is-absolute "^1.0.1" + readable-stream "^2.2.2" + slash "^1.0.0" + vinyl "^1.2.0" + vinyl-file "^2.0.0" + +gulp@^3.8.11: + version "3.9.1" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" + integrity sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ= + dependencies: + archy "^1.0.0" + chalk "^1.0.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^1.0.0" + liftoff "^2.1.0" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^1.0.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4= + dependencies: + sparkles "^1.0.0" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +htmlparser2@^3.9.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js= + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A= + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +kind-of@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" + integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +liftoff@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" + integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew= + dependencies: + extend "^3.0.0" + findup-sync "^2.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U= + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc= + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo= + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= + +lodash.assignin@^4.0.9: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" + integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= + +lodash.bind@^4.1.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" + integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= + +lodash.defaults@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg= + dependencies: + lodash._root "^3.0.0" + +lodash.filter@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" + integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= + +lodash.flatten@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +lodash.foreach@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.map@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + +lodash.merge@^4.4.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.reduce@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" + integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= + +lodash.reject@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" + integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + +lodash.some@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8= + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI= + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +math-random@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" + integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.0.4, micromatch@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc= + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + integrity sha1-x054BXT2PG+aCQ6Q775u9TpqdWo= + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@^1.1.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s= + dependencies: + duplexer2 "0.0.2" + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natives@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" + integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +once@~1.3.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA= + dependencies: + wrappy "1" + +orchestrator@^0.3.0: + version "0.3.8" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" + integrity sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4= + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +plugin-error@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" + integrity sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4= + dependencies: + ansi-cyan "^0.1.1" + ansi-red "^0.1.1" + arr-diff "^1.0.1" + arr-union "^2.0.1" + extend-shallow "^1.1.2" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +"readable-stream@>=1.0.33-1 <1.1.0-0": + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.1.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.1.7: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + integrity sha1-kM/xnQLgcCf9dn9erT57ldHnOAw= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.3, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-consume@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48" + integrity sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + integrity sha1-hbiGLzhEtabV7IRnqTWYFzo295Q= + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U= + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +through2@^0.6.1, through2@^0.6.3, through2@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo= + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8flags@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ= + dependencies: + user-home "^1.1.1" + +vinyl-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" + integrity sha1-p+v1/779obfRjRQPyweyI++2dRo= + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + strip-bom-stream "^2.0.0" + vinyl "^1.1.0" + +vinyl-fs@^0.3.0: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + integrity sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY= + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl@^0.4.0: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc= + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.1.0, vinyl@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== diff --git a/pkgs/applications/networking/misc/zammad/yarn.nix b/pkgs/applications/networking/misc/zammad/yarn.nix new file mode 100644 index 000000000000..8b076742f9bd --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/yarn.nix @@ -0,0 +1,2669 @@ +{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec { + offline_cache = linkFarm "offline" packages; + packages = [ + { + name = "ansi_cyan___ansi_cyan_0.1.1.tgz"; + path = fetchurl { + name = "ansi_cyan___ansi_cyan_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz"; + sha1 = "538ae528af8982f28ae30d86f2f17456d2609873"; + }; + } + { + name = "ansi_gray___ansi_gray_0.1.1.tgz"; + path = fetchurl { + name = "ansi_gray___ansi_gray_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz"; + sha1 = "2962cf54ec9792c48510a3deb524436861ef7251"; + }; + } + { + name = "ansi_red___ansi_red_0.1.1.tgz"; + path = fetchurl { + name = "ansi_red___ansi_red_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz"; + sha1 = "8c638f9d1080800a353c9c28c8a81ca4705d946c"; + }; + } + { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + path = fetchurl { + name = "ansi_regex___ansi_regex_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + } + { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + path = fetchurl { + name = "ansi_styles___ansi_styles_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + } + { + name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; + path = fetchurl { + name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz"; + sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf"; + }; + } + { + name = "anymatch___anymatch_1.3.2.tgz"; + path = fetchurl { + name = "anymatch___anymatch_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz"; + sha1 = "553dcb8f91e3c889845dfdba34c77721b90b9d7a"; + }; + } + { + name = "archy___archy_1.0.0.tgz"; + path = fetchurl { + name = "archy___archy_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz"; + sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"; + }; + } + { + name = "argparse___argparse_1.0.10.tgz"; + path = fetchurl { + name = "argparse___argparse_1.0.10.tgz"; + url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; + sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; + }; + } + { + name = "arr_diff___arr_diff_1.1.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz"; + sha1 = "687c32758163588fef7de7b36fabe495eb1a399a"; + }; + } + { + name = "arr_diff___arr_diff_2.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz"; + sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf"; + }; + } + { + name = "arr_diff___arr_diff_4.0.0.tgz"; + path = fetchurl { + name = "arr_diff___arr_diff_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; + sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; + }; + } + { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + path = fetchurl { + name = "arr_flatten___arr_flatten_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; + sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; + }; + } + { + name = "arr_union___arr_union_2.1.0.tgz"; + path = fetchurl { + name = "arr_union___arr_union_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz"; + sha1 = "20f9eab5ec70f5c7d215b1077b1c39161d292c7d"; + }; + } + { + name = "arr_union___arr_union_3.1.0.tgz"; + path = fetchurl { + name = "arr_union___arr_union_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; + sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; + }; + } + { + name = "array_differ___array_differ_1.0.0.tgz"; + path = fetchurl { + name = "array_differ___array_differ_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz"; + sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031"; + }; + } + { + name = "array_each___array_each_1.0.1.tgz"; + path = fetchurl { + name = "array_each___array_each_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz"; + sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f"; + }; + } + { + name = "array_slice___array_slice_0.2.3.tgz"; + path = fetchurl { + name = "array_slice___array_slice_0.2.3.tgz"; + url = "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz"; + sha1 = "dd3cfb80ed7973a75117cdac69b0b99ec86186f5"; + }; + } + { + name = "array_slice___array_slice_1.1.0.tgz"; + path = fetchurl { + name = "array_slice___array_slice_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz"; + sha1 = "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"; + }; + } + { + name = "array_uniq___array_uniq_1.0.3.tgz"; + path = fetchurl { + name = "array_uniq___array_uniq_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; + sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; + }; + } + { + name = "array_unique___array_unique_0.2.1.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz"; + sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53"; + }; + } + { + name = "array_unique___array_unique_0.3.2.tgz"; + path = fetchurl { + name = "array_unique___array_unique_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; + sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; + }; + } + { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + path = fetchurl { + name = "assign_symbols___assign_symbols_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; + sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; + }; + } + { + name = "async_each___async_each_1.0.3.tgz"; + path = fetchurl { + name = "async_each___async_each_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz"; + sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf"; + }; + } + { + name = "atob___atob_2.1.2.tgz"; + path = fetchurl { + name = "atob___atob_2.1.2.tgz"; + url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; + sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; + }; + } + { + name = "balanced_match___balanced_match_1.0.2.tgz"; + path = fetchurl { + name = "balanced_match___balanced_match_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz"; + sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"; + }; + } + { + name = "base___base_0.11.2.tgz"; + path = fetchurl { + name = "base___base_0.11.2.tgz"; + url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; + sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; + }; + } + { + name = "beeper___beeper_1.1.1.tgz"; + path = fetchurl { + name = "beeper___beeper_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz"; + sha1 = "e6d5ea8c5dad001304a70b22638447f69cb2f809"; + }; + } + { + name = "binary_extensions___binary_extensions_1.13.1.tgz"; + path = fetchurl { + name = "binary_extensions___binary_extensions_1.13.1.tgz"; + url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz"; + sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65"; + }; + } + { + name = "bindings___bindings_1.5.0.tgz"; + path = fetchurl { + name = "bindings___bindings_1.5.0.tgz"; + url = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz"; + sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df"; + }; + } + { + name = "boolbase___boolbase_1.0.0.tgz"; + path = fetchurl { + name = "boolbase___boolbase_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz"; + sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; + }; + } + { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + path = fetchurl { + name = "brace_expansion___brace_expansion_1.1.11.tgz"; + url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; + }; + } + { + name = "braces___braces_1.8.5.tgz"; + path = fetchurl { + name = "braces___braces_1.8.5.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz"; + sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7"; + }; + } + { + name = "braces___braces_2.3.2.tgz"; + path = fetchurl { + name = "braces___braces_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; + sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; + }; + } + { + name = "cache_base___cache_base_1.0.1.tgz"; + path = fetchurl { + name = "cache_base___cache_base_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; + sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; + }; + } + { + name = "chalk___chalk_1.1.3.tgz"; + path = fetchurl { + name = "chalk___chalk_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + } + { + name = "cheerio___cheerio_0.22.0.tgz"; + path = fetchurl { + name = "cheerio___cheerio_0.22.0.tgz"; + url = "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz"; + sha1 = "a9baa860a3f9b595a6b81b1a86873121ed3a269e"; + }; + } + { + name = "chokidar___chokidar_1.7.0.tgz"; + path = fetchurl { + name = "chokidar___chokidar_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz"; + sha1 = "798e689778151c8076b4b360e5edd28cda2bb468"; + }; + } + { + name = "clap___clap_1.2.3.tgz"; + path = fetchurl { + name = "clap___clap_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz"; + sha1 = "4f36745b32008492557f46412d66d50cb99bce51"; + }; + } + { + name = "class_utils___class_utils_0.3.6.tgz"; + path = fetchurl { + name = "class_utils___class_utils_0.3.6.tgz"; + url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; + sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; + }; + } + { + name = "clone_stats___clone_stats_0.0.1.tgz"; + path = fetchurl { + name = "clone_stats___clone_stats_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz"; + sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1"; + }; + } + { + name = "clone___clone_0.2.0.tgz"; + path = fetchurl { + name = "clone___clone_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz"; + sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"; + }; + } + { + name = "clone___clone_1.0.4.tgz"; + path = fetchurl { + name = "clone___clone_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; + sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; + }; + } + { + name = "coa___coa_1.0.4.tgz"; + path = fetchurl { + name = "coa___coa_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz"; + sha1 = "a9ef153660d6a86a8bdec0289a5c684d217432fd"; + }; + } + { + name = "collection_visit___collection_visit_1.0.0.tgz"; + path = fetchurl { + name = "collection_visit___collection_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; + sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; + }; + } + { + name = "color_support___color_support_1.1.3.tgz"; + path = fetchurl { + name = "color_support___color_support_1.1.3.tgz"; + url = "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz"; + sha1 = "93834379a1cc9a0c61f82f52f0d04322251bd5a2"; + }; + } + { + name = "colors___colors_1.1.2.tgz"; + path = fetchurl { + name = "colors___colors_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz"; + sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63"; + }; + } + { + name = "component_emitter___component_emitter_1.3.0.tgz"; + path = fetchurl { + name = "component_emitter___component_emitter_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz"; + sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0"; + }; + } + { + name = "concat_map___concat_map_0.0.1.tgz"; + path = fetchurl { + name = "concat_map___concat_map_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + } + { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + path = fetchurl { + name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; + }; + } + { + name = "core_util_is___core_util_is_1.0.3.tgz"; + path = fetchurl { + name = "core_util_is___core_util_is_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz"; + sha1 = "a6042d3634c2b27e9328f837b965fac83808db85"; + }; + } + { + name = "css_select___css_select_1.2.0.tgz"; + path = fetchurl { + name = "css_select___css_select_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz"; + sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858"; + }; + } + { + name = "css_what___css_what_2.1.3.tgz"; + path = fetchurl { + name = "css_what___css_what_2.1.3.tgz"; + url = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz"; + sha1 = "a6d7604573365fe74686c3f311c56513d88285f2"; + }; + } + { + name = "csso___csso_2.3.2.tgz"; + path = fetchurl { + name = "csso___csso_2.3.2.tgz"; + url = "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz"; + sha1 = "ddd52c587033f49e94b71fc55569f252e8ff5f85"; + }; + } + { + name = "dateformat___dateformat_2.2.0.tgz"; + path = fetchurl { + name = "dateformat___dateformat_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz"; + sha1 = "4065e2013cf9fb916ddfd82efb506ad4c6769062"; + }; + } + { + name = "debug___debug_2.6.9.tgz"; + path = fetchurl { + name = "debug___debug_2.6.9.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; + sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; + }; + } + { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + path = fetchurl { + name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; + }; + } + { + name = "defaults___defaults_1.0.3.tgz"; + path = fetchurl { + name = "defaults___defaults_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; + sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; + }; + } + { + name = "define_property___define_property_0.2.5.tgz"; + path = fetchurl { + name = "define_property___define_property_0.2.5.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; + sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; + }; + } + { + name = "define_property___define_property_1.0.0.tgz"; + path = fetchurl { + name = "define_property___define_property_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; + sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; + }; + } + { + name = "define_property___define_property_2.0.2.tgz"; + path = fetchurl { + name = "define_property___define_property_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; + sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; + }; + } + { + name = "deprecated___deprecated_0.0.1.tgz"; + path = fetchurl { + name = "deprecated___deprecated_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz"; + sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"; + }; + } + { + name = "detect_file___detect_file_1.0.0.tgz"; + path = fetchurl { + name = "detect_file___detect_file_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz"; + sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7"; + }; + } + { + name = "dom_serializer___dom_serializer_0.2.2.tgz"; + path = fetchurl { + name = "dom_serializer___dom_serializer_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz"; + sha1 = "1afb81f533717175d478655debc5e332d9f9bb51"; + }; + } + { + name = "dom_serializer___dom_serializer_0.1.1.tgz"; + path = fetchurl { + name = "dom_serializer___dom_serializer_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz"; + sha1 = "1ec4059e284babed36eec2941d4a970a189ce7c0"; + }; + } + { + name = "domelementtype___domelementtype_1.3.1.tgz"; + path = fetchurl { + name = "domelementtype___domelementtype_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz"; + sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f"; + }; + } + { + name = "domelementtype___domelementtype_2.2.0.tgz"; + path = fetchurl { + name = "domelementtype___domelementtype_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz"; + sha1 = "9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"; + }; + } + { + name = "domhandler___domhandler_2.4.2.tgz"; + path = fetchurl { + name = "domhandler___domhandler_2.4.2.tgz"; + url = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz"; + sha1 = "8805097e933d65e85546f726d60f5eb88b44f803"; + }; + } + { + name = "domutils___domutils_1.5.1.tgz"; + path = fetchurl { + name = "domutils___domutils_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz"; + sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; + }; + } + { + name = "domutils___domutils_1.7.0.tgz"; + path = fetchurl { + name = "domutils___domutils_1.7.0.tgz"; + url = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz"; + sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a"; + }; + } + { + name = "duplexer2___duplexer2_0.0.2.tgz"; + path = fetchurl { + name = "duplexer2___duplexer2_0.0.2.tgz"; + url = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz"; + sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db"; + }; + } + { + name = "end_of_stream___end_of_stream_0.1.5.tgz"; + path = fetchurl { + name = "end_of_stream___end_of_stream_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz"; + sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf"; + }; + } + { + name = "entities___entities_1.1.2.tgz"; + path = fetchurl { + name = "entities___entities_1.1.2.tgz"; + url = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz"; + sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56"; + }; + } + { + name = "entities___entities_2.2.0.tgz"; + path = fetchurl { + name = "entities___entities_2.2.0.tgz"; + url = "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz"; + sha1 = "098dc90ebb83d8dffa089d55256b351d34c4da55"; + }; + } + { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + path = fetchurl { + name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + } + { + name = "esprima___esprima_2.7.3.tgz"; + path = fetchurl { + name = "esprima___esprima_2.7.3.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz"; + sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581"; + }; + } + { + name = "expand_brackets___expand_brackets_0.1.5.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz"; + sha1 = "df07284e342a807cd733ac5af72411e581d1177b"; + }; + } + { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + path = fetchurl { + name = "expand_brackets___expand_brackets_2.1.4.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; + sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; + }; + } + { + name = "expand_range___expand_range_1.8.2.tgz"; + path = fetchurl { + name = "expand_range___expand_range_1.8.2.tgz"; + url = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz"; + sha1 = "a299effd335fe2721ebae8e257ec79644fc85337"; + }; + } + { + name = "expand_tilde___expand_tilde_2.0.2.tgz"; + path = fetchurl { + name = "expand_tilde___expand_tilde_2.0.2.tgz"; + url = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz"; + sha1 = "97e801aa052df02454de46b02bf621642cdc8502"; + }; + } + { + name = "extend_shallow___extend_shallow_1.1.4.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz"; + sha1 = "19d6bf94dfc09d76ba711f39b872d21ff4dd9071"; + }; + } + { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; + sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; + }; + } + { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + path = fetchurl { + name = "extend_shallow___extend_shallow_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; + sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; + }; + } + { + name = "extend___extend_3.0.2.tgz"; + path = fetchurl { + name = "extend___extend_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; + sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; + }; + } + { + name = "extglob___extglob_0.3.2.tgz"; + path = fetchurl { + name = "extglob___extglob_0.3.2.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz"; + sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1"; + }; + } + { + name = "extglob___extglob_2.0.4.tgz"; + path = fetchurl { + name = "extglob___extglob_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; + sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; + }; + } + { + name = "fancy_log___fancy_log_1.3.3.tgz"; + path = fetchurl { + name = "fancy_log___fancy_log_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz"; + sha1 = "dbc19154f558690150a23953a0adbd035be45fc7"; + }; + } + { + name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; + path = fetchurl { + name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; + sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd"; + }; + } + { + name = "filename_regex___filename_regex_2.0.1.tgz"; + path = fetchurl { + name = "filename_regex___filename_regex_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz"; + sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"; + }; + } + { + name = "fill_range___fill_range_2.2.4.tgz"; + path = fetchurl { + name = "fill_range___fill_range_2.2.4.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz"; + sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565"; + }; + } + { + name = "fill_range___fill_range_4.0.0.tgz"; + path = fetchurl { + name = "fill_range___fill_range_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; + sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; + }; + } + { + name = "find_index___find_index_0.1.1.tgz"; + path = fetchurl { + name = "find_index___find_index_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz"; + sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4"; + }; + } + { + name = "findup_sync___findup_sync_2.0.0.tgz"; + path = fetchurl { + name = "findup_sync___findup_sync_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz"; + sha1 = "9326b1488c22d1a6088650a86901b2d9a90a2cbc"; + }; + } + { + name = "fined___fined_1.2.0.tgz"; + path = fetchurl { + name = "fined___fined_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz"; + sha1 = "d00beccf1aa2b475d16d423b0238b713a2c4a37b"; + }; + } + { + name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz"; + path = fetchurl { + name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz"; + sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"; + }; + } + { + name = "first_chunk_stream___first_chunk_stream_2.0.0.tgz"; + path = fetchurl { + name = "first_chunk_stream___first_chunk_stream_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz"; + sha1 = "1bdecdb8e083c0664b91945581577a43a9f31d70"; + }; + } + { + name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; + path = fetchurl { + name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz"; + sha1 = "e7de6f1279ddd9ca9aac8a5971d618606b3aab41"; + }; + } + { + name = "for_in___for_in_1.0.2.tgz"; + path = fetchurl { + name = "for_in___for_in_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; + sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; + }; + } + { + name = "for_own___for_own_0.1.5.tgz"; + path = fetchurl { + name = "for_own___for_own_0.1.5.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz"; + sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce"; + }; + } + { + name = "for_own___for_own_1.0.0.tgz"; + path = fetchurl { + name = "for_own___for_own_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz"; + sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b"; + }; + } + { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + path = fetchurl { + name = "fragment_cache___fragment_cache_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; + sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; + }; + } + { + name = "fsevents___fsevents_1.2.13.tgz"; + path = fetchurl { + name = "fsevents___fsevents_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz"; + sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38"; + }; + } + { + name = "function_bind___function_bind_1.1.1.tgz"; + path = fetchurl { + name = "function_bind___function_bind_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; + sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; + }; + } + { + name = "gaze___gaze_0.5.2.tgz"; + path = fetchurl { + name = "gaze___gaze_0.5.2.tgz"; + url = "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz"; + sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f"; + }; + } + { + name = "get_value___get_value_2.0.6.tgz"; + path = fetchurl { + name = "get_value___get_value_2.0.6.tgz"; + url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; + sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; + }; + } + { + name = "glob_base___glob_base_0.3.0.tgz"; + path = fetchurl { + name = "glob_base___glob_base_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz"; + sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"; + }; + } + { + name = "glob_parent___glob_parent_2.0.0.tgz"; + path = fetchurl { + name = "glob_parent___glob_parent_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz"; + sha1 = "81383d72db054fcccf5336daa902f182f6edbb28"; + }; + } + { + name = "glob_parent___glob_parent_3.1.0.tgz"; + path = fetchurl { + name = "glob_parent___glob_parent_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; + sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; + }; + } + { + name = "glob_stream___glob_stream_3.1.18.tgz"; + path = fetchurl { + name = "glob_stream___glob_stream_3.1.18.tgz"; + url = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz"; + sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b"; + }; + } + { + name = "glob_watcher___glob_watcher_0.0.6.tgz"; + path = fetchurl { + name = "glob_watcher___glob_watcher_0.0.6.tgz"; + url = "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz"; + sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b"; + }; + } + { + name = "glob2base___glob2base_0.0.12.tgz"; + path = fetchurl { + name = "glob2base___glob2base_0.0.12.tgz"; + url = "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz"; + sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56"; + }; + } + { + name = "glob___glob_4.5.3.tgz"; + path = fetchurl { + name = "glob___glob_4.5.3.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz"; + sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f"; + }; + } + { + name = "glob___glob_3.1.21.tgz"; + path = fetchurl { + name = "glob___glob_3.1.21.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz"; + sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd"; + }; + } + { + name = "global_modules___global_modules_1.0.0.tgz"; + path = fetchurl { + name = "global_modules___global_modules_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz"; + sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea"; + }; + } + { + name = "global_prefix___global_prefix_1.0.2.tgz"; + path = fetchurl { + name = "global_prefix___global_prefix_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz"; + sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe"; + }; + } + { + name = "globule___globule_0.1.0.tgz"; + path = fetchurl { + name = "globule___globule_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz"; + sha1 = "d9c8edde1da79d125a151b79533b978676346ae5"; + }; + } + { + name = "glogg___glogg_1.0.2.tgz"; + path = fetchurl { + name = "glogg___glogg_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz"; + sha1 = "2d7dd702beda22eb3bffadf880696da6d846313f"; + }; + } + { + name = "graceful_fs___graceful_fs_3.0.12.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_3.0.12.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz"; + sha1 = "0034947ce9ed695ec8ab0b854bc919e82b1ffaef"; + }; + } + { + name = "graceful_fs___graceful_fs_4.2.8.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_4.2.8.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz"; + sha1 = "e412b8d33f5e006593cbd3cee6df9f2cebbe802a"; + }; + } + { + name = "graceful_fs___graceful_fs_1.2.3.tgz"; + path = fetchurl { + name = "graceful_fs___graceful_fs_1.2.3.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz"; + sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364"; + }; + } + { + name = "gulp_cheerio___gulp_cheerio_0.6.3.tgz"; + path = fetchurl { + name = "gulp_cheerio___gulp_cheerio_0.6.3.tgz"; + url = "https://registry.yarnpkg.com/gulp-cheerio/-/gulp-cheerio-0.6.3.tgz"; + sha1 = "40271c1703368c88408ab8750ba9bf3e1aea9c68"; + }; + } + { + name = "gulp_rename___gulp_rename_1.4.0.tgz"; + path = fetchurl { + name = "gulp_rename___gulp_rename_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz"; + sha1 = "de1c718e7c4095ae861f7296ef4f3248648240bd"; + }; + } + { + name = "gulp_svgmin___gulp_svgmin_1.2.4.tgz"; + path = fetchurl { + name = "gulp_svgmin___gulp_svgmin_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/gulp-svgmin/-/gulp-svgmin-1.2.4.tgz"; + sha1 = "a4aa9e2615cf1105ef555aea86e86296cc20e273"; + }; + } + { + name = "gulp_svgstore___gulp_svgstore_5.0.5.tgz"; + path = fetchurl { + name = "gulp_svgstore___gulp_svgstore_5.0.5.tgz"; + url = "https://registry.yarnpkg.com/gulp-svgstore/-/gulp-svgstore-5.0.5.tgz"; + sha1 = "4ad5cec5d753a1624a00e49cef5fc86a45d97327"; + }; + } + { + name = "gulp_util___gulp_util_3.0.8.tgz"; + path = fetchurl { + name = "gulp_util___gulp_util_3.0.8.tgz"; + url = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz"; + sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f"; + }; + } + { + name = "gulp_watch___gulp_watch_4.3.11.tgz"; + path = fetchurl { + name = "gulp_watch___gulp_watch_4.3.11.tgz"; + url = "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-4.3.11.tgz"; + sha1 = "162fc563de9fc770e91f9a7ce3955513a9a118c0"; + }; + } + { + name = "gulp___gulp_3.9.1.tgz"; + path = fetchurl { + name = "gulp___gulp_3.9.1.tgz"; + url = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz"; + sha1 = "571ce45928dd40af6514fc4011866016c13845b4"; + }; + } + { + name = "gulplog___gulplog_1.0.0.tgz"; + path = fetchurl { + name = "gulplog___gulplog_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz"; + sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5"; + }; + } + { + name = "has_ansi___has_ansi_2.0.0.tgz"; + path = fetchurl { + name = "has_ansi___has_ansi_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + } + { + name = "has_gulplog___has_gulplog_0.1.0.tgz"; + path = fetchurl { + name = "has_gulplog___has_gulplog_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz"; + sha1 = "6414c82913697da51590397dafb12f22967811ce"; + }; + } + { + name = "has_value___has_value_0.3.1.tgz"; + path = fetchurl { + name = "has_value___has_value_0.3.1.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; + sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; + }; + } + { + name = "has_value___has_value_1.0.0.tgz"; + path = fetchurl { + name = "has_value___has_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; + sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; + }; + } + { + name = "has_values___has_values_0.1.4.tgz"; + path = fetchurl { + name = "has_values___has_values_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; + sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; + }; + } + { + name = "has_values___has_values_1.0.0.tgz"; + path = fetchurl { + name = "has_values___has_values_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; + sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; + }; + } + { + name = "has___has_1.0.3.tgz"; + path = fetchurl { + name = "has___has_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; + sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; + }; + } + { + name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; + path = fetchurl { + name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz"; + sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8"; + }; + } + { + name = "htmlparser2___htmlparser2_3.10.1.tgz"; + path = fetchurl { + name = "htmlparser2___htmlparser2_3.10.1.tgz"; + url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz"; + sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f"; + }; + } + { + name = "inflight___inflight_1.0.6.tgz"; + path = fetchurl { + name = "inflight___inflight_1.0.6.tgz"; + url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + } + { + name = "inherits___inherits_1.0.2.tgz"; + path = fetchurl { + name = "inherits___inherits_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz"; + sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"; + }; + } + { + name = "inherits___inherits_2.0.4.tgz"; + path = fetchurl { + name = "inherits___inherits_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz"; + sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c"; + }; + } + { + name = "ini___ini_1.3.8.tgz"; + path = fetchurl { + name = "ini___ini_1.3.8.tgz"; + url = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz"; + sha1 = "a29da425b48806f34767a4efce397269af28432c"; + }; + } + { + name = "interpret___interpret_1.4.0.tgz"; + path = fetchurl { + name = "interpret___interpret_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz"; + sha1 = "665ab8bc4da27a774a40584e812e3e0fa45b1a1e"; + }; + } + { + name = "is_absolute___is_absolute_1.0.0.tgz"; + path = fetchurl { + name = "is_absolute___is_absolute_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz"; + sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576"; + }; + } + { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; + }; + } + { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; + }; + } + { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + path = fetchurl { + name = "is_binary_path___is_binary_path_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; + sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; + }; + } + { + name = "is_buffer___is_buffer_1.1.6.tgz"; + path = fetchurl { + name = "is_buffer___is_buffer_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; + sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; + }; + } + { + name = "is_core_module___is_core_module_2.8.0.tgz"; + path = fetchurl { + name = "is_core_module___is_core_module_2.8.0.tgz"; + url = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz"; + sha1 = "0321336c3d0925e497fd97f5d95cb114a5ccd548"; + }; + } + { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; + }; + } + { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + path = fetchurl { + name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; + }; + } + { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; + sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; + }; + } + { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + path = fetchurl { + name = "is_descriptor___is_descriptor_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; + sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; + }; + } + { + name = "is_dotfile___is_dotfile_1.0.3.tgz"; + path = fetchurl { + name = "is_dotfile___is_dotfile_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz"; + sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"; + }; + } + { + name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; + path = fetchurl { + name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; + url = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"; + sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534"; + }; + } + { + name = "is_extendable___is_extendable_0.1.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; + sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; + }; + } + { + name = "is_extendable___is_extendable_1.0.1.tgz"; + path = fetchurl { + name = "is_extendable___is_extendable_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; + sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; + }; + } + { + name = "is_extglob___is_extglob_1.0.0.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz"; + sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0"; + }; + } + { + name = "is_extglob___is_extglob_2.1.1.tgz"; + path = fetchurl { + name = "is_extglob___is_extglob_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; + sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; + }; + } + { + name = "is_glob___is_glob_2.0.1.tgz"; + path = fetchurl { + name = "is_glob___is_glob_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz"; + sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863"; + }; + } + { + name = "is_glob___is_glob_3.1.0.tgz"; + path = fetchurl { + name = "is_glob___is_glob_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; + sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; + }; + } + { + name = "is_number___is_number_2.1.0.tgz"; + path = fetchurl { + name = "is_number___is_number_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz"; + sha1 = "01fcbbb393463a548f2f466cce16dece49db908f"; + }; + } + { + name = "is_number___is_number_3.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; + sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; + }; + } + { + name = "is_number___is_number_4.0.0.tgz"; + path = fetchurl { + name = "is_number___is_number_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz"; + sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff"; + }; + } + { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + path = fetchurl { + name = "is_plain_object___is_plain_object_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; + sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; + }; + } + { + name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; + path = fetchurl { + name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"; + sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"; + }; + } + { + name = "is_primitive___is_primitive_2.0.0.tgz"; + path = fetchurl { + name = "is_primitive___is_primitive_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz"; + sha1 = "207bab91638499c07b2adf240a41a87210034575"; + }; + } + { + name = "is_relative___is_relative_1.0.0.tgz"; + path = fetchurl { + name = "is_relative___is_relative_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz"; + sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"; + }; + } + { + name = "is_unc_path___is_unc_path_1.0.0.tgz"; + path = fetchurl { + name = "is_unc_path___is_unc_path_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz"; + sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d"; + }; + } + { + name = "is_utf8___is_utf8_0.2.1.tgz"; + path = fetchurl { + name = "is_utf8___is_utf8_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz"; + sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72"; + }; + } + { + name = "is_windows___is_windows_1.0.2.tgz"; + path = fetchurl { + name = "is_windows___is_windows_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; + sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; + }; + } + { + name = "isarray___isarray_0.0.1.tgz"; + path = fetchurl { + name = "isarray___isarray_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; + sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; + }; + } + { + name = "isarray___isarray_1.0.0.tgz"; + path = fetchurl { + name = "isarray___isarray_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + } + { + name = "isexe___isexe_2.0.0.tgz"; + path = fetchurl { + name = "isexe___isexe_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; + sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; + }; + } + { + name = "isobject___isobject_2.1.0.tgz"; + path = fetchurl { + name = "isobject___isobject_2.1.0.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; + sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; + }; + } + { + name = "isobject___isobject_3.0.1.tgz"; + path = fetchurl { + name = "isobject___isobject_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; + sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; + }; + } + { + name = "js_yaml___js_yaml_3.7.0.tgz"; + path = fetchurl { + name = "js_yaml___js_yaml_3.7.0.tgz"; + url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz"; + sha1 = "5c967ddd837a9bfdca5f2de84253abe8a1c03b80"; + }; + } + { + name = "kind_of___kind_of_1.1.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz"; + sha1 = "140a3d2d41a36d2efcfa9377b62c24f8495a5c44"; + }; + } + { + name = "kind_of___kind_of_3.2.2.tgz"; + path = fetchurl { + name = "kind_of___kind_of_3.2.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; + sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; + }; + } + { + name = "kind_of___kind_of_4.0.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_4.0.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; + sha1 = "20813df3d712928b207378691a45066fae72dd57"; + }; + } + { + name = "kind_of___kind_of_5.1.0.tgz"; + path = fetchurl { + name = "kind_of___kind_of_5.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; + sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; + }; + } + { + name = "kind_of___kind_of_6.0.3.tgz"; + path = fetchurl { + name = "kind_of___kind_of_6.0.3.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; + sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd"; + }; + } + { + name = "liftoff___liftoff_2.5.0.tgz"; + path = fetchurl { + name = "liftoff___liftoff_2.5.0.tgz"; + url = "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz"; + sha1 = "2009291bb31cea861bbf10a7c15a28caf75c31ec"; + }; + } + { + name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz"; + path = fetchurl { + name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz"; + sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"; + }; + } + { + name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz"; + path = fetchurl { + name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz"; + sha1 = "d1861d877f824a52f669832dcaf3ee15566a07d5"; + }; + } + { + name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz"; + path = fetchurl { + name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz"; + sha1 = "5b775762802bde3d3297503e26300820fdf661b7"; + }; + } + { + name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; + path = fetchurl { + name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz"; + sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5"; + }; + } + { + name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; + path = fetchurl { + name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; + url = "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"; + sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c"; + }; + } + { + name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; + path = fetchurl { + name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz"; + sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"; + }; + } + { + name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz"; + path = fetchurl { + name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz"; + sha1 = "58bc74c40664953ae0b124d806996daca431e2ed"; + }; + } + { + name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; + path = fetchurl { + name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"; + sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d"; + }; + } + { + name = "lodash._root___lodash._root_3.0.1.tgz"; + path = fetchurl { + name = "lodash._root___lodash._root_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz"; + sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692"; + }; + } + { + name = "lodash.assignin___lodash.assignin_4.2.0.tgz"; + path = fetchurl { + name = "lodash.assignin___lodash.assignin_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz"; + sha1 = "ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"; + }; + } + { + name = "lodash.bind___lodash.bind_4.2.1.tgz"; + path = fetchurl { + name = "lodash.bind___lodash.bind_4.2.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz"; + sha1 = "7ae3017e939622ac31b7d7d7dcb1b34db1690d35"; + }; + } + { + name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; + path = fetchurl { + name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz"; + sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c"; + }; + } + { + name = "lodash.escape___lodash.escape_3.2.0.tgz"; + path = fetchurl { + name = "lodash.escape___lodash.escape_3.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz"; + sha1 = "995ee0dc18c1b48cc92effae71a10aab5b487698"; + }; + } + { + name = "lodash.filter___lodash.filter_4.6.0.tgz"; + path = fetchurl { + name = "lodash.filter___lodash.filter_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz"; + sha1 = "668b1d4981603ae1cc5a6fa760143e480b4c4ace"; + }; + } + { + name = "lodash.flatten___lodash.flatten_4.4.0.tgz"; + path = fetchurl { + name = "lodash.flatten___lodash.flatten_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz"; + sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f"; + }; + } + { + name = "lodash.foreach___lodash.foreach_4.5.0.tgz"; + path = fetchurl { + name = "lodash.foreach___lodash.foreach_4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz"; + sha1 = "1a6a35eace401280c7f06dddec35165ab27e3e53"; + }; + } + { + name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; + path = fetchurl { + name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz"; + sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a"; + }; + } + { + name = "lodash.isarray___lodash.isarray_3.0.4.tgz"; + path = fetchurl { + name = "lodash.isarray___lodash.isarray_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz"; + sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55"; + }; + } + { + name = "lodash.keys___lodash.keys_3.1.2.tgz"; + path = fetchurl { + name = "lodash.keys___lodash.keys_3.1.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz"; + sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a"; + }; + } + { + name = "lodash.map___lodash.map_4.6.0.tgz"; + path = fetchurl { + name = "lodash.map___lodash.map_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz"; + sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3"; + }; + } + { + name = "lodash.merge___lodash.merge_4.6.2.tgz"; + path = fetchurl { + name = "lodash.merge___lodash.merge_4.6.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz"; + sha1 = "558aa53b43b661e1925a0afdfa36a9a1085fe57a"; + }; + } + { + name = "lodash.pick___lodash.pick_4.4.0.tgz"; + path = fetchurl { + name = "lodash.pick___lodash.pick_4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz"; + sha1 = "52f05610fff9ded422611441ed1fc123a03001b3"; + }; + } + { + name = "lodash.reduce___lodash.reduce_4.6.0.tgz"; + path = fetchurl { + name = "lodash.reduce___lodash.reduce_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz"; + sha1 = "f1ab6b839299ad48f784abbf476596f03b914d3b"; + }; + } + { + name = "lodash.reject___lodash.reject_4.6.0.tgz"; + path = fetchurl { + name = "lodash.reject___lodash.reject_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz"; + sha1 = "80d6492dc1470864bbf583533b651f42a9f52415"; + }; + } + { + name = "lodash.restparam___lodash.restparam_3.6.1.tgz"; + path = fetchurl { + name = "lodash.restparam___lodash.restparam_3.6.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz"; + sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805"; + }; + } + { + name = "lodash.some___lodash.some_4.6.0.tgz"; + path = fetchurl { + name = "lodash.some___lodash.some_4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz"; + sha1 = "1bb9f314ef6b8baded13b549169b2a945eb68e4d"; + }; + } + { + name = "lodash.template___lodash.template_3.6.2.tgz"; + path = fetchurl { + name = "lodash.template___lodash.template_3.6.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz"; + sha1 = "f8cdecc6169a255be9098ae8b0c53d378931d14f"; + }; + } + { + name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; + path = fetchurl { + name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"; + sha1 = "fb307844753b66b9f1afa54e262c745307dba8e5"; + }; + } + { + name = "lodash___lodash_1.0.2.tgz"; + path = fetchurl { + name = "lodash___lodash_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz"; + sha1 = "8f57560c83b59fc270bd3d561b690043430e2551"; + }; + } + { + name = "lru_cache___lru_cache_2.7.3.tgz"; + path = fetchurl { + name = "lru_cache___lru_cache_2.7.3.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz"; + sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952"; + }; + } + { + name = "make_iterator___make_iterator_1.0.1.tgz"; + path = fetchurl { + name = "make_iterator___make_iterator_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz"; + sha1 = "29b33f312aa8f547c4a5e490f56afcec99133ad6"; + }; + } + { + name = "map_cache___map_cache_0.2.2.tgz"; + path = fetchurl { + name = "map_cache___map_cache_0.2.2.tgz"; + url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; + sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; + }; + } + { + name = "map_visit___map_visit_1.0.0.tgz"; + path = fetchurl { + name = "map_visit___map_visit_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; + sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; + }; + } + { + name = "math_random___math_random_1.0.4.tgz"; + path = fetchurl { + name = "math_random___math_random_1.0.4.tgz"; + url = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz"; + sha1 = "5dd6943c938548267016d4e34f057583080c514c"; + }; + } + { + name = "micromatch___micromatch_2.3.11.tgz"; + path = fetchurl { + name = "micromatch___micromatch_2.3.11.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz"; + sha1 = "86677c97d1720b363431d04d0d15293bd38c1565"; + }; + } + { + name = "micromatch___micromatch_3.1.10.tgz"; + path = fetchurl { + name = "micromatch___micromatch_3.1.10.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; + sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; + }; + } + { + name = "minimatch___minimatch_2.0.10.tgz"; + path = fetchurl { + name = "minimatch___minimatch_2.0.10.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz"; + sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"; + }; + } + { + name = "minimatch___minimatch_0.2.14.tgz"; + path = fetchurl { + name = "minimatch___minimatch_0.2.14.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz"; + sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a"; + }; + } + { + name = "minimist___minimist_1.2.5.tgz"; + path = fetchurl { + name = "minimist___minimist_1.2.5.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; + sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602"; + }; + } + { + name = "mixin_deep___mixin_deep_1.3.2.tgz"; + path = fetchurl { + name = "mixin_deep___mixin_deep_1.3.2.tgz"; + url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz"; + sha1 = "1120b43dc359a785dce65b55b82e257ccf479566"; + }; + } + { + name = "mkdirp___mkdirp_0.5.5.tgz"; + path = fetchurl { + name = "mkdirp___mkdirp_0.5.5.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; + sha1 = "d91cefd62d1436ca0f41620e251288d420099def"; + }; + } + { + name = "ms___ms_2.0.0.tgz"; + path = fetchurl { + name = "ms___ms_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + } + { + name = "multipipe___multipipe_0.1.2.tgz"; + path = fetchurl { + name = "multipipe___multipipe_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz"; + sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"; + }; + } + { + name = "nan___nan_2.15.0.tgz"; + path = fetchurl { + name = "nan___nan_2.15.0.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz"; + sha1 = "3f34a473ff18e15c1b5626b62903b5ad6e665fee"; + }; + } + { + name = "nanomatch___nanomatch_1.2.13.tgz"; + path = fetchurl { + name = "nanomatch___nanomatch_1.2.13.tgz"; + url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; + sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; + }; + } + { + name = "natives___natives_1.1.6.tgz"; + path = fetchurl { + name = "natives___natives_1.1.6.tgz"; + url = "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz"; + sha1 = "a603b4a498ab77173612b9ea1acdec4d980f00bb"; + }; + } + { + name = "normalize_path___normalize_path_2.1.1.tgz"; + path = fetchurl { + name = "normalize_path___normalize_path_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; + sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; + }; + } + { + name = "nth_check___nth_check_1.0.2.tgz"; + path = fetchurl { + name = "nth_check___nth_check_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz"; + sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"; + }; + } + { + name = "object_assign___object_assign_3.0.0.tgz"; + path = fetchurl { + name = "object_assign___object_assign_3.0.0.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz"; + sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2"; + }; + } + { + name = "object_assign___object_assign_4.1.1.tgz"; + path = fetchurl { + name = "object_assign___object_assign_4.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + } + { + name = "object_copy___object_copy_0.1.0.tgz"; + path = fetchurl { + name = "object_copy___object_copy_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; + sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; + }; + } + { + name = "object_visit___object_visit_1.0.1.tgz"; + path = fetchurl { + name = "object_visit___object_visit_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; + sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; + }; + } + { + name = "object.defaults___object.defaults_1.1.0.tgz"; + path = fetchurl { + name = "object.defaults___object.defaults_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz"; + sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf"; + }; + } + { + name = "object.map___object.map_1.0.1.tgz"; + path = fetchurl { + name = "object.map___object.map_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz"; + sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"; + }; + } + { + name = "object.omit___object.omit_2.0.1.tgz"; + path = fetchurl { + name = "object.omit___object.omit_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz"; + sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"; + }; + } + { + name = "object.pick___object.pick_1.3.0.tgz"; + path = fetchurl { + name = "object.pick___object.pick_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; + sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; + }; + } + { + name = "once___once_1.4.0.tgz"; + path = fetchurl { + name = "once___once_1.4.0.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + } + { + name = "once___once_1.3.3.tgz"; + path = fetchurl { + name = "once___once_1.3.3.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz"; + sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20"; + }; + } + { + name = "orchestrator___orchestrator_0.3.8.tgz"; + path = fetchurl { + name = "orchestrator___orchestrator_0.3.8.tgz"; + url = "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz"; + sha1 = "14e7e9e2764f7315fbac184e506c7aa6df94ad7e"; + }; + } + { + name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; + path = fetchurl { + name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz"; + sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126"; + }; + } + { + name = "os_homedir___os_homedir_1.0.2.tgz"; + path = fetchurl { + name = "os_homedir___os_homedir_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + } + { + name = "parse_filepath___parse_filepath_1.0.2.tgz"; + path = fetchurl { + name = "parse_filepath___parse_filepath_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz"; + sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891"; + }; + } + { + name = "parse_glob___parse_glob_3.0.4.tgz"; + path = fetchurl { + name = "parse_glob___parse_glob_3.0.4.tgz"; + url = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz"; + sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c"; + }; + } + { + name = "parse_node_version___parse_node_version_1.0.1.tgz"; + path = fetchurl { + name = "parse_node_version___parse_node_version_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz"; + sha1 = "e2b5dbede00e7fa9bc363607f53327e8b073189b"; + }; + } + { + name = "parse_passwd___parse_passwd_1.0.0.tgz"; + path = fetchurl { + name = "parse_passwd___parse_passwd_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz"; + sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6"; + }; + } + { + name = "pascalcase___pascalcase_0.1.1.tgz"; + path = fetchurl { + name = "pascalcase___pascalcase_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; + sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; + }; + } + { + name = "path_dirname___path_dirname_1.0.2.tgz"; + path = fetchurl { + name = "path_dirname___path_dirname_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; + sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; + }; + } + { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + path = fetchurl { + name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + } + { + name = "path_parse___path_parse_1.0.7.tgz"; + path = fetchurl { + name = "path_parse___path_parse_1.0.7.tgz"; + url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz"; + sha1 = "fbc114b60ca42b30d9daf5858e4bd68bbedb6735"; + }; + } + { + name = "path_root_regex___path_root_regex_0.1.2.tgz"; + path = fetchurl { + name = "path_root_regex___path_root_regex_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz"; + sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"; + }; + } + { + name = "path_root___path_root_0.1.1.tgz"; + path = fetchurl { + name = "path_root___path_root_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz"; + sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7"; + }; + } + { + name = "pify___pify_2.3.0.tgz"; + path = fetchurl { + name = "pify___pify_2.3.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; + sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; + }; + } + { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + path = fetchurl { + name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + } + { + name = "pinkie___pinkie_2.0.4.tgz"; + path = fetchurl { + name = "pinkie___pinkie_2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + } + { + name = "plugin_error___plugin_error_0.1.2.tgz"; + path = fetchurl { + name = "plugin_error___plugin_error_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz"; + sha1 = "3b9bb3335ccf00f425e07437e19276967da47ace"; + }; + } + { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + path = fetchurl { + name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; + }; + } + { + name = "preserve___preserve_0.2.0.tgz"; + path = fetchurl { + name = "preserve___preserve_0.2.0.tgz"; + url = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz"; + sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b"; + }; + } + { + name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz"; + path = fetchurl { + name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz"; + sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1"; + }; + } + { + name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; + path = fetchurl { + name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; + sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"; + }; + } + { + name = "q___q_1.5.1.tgz"; + path = fetchurl { + name = "q___q_1.5.1.tgz"; + url = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz"; + sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7"; + }; + } + { + name = "randomatic___randomatic_3.1.1.tgz"; + path = fetchurl { + name = "randomatic___randomatic_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz"; + sha1 = "b776efc59375984e36c537b2f51a1f0aff0da1ed"; + }; + } + { + name = "readable_stream___readable_stream_1.0.34.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_1.0.34.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz"; + sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c"; + }; + } + { + name = "readable_stream___readable_stream_2.3.7.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_2.3.7.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; + sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57"; + }; + } + { + name = "readable_stream___readable_stream_3.6.0.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_3.6.0.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz"; + sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198"; + }; + } + { + name = "readable_stream___readable_stream_1.1.14.tgz"; + path = fetchurl { + name = "readable_stream___readable_stream_1.1.14.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz"; + sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9"; + }; + } + { + name = "readdirp___readdirp_2.2.1.tgz"; + path = fetchurl { + name = "readdirp___readdirp_2.2.1.tgz"; + url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; + sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; + }; + } + { + name = "rechoir___rechoir_0.6.2.tgz"; + path = fetchurl { + name = "rechoir___rechoir_0.6.2.tgz"; + url = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz"; + sha1 = "85204b54dba82d5742e28c96756ef43af50e3384"; + }; + } + { + name = "regex_cache___regex_cache_0.4.4.tgz"; + path = fetchurl { + name = "regex_cache___regex_cache_0.4.4.tgz"; + url = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz"; + sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd"; + }; + } + { + name = "regex_not___regex_not_1.0.2.tgz"; + path = fetchurl { + name = "regex_not___regex_not_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; + sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; + }; + } + { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + path = fetchurl { + name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; + sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; + }; + } + { + name = "repeat_element___repeat_element_1.1.4.tgz"; + path = fetchurl { + name = "repeat_element___repeat_element_1.1.4.tgz"; + url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz"; + sha1 = "be681520847ab58c7568ac75fbfad28ed42d39e9"; + }; + } + { + name = "repeat_string___repeat_string_1.6.1.tgz"; + path = fetchurl { + name = "repeat_string___repeat_string_1.6.1.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; + sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; + }; + } + { + name = "replace_ext___replace_ext_0.0.1.tgz"; + path = fetchurl { + name = "replace_ext___replace_ext_0.0.1.tgz"; + url = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz"; + sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924"; + }; + } + { + name = "resolve_dir___resolve_dir_1.0.1.tgz"; + path = fetchurl { + name = "resolve_dir___resolve_dir_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz"; + sha1 = "79a40644c362be82f26effe739c9bb5382046f43"; + }; + } + { + name = "resolve_url___resolve_url_0.2.1.tgz"; + path = fetchurl { + name = "resolve_url___resolve_url_0.2.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; + sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; + }; + } + { + name = "resolve___resolve_1.20.0.tgz"; + path = fetchurl { + name = "resolve___resolve_1.20.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz"; + sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975"; + }; + } + { + name = "ret___ret_0.1.15.tgz"; + path = fetchurl { + name = "ret___ret_0.1.15.tgz"; + url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; + sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; + }; + } + { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + path = fetchurl { + name = "safe_buffer___safe_buffer_5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; + }; + } + { + name = "safe_buffer___safe_buffer_5.2.1.tgz"; + path = fetchurl { + name = "safe_buffer___safe_buffer_5.2.1.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz"; + sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"; + }; + } + { + name = "safe_regex___safe_regex_1.1.0.tgz"; + path = fetchurl { + name = "safe_regex___safe_regex_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; + sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; + }; + } + { + name = "sax___sax_1.2.4.tgz"; + path = fetchurl { + name = "sax___sax_1.2.4.tgz"; + url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; + sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; + }; + } + { + name = "semver___semver_4.3.6.tgz"; + path = fetchurl { + name = "semver___semver_4.3.6.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz"; + sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da"; + }; + } + { + name = "sequencify___sequencify_0.0.7.tgz"; + path = fetchurl { + name = "sequencify___sequencify_0.0.7.tgz"; + url = "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz"; + sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c"; + }; + } + { + name = "set_value___set_value_2.0.1.tgz"; + path = fetchurl { + name = "set_value___set_value_2.0.1.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz"; + sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b"; + }; + } + { + name = "sigmund___sigmund_1.0.1.tgz"; + path = fetchurl { + name = "sigmund___sigmund_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz"; + sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590"; + }; + } + { + name = "slash___slash_1.0.0.tgz"; + path = fetchurl { + name = "slash___slash_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; + sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"; + }; + } + { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + path = fetchurl { + name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; + }; + } + { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + path = fetchurl { + name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; + }; + } + { + name = "snapdragon___snapdragon_0.8.2.tgz"; + path = fetchurl { + name = "snapdragon___snapdragon_0.8.2.tgz"; + url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; + sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; + }; + } + { + name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; + path = fetchurl { + name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; + sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a"; + }; + } + { + name = "source_map_url___source_map_url_0.4.1.tgz"; + path = fetchurl { + name = "source_map_url___source_map_url_0.4.1.tgz"; + url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz"; + sha1 = "0af66605a745a5a2f91cf1bbf8a7afbc283dec56"; + }; + } + { + name = "source_map___source_map_0.5.7.tgz"; + path = fetchurl { + name = "source_map___source_map_0.5.7.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + } + { + name = "sparkles___sparkles_1.0.1.tgz"; + path = fetchurl { + name = "sparkles___sparkles_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz"; + sha1 = "008db65edce6c50eec0c5e228e1945061dd0437c"; + }; + } + { + name = "split_string___split_string_3.1.0.tgz"; + path = fetchurl { + name = "split_string___split_string_3.1.0.tgz"; + url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; + sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; + }; + } + { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + path = fetchurl { + name = "sprintf_js___sprintf_js_1.0.3.tgz"; + url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + } + { + name = "static_extend___static_extend_0.1.2.tgz"; + path = fetchurl { + name = "static_extend___static_extend_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; + sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; + }; + } + { + name = "stream_consume___stream_consume_0.1.1.tgz"; + path = fetchurl { + name = "stream_consume___stream_consume_0.1.1.tgz"; + url = "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz"; + sha1 = "d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48"; + }; + } + { + name = "string_decoder___string_decoder_1.3.0.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.3.0.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz"; + sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e"; + }; + } + { + name = "string_decoder___string_decoder_0.10.31.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_0.10.31.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + } + { + name = "string_decoder___string_decoder_1.1.1.tgz"; + path = fetchurl { + name = "string_decoder___string_decoder_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; + sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; + }; + } + { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + path = fetchurl { + name = "strip_ansi___strip_ansi_3.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + } + { + name = "strip_bom_stream___strip_bom_stream_2.0.0.tgz"; + path = fetchurl { + name = "strip_bom_stream___strip_bom_stream_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz"; + sha1 = "f87db5ef2613f6968aa545abfe1ec728b6a829ca"; + }; + } + { + name = "strip_bom___strip_bom_1.0.0.tgz"; + path = fetchurl { + name = "strip_bom___strip_bom_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz"; + sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794"; + }; + } + { + name = "strip_bom___strip_bom_2.0.0.tgz"; + path = fetchurl { + name = "strip_bom___strip_bom_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz"; + sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; + }; + } + { + name = "supports_color___supports_color_2.0.0.tgz"; + path = fetchurl { + name = "supports_color___supports_color_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + } + { + name = "svgo___svgo_0.7.2.tgz"; + path = fetchurl { + name = "svgo___svgo_0.7.2.tgz"; + url = "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz"; + sha1 = "9f5772413952135c6fefbf40afe6a4faa88b4bb5"; + }; + } + { + name = "through2___through2_0.6.5.tgz"; + path = fetchurl { + name = "through2___through2_0.6.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz"; + sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48"; + }; + } + { + name = "through2___through2_2.0.5.tgz"; + path = fetchurl { + name = "through2___through2_2.0.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; + sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd"; + }; + } + { + name = "tildify___tildify_1.2.0.tgz"; + path = fetchurl { + name = "tildify___tildify_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz"; + sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a"; + }; + } + { + name = "time_stamp___time_stamp_1.1.0.tgz"; + path = fetchurl { + name = "time_stamp___time_stamp_1.1.0.tgz"; + url = "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz"; + sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3"; + }; + } + { + name = "to_object_path___to_object_path_0.3.0.tgz"; + path = fetchurl { + name = "to_object_path___to_object_path_0.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; + sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; + }; + } + { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + path = fetchurl { + name = "to_regex_range___to_regex_range_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; + sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; + }; + } + { + name = "to_regex___to_regex_3.0.2.tgz"; + path = fetchurl { + name = "to_regex___to_regex_3.0.2.tgz"; + url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; + sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; + }; + } + { + name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; + path = fetchurl { + name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; + url = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz"; + sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"; + }; + } + { + name = "union_value___union_value_1.0.1.tgz"; + path = fetchurl { + name = "union_value___union_value_1.0.1.tgz"; + url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz"; + sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847"; + }; + } + { + name = "unique_stream___unique_stream_1.0.0.tgz"; + path = fetchurl { + name = "unique_stream___unique_stream_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz"; + sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b"; + }; + } + { + name = "unset_value___unset_value_1.0.0.tgz"; + path = fetchurl { + name = "unset_value___unset_value_1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; + sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; + }; + } + { + name = "urix___urix_0.1.0.tgz"; + path = fetchurl { + name = "urix___urix_0.1.0.tgz"; + url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; + sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; + }; + } + { + name = "use___use_3.1.1.tgz"; + path = fetchurl { + name = "use___use_3.1.1.tgz"; + url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; + sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; + }; + } + { + name = "user_home___user_home_1.1.1.tgz"; + path = fetchurl { + name = "user_home___user_home_1.1.1.tgz"; + url = "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz"; + sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190"; + }; + } + { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + path = fetchurl { + name = "util_deprecate___util_deprecate_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + } + { + name = "v8flags___v8flags_2.1.1.tgz"; + path = fetchurl { + name = "v8flags___v8flags_2.1.1.tgz"; + url = "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz"; + sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4"; + }; + } + { + name = "vinyl_file___vinyl_file_2.0.0.tgz"; + path = fetchurl { + name = "vinyl_file___vinyl_file_2.0.0.tgz"; + url = "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz"; + sha1 = "a7ebf5ffbefda1b7d18d140fcb07b223efb6751a"; + }; + } + { + name = "vinyl_fs___vinyl_fs_0.3.14.tgz"; + path = fetchurl { + name = "vinyl_fs___vinyl_fs_0.3.14.tgz"; + url = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz"; + sha1 = "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"; + }; + } + { + name = "vinyl___vinyl_0.4.6.tgz"; + path = fetchurl { + name = "vinyl___vinyl_0.4.6.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz"; + sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847"; + }; + } + { + name = "vinyl___vinyl_0.5.3.tgz"; + path = fetchurl { + name = "vinyl___vinyl_0.5.3.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz"; + sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde"; + }; + } + { + name = "vinyl___vinyl_1.2.0.tgz"; + path = fetchurl { + name = "vinyl___vinyl_1.2.0.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz"; + sha1 = "5c88036cf565e5df05558bfc911f8656df218884"; + }; + } + { + name = "whet.extend___whet.extend_0.9.9.tgz"; + path = fetchurl { + name = "whet.extend___whet.extend_0.9.9.tgz"; + url = "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz"; + sha1 = "f877d5bf648c97e5aa542fadc16d6a259b9c11a1"; + }; + } + { + name = "which___which_1.3.1.tgz"; + path = fetchurl { + name = "which___which_1.3.1.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; + sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; + }; + } + { + name = "wrappy___wrappy_1.0.2.tgz"; + path = fetchurl { + name = "wrappy___wrappy_1.0.2.tgz"; + url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + } + { + name = "xtend___xtend_4.0.2.tgz"; + path = fetchurl { + name = "xtend___xtend_4.0.2.tgz"; + url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz"; + sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54"; + }; + } + ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e30157ec9781..5358d4578a18 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30129,6 +30129,8 @@ with pkgs; zam-plugins = callPackage ../applications/audio/zam-plugins { }; + zammad = callPackage ../applications/networking/misc/zammad { }; + zanshin = libsForQt5.callPackage ../applications/office/zanshin { }; zathuraPkgs = callPackage ../applications/misc/zathura { }; From 9bc86d946b4447e9c138ff80e786ec1c50ca78b7 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 26 Jan 2022 07:01:47 -0500 Subject: [PATCH 12/83] zammad: init module Co-authored-by: garbas --- nixos/modules/module-list.nix | 1 + nixos/modules/services/development/zammad.nix | 217 ++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 nixos/modules/services/development/zammad.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 871f413a8bbc..766bc47392c0 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -395,6 +395,7 @@ ./services/development/jupyterhub/default.nix ./services/development/rstudio-server/default.nix ./services/development/lorri.nix + ./services/development/zammad.nix ./services/display-managers/greetd.nix ./services/editors/emacs.nix ./services/editors/infinoted.nix diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix new file mode 100644 index 000000000000..a742d19233c1 --- /dev/null +++ b/nixos/modules/services/development/zammad.nix @@ -0,0 +1,217 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.zammad; + serviceConfig = { + Type = "simple"; + Restart = "always"; + + User = "zammad"; + Group = "zammad"; + PrivateTmp = true; + StateDirectory = builtins.baseNameOf cfg.dataDir; + WorkingDirectory = cfg.dataDir; + + EnvironmentFile = cfg.secretsFile; + }; + env = { + RAILS_ENV = "production"; + NODE_ENV = "production"; + RAILS_SERVE_STATIC_FILES="true"; + RAILS_LOG_TO_STDOUT="true"; + }; +in { + + options = { + services.zammad = { + enable = lib.mkEnableOption "Zammad, a web-based, open source user support/ticketing solution."; + + package = lib.mkOption { + type = lib.types.package; + default = pkgs.zammad; + defaultText = "pkgs.zammad"; + description = "Zammad package to use."; + }; + + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/zammad"; + description = '' + Path to a folder that will contain Zammad working directory. + ''; + }; + + host = lib.mkOption { + type = lib.types.str; + default = "127.0.0.1"; + example = "192.168.23.42"; + description = "Host address."; + }; + + port = lib.mkOption { + type = lib.types.int; + default = 3000; + description = "Web service port."; + }; + + websocketPort = lib.mkOption { + type = lib.types.int; + default = 6042; + description = "Websocket service port."; + }; + + dbName = lib.mkOption { + type = lib.types.str; + default = "zammad"; + description = "The name of the database to use."; + }; + + dbUsername = lib.mkOption { + type = lib.types.str; + default = "zammad"; + description = "The username to use to connect to the database."; + }; + + secretsFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + Path of a file containing secrets the format of EnvironmentFile as + described by systemd.exec(5). You must to define: + - PGPASSWORD + - SECRET_KEY_BASE + SECRET_KEY_BASE can be generated using: + ruby -e "require 'securerandom'; puts SecureRandom.hex(64)" + ''; + }; + }; + + }; + + config = lib.mkIf cfg.enable { + + networking.firewall.allowedTCPPorts = [ + config.services.zammad.port + config.services.zammad.websocketPort + ]; + + users.users.zammad = { + isSystemUser = true; + home = cfg.dataDir; + group = "zammad"; + }; + + users.groups.zammad = {}; + + services.postgresql = { + enable = true; + ensureDatabases = [ cfg.dbName ]; + ensureUsers = [ + { + name = cfg.dbUsername; + ensurePermissions."DATABASE ${cfg.dbName}" = "ALL PRIVILEGES"; + } + ]; + }; + + systemd.services.zammad-setup = { + after = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + serviceConfig.EnvironmentFile = cfg.secretsFile; + script = '' + echo "Setting password for database '${cfg.dbName}' and user '${cfg.dbUsername}'" + ${pkgs.utillinux}/bin/runuser -u ${config.services.postgresql.superUser} -- \ + ${config.services.postgresql.package}/bin/psql \ + -c "ALTER ROLE ${cfg.dbUsername} WITH PASSWORD '$PGPASSWORD'" + mkdir -p ${cfg.dataDir} + ''; + }; + + systemd.services.zammad-web = { + after = [ + "network.target" + "postgresql.service" + "zammad-setup.service" + ]; + requires = [ + "postgresql.service" + "zammad-setup.service" + ]; + description = "Zammad web"; + wantedBy = [ "multi-user.target" ]; + environment = env; + preStart = '' + # Blindly copy the whole project here. + chmod -R +w ${cfg.dataDir}/ + rm -rf ${cfg.dataDir}/public/assets/* + rm -rf ${cfg.dataDir}/tmp/* + rm -rf ${cfg.dataDir}/log/* + cp -r --no-preserve=owner ${cfg.package}/* ${cfg.dataDir} + chmod -R +w ${cfg.dataDir} + export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}"; + if [ `${config.services.postgresql.package}/bin/psql \ + --host localhost \ + --port ${toString(config.services.postgresql.port)} \ + --username ${cfg.dbUsername} \ + --dbname ${cfg.dbName} \ + --command "SELECT COUNT(*) FROM pg_class c \ + JOIN pg_namespace s ON s.oid = c.relnamespace \ + WHERE s.nspname NOT IN ('pg_catalog', 'pg_toast', 'information_schema') \ + AND s.nspname NOT LIKE 'pg_temp%';" | sed -n 3p` -eq 0 ]; then + echo "Initialize database" + ${cfg.dataDir}/bin/rake db:migrate + ${cfg.dataDir}/bin/rake db:seed + else + echo "Migrate database" + ${cfg.dataDir}/bin/rake db:migrate + fi + echo "Done" + ''; + + serviceConfig = serviceConfig // { + ExecStart = pkgs.writeShellScript "zammad-web-start" '' + set -eu + export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" + ${cfg.dataDir}/script/rails server -b ${cfg.host} -p ${toString(cfg.port)} + ''; + }; + }; + + systemd.services.zammad-websocket = { + after = [ "zammad-web.service" ]; + requires = [ + "zammad-web.service" + ]; + description = "Zammad websocket"; + wantedBy = [ "multi-user.target" ]; + environment = env; + serviceConfig = serviceConfig // { + ExecStart = pkgs.writeShellScript "zammad-websocket-start" '' + set -eu + export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" + ${cfg.dataDir}/script/websocket-server.rb -b ${cfg.host} -p ${toString(cfg.websocketPort)} start + ''; + }; + }; + + systemd.services.zammad-scheduler = { + after = [ "zammad-web.service" ]; + requires = [ + "zammad-web.service" + ]; + description = "Zammad scheduler"; + wantedBy = [ "multi-user.target" ]; + environment = env; + serviceConfig = serviceConfig // { + Type = "forking"; + ExecStart = pkgs.writeShellScript "zammad-scheduler-start" '' + set -eu + export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" + ${cfg.dataDir}/script/scheduler.rb start + ''; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ garbas ]; +} From e662b519a260b2085d58478e34afbcc4ecb2e40d Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 2 Feb 2022 06:23:43 -0500 Subject: [PATCH 13/83] zammad: add module test --- nixos/tests/all-tests.nix | 1 + nixos/tests/zammad/default.nix | 27 +++++++++++++++++++++++++++ nixos/tests/zammad/test_secrets | 2 ++ 3 files changed, 30 insertions(+) create mode 100644 nixos/tests/zammad/default.nix create mode 100644 nixos/tests/zammad/test_secrets diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c9c39e792514..d348c2b0e91f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -571,6 +571,7 @@ in xxh = handleTest ./xxh.nix {}; yabar = handleTest ./yabar.nix {}; yggdrasil = handleTest ./yggdrasil.nix {}; + zammad = handleTest ./zammad {}; zfs = handleTest ./zfs.nix {}; zigbee2mqtt = handleTest ./zigbee2mqtt.nix {}; zoneminder = handleTest ./zoneminder.nix {}; diff --git a/nixos/tests/zammad/default.nix b/nixos/tests/zammad/default.nix new file mode 100644 index 000000000000..53b7ef0e30c5 --- /dev/null +++ b/nixos/tests/zammad/default.nix @@ -0,0 +1,27 @@ +import ./make-test-python.nix ( + { lib, ... }: + + { + name = "zammad"; + + meta.maintainers = with lib.maintainers; [ garbas ]; + + nodes.machine = { + services.zammad.enable = true; + services.zammad.secretsFile = "${./test_secrets}"; + }; + + testScript = '' + start_all() + machine.wait_for_unit("postgresql.service") + machine.wait_for_unit("zammad-web.service") + machine.wait_for_unit("zammad-websocket.service") + machine.wait_for_unit("zammad-scheduler.service") + # without the grep the command does not produce valid utf-8 for some reason + with subtest("welcome screen loads"): + machine.succeed( + "curl -sSfL http://localhost:3000/ | grep 'Zammad Helpdesk'" + ) + ''; + } +) diff --git a/nixos/tests/zammad/test_secrets b/nixos/tests/zammad/test_secrets new file mode 100644 index 000000000000..a5da713d5cf8 --- /dev/null +++ b/nixos/tests/zammad/test_secrets @@ -0,0 +1,2 @@ +PGPASSWORD=12345 +SECRET_KEY_BASE=52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 From c270d3d52705b76ff0dc5e6c6453e4c07f70a30d Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 8 Feb 2022 09:46:18 -0500 Subject: [PATCH 14/83] zammad: patch ruby 2.7 version --- .../networking/misc/zammad/default.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index 8060f582851e..e267bb52dcdc 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitHub +, applyPatches , bundlerEnv , defaultGemConfig , callPackage @@ -20,7 +21,18 @@ let pname = "zammad"; version = "5.0.2"; - sourceDir = fetchFromGitHub (builtins.fromJSON (builtins.readFile ./source.json)); + sourceDir = applyPatches "zammad-patched" { + + src = fetchFromGitHub (builtins.fromJSON (builtins.readFile ./source.json)); + + patches = [ ./0001-nulldb.patch ]; + + postPatch = '' + sed -i -e "s|ruby '2.7.4'|ruby '${ruby_2_7.version}'|" Gemfile + sed -i -e "s|ruby 2.7.4p191|ruby ${ruby_2_7.version}|" Gemfile.lock + sed -i -e "s|2.7.4|${ruby_2_7.version}|" .ruby-version + ''; + }; databaseConfig = writeText "database.yml" '' production: @@ -87,10 +99,6 @@ in stdenv.mkDerivation { src = sourceDir; - patches = [ - ./0001-nulldb.patch - ]; - buildInputs = [ rubyEnv rubyEnv.wrappedRuby From e7aba931e2c5f1e716f80f9c7911c0712e26ec28 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 8 Feb 2022 09:48:11 -0500 Subject: [PATCH 15/83] zammad: fix module/test --- nixos/modules/services/development/zammad.nix | 2 +- nixos/tests/zammad/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index a742d19233c1..3b4780ad3232 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -120,7 +120,7 @@ in { serviceConfig.EnvironmentFile = cfg.secretsFile; script = '' echo "Setting password for database '${cfg.dbName}' and user '${cfg.dbUsername}'" - ${pkgs.utillinux}/bin/runuser -u ${config.services.postgresql.superUser} -- \ + ${pkgs.util-linux}/bin/runuser -u ${config.services.postgresql.superUser} -- \ ${config.services.postgresql.package}/bin/psql \ -c "ALTER ROLE ${cfg.dbUsername} WITH PASSWORD '$PGPASSWORD'" mkdir -p ${cfg.dataDir} diff --git a/nixos/tests/zammad/default.nix b/nixos/tests/zammad/default.nix index 53b7ef0e30c5..47560794bac9 100644 --- a/nixos/tests/zammad/default.nix +++ b/nixos/tests/zammad/default.nix @@ -1,4 +1,4 @@ -import ./make-test-python.nix ( +import ../make-test-python.nix ( { lib, ... }: { From 94cc607fa6958cdcfe3789ebe49588687f8a15b0 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Thu, 10 Feb 2022 08:06:28 -0500 Subject: [PATCH 16/83] applyPatches args --- pkgs/applications/networking/misc/zammad/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index e267bb52dcdc..27d5a7555fbb 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -21,7 +21,7 @@ let pname = "zammad"; version = "5.0.2"; - sourceDir = applyPatches "zammad-patched" { + sourceDir = applyPatches { src = fetchFromGitHub (builtins.fromJSON (builtins.readFile ./source.json)); From 34e0a1a1f13a2d81ffb9a9030dd25f67c3d60006 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 15 Feb 2022 19:27:40 -0500 Subject: [PATCH 17/83] fix zammad service --- nixos/modules/services/development/zammad.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 3b4780ad3232..1ceb2f2dd20d 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -149,6 +149,7 @@ in { cp -r --no-preserve=owner ${cfg.package}/* ${cfg.dataDir} chmod -R +w ${cfg.dataDir} export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}"; + pushd ${cfg.dataDir} if [ `${config.services.postgresql.package}/bin/psql \ --host localhost \ --port ${toString(config.services.postgresql.port)} \ @@ -159,16 +160,19 @@ in { WHERE s.nspname NOT IN ('pg_catalog', 'pg_toast', 'information_schema') \ AND s.nspname NOT LIKE 'pg_temp%';" | sed -n 3p` -eq 0 ]; then echo "Initialize database" - ${cfg.dataDir}/bin/rake db:migrate - ${cfg.dataDir}/bin/rake db:seed + ./bin/rake --no-system db:migrate + ./bin/rake --no-system db:seed else echo "Migrate database" - ${cfg.dataDir}/bin/rake db:migrate + ./bin/rake --no-system db:migrate fi + popd echo "Done" ''; serviceConfig = serviceConfig // { + # loading all the gems takes a long time + TimeoutStartSec=600; ExecStart = pkgs.writeShellScript "zammad-web-start" '' set -eu export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" From e1009112b609e0a59fa6e66c87e35e640a10fde5 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 15 Feb 2022 19:33:10 -0500 Subject: [PATCH 18/83] minor tweaks --- nixos/modules/services/development/zammad.nix | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 1ceb2f2dd20d..c45f9b90f95c 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -1,5 +1,7 @@ { config, lib, pkgs, ... }: +with lib; + let cfg = config.services.zammad; serviceConfig = { @@ -9,7 +11,7 @@ let User = "zammad"; Group = "zammad"; PrivateTmp = true; - StateDirectory = builtins.baseNameOf cfg.dataDir; + StateDirectory = "zammad"; WorkingDirectory = cfg.dataDir; EnvironmentFile = cfg.secretsFile; @@ -24,38 +26,44 @@ in { options = { services.zammad = { - enable = lib.mkEnableOption "Zammad, a web-based, open source user support/ticketing solution."; + enable = mkEnableOption "Zammad, a web-based, open source user support/ticketing solution."; - package = lib.mkOption { - type = lib.types.package; + package = mkOption { + type = types.package; default = pkgs.zammad; - defaultText = "pkgs.zammad"; + defaultText = literalExpression "pkgs.zammad"; description = "Zammad package to use."; }; - dataDir = lib.mkOption { - type = lib.types.path; + dataDir = mkOption { + type = types.path; default = "/var/lib/zammad"; description = '' Path to a folder that will contain Zammad working directory. ''; }; - host = lib.mkOption { - type = lib.types.str; + host = mkOption { + type = types.str; default = "127.0.0.1"; example = "192.168.23.42"; description = "Host address."; }; - port = lib.mkOption { - type = lib.types.int; + openPorts = mkOption { + type = types.bool; + default = false; + description = "Whether to open firewall ports for Zammad"; + }; + + port = mkOption { + type = types.port; default = 3000; description = "Web service port."; }; - websocketPort = lib.mkOption { - type = lib.types.int; + websocketPort = mkOption { + type = types.port; default = 6042; description = "Websocket service port."; }; @@ -88,9 +96,9 @@ in { }; - config = lib.mkIf cfg.enable { + config = mkIf cfg.enable { - networking.firewall.allowedTCPPorts = [ + networking.firewall.allowedTCPPorts = mkIf cfg.openPorts [ config.services.zammad.port config.services.zammad.websocketPort ]; From aac7f85483b7ab70adf62f6217bedb5a0b41d9d0 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 15 Feb 2022 23:33:10 -0500 Subject: [PATCH 19/83] zammad: fix module databases --- nixos/modules/services/development/zammad.nix | 218 +++++++++++------- .../tests/{zammad/default.nix => zammad.nix} | 3 +- nixos/tests/zammad/test_secrets | 2 - 3 files changed, 140 insertions(+), 83 deletions(-) rename nixos/tests/{zammad/default.nix => zammad.nix} (85%) delete mode 100644 nixos/tests/zammad/test_secrets diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index c45f9b90f95c..119e8fc961e5 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.zammad; + settingsFormat = pkgs.formats.yaml { }; serviceConfig = { Type = "simple"; Restart = "always"; @@ -16,12 +17,13 @@ let EnvironmentFile = cfg.secretsFile; }; - env = { + environment = { RAILS_ENV = "production"; NODE_ENV = "production"; RAILS_SERVE_STATIC_FILES="true"; RAILS_LOG_TO_STDOUT="true"; }; + databaseConfig = settingsFormat.generate "database.yml" cfg.database.settings; in { options = { @@ -68,20 +70,77 @@ in { description = "Websocket service port."; }; - dbName = lib.mkOption { - type = lib.types.str; - default = "zammad"; - description = "The name of the database to use."; + database = { + type = mkOption { + type = types.enum [ "PostgreSQL" "MySQL" ]; + default = "PostgreSQL"; + example = "MySQL"; + description = "Database engine to use."; + }; + + host = mkOption { + type = types.nullOr types.str; + default = { + PostgreSQL = "/run/postgresql"; + MySQL = "localhost"; + }.${cfg.database.type}; + description = '' + Database host address. + ''; + }; + + port = mkOption { + type = types.nullOr types.port; + default = null; + description = "Database port. Use null for default port."; + }; + + name = mkOption { + type = types.str; + default = "zammad"; + description = '' + Database name. + ''; + }; + + user = mkOption { + type = types.nullOr types.str; + default = "zammad"; + description = "Database user."; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/run/keys/zammad-dbpassword"; + description = '' + A file containing the password for . + ''; + }; + + createLocally = mkOption { + type = types.bool; + default = true; + description = "Whether to create a local database automatically."; + }; + + settings = mkOption { + type = settingsFormat.type; + default = {}; + example = literalExpression '' + { + } + ''; + description = '' + The database.yml configuration file as key value set. + See + for list of configuration parameters. + ''; + }; }; - dbUsername = lib.mkOption { - type = lib.types.str; - default = "zammad"; - description = "The username to use to connect to the database."; - }; - - secretsFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; + secretsFile = mkOption { + type = types.nullOr types.path; default = null; description = '' Path of a file containing secrets the format of EnvironmentFile as @@ -98,6 +157,22 @@ in { config = mkIf cfg.enable { + services.zammad.database.settings = { + production = (mapAttrs (_: v: mkDefault v) { + adapter = { + PostgreSQL = "postgresql"; + MySQL = "mysql2"; + }.${cfg.database.type}; + database = cfg.database.name; + pool = 50; + timeout = 5000; + encoding = "utf8"; + username = cfg.database.user; + host = cfg.database.host; + port = lib.mkIf (cfg.database.port != null) cfg.database.port + }); + }; + networking.firewall.allowedTCPPorts = mkIf cfg.openPorts [ config.services.zammad.port config.services.zammad.websocketPort @@ -111,58 +186,69 @@ in { users.groups.zammad = {}; - services.postgresql = { + assertions = [ + { assertion = cfg.database.createLocally -> cfg.database.user == "zammad"; + message = "services.zammad.database.user must be set to \"zammad\" if services.zammad.database.createLocally is set to true"; + } + { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + message = "a password cannot be specified if services.zammad.database.createLocally is set to true"; + } + ]; + + services.mysql = optionalAttrs (cfg.database.createLocally && cfg.database.type == "MySQL") { enable = true; - ensureDatabases = [ cfg.dbName ]; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { - name = cfg.dbUsername; - ensurePermissions."DATABASE ${cfg.dbName}" = "ALL PRIVILEGES"; + { name = cfg.database.user; + ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; } ]; }; - systemd.services.zammad-setup = { - after = [ "postgresql.service" ]; - requires = [ "postgresql.service" ]; - serviceConfig.EnvironmentFile = cfg.secretsFile; - script = '' - echo "Setting password for database '${cfg.dbName}' and user '${cfg.dbUsername}'" - ${pkgs.util-linux}/bin/runuser -u ${config.services.postgresql.superUser} -- \ - ${config.services.postgresql.package}/bin/psql \ - -c "ALTER ROLE ${cfg.dbUsername} WITH PASSWORD '$PGPASSWORD'" - mkdir -p ${cfg.dataDir} - ''; + services.postgresql = optionalAttrs (cfg.database.createLocally && cfg.database.type == "PostgreSQL") { + enable = true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { name = cfg.database.user; + ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; + } + ]; }; systemd.services.zammad-web = { + inherit environment; + serviceConfig = serviceConfig // { + # loading all the gems takes time + TimeoutStartSec = 600; + Restart = "no"; + }; after = [ "network.target" "postgresql.service" - "zammad-setup.service" ]; requires = [ "postgresql.service" - "zammad-setup.service" ]; description = "Zammad web"; wantedBy = [ "multi-user.target" ]; - environment = env; preStart = '' # Blindly copy the whole project here. - chmod -R +w ${cfg.dataDir}/ - rm -rf ${cfg.dataDir}/public/assets/* - rm -rf ${cfg.dataDir}/tmp/* - rm -rf ${cfg.dataDir}/log/* - cp -r --no-preserve=owner ${cfg.package}/* ${cfg.dataDir} - chmod -R +w ${cfg.dataDir} - export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}"; - pushd ${cfg.dataDir} + chmod -R u+w . + rm -rf ./public/assets/* + rm -rf ./tmp/* + rm -rf ./log/* + cp -r --no-preserve=owner ${cfg.package}/* . + chmod -R u+w . + # config file + cp ${databaseConfig} ./config/database.yml if [ `${config.services.postgresql.package}/bin/psql \ - --host localhost \ - --port ${toString(config.services.postgresql.port)} \ - --username ${cfg.dbUsername} \ - --dbname ${cfg.dbName} \ + --host ${cfg.database.host} \ + ${optionalString + (cfg.database.port != null) + "--port ${toString cfg.database.port}"} \ + --username ${cfg.database.user} \ + --dbname ${cfg.database.name} \ --command "SELECT COUNT(*) FROM pg_class c \ JOIN pg_namespace s ON s.oid = c.relnamespace \ WHERE s.nspname NOT IN ('pg_catalog', 'pg_toast', 'information_schema') \ @@ -174,56 +260,30 @@ in { echo "Migrate database" ./bin/rake --no-system db:migrate fi - popd echo "Done" ''; - - serviceConfig = serviceConfig // { - # loading all the gems takes a long time - TimeoutStartSec=600; - ExecStart = pkgs.writeShellScript "zammad-web-start" '' - set -eu - export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" - ${cfg.dataDir}/script/rails server -b ${cfg.host} -p ${toString(cfg.port)} - ''; - }; + script = "./script/rails server -b ${cfg.host} -p ${toString cfg.port}"; }; systemd.services.zammad-websocket = { + inherit serviceConfig environment; after = [ "zammad-web.service" ]; - requires = [ - "zammad-web.service" - ]; + requires = [ "zammad-web.service" ]; description = "Zammad websocket"; wantedBy = [ "multi-user.target" ]; - environment = env; - serviceConfig = serviceConfig // { - ExecStart = pkgs.writeShellScript "zammad-websocket-start" '' - set -eu - export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" - ${cfg.dataDir}/script/websocket-server.rb -b ${cfg.host} -p ${toString(cfg.websocketPort)} start - ''; - }; + script = "./script/websocket-server.rb -b ${cfg.host} -p ${toString cfg.websocketPort} start"; }; systemd.services.zammad-scheduler = { + inherit environment; + serviceConfig = serviceConfig // { Type = "forking"; }; after = [ "zammad-web.service" ]; - requires = [ - "zammad-web.service" - ]; + requires = [ "zammad-web.service" ]; description = "Zammad scheduler"; wantedBy = [ "multi-user.target" ]; - environment = env; - serviceConfig = serviceConfig // { - Type = "forking"; - ExecStart = pkgs.writeShellScript "zammad-scheduler-start" '' - set -eu - export DATABASE_URL="postgresql://${cfg.dbUsername}:$PGPASSWORD@localhost:${toString(config.services.postgresql.port)}/${cfg.dbName}" - ${cfg.dataDir}/script/scheduler.rb start - ''; - }; + script = "./script/scheduler.rb start"; }; }; - meta.maintainers = with lib.maintainers; [ garbas ]; + meta.maintainers = with lib.maintainers; [ garbas taeer ]; } diff --git a/nixos/tests/zammad/default.nix b/nixos/tests/zammad.nix similarity index 85% rename from nixos/tests/zammad/default.nix rename to nixos/tests/zammad.nix index 47560794bac9..0125aa3a8da9 100644 --- a/nixos/tests/zammad/default.nix +++ b/nixos/tests/zammad.nix @@ -4,11 +4,10 @@ import ../make-test-python.nix ( { name = "zammad"; - meta.maintainers = with lib.maintainers; [ garbas ]; + meta.maintainers = with lib.maintainers; [ garbas taeer ]; nodes.machine = { services.zammad.enable = true; - services.zammad.secretsFile = "${./test_secrets}"; }; testScript = '' diff --git a/nixos/tests/zammad/test_secrets b/nixos/tests/zammad/test_secrets deleted file mode 100644 index a5da713d5cf8..000000000000 --- a/nixos/tests/zammad/test_secrets +++ /dev/null @@ -1,2 +0,0 @@ -PGPASSWORD=12345 -SECRET_KEY_BASE=52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 From 75fe105a3d080bc91db9f79d80c56d24e6631592 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 16 Feb 2022 00:49:51 -0500 Subject: [PATCH 20/83] Zammad: more fixes --- nixos/modules/services/development/zammad.nix | 47 ++++++++++++++----- nixos/tests/all-tests.nix | 2 +- nixos/tests/zammad.nix | 7 ++- 3 files changed, 41 insertions(+), 15 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 119e8fc961e5..17f78acdfa36 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -5,6 +5,7 @@ with lib; let cfg = config.services.zammad; settingsFormat = pkgs.formats.yaml { }; + filterNull = filterAttrs (_: v: v != null); serviceConfig = { Type = "simple"; Restart = "always"; @@ -14,8 +15,6 @@ let PrivateTmp = true; StateDirectory = "zammad"; WorkingDirectory = cfg.dataDir; - - EnvironmentFile = cfg.secretsFile; }; environment = { RAILS_ENV = "production"; @@ -139,26 +138,36 @@ in { }; }; - secretsFile = mkOption { + secretKeyBaseFile = mkOption { type = types.nullOr types.path; default = null; + example = "/run/keys/secret_key_base"; description = '' - Path of a file containing secrets the format of EnvironmentFile as - described by systemd.exec(5). You must to define: - - PGPASSWORD - - SECRET_KEY_BASE - SECRET_KEY_BASE can be generated using: - ruby -e "require 'securerandom'; puts SecureRandom.hex(64)" + The path to a file containing the + secret_key_base secret. + + Zammad uses secret_key_base to encrypt + the cookie store, which contains session data, and to digest + user auth tokens. + + Needs to be a 64 byte long string of hexadecimal + characters. You can generate one by running + + + $ openssl rand -hex 64 >/path/to/secret_key_base_file + + + This should be a string, not a nix path, since nix paths are + copied into the world-readable nix store. ''; }; }; - }; config = mkIf cfg.enable { services.zammad.database.settings = { - production = (mapAttrs (_: v: mkDefault v) { + production = mapAttrs (_: v: mkDefault v) (filterNull { adapter = { PostgreSQL = "postgresql"; MySQL = "mysql2"; @@ -169,7 +178,7 @@ in { encoding = "utf8"; username = cfg.database.user; host = cfg.database.host; - port = lib.mkIf (cfg.database.port != null) cfg.database.port + port = cfg.database.port; }); }; @@ -242,6 +251,20 @@ in { chmod -R u+w . # config file cp ${databaseConfig} ./config/database.yml + chmod -R u+w . + ${optionalString (cfg.database.passwordFile != null) '' + { + echo -n " password: " + cat ${cfg.database.passwordFile} + } >> ./config/database.yml + ''} + ${optionalString (cfg.secretKeyBaseFile != null) '' + { + echo "production: " + echo -n " secret_key_base: " + cat ${cfg.secretKeyBaseFile} + } > ./config/secrets.yml + ''} if [ `${config.services.postgresql.package}/bin/psql \ --host ${cfg.database.host} \ ${optionalString diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index d348c2b0e91f..fd5cabe2153b 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -571,7 +571,7 @@ in xxh = handleTest ./xxh.nix {}; yabar = handleTest ./yabar.nix {}; yggdrasil = handleTest ./yggdrasil.nix {}; - zammad = handleTest ./zammad {}; + zammad = handleTest ./zammad.nix {}; zfs = handleTest ./zfs.nix {}; zigbee2mqtt = handleTest ./zigbee2mqtt.nix {}; zoneminder = handleTest ./zoneminder.nix {}; diff --git a/nixos/tests/zammad.nix b/nixos/tests/zammad.nix index 0125aa3a8da9..5849e5bf2163 100644 --- a/nixos/tests/zammad.nix +++ b/nixos/tests/zammad.nix @@ -1,5 +1,5 @@ -import ../make-test-python.nix ( - { lib, ... }: +import ./make-test-python.nix ( + { lib, pkgs, ... }: { name = "zammad"; @@ -8,6 +8,9 @@ import ../make-test-python.nix ( nodes.machine = { services.zammad.enable = true; + services.zammad.secretKeyBaseFile = pkgs.writeText "secret" '' + 52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 + ''; }; testScript = '' From 4d38b6460f564bd69586fe5c1bdead99310f31cd Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 16 Feb 2022 16:50:22 -0500 Subject: [PATCH 21/83] zammad: reformat --- nixos/modules/services/development/zammad.nix | 23 +- nixos/tests/zammad.nix | 44 +- .../networking/misc/zammad/default.nix | 7 +- .../networking/misc/zammad/gemset.nix | 1900 ++++++++--------- .../networking/misc/zammad/yarn.nix | 666 +++--- 5 files changed, 1323 insertions(+), 1317 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 17f78acdfa36..245e3eea5dfd 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -19,11 +19,12 @@ let environment = { RAILS_ENV = "production"; NODE_ENV = "production"; - RAILS_SERVE_STATIC_FILES="true"; - RAILS_LOG_TO_STDOUT="true"; + RAILS_SERVE_STATIC_FILES = "true"; + RAILS_LOG_TO_STDOUT = "true"; }; databaseConfig = settingsFormat.generate "database.yml" cfg.database.settings; -in { +in +{ options = { services.zammad = { @@ -125,7 +126,7 @@ in { settings = mkOption { type = settingsFormat.type; - default = {}; + default = { }; example = literalExpression '' { } @@ -193,13 +194,15 @@ in { group = "zammad"; }; - users.groups.zammad = {}; + users.groups.zammad = { }; assertions = [ - { assertion = cfg.database.createLocally -> cfg.database.user == "zammad"; + { + assertion = cfg.database.createLocally -> cfg.database.user == "zammad"; message = "services.zammad.database.user must be set to \"zammad\" if services.zammad.database.createLocally is set to true"; } - { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; + { + assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; message = "a password cannot be specified if services.zammad.database.createLocally is set to true"; } ]; @@ -209,7 +212,8 @@ in { package = mkDefault pkgs.mariadb; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; }; } ]; @@ -219,7 +223,8 @@ in { enable = true; ensureDatabases = [ cfg.database.name ]; ensureUsers = [ - { name = cfg.database.user; + { + name = cfg.database.user; ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; }; } ]; diff --git a/nixos/tests/zammad.nix b/nixos/tests/zammad.nix index 5849e5bf2163..4da503195623 100644 --- a/nixos/tests/zammad.nix +++ b/nixos/tests/zammad.nix @@ -1,29 +1,29 @@ import ./make-test-python.nix ( { lib, pkgs, ... }: - { - name = "zammad"; + { + name = "zammad"; - meta.maintainers = with lib.maintainers; [ garbas taeer ]; + meta.maintainers = with lib.maintainers; [ garbas taeer ]; - nodes.machine = { - services.zammad.enable = true; - services.zammad.secretKeyBaseFile = pkgs.writeText "secret" '' - 52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 - ''; - }; - - testScript = '' - start_all() - machine.wait_for_unit("postgresql.service") - machine.wait_for_unit("zammad-web.service") - machine.wait_for_unit("zammad-websocket.service") - machine.wait_for_unit("zammad-scheduler.service") - # without the grep the command does not produce valid utf-8 for some reason - with subtest("welcome screen loads"): - machine.succeed( - "curl -sSfL http://localhost:3000/ | grep 'Zammad Helpdesk'" - ) + nodes.machine = { + services.zammad.enable = true; + services.zammad.secretKeyBaseFile = pkgs.writeText "secret" '' + 52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 ''; - } + }; + + testScript = '' + start_all() + machine.wait_for_unit("postgresql.service") + machine.wait_for_unit("zammad-web.service") + machine.wait_for_unit("zammad-websocket.service") + machine.wait_for_unit("zammad-scheduler.service") + # without the grep the command does not produce valid utf-8 for some reason + with subtest("welcome screen loads"): + machine.succeed( + "curl -sSfL http://localhost:3000/ | grep 'Zammad Helpdesk'" + ) + ''; + } ) diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index 27d5a7555fbb..203ede07305e 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -56,13 +56,13 @@ let gemset = ./gemset.nix; groups = [ "assets" - "unicorn" # server + "unicorn" # server "nulldb" "test" "mysql" "puma" "development" - "postgres" # database + "postgres" # database ]; gemConfig = defaultGemConfig // { pg = attrs: { @@ -93,7 +93,8 @@ let packageJSON = sourceDir + "/package.json"; }; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { name = "${pname}-${version}"; inherit pname version; diff --git a/pkgs/applications/networking/misc/zammad/gemset.nix b/pkgs/applications/networking/misc/zammad/gemset.nix index 9fe172dd4d80..57a54ef48395 100644 --- a/pkgs/applications/networking/misc/zammad/gemset.nix +++ b/pkgs/applications/networking/misc/zammad/gemset.nix @@ -1,271 +1,271 @@ { aasm = { - dependencies = ["concurrent-ruby"]; - groups = ["default"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05j0rdhdzc628v5nyzrazp4704hh96j5sjbn48zxyk4v3a61f4m2"; type = "gem"; }; version = "5.2.0"; }; actioncable = { - dependencies = ["actionpack" "nio4r" "websocket-driver"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "nio4r" "websocket-driver" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vv8dq95apmwsnam1l2c62ayjr2jwi5m24bcd2l4p324cqmds3ir"; type = "gem"; }; version = "6.0.4.1"; }; actionmailbox = { - dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q8bhmdi1jgybs18vaa3hpmydhw8mjx8hcpjlravkwc78ckl19vy"; type = "gem"; }; version = "6.0.4.1"; }; actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "actionview" "activejob" "mail" "rails-dom-testing" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nximq0hwcy5vhywsryn6y67zaqwhk5gk44d0rgyisbwl6s34zim"; type = "gem"; }; version = "6.0.4.1"; }; actionpack = { - dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vsfvrbw1dx1xpvpca5szk1z9qqv5g00c2gyrvskvxbgn3298bg"; type = "gem"; }; version = "6.0.4.1"; }; actiontext = { - dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "activerecord" "activestorage" "activesupport" "nokogiri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00yz34p7syz3wr7sbgn81b5qf97hv5lm2vbbf5xiny9cj1y8hrll"; type = "gem"; }; version = "6.0.4.1"; }; actionview = { - dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03dqdl0qkwmkxf6xar9lrxp547hj72ysqg6i13kw8jg8mprk1xk1"; type = "gem"; }; version = "6.0.4.1"; }; activejob = { - dependencies = ["activesupport" "globalid"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" "globalid" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r4dk44x1kn16bsi4h9q13sq65waa940nrnf4i0wd2cssk34sx3i"; type = "gem"; }; version = "6.0.4.1"; }; activemodel = { - dependencies = ["activesupport"]; - groups = ["default" "nulldb"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" "nulldb" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1m254z419v5n6flqvvf923p5hxwqv43x6nr8gzaw378vl68sp8ff"; type = "gem"; }; version = "6.0.4.1"; }; activerecord = { - dependencies = ["activemodel" "activesupport"]; - groups = ["default" "nulldb"]; - platforms = []; + dependencies = [ "activemodel" "activesupport" ]; + groups = [ "default" "nulldb" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q48dsxkvlrr34w6hap2dyr1ym68azkmnhllng60pxaizml89azl"; type = "gem"; }; version = "6.0.4.1"; }; activerecord-import = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "17ydad9gcsh0c9ny68fyvxmh6rbld4pyvyabnc7882678dnvfy8i"; type = "gem"; }; version = "1.2.0"; }; activerecord-nulldb-adapter = { - dependencies = ["activerecord"]; - groups = ["nulldb"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "nulldb" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1iybn9vafw9vcdi966yidj4zk5vy6b0gg0zk39v1r0kgj9n9qm1v"; type = "gem"; }; version = "0.7.0"; }; activerecord-session_store = { - dependencies = ["actionpack" "activerecord" "multi_json" "rack" "railties"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "activerecord" "multi_json" "rack" "railties" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06ddhz1b2yg72iv09n48gcd3ix5da7hxlzi7vvj13nrps2qwlffg"; type = "gem"; }; version = "2.0.0"; }; activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "marcel"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "activejob" "activerecord" "marcel" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1g6h5k478d9v14w09wnhflsk8xj06clkd6xbfw4sxbbww5n8vl55"; type = "gem"; }; version = "6.0.4.1"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + dependencies = [ "concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk" ]; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ldrpgy4gfqykzavgdp0svsm41hkzfi2aaq8as9lqd0sq19mgpqx"; type = "gem"; }; version = "6.0.4.1"; }; acts_as_list = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12p22h59c45dnccb51pqk275ziyi502azf9w3qcnkcsq827ma5jm"; type = "gem"; }; version = "1.0.4"; }; addressable = { - dependencies = ["public_suffix"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "public_suffix" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp"; type = "gem"; }; version = "2.8.0"; }; argon2 = { - dependencies = ["ffi" "ffi-compiler"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" "ffi-compiler" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0285wr6ai2c1qswr67pybpbj28dv5nv1i4597hg3vg9w1fb7gmzl"; type = "gem"; }; version = "2.0.3"; }; ast = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; version = "2.4.2"; }; async = { - dependencies = ["console" "nio4r" "timers"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "console" "nio4r" "timers" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lh36bsb41vllyrkiffs8qba2ilcjl7nrywizrb8ffrix50rfjn9"; type = "gem"; }; version = "1.29.1"; }; async-http = { - dependencies = ["async" "async-io" "async-pool" "protocol-http" "protocol-http1" "protocol-http2"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "async" "async-io" "async-pool" "protocol-http" "protocol-http1" "protocol-http2" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a1si0iz1m6b1lzd5f8cvf1cbniy8kqc06n10bn74l1ppx8a6lc2"; type = "gem"; }; version = "0.56.3"; }; async-http-faraday = { - dependencies = ["async-http" "faraday"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "async-http" "faraday" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ndynkfknabv6m9wzcmdnj4r4bhlxqkg9c6rzsjc1pk8q057kslv"; type = "gem"; }; version = "0.11.0"; }; async-io = { - dependencies = ["async"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "async" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z58cgnw79idasx63knyjqihxp5v4wrp7r4jf251a8kyykwdd83a"; type = "gem"; }; version = "1.32.1"; }; async-pool = { - dependencies = ["async"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "async" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rq62gnhiy4a275wid465xqv6f6xsmp1zd9002xw4b37y83y5rqg"; type = "gem"; }; version = "0.3.7"; }; autodiscover = { - dependencies = ["httpclient" "logging" "nokogiri" "nori"]; - groups = ["default"]; - platforms = []; + dependencies = [ "httpclient" "logging" "nokogiri" "nori" ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "ee9b53dfa797ce6d4f970b82beea7fbdd2df56bb"; @@ -276,1042 +276,1042 @@ version = "1.0.2"; }; autoprefixer-rails = { - dependencies = ["execjs"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "execjs" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1bj8ajlq6ygyqxz7ykykaxfr4jn0ivc95sl64wrycwz7hxz29vda"; type = "gem"; }; version = "10.3.3.0"; }; binding_of_caller = { - dependencies = ["debug_inspector"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "debug_inspector" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "078n2dkpgsivcf0pr50981w95nfc2bsrp3wpf9wnxz1qsp8jbb9s"; type = "gem"; }; version = "1.0.0"; }; biz = { - dependencies = ["clavius" "tzinfo"]; - groups = ["default"]; - platforms = []; + dependencies = [ "clavius" "tzinfo" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1n2d7cs9jlnpi75nbssv77qlw0jsqnixaikpxsrbxz154q43gvlc"; type = "gem"; }; version = "1.8.2"; }; bootsnap = { - dependencies = ["msgpack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "msgpack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ndjra3h86dq28njm2swmaw6n3vsywrycrf7i5iy9l8hrhfhv4x2"; type = "gem"; }; version = "1.9.1"; }; brakeman = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y71fqqd0azy5rn78fwiz9px0mql23zrl0ij0dzdkx22l4cscpb0"; type = "gem"; }; version = "5.1.1"; }; browser = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g4bcpax07kqqr9cp7cjc7i0pcij4nqpn1rdsg2wdwhzf00m6x32"; type = "gem"; }; version = "5.3.1"; }; buftok = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs"; type = "gem"; }; version = "0.2.0"; }; builder = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; type = "gem"; }; version = "3.2.4"; }; byebug = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; type = "gem"; }; version = "11.1.3"; }; capybara = { - dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1viqcpsngy9fqjd68932m43ad6xj656d1x33nx9565q57chgi29k"; type = "gem"; }; version = "3.35.3"; }; childprocess = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5"; type = "gem"; }; version = "3.0.0"; }; chunky_png = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9"; type = "gem"; }; version = "1.4.0"; }; clavius = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0y58v8k860vafm1psm69f2ndcqmcifyvswsjdy8bxbxy30zrgad1"; type = "gem"; }; version = "1.0.4"; }; clearbit = { - dependencies = ["nestful"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nestful" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ccgvxzgpll1wr5i9wjm1h0m2z600j6c4yf6pww423qhg8a25lbl"; type = "gem"; }; version = "0.3.3"; }; coderay = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; type = "gem"; }; version = "1.1.3"; }; coffee-rails = { - dependencies = ["coffee-script" "railties"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "coffee-script" "railties" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "170sp4y82bf6nsczkkkzypzv368sgjg6lfrkib4hfjgxa6xa3ajx"; type = "gem"; }; version = "5.0.0"; }; coffee-script = { - dependencies = ["coffee-script-source" "execjs"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "coffee-script-source" "execjs" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2"; type = "gem"; }; version = "2.4.1"; }; coffee-script-source = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1"; type = "gem"; }; version = "1.12.2"; }; coffeelint = { - dependencies = ["coffee-script" "execjs" "json"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "coffee-script" "execjs" "json" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k6nqia44m6jzzkav6wz1aafjipbygla3g6nl6i7sks854bwgdg1"; type = "gem"; }; version = "1.16.1"; }; composite_primary_keys = { - dependencies = ["activerecord"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08w8rns5dgjmvavqf1apfbd59dyqyv4igni940rklnqps297w2bn"; type = "gem"; }; version = "12.0.10"; }; concurrent-ruby = { - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f"; type = "gem"; }; version = "1.1.9"; }; console = { - dependencies = ["fiber-local"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "fiber-local" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04vhg3vnj2ky00fld4v6qywx32z4pjsa7l8i7sl1bl213s8334l9"; type = "gem"; }; version = "1.13.1"; }; coveralls = { - dependencies = ["multi_json" "rest-client" "simplecov" "term-ansicolor" "thor"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "multi_json" "rest-client" "simplecov" "term-ansicolor" "thor" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b97bp3kndl1glfx8rlm19b1vxphirvkrjqn5hn9y1p975iwhl3w"; type = "gem"; }; version = "0.7.1"; }; crack = { - dependencies = ["rexml"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "rexml" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cr1kfpw3vkhysvkk3wg7c54m75kd68mbm9rs5azdjdq57xid13r"; type = "gem"; }; version = "0.4.5"; }; crass = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw"; type = "gem"; }; version = "1.0.6"; }; csv = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "079al4y5rjgx12s7rg08rnf9w1n51a7ghycvmr7vhw6r6i81ry8s"; type = "gem"; }; version = "3.2.0"; }; daemons = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07cszb0zl8mqmwhc8a2yfg36vi6lbgrp4pa5bvmryrpcz9v6viwg"; type = "gem"; }; version = "1.4.1"; }; dalli = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0br39scmr187w3ifl5gsddl2fhq6ahijgw6358plqjdzrizlg764"; type = "gem"; }; version = "2.7.11"; }; debug_inspector = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga"; type = "gem"; }; version = "1.1.0"; }; delayed_job = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19ym3jw2jj1pxm6p22x2mpf69sdxiw07ddr69v92ccgg6d7q87rh"; type = "gem"; }; version = "4.1.9"; }; delayed_job_active_record = { - dependencies = ["activerecord" "delayed_job"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activerecord" "delayed_job" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0n6wjvk0yfkp1z19kvma7piasw1xgjh5ls51sf24c8g1jlmkmvdh"; type = "gem"; }; version = "4.1.6"; }; deprecation_toolkit = { - dependencies = ["activesupport"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fh4d98irhph3ri7c2rrvvmmjd4z14702r8baq9flh5f34dap8d8"; type = "gem"; }; version = "1.5.1"; }; diff-lcs = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; type = "gem"; }; version = "1.4.4"; }; diffy = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nrg7kpgz6cn1gv2saj2fa5sfiykamvd7vn9lw2v625k7pjwf31l"; type = "gem"; }; version = "3.4.0"; }; docile = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz"; type = "gem"; }; version = "1.4.0"; }; domain_name = { - dependencies = ["unf"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "unf" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0"; type = "gem"; }; version = "0.5.20190701"; }; doorkeeper = { - dependencies = ["railties"]; - groups = ["default"]; - platforms = []; + dependencies = [ "railties" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hnwd7by65yyiz90ycs3pj4f78s7bnl09nzs1g1vs62509j4nz19"; type = "gem"; }; version = "5.5.2"; }; dotenv = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94"; type = "gem"; }; version = "2.7.6"; }; eco = { - dependencies = ["coffee-script" "eco-source" "execjs"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "coffee-script" "eco-source" "execjs" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09jiwb7pkg0sxk730maxahra4whqw5l47zd7yg7fvd71pikdwdr0"; type = "gem"; }; version = "1.0.0"; }; eco-source = { - groups = ["assets" "default"]; - platforms = []; + groups = [ "assets" "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ccxrvaac6mw5kdj1i490b5xb1wdka3a5q4jhvn8dvg41594yba1"; type = "gem"; }; version = "1.1.0.rc.1"; }; em-websocket = { - dependencies = ["eventmachine" "http_parser.rb"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "eventmachine" "http_parser.rb" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb"; type = "gem"; }; version = "0.5.2"; }; equalizer = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4"; type = "gem"; }; version = "0.0.11"; }; erubi = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09l8lz3j00m898li0yfsnb6ihc63rdvhw3k5xczna5zrjk104f2l"; type = "gem"; }; version = "1.10.0"; }; eventmachine = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; type = "gem"; }; version = "1.2.7"; }; execjs = { - groups = ["assets" "development" "test"]; - platforms = []; + groups = [ "assets" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; type = "gem"; }; version = "2.8.1"; }; factory_bot = { - dependencies = ["activesupport"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi"; type = "gem"; }; version = "6.2.0"; }; factory_bot_rails = { - dependencies = ["factory_bot" "railties"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "factory_bot" "railties" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18fhcihkc074gk62iwqgbdgc3ymim4fm0b4p3ipffy5hcsb9d2r7"; type = "gem"; }; version = "6.2.0"; }; faker = { - dependencies = ["i18n"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "i18n" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hb9wfxyb4ss2vl2mrj1zgdk7dh4yaxghq22gbx62yxj5yb9w4zw"; type = "gem"; }; version = "2.19.0"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi"; type = "gem"; }; version = "1.8.0"; }; faraday-em_http = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12cnqpbak4vhikrh2cdn94assh3yxza8rq2p9w2j34bqg5q4qgbs"; type = "gem"; }; version = "1.0.0"; }; faraday-em_synchrony = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vgrbhkp83sngv6k4mii9f2s9v5lmp693hylfxp2ssfc60fas3a6"; type = "gem"; }; version = "1.0.0"; }; faraday-excon = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h09wkb0k0bhm6dqsd47ac601qiaah8qdzjh8gvxfd376x1chmdh"; type = "gem"; }; version = "1.1.0"; }; faraday-http-cache = { - dependencies = ["faraday"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7"; type = "gem"; }; version = "2.2.0"; }; faraday-httpclient = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0fyk0jd3ks7fdn8nv3spnwjpzx2lmxmg2gh4inz3by1zjzqg33sc"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; type = "gem"; }; version = "1.0.1"; }; faraday-net_http_persistent = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b"; type = "gem"; }; version = "1.2.0"; }; faraday-patron = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19wgsgfq0xkski1g7m96snv39la3zxz6x7nbdgiwhg5v82rxfb6w"; type = "gem"; }; version = "1.0.0"; }; faraday-rack = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1h184g4vqql5jv9s9im6igy00jp6mrah2h14py6mpf9bkabfqq7g"; type = "gem"; }; version = "1.0.0"; }; faraday_middleware = { - dependencies = ["faraday"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "faraday" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0jik2kgfinwnfi6fpp512vlvs0mlggign3gkbpkg5fw1jr9his0r"; type = "gem"; }; version = "1.0.0"; }; ffi = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq"; type = "gem"; }; version = "1.15.3"; }; ffi-compiler = { - dependencies = ["ffi" "rake"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi" "rake" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"; type = "gem"; }; version = "1.0.1"; }; fiber-local = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vrxxb09fc7aicb9zb0pmn5akggjy21dmxkdl3w949y4q05rldr9"; type = "gem"; }; version = "1.0.0"; }; formatador = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mprf1dwznz5ld0q1jpbyl59fwnwk6azspnd0am7zz7kfg3pxhv5"; type = "gem"; }; version = "0.3.0"; }; github_changelog_generator = { - dependencies = ["activesupport" "async" "async-http-faraday" "faraday-http-cache" "multi_json" "octokit" "rainbow" "rake"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "activesupport" "async" "async-http-faraday" "faraday-http-cache" "multi_json" "octokit" "rainbow" "rake" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04d6z2ysq3gzvpw91lq8mxmdlqcxkmvp8rw9zrzkmksh3pjdzli1"; type = "gem"; }; version = "1.16.4"; }; gli = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sxpixpkbwi0g1lp9nv08hb4hw9g563zwxqfxd3nqp9c1ymcv5h3"; type = "gem"; }; version = "2.20.1"; }; globalid = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm"; type = "gem"; }; version = "0.5.2"; }; gmail_xoauth = { - dependencies = ["oauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ "oauth" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dslnb1kffcygcbs8sqw58w6ba0maq4w7k1i7kjrqpq0kxx6wklq"; type = "gem"; }; version = "0.4.2"; }; guard = { - dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zqy994fr0pf3pda0x3mmkhgnfg4hd12qp5bh1s1xm68l00viwhj"; type = "gem"; }; version = "2.18.0"; }; guard-compat = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis"; type = "gem"; }; version = "1.2.1"; }; guard-livereload = { - dependencies = ["em-websocket" "guard" "guard-compat" "multi_json"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "em-websocket" "guard" "guard-compat" "multi_json" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yd74gdbbv2yz2caqwpsavzw8d5fd5y446wp8rdjw8wan0yd6k8j"; type = "gem"; }; version = "2.5.2"; }; guard-symlink = { - dependencies = ["guard" "guard-compat"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "guard" "guard-compat" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0s5lwl8v55lq0bbvj9k3fv0l4nkl0ydd7gr1k26ycs2a80cgd5mq"; type = "gem"; }; version = "0.1.1"; }; hashdiff = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c"; type = "gem"; }; version = "1.0.1"; }; hashie = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02bsx12ihl78x0vdm37byp78jjw2ff6035y7rrmbd90qxjwxr43q"; type = "gem"; }; version = "4.1.0"; }; hiredis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "04jj8k7lxqxw24sp0jiravigdkgsyrpprxpxm71ba93x1wr2w1bz"; type = "gem"; }; version = "0.6.3"; }; htmlentities = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; type = "gem"; }; version = "4.3.4"; }; http = { - dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" "http-cookie" "http-form_data" "http-parser" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y"; type = "gem"; }; version = "4.4.1"; }; http-accept = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "09m1facypsdjynfwrcv19xcb1mqg8z6kk31g8r33pfxzh838c9n6"; type = "gem"; }; version = "1.7.0"; }; http-cookie = { - dependencies = ["domain_name"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "domain_name" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9"; type = "gem"; }; version = "1.0.4"; }; http-form_data = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc"; type = "gem"; }; version = "2.3.0"; }; http-parser = { - dependencies = ["ffi-compiler"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ffi-compiler" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18qqvckvqjffh88hfib6c8pl9qwk9gp89w89hl3f2s1x8hgyqka1"; type = "gem"; }; version = "1.2.3"; }; "http_parser.rb" = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; type = "gem"; }; version = "0.6.0"; }; httpclient = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99"; type = "gem"; }; version = "2.8.3"; }; i18n = { - dependencies = ["concurrent-ruby"]; - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + dependencies = [ "concurrent-ruby" ]; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a"; type = "gem"; }; version = "1.8.10"; }; icalendar = { - dependencies = ["ice_cube"]; - groups = ["default"]; - platforms = []; + dependencies = [ "ice_cube" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wv5wq6pzq6434bnxfanvijswj2rnfvjmgisj1qg399mc42g46ls"; type = "gem"; }; version = "2.7.1"; }; icalendar-recurrence = { - dependencies = ["icalendar" "ice_cube"]; - groups = ["default"]; - platforms = []; + dependencies = [ "icalendar" "ice_cube" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06li3cdbwkd9y2sadjlbwj54blqdaa056yx338s4ddfxywrngigh"; type = "gem"; }; version = "1.1.3"; }; ice_cube = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1rzfydzgy6jppqvzzr76skfk07nmlszpcjzzn4wlzpsgmagmf0wq"; type = "gem"; }; version = "0.16.3"; }; inflection = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mfkk0j0dway3p4gwzk8fnpi4hwaywl2v0iywf1azf98zhk9pfnf"; type = "gem"; }; version = "1.0.0"; }; iniparse = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wb1qy4i2xrrd92dc34pi7q7ibrjpapzk9y465v0n9caiplnb89n"; type = "gem"; }; version = "1.5.0"; }; interception = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01vrkn28psdx1ysh5js3hn17nfp1nvvv46wc1pwqsakm6vb1hf55"; type = "gem"; }; version = "0.5"; }; json = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; type = "gem"; }; version = "2.5.1"; }; jwt = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "036i5fc09275ms49mw43mh4i9pwaap778ra2pmx06ipzyyjl6bfs"; type = "gem"; }; version = "2.2.3"; }; kgio = { - groups = ["default" "unicorn"]; - platforms = []; + groups = [ "default" "unicorn" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ipzvw7n0kz1w8rkqybyxvf3hb601a770khm0xdqm68mc4aa59xx"; type = "gem"; }; version = "2.11.4"; }; koala = { - dependencies = ["addressable" "faraday" "json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" "faraday" "json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1k7nlif8nwgb6bfkclry41xklaf4rqf18ycgq63sgkgj6zdpda4w"; type = "gem"; }; version = "3.0.0"; }; libv8 = { - groups = ["mini_racer"]; - platforms = []; + groups = [ "mini_racer" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0317sr3nrl51sp844bps71smkrwim3fjn47wdfpbycixnbxspivm"; type = "gem"; }; version = "8.4.255.0"; }; listen = { - dependencies = ["rb-fsevent" "rb-inotify"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "rb-fsevent" "rb-inotify" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj"; type = "gem"; }; version = "3.5.1"; }; little-plugger = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym"; type = "gem"; }; version = "1.1.4"; }; logging = { - dependencies = ["little-plugger" "multi_json"]; - groups = ["default"]; - platforms = []; + dependencies = [ "little-plugger" "multi_json" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pkmhcxi8lp74bq5gz9lxrvaiv5w0745kk7s4bw2b1x07qqri0n9"; type = "gem"; }; version = "2.3.0"; }; loofah = { - dependencies = ["crass" "nokogiri"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "crass" "nokogiri" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw"; type = "gem"; }; version = "2.12.0"; }; lumberjack = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06pybb23hypc9gvs2p839ildhn26q68drb6431ng3s39i3fkkba8"; type = "gem"; }; version = "1.2.8"; }; mail = { - dependencies = ["mini_mime"]; - groups = ["default"]; - platforms = []; + dependencies = [ "mini_mime" ]; + groups = [ "default" ]; + platforms = [ ]; source = { fetchSubmodules = false; rev = "9265cf75bbe376f595944bd10d2dd953f863e765"; @@ -1322,1510 +1322,1510 @@ version = "2.7.2.edge"; }; marcel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3"; type = "gem"; }; version = "1.0.1"; }; memoizable = { - dependencies = ["thread_safe"]; - groups = ["default"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c"; type = "gem"; }; version = "0.4.2"; }; messagebird-rest = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nj994h4ziwb72g54ma3ivb3rbfkv3yk81wwcmgykl2ik3g7q2bm"; type = "gem"; }; version = "3.0.0"; }; method_source = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; type = "gem"; }; version = "1.0.0"; }; mime-types = { - dependencies = ["mime-types-data"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "mime-types-data" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh"; type = "gem"; }; version = "3.3.1"; }; mime-types-data = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1phcq7z0zpipwd7y4fbqmlaqghv07fjjgrx99mwq3z3n0yvy7fmi"; type = "gem"; }; version = "3.2021.0225"; }; mini_mime = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "173dp4vqvx1sl6aq83daxwn5xvb5rn3jgynjmb91swl7gmgp17yl"; type = "gem"; }; version = "1.1.1"; }; mini_portile2 = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; type = "gem"; }; version = "2.6.1"; }; mini_racer = { - dependencies = ["libv8"]; - groups = ["mini_racer"]; - platforms = []; + dependencies = [ "libv8" ]; + groups = [ "mini_racer" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zi36qcg5qj4g1c11vwmc7lknjihirrmc6yxi6q8j6v4lfnyjbyg"; type = "gem"; }; version = "0.2.9"; }; minitest = { - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"; type = "gem"; }; version = "5.14.4"; }; msgpack = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6"; type = "gem"; }; version = "1.4.2"; }; multi_json = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0pb1g1y3dsiahavspyzkdy39j4q377009f6ix0bh1ag4nqw43l0z"; type = "gem"; }; version = "1.15.0"; }; multi_xml = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj"; type = "gem"; }; version = "0.6.0"; }; multipart-post = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zgw9zlwh2a6i1yvhhc4a84ry1hv824d6g2iw2chs3k5aylpmpfj"; type = "gem"; }; version = "2.1.1"; }; mysql2 = { - groups = ["mysql"]; - platforms = []; + groups = [ "mysql" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0d14pcy5m4hjig0zdxnl9in5f4izszc7v9zcczf2gyi5kiyxk8jw"; type = "gem"; }; version = "0.5.3"; }; naught = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg"; type = "gem"; }; version = "1.1.0"; }; nenv = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr"; type = "gem"; }; version = "0.3.0"; }; nestful = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sn7lrdhp1dwn9xkqwkarby5bxx1g30givy3fi1dwp1xvqbrqikw"; type = "gem"; }; version = "1.1.4"; }; net-ldap = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j19yxrz7h3hj7kiiln13c7bz7hvpdqr31bwi88dj64zifr7896n"; type = "gem"; }; version = "0.17.0"; }; netrc = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y"; type = "gem"; }; version = "0.11.0"; }; nio4r = { - groups = ["default" "development" "puma" "test"]; - platforms = []; + groups = [ "default" "development" "puma" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v"; type = "gem"; }; version = "2.5.8"; }; nokogiri = { - dependencies = ["mini_portile2" "racc"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "mini_portile2" "racc" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"; type = "gem"; }; version = "1.12.5"; }; nori = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"; type = "gem"; }; version = "2.6.0"; }; notiffany = { - dependencies = ["nenv" "shellany"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "nenv" "shellany" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0f47h3bmg1apr4x51szqfv3rh2vq58z3grh4w02cp3bzbdh6jxnk"; type = "gem"; }; version = "0.1.3"; }; oauth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0"; type = "gem"; }; version = "0.5.6"; }; oauth2 = { - dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" "jwt" "multi_json" "multi_xml" "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q6q2kgpxmygk8kmxqn54zkw8cs57a34zzz5cxpsh1bj3ag06rk3"; type = "gem"; }; version = "1.4.7"; }; octokit = { - dependencies = ["faraday" "sawyer"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "faraday" "sawyer" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27"; type = "gem"; }; version = "4.21.0"; }; omniauth = { - dependencies = ["hashie" "rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "hashie" "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "002vi9gwamkmhf0dsj2im1d47xw2n1jfhnzl18shxf3ampkqfmyz"; type = "gem"; }; version = "1.9.1"; }; omniauth-facebook = { - dependencies = ["omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z0f5sr2ddnvfva0jrfd4926nlv4528rfj7z595288n39304r092"; type = "gem"; }; version = "8.0.0"; }; omniauth-github = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth" "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xbk0dbxqfpyfb33ghz6vrlz3m6442rp18ryf13gwzlnifcawhlb"; type = "gem"; }; version = "1.4.0"; }; omniauth-gitlab = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth" "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1nbrg93p0nqxs1i2ddyij2rr7jn4vr3la4la39q4fknpin535k3z"; type = "gem"; }; version = "2.0.0"; }; omniauth-google-oauth2 = { - dependencies = ["jwt" "oauth2" "omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "jwt" "oauth2" "omniauth" "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10pnxvb6wpnf58dja3yz4ja527443x3q13hzhcbays4amnnp8i4a"; type = "gem"; }; version = "0.8.2"; }; omniauth-linkedin-oauth2 = { - dependencies = ["omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ydkj9f2hd3fskpc2gazz9dim70z2k6z6pb8j3glnlhkd67iyzci"; type = "gem"; }; version = "1.0.0"; }; omniauth-microsoft-office365 = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth" "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vw6418gykxqd9z32ddq0mr6wa737la1zwppb1ilw9sgii24rg1v"; type = "gem"; }; version = "0.0.8"; }; omniauth-oauth = { - dependencies = ["oauth" "omniauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ "oauth" "omniauth" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yw2vzx633p9wpdkd4jxsih6mw604mj7f6myyfikmj4d95c8d9z7"; type = "gem"; }; version = "1.2.0"; }; omniauth-oauth2 = { - dependencies = ["oauth2" "omniauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ "oauth2" "omniauth" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10fr2b58sp7l6nfdvxpbi67374hkrvsf507cvda89jjs0jacy319"; type = "gem"; }; version = "1.7.1"; }; omniauth-rails_csrf_protection = { - dependencies = ["actionpack" "omniauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actionpack" "omniauth" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0xgkxwg17w39q3yjqcj0fm6hdkw37qm1l82dvm9zxn6q2pbzm2zv"; type = "gem"; }; version = "0.1.2"; }; omniauth-saml = { - dependencies = ["omniauth" "ruby-saml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth" "ruby-saml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gxl14lbksnjkl8dfn23lsjkk63md77icm5racrh6fsp5n4ni9d4"; type = "gem"; }; version = "1.10.3"; }; omniauth-twitter = { - dependencies = ["omniauth-oauth" "rack"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth-oauth" "rack" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65"; type = "gem"; }; version = "1.4.0"; }; omniauth-weibo-oauth2 = { - dependencies = ["omniauth" "omniauth-oauth2"]; - groups = ["default"]; - platforms = []; + dependencies = [ "omniauth" "omniauth-oauth2" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02cz73lj38cjqkbrdnfr7iymzqdcxgqcjy992r5hmawgpqqgxvwb"; type = "gem"; }; version = "0.5.2"; }; openssl = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03wbynzkhay7l1x76srjkg91q48mxl575vrxb3blfxlpqwsvvp0w"; type = "gem"; }; version = "2.2.0"; }; overcommit = { - dependencies = ["childprocess" "iniparse" "rexml"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "childprocess" "iniparse" "rexml" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wbczp2pxwiggx5n925mdr2q17c6m9hq7h0q7ml2spmla29609sr"; type = "gem"; }; version = "0.58.0"; }; parallel = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hkfpm78c2vs1qblnva3k1grijvxh87iixcnyd83s3lxrxsjvag4"; type = "gem"; }; version = "1.21.0"; }; parser = { - dependencies = ["ast"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "ast" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06ma6w87ph8lnc9z4hi40ynmcdnjv0p8x53x0s3fjkz4q2p6sxh5"; type = "gem"; }; version = "3.0.2.0"; }; pg = { - groups = ["postgres"]; - platforms = []; + groups = [ "postgres" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00vhasqwc4f98qb4wxqn2h07fjwzhp5lwyi41j2gndi2g02wrdqh"; type = "gem"; }; version = "0.21.0"; }; power_assert = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "01z44m715rb6nzfrc90c5rkkdiy42dv3q94jw1q8baf9dg33nwi5"; type = "gem"; }; version = "2.0.1"; }; protocol-hpack = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sd85am1hj2w7z5hv19wy1nbisxfr1vqx3wlxjfz9xy7x7s6aczw"; type = "gem"; }; version = "1.4.2"; }; protocol-http = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0q7js6npc8flgipjpdykmbdmhf2ml8li5gy7763y6awkpli6s6p6"; type = "gem"; }; version = "0.22.4"; }; protocol-http1 = { - dependencies = ["protocol-http"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "protocol-http" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wp9pi1qjh1darrqv0r46i4bvax3n64aa0mn7kza4251qmk0dwz5"; type = "gem"; }; version = "0.14.1"; }; protocol-http2 = { - dependencies = ["protocol-hpack" "protocol-http"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "protocol-hpack" "protocol-http" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1a9klpfmi7w465zq5xz8y8h1qvj42hkm0qd0nlws9d2idd767q5j"; type = "gem"; }; version = "0.14.2"; }; pry = { - dependencies = ["coderay" "method_source"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "coderay" "method_source" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0m445x8fwcjdyv2bc0glzss2nbm1ll51bq45knixapc7cl3dzdlr"; type = "gem"; }; version = "0.14.1"; }; pry-rails = { - dependencies = ["pry"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "pry" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6"; type = "gem"; }; version = "0.3.9"; }; pry-remote = { - dependencies = ["pry" "slop"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "pry" "slop" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10g1wrkcy5v5qyg9fpw1cag6g5rlcl1i66kn00r7kwqkzrdhd7nm"; type = "gem"; }; version = "0.1.8"; }; pry-rescue = { - dependencies = ["interception" "pry"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "interception" "pry" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1wn72y8y3d3g0ng350ld92nyjln012432q2z2iy9lhwzjc4dwi65"; type = "gem"; }; version = "1.5.2"; }; pry-stack_explorer = { - dependencies = ["binding_of_caller" "pry"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "binding_of_caller" "pry" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0h7kp99r8vpvpbvia079i58932qjz2ci9qhwbk7h1bf48ydymnx2"; type = "gem"; }; version = "0.6.1"; }; public_suffix = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9"; type = "gem"; }; version = "4.0.6"; }; puma = { - dependencies = ["nio4r"]; - groups = ["puma"]; - platforms = []; + dependencies = [ "nio4r" ]; + groups = [ "puma" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0r22aq2shhmvi461pfs1c7pf66l4kbwndpi1jgxqydp0a1lfjbbk"; type = "gem"; }; version = "4.3.10"; }; pundit = { - dependencies = ["activesupport"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1i3rccbzyw46xrx1ic95r11v15ia2kj8naiyi68gdvxfrisk1fxm"; type = "gem"; }; version = "2.1.1"; }; pundit-matchers = { - dependencies = ["rspec-rails"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "rspec-rails" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "10kvf0pj5339fh3dgf9lvsv94d74x7x1wxdb0hp8a1ac7w5l6vmm"; type = "gem"; }; version = "1.7.0"; }; racc = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; type = "gem"; }; version = "1.5.2"; }; rack = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16"; type = "gem"; }; version = "2.2.3"; }; rack-livereload = { - dependencies = ["rack"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1slzlmvlapgp2pc7389i0zndq3nka0s6sh445vf21cxpz7vz3p5i"; type = "gem"; }; version = "0.3.17"; }; rack-test = { - dependencies = ["rack"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "rack" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m"; type = "gem"; }; version = "1.1.0"; }; rails = { - dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; - groups = ["default"]; - platforms = []; + dependencies = [ "actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1q0y3nc0phg85zjxh9j78rs2hlc34zbhwn2zaw2w7bz2fc2vbxk2"; type = "gem"; }; version = "6.0.4.1"; }; rails-controller-testing = { - dependencies = ["actionpack" "actionview" "activesupport"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "actionpack" "actionview" "activesupport" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "151f303jcvs8s149mhx2g5mn67487x0blrf9dzl76q1nb7dlh53l"; type = "gem"; }; version = "1.0.5"; }; rails-dom-testing = { - dependencies = ["activesupport" "nokogiri"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "activesupport" "nokogiri" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; type = "gem"; }; version = "2.0.3"; }; rails-html-sanitizer = { - dependencies = ["loofah"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "loofah" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0whc4d4jqm8kd4x3jzbax54sscm1k4pfkr5d1gpapjbzqkfj77yy"; type = "gem"; }; version = "1.4.1"; }; railties = { - dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; - groups = ["assets" "default" "development" "test"]; - platforms = []; + dependencies = [ "actionpack" "activesupport" "method_source" "rake" "thor" ]; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v454xnsfh2sival85cah5wbagzzzzd7frqx9kwn4nc9m8m3yx74"; type = "gem"; }; version = "6.0.4.1"; }; rainbow = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; type = "gem"; }; version = "3.0.0"; }; raindrops = { - groups = ["default" "unicorn"]; - platforms = []; + groups = [ "default" "unicorn" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07nikrdnsf6g55225njnzs1lm9s0lnbv2krvqd2gldwl49l7vl9x"; type = "gem"; }; version = "0.19.2"; }; rake = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; version = "13.0.6"; }; rb-fsevent = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qsx9c4jr11vr3a9s5j83avczx9qn9rjaf32gxpc2v451hvbc0is"; type = "gem"; }; version = "0.11.0"; }; rb-inotify = { - dependencies = ["ffi"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; type = "gem"; }; version = "0.10.1"; }; rchardet = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9"; type = "gem"; }; version = "1.8.0"; }; redis = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ig832dp0xmpp6a934nifzaj7wm9lzjxzasw911fagycs8p6m720"; type = "gem"; }; version = "4.4.0"; }; regexp_parser = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr"; type = "gem"; }; version = "2.1.1"; }; rest-client = { - dependencies = ["http-accept" "http-cookie" "mime-types" "netrc"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "http-accept" "http-cookie" "mime-types" "netrc" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im"; type = "gem"; }; version = "2.1.0"; }; rexml = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; type = "gem"; }; version = "3.2.5"; }; rspec-core = { - dependencies = ["rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "rspec-support" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc"; type = "gem"; }; version = "3.10.1"; }; rspec-expectations = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "diff-lcs" "rspec-support" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17"; type = "gem"; }; version = "3.10.1"; }; rspec-mocks = { - dependencies = ["diff-lcs" "rspec-support"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "diff-lcs" "rspec-support" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k"; type = "gem"; }; version = "3.10.2"; }; rspec-rails = { - dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "152yz205p8zi5nxxhs8z581rjdvvqsfjndklkvn11f2vi50nv7n9"; type = "gem"; }; version = "5.0.2"; }; rspec-support = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "15j52parvb8cgvl6s0pbxi2ywxrv6x0764g222kz5flz0s4mycbl"; type = "gem"; }; version = "3.10.2"; }; rszr = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0ns5qxdkgbqw1d52nz29lwx6xgs5bqwx1js1227n6l4q36g3snpp"; type = "gem"; }; version = "0.5.2"; }; rubocop = { - dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1gqsacpqzcflc8j08qx1asvcr89jjg9gqhijhir6wivjbmz700cm"; type = "gem"; }; version = "1.21.0"; }; rubocop-ast = { - dependencies = ["parser"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "parser" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "06fkn66wrsfprvd7bh0bkjvdcr17b9jy3j0cs7lbd3f2yscvwr63"; type = "gem"; }; version = "1.11.0"; }; rubocop-faker = { - dependencies = ["faker" "rubocop"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "faker" "rubocop" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "05d2mpi8xq50xh1s53h75hgvdhcz76lv9cnfn4jg35nbg67j1pdz"; type = "gem"; }; version = "1.1.0"; }; rubocop-performance = { - dependencies = ["rubocop" "rubocop-ast"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "rubocop" "rubocop-ast" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0whjb16w70z1x0x797cfbcmqq6ngf0vkhn5qn2f2zmcin0929kgm"; type = "gem"; }; version = "1.11.5"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "activesupport" "rack" "rubocop" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0sc2hbz434j6h3y1s6pzqrmdbbj6y0csfqdyjm23scwfdg7g3n07"; type = "gem"; }; version = "2.12.2"; }; rubocop-rspec = { - dependencies = ["rubocop"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "rubocop" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "037v3zb1ia12sgqb2f2dd2cgrfj4scfvy29nfp5688av0wghb7fd"; type = "gem"; }; version = "2.5.0"; }; ruby-progressbar = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "02nmaw7yx9kl7rbaan5pl8x5nn0y4j5954mzrkzi9i3dhsrps4nc"; type = "gem"; }; version = "1.11.0"; }; ruby-saml = { - dependencies = ["nokogiri" "rexml"]; - groups = ["default"]; - platforms = []; + dependencies = [ "nokogiri" "rexml" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0v21hgbhaqvz99w3jdm3s1pxwc2idjgqyw4fghzj54g9sgm0dxii"; type = "gem"; }; version = "1.12.2"; }; ruby2_keywords = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; type = "gem"; }; version = "0.0.5"; }; rubyntlm = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b8hczk8hysv53ncsqzx4q6kma5gy5lqc7s5yx8h64x3vdb18cjv"; type = "gem"; }; version = "0.6.3"; }; rubyzip = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0590m2pr9i209pp5z4mx0nb1961ishdiqb28995hw1nln1d1b5ji"; type = "gem"; }; version = "2.3.0"; }; sassc = { - dependencies = ["ffi"]; - groups = ["assets" "default"]; - platforms = []; + dependencies = [ "ffi" ]; + groups = [ "assets" "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c"; type = "gem"; }; version = "2.4.0"; }; sassc-rails = { - dependencies = ["railties" "sassc" "sprockets" "sprockets-rails" "tilt"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "railties" "sassc" "sprockets" "sprockets-rails" "tilt" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1d9djmwn36a5m8a83bpycs48g8kh1n2xkyvghn7dr6zwh4wdyksz"; type = "gem"; }; version = "2.1.2"; }; sawyer = { - dependencies = ["addressable" "faraday"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "addressable" "faraday" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz"; type = "gem"; }; version = "0.8.2"; }; selenium-webdriver = { - dependencies = ["childprocess" "rubyzip"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "childprocess" "rubyzip" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0adcvp86dinaqq3nhf8p3m0rl2g6q0a4h52k0i7kdnsg1qz9k86y"; type = "gem"; }; version = "3.142.7"; }; shellany = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf"; type = "gem"; }; version = "0.0.1"; }; shoulda-matchers = { - dependencies = ["activesupport"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "activesupport" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0z6v2acldnvqrnvfk70f9xq39ppw5j03kbz2hpz7s17lgnn21vx8"; type = "gem"; }; version = "5.0.0"; }; simple_oauth = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l"; type = "gem"; }; version = "0.3.1"; }; simplecov = { - dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "docile" "simplecov-html" "simplecov_json_formatter" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr"; type = "gem"; }; version = "0.21.2"; }; simplecov-html = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"; type = "gem"; }; version = "0.12.3"; }; simplecov-rcov = { - dependencies = ["simplecov"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "simplecov" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "056fav5r7m73fkzpsrvbg0kgv905lkpmnj1l80q9msj3gfq23xn7"; type = "gem"; }; version = "0.2.3"; }; simplecov_json_formatter = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "19r15hyvh52jx7fmsrcflb58xh8l7l0zx4sxkh3hqzhq68y81pjl"; type = "gem"; }; version = "0.1.3"; }; slack-notifier = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "001bipchr45sny33nlavqgxca9y1qqxa7xpi7pvjfqiybwzvm6nd"; type = "gem"; }; version = "2.4.0"; }; slack-ruby-client = { - dependencies = ["faraday" "faraday_middleware" "gli" "hashie" "websocket-driver"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "faraday" "faraday_middleware" "gli" "hashie" "websocket-driver" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "11q9v6ch9jpc82z1nghwibbbbxbi23q41fcw8i57dpjmq06ma9z2"; type = "gem"; }; version = "0.17.0"; }; slop = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n"; type = "gem"; }; version = "3.6.0"; }; spring = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "12kyz3jdnaarhf2jbykmd9mqg085gxsx00c16la5q7czxvpb2x2r"; type = "gem"; }; version = "3.0.0"; }; spring-commands-rspec = { - dependencies = ["spring"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "spring" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0b0svpq3md1pjz5drpa5pxwg8nk48wrshq8lckim4x3nli7ya0k2"; type = "gem"; }; version = "1.0.4"; }; spring-commands-testunit = { - dependencies = ["spring"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "spring" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0qqb0iyjgl9nr7w69p07nq8ghidjcp5n81xrsn8rvafana5lis5c"; type = "gem"; }; version = "1.0.1"; }; sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "concurrent-ruby" "rack" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; type = "gem"; }; version = "3.7.2"; }; sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - groups = ["assets" "default"]; - platforms = []; + dependencies = [ "actionpack" "activesupport" "sprockets" ]; + groups = [ "assets" "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2"; type = "gem"; }; version = "3.2.2"; }; sync = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6"; type = "gem"; }; version = "0.5.0"; }; tcr = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14678jlva69bxx24sz5i882x25h357xmbmqsichvq8vdiw2xf6aa"; type = "gem"; }; version = "0.2.2"; }; telegramAPI = { - dependencies = ["rest-client"]; - groups = ["default"]; - platforms = []; + dependencies = [ "rest-client" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "043blxqk5qps62jgjyr7hbf2y2fg5ldcmii8mxk09b3c6ps9ji6g"; type = "gem"; }; version = "1.4.2"; }; telephone_number = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0231010c9rq0sp2iss6m9lrycpwrapl2hdg1fjg9d0jg5m1ly66v"; type = "gem"; }; version = "1.4.12"; }; term-ansicolor = { - dependencies = ["tins"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "tins" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1xq5kci9215skdh27npyd3y55p812v4qb4x2hv3xsjvwqzz9ycwj"; type = "gem"; }; version = "1.7.1"; }; test-unit = { - dependencies = ["power_assert"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "power_assert" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "03pn837vgza8v550ggzhcxbvb80d6qivqnhv3n39lrfnsc8xgi7m"; type = "gem"; }; version = "3.4.7"; }; thor = { - groups = ["assets" "default" "development" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; type = "gem"; }; version = "1.1.0"; }; thread_safe = { - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; type = "gem"; }; version = "0.3.6"; }; tilt = { - groups = ["assets" "default"]; - platforms = []; + groups = [ "assets" "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv"; type = "gem"; }; version = "2.0.10"; }; timers = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "00xdi97gm01alfqhjgvv5sff9n1n2l6aym69s9jh8l9clg63b0jc"; type = "gem"; }; version = "4.3.3"; }; tins = { - dependencies = ["sync"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "sync" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0nzp88y19rqlcizp1nw8m44fvfxs9g3bhjpscz44dwfawfrmr0cb"; type = "gem"; }; version = "1.29.1"; }; twilio-ruby = { - dependencies = ["faraday" "jwt" "nokogiri"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" "jwt" "nokogiri" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "07g0jrd5qxzgrv10pgyxajahvmfnqx26i8kp0sxmn2in2xj6fb6c"; type = "gem"; }; version = "5.58.3"; }; twitter = { - dependencies = ["addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth"]; - groups = ["default"]; - platforms = []; + dependencies = [ "addressable" "buftok" "equalizer" "http" "http-form_data" "http_parser.rb" "memoizable" "multipart-post" "naught" "simple_oauth" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "13dmkjgsnym1avym9f7y2i2h3mlk8crqvc87drrzr4f0sf9l8g2y"; type = "gem"; }; version = "7.0.0"; }; tzinfo = { - dependencies = ["thread_safe"]; - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + dependencies = [ "thread_safe" ]; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0zwqqh6138s8b321fwvfbywxy00lw1azw4ql3zr0xh1aqxf8cnvj"; type = "gem"; }; version = "1.2.9"; }; uglifier = { - dependencies = ["execjs"]; - groups = ["assets"]; - platforms = []; + dependencies = [ "execjs" ]; + groups = [ "assets" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f"; type = "gem"; }; version = "4.2.0"; }; unf = { - dependencies = ["unf_ext"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "unf_ext" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; type = "gem"; }; version = "0.1.4"; }; unf_ext = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4"; type = "gem"; }; version = "0.0.7.7"; }; unicode-display_width = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn"; type = "gem"; }; version = "2.1.0"; }; unicorn = { - dependencies = ["kgio" "raindrops"]; - groups = ["unicorn"]; - platforms = []; + dependencies = [ "kgio" "raindrops" ]; + groups = [ "unicorn" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1jcm85d7j7njfgims712svlgml32zjim6qwabm99645aj5laayln"; type = "gem"; }; version = "6.0.0"; }; valid_email2 = { - dependencies = ["activemodel" "mail"]; - groups = ["default"]; - platforms = []; + dependencies = [ "activemodel" "mail" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0l4xkwvx7aj5z18h6vzp0wsfjbcrl76ixp0x95wwlrhn03qab6hs"; type = "gem"; }; version = "4.0.0"; }; vcr = { - groups = ["development" "test"]; - platforms = []; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j9j257wjkjbh8slx6gjgcwch8x4f7pk53iaq2w71z35rm1a0a3a"; type = "gem"; }; version = "6.0.0"; }; viewpoint = { - dependencies = ["httpclient" "logging" "nokogiri" "rubyntlm"]; - groups = ["default"]; - platforms = []; + dependencies = [ "httpclient" "logging" "nokogiri" "rubyntlm" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "14bvihfs0gzmam680xqqs07isxjk677yi3ph2pdvyyhhkbfys0l0"; type = "gem"; }; version = "1.1.1"; }; webmock = { - dependencies = ["addressable" "crack" "hashdiff"]; - groups = ["development" "test"]; - platforms = []; + dependencies = [ "addressable" "crack" "hashdiff" ]; + groups = [ "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1l8vh8p0g92cqcvv0ra3mblsa4nczh0rz8nbwbkc3g3yzbva85xk"; type = "gem"; }; version = "3.14.0"; }; websocket-driver = { - dependencies = ["websocket-extensions"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "websocket-extensions" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052"; type = "gem"; }; version = "0.7.5"; }; websocket-extensions = { - groups = ["default" "development" "test"]; - platforms = []; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0hc2g9qps8lmhibl5baa91b4qx8wqw872rgwagml78ydj8qacsqw"; type = "gem"; }; version = "0.1.5"; }; writeexcel = { - groups = ["default"]; - platforms = []; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0waaf1drp17m5qdchxqlqzj51sfa9hxqccw7d71qdg73gzay1x34"; type = "gem"; }; version = "1.0.5"; }; xpath = { - dependencies = ["nokogiri"]; - groups = ["default" "development" "test"]; - platforms = []; + dependencies = [ "nokogiri" ]; + groups = [ "default" "development" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd"; type = "gem"; }; version = "3.2.0"; }; zeitwerk = { - groups = ["assets" "default" "development" "nulldb" "test"]; - platforms = []; + groups = [ "assets" "default" "development" "nulldb" "test" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; type = "gem"; }; version = "2.4.2"; }; zendesk_api = { - dependencies = ["faraday" "hashie" "inflection" "mini_mime" "multipart-post"]; - groups = ["default"]; - platforms = []; + dependencies = [ "faraday" "hashie" "inflection" "mini_mime" "multipart-post" ]; + groups = [ "default" ]; + platforms = [ ]; source = { - remotes = ["https://rubygems.org"]; + remotes = [ "https://rubygems.org" ]; sha256 = "1j50s7cw52hrjnd9v3lbfk76d44vx3sq4af7alz9hiy90gnxnd9z"; type = "gem"; }; diff --git a/pkgs/applications/networking/misc/zammad/yarn.nix b/pkgs/applications/networking/misc/zammad/yarn.nix index 8b076742f9bd..d0edb7987ac0 100644 --- a/pkgs/applications/networking/misc/zammad/yarn.nix +++ b/pkgs/applications/networking/misc/zammad/yarn.nix @@ -5,7 +5,7 @@ name = "ansi_cyan___ansi_cyan_0.1.1.tgz"; path = fetchurl { name = "ansi_cyan___ansi_cyan_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz"; sha1 = "538ae528af8982f28ae30d86f2f17456d2609873"; }; } @@ -13,7 +13,7 @@ name = "ansi_gray___ansi_gray_0.1.1.tgz"; path = fetchurl { name = "ansi_gray___ansi_gray_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz"; sha1 = "2962cf54ec9792c48510a3deb524436861ef7251"; }; } @@ -21,7 +21,7 @@ name = "ansi_red___ansi_red_0.1.1.tgz"; path = fetchurl { name = "ansi_red___ansi_red_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz"; sha1 = "8c638f9d1080800a353c9c28c8a81ca4705d946c"; }; } @@ -29,7 +29,7 @@ name = "ansi_regex___ansi_regex_2.1.1.tgz"; path = fetchurl { name = "ansi_regex___ansi_regex_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; }; } @@ -37,7 +37,7 @@ name = "ansi_styles___ansi_styles_2.2.1.tgz"; path = fetchurl { name = "ansi_styles___ansi_styles_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; + url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; }; } @@ -45,7 +45,7 @@ name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; path = fetchurl { name = "ansi_wrap___ansi_wrap_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz"; sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf"; }; } @@ -53,7 +53,7 @@ name = "anymatch___anymatch_1.3.2.tgz"; path = fetchurl { name = "anymatch___anymatch_1.3.2.tgz"; - url = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz"; + url = "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz"; sha1 = "553dcb8f91e3c889845dfdba34c77721b90b9d7a"; }; } @@ -61,7 +61,7 @@ name = "archy___archy_1.0.0.tgz"; path = fetchurl { name = "archy___archy_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz"; sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"; }; } @@ -69,7 +69,7 @@ name = "argparse___argparse_1.0.10.tgz"; path = fetchurl { name = "argparse___argparse_1.0.10.tgz"; - url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; + url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; }; } @@ -77,7 +77,7 @@ name = "arr_diff___arr_diff_1.1.0.tgz"; path = fetchurl { name = "arr_diff___arr_diff_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz"; sha1 = "687c32758163588fef7de7b36fabe495eb1a399a"; }; } @@ -85,7 +85,7 @@ name = "arr_diff___arr_diff_2.0.0.tgz"; path = fetchurl { name = "arr_diff___arr_diff_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz"; sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf"; }; } @@ -93,7 +93,7 @@ name = "arr_diff___arr_diff_4.0.0.tgz"; path = fetchurl { name = "arr_diff___arr_diff_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; }; } @@ -101,7 +101,7 @@ name = "arr_flatten___arr_flatten_1.1.0.tgz"; path = fetchurl { name = "arr_flatten___arr_flatten_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; }; } @@ -109,7 +109,7 @@ name = "arr_union___arr_union_2.1.0.tgz"; path = fetchurl { name = "arr_union___arr_union_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz"; sha1 = "20f9eab5ec70f5c7d215b1077b1c39161d292c7d"; }; } @@ -117,7 +117,7 @@ name = "arr_union___arr_union_3.1.0.tgz"; path = fetchurl { name = "arr_union___arr_union_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; }; } @@ -125,7 +125,7 @@ name = "array_differ___array_differ_1.0.0.tgz"; path = fetchurl { name = "array_differ___array_differ_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz"; sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031"; }; } @@ -133,7 +133,7 @@ name = "array_each___array_each_1.0.1.tgz"; path = fetchurl { name = "array_each___array_each_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz"; sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f"; }; } @@ -141,7 +141,7 @@ name = "array_slice___array_slice_0.2.3.tgz"; path = fetchurl { name = "array_slice___array_slice_0.2.3.tgz"; - url = "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz"; + url = "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz"; sha1 = "dd3cfb80ed7973a75117cdac69b0b99ec86186f5"; }; } @@ -149,7 +149,7 @@ name = "array_slice___array_slice_1.1.0.tgz"; path = fetchurl { name = "array_slice___array_slice_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz"; sha1 = "e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"; }; } @@ -157,7 +157,7 @@ name = "array_uniq___array_uniq_1.0.3.tgz"; path = fetchurl { name = "array_uniq___array_uniq_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; }; } @@ -165,7 +165,7 @@ name = "array_unique___array_unique_0.2.1.tgz"; path = fetchurl { name = "array_unique___array_unique_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz"; sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53"; }; } @@ -173,7 +173,7 @@ name = "array_unique___array_unique_0.3.2.tgz"; path = fetchurl { name = "array_unique___array_unique_0.3.2.tgz"; - url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; + url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; }; } @@ -181,7 +181,7 @@ name = "assign_symbols___assign_symbols_1.0.0.tgz"; path = fetchurl { name = "assign_symbols___assign_symbols_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; }; } @@ -189,7 +189,7 @@ name = "async_each___async_each_1.0.3.tgz"; path = fetchurl { name = "async_each___async_each_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz"; sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf"; }; } @@ -197,7 +197,7 @@ name = "atob___atob_2.1.2.tgz"; path = fetchurl { name = "atob___atob_2.1.2.tgz"; - url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; + url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; }; } @@ -205,7 +205,7 @@ name = "balanced_match___balanced_match_1.0.2.tgz"; path = fetchurl { name = "balanced_match___balanced_match_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz"; sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"; }; } @@ -213,7 +213,7 @@ name = "base___base_0.11.2.tgz"; path = fetchurl { name = "base___base_0.11.2.tgz"; - url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; + url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; }; } @@ -221,7 +221,7 @@ name = "beeper___beeper_1.1.1.tgz"; path = fetchurl { name = "beeper___beeper_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz"; sha1 = "e6d5ea8c5dad001304a70b22638447f69cb2f809"; }; } @@ -229,7 +229,7 @@ name = "binary_extensions___binary_extensions_1.13.1.tgz"; path = fetchurl { name = "binary_extensions___binary_extensions_1.13.1.tgz"; - url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz"; + url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz"; sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65"; }; } @@ -237,7 +237,7 @@ name = "bindings___bindings_1.5.0.tgz"; path = fetchurl { name = "bindings___bindings_1.5.0.tgz"; - url = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz"; + url = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz"; sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df"; }; } @@ -245,7 +245,7 @@ name = "boolbase___boolbase_1.0.0.tgz"; path = fetchurl { name = "boolbase___boolbase_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz"; sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; }; } @@ -253,7 +253,7 @@ name = "brace_expansion___brace_expansion_1.1.11.tgz"; path = fetchurl { name = "brace_expansion___brace_expansion_1.1.11.tgz"; - url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; + url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; }; } @@ -261,7 +261,7 @@ name = "braces___braces_1.8.5.tgz"; path = fetchurl { name = "braces___braces_1.8.5.tgz"; - url = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz"; sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7"; }; } @@ -269,7 +269,7 @@ name = "braces___braces_2.3.2.tgz"; path = fetchurl { name = "braces___braces_2.3.2.tgz"; - url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; + url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; }; } @@ -277,7 +277,7 @@ name = "cache_base___cache_base_1.0.1.tgz"; path = fetchurl { name = "cache_base___cache_base_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; }; } @@ -285,7 +285,7 @@ name = "chalk___chalk_1.1.3.tgz"; path = fetchurl { name = "chalk___chalk_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; }; } @@ -293,7 +293,7 @@ name = "cheerio___cheerio_0.22.0.tgz"; path = fetchurl { name = "cheerio___cheerio_0.22.0.tgz"; - url = "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz"; + url = "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz"; sha1 = "a9baa860a3f9b595a6b81b1a86873121ed3a269e"; }; } @@ -301,7 +301,7 @@ name = "chokidar___chokidar_1.7.0.tgz"; path = fetchurl { name = "chokidar___chokidar_1.7.0.tgz"; - url = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz"; + url = "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz"; sha1 = "798e689778151c8076b4b360e5edd28cda2bb468"; }; } @@ -309,7 +309,7 @@ name = "clap___clap_1.2.3.tgz"; path = fetchurl { name = "clap___clap_1.2.3.tgz"; - url = "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz"; + url = "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz"; sha1 = "4f36745b32008492557f46412d66d50cb99bce51"; }; } @@ -317,7 +317,7 @@ name = "class_utils___class_utils_0.3.6.tgz"; path = fetchurl { name = "class_utils___class_utils_0.3.6.tgz"; - url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; + url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; }; } @@ -325,7 +325,7 @@ name = "clone_stats___clone_stats_0.0.1.tgz"; path = fetchurl { name = "clone_stats___clone_stats_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz"; + url = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz"; sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1"; }; } @@ -333,7 +333,7 @@ name = "clone___clone_0.2.0.tgz"; path = fetchurl { name = "clone___clone_0.2.0.tgz"; - url = "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz"; sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"; }; } @@ -341,7 +341,7 @@ name = "clone___clone_1.0.4.tgz"; path = fetchurl { name = "clone___clone_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; + url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; }; } @@ -349,7 +349,7 @@ name = "coa___coa_1.0.4.tgz"; path = fetchurl { name = "coa___coa_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz"; + url = "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz"; sha1 = "a9ef153660d6a86a8bdec0289a5c684d217432fd"; }; } @@ -357,7 +357,7 @@ name = "collection_visit___collection_visit_1.0.0.tgz"; path = fetchurl { name = "collection_visit___collection_visit_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; }; } @@ -365,7 +365,7 @@ name = "color_support___color_support_1.1.3.tgz"; path = fetchurl { name = "color_support___color_support_1.1.3.tgz"; - url = "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz"; + url = "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz"; sha1 = "93834379a1cc9a0c61f82f52f0d04322251bd5a2"; }; } @@ -373,7 +373,7 @@ name = "colors___colors_1.1.2.tgz"; path = fetchurl { name = "colors___colors_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz"; + url = "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz"; sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63"; }; } @@ -381,7 +381,7 @@ name = "component_emitter___component_emitter_1.3.0.tgz"; path = fetchurl { name = "component_emitter___component_emitter_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz"; sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0"; }; } @@ -389,7 +389,7 @@ name = "concat_map___concat_map_0.0.1.tgz"; path = fetchurl { name = "concat_map___concat_map_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; + url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; }; } @@ -397,7 +397,7 @@ name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; path = fetchurl { name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; }; } @@ -405,7 +405,7 @@ name = "core_util_is___core_util_is_1.0.3.tgz"; path = fetchurl { name = "core_util_is___core_util_is_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz"; sha1 = "a6042d3634c2b27e9328f837b965fac83808db85"; }; } @@ -413,7 +413,7 @@ name = "css_select___css_select_1.2.0.tgz"; path = fetchurl { name = "css_select___css_select_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz"; sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858"; }; } @@ -421,7 +421,7 @@ name = "css_what___css_what_2.1.3.tgz"; path = fetchurl { name = "css_what___css_what_2.1.3.tgz"; - url = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz"; + url = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz"; sha1 = "a6d7604573365fe74686c3f311c56513d88285f2"; }; } @@ -429,7 +429,7 @@ name = "csso___csso_2.3.2.tgz"; path = fetchurl { name = "csso___csso_2.3.2.tgz"; - url = "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz"; + url = "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz"; sha1 = "ddd52c587033f49e94b71fc55569f252e8ff5f85"; }; } @@ -437,7 +437,7 @@ name = "dateformat___dateformat_2.2.0.tgz"; path = fetchurl { name = "dateformat___dateformat_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz"; sha1 = "4065e2013cf9fb916ddfd82efb506ad4c6769062"; }; } @@ -445,7 +445,7 @@ name = "debug___debug_2.6.9.tgz"; path = fetchurl { name = "debug___debug_2.6.9.tgz"; - url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; + url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; }; } @@ -453,7 +453,7 @@ name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; path = fetchurl { name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; - url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; + url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; }; } @@ -461,7 +461,7 @@ name = "defaults___defaults_1.0.3.tgz"; path = fetchurl { name = "defaults___defaults_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; }; } @@ -469,7 +469,7 @@ name = "define_property___define_property_0.2.5.tgz"; path = fetchurl { name = "define_property___define_property_0.2.5.tgz"; - url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; }; } @@ -477,7 +477,7 @@ name = "define_property___define_property_1.0.0.tgz"; path = fetchurl { name = "define_property___define_property_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; }; } @@ -485,7 +485,7 @@ name = "define_property___define_property_2.0.2.tgz"; path = fetchurl { name = "define_property___define_property_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; }; } @@ -493,7 +493,7 @@ name = "deprecated___deprecated_0.0.1.tgz"; path = fetchurl { name = "deprecated___deprecated_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz"; + url = "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz"; sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"; }; } @@ -501,7 +501,7 @@ name = "detect_file___detect_file_1.0.0.tgz"; path = fetchurl { name = "detect_file___detect_file_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz"; sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7"; }; } @@ -509,7 +509,7 @@ name = "dom_serializer___dom_serializer_0.2.2.tgz"; path = fetchurl { name = "dom_serializer___dom_serializer_0.2.2.tgz"; - url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz"; + url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz"; sha1 = "1afb81f533717175d478655debc5e332d9f9bb51"; }; } @@ -517,7 +517,7 @@ name = "dom_serializer___dom_serializer_0.1.1.tgz"; path = fetchurl { name = "dom_serializer___dom_serializer_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz"; sha1 = "1ec4059e284babed36eec2941d4a970a189ce7c0"; }; } @@ -525,7 +525,7 @@ name = "domelementtype___domelementtype_1.3.1.tgz"; path = fetchurl { name = "domelementtype___domelementtype_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz"; + url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz"; sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f"; }; } @@ -533,7 +533,7 @@ name = "domelementtype___domelementtype_2.2.0.tgz"; path = fetchurl { name = "domelementtype___domelementtype_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz"; sha1 = "9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"; }; } @@ -541,7 +541,7 @@ name = "domhandler___domhandler_2.4.2.tgz"; path = fetchurl { name = "domhandler___domhandler_2.4.2.tgz"; - url = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz"; + url = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz"; sha1 = "8805097e933d65e85546f726d60f5eb88b44f803"; }; } @@ -549,7 +549,7 @@ name = "domutils___domutils_1.5.1.tgz"; path = fetchurl { name = "domutils___domutils_1.5.1.tgz"; - url = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz"; + url = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz"; sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; }; } @@ -557,7 +557,7 @@ name = "domutils___domutils_1.7.0.tgz"; path = fetchurl { name = "domutils___domutils_1.7.0.tgz"; - url = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz"; + url = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz"; sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a"; }; } @@ -565,7 +565,7 @@ name = "duplexer2___duplexer2_0.0.2.tgz"; path = fetchurl { name = "duplexer2___duplexer2_0.0.2.tgz"; - url = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz"; + url = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz"; sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db"; }; } @@ -573,7 +573,7 @@ name = "end_of_stream___end_of_stream_0.1.5.tgz"; path = fetchurl { name = "end_of_stream___end_of_stream_0.1.5.tgz"; - url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz"; + url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz"; sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf"; }; } @@ -581,7 +581,7 @@ name = "entities___entities_1.1.2.tgz"; path = fetchurl { name = "entities___entities_1.1.2.tgz"; - url = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz"; + url = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz"; sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56"; }; } @@ -589,7 +589,7 @@ name = "entities___entities_2.2.0.tgz"; path = fetchurl { name = "entities___entities_2.2.0.tgz"; - url = "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz"; + url = "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz"; sha1 = "098dc90ebb83d8dffa089d55256b351d34c4da55"; }; } @@ -597,7 +597,7 @@ name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; path = fetchurl { name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; - url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; }; } @@ -605,7 +605,7 @@ name = "esprima___esprima_2.7.3.tgz"; path = fetchurl { name = "esprima___esprima_2.7.3.tgz"; - url = "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz"; + url = "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz"; sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581"; }; } @@ -613,7 +613,7 @@ name = "expand_brackets___expand_brackets_0.1.5.tgz"; path = fetchurl { name = "expand_brackets___expand_brackets_0.1.5.tgz"; - url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz"; sha1 = "df07284e342a807cd733ac5af72411e581d1177b"; }; } @@ -621,7 +621,7 @@ name = "expand_brackets___expand_brackets_2.1.4.tgz"; path = fetchurl { name = "expand_brackets___expand_brackets_2.1.4.tgz"; - url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; + url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; }; } @@ -629,7 +629,7 @@ name = "expand_range___expand_range_1.8.2.tgz"; path = fetchurl { name = "expand_range___expand_range_1.8.2.tgz"; - url = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz"; + url = "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz"; sha1 = "a299effd335fe2721ebae8e257ec79644fc85337"; }; } @@ -637,7 +637,7 @@ name = "expand_tilde___expand_tilde_2.0.2.tgz"; path = fetchurl { name = "expand_tilde___expand_tilde_2.0.2.tgz"; - url = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz"; + url = "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz"; sha1 = "97e801aa052df02454de46b02bf621642cdc8502"; }; } @@ -645,7 +645,7 @@ name = "extend_shallow___extend_shallow_1.1.4.tgz"; path = fetchurl { name = "extend_shallow___extend_shallow_1.1.4.tgz"; - url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz"; sha1 = "19d6bf94dfc09d76ba711f39b872d21ff4dd9071"; }; } @@ -653,7 +653,7 @@ name = "extend_shallow___extend_shallow_2.0.1.tgz"; path = fetchurl { name = "extend_shallow___extend_shallow_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; }; } @@ -661,7 +661,7 @@ name = "extend_shallow___extend_shallow_3.0.2.tgz"; path = fetchurl { name = "extend_shallow___extend_shallow_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; }; } @@ -669,7 +669,7 @@ name = "extend___extend_3.0.2.tgz"; path = fetchurl { name = "extend___extend_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; }; } @@ -677,7 +677,7 @@ name = "extglob___extglob_0.3.2.tgz"; path = fetchurl { name = "extglob___extglob_0.3.2.tgz"; - url = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz"; sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1"; }; } @@ -685,7 +685,7 @@ name = "extglob___extglob_2.0.4.tgz"; path = fetchurl { name = "extglob___extglob_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; }; } @@ -693,7 +693,7 @@ name = "fancy_log___fancy_log_1.3.3.tgz"; path = fetchurl { name = "fancy_log___fancy_log_1.3.3.tgz"; - url = "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz"; + url = "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz"; sha1 = "dbc19154f558690150a23953a0adbd035be45fc7"; }; } @@ -701,7 +701,7 @@ name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; path = fetchurl { name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd"; }; } @@ -709,7 +709,7 @@ name = "filename_regex___filename_regex_2.0.1.tgz"; path = fetchurl { name = "filename_regex___filename_regex_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz"; sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"; }; } @@ -717,7 +717,7 @@ name = "fill_range___fill_range_2.2.4.tgz"; path = fetchurl { name = "fill_range___fill_range_2.2.4.tgz"; - url = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz"; sha1 = "eb1e773abb056dcd8df2bfdf6af59b8b3a936565"; }; } @@ -725,7 +725,7 @@ name = "fill_range___fill_range_4.0.0.tgz"; path = fetchurl { name = "fill_range___fill_range_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; }; } @@ -733,7 +733,7 @@ name = "find_index___find_index_0.1.1.tgz"; path = fetchurl { name = "find_index___find_index_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz"; sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4"; }; } @@ -741,7 +741,7 @@ name = "findup_sync___findup_sync_2.0.0.tgz"; path = fetchurl { name = "findup_sync___findup_sync_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz"; sha1 = "9326b1488c22d1a6088650a86901b2d9a90a2cbc"; }; } @@ -749,7 +749,7 @@ name = "fined___fined_1.2.0.tgz"; path = fetchurl { name = "fined___fined_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz"; sha1 = "d00beccf1aa2b475d16d423b0238b713a2c4a37b"; }; } @@ -757,7 +757,7 @@ name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz"; path = fetchurl { name = "first_chunk_stream___first_chunk_stream_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz"; sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"; }; } @@ -765,7 +765,7 @@ name = "first_chunk_stream___first_chunk_stream_2.0.0.tgz"; path = fetchurl { name = "first_chunk_stream___first_chunk_stream_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz"; sha1 = "1bdecdb8e083c0664b91945581577a43a9f31d70"; }; } @@ -773,7 +773,7 @@ name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; path = fetchurl { name = "flagged_respawn___flagged_respawn_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz"; sha1 = "e7de6f1279ddd9ca9aac8a5971d618606b3aab41"; }; } @@ -781,7 +781,7 @@ name = "for_in___for_in_1.0.2.tgz"; path = fetchurl { name = "for_in___for_in_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; }; } @@ -789,7 +789,7 @@ name = "for_own___for_own_0.1.5.tgz"; path = fetchurl { name = "for_own___for_own_0.1.5.tgz"; - url = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz"; sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce"; }; } @@ -797,7 +797,7 @@ name = "for_own___for_own_1.0.0.tgz"; path = fetchurl { name = "for_own___for_own_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz"; sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b"; }; } @@ -805,7 +805,7 @@ name = "fragment_cache___fragment_cache_0.2.1.tgz"; path = fetchurl { name = "fragment_cache___fragment_cache_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; }; } @@ -813,7 +813,7 @@ name = "fsevents___fsevents_1.2.13.tgz"; path = fetchurl { name = "fsevents___fsevents_1.2.13.tgz"; - url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz"; + url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz"; sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38"; }; } @@ -821,7 +821,7 @@ name = "function_bind___function_bind_1.1.1.tgz"; path = fetchurl { name = "function_bind___function_bind_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; }; } @@ -829,7 +829,7 @@ name = "gaze___gaze_0.5.2.tgz"; path = fetchurl { name = "gaze___gaze_0.5.2.tgz"; - url = "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz"; + url = "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz"; sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f"; }; } @@ -837,7 +837,7 @@ name = "get_value___get_value_2.0.6.tgz"; path = fetchurl { name = "get_value___get_value_2.0.6.tgz"; - url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; + url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; }; } @@ -845,7 +845,7 @@ name = "glob_base___glob_base_0.3.0.tgz"; path = fetchurl { name = "glob_base___glob_base_0.3.0.tgz"; - url = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz"; + url = "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz"; sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"; }; } @@ -853,7 +853,7 @@ name = "glob_parent___glob_parent_2.0.0.tgz"; path = fetchurl { name = "glob_parent___glob_parent_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz"; sha1 = "81383d72db054fcccf5336daa902f182f6edbb28"; }; } @@ -861,7 +861,7 @@ name = "glob_parent___glob_parent_3.1.0.tgz"; path = fetchurl { name = "glob_parent___glob_parent_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; }; } @@ -869,7 +869,7 @@ name = "glob_stream___glob_stream_3.1.18.tgz"; path = fetchurl { name = "glob_stream___glob_stream_3.1.18.tgz"; - url = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz"; + url = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz"; sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b"; }; } @@ -877,7 +877,7 @@ name = "glob_watcher___glob_watcher_0.0.6.tgz"; path = fetchurl { name = "glob_watcher___glob_watcher_0.0.6.tgz"; - url = "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz"; + url = "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz"; sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b"; }; } @@ -885,7 +885,7 @@ name = "glob2base___glob2base_0.0.12.tgz"; path = fetchurl { name = "glob2base___glob2base_0.0.12.tgz"; - url = "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz"; + url = "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz"; sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56"; }; } @@ -893,7 +893,7 @@ name = "glob___glob_4.5.3.tgz"; path = fetchurl { name = "glob___glob_4.5.3.tgz"; - url = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz"; sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f"; }; } @@ -901,7 +901,7 @@ name = "glob___glob_3.1.21.tgz"; path = fetchurl { name = "glob___glob_3.1.21.tgz"; - url = "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz"; + url = "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz"; sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd"; }; } @@ -909,7 +909,7 @@ name = "global_modules___global_modules_1.0.0.tgz"; path = fetchurl { name = "global_modules___global_modules_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz"; sha1 = "6d770f0eb523ac78164d72b5e71a8877265cc3ea"; }; } @@ -917,7 +917,7 @@ name = "global_prefix___global_prefix_1.0.2.tgz"; path = fetchurl { name = "global_prefix___global_prefix_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz"; sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe"; }; } @@ -925,7 +925,7 @@ name = "globule___globule_0.1.0.tgz"; path = fetchurl { name = "globule___globule_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz"; sha1 = "d9c8edde1da79d125a151b79533b978676346ae5"; }; } @@ -933,7 +933,7 @@ name = "glogg___glogg_1.0.2.tgz"; path = fetchurl { name = "glogg___glogg_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz"; sha1 = "2d7dd702beda22eb3bffadf880696da6d846313f"; }; } @@ -941,7 +941,7 @@ name = "graceful_fs___graceful_fs_3.0.12.tgz"; path = fetchurl { name = "graceful_fs___graceful_fs_3.0.12.tgz"; - url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz"; sha1 = "0034947ce9ed695ec8ab0b854bc919e82b1ffaef"; }; } @@ -949,7 +949,7 @@ name = "graceful_fs___graceful_fs_4.2.8.tgz"; path = fetchurl { name = "graceful_fs___graceful_fs_4.2.8.tgz"; - url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz"; sha1 = "e412b8d33f5e006593cbd3cee6df9f2cebbe802a"; }; } @@ -957,7 +957,7 @@ name = "graceful_fs___graceful_fs_1.2.3.tgz"; path = fetchurl { name = "graceful_fs___graceful_fs_1.2.3.tgz"; - url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz"; + url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz"; sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364"; }; } @@ -965,7 +965,7 @@ name = "gulp_cheerio___gulp_cheerio_0.6.3.tgz"; path = fetchurl { name = "gulp_cheerio___gulp_cheerio_0.6.3.tgz"; - url = "https://registry.yarnpkg.com/gulp-cheerio/-/gulp-cheerio-0.6.3.tgz"; + url = "https://registry.yarnpkg.com/gulp-cheerio/-/gulp-cheerio-0.6.3.tgz"; sha1 = "40271c1703368c88408ab8750ba9bf3e1aea9c68"; }; } @@ -973,7 +973,7 @@ name = "gulp_rename___gulp_rename_1.4.0.tgz"; path = fetchurl { name = "gulp_rename___gulp_rename_1.4.0.tgz"; - url = "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz"; + url = "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz"; sha1 = "de1c718e7c4095ae861f7296ef4f3248648240bd"; }; } @@ -981,7 +981,7 @@ name = "gulp_svgmin___gulp_svgmin_1.2.4.tgz"; path = fetchurl { name = "gulp_svgmin___gulp_svgmin_1.2.4.tgz"; - url = "https://registry.yarnpkg.com/gulp-svgmin/-/gulp-svgmin-1.2.4.tgz"; + url = "https://registry.yarnpkg.com/gulp-svgmin/-/gulp-svgmin-1.2.4.tgz"; sha1 = "a4aa9e2615cf1105ef555aea86e86296cc20e273"; }; } @@ -989,7 +989,7 @@ name = "gulp_svgstore___gulp_svgstore_5.0.5.tgz"; path = fetchurl { name = "gulp_svgstore___gulp_svgstore_5.0.5.tgz"; - url = "https://registry.yarnpkg.com/gulp-svgstore/-/gulp-svgstore-5.0.5.tgz"; + url = "https://registry.yarnpkg.com/gulp-svgstore/-/gulp-svgstore-5.0.5.tgz"; sha1 = "4ad5cec5d753a1624a00e49cef5fc86a45d97327"; }; } @@ -997,7 +997,7 @@ name = "gulp_util___gulp_util_3.0.8.tgz"; path = fetchurl { name = "gulp_util___gulp_util_3.0.8.tgz"; - url = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz"; + url = "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz"; sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f"; }; } @@ -1005,7 +1005,7 @@ name = "gulp_watch___gulp_watch_4.3.11.tgz"; path = fetchurl { name = "gulp_watch___gulp_watch_4.3.11.tgz"; - url = "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-4.3.11.tgz"; + url = "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-4.3.11.tgz"; sha1 = "162fc563de9fc770e91f9a7ce3955513a9a118c0"; }; } @@ -1013,7 +1013,7 @@ name = "gulp___gulp_3.9.1.tgz"; path = fetchurl { name = "gulp___gulp_3.9.1.tgz"; - url = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz"; + url = "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz"; sha1 = "571ce45928dd40af6514fc4011866016c13845b4"; }; } @@ -1021,7 +1021,7 @@ name = "gulplog___gulplog_1.0.0.tgz"; path = fetchurl { name = "gulplog___gulplog_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz"; sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5"; }; } @@ -1029,7 +1029,7 @@ name = "has_ansi___has_ansi_2.0.0.tgz"; path = fetchurl { name = "has_ansi___has_ansi_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; }; } @@ -1037,7 +1037,7 @@ name = "has_gulplog___has_gulplog_0.1.0.tgz"; path = fetchurl { name = "has_gulplog___has_gulplog_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz"; sha1 = "6414c82913697da51590397dafb12f22967811ce"; }; } @@ -1045,7 +1045,7 @@ name = "has_value___has_value_0.3.1.tgz"; path = fetchurl { name = "has_value___has_value_0.3.1.tgz"; - url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; }; } @@ -1053,7 +1053,7 @@ name = "has_value___has_value_1.0.0.tgz"; path = fetchurl { name = "has_value___has_value_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; }; } @@ -1061,7 +1061,7 @@ name = "has_values___has_values_0.1.4.tgz"; path = fetchurl { name = "has_values___has_values_0.1.4.tgz"; - url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; }; } @@ -1069,7 +1069,7 @@ name = "has_values___has_values_1.0.0.tgz"; path = fetchurl { name = "has_values___has_values_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; }; } @@ -1077,7 +1077,7 @@ name = "has___has_1.0.3.tgz"; path = fetchurl { name = "has___has_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; }; } @@ -1085,7 +1085,7 @@ name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; path = fetchurl { name = "homedir_polyfill___homedir_polyfill_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz"; sha1 = "743298cef4e5af3e194161fbadcc2151d3a058e8"; }; } @@ -1093,7 +1093,7 @@ name = "htmlparser2___htmlparser2_3.10.1.tgz"; path = fetchurl { name = "htmlparser2___htmlparser2_3.10.1.tgz"; - url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz"; + url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz"; sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f"; }; } @@ -1101,7 +1101,7 @@ name = "inflight___inflight_1.0.6.tgz"; path = fetchurl { name = "inflight___inflight_1.0.6.tgz"; - url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; + url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; }; } @@ -1109,7 +1109,7 @@ name = "inherits___inherits_1.0.2.tgz"; path = fetchurl { name = "inherits___inherits_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz"; sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"; }; } @@ -1117,7 +1117,7 @@ name = "inherits___inherits_2.0.4.tgz"; path = fetchurl { name = "inherits___inherits_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz"; sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c"; }; } @@ -1125,7 +1125,7 @@ name = "ini___ini_1.3.8.tgz"; path = fetchurl { name = "ini___ini_1.3.8.tgz"; - url = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz"; + url = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz"; sha1 = "a29da425b48806f34767a4efce397269af28432c"; }; } @@ -1133,7 +1133,7 @@ name = "interpret___interpret_1.4.0.tgz"; path = fetchurl { name = "interpret___interpret_1.4.0.tgz"; - url = "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz"; + url = "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz"; sha1 = "665ab8bc4da27a774a40584e812e3e0fa45b1a1e"; }; } @@ -1141,7 +1141,7 @@ name = "is_absolute___is_absolute_1.0.0.tgz"; path = fetchurl { name = "is_absolute___is_absolute_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz"; sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576"; }; } @@ -1149,7 +1149,7 @@ name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; path = fetchurl { name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; - url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; }; } @@ -1157,7 +1157,7 @@ name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; path = fetchurl { name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; }; } @@ -1165,7 +1165,7 @@ name = "is_binary_path___is_binary_path_1.0.1.tgz"; path = fetchurl { name = "is_binary_path___is_binary_path_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; }; } @@ -1173,7 +1173,7 @@ name = "is_buffer___is_buffer_1.1.6.tgz"; path = fetchurl { name = "is_buffer___is_buffer_1.1.6.tgz"; - url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; }; } @@ -1181,7 +1181,7 @@ name = "is_core_module___is_core_module_2.8.0.tgz"; path = fetchurl { name = "is_core_module___is_core_module_2.8.0.tgz"; - url = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz"; + url = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz"; sha1 = "0321336c3d0925e497fd97f5d95cb114a5ccd548"; }; } @@ -1189,7 +1189,7 @@ name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; path = fetchurl { name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; - url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; }; } @@ -1197,7 +1197,7 @@ name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; path = fetchurl { name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; }; } @@ -1205,7 +1205,7 @@ name = "is_descriptor___is_descriptor_0.1.6.tgz"; path = fetchurl { name = "is_descriptor___is_descriptor_0.1.6.tgz"; - url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; }; } @@ -1213,7 +1213,7 @@ name = "is_descriptor___is_descriptor_1.0.2.tgz"; path = fetchurl { name = "is_descriptor___is_descriptor_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; }; } @@ -1221,7 +1221,7 @@ name = "is_dotfile___is_dotfile_1.0.3.tgz"; path = fetchurl { name = "is_dotfile___is_dotfile_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz"; sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"; }; } @@ -1229,7 +1229,7 @@ name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; path = fetchurl { name = "is_equal_shallow___is_equal_shallow_0.1.3.tgz"; - url = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"; + url = "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"; sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534"; }; } @@ -1237,7 +1237,7 @@ name = "is_extendable___is_extendable_0.1.1.tgz"; path = fetchurl { name = "is_extendable___is_extendable_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; }; } @@ -1245,7 +1245,7 @@ name = "is_extendable___is_extendable_1.0.1.tgz"; path = fetchurl { name = "is_extendable___is_extendable_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; }; } @@ -1253,7 +1253,7 @@ name = "is_extglob___is_extglob_1.0.0.tgz"; path = fetchurl { name = "is_extglob___is_extglob_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz"; sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0"; }; } @@ -1261,7 +1261,7 @@ name = "is_extglob___is_extglob_2.1.1.tgz"; path = fetchurl { name = "is_extglob___is_extglob_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; }; } @@ -1269,7 +1269,7 @@ name = "is_glob___is_glob_2.0.1.tgz"; path = fetchurl { name = "is_glob___is_glob_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz"; sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863"; }; } @@ -1277,7 +1277,7 @@ name = "is_glob___is_glob_3.1.0.tgz"; path = fetchurl { name = "is_glob___is_glob_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; }; } @@ -1285,7 +1285,7 @@ name = "is_number___is_number_2.1.0.tgz"; path = fetchurl { name = "is_number___is_number_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz"; sha1 = "01fcbbb393463a548f2f466cce16dece49db908f"; }; } @@ -1293,7 +1293,7 @@ name = "is_number___is_number_3.0.0.tgz"; path = fetchurl { name = "is_number___is_number_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; }; } @@ -1301,7 +1301,7 @@ name = "is_number___is_number_4.0.0.tgz"; path = fetchurl { name = "is_number___is_number_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz"; sha1 = "0026e37f5454d73e356dfe6564699867c6a7f0ff"; }; } @@ -1309,7 +1309,7 @@ name = "is_plain_object___is_plain_object_2.0.4.tgz"; path = fetchurl { name = "is_plain_object___is_plain_object_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; }; } @@ -1317,7 +1317,7 @@ name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; path = fetchurl { name = "is_posix_bracket___is_posix_bracket_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"; sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"; }; } @@ -1325,7 +1325,7 @@ name = "is_primitive___is_primitive_2.0.0.tgz"; path = fetchurl { name = "is_primitive___is_primitive_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz"; sha1 = "207bab91638499c07b2adf240a41a87210034575"; }; } @@ -1333,7 +1333,7 @@ name = "is_relative___is_relative_1.0.0.tgz"; path = fetchurl { name = "is_relative___is_relative_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz"; sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"; }; } @@ -1341,7 +1341,7 @@ name = "is_unc_path___is_unc_path_1.0.0.tgz"; path = fetchurl { name = "is_unc_path___is_unc_path_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz"; sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d"; }; } @@ -1349,7 +1349,7 @@ name = "is_utf8___is_utf8_0.2.1.tgz"; path = fetchurl { name = "is_utf8___is_utf8_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz"; sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72"; }; } @@ -1357,7 +1357,7 @@ name = "is_windows___is_windows_1.0.2.tgz"; path = fetchurl { name = "is_windows___is_windows_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; }; } @@ -1365,7 +1365,7 @@ name = "isarray___isarray_0.0.1.tgz"; path = fetchurl { name = "isarray___isarray_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz"; sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf"; }; } @@ -1373,7 +1373,7 @@ name = "isarray___isarray_1.0.0.tgz"; path = fetchurl { name = "isarray___isarray_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; }; } @@ -1381,7 +1381,7 @@ name = "isexe___isexe_2.0.0.tgz"; path = fetchurl { name = "isexe___isexe_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; }; } @@ -1389,7 +1389,7 @@ name = "isobject___isobject_2.1.0.tgz"; path = fetchurl { name = "isobject___isobject_2.1.0.tgz"; - url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; }; } @@ -1397,7 +1397,7 @@ name = "isobject___isobject_3.0.1.tgz"; path = fetchurl { name = "isobject___isobject_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; }; } @@ -1405,7 +1405,7 @@ name = "js_yaml___js_yaml_3.7.0.tgz"; path = fetchurl { name = "js_yaml___js_yaml_3.7.0.tgz"; - url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz"; + url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz"; sha1 = "5c967ddd837a9bfdca5f2de84253abe8a1c03b80"; }; } @@ -1413,7 +1413,7 @@ name = "kind_of___kind_of_1.1.0.tgz"; path = fetchurl { name = "kind_of___kind_of_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz"; sha1 = "140a3d2d41a36d2efcfa9377b62c24f8495a5c44"; }; } @@ -1421,7 +1421,7 @@ name = "kind_of___kind_of_3.2.2.tgz"; path = fetchurl { name = "kind_of___kind_of_3.2.2.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; }; } @@ -1429,7 +1429,7 @@ name = "kind_of___kind_of_4.0.0.tgz"; path = fetchurl { name = "kind_of___kind_of_4.0.0.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; sha1 = "20813df3d712928b207378691a45066fae72dd57"; }; } @@ -1437,7 +1437,7 @@ name = "kind_of___kind_of_5.1.0.tgz"; path = fetchurl { name = "kind_of___kind_of_5.1.0.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; }; } @@ -1445,7 +1445,7 @@ name = "kind_of___kind_of_6.0.3.tgz"; path = fetchurl { name = "kind_of___kind_of_6.0.3.tgz"; - url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; + url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd"; }; } @@ -1453,7 +1453,7 @@ name = "liftoff___liftoff_2.5.0.tgz"; path = fetchurl { name = "liftoff___liftoff_2.5.0.tgz"; - url = "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz"; + url = "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz"; sha1 = "2009291bb31cea861bbf10a7c15a28caf75c31ec"; }; } @@ -1461,7 +1461,7 @@ name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz"; path = fetchurl { name = "lodash._basecopy___lodash._basecopy_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz"; sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"; }; } @@ -1469,7 +1469,7 @@ name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz"; path = fetchurl { name = "lodash._basetostring___lodash._basetostring_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz"; sha1 = "d1861d877f824a52f669832dcaf3ee15566a07d5"; }; } @@ -1477,7 +1477,7 @@ name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz"; path = fetchurl { name = "lodash._basevalues___lodash._basevalues_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz"; sha1 = "5b775762802bde3d3297503e26300820fdf661b7"; }; } @@ -1485,7 +1485,7 @@ name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; path = fetchurl { name = "lodash._getnative___lodash._getnative_3.9.1.tgz"; - url = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz"; sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5"; }; } @@ -1493,7 +1493,7 @@ name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; path = fetchurl { name = "lodash._isiterateecall___lodash._isiterateecall_3.0.9.tgz"; - url = "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"; + url = "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"; sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c"; }; } @@ -1501,7 +1501,7 @@ name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; path = fetchurl { name = "lodash._reescape___lodash._reescape_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz"; sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"; }; } @@ -1509,7 +1509,7 @@ name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz"; path = fetchurl { name = "lodash._reevaluate___lodash._reevaluate_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz"; sha1 = "58bc74c40664953ae0b124d806996daca431e2ed"; }; } @@ -1517,7 +1517,7 @@ name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; path = fetchurl { name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"; sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d"; }; } @@ -1525,7 +1525,7 @@ name = "lodash._root___lodash._root_3.0.1.tgz"; path = fetchurl { name = "lodash._root___lodash._root_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz"; sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692"; }; } @@ -1533,7 +1533,7 @@ name = "lodash.assignin___lodash.assignin_4.2.0.tgz"; path = fetchurl { name = "lodash.assignin___lodash.assignin_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz"; sha1 = "ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"; }; } @@ -1541,7 +1541,7 @@ name = "lodash.bind___lodash.bind_4.2.1.tgz"; path = fetchurl { name = "lodash.bind___lodash.bind_4.2.1.tgz"; - url = "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz"; sha1 = "7ae3017e939622ac31b7d7d7dcb1b34db1690d35"; }; } @@ -1549,7 +1549,7 @@ name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; path = fetchurl { name = "lodash.defaults___lodash.defaults_4.2.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz"; sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c"; }; } @@ -1557,7 +1557,7 @@ name = "lodash.escape___lodash.escape_3.2.0.tgz"; path = fetchurl { name = "lodash.escape___lodash.escape_3.2.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz"; sha1 = "995ee0dc18c1b48cc92effae71a10aab5b487698"; }; } @@ -1565,7 +1565,7 @@ name = "lodash.filter___lodash.filter_4.6.0.tgz"; path = fetchurl { name = "lodash.filter___lodash.filter_4.6.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz"; sha1 = "668b1d4981603ae1cc5a6fa760143e480b4c4ace"; }; } @@ -1573,7 +1573,7 @@ name = "lodash.flatten___lodash.flatten_4.4.0.tgz"; path = fetchurl { name = "lodash.flatten___lodash.flatten_4.4.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz"; sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f"; }; } @@ -1581,7 +1581,7 @@ name = "lodash.foreach___lodash.foreach_4.5.0.tgz"; path = fetchurl { name = "lodash.foreach___lodash.foreach_4.5.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz"; sha1 = "1a6a35eace401280c7f06dddec35165ab27e3e53"; }; } @@ -1589,7 +1589,7 @@ name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; path = fetchurl { name = "lodash.isarguments___lodash.isarguments_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz"; sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a"; }; } @@ -1597,7 +1597,7 @@ name = "lodash.isarray___lodash.isarray_3.0.4.tgz"; path = fetchurl { name = "lodash.isarray___lodash.isarray_3.0.4.tgz"; - url = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz"; + url = "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz"; sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55"; }; } @@ -1605,7 +1605,7 @@ name = "lodash.keys___lodash.keys_3.1.2.tgz"; path = fetchurl { name = "lodash.keys___lodash.keys_3.1.2.tgz"; - url = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz"; sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a"; }; } @@ -1613,7 +1613,7 @@ name = "lodash.map___lodash.map_4.6.0.tgz"; path = fetchurl { name = "lodash.map___lodash.map_4.6.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz"; sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3"; }; } @@ -1621,7 +1621,7 @@ name = "lodash.merge___lodash.merge_4.6.2.tgz"; path = fetchurl { name = "lodash.merge___lodash.merge_4.6.2.tgz"; - url = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz"; sha1 = "558aa53b43b661e1925a0afdfa36a9a1085fe57a"; }; } @@ -1629,7 +1629,7 @@ name = "lodash.pick___lodash.pick_4.4.0.tgz"; path = fetchurl { name = "lodash.pick___lodash.pick_4.4.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz"; sha1 = "52f05610fff9ded422611441ed1fc123a03001b3"; }; } @@ -1637,7 +1637,7 @@ name = "lodash.reduce___lodash.reduce_4.6.0.tgz"; path = fetchurl { name = "lodash.reduce___lodash.reduce_4.6.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz"; sha1 = "f1ab6b839299ad48f784abbf476596f03b914d3b"; }; } @@ -1645,7 +1645,7 @@ name = "lodash.reject___lodash.reject_4.6.0.tgz"; path = fetchurl { name = "lodash.reject___lodash.reject_4.6.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz"; sha1 = "80d6492dc1470864bbf583533b651f42a9f52415"; }; } @@ -1653,7 +1653,7 @@ name = "lodash.restparam___lodash.restparam_3.6.1.tgz"; path = fetchurl { name = "lodash.restparam___lodash.restparam_3.6.1.tgz"; - url = "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz"; sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805"; }; } @@ -1661,7 +1661,7 @@ name = "lodash.some___lodash.some_4.6.0.tgz"; path = fetchurl { name = "lodash.some___lodash.some_4.6.0.tgz"; - url = "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz"; + url = "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz"; sha1 = "1bb9f314ef6b8baded13b549169b2a945eb68e4d"; }; } @@ -1669,7 +1669,7 @@ name = "lodash.template___lodash.template_3.6.2.tgz"; path = fetchurl { name = "lodash.template___lodash.template_3.6.2.tgz"; - url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz"; + url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz"; sha1 = "f8cdecc6169a255be9098ae8b0c53d378931d14f"; }; } @@ -1677,7 +1677,7 @@ name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; path = fetchurl { name = "lodash.templatesettings___lodash.templatesettings_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"; + url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz"; sha1 = "fb307844753b66b9f1afa54e262c745307dba8e5"; }; } @@ -1685,7 +1685,7 @@ name = "lodash___lodash_1.0.2.tgz"; path = fetchurl { name = "lodash___lodash_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz"; sha1 = "8f57560c83b59fc270bd3d561b690043430e2551"; }; } @@ -1693,7 +1693,7 @@ name = "lru_cache___lru_cache_2.7.3.tgz"; path = fetchurl { name = "lru_cache___lru_cache_2.7.3.tgz"; - url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz"; + url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz"; sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952"; }; } @@ -1701,7 +1701,7 @@ name = "make_iterator___make_iterator_1.0.1.tgz"; path = fetchurl { name = "make_iterator___make_iterator_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz"; sha1 = "29b33f312aa8f547c4a5e490f56afcec99133ad6"; }; } @@ -1709,7 +1709,7 @@ name = "map_cache___map_cache_0.2.2.tgz"; path = fetchurl { name = "map_cache___map_cache_0.2.2.tgz"; - url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; + url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; }; } @@ -1717,7 +1717,7 @@ name = "map_visit___map_visit_1.0.0.tgz"; path = fetchurl { name = "map_visit___map_visit_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; }; } @@ -1725,7 +1725,7 @@ name = "math_random___math_random_1.0.4.tgz"; path = fetchurl { name = "math_random___math_random_1.0.4.tgz"; - url = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz"; + url = "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz"; sha1 = "5dd6943c938548267016d4e34f057583080c514c"; }; } @@ -1733,7 +1733,7 @@ name = "micromatch___micromatch_2.3.11.tgz"; path = fetchurl { name = "micromatch___micromatch_2.3.11.tgz"; - url = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz"; sha1 = "86677c97d1720b363431d04d0d15293bd38c1565"; }; } @@ -1741,7 +1741,7 @@ name = "micromatch___micromatch_3.1.10.tgz"; path = fetchurl { name = "micromatch___micromatch_3.1.10.tgz"; - url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; + url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; }; } @@ -1749,7 +1749,7 @@ name = "minimatch___minimatch_2.0.10.tgz"; path = fetchurl { name = "minimatch___minimatch_2.0.10.tgz"; - url = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz"; sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"; }; } @@ -1757,7 +1757,7 @@ name = "minimatch___minimatch_0.2.14.tgz"; path = fetchurl { name = "minimatch___minimatch_0.2.14.tgz"; - url = "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz"; + url = "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz"; sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a"; }; } @@ -1765,7 +1765,7 @@ name = "minimist___minimist_1.2.5.tgz"; path = fetchurl { name = "minimist___minimist_1.2.5.tgz"; - url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; + url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602"; }; } @@ -1773,7 +1773,7 @@ name = "mixin_deep___mixin_deep_1.3.2.tgz"; path = fetchurl { name = "mixin_deep___mixin_deep_1.3.2.tgz"; - url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz"; + url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz"; sha1 = "1120b43dc359a785dce65b55b82e257ccf479566"; }; } @@ -1781,7 +1781,7 @@ name = "mkdirp___mkdirp_0.5.5.tgz"; path = fetchurl { name = "mkdirp___mkdirp_0.5.5.tgz"; - url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; + url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; sha1 = "d91cefd62d1436ca0f41620e251288d420099def"; }; } @@ -1789,7 +1789,7 @@ name = "ms___ms_2.0.0.tgz"; path = fetchurl { name = "ms___ms_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; }; } @@ -1797,7 +1797,7 @@ name = "multipipe___multipipe_0.1.2.tgz"; path = fetchurl { name = "multipipe___multipipe_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz"; sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"; }; } @@ -1805,7 +1805,7 @@ name = "nan___nan_2.15.0.tgz"; path = fetchurl { name = "nan___nan_2.15.0.tgz"; - url = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz"; + url = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz"; sha1 = "3f34a473ff18e15c1b5626b62903b5ad6e665fee"; }; } @@ -1813,7 +1813,7 @@ name = "nanomatch___nanomatch_1.2.13.tgz"; path = fetchurl { name = "nanomatch___nanomatch_1.2.13.tgz"; - url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; + url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; }; } @@ -1821,7 +1821,7 @@ name = "natives___natives_1.1.6.tgz"; path = fetchurl { name = "natives___natives_1.1.6.tgz"; - url = "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz"; + url = "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz"; sha1 = "a603b4a498ab77173612b9ea1acdec4d980f00bb"; }; } @@ -1829,7 +1829,7 @@ name = "normalize_path___normalize_path_2.1.1.tgz"; path = fetchurl { name = "normalize_path___normalize_path_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; }; } @@ -1837,7 +1837,7 @@ name = "nth_check___nth_check_1.0.2.tgz"; path = fetchurl { name = "nth_check___nth_check_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz"; sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"; }; } @@ -1845,7 +1845,7 @@ name = "object_assign___object_assign_3.0.0.tgz"; path = fetchurl { name = "object_assign___object_assign_3.0.0.tgz"; - url = "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz"; sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2"; }; } @@ -1853,7 +1853,7 @@ name = "object_assign___object_assign_4.1.1.tgz"; path = fetchurl { name = "object_assign___object_assign_4.1.1.tgz"; - url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; + url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; }; } @@ -1861,7 +1861,7 @@ name = "object_copy___object_copy_0.1.0.tgz"; path = fetchurl { name = "object_copy___object_copy_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; }; } @@ -1869,7 +1869,7 @@ name = "object_visit___object_visit_1.0.1.tgz"; path = fetchurl { name = "object_visit___object_visit_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; }; } @@ -1877,7 +1877,7 @@ name = "object.defaults___object.defaults_1.1.0.tgz"; path = fetchurl { name = "object.defaults___object.defaults_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz"; sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf"; }; } @@ -1885,7 +1885,7 @@ name = "object.map___object.map_1.0.1.tgz"; path = fetchurl { name = "object.map___object.map_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz"; sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"; }; } @@ -1893,7 +1893,7 @@ name = "object.omit___object.omit_2.0.1.tgz"; path = fetchurl { name = "object.omit___object.omit_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz"; sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"; }; } @@ -1901,7 +1901,7 @@ name = "object.pick___object.pick_1.3.0.tgz"; path = fetchurl { name = "object.pick___object.pick_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; }; } @@ -1909,7 +1909,7 @@ name = "once___once_1.4.0.tgz"; path = fetchurl { name = "once___once_1.4.0.tgz"; - url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; }; } @@ -1917,7 +1917,7 @@ name = "once___once_1.3.3.tgz"; path = fetchurl { name = "once___once_1.3.3.tgz"; - url = "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz"; + url = "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz"; sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20"; }; } @@ -1925,7 +1925,7 @@ name = "orchestrator___orchestrator_0.3.8.tgz"; path = fetchurl { name = "orchestrator___orchestrator_0.3.8.tgz"; - url = "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz"; + url = "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz"; sha1 = "14e7e9e2764f7315fbac184e506c7aa6df94ad7e"; }; } @@ -1933,7 +1933,7 @@ name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; path = fetchurl { name = "ordered_read_streams___ordered_read_streams_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz"; sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126"; }; } @@ -1941,7 +1941,7 @@ name = "os_homedir___os_homedir_1.0.2.tgz"; path = fetchurl { name = "os_homedir___os_homedir_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz"; sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; }; } @@ -1949,7 +1949,7 @@ name = "parse_filepath___parse_filepath_1.0.2.tgz"; path = fetchurl { name = "parse_filepath___parse_filepath_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz"; sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891"; }; } @@ -1957,7 +1957,7 @@ name = "parse_glob___parse_glob_3.0.4.tgz"; path = fetchurl { name = "parse_glob___parse_glob_3.0.4.tgz"; - url = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz"; + url = "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz"; sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c"; }; } @@ -1965,7 +1965,7 @@ name = "parse_node_version___parse_node_version_1.0.1.tgz"; path = fetchurl { name = "parse_node_version___parse_node_version_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz"; sha1 = "e2b5dbede00e7fa9bc363607f53327e8b073189b"; }; } @@ -1973,7 +1973,7 @@ name = "parse_passwd___parse_passwd_1.0.0.tgz"; path = fetchurl { name = "parse_passwd___parse_passwd_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz"; sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6"; }; } @@ -1981,7 +1981,7 @@ name = "pascalcase___pascalcase_0.1.1.tgz"; path = fetchurl { name = "pascalcase___pascalcase_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; }; } @@ -1989,7 +1989,7 @@ name = "path_dirname___path_dirname_1.0.2.tgz"; path = fetchurl { name = "path_dirname___path_dirname_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; }; } @@ -1997,7 +1997,7 @@ name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; path = fetchurl { name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; }; } @@ -2005,7 +2005,7 @@ name = "path_parse___path_parse_1.0.7.tgz"; path = fetchurl { name = "path_parse___path_parse_1.0.7.tgz"; - url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz"; + url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz"; sha1 = "fbc114b60ca42b30d9daf5858e4bd68bbedb6735"; }; } @@ -2013,7 +2013,7 @@ name = "path_root_regex___path_root_regex_0.1.2.tgz"; path = fetchurl { name = "path_root_regex___path_root_regex_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz"; sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"; }; } @@ -2021,7 +2021,7 @@ name = "path_root___path_root_0.1.1.tgz"; path = fetchurl { name = "path_root___path_root_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz"; sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7"; }; } @@ -2029,7 +2029,7 @@ name = "pify___pify_2.3.0.tgz"; path = fetchurl { name = "pify___pify_2.3.0.tgz"; - url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; + url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; }; } @@ -2037,7 +2037,7 @@ name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; path = fetchurl { name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; }; } @@ -2045,7 +2045,7 @@ name = "pinkie___pinkie_2.0.4.tgz"; path = fetchurl { name = "pinkie___pinkie_2.0.4.tgz"; - url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; + url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; }; } @@ -2053,7 +2053,7 @@ name = "plugin_error___plugin_error_0.1.2.tgz"; path = fetchurl { name = "plugin_error___plugin_error_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz"; sha1 = "3b9bb3335ccf00f425e07437e19276967da47ace"; }; } @@ -2061,7 +2061,7 @@ name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; path = fetchurl { name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; }; } @@ -2069,7 +2069,7 @@ name = "preserve___preserve_0.2.0.tgz"; path = fetchurl { name = "preserve___preserve_0.2.0.tgz"; - url = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz"; + url = "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz"; sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b"; }; } @@ -2077,7 +2077,7 @@ name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz"; path = fetchurl { name = "pretty_hrtime___pretty_hrtime_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz"; sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1"; }; } @@ -2085,7 +2085,7 @@ name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; path = fetchurl { name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"; }; } @@ -2093,7 +2093,7 @@ name = "q___q_1.5.1.tgz"; path = fetchurl { name = "q___q_1.5.1.tgz"; - url = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz"; + url = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz"; sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7"; }; } @@ -2101,7 +2101,7 @@ name = "randomatic___randomatic_3.1.1.tgz"; path = fetchurl { name = "randomatic___randomatic_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz"; + url = "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz"; sha1 = "b776efc59375984e36c537b2f51a1f0aff0da1ed"; }; } @@ -2109,7 +2109,7 @@ name = "readable_stream___readable_stream_1.0.34.tgz"; path = fetchurl { name = "readable_stream___readable_stream_1.0.34.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz"; sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c"; }; } @@ -2117,7 +2117,7 @@ name = "readable_stream___readable_stream_2.3.7.tgz"; path = fetchurl { name = "readable_stream___readable_stream_2.3.7.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57"; }; } @@ -2125,7 +2125,7 @@ name = "readable_stream___readable_stream_3.6.0.tgz"; path = fetchurl { name = "readable_stream___readable_stream_3.6.0.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz"; sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198"; }; } @@ -2133,7 +2133,7 @@ name = "readable_stream___readable_stream_1.1.14.tgz"; path = fetchurl { name = "readable_stream___readable_stream_1.1.14.tgz"; - url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz"; + url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz"; sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9"; }; } @@ -2141,7 +2141,7 @@ name = "readdirp___readdirp_2.2.1.tgz"; path = fetchurl { name = "readdirp___readdirp_2.2.1.tgz"; - url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; + url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; }; } @@ -2149,7 +2149,7 @@ name = "rechoir___rechoir_0.6.2.tgz"; path = fetchurl { name = "rechoir___rechoir_0.6.2.tgz"; - url = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz"; + url = "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz"; sha1 = "85204b54dba82d5742e28c96756ef43af50e3384"; }; } @@ -2157,7 +2157,7 @@ name = "regex_cache___regex_cache_0.4.4.tgz"; path = fetchurl { name = "regex_cache___regex_cache_0.4.4.tgz"; - url = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz"; + url = "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz"; sha1 = "75bdc58a2a1496cec48a12835bc54c8d562336dd"; }; } @@ -2165,7 +2165,7 @@ name = "regex_not___regex_not_1.0.2.tgz"; path = fetchurl { name = "regex_not___regex_not_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; }; } @@ -2173,7 +2173,7 @@ name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; path = fetchurl { name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; }; } @@ -2181,7 +2181,7 @@ name = "repeat_element___repeat_element_1.1.4.tgz"; path = fetchurl { name = "repeat_element___repeat_element_1.1.4.tgz"; - url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz"; + url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz"; sha1 = "be681520847ab58c7568ac75fbfad28ed42d39e9"; }; } @@ -2189,7 +2189,7 @@ name = "repeat_string___repeat_string_1.6.1.tgz"; path = fetchurl { name = "repeat_string___repeat_string_1.6.1.tgz"; - url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; + url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; }; } @@ -2197,7 +2197,7 @@ name = "replace_ext___replace_ext_0.0.1.tgz"; path = fetchurl { name = "replace_ext___replace_ext_0.0.1.tgz"; - url = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz"; + url = "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz"; sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924"; }; } @@ -2205,7 +2205,7 @@ name = "resolve_dir___resolve_dir_1.0.1.tgz"; path = fetchurl { name = "resolve_dir___resolve_dir_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz"; sha1 = "79a40644c362be82f26effe739c9bb5382046f43"; }; } @@ -2213,7 +2213,7 @@ name = "resolve_url___resolve_url_0.2.1.tgz"; path = fetchurl { name = "resolve_url___resolve_url_0.2.1.tgz"; - url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; + url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; }; } @@ -2221,7 +2221,7 @@ name = "resolve___resolve_1.20.0.tgz"; path = fetchurl { name = "resolve___resolve_1.20.0.tgz"; - url = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz"; + url = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz"; sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975"; }; } @@ -2229,7 +2229,7 @@ name = "ret___ret_0.1.15.tgz"; path = fetchurl { name = "ret___ret_0.1.15.tgz"; - url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; + url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; }; } @@ -2237,7 +2237,7 @@ name = "safe_buffer___safe_buffer_5.1.2.tgz"; path = fetchurl { name = "safe_buffer___safe_buffer_5.1.2.tgz"; - url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; }; } @@ -2245,7 +2245,7 @@ name = "safe_buffer___safe_buffer_5.2.1.tgz"; path = fetchurl { name = "safe_buffer___safe_buffer_5.2.1.tgz"; - url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz"; + url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz"; sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"; }; } @@ -2253,7 +2253,7 @@ name = "safe_regex___safe_regex_1.1.0.tgz"; path = fetchurl { name = "safe_regex___safe_regex_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; }; } @@ -2261,7 +2261,7 @@ name = "sax___sax_1.2.4.tgz"; path = fetchurl { name = "sax___sax_1.2.4.tgz"; - url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; + url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; }; } @@ -2269,7 +2269,7 @@ name = "semver___semver_4.3.6.tgz"; path = fetchurl { name = "semver___semver_4.3.6.tgz"; - url = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz"; + url = "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz"; sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da"; }; } @@ -2277,7 +2277,7 @@ name = "sequencify___sequencify_0.0.7.tgz"; path = fetchurl { name = "sequencify___sequencify_0.0.7.tgz"; - url = "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz"; + url = "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz"; sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c"; }; } @@ -2285,7 +2285,7 @@ name = "set_value___set_value_2.0.1.tgz"; path = fetchurl { name = "set_value___set_value_2.0.1.tgz"; - url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz"; + url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz"; sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b"; }; } @@ -2293,7 +2293,7 @@ name = "sigmund___sigmund_1.0.1.tgz"; path = fetchurl { name = "sigmund___sigmund_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz"; sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590"; }; } @@ -2301,7 +2301,7 @@ name = "slash___slash_1.0.0.tgz"; path = fetchurl { name = "slash___slash_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"; }; } @@ -2309,7 +2309,7 @@ name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; path = fetchurl { name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; }; } @@ -2317,7 +2317,7 @@ name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; path = fetchurl { name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; }; } @@ -2325,7 +2325,7 @@ name = "snapdragon___snapdragon_0.8.2.tgz"; path = fetchurl { name = "snapdragon___snapdragon_0.8.2.tgz"; - url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; + url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; }; } @@ -2333,7 +2333,7 @@ name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; path = fetchurl { name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; - url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; + url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a"; }; } @@ -2341,7 +2341,7 @@ name = "source_map_url___source_map_url_0.4.1.tgz"; path = fetchurl { name = "source_map_url___source_map_url_0.4.1.tgz"; - url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz"; + url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz"; sha1 = "0af66605a745a5a2f91cf1bbf8a7afbc283dec56"; }; } @@ -2349,7 +2349,7 @@ name = "source_map___source_map_0.5.7.tgz"; path = fetchurl { name = "source_map___source_map_0.5.7.tgz"; - url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; + url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; }; } @@ -2357,7 +2357,7 @@ name = "sparkles___sparkles_1.0.1.tgz"; path = fetchurl { name = "sparkles___sparkles_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz"; sha1 = "008db65edce6c50eec0c5e228e1945061dd0437c"; }; } @@ -2365,7 +2365,7 @@ name = "split_string___split_string_3.1.0.tgz"; path = fetchurl { name = "split_string___split_string_3.1.0.tgz"; - url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; + url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; }; } @@ -2373,7 +2373,7 @@ name = "sprintf_js___sprintf_js_1.0.3.tgz"; path = fetchurl { name = "sprintf_js___sprintf_js_1.0.3.tgz"; - url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; + url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; sha1 = "04e6926f662895354f3dd015203633b857297e2c"; }; } @@ -2381,7 +2381,7 @@ name = "static_extend___static_extend_0.1.2.tgz"; path = fetchurl { name = "static_extend___static_extend_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; }; } @@ -2389,7 +2389,7 @@ name = "stream_consume___stream_consume_0.1.1.tgz"; path = fetchurl { name = "stream_consume___stream_consume_0.1.1.tgz"; - url = "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz"; + url = "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz"; sha1 = "d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48"; }; } @@ -2397,7 +2397,7 @@ name = "string_decoder___string_decoder_1.3.0.tgz"; path = fetchurl { name = "string_decoder___string_decoder_1.3.0.tgz"; - url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz"; sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e"; }; } @@ -2405,7 +2405,7 @@ name = "string_decoder___string_decoder_0.10.31.tgz"; path = fetchurl { name = "string_decoder___string_decoder_0.10.31.tgz"; - url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz"; sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; }; } @@ -2413,7 +2413,7 @@ name = "string_decoder___string_decoder_1.1.1.tgz"; path = fetchurl { name = "string_decoder___string_decoder_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; }; } @@ -2421,7 +2421,7 @@ name = "strip_ansi___strip_ansi_3.0.1.tgz"; path = fetchurl { name = "strip_ansi___strip_ansi_3.0.1.tgz"; - url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; + url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; }; } @@ -2429,7 +2429,7 @@ name = "strip_bom_stream___strip_bom_stream_2.0.0.tgz"; path = fetchurl { name = "strip_bom_stream___strip_bom_stream_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz"; sha1 = "f87db5ef2613f6968aa545abfe1ec728b6a829ca"; }; } @@ -2437,7 +2437,7 @@ name = "strip_bom___strip_bom_1.0.0.tgz"; path = fetchurl { name = "strip_bom___strip_bom_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz"; sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794"; }; } @@ -2445,7 +2445,7 @@ name = "strip_bom___strip_bom_2.0.0.tgz"; path = fetchurl { name = "strip_bom___strip_bom_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz"; sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e"; }; } @@ -2453,7 +2453,7 @@ name = "supports_color___supports_color_2.0.0.tgz"; path = fetchurl { name = "supports_color___supports_color_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; }; } @@ -2461,7 +2461,7 @@ name = "svgo___svgo_0.7.2.tgz"; path = fetchurl { name = "svgo___svgo_0.7.2.tgz"; - url = "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz"; + url = "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz"; sha1 = "9f5772413952135c6fefbf40afe6a4faa88b4bb5"; }; } @@ -2469,7 +2469,7 @@ name = "through2___through2_0.6.5.tgz"; path = fetchurl { name = "through2___through2_0.6.5.tgz"; - url = "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz"; sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48"; }; } @@ -2477,7 +2477,7 @@ name = "through2___through2_2.0.5.tgz"; path = fetchurl { name = "through2___through2_2.0.5.tgz"; - url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; + url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd"; }; } @@ -2485,7 +2485,7 @@ name = "tildify___tildify_1.2.0.tgz"; path = fetchurl { name = "tildify___tildify_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz"; sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a"; }; } @@ -2493,7 +2493,7 @@ name = "time_stamp___time_stamp_1.1.0.tgz"; path = fetchurl { name = "time_stamp___time_stamp_1.1.0.tgz"; - url = "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz"; + url = "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz"; sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3"; }; } @@ -2501,7 +2501,7 @@ name = "to_object_path___to_object_path_0.3.0.tgz"; path = fetchurl { name = "to_object_path___to_object_path_0.3.0.tgz"; - url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; + url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; }; } @@ -2509,7 +2509,7 @@ name = "to_regex_range___to_regex_range_2.1.1.tgz"; path = fetchurl { name = "to_regex_range___to_regex_range_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; }; } @@ -2517,7 +2517,7 @@ name = "to_regex___to_regex_3.0.2.tgz"; path = fetchurl { name = "to_regex___to_regex_3.0.2.tgz"; - url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; + url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; }; } @@ -2525,7 +2525,7 @@ name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; path = fetchurl { name = "unc_path_regex___unc_path_regex_0.1.2.tgz"; - url = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz"; + url = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz"; sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"; }; } @@ -2533,7 +2533,7 @@ name = "union_value___union_value_1.0.1.tgz"; path = fetchurl { name = "union_value___union_value_1.0.1.tgz"; - url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz"; + url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz"; sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847"; }; } @@ -2541,7 +2541,7 @@ name = "unique_stream___unique_stream_1.0.0.tgz"; path = fetchurl { name = "unique_stream___unique_stream_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz"; sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b"; }; } @@ -2549,7 +2549,7 @@ name = "unset_value___unset_value_1.0.0.tgz"; path = fetchurl { name = "unset_value___unset_value_1.0.0.tgz"; - url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; + url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; }; } @@ -2557,7 +2557,7 @@ name = "urix___urix_0.1.0.tgz"; path = fetchurl { name = "urix___urix_0.1.0.tgz"; - url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; + url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; }; } @@ -2565,7 +2565,7 @@ name = "use___use_3.1.1.tgz"; path = fetchurl { name = "use___use_3.1.1.tgz"; - url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; + url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; }; } @@ -2573,7 +2573,7 @@ name = "user_home___user_home_1.1.1.tgz"; path = fetchurl { name = "user_home___user_home_1.1.1.tgz"; - url = "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz"; + url = "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz"; sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190"; }; } @@ -2581,7 +2581,7 @@ name = "util_deprecate___util_deprecate_1.0.2.tgz"; path = fetchurl { name = "util_deprecate___util_deprecate_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; }; } @@ -2589,7 +2589,7 @@ name = "v8flags___v8flags_2.1.1.tgz"; path = fetchurl { name = "v8flags___v8flags_2.1.1.tgz"; - url = "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz"; + url = "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz"; sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4"; }; } @@ -2597,7 +2597,7 @@ name = "vinyl_file___vinyl_file_2.0.0.tgz"; path = fetchurl { name = "vinyl_file___vinyl_file_2.0.0.tgz"; - url = "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz"; + url = "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz"; sha1 = "a7ebf5ffbefda1b7d18d140fcb07b223efb6751a"; }; } @@ -2605,7 +2605,7 @@ name = "vinyl_fs___vinyl_fs_0.3.14.tgz"; path = fetchurl { name = "vinyl_fs___vinyl_fs_0.3.14.tgz"; - url = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz"; + url = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz"; sha1 = "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"; }; } @@ -2613,7 +2613,7 @@ name = "vinyl___vinyl_0.4.6.tgz"; path = fetchurl { name = "vinyl___vinyl_0.4.6.tgz"; - url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz"; sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847"; }; } @@ -2621,7 +2621,7 @@ name = "vinyl___vinyl_0.5.3.tgz"; path = fetchurl { name = "vinyl___vinyl_0.5.3.tgz"; - url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz"; sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde"; }; } @@ -2629,7 +2629,7 @@ name = "vinyl___vinyl_1.2.0.tgz"; path = fetchurl { name = "vinyl___vinyl_1.2.0.tgz"; - url = "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz"; + url = "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz"; sha1 = "5c88036cf565e5df05558bfc911f8656df218884"; }; } @@ -2637,7 +2637,7 @@ name = "whet.extend___whet.extend_0.9.9.tgz"; path = fetchurl { name = "whet.extend___whet.extend_0.9.9.tgz"; - url = "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz"; + url = "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz"; sha1 = "f877d5bf648c97e5aa542fadc16d6a259b9c11a1"; }; } @@ -2645,7 +2645,7 @@ name = "which___which_1.3.1.tgz"; path = fetchurl { name = "which___which_1.3.1.tgz"; - url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; + url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; }; } @@ -2653,7 +2653,7 @@ name = "wrappy___wrappy_1.0.2.tgz"; path = fetchurl { name = "wrappy___wrappy_1.0.2.tgz"; - url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; + url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; }; } @@ -2661,7 +2661,7 @@ name = "xtend___xtend_4.0.2.tgz"; path = fetchurl { name = "xtend___xtend_4.0.2.tgz"; - url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz"; + url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz"; sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54"; }; } From 00e74ad907f9e9c57be90bf3983d2f7ea7442b56 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 16 Feb 2022 16:58:20 -0500 Subject: [PATCH 22/83] minor changes --- nixos/modules/services/development/zammad.nix | 6 +++--- .../networking/misc/zammad/default.nix | 16 ++++++---------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 245e3eea5dfd..13516f154361 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -248,15 +248,15 @@ in wantedBy = [ "multi-user.target" ]; preStart = '' # Blindly copy the whole project here. - chmod -R u+w . + chmod -R +w . rm -rf ./public/assets/* rm -rf ./tmp/* rm -rf ./log/* cp -r --no-preserve=owner ${cfg.package}/* . - chmod -R u+w . + chmod -R +w . # config file cp ${databaseConfig} ./config/database.yml - chmod -R u+w . + chmod -R +w . ${optionalString (cfg.database.passwordFile != null) '' { echo -n " password: " diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index 203ede07305e..97e760953183 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -21,7 +21,7 @@ let pname = "zammad"; version = "5.0.2"; - sourceDir = applyPatches { + src = applyPatches { src = fetchFromGitHub (builtins.fromJSON (builtins.readFile ./source.json)); @@ -52,7 +52,7 @@ let # https://docs.zammad.org/en/latest/prerequisites/software.html#ruby-programming-language inherit ruby_2_7; - gemdir = sourceDir; + gemdir = src; gemset = ./gemset.nix; groups = [ "assets" @@ -86,19 +86,15 @@ let yarnEnv = yarn2nix-moretea.mkYarnPackage { pname = "${pname}-node-modules"; - inherit version; - src = sourceDir; + inherit version src; yarnLock = ./yarn.lock; yarnNix = ./yarn.nix; - packageJSON = sourceDir + "/package.json"; + packageJSON = src + "/package.json"; }; in stdenv.mkDerivation { - name = "${pname}-${version}"; - inherit pname version; - - src = sourceDir; + inherit pname version src; buildInputs = [ rubyEnv @@ -138,6 +134,6 @@ stdenv.mkDerivation { homepage = "https://zammad.org"; license = licenses.agpl3Plus; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ n0emis ]; + maintainers = with maintainers; [ n0emis garbas taeer ]; }; } From 74dcaf578442bfafba924e5494bef2dc830d0991 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 22 Feb 2022 05:37:03 -0500 Subject: [PATCH 23/83] zammad: test passes! --- nixos/modules/services/development/zammad.nix | 5 +-- nixos/tests/zammad.nix | 33 ++++++++++++++++++- .../networking/misc/zammad/default.nix | 4 +-- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 13516f154361..4279ebe82d15 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -234,8 +234,7 @@ in inherit environment; serviceConfig = serviceConfig // { # loading all the gems takes time - TimeoutStartSec = 600; - Restart = "no"; + TimeoutStartSec = 1200; }; after = [ "network.target" @@ -270,6 +269,7 @@ in cat ${cfg.secretKeyBaseFile} } > ./config/secrets.yml ''} + if [ `${config.services.postgresql.package}/bin/psql \ --host ${cfg.database.host} \ ${optionalString @@ -307,6 +307,7 @@ in serviceConfig = serviceConfig // { Type = "forking"; }; after = [ "zammad-web.service" ]; requires = [ "zammad-web.service" ]; + wants = [ "zammad-web.service" ]; description = "Zammad scheduler"; wantedBy = [ "multi-user.target" ]; script = "./script/scheduler.rb start"; diff --git a/nixos/tests/zammad.nix b/nixos/tests/zammad.nix index 4da503195623..4e466f6e3b9b 100644 --- a/nixos/tests/zammad.nix +++ b/nixos/tests/zammad.nix @@ -6,11 +6,39 @@ import ./make-test-python.nix ( meta.maintainers = with lib.maintainers; [ garbas taeer ]; - nodes.machine = { + nodes.machine = { config, ... }: { services.zammad.enable = true; services.zammad.secretKeyBaseFile = pkgs.writeText "secret" '' 52882ef142066e09ab99ce816ba72522e789505caba224a52d750ec7dc872c2c371b2fd19f16b25dfbdd435a4dd46cb3df9f82eb63fafad715056bdfe25740d6 ''; + + systemd.services.zammad-locale-cheat = + let cfg = config.services.zammad; in + { + serviceConfig = { + Type = "simple"; + Restart = "always"; + + User = "zammad"; + Group = "zammad"; + PrivateTmp = true; + StateDirectory = "zammad"; + WorkingDirectory = cfg.dataDir; + }; + wantedBy = [ "zammad-web.service" ]; + description = "Hack in the locale files so zammad doesn't try to access the internet"; + script = '' + mkdir -p ./config/translations + VERSION=$(cat ${cfg.package}/VERSION) + + # If these files are not in place, zammad will try to access the internet. + # For the test, we only need to supply en-us. + echo '[{"locale":"en-us","alias":"en","name":"English (United States)","active":true,"dir":"ltr"}]' \ + > ./config/locales-$VERSION.yml + echo '[{"locale":"en-us","format":"time","source":"date","target":"mm/dd/yyyy","target_initial":"mm/dd/yyyy"},{"locale":"en-us","format":"time","source":"timestamp","target":"mm/dd/yyyy HH:MM","target_initial":"mm/dd/yyyy HH:MM"}]' \ + > ./config/translations/en-us-$VERSION.yml + ''; + }; }; testScript = '' @@ -19,6 +47,9 @@ import ./make-test-python.nix ( machine.wait_for_unit("zammad-web.service") machine.wait_for_unit("zammad-websocket.service") machine.wait_for_unit("zammad-scheduler.service") + # wait for zammad to fully come up + machine.sleep(120) + # without the grep the command does not produce valid utf-8 for some reason with subtest("welcome screen loads"): machine.succeed( diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index 97e760953183..718839184f59 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -116,9 +116,7 @@ stdenv.mkDerivation { ''; installPhase = '' - mkdir -p $out/config - cp -R ./* $out - rm -R $out/tmp/* + cp -R . $out cp ${databaseConfig} $out/config/database.yml cp ${secretsConfig} $out/config/secrets.yml sed -i -e "s|info|debug|" $out/config/environments/production.rb From 005769ee13b16110ffd593bb727053a2f135b976 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 22 Feb 2022 05:44:26 -0500 Subject: [PATCH 24/83] whitespace --- nixos/modules/services/development/zammad.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 4279ebe82d15..dc3a6d104696 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -273,7 +273,7 @@ in if [ `${config.services.postgresql.package}/bin/psql \ --host ${cfg.database.host} \ ${optionalString - (cfg.database.port != null) + (cfg.database.port != null) "--port ${toString cfg.database.port}"} \ --username ${cfg.database.user} \ --dbname ${cfg.database.name} \ From b5ec72fc13d94ad709bd013eeeaba54b258de18f Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 22 Feb 2022 07:38:01 -0500 Subject: [PATCH 25/83] tweaks --- nixos/modules/services/development/zammad.nix | 1 - pkgs/applications/networking/misc/zammad/default.nix | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index dc3a6d104696..8a6c512b017e 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -307,7 +307,6 @@ in serviceConfig = serviceConfig // { Type = "forking"; }; after = [ "zammad-web.service" ]; requires = [ "zammad-web.service" ]; - wants = [ "zammad-web.service" ]; description = "Zammad scheduler"; wantedBy = [ "multi-user.target" ]; script = "./script/scheduler.rb start"; diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index 718839184f59..0b5d691c18e6 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -23,7 +23,7 @@ let src = applyPatches { - src = fetchFromGitHub (builtins.fromJSON (builtins.readFile ./source.json)); + src = fetchFromGitHub (lib.importJSON ./source.json); patches = [ ./0001-nulldb.patch ]; @@ -52,7 +52,7 @@ let # https://docs.zammad.org/en/latest/prerequisites/software.html#ruby-programming-language inherit ruby_2_7; - gemdir = src; + gemdir = "${src}"; gemset = ./gemset.nix; groups = [ "assets" @@ -89,7 +89,7 @@ let inherit version src; yarnLock = ./yarn.lock; yarnNix = ./yarn.nix; - packageJSON = src + "/package.json"; + packageJSON = "${src}/package.json"; }; in From 6157673df02f0a0d5809e40241fe71be9effbea7 Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Tue, 22 Feb 2022 22:50:33 -0500 Subject: [PATCH 26/83] hopefully IFD was the problem --- .../networking/misc/zammad/default.nix | 4 ++-- .../networking/misc/zammad/package.json | 14 ++++++++++++++ pkgs/applications/networking/misc/zammad/update.sh | 3 +++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/networking/misc/zammad/package.json diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix index 0b5d691c18e6..21c9b98a01fb 100644 --- a/pkgs/applications/networking/misc/zammad/default.nix +++ b/pkgs/applications/networking/misc/zammad/default.nix @@ -52,7 +52,7 @@ let # https://docs.zammad.org/en/latest/prerequisites/software.html#ruby-programming-language inherit ruby_2_7; - gemdir = "${src}"; + gemdir = src; gemset = ./gemset.nix; groups = [ "assets" @@ -89,7 +89,7 @@ let inherit version src; yarnLock = ./yarn.lock; yarnNix = ./yarn.nix; - packageJSON = "${src}/package.json"; + packageJSON = ./package.json; }; in diff --git a/pkgs/applications/networking/misc/zammad/package.json b/pkgs/applications/networking/misc/zammad/package.json new file mode 100644 index 000000000000..ed5407ada93e --- /dev/null +++ b/pkgs/applications/networking/misc/zammad/package.json @@ -0,0 +1,14 @@ +{ + "name": "Zammad", + "version": "1.0.0", + "devDependencies": { + "gulp": "^3.8.11", + "gulp-cheerio": "^0.6.2", + "gulp-rename": "^1.2.2", + "gulp-svgmin": "^1.1.2", + "gulp-svgstore": "^5.0.1", + "gulp-util": "^3.0.4", + "gulp-watch": "^4.2.4", + "through2": "^0.6.5" + } +} diff --git a/pkgs/applications/networking/misc/zammad/update.sh b/pkgs/applications/networking/misc/zammad/update.sh index 01cdb4f8e921..f1ddf27ac618 100755 --- a/pkgs/applications/networking/misc/zammad/update.sh +++ b/pkgs/applications/networking/misc/zammad/update.sh @@ -60,6 +60,9 @@ yarn install cp yarn.lock $TARGET_DIR yarn2nix > $TARGET_DIR/yarn.nix +# needed to avoid import from derivation +cp package.json $TARGET_DIR + popd popd popd From 368480a95b0d7c0187cbd6698481c38a0b7286ae Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 23 Feb 2022 10:21:59 +0530 Subject: [PATCH 27/83] scrcpy: 1.22 -> 1.23 --- pkgs/misc/scrcpy/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix index ef1d7b140144..07386e05aee1 100644 --- a/pkgs/misc/scrcpy/default.nix +++ b/pkgs/misc/scrcpy/default.nix @@ -10,10 +10,10 @@ }: let - version = "1.22"; + version = "1.23"; prebuilt_server = fetchurl { url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}"; - sha256 = "sha256-wF0nPux1M8DhBiguAlTPBOf16PDCkgyjlEiGX6sqQZs="; + sha256 = "sha256-KpE/1HR4wLMG/KUHywvrYl5JoZ/5/Hq5BONu9bn+fmg="; }; in stdenv.mkDerivation rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { owner = "Genymobile"; repo = pname; rev = "v${version}"; - sha256 = "sha256-bYLvrCw6NNCZqgLWIEObnytgD74cE9pm/Z7dgB8S5x0="; + sha256 = "sha256-WR70wV+EfNFFkMFkffnwaTridd33CpJ0zTAlXYyjZgM="; }; # postPatch: From 7974b85c836d47459786b4b532ab439c02fa5aca Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 23 Feb 2022 11:10:48 +0530 Subject: [PATCH 28/83] scrcpy: make libusb1 an unconditional dependency With the new OTG support for Darwin this is needed on there as well --- pkgs/misc/scrcpy/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix index 07386e05aee1..3704bfcbefdf 100644 --- a/pkgs/misc/scrcpy/default.nix +++ b/pkgs/misc/scrcpy/default.nix @@ -38,9 +38,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ makeWrapper meson ninja pkg-config ]; - buildInputs = [ ffmpeg SDL2 ] ++ lib.optionals stdenv.isLinux [ - libusb1 - ]; + buildInputs = [ ffmpeg SDL2 libusb1 ]; # Manually install the server jar to prevent Meson from "fixing" it preConfigure = '' From 3dea07f9a6cdc1cdac518eede1d753ba1235c7c5 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Wed, 23 Feb 2022 13:30:24 +0530 Subject: [PATCH 29/83] scrcpy: install shell completions --- pkgs/misc/scrcpy/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/scrcpy/default.nix b/pkgs/misc/scrcpy/default.nix index 3704bfcbefdf..75caa3fcfb3c 100644 --- a/pkgs/misc/scrcpy/default.nix +++ b/pkgs/misc/scrcpy/default.nix @@ -2,6 +2,7 @@ , meson , ninja , pkg-config +, installShellFiles , platform-tools , ffmpeg @@ -36,7 +37,7 @@ stdenv.mkDerivation rec { --replace "SDL_RENDERER_ACCELERATED" "SDL_RENDERER_ACCELERATED || SDL_RENDERER_SOFTWARE" ''; - nativeBuildInputs = [ makeWrapper meson ninja pkg-config ]; + nativeBuildInputs = [ makeWrapper meson ninja pkg-config installShellFiles ]; buildInputs = [ ffmpeg SDL2 libusb1 ]; From 13e35662ccfc4b516dca5e2802cb57ec6a08c57a Mon Sep 17 00:00:00 2001 From: Taeer Bar-Yam Date: Wed, 23 Feb 2022 16:19:10 -0500 Subject: [PATCH 30/83] add a defaultText --- nixos/modules/services/development/zammad.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/development/zammad.nix b/nixos/modules/services/development/zammad.nix index 8a6c512b017e..d457a6071873 100644 --- a/nixos/modules/services/development/zammad.nix +++ b/nixos/modules/services/development/zammad.nix @@ -84,6 +84,12 @@ in PostgreSQL = "/run/postgresql"; MySQL = "localhost"; }.${cfg.database.type}; + defaultText = literalExpression '' + { + PostgreSQL = "/run/postgresql"; + MySQL = "localhost"; + }.''${config.services.zammad.database.type}; + ''; description = '' Database host address. ''; From 599b22c26faff1108cbb8b388d768bc266ea3b27 Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Wed, 23 Feb 2022 17:11:46 -0500 Subject: [PATCH 31/83] pim6sd: mark as broken on darwin --- pkgs/servers/pim6sd/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/pim6sd/default.nix b/pkgs/servers/pim6sd/default.nix index 0889deee92a9..e1bc6ce48ff4 100644 --- a/pkgs/servers/pim6sd/default.nix +++ b/pkgs/servers/pim6sd/default.nix @@ -19,5 +19,6 @@ stdenv.mkDerivation rec { license = licenses.bsd3; maintainers = with maintainers; [ hexa ]; platforms = platforms.unix; + broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/pim6sd.x86_64-darwin }; } From 5e94787f63e8fb4aa8e0101494781860ac0a391f Mon Sep 17 00:00:00 2001 From: xfnw Date: Thu, 24 Feb 2022 01:03:22 +0000 Subject: [PATCH 32/83] catgirl: 2.0a -> 2.1 --- pkgs/applications/networking/irc/catgirl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/irc/catgirl/default.nix b/pkgs/applications/networking/irc/catgirl/default.nix index 9f979781857d..d032238ca5b7 100644 --- a/pkgs/applications/networking/irc/catgirl/default.nix +++ b/pkgs/applications/networking/irc/catgirl/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "catgirl"; - version = "2.0a"; + version = "2.1"; src = fetchurl { url = "https://git.causal.agency/catgirl/snapshot/${pname}-${version}.tar.gz"; - sha256 = "sha256-AbzzTqaulPDplntwRYw4fVxZXUIJ2L0MKZvyWq4lvro="; + sha256 = "sha256-pov7gvYlvN97xbem4VKP41Wbze1B8NPJcvi36Ri87o4="; }; # catgirl's configure script uses pkg-config --variable exec_prefix openssl From 20648fc2cc7bcf0512f422bb6b481ed9941b4a18 Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Wed, 23 Feb 2022 22:58:34 -0500 Subject: [PATCH 33/83] icoutils: fix build on aarch64-darwin --- pkgs/tools/graphics/icoutils/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/tools/graphics/icoutils/default.nix b/pkgs/tools/graphics/icoutils/default.nix index 62b4ab6b303e..07f605a4cbff 100644 --- a/pkgs/tools/graphics/icoutils/default.nix +++ b/pkgs/tools/graphics/icoutils/default.nix @@ -13,6 +13,10 @@ stdenv.mkDerivation rec { buildInputs = [ libpng perl ]; propagatedBuildInputs = [ perlPackages.LWP ]; + # Fixes a build failure on aarch64-darwin. Define for all Darwin targets for when x86_64-darwin + # upgrades to a newer SDK. + NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-DTARGET_OS_IPHONE=0"; + patchPhase = '' patchShebangs extresso/extresso patchShebangs extresso/extresso.in From a13cdfe520d87db401dd000fbd67cad728162a60 Mon Sep 17 00:00:00 2001 From: Ulrik Strid Date: Tue, 22 Feb 2022 10:59:04 +0100 Subject: [PATCH 34/83] ocamlPackages tree-wide: Move buildInputs that should be nativeBuildInputs To keep this for the future we also strictDeps where possible, including for janePackages, topkg, oasis and ocamlbuild. This makes some closures significantly smaller and makes cross compilation easier --- .../science/logic/alt-ergo/default.nix | 17 +++++++---------- .../science/logic/anders/default.nix | 5 ++++- pkgs/build-support/ocaml/default.nix | 2 ++ pkgs/build-support/ocaml/oasis.nix | 6 ++++-- pkgs/development/compilers/fstar/default.nix | 14 ++++++++++---- pkgs/development/libraries/libbap/default.nix | 4 ++-- .../development/ocaml-modules/apron/default.nix | 5 ++++- .../ocaml-modules/astring/default.nix | 5 ++++- pkgs/development/ocaml-modules/atd/default.nix | 4 +++- pkgs/development/ocaml-modules/bap/default.nix | 5 ++--- .../ocaml-modules/batteries/default.nix | 8 +++++--- .../ocaml-modules/benchmark/default.nix | 5 ++++- .../ocaml-modules/bigarray-overlap/default.nix | 5 ++++- .../ocaml-modules/bigstringaf/default.nix | 6 +++++- pkgs/development/ocaml-modules/biniou/1.0.nix | 5 ++++- .../ocaml-modules/biniou/default.nix | 2 ++ pkgs/development/ocaml-modules/bitv/default.nix | 4 +++- pkgs/development/ocaml-modules/bolt/default.nix | 4 +++- pkgs/development/ocaml-modules/bos/default.nix | 6 ++++-- pkgs/development/ocaml-modules/bz2/default.nix | 5 ++--- .../ocaml-modules/calendar/default.nix | 4 +++- .../ocaml-modules/camlimages/default.nix | 5 ++++- .../ocaml-modules/camlpdf/default.nix | 4 +++- .../ocaml-modules/camlzip/default.nix | 4 +++- .../ocaml-modules/camomile/0.8.2.nix | 4 +++- .../ocaml-modules/camomile/0.8.5.nix | 4 +++- .../ocaml-modules/camomile/default.nix | 4 +++- .../development/ocaml-modules/caqti/default.nix | 2 +- .../ocaml-modules/carton/default.nix | 4 +++- .../ocaml-modules/cfstream/default.nix | 5 ++++- .../ocaml-modules/checkseum/default.nix | 6 ++---- pkgs/development/ocaml-modules/cil/default.nix | 4 +++- .../ocaml-modules/cmdliner/default.nix | 2 +- pkgs/development/ocaml-modules/coin/default.nix | 6 ++++-- .../ocaml-modules/comparelib/default.nix | 3 ++- .../ocaml-modules/config-file/default.nix | 4 +++- pkgs/development/ocaml-modules/cpdf/default.nix | 5 ++++- .../ocaml-modules/cryptgps/default.nix | 4 +++- pkgs/development/ocaml-modules/csv/1.5.nix | 4 +++- .../ocaml-modules/ctypes/default.nix | 6 ++++-- .../ocaml-modules/digestif/default.nix | 6 ++++++ .../ocaml-modules/dolmen/default.nix | 4 +++- .../development/ocaml-modules/dolog/default.nix | 4 +++- pkgs/development/ocaml-modules/dum/default.nix | 4 +++- .../ocaml-modules/dypgen/default.nix | 4 +++- .../development/ocaml-modules/elina/default.nix | 4 +++- .../development/ocaml-modules/eliom/default.nix | 10 ++++++++-- .../ocaml-modules/enumerate/default.nix | 4 +++- .../ocaml-modules/erm_xml/default.nix | 4 +++- .../ocaml-modules/erm_xmpp/default.nix | 5 ++++- pkgs/development/ocaml-modules/expat/0.9.nix | 5 ++++- .../development/ocaml-modules/expat/default.nix | 5 ++++- .../ocaml-modules/extlib/default.nix | 4 +++- .../ocaml-modules/farfadet/default.nix | 5 ++++- pkgs/development/ocaml-modules/fmt/default.nix | 8 +++++--- .../ocaml-modules/fontconfig/default.nix | 7 +++++-- .../development/ocaml-modules/fpath/default.nix | 5 ++++- .../ocaml-modules/frontc/default.nix | 4 +++- .../ocaml-modules/functory/default.nix | 4 +++- .../ocaml-modules/getopt/default.nix | 4 +++- pkgs/development/ocaml-modules/gg/default.nix | 3 ++- .../ocaml-modules/gmetadom/default.nix | 7 ++++--- .../ocaml-modules/hacl-star/default.nix | 4 +++- .../development/ocaml-modules/hacl-star/raw.nix | 4 +++- .../ocaml-modules/herelib/default.nix | 6 +++++- .../ocaml-modules/hidapi/default.nix | 5 ++++- pkgs/development/ocaml-modules/hmap/default.nix | 5 ++++- pkgs/development/ocaml-modules/hxd/default.nix | 5 +---- .../ocaml-modules/inifiles/default.nix | 4 +++- .../ocaml-modules/inotify/default.nix | 6 +++++- .../ocaml-modules/iso8601/default.nix | 5 ++++- .../ocaml-modules/janestreet/0.12.nix | 1 + .../ocaml-modules/janestreet/0.14.nix | 4 ++++ .../ocaml-modules/janestreet/janePackage.nix | 6 ++++-- .../janestreet/janePackage_0_12.nix | 8 ++++++-- .../janestreet/janePackage_0_14.nix | 4 +++- .../ocaml-modules/javalib/default.nix | 4 +++- .../development/ocaml-modules/jsonm/default.nix | 6 ++++-- .../ocaml-modules/lablgl/default.nix | 3 ++- .../ocaml-modules/lablgtk-extras/1.4.nix | 2 +- .../ocaml-modules/lablgtk-extras/default.nix | 2 +- .../ocaml-modules/lablgtk/2.14.0.nix | 4 ++-- .../ocaml-modules/lablgtk/default.nix | 4 ++-- .../ocaml-modules/labltk/default.nix | 3 ++- pkgs/development/ocaml-modules/llvm/default.nix | 6 ++++-- pkgs/development/ocaml-modules/logs/default.nix | 6 ++++-- .../ocaml-modules/lua-ml/default.nix | 5 +++-- .../ocaml-modules/lwt-exit/default.nix | 3 ++- pkgs/development/ocaml-modules/lwt/default.nix | 9 ++++++--- .../ocaml-modules/macaque/default.nix | 6 ++++-- .../ocaml-modules/magick/default.nix | 6 ++++-- .../ocaml-modules/merlin-extend/default.nix | 4 +++- .../ocaml-modules/mirage-crypto/default.nix | 5 ++++- .../ocaml-modules/mirage-crypto/ec.nix | 13 ++++++++----- .../ocaml-modules/mirage-crypto/pk.nix | 4 +++- .../ocaml-modules/mirage-crypto/rng-async.nix | 4 +++- .../ocaml-modules/mirage-crypto/rng-mirage.nix | 4 +++- .../ocaml-modules/mirage-crypto/rng.nix | 6 ++++-- .../development/ocaml-modules/mlgmp/default.nix | 5 ++++- .../ocaml-modules/mlgmpidl/default.nix | 7 +++++-- .../development/ocaml-modules/mtime/default.nix | 7 ++++--- .../development/ocaml-modules/mysql/default.nix | 4 +++- .../ocaml-modules/nocrypto/default.nix | 4 +++- .../development/ocaml-modules/notty/default.nix | 5 ++++- pkgs/development/ocaml-modules/num/default.nix | 4 ++-- .../ocaml-modules/ocaml-cairo/default.nix | 5 ++--- .../ocaml-modules/ocaml-libvirt/default.nix | 4 ++-- .../ocaml-modules/ocaml-r/default.nix | 6 +++++- .../ocaml-modules/ocamlfuse/default.nix | 7 ++++++- .../ocaml-modules/ocamlnat/default.nix | 5 ++++- .../ocaml-modules/ocamlnet/default.nix | 6 ++++-- .../ocaml-modules/ocamlsdl/default.nix | 4 ++-- .../ocaml-modules/ocb-stubblr/default.nix | 5 ++++- .../ocaml-modules/ocp-ocamlres/default.nix | 6 +++++- .../ocaml-modules/ocplib-simplex/default.nix | 5 +++-- .../ocaml-modules/ocsigen-deriving/default.nix | 5 ++++- .../ocaml-modules/ocsigen-start/default.nix | 6 ++++-- .../ocaml-modules/ocsigen-toolkit/default.nix | 4 +++- .../development/ocaml-modules/ocurl/default.nix | 6 +++++- .../development/ocaml-modules/odate/default.nix | 4 +++- pkgs/development/ocaml-modules/odn/default.nix | 5 ++++- pkgs/development/ocaml-modules/omd/default.nix | 4 +++- .../ocaml-modules/opam-repository/default.nix | 5 +++-- pkgs/development/ocaml-modules/otfm/default.nix | 5 ++++- .../development/ocaml-modules/otoml/default.nix | 4 +++- .../development/ocaml-modules/ounit/default.nix | 4 +++- .../ocaml-modules/pipebang/default.nix | 6 +++++- .../ocaml-modules/piqi-ocaml/default.nix | 5 ++++- pkgs/development/ocaml-modules/piqi/default.nix | 4 +++- .../ocaml-modules/ppx_cstubs/default.nix | 7 ++++++- .../ocaml-modules/ppx_deriving/default.nix | 10 +++++++--- .../ocaml-modules/ppx_tools/default.nix | 8 ++++++-- .../ocaml-modules/psmt2-frontend/default.nix | 4 +++- .../development/ocaml-modules/ptime/default.nix | 7 ++++--- .../development/ocaml-modules/ptmap/default.nix | 5 +++-- pkgs/development/ocaml-modules/pyml/default.nix | 6 +++++- .../development/ocaml-modules/react/default.nix | 5 ++++- .../ocaml-modules/reactivedata/default.nix | 4 +++- .../ocaml-modules/reason-native/cli.nix | 5 ++++- .../ocaml-modules/reason-native/console.nix | 2 +- .../ocaml-modules/reason-native/dir.nix | 2 +- .../reason-native/file-context-printer.nix | 2 +- .../ocaml-modules/reason-native/fp.nix | 2 +- .../reason-native/pastel-console.nix | 2 +- .../ocaml-modules/reason-native/pastel.nix | 2 +- .../ocaml-modules/reason-native/qcheck-rely.nix | 2 +- .../ocaml-modules/reason-native/refmterr.nix | 2 +- .../reason-native/rely-junit-reporter.nix | 5 ++++- .../ocaml-modules/reason-native/rely.nix | 2 +- pkgs/development/ocaml-modules/rope/default.nix | 9 ++++++--- .../ocaml-modules/rresult/default.nix | 5 ++++- .../development/ocaml-modules/sawja/default.nix | 4 ++-- .../ocaml-modules/sedlex/default.nix | 4 +++- pkgs/development/ocaml-modules/sha/default.nix | 4 +++- .../ocaml-modules/sodium/default.nix | 4 +++- pkgs/development/ocaml-modules/sosa/default.nix | 4 +++- .../ocaml-modules/sqlite3EZ/default.nix | 5 ++++- .../ocaml-modules/stdcompat/default.nix | 5 ++++- .../ocaml-modules/tezos/legacy-store.nix | 4 +++- pkgs/development/ocaml-modules/tezos/lmdb.nix | 4 +++- .../tezos/protocol-010-PtGRANAD.nix | 9 ++++++++- .../tezos/protocol-011-PtHangz2.nix | 9 ++++++++- pkgs/development/ocaml-modules/tezos/store.nix | 4 +++- .../ocaml-modules/tezos/validation.nix | 4 +++- pkgs/development/ocaml-modules/toml/default.nix | 2 +- .../development/ocaml-modules/topkg/default.nix | 2 ++ pkgs/development/ocaml-modules/tsdl/default.nix | 4 ++-- pkgs/development/ocaml-modules/twt/default.nix | 4 +++- .../ocaml-modules/type_conv/108.08.00.nix | 5 ++++- .../ocaml-modules/type_conv/109.60.01.nix | 5 ++++- .../ocaml-modules/type_conv/112.01.01.nix | 6 +++++- .../development/ocaml-modules/uchar/default.nix | 4 +++- pkgs/development/ocaml-modules/ulex/default.nix | 5 +++-- pkgs/development/ocaml-modules/uucd/default.nix | 5 ++++- pkgs/development/ocaml-modules/uucp/default.nix | 5 ++++- .../development/ocaml-modules/uuidm/default.nix | 2 +- pkgs/development/ocaml-modules/uunf/default.nix | 5 ++++- .../development/ocaml-modules/uuseg/default.nix | 5 ++++- pkgs/development/ocaml-modules/uutf/default.nix | 6 ++++-- pkgs/development/ocaml-modules/uuuu/default.nix | 4 +++- pkgs/development/ocaml-modules/vg/default.nix | 5 ++++- .../ocaml-modules/webbrowser/default.nix | 4 +++- .../ocaml-modules/xml-light/default.nix | 4 +++- pkgs/development/ocaml-modules/xmlm/default.nix | 5 ++++- pkgs/development/ocaml-modules/z3/default.nix | 4 +++- .../development/tools/ocaml/camlidl/default.nix | 2 +- pkgs/development/tools/ocaml/merlin/4.x.nix | 14 ++++++++------ pkgs/development/tools/ocaml/merlin/default.nix | 6 ++++-- pkgs/development/tools/ocaml/oasis/default.nix | 6 +++++- .../development/tools/ocaml/obelisk/default.nix | 7 +++++-- .../tools/ocaml/ocamlformat/generic.nix | 12 ++++++------ .../tools/ocaml/ocp-index/default.nix | 5 ++++- pkgs/development/tools/ocaml/utop/default.nix | 3 +-- pkgs/top-level/all-packages.nix | 2 +- 194 files changed, 676 insertions(+), 277 deletions(-) diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix index 837f25e320f7..096a648b4ddf 100644 --- a/pkgs/applications/science/logic/alt-ergo/default.nix +++ b/pkgs/applications/science/logic/alt-ergo/default.nix @@ -12,36 +12,33 @@ let }; useDune2 = true; - - nativeBuildInputs = [ which ]; - in let alt-ergo-lib = ocamlPackages.buildDunePackage rec { pname = "alt-ergo-lib"; - inherit version src useDune2 nativeBuildInputs; + inherit version src useDune2; configureFlags = pname; + nativeBuildInputs = [ which ]; buildInputs = with ocamlPackages; [ dune-configurator ]; propagatedBuildInputs = with ocamlPackages; [ num ocplib-simplex stdlib-shims zarith ]; }; in let alt-ergo-parsers = ocamlPackages.buildDunePackage rec { pname = "alt-ergo-parsers"; - inherit version src useDune2 nativeBuildInputs; + inherit version src useDune2; configureFlags = pname; - buildInputs = with ocamlPackages; [ menhir ]; + nativeBuildInputs = [ which ocamlPackages.menhir ]; propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]); }; in ocamlPackages.buildDunePackage { - inherit pname version src useDune2 nativeBuildInputs; + inherit pname version src useDune2; configureFlags = pname; - buildInputs = [ alt-ergo-parsers ] ++ (with ocamlPackages; [ - cmdliner menhir ]) - ; + nativeBuildInputs = [ which ocamlPackages.menhir ]; + buildInputs = [ alt-ergo-parsers ocamlPackages.cmdliner ]; meta = { description = "High-performance theorem prover and SMT solver"; diff --git a/pkgs/applications/science/logic/anders/default.nix b/pkgs/applications/science/logic/anders/default.nix index 72e412fc3bdc..bb60b2b8321a 100644 --- a/pkgs/applications/science/logic/anders/default.nix +++ b/pkgs/applications/science/logic/anders/default.nix @@ -13,7 +13,10 @@ ocamlPackages.buildDunePackage rec { sha256 = "sha256-JUiZoo2rNLfgs94TlJqUNzul/7ODisCjSFAzhgSp1z4="; }; - buildInputs = with ocamlPackages; [ zarith menhir ]; + strictDeps = true; + + nativeBuildInputs = [ ocamlPackages.menhir ]; + buildInputs = [ ocamlPackages.zarith ]; meta = with lib; { description = "Modal Homotopy Type System"; diff --git a/pkgs/build-support/ocaml/default.nix b/pkgs/build-support/ocaml/default.nix index 1fe99bb6320e..38029e8a4800 100644 --- a/pkgs/build-support/ocaml/default.nix +++ b/pkgs/build-support/ocaml/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation (args // { nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ] ++ nativeBuildInputs; + strictDeps = true; + setupHook = if setupHook == null && hasSharedObjects then writeText "setupHook.sh" '' export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${pname}/" diff --git a/pkgs/build-support/ocaml/oasis.nix b/pkgs/build-support/ocaml/oasis.nix index ee231a6e258c..8f81344daf09 100644 --- a/pkgs/build-support/ocaml/oasis.nix +++ b/pkgs/build-support/ocaml/oasis.nix @@ -1,6 +1,6 @@ { lib, stdenv, ocaml_oasis, ocaml, findlib, ocamlbuild }: -{ pname, version, buildInputs ? [], meta ? { platforms = ocaml.meta.platforms or []; }, +{ pname, version, nativeBuildInputs ? [], meta ? { platforms = ocaml.meta.platforms or []; }, minimumOCamlVersion ? null, createFindlibDestdir ? true, dontStrip ? true, @@ -15,11 +15,13 @@ else stdenv.mkDerivation (args // { name = "ocaml${ocaml.version}-${pname}-${version}"; - buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis ] ++ buildInputs; + nativeBuildInputs = [ ocaml findlib ocamlbuild ocaml_oasis ] ++ nativeBuildInputs; inherit createFindlibDestdir; inherit dontStrip; + strictDeps = true; + buildPhase = '' runHook preBuild oasis setup diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix index 25abd7949071..fc0f50d0797f 100644 --- a/pkgs/development/compilers/fstar/default.nix +++ b/pkgs/development/compilers/fstar/default.nix @@ -11,20 +11,26 @@ stdenv.mkDerivation rec { sha256 = "sha256-bK3McF/wTjT9q6luihPaEXjx7Lu6+ZbQ9G61Mc4KoB0="; }; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + strictDeps = true; - buildInputs = [ - z3 + nativeBuildInputs = [ + makeWrapper + installShellFiles ] ++ (with ocamlPackages; [ ocaml findlib ocamlbuild + menhir + ]); + + buildInputs = [ + z3 + ] ++ (with ocamlPackages; [ batteries zarith stdint yojson fileutils - menhir menhirLib pprint sedlex_2 diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix index c15de88f6a76..0b378c583ad1 100644 --- a/pkgs/development/libraries/libbap/default.nix +++ b/pkgs/development/libraries/libbap/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation { --replace "-linkpkg" "-thread -linkpkg" ''; - nativeBuildInputs = [ autoreconfHook which ]; - buildInputs = [ ocaml bap findlib ctypes ]; + nativeBuildInputs = [ autoreconfHook which ocaml findlib ]; + buildInputs = [ bap ctypes ]; preInstall = '' mkdir -p $out/lib diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix index c9edfd62e06d..9a072482d328 100644 --- a/pkgs/development/ocaml-modules/apron/default.nix +++ b/pkgs/development/ocaml-modules/apron/default.nix @@ -10,9 +10,12 @@ stdenv.mkDerivation rec { sha256 = "14ymjahqdxj26da8wik9d5dzlxn81b3z1iggdl7rn2nn06jy7lvy"; }; - buildInputs = [ perl gmp mpfr ppl ocaml findlib camlidl ]; + nativeBuildInputs = [ ocaml findlib perl ]; + buildInputs = [ gmp mpfr ppl camlidl ]; propagatedBuildInputs = [ mlgmpidl ]; + strictDeps = true; + outputs = [ "out" "bin" "dev" ]; configurePhase = '' diff --git a/pkgs/development/ocaml-modules/astring/default.nix b/pkgs/development/ocaml-modules/astring/default.nix index 8ecac1c124d6..f7478f93b91c 100644 --- a/pkgs/development/ocaml-modules/astring/default.nix +++ b/pkgs/development/ocaml-modules/astring/default.nix @@ -22,7 +22,10 @@ stdenv.mkDerivation { inherit (param) sha256; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; + + strictDeps = true; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix index de6ade61518a..7468900e07e6 100644 --- a/pkgs/development/ocaml-modules/atd/default.nix +++ b/pkgs/development/ocaml-modules/atd/default.nix @@ -13,9 +13,11 @@ buildDunePackage rec { sha256 = "17jm79np69ixp53a4njxnlb1pg8sd1g47nm3nyki9clkc8d4qsyv"; }; - buildInputs = [ which menhir ]; + nativeBuildInputs = [ which menhir ]; propagatedBuildInputs = [ easy-format re ]; + strictDeps = true; + doCheck = true; passthru.tests = { diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix index f8e07fd1265c..ea009083e8d1 100644 --- a/pkgs/development/ocaml-modules/bap/default.nix +++ b/pkgs/development/ocaml-modules/bap/default.nix @@ -36,10 +36,9 @@ stdenv.mkDerivation rec { export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/" ''; - nativeBuildInputs = [ which makeWrapper ]; + nativeBuildInputs = [ which makeWrapper ocaml findlib ocamlbuild ocaml_oasis ]; - buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis - linenoise + buildInputs = [ linenoise ounit ppx_bitstring z3 diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix index 69e8289df2cd..184f10a52be4 100644 --- a/pkgs/development/ocaml-modules/batteries/default.nix +++ b/pkgs/development/ocaml-modules/batteries/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, num +{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, num, ounit , doCheck ? lib.versionAtLeast ocaml.version "4.08" && !stdenv.isAarch64 }: @@ -17,10 +17,12 @@ stdenv.mkDerivation rec { sha256 = "sha256:1cd7475n1mxhq482aidmhh27mq5p2vmb8d9fkb1mlza9pz5z66yq"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; - checkInputs = [ qtest ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + checkInputs = [ qtest ounit ]; propagatedBuildInputs = [ num ]; + strictDeps = !doCheck; + inherit doCheck; checkTarget = "test"; diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix index 3397821319e3..c80162307241 100644 --- a/pkgs/development/ocaml-modules/benchmark/default.nix +++ b/pkgs/development/ocaml-modules/benchmark/default.nix @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "16wi8ld7c3mq77ylpgbnj8qqqqimyzwxs47v06vyrwpma5pab5xa"; }; - buildInputs = [ ocaml findlib ocamlbuild ocaml_pcre ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ ocaml_pcre ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix index e02b1159a9c7..a5f5ae33ede7 100644 --- a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix +++ b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix @@ -14,9 +14,12 @@ buildDunePackage rec { minimumOCamlVersion = "4.07"; useDune2 = true; + strictDeps = !doCheck; + propagatedBuildInputs = [ bigarray-compat ]; - checkInputs = [ alcotest astring fpath bos findlib pkg-config ]; + nativeBuildInputs = [ findlib pkg-config ]; + checkInputs = [ alcotest astring fpath bos ]; doCheck = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix index 852459c2bac1..e8d36526d228 100644 --- a/pkgs/development/ocaml-modules/bigstringaf/default.nix +++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, bigarray-compat }: +{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, bigarray-compat, pkg-config }: buildDunePackage rec { pname = "bigstringaf"; @@ -15,6 +15,10 @@ buildDunePackage rec { sha256 = "1q1sqxzdnlrpl95ccrhl7lwy3zswgd9rbn19ildclh0lyi2vazbj"; }; + # This currently fails with dune + strictDeps = false; + + nativeBuildInputs = [ pkg-config ]; checkInputs = [ alcotest ]; propagatedBuildInputs = [ bigarray-compat ]; doCheck = lib.versionAtLeast ocaml.version "4.05"; diff --git a/pkgs/development/ocaml-modules/biniou/1.0.nix b/pkgs/development/ocaml-modules/biniou/1.0.nix index 795e63401290..5a2e2ea9a7fa 100644 --- a/pkgs/development/ocaml-modules/biniou/1.0.nix +++ b/pkgs/development/ocaml-modules/biniou/1.0.nix @@ -16,7 +16,10 @@ stdenv.mkDerivation rec { sha256 = "14j3hrhbjqxbizr1pr8fcig9dmfzhbjjwzwyc99fcsdic67w8izb"; }; - buildInputs = [ ocaml findlib easy-format ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ easy-format ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix index 535b34b03dcd..75725f135518 100644 --- a/pkgs/development/ocaml-modules/biniou/default.nix +++ b/pkgs/development/ocaml-modules/biniou/default.nix @@ -15,6 +15,8 @@ buildDunePackage rec { propagatedBuildInputs = [ easy-format ]; + strictDeps = true; + postPatch = '' patchShebangs . ''; diff --git a/pkgs/development/ocaml-modules/bitv/default.nix b/pkgs/development/ocaml-modules/bitv/default.nix index 2ac3a0ba3e76..07649f3655b8 100644 --- a/pkgs/development/ocaml-modules/bitv/default.nix +++ b/pkgs/development/ocaml-modules/bitv/default.nix @@ -15,7 +15,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-sZwq6c10hBBS9tGvKlWD9GE3JBrZPByfDrXE6xIPcG4="; }; - buildInputs = [ autoreconfHook which ocaml findlib ]; + nativeBuildInputs = [ autoreconfHook which ocaml findlib ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/bolt/default.nix b/pkgs/development/ocaml-modules/bolt/default.nix index a6b63676e775..46e3b6f16cce 100644 --- a/pkgs/development/ocaml-modules/bolt/default.nix +++ b/pkgs/development/ocaml-modules/bolt/default.nix @@ -18,7 +18,9 @@ stdenv.mkDerivation rec { sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy"; }; - buildInputs = [ ocaml findlib ocamlbuild which camlp4 ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild which camlp4 ]; + + strictDeps = true; patches = [ (fetchpatch { diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix index 17a0185829e9..07d4d4864d82 100644 --- a/pkgs/development/ocaml-modules/bos/default.nix +++ b/pkgs/development/ocaml-modules/bos/default.nix @@ -11,10 +11,12 @@ stdenv.mkDerivation rec { sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ findlib topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ astring fmt fpath logs rresult ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix index 617715fc6edc..4ac0262e1ee3 100644 --- a/pkgs/development/ocaml-modules/bz2/default.nix +++ b/pkgs/development/ocaml-modules/bz2/default.nix @@ -19,9 +19,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook - ]; - - buildInputs = [ ocaml findlib ]; @@ -30,6 +27,8 @@ stdenv.mkDerivation rec { bzip2 ]; + strictDeps = true; + preInstall = "mkdir -p $OCAMLFIND_DESTDIR/stublibs"; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/calendar/default.nix b/pkgs/development/ocaml-modules/calendar/default.nix index 29927aae04a7..4c089b76f3ed 100644 --- a/pkgs/development/ocaml-modules/calendar/default.nix +++ b/pkgs/development/ocaml-modules/calendar/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "04pvhwb664g3s644c7v7419a3kvf5s3pynkhmk5j59dvlfm1yf0f"; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/camlimages/default.nix b/pkgs/development/ocaml-modules/camlimages/default.nix index ba36cfa05b99..a83c7c474ac5 100644 --- a/pkgs/development/ocaml-modules/camlimages/default.nix +++ b/pkgs/development/ocaml-modules/camlimages/default.nix @@ -17,7 +17,10 @@ buildDunePackage rec { sha256 = "1m2c76ghisg73dikz2ifdkrbkgiwa0hcmp21f2fm2rkbf02rq3f4"; }; - buildInputs = [ dune-configurator cppo graphics lablgtk stdio ]; + strictDeps = true; + + nativeBuildInputs = [ cppo ]; + buildInputs = [ dune-configurator graphics lablgtk stdio ]; meta = with lib; { branch = "5.0"; diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix index 42c27f15a5b1..06456b9c930e 100644 --- a/pkgs/development/ocaml-modules/camlpdf/default.nix +++ b/pkgs/development/ocaml-modules/camlpdf/default.nix @@ -15,7 +15,9 @@ stdenv.mkDerivation rec { sha256 = "sha256:1qmsa0xgi960y7r20mvf8hxiiml7l1908s4dm7nq262f19w51gsl"; }; - buildInputs = [ which ocaml findlib ]; + nativeBuildInputs = [ which ocaml findlib ]; + + strictDeps = true; preInstall = '' mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix index c2c2e98b2e06..8124b8d8e437 100644 --- a/pkgs/development/ocaml-modules/camlzip/default.nix +++ b/pkgs/development/ocaml-modules/camlzip/default.nix @@ -33,10 +33,12 @@ stdenv.mkDerivation { inherit (param) sha256; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; propagatedBuildInputs = [zlib]; + strictDeps = true; + inherit (param) patches; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/camomile/0.8.2.nix b/pkgs/development/ocaml-modules/camomile/0.8.2.nix index 79c7a46e6e99..43bbfe7b6a6d 100644 --- a/pkgs/development/ocaml-modules/camomile/0.8.2.nix +++ b/pkgs/development/ocaml-modules/camomile/0.8.2.nix @@ -13,7 +13,9 @@ stdenv.mkDerivation rec { sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00"; }; - buildInputs = [ocaml findlib camlp4]; + nativeBuildInputs = [ ocaml findlib camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/camomile/0.8.5.nix b/pkgs/development/ocaml-modules/camomile/0.8.5.nix index 67bd8b8c755d..e63953836982 100644 --- a/pkgs/development/ocaml-modules/camomile/0.8.5.nix +++ b/pkgs/development/ocaml-modules/camomile/0.8.5.nix @@ -14,7 +14,9 @@ stdenv.mkDerivation { sha256 = "167279lia6qx62mdcyc5rjsi4gf4yi52wn9mhgd9y1v3754z7fwb"; })]; - buildInputs = [ocaml findlib camlp4]; + nativeBuildInputs = [ocaml findlib camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix index 090b96ece0cc..a75f05b33f2e 100644 --- a/pkgs/development/ocaml-modules/camomile/default.nix +++ b/pkgs/development/ocaml-modules/camomile/default.nix @@ -13,7 +13,9 @@ buildDunePackage rec { sha256 = "00i910qjv6bpk0nkafp5fg97isqas0bwjf7m6rz11rsxilpalzad"; }; - buildInputs = [ cppo ]; + nativeBuildInputs = [ cppo ]; + + strictDeps = true; configurePhase = '' runHook preConfigure diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix index 105a6a9dfe18..d9606cda1fa3 100644 --- a/pkgs/development/ocaml-modules/caqti/default.nix +++ b/pkgs/development/ocaml-modules/caqti/default.nix @@ -14,7 +14,7 @@ buildDunePackage rec { sha256 = "1vl61kdyj89whc3mh4k9bis6rbj9x2scf6hnv9afyalp4j65sqx1"; }; - buildInputs = [ cppo ]; + nativeBuildInputs = [ cppo ]; propagatedBuildInputs = [ logs ptime uri ]; meta = { diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix index 97e00dc71b62..6868ddc7851c 100644 --- a/pkgs/development/ocaml-modules/carton/default.nix +++ b/pkgs/development/ocaml-modules/carton/default.nix @@ -48,13 +48,15 @@ buildDunePackage rec { ]; doCheck = true; + nativeBuildInputs = [ + findlib + ]; checkInputs = [ base64 alcotest alcotest-lwt crowbar lwt - findlib mirage-flow ]; diff --git a/pkgs/development/ocaml-modules/cfstream/default.nix b/pkgs/development/ocaml-modules/cfstream/default.nix index 303fdc01011d..62a29a5d4141 100644 --- a/pkgs/development/ocaml-modules/cfstream/default.nix +++ b/pkgs/development/ocaml-modules/cfstream/default.nix @@ -17,7 +17,10 @@ buildDunePackage rec { patches = [ ./git_commit.patch ]; - buildInputs = [ m4 ]; + # This currently fails with dune + strictDeps = false; + + nativeBuildInputs = [ m4 ]; checkInputs = [ ounit ]; propagatedBuildInputs = [ core_kernel ]; diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix index 3483af1dd416..3a07707a4cd1 100644 --- a/pkgs/development/ocaml-modules/checkseum/default.nix +++ b/pkgs/development/ocaml-modules/checkseum/default.nix @@ -18,10 +18,8 @@ buildDunePackage rec { sha256 = "9cdd282ea1cfc424095d7284e39e4d0ad091de3c3f2580539d03f6966d45ccd5"; }; - nativeBuildInputs = [ - dune-configurator - pkg-config - ]; + buildInputs = [ dune-configurator ]; + nativeBuildInputs = [ pkg-config ]; propagatedBuildInputs = [ bigarray-compat optint diff --git a/pkgs/development/ocaml-modules/cil/default.nix b/pkgs/development/ocaml-modules/cil/default.nix index c5a3dcde2263..7a8a3f2e70a4 100644 --- a/pkgs/development/ocaml-modules/cil/default.nix +++ b/pkgs/development/ocaml-modules/cil/default.nix @@ -13,7 +13,9 @@ stdenv.mkDerivation rec { sha256 = "05739da0b0msx6kmdavr3y2bwi92jbh3szc35d7d8pdisa8g5dv9"; }; - buildInputs = [ perl ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ perl ocaml findlib ocamlbuild ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix index 7e49679406ab..9536cc25290e 100644 --- a/pkgs/development/ocaml-modules/cmdliner/default.nix +++ b/pkgs/development/ocaml-modules/cmdliner/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { inherit (param) sha256; }; - nativeBuildInputs = [ ocaml ocamlbuild findlib ]; + nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ]; buildInputs = [ topkg ]; propagatedBuildInputs = [ result ]; diff --git a/pkgs/development/ocaml-modules/coin/default.nix b/pkgs/development/ocaml-modules/coin/default.nix index f0697a9d880b..f2e0919bdee4 100644 --- a/pkgs/development/ocaml-modules/coin/default.nix +++ b/pkgs/development/ocaml-modules/coin/default.nix @@ -24,9 +24,11 @@ buildDunePackage rec { useDune2 = true; - nativeBuildInputs = [ menhir ]; + nativeBuildInputs = [ menhir findlib ]; + buildInputs = [ re ]; + + strictDeps = true; - checkInputs = [ re ]; doCheck = true; meta = { diff --git a/pkgs/development/ocaml-modules/comparelib/default.nix b/pkgs/development/ocaml-modules/comparelib/default.nix index 1d7c314f005c..1da631d683cc 100644 --- a/pkgs/development/ocaml-modules/comparelib/default.nix +++ b/pkgs/development/ocaml-modules/comparelib/default.nix @@ -1,4 +1,4 @@ -{ lib, buildOcaml, fetchFromGitHub, type_conv }: +{ lib, buildOcaml, fetchFromGitHub, type_conv, camlp4 }: buildOcaml rec { pname = "comparelib"; @@ -13,6 +13,7 @@ buildOcaml rec { sha256 = "sha256-gtJvXAUxiIt/L9bCzS+8wHcCQ+QpBubwcjDcyN0K2MA="; }; + buildInputs = [ camlp4 ]; propagatedBuildInputs = [ type_conv ]; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/config-file/default.nix b/pkgs/development/ocaml-modules/config-file/default.nix index c408d1a392f1..b9dde0e6425f 100644 --- a/pkgs/development/ocaml-modules/config-file/default.nix +++ b/pkgs/development/ocaml-modules/config-file/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "1b02yxcnsjhr05ssh2br2ka4hxsjpdw34ldl3nk33wfnkwk7g67q"; }; - buildInputs = [ ocaml findlib camlp4 ]; + nativeBuildInputs = [ ocaml findlib camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix index 632430fe4f7f..3f60263736e8 100644 --- a/pkgs/development/ocaml-modules/cpdf/default.nix +++ b/pkgs/development/ocaml-modules/cpdf/default.nix @@ -15,9 +15,12 @@ stdenv.mkDerivation rec { sha256 = "sha256:1qmx229nij7g6qmiacmyy4mcgx3k9509p4slahivshqm79d6wiwl"; }; - buildInputs = [ ocaml findlib ncurses ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ ncurses ]; propagatedBuildInputs = [ camlpdf ]; + strictDeps = true; + preInstall = '' mkdir -p $OCAMLFIND_DESTDIR mkdir -p $out/bin diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix index 6011c6953baa..aeaa87aaf75f 100644 --- a/pkgs/development/ocaml-modules/cryptgps/default.nix +++ b/pkgs/development/ocaml-modules/cryptgps/default.nix @@ -13,7 +13,9 @@ stdenv.mkDerivation { sha256 = "1mp7i42cm9w9grmcsa69m3h1ycpn6a48p43y4xj8rsc12x9nav3s"; }; - buildInputs = [ocaml findlib]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; dontConfigure = true; # Skip configure phase diff --git a/pkgs/development/ocaml-modules/csv/1.5.nix b/pkgs/development/ocaml-modules/csv/1.5.nix index ee68782313c5..cd298fb39a9f 100644 --- a/pkgs/development/ocaml-modules/csv/1.5.nix +++ b/pkgs/development/ocaml-modules/csv/1.5.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "1ca7jgg58j24pccs5fshis726s06fdcjshnwza5kwxpjgdbvc63g"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ctypes/default.nix b/pkgs/development/ocaml-modules/ctypes/default.nix index 8c20a68c2746..833ea45a8692 100644 --- a/pkgs/development/ocaml-modules/ctypes/default.nix +++ b/pkgs/development/ocaml-modules/ctypes/default.nix @@ -15,10 +15,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-eu5RAuPYC97IM4XUsUw3HQ1BJlEHQ+eBpsdUE6hd+Q8="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ocaml findlib ncurses ]; + nativeBuildInputs = [ pkg-config ocaml findlib ]; + buildInputs = [ ncurses ]; propagatedBuildInputs = [ integers libffi bigarray-compat ]; + strictDeps = true; + buildPhase = '' make XEN=false libffi.config ctypes-base ctypes-stubs make XEN=false ctypes-foreign diff --git a/pkgs/development/ocaml-modules/digestif/default.nix b/pkgs/development/ocaml-modules/digestif/default.nix index 2ddaec5c7c1d..dba0bcb9269e 100644 --- a/pkgs/development/ocaml-modules/digestif/default.nix +++ b/pkgs/development/ocaml-modules/digestif/default.nix @@ -1,4 +1,5 @@ { lib, ocaml, fetchurl, buildDunePackage +, pkg-config, which , bigarray-compat, eqaf, stdlib-shims , alcotest, astring, bos, findlib, fpath }: @@ -14,8 +15,13 @@ buildDunePackage rec { sha256 = "01gwkbrznci4xdcbww4ysgsciz2qs0r8jsmhp0siwbcgcrf1jjv5"; }; + nativeBuildInputs = [ findlib which ]; + buildInputs = [ ocaml ]; + propagatedBuildInputs = [ bigarray-compat eqaf stdlib-shims ]; + strictDeps = !doCheck; + checkInputs = [ alcotest astring bos fpath ]; doCheck = lib.versionAtLeast ocaml.version "4.05"; diff --git a/pkgs/development/ocaml-modules/dolmen/default.nix b/pkgs/development/ocaml-modules/dolmen/default.nix index 9a21da986814..7a7a14192f9e 100644 --- a/pkgs/development/ocaml-modules/dolmen/default.nix +++ b/pkgs/development/ocaml-modules/dolmen/default.nix @@ -16,7 +16,9 @@ buildDunePackage rec { sha256 = "133l23mwxa9xy340izvk4zp5jqjz2cwsm2innsgs2kg85pd39c41"; }; - buildInputs = [ menhir ]; + strictDeps = true; + + nativeBuildInputs = [ menhir ]; propagatedBuildInputs = [ menhirLib fmt ]; # Testr are not compatible with menhir 20211128 diff --git a/pkgs/development/ocaml-modules/dolog/default.nix b/pkgs/development/ocaml-modules/dolog/default.nix index 64fb2b2c5a59..599cc356031b 100644 --- a/pkgs/development/ocaml-modules/dolog/default.nix +++ b/pkgs/development/ocaml-modules/dolog/default.nix @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-6wfqT5sqo4YA8XoHH3QhG6/TyzzXCzqjmnPuBArRoj8="; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix index 7bdaf2dfad90..3faef36e8ec4 100644 --- a/pkgs/development/ocaml-modules/dum/default.nix +++ b/pkgs/development/ocaml-modules/dum/default.nix @@ -13,9 +13,11 @@ stdenv.mkDerivation rec { sha256 = "0yrxl97szjc0s2ghngs346x3y0xszx2chidgzxk93frjjpsr1mlr"; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; propagatedBuildInputs = [ easy-format ]; + strictDeps = true; + createFindlibDestdir = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/dypgen/default.nix b/pkgs/development/ocaml-modules/dypgen/default.nix index 5b5b107b694b..64017bd65fe2 100644 --- a/pkgs/development/ocaml-modules/dypgen/default.nix +++ b/pkgs/development/ocaml-modules/dypgen/default.nix @@ -17,7 +17,9 @@ stdenv.mkDerivation rec { sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97"; }; - buildInputs = [ocaml findlib]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/elina/default.nix b/pkgs/development/ocaml-modules/elina/default.nix index 2ddef0f40529..df7f140e5458 100644 --- a/pkgs/development/ocaml-modules/elina/default.nix +++ b/pkgs/development/ocaml-modules/elina/default.nix @@ -8,10 +8,12 @@ stdenv.mkDerivation rec { sha256 = "1nymykskq1yx87y4xl6hl9i4q6kv0qaq25rniqgl1bfn883p1ysc"; }; - buildInputs = [ perl ocaml findlib ]; + nativeBuildInputs = [ perl ocaml findlib ]; propagatedBuildInputs = [ apron camlidl gmp mpfr ]; + strictDeps = true; + prefixKey = "--prefix "; configureFlags = [ "--use-apron" diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix index 69ac628d2014..e3af173edc91 100644 --- a/pkgs/development/ocaml-modules/eliom/default.nix +++ b/pkgs/development/ocaml-modules/eliom/default.nix @@ -6,6 +6,7 @@ , ocaml , lwt_react , opaline +, ocamlbuild , ppx_deriving , findlib , js_of_ocaml-ocamlbuild @@ -28,13 +29,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-VNxzpVpXEGlixyjadbW0GjL83jcKV5TWd46UReNYO6w="; }; - buildInputs = [ + nativeBuildInputs = [ ocaml which findlib + opaline + ocamlbuild + ]; + buildInputs = [ js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json - opaline ocamlnet ]; @@ -48,6 +52,8 @@ stdenv.mkDerivation rec { ppx_deriving ]; + strictDeps = true; + installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR"; setupHook = [ ./setup-hook.sh ]; diff --git a/pkgs/development/ocaml-modules/enumerate/default.nix b/pkgs/development/ocaml-modules/enumerate/default.nix index d7f467e8eb98..9bedc4215108 100644 --- a/pkgs/development/ocaml-modules/enumerate/default.nix +++ b/pkgs/development/ocaml-modules/enumerate/default.nix @@ -15,9 +15,11 @@ stdenv.mkDerivation rec { sha256 = "0b6mx5p01lcpimvak4wx6aj2119707wsfzd83rwgb91bhpgzh156"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; propagatedBuildInputs = [ type_conv camlp4 ]; + strictDeps = true; + createFindlibDestdir = true; meta = { diff --git a/pkgs/development/ocaml-modules/erm_xml/default.nix b/pkgs/development/ocaml-modules/erm_xml/default.nix index fa072f8bd1c1..ebf9cdaad69a 100644 --- a/pkgs/development/ocaml-modules/erm_xml/default.nix +++ b/pkgs/development/ocaml-modules/erm_xml/default.nix @@ -15,7 +15,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-OQdLTq9tJZc6XlcuPv2gxzYiQAUGd6AiBzfSi169XL0="; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix index 3447d590ea23..1507154d2f64 100644 --- a/pkgs/development/ocaml-modules/erm_xmpp/default.nix +++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix @@ -13,9 +13,12 @@ stdenv.mkDerivation rec { sha256 = "0spzyd9kbyizzwl8y3mq8z19zlkzxnkh2fppry4lyc7vaw7bqrwq"; }; - buildInputs = [ ocaml findlib ocamlbuild camlp4 ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ]; + buildInputs = [ camlp4 ]; propagatedBuildInputs = [ erm_xml mirage-crypto mirage-crypto-rng base64 ]; + strictDeps = true; + configurePhase = '' runHook preConfigure ocaml setup.ml -configure --prefix $out diff --git a/pkgs/development/ocaml-modules/expat/0.9.nix b/pkgs/development/ocaml-modules/expat/0.9.nix index 219b8164e7c9..326ffc60b1ad 100644 --- a/pkgs/development/ocaml-modules/expat/0.9.nix +++ b/pkgs/development/ocaml-modules/expat/0.9.nix @@ -18,7 +18,10 @@ stdenv.mkDerivation rec { sha256 = "16n2j3y0jc9xgqyshw9plrwqnjiz30vnpbhahmgxlidbycw8rgjz"; }; - buildInputs = [ocaml findlib ounit expat]; + nativeBuildInputs = [ocaml findlib ]; + buildInputs = [ ounit expat]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix index e951acaa71a5..6fb7927073d4 100644 --- a/pkgs/development/ocaml-modules/expat/default.nix +++ b/pkgs/development/ocaml-modules/expat/default.nix @@ -15,7 +15,10 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "gcc" "\$(CC)" ''; - buildInputs = [ ocaml findlib expat ounit ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ expat ounit ]; + + strictDeps = true; doCheck = !lib.versionAtLeast ocaml.version "4.06"; checkTarget = "testall"; diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index d1860788838a..7f50548f4b87 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -12,7 +12,9 @@ stdenv.mkDerivation rec { sha256 = "0npq4hq3zym8nmlyji7l5cqk6drx2rkcx73d60rxqh5g8dla8p4k"; }; - buildInputs = [ ocaml findlib cppo ]; + nativeBuildInputs = [ ocaml findlib cppo ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/farfadet/default.nix b/pkgs/development/ocaml-modules/farfadet/default.nix index 79b742da575d..1ac5595a015b 100644 --- a/pkgs/development/ocaml-modules/farfadet/default.nix +++ b/pkgs/development/ocaml-modules/farfadet/default.nix @@ -15,10 +15,13 @@ stdenv.mkDerivation rec { sha256 = "0nlafnp0pwx0n4aszpsk6nvcvqi9im306p4jhx70si7k3xprlr2j"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ faraday ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix index a66976b4a2b5..edf8d08eaaba 100644 --- a/pkgs/development/ocaml-modules/fmt/default.nix +++ b/pkgs/development/ocaml-modules/fmt/default.nix @@ -13,9 +13,11 @@ stdenv.mkDerivation rec { sha256 = "0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ findlib topkg cmdliner ]; - propagatedBuildInputs = [ seq stdlib-shims ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; + propagatedBuildInputs = [ cmdliner seq stdlib-shims ]; + + strictDeps = true; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/fontconfig/default.nix b/pkgs/development/ocaml-modules/fontconfig/default.nix index f4afe80d532d..2eca9a4644b5 100644 --- a/pkgs/development/ocaml-modules/fontconfig/default.nix +++ b/pkgs/development/ocaml-modules/fontconfig/default.nix @@ -11,8 +11,11 @@ stdenv.mkDerivation { sha256 = "1fw6bzydmnyh2g4x35mcbg0hypnxqhynivk4nakcsx7prr8zr3yh"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ocaml fontconfig ]; + nativeBuildInputs = [ pkg-config ocaml ]; + buildInputs = [ fontconfig ]; + + strictDeps = true; + makeFlags = [ "OCAML_STDLIB_DIR=$(out)/lib/ocaml/${lib.getVersion ocaml}/site-lib/" "OCAML_HAVE_OCAMLOPT=yes" diff --git a/pkgs/development/ocaml-modules/fpath/default.nix b/pkgs/development/ocaml-modules/fpath/default.nix index 532210888bf3..53489f69cc3e 100644 --- a/pkgs/development/ocaml-modules/fpath/default.nix +++ b/pkgs/development/ocaml-modules/fpath/default.nix @@ -13,10 +13,13 @@ stdenv.mkDerivation rec { sha256 = "03z7mj0sqdz465rc4drj1gr88l9q3nfs374yssvdjdyhjbqqzc0j"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ astring ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/frontc/default.nix b/pkgs/development/ocaml-modules/frontc/default.nix index bc74a5b58a08..c05422497ee7 100644 --- a/pkgs/development/ocaml-modules/frontc/default.nix +++ b/pkgs/development/ocaml-modules/frontc/default.nix @@ -18,7 +18,9 @@ stdenv.mkDerivation rec { sha256 = "1dq5nks0c9gsbr1m8k39m1bniawr5hqcy1r8x5px7naa95ch06ak"; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; meta = with lib; { inherit (src.meta) homepage; diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix index 959963c4752a..a05472366a21 100644 --- a/pkgs/development/ocaml-modules/functory/default.nix +++ b/pkgs/development/ocaml-modules/functory/default.nix @@ -21,7 +21,9 @@ stdenv.mkDerivation { inherit (param) sha256; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; installTargets = [ "ocamlfind-install" ]; diff --git a/pkgs/development/ocaml-modules/getopt/default.nix b/pkgs/development/ocaml-modules/getopt/default.nix index 3400774d4c07..e3bf2fb5d641 100644 --- a/pkgs/development/ocaml-modules/getopt/default.nix +++ b/pkgs/development/ocaml-modules/getopt/default.nix @@ -9,12 +9,14 @@ stdenv.mkDerivation rec { sha256 = "0bng2mmdixpmj23xn8krlnaq66k22iclwz46r8zjrsrq3wcn1xgn"; }; - buildInputs = [ + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + strictDeps = true; + doCheck = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix index fb1920776900..ec8bbb31617d 100644 --- a/pkgs/development/ocaml-modules/gg/default.nix +++ b/pkgs/development/ocaml-modules/gg/default.nix @@ -18,7 +18,8 @@ stdenv.mkDerivation { sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/gmetadom/default.nix b/pkgs/development/ocaml-modules/gmetadom/default.nix index 29df5ce8f4e4..50be2adcb384 100644 --- a/pkgs/development/ocaml-modules/gmetadom/default.nix +++ b/pkgs/development/ocaml-modules/gmetadom/default.nix @@ -21,11 +21,12 @@ stdenv.mkDerivation rec { configureFlags="--with-ocaml-lib-prefix=$out/lib/ocaml/${ocaml.version}/site-lib" ''; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ocaml findlib gdome2 libxslt]; + nativeBuildInputs = [ pkg-config ocaml findlib ]; + buildInputs = [ gdome2 libxslt]; propagatedBuildInputs = [gdome2]; + strictDeps = true; + meta = { homepage = "http://gmetadom.sourceforge.net/"; description = "A collection of librares, each library providing a DOM implementation"; diff --git a/pkgs/development/ocaml-modules/hacl-star/default.nix b/pkgs/development/ocaml-modules/hacl-star/default.nix index 8a29439c7a59..004aa5c9a449 100644 --- a/pkgs/development/ocaml-modules/hacl-star/default.nix +++ b/pkgs/development/ocaml-modules/hacl-star/default.nix @@ -12,7 +12,9 @@ buildDunePackage { zarith ]; - buildInputs = [ + nativeBuildInputs = [ cppo ]; + + strictDeps = true; } diff --git a/pkgs/development/ocaml-modules/hacl-star/raw.nix b/pkgs/development/ocaml-modules/hacl-star/raw.nix index c7852338253c..58fa1eb00212 100644 --- a/pkgs/development/ocaml-modules/hacl-star/raw.nix +++ b/pkgs/development/ocaml-modules/hacl-star/raw.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { dontAddStaticConfigureFlags = true; configurePlatforms = []; - buildInputs = [ + nativeBuildInputs = [ which ocaml findlib @@ -42,6 +42,8 @@ stdenv.mkDerivation rec { cppo ]; + strictDeps = true; + doCheck = true; meta = { diff --git a/pkgs/development/ocaml-modules/herelib/default.nix b/pkgs/development/ocaml-modules/herelib/default.nix index 14c775d25fcd..f9267ede60ae 100644 --- a/pkgs/development/ocaml-modules/herelib/default.nix +++ b/pkgs/development/ocaml-modules/herelib/default.nix @@ -1,4 +1,4 @@ -{ lib, buildOcaml, fetchFromGitHub }: +{ lib, buildOcaml, fetchFromGitHub, camlp4 }: buildOcaml rec { version = "112.35.00"; @@ -13,6 +13,10 @@ buildOcaml rec { sha256 = "sha256-EuMhHu2na3lcpsJ1wMVOgBr6VKndlonq8jgAW01eelI="; }; + strictDeps = true; + + buildInputs = [ camlp4 ]; + meta = with lib; { homepage = "https://github.com/janestreet/herelib"; description = "Syntax extension for inserting the current location"; diff --git a/pkgs/development/ocaml-modules/hidapi/default.nix b/pkgs/development/ocaml-modules/hidapi/default.nix index 2caa25654e39..44b1d5f150a8 100644 --- a/pkgs/development/ocaml-modules/hidapi/default.nix +++ b/pkgs/development/ocaml-modules/hidapi/default.nix @@ -13,9 +13,12 @@ buildDunePackage rec { sha256 = "1j7rd7ajrzla76r3sxljx6fb18f4f4s3jd7vhv59l2ilxyxycai2"; }; + strictDeps = true; + minimumOCamlVersion = "4.03"; - buildInputs = [ pkgs.hidapi pkg-config dune-configurator ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ pkgs.hidapi dune-configurator ]; propagatedBuildInputs = [ bigstring ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/hmap/default.nix b/pkgs/development/ocaml-modules/hmap/default.nix index 67622a8ef6a0..d0ae47031b23 100644 --- a/pkgs/development/ocaml-modules/hmap/default.nix +++ b/pkgs/development/ocaml-modules/hmap/default.nix @@ -22,7 +22,10 @@ stdenv.mkDerivation rec { sha256 = "10xyjy4ab87z7jnghy0wnla9wrmazgyhdwhr4hdmxxdn28dxn03a"; }; - buildInputs = [ ocaml ocamlbuild findlib topkg ]; + nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ]; + buildInputs = [ topkg ]; + + strictDeps = true; inherit (topkg) installPhase; diff --git a/pkgs/development/ocaml-modules/hxd/default.nix b/pkgs/development/ocaml-modules/hxd/default.nix index 0775e21b1f8d..0b05a83dd7ef 100644 --- a/pkgs/development/ocaml-modules/hxd/default.nix +++ b/pkgs/development/ocaml-modules/hxd/default.nix @@ -21,14 +21,11 @@ buildDunePackage rec { sed -i 's|yes ".\+"|& 2> /dev/null|' test/*.t ''; - nativeBuildInputs = [ - dune-configurator - ]; - propagatedBuildInputs = lib.optional withLwt lwt; buildInputs = [ cmdliner + dune-configurator ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/inifiles/default.nix b/pkgs/development/ocaml-modules/inifiles/default.nix index 90308ee7d6d9..cbeae7bca839 100644 --- a/pkgs/development/ocaml-modules/inifiles/default.nix +++ b/pkgs/development/ocaml-modules/inifiles/default.nix @@ -16,9 +16,11 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; propagatedBuildInputs = [ ocaml_pcre ]; + strictDeps = true; + buildFlags = [ "all" "opt" ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/inotify/default.nix b/pkgs/development/ocaml-modules/inotify/default.nix index e8289d929637..d1c6dc376164 100644 --- a/pkgs/development/ocaml-modules/inotify/default.nix +++ b/pkgs/development/ocaml-modules/inotify/default.nix @@ -19,9 +19,13 @@ stdenv.mkDerivation rec { sha256 = "04lfxrrsmk2mc704kaln8jqx93jc4bkxhijmfy2d4cmk1cim7r6k"; }) ]; - buildInputs = [ ocaml findlib ocamlbuild ocaml_lwt ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ ocaml_lwt ]; checkInputs = [ ounit fileutils ]; + # Otherwise checkInputs can't be found + strictDeps = false; + configureFlags = [ "--enable-lwt" (lib.optionalString doCheck "--enable-tests") ]; diff --git a/pkgs/development/ocaml-modules/iso8601/default.nix b/pkgs/development/ocaml-modules/iso8601/default.nix index add18281008c..ff9ce94bbbd4 100644 --- a/pkgs/development/ocaml-modules/iso8601/default.nix +++ b/pkgs/development/ocaml-modules/iso8601/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-sXnYAJcU88797orzzfbA2XG91Lk8mDV677J1Am5o7Xo="; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + + strictDeps = true; + createFindlibDestdir = true; meta = { diff --git a/pkgs/development/ocaml-modules/janestreet/0.12.nix b/pkgs/development/ocaml-modules/janestreet/0.12.nix index 10d8886d9947..ec2f793caf91 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.12.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.12.nix @@ -24,6 +24,7 @@ with self; hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri"; meta.description = "Full standard library replacement for OCaml"; propagatedBuildInputs = [ sexplib0 ]; + buildInputs = [ dune-configurator ]; }; stdio = janePackage { diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix index d22a87a92f3f..7d1c85447097 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.14.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix @@ -203,6 +203,8 @@ with self; meta.description = "Trivial metaprogramming tool"; propagatedBuildInputs = [ re ]; checkInputs = [ ppx_jane ]; + # This currently fails with dune + strictDeps = false; }; core = janePackage { @@ -761,6 +763,8 @@ with self; buildInputs = [ jst-config ]; propagatedBuildInputs = [ textutils ]; checkInputs = [ ounit ]; + # This currently fails with dune + strictDeps = false; }; shexp = janePackage { diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage.nix b/pkgs/development/ocaml-modules/janestreet/janePackage.nix index 9a67db4966ce..63c4a900fced 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage.nix @@ -1,9 +1,9 @@ { lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.11.0" }: -{ pname, version ? defaultVersion, hash, ...}@args: +{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args: buildDunePackage (args // { - inherit version; + inherit version buildInputs; minimumOCamlVersion = "4.04"; @@ -14,6 +14,8 @@ buildDunePackage (args // { sha256 = hash; }; + strictDeps = true; + meta = { license = lib.licenses.asl20; homepage = "https://github.com/janestreet/${pname}"; diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix index 6c7d746e9481..ebde7b240ef7 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix @@ -1,12 +1,14 @@ { lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }: -{ pname, version ? defaultVersion, hash, ...}@args: +{ pname, version ? defaultVersion, hash, buildInputs ? [], ...}@args: buildDunePackage (args // { - inherit version; + inherit version buildInputs; minimumOCamlVersion = "4.07"; + useDune2 = true; + src = fetchFromGitHub { owner = "janestreet"; repo = pname; @@ -14,6 +16,8 @@ buildDunePackage (args // { sha256 = hash; }; + strictDeps = true; + meta = { license = lib.licenses.mit; homepage = "https://github.com/janestreet/${pname}"; diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix index 1ed2e6bc4f20..d124baea8972 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_14.nix @@ -5,11 +5,13 @@ , hash , minimumOCamlVersion ? "4.08" , doCheck ? true +, buildInputs ? [] +, strictDeps ? true , ...}@args: buildDunePackage (args // { useDune2 = true; - inherit version; + inherit version buildInputs strictDeps; inherit minimumOCamlVersion; diff --git a/pkgs/development/ocaml-modules/javalib/default.nix b/pkgs/development/ocaml-modules/javalib/default.nix index 78b61de8d9c1..ccd3fa19a92c 100644 --- a/pkgs/development/ocaml-modules/javalib/default.nix +++ b/pkgs/development/ocaml-modules/javalib/default.nix @@ -23,7 +23,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-du1h+S+A7CetMXofsYxdGeSsobCgspDB9oUE9WNUbbo="; }; - buildInputs = [ which ocaml findlib ]; + nativeBuildInputs = [ which ocaml findlib ]; + + strictDeps = true; patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix index c228242fda9e..2b9c9918382b 100644 --- a/pkgs/development/ocaml-modules/jsonm/default.nix +++ b/pkgs/development/ocaml-modules/jsonm/default.nix @@ -9,10 +9,12 @@ stdenv.mkDerivation rec { sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w"; }; - buildInputs = [ findlib topkg ]; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ uutf ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix index da4318aef4c1..85c27f93a091 100644 --- a/pkgs/development/ocaml-modules/lablgl/default.nix +++ b/pkgs/development/ocaml-modules/lablgl/default.nix @@ -15,7 +15,8 @@ stdenv.mkDerivation rec { sha256 = "sha256:141kc816iv59z96738i3vn9m9iw9g2zhi45hk4cchpwd99ar5l6k"; }; - buildInputs = [ ocaml findlib freeglut ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ freeglut ]; propagatedBuildInputs = [ libGLU libGL ]; patches = [ ./Makefile.config.patch ./META.patch ]; diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix index f2fbc71b5a93..bcf82e1c3842 100644 --- a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix +++ b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "09fqxwdib7r9yxynknc9gv3jw2hnhj5cak7q5jngk6m8rzvmhfcc"; }; - buildInputs = [ ocaml findlib camlp4 ]; + nativeBuildInputs = [ ocaml findlib camlp4 ]; propagatedBuildInputs = [ config-file lablgtk xmlm ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix index d97f2f5bffd2..736e345dfb35 100644 --- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda"; }; - buildInputs = [ ocaml findlib camlp4 ]; + nativeBuildInputs = [ ocaml findlib camlp4 ]; propagatedBuildInputs = [ config-file lablgtk xmlm ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix index f64b6571970b..f37c3b5c6f9a 100644 --- a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix +++ b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix @@ -16,8 +16,8 @@ stdenv.mkDerivation (rec { sha256 = "1fnh0amm7lwgyjdhmlqgsp62gwlar1140425yc1j6inwmgnsp0a9"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ocaml findlib gtk2 libgnomecanvas gtksourceview camlp4 ]; + nativeBuildInputs = [ pkg-config ocaml findlib camlp4 ]; + buildInputs = [ gtk2 libgnomecanvas gtksourceview ]; configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ]; buildFlags = [ "world" ]; diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix index a442ae35aa52..36ade6979c3e 100644 --- a/pkgs/development/ocaml-modules/lablgtk/default.nix +++ b/pkgs/development/ocaml-modules/lablgtk/default.nix @@ -23,8 +23,8 @@ stdenv.mkDerivation { pname = "lablgtk"; inherit (param) version src; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ocaml findlib gtk2 libgnomecanvas gtksourceview ]; + nativeBuildInputs = [ pkg-config ocaml findlib ]; + buildInputs = [ gtk2 libgnomecanvas gtksourceview ]; configureFlags = [ "--with-libdir=$(out)/lib/ocaml/${ocaml.version}/site-lib" ]; buildFlags = [ "world" ]; diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix index 971668ce0e11..56e79ffc5904 100644 --- a/pkgs/development/ocaml-modules/labltk/default.nix +++ b/pkgs/development/ocaml-modules/labltk/default.nix @@ -51,7 +51,8 @@ stdenv.mkDerivation rec { inherit (param) version src; pname = "ocaml${ocaml.version}-labltk"; - buildInputs = [ ocaml findlib tcl tk makeWrapper ]; + nativeBuildInputs = [ ocaml findlib makeWrapper ]; + buildInputs = [ tcl tk ]; configureFlags = [ "--use-findlib" "--installbindir" "$(out)/bin" ]; dontAddPrefix = true; diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix index 264d95f39f67..9ab3d906ab1e 100644 --- a/pkgs/development/ocaml-modules/llvm/default.nix +++ b/pkgs/development/ocaml-modules/llvm/default.nix @@ -8,10 +8,12 @@ stdenv.mkDerivation { inherit (libllvm) src; - nativeBuildInputs = [ cmake ]; - buildInputs = [ python2 ocaml findlib ctypes ]; + nativeBuildInputs = [ cmake python2 ocaml findlib ]; + buildInputs = [ ctypes ]; propagatedBuildInputs = [ libllvm ]; + strictDeps = true; + cmakeFlags = [ "-DBUILD_SHARED_LIBS=YES" # fixes bytecode builds "-DLLVM_OCAML_OUT_OF_TREE=TRUE" diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix index 157e7c52fee1..4359f09ebd32 100644 --- a/pkgs/development/ocaml-modules/logs/default.nix +++ b/pkgs/development/ocaml-modules/logs/default.nix @@ -21,11 +21,13 @@ stdenv.mkDerivation rec { sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ findlib topkg fmt cmdliner lwt ] + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ fmt cmdliner lwt topkg ] ++ lib.optional jsooSupport js_of_ocaml; propagatedBuildInputs = [ result ]; + strictDeps = true; + buildPhase = "${topkg.run} build --with-js_of_ocaml ${lib.boolToString jsooSupport}"; inherit (topkg) installPhase; diff --git a/pkgs/development/ocaml-modules/lua-ml/default.nix b/pkgs/development/ocaml-modules/lua-ml/default.nix index 8a4f58ccbbd7..586fc395064f 100644 --- a/pkgs/development/ocaml-modules/lua-ml/default.nix +++ b/pkgs/development/ocaml-modules/lua-ml/default.nix @@ -16,8 +16,9 @@ stdenv.mkDerivation rec { sha256 = "04lv98nxmzanvyn4c0k6k0ax29f5xfdl8qzpf5hwadslq213a044"; }; - nativeBuildInputs = [ opaline ]; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ opaline ocaml findlib ocamlbuild ]; + + strictDeps = true; buildFlags = [ "lib" ]; diff --git a/pkgs/development/ocaml-modules/lwt-exit/default.nix b/pkgs/development/ocaml-modules/lwt-exit/default.nix index 34aadc8761fb..a2a6f14524f9 100644 --- a/pkgs/development/ocaml-modules/lwt-exit/default.nix +++ b/pkgs/development/ocaml-modules/lwt-exit/default.nix @@ -24,7 +24,8 @@ buildDunePackage rec { ptime ]; - doCheck = true; + # for some reason this never exits + doCheck = false; meta = { description = "An opinionated clean-exit and signal-handling library for Lwt programs"; diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix index 76e973a813e4..c9d5200d8768 100644 --- a/pkgs/development/ocaml-modules/lwt/default.nix +++ b/pkgs/development/ocaml-modules/lwt/default.nix @@ -19,9 +19,12 @@ buildDunePackage rec { sha256 = "sha256-XpoRKcdNo2j05Gxm5wmKSdwqimFDSWvmLyooPYTHAjM="; }; - nativeBuildInputs = [ pkg-config cppo dune-configurator ]; - buildInputs = optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims - ++ optional (!versionAtLeast ocaml.version "4.07") ncurses; + strictDeps = true; + + nativeBuildInputs = [ pkg-config cppo ]; + buildInputs = [ dune-configurator ] + ++ optional (!versionAtLeast ocaml.version "4.08") ocaml-syntax-shims + ++ optional (!versionAtLeast ocaml.version "4.07") ncurses; propagatedBuildInputs = [ libev mmap ocplib-endian seq result ]; meta = { diff --git a/pkgs/development/ocaml-modules/macaque/default.nix b/pkgs/development/ocaml-modules/macaque/default.nix index a91e898227d6..d47c0c4f11c5 100644 --- a/pkgs/development/ocaml-modules/macaque/default.nix +++ b/pkgs/development/ocaml-modules/macaque/default.nix @@ -11,8 +11,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-W9ZFaINYYtIikKy/ZqdlKeFQSA7DQT9plc3+ZhlSIJI="; }; - buildInputs = [ ocaml findlib ocamlbuild camlp4 ]; - propagatedBuildInputs = [ pgocaml ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ]; + propagatedBuildInputs = [ pgocaml camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/magick/default.nix b/pkgs/development/ocaml-modules/magick/default.nix index f9fec120a625..87c43fb68693 100644 --- a/pkgs/development/ocaml-modules/magick/default.nix +++ b/pkgs/development/ocaml-modules/magick/default.nix @@ -13,8 +13,10 @@ stdenv.mkDerivation rec { sha256 = "0gn9l2qdr8gby2x8c2mb59x1kipb2plr45rbq6ymcxyi0wmzfh3q"; }; - nativeBuildInputs = [ which pkg-config ]; - buildInputs = [ ocaml findlib imagemagick ]; + nativeBuildInputs = [ which pkg-config ocaml findlib ]; + buildInputs = [ imagemagick ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/merlin-extend/default.nix b/pkgs/development/ocaml-modules/merlin-extend/default.nix index 6d4fcad09775..9cb35f34c1c2 100644 --- a/pkgs/development/ocaml-modules/merlin-extend/default.nix +++ b/pkgs/development/ocaml-modules/merlin-extend/default.nix @@ -11,7 +11,9 @@ buildDunePackage rec { sha256 = "0hvc4mz92x3rl2dxwrhvhzwl4gilnyvvwcqgr45vmdpyjyp3dwn2"; }; - buildInputs = [ cppo ]; + strictDeps = true; + + nativeBuildInputs = [ cppo ]; meta = with lib; { homepage = "https://github.com/let-def/merlin-extend"; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix index 102d3d2de07e..c942972597ad 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix @@ -19,13 +19,16 @@ buildDunePackage rec { doCheck = true; checkInputs = [ ounit ]; - nativeBuildInputs = [ dune-configurator pkg-config ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ dune-configurator ]; propagatedBuildInputs = [ cstruct eqaf ] ++ lib.optionals withFreestanding [ ocaml-freestanding ]; + strictDeps = !doCheck; + meta = with lib; { homepage = "https://github.com/mirage/mirage-crypto"; description = "Simple symmetric cryptography for the modern age"; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/ec.nix b/pkgs/development/ocaml-modules/mirage-crypto/ec.nix index bcd7a1f04f25..5506243ec3a4 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/ec.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/ec.nix @@ -1,4 +1,5 @@ { lib +, ocaml , buildDunePackage , mirage-crypto , dune-configurator @@ -16,18 +17,18 @@ , ocaml-freestanding }: -buildDunePackage { +buildDunePackage rec { pname = "mirage-crypto-ec"; inherit (mirage-crypto) minimumOCamlVersion src version - useDune2 - ; + useDune2; - nativeBuildInputs = [ - pkg-config + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + ocaml dune-configurator ]; propagatedBuildInputs = [ @@ -38,6 +39,8 @@ buildDunePackage { ocaml-freestanding ]; + strictDeps = !doCheck; + doCheck = true; checkInputs = [ hex diff --git a/pkgs/development/ocaml-modules/mirage-crypto/pk.nix b/pkgs/development/ocaml-modules/mirage-crypto/pk.nix index 82400b5da7c2..9a2b9c98e458 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/pk.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/pk.nix @@ -1,7 +1,7 @@ { buildDunePackage, ounit, randomconv, mirage-crypto, mirage-crypto-rng , cstruct, sexplib0, zarith, eqaf, gmp }: -buildDunePackage { +buildDunePackage rec { pname = "mirage-crypto-pk"; inherit (mirage-crypto) version src useDune2 minimumOCamlVersion; @@ -10,6 +10,8 @@ buildDunePackage { propagatedBuildInputs = [ cstruct mirage-crypto mirage-crypto-rng zarith eqaf sexplib0 ]; + strictDeps = !doCheck; + doCheck = true; checkInputs = [ ounit randomconv ]; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix index e8c8dd06eab5..91da7aa56816 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-async.nix @@ -8,7 +8,7 @@ buildDunePackage { inherit (mirage-crypto) useDune2 version minimumOCamlVersion src; - nativeBuildInputs = [ + buildInputs = [ dune-configurator ]; @@ -19,6 +19,8 @@ buildDunePackage { mirage-crypto-rng ]; + strictDeps = true; + meta = mirage-crypto.meta // { description = "Feed the entropy source in an Async-friendly way"; }; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix index 5152d3c8ecde..8d67ade9b465 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix @@ -3,7 +3,7 @@ , logs, lwt }: -buildDunePackage { +buildDunePackage rec { pname = "mirage-crypto-rng-mirage"; inherit (mirage-crypto-rng) version src useDune2 minimumOCamlVersion; @@ -14,6 +14,8 @@ buildDunePackage { propagatedBuildInputs = [ duration cstruct mirage-crypto-rng mirage-runtime mirage-time mirage-clock logs lwt ]; + strictDeps = !doCheck; + meta = mirage-crypto-rng.meta // { description = "Entropy collection for a cryptographically secure PRNG"; }; diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix index b4da06816351..2281f10580cd 100644 --- a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix +++ b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix @@ -1,7 +1,7 @@ { buildDunePackage, mirage-crypto, ounit, randomconv, dune-configurator , cstruct, duration, logs, mtime, ocaml_lwt }: -buildDunePackage { +buildDunePackage rec { pname = "mirage-crypto-rng"; inherit (mirage-crypto) version src useDune2 minimumOCamlVersion; @@ -9,9 +9,11 @@ buildDunePackage { doCheck = true; checkInputs = [ ounit randomconv ]; - nativeBuildInputs = [ dune-configurator ]; + buildInputs = [ dune-configurator ]; propagatedBuildInputs = [ cstruct mirage-crypto duration logs mtime ocaml_lwt ]; + strictDeps = !doCheck; + meta = mirage-crypto.meta // { description = "A cryptographically secure PRNG"; }; diff --git a/pkgs/development/ocaml-modules/mlgmp/default.nix b/pkgs/development/ocaml-modules/mlgmp/default.nix index ffd78150689a..a396549d76f4 100644 --- a/pkgs/development/ocaml-modules/mlgmp/default.nix +++ b/pkgs/development/ocaml-modules/mlgmp/default.nix @@ -21,7 +21,10 @@ stdenv.mkDerivation rec { ]; preConfigure = "make clean"; - buildInputs = [ocaml findlib gmp mpfr ncurses]; + nativeBuildInputs = [ocaml findlib ]; + buildInputs = [ gmp mpfr ncurses]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix index 4e27c8ff3bb7..d12329b811e6 100644 --- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix +++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix @@ -10,7 +10,10 @@ stdenv.mkDerivation rec { sha256 = "17xqiclaqs4hmnb92p9z6z9a1xfr31vcn8nlnj8ykk57by31vfza"; }; - buildInputs = [ perl gmp mpfr ocaml findlib camlidl ]; + nativeBuildInputs = [ perl ocaml findlib mpfr camlidl ]; + buildInputs = [ gmp mpfr ]; + + strictDeps = true; prefixKey = "-prefix "; configureFlags = [ @@ -20,7 +23,7 @@ stdenv.mkDerivation rec { postConfigure = '' sed -i Makefile \ - -e 's|^ /bin/rm | rm |' + -e 's|/bin/rm|rm|' mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs ''; diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix index 3e4438f6da58..ace29633964b 100644 --- a/pkgs/development/ocaml-modules/mtime/default.nix +++ b/pkgs/development/ocaml-modules/mtime/default.nix @@ -24,9 +24,10 @@ stdenv.mkDerivation { inherit (param) sha256; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ findlib topkg ] - ++ optional jsooSupport js_of_ocaml; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ] ++ optional jsooSupport js_of_ocaml; + + strictDeps = true; buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}"; diff --git a/pkgs/development/ocaml-modules/mysql/default.nix b/pkgs/development/ocaml-modules/mysql/default.nix index 6ccdfa9cf81c..c980984a26c8 100644 --- a/pkgs/development/ocaml-modules/mysql/default.nix +++ b/pkgs/development/ocaml-modules/mysql/default.nix @@ -22,12 +22,14 @@ stdenv.mkDerivation rec { "--libdir=$out/lib/ocaml/${ocaml.version}/site-lib/mysql" ]; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; createFindlibDestdir = true; propagatedBuildInputs = [ libmysqlclient ]; + strictDeps = true; + patches = [ (fetchpatch { url = "https://github.com/ygrek/ocaml-mysql/compare/v1.2.1...d6d1b3b262ae2cf493ef56f1dd7afcf663a70a26.patch"; diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix index fdd24094c17b..d179c8c1c901 100644 --- a/pkgs/development/ocaml-modules/nocrypto/default.nix +++ b/pkgs/development/ocaml-modules/nocrypto/default.nix @@ -56,9 +56,11 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ ocaml findlib ocamlbuild cc-wrapper ]; - buildInputs = [ ocamlbuild findlib topkg cpuid ocb-stubblr ]; + buildInputs = [ topkg cpuid ocb-stubblr ocamlbuild ]; propagatedBuildInputs = [ cstruct ppx_deriving ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt; + strictDeps = true; + buildPhase = "${topkg.buildPhase} --accelerate false --with-lwt ${boolToString withLwt}"; inherit (topkg) installPhase; diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix index 94342bb31282..1598b2ee5cd3 100644 --- a/pkgs/development/ocaml-modules/notty/default.nix +++ b/pkgs/development/ocaml-modules/notty/default.nix @@ -19,10 +19,13 @@ stdenv.mkDerivation rec { sha256 = "1y3hx8zjri3x50nyiqal5gak1sw54gw3xssrqbj7srinvkdmrz1q"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ ocb-stubblr topkg ocamlbuild ]; propagatedBuildInputs = [ result uucp uuseg uutf ] ++ optional withLwt lwt; + strictDeps = true; + buildPhase = topkg.buildPhase + " --with-lwt ${boolToString withLwt}"; diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix index b1293a2ab553..1f978a90df45 100644 --- a/pkgs/development/ocaml-modules/num/default.nix +++ b/pkgs/development/ocaml-modules/num/default.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { ] ++ lib.optional withStatic ./enable-static.patch; nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ ocaml findlib ]; + + strictDeps = true; createFindlibDestdir = true; - meta = { description = "Legacy Num library for arbitrary-precision integer and rational arithmetic"; license = lib.licenses.lgpl21; diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix index 7d2960fc5a66..6748619d4928 100644 --- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix @@ -19,9 +19,8 @@ stdenv.mkDerivation rec { patches = [ ./META.patch ]; - nativeBuildInputs = [ pkg-config unzip ]; - buildInputs = [ ocaml automake gnum4 autoconf - findlib freetype lablgtk cairo gdk-pixbuf gtk2 pango ]; + nativeBuildInputs = [ pkg-config unzip ocaml automake gnum4 autoconf findlib ]; + buildInputs = [ freetype lablgtk cairo gdk-pixbuf gtk2 pango ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix index 581890178eae..b4410981afbd 100644 --- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix @@ -13,9 +13,9 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libvirt ]; - nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ]; + nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ocaml ]; - buildInputs = [ ocaml ]; + strictDeps = true; buildFlags = [ "all" "opt" "CPPFLAGS=-Wno-error" ]; installTargets = "install-opt"; diff --git a/pkgs/development/ocaml-modules/ocaml-r/default.nix b/pkgs/development/ocaml-modules/ocaml-r/default.nix index d76a98fc05c9..fcee63de3b5d 100644 --- a/pkgs/development/ocaml-modules/ocaml-r/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-r/default.nix @@ -27,7 +27,11 @@ buildDunePackage rec { ' libRmath"' '"' ''; - buildInputs = [ pkg-config R dune-configurator stdio ]; + # This currently fails with dune + strictDeps = false; + + nativeBuildInputs = [ pkg-config R ]; + buildInputs = [ dune-configurator stdio R ]; doCheck = true; checkInputs = [ alcotest ]; diff --git a/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/pkgs/development/ocaml-modules/ocamlfuse/default.nix index c2ca6a2cc8aa..4dcaca427886 100644 --- a/pkgs/development/ocaml-modules/ocamlfuse/default.nix +++ b/pkgs/development/ocaml-modules/ocamlfuse/default.nix @@ -1,4 +1,4 @@ -{ lib, buildDunePackage, fetchFromGitHub, camlidl, fuse }: +{ lib, buildDunePackage, fetchFromGitHub, camlidl, fuse, dune-configurator }: buildDunePackage { pname = "ocamlfuse"; @@ -11,6 +11,11 @@ buildDunePackage { sha256 = "1v9g0wh7rnjkrjrnw50145g6ry38plyjs8fq8w0nlzwizhf3qhff"; }; + # This currently fails with dune + strictDeps = false; + + nativeBuildInputs = [ camlidl ]; + buildInputs = [ dune-configurator ]; propagatedBuildInputs = [ camlidl fuse ]; meta = { diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix index f8d20b7124bc..66bd00707add 100644 --- a/pkgs/development/ocaml-modules/ocamlnat/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix @@ -12,7 +12,10 @@ stdenv.mkDerivation rec { sha256 = "0dyvy0j6f47laxhnadvm71z1py9hz9zd49hamf6bij99cggb2ij1"; }; - buildInputs = [ocaml findlib ounit]; + nativeBuildInputs = [ocaml findlib ]; + buildInputs = [ ounit]; + + strictDeps = true; prefixKey = "--prefix "; diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix index d6e8f83968aa..d435d7a04842 100644 --- a/pkgs/development/ocaml-modules/ocamlnet/default.nix +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -15,8 +15,10 @@ stdenv.mkDerivation rec { sha256 = "1vlwxjxr946gdl61a1d7yk859cijq45f60dhn54ik3w4g6cx33pr"; }; - nativeBuildInputs = [ pkg-config which ]; - buildInputs = [ ncurses ocaml findlib ocaml_pcre camlzip gnutls nettle ]; + nativeBuildInputs = [ pkg-config which ocaml findlib ]; + buildInputs = [ ncurses ocaml_pcre camlzip gnutls nettle ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ocamlsdl/default.nix b/pkgs/development/ocaml-modules/ocamlsdl/default.nix index 7c782b5268fd..3482aa37e750 100644 --- a/pkgs/development/ocaml-modules/ocamlsdl/default.nix +++ b/pkgs/development/ocaml-modules/ocamlsdl/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { sha256 = "abfb295b263dc11e97fffdd88ea1a28b46df8cc2b196777093e4fe7f509e4f8f"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ocaml findlib SDL SDL_image SDL_mixer SDL_ttf SDL_gfx lablgl]; + nativeBuildInputs = [ pkg-config ocaml findlib ]; + buildInputs = [ SDL SDL_image SDL_mixer SDL_ttf SDL_gfx lablgl ]; propagatedBuildInputs = [ SDL SDL_image SDL_mixer SDL_ttf SDL_gfx pkg-config ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ocb-stubblr/default.nix b/pkgs/development/ocaml-modules/ocb-stubblr/default.nix index 2f26eb32ffb6..fcd63ced7a80 100644 --- a/pkgs/development/ocaml-modules/ocb-stubblr/default.nix +++ b/pkgs/development/ocaml-modules/ocb-stubblr/default.nix @@ -12,10 +12,13 @@ stdenv.mkDerivation rec { patches = [ ./pkg-config.patch ]; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ocamlbuild ]; propagatedBuildInputs = [ astring ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix index 7635f3a686cd..763617be1328 100644 --- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix +++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix @@ -14,7 +14,11 @@ stdenv.mkDerivation rec { sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn"; }; - buildInputs = [ ocaml findlib astring pprint ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ astring pprint ]; + + strictDeps = true; + createFindlibDestdir = true; installFlags = [ "BINDIR=$(out)/bin" ]; diff --git a/pkgs/development/ocaml-modules/ocplib-simplex/default.nix b/pkgs/development/ocaml-modules/ocplib-simplex/default.nix index 8435d1c5e516..474f69546d1a 100644 --- a/pkgs/development/ocaml-modules/ocplib-simplex/default.nix +++ b/pkgs/development/ocaml-modules/ocplib-simplex/default.nix @@ -15,8 +15,9 @@ stdenv.mkDerivation { sha256 = "09niyidrjzrj8g1qwx4wgsdf5m6cwrnzg7zsgala36jliic4di60"; }; - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ autoreconfHook ocaml findlib ]; + + strictDeps = true; installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ]; diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix index d2e20838ecaf..480ea6daf203 100644 --- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix @@ -26,7 +26,10 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; - buildInputs = [ ocaml findlib ocamlbuild oasis camlp4 num ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild oasis camlp4 ]; + buildInputs = [ oasis camlp4 ocamlbuild num ]; + + strictDeps = true; meta = { homepage = "https://github.com/ocsigen/deriving"; diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix index 1fccbbb9b30c..118138dc8fd0 100644 --- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocsigen-toolkit, pgocaml_ppx, safepass, yojson -, cohttp-lwt-unix +, cohttp-lwt-unix, eliom , resource-pooling , ocamlnet }: @@ -8,9 +8,11 @@ stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-ocsigen-start"; version = "4.3.0"; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib eliom ]; propagatedBuildInputs = [ pgocaml_ppx safepass ocsigen-toolkit yojson resource-pooling cohttp-lwt-unix ocamlnet ]; + strictDeps = true; + patches = [ ./templates-dir.patch ]; src = fetchFromGitHub { diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix index 78420d09779b..1b2dd72a2ec3 100644 --- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix +++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix @@ -8,7 +8,9 @@ stdenv.mkDerivation rec { version = "3.0.1"; propagatedBuildInputs = [ calendar js_of_ocaml-ppx_deriving_json eliom ]; - buildInputs = [ ocaml findlib opaline ]; + nativeBuildInputs = [ ocaml findlib opaline eliom ]; + + strictDeps = true; installPhase = '' runHook preInstall diff --git a/pkgs/development/ocaml-modules/ocurl/default.nix b/pkgs/development/ocaml-modules/ocurl/default.nix index ea2af8dd4c82..5e815d4dca6b 100644 --- a/pkgs/development/ocaml-modules/ocurl/default.nix +++ b/pkgs/development/ocaml-modules/ocurl/default.nix @@ -13,8 +13,12 @@ stdenv.mkDerivation rec { sha256 = "0n621cxb9012pj280c7821qqsdhypj8qy9qgrah79dkh6a8h2py6"; }; - buildInputs = [ pkg-config ocaml findlib ncurses ]; + nativeBuildInputs = [ pkg-config ocaml findlib ]; + buildInputs = [ ncurses ]; propagatedBuildInputs = [ curl lwt ]; + + strictDeps = true; + createFindlibDestdir = true; meta = { description = "OCaml bindings to libcurl"; diff --git a/pkgs/development/ocaml-modules/odate/default.nix b/pkgs/development/ocaml-modules/odate/default.nix index aed5e92765f8..8967a3815471 100644 --- a/pkgs/development/ocaml-modules/odate/default.nix +++ b/pkgs/development/ocaml-modules/odate/default.nix @@ -17,7 +17,9 @@ buildDunePackage rec { sha256 = "1dk33lr0g2jnia2gqsm6nnc7nf256qgkm3v30w477gm6y2ppfm3h"; }; - buildInputs = [ menhir ]; + strictDeps = true; + + nativeBuildInputs = [ menhir ]; meta = { description = "Date and duration in OCaml"; diff --git a/pkgs/development/ocaml-modules/odn/default.nix b/pkgs/development/ocaml-modules/odn/default.nix index 9179ce3f1d16..66fc5d1f1872 100644 --- a/pkgs/development/ocaml-modules/odn/default.nix +++ b/pkgs/development/ocaml-modules/odn/default.nix @@ -13,7 +13,10 @@ stdenv.mkDerivation rec { sha256 = "09a8zdyifpc2nl4hdvg9206142y31cq95ajgij011s1qcg3z93lj"; }; - buildInputs = [ ocaml findlib ocamlbuild type_conv ounit camlp4 ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ type_conv ounit camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/omd/default.nix b/pkgs/development/ocaml-modules/omd/default.nix index d6cea183d85c..b9797e257abc 100644 --- a/pkgs/development/ocaml-modules/omd/default.nix +++ b/pkgs/development/ocaml-modules/omd/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "1sgdgzpx96br7npj8mh91cli5mqmzsjpngwm7x4212n3k1d0ivwa"; }; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/opam-repository/default.nix b/pkgs/development/ocaml-modules/opam-repository/default.nix index 1480a7d5915a..ff9ad75fad86 100644 --- a/pkgs/development/ocaml-modules/opam-repository/default.nix +++ b/pkgs/development/ocaml-modules/opam-repository/default.nix @@ -15,8 +15,9 @@ buildDunePackage rec { --replace "SUBSTITUTE_NIXOS_CURL_PATH" "\"${curl}/bin/curl\"" ''; - nativeBuildInputs = [ unzip ]; - buildInputs = [ curl ]; + strictDeps = true; + + nativeBuildInputs = [ unzip curl ]; propagatedBuildInputs = [ opam-format ]; meta = opam-format.meta // { diff --git a/pkgs/development/ocaml-modules/otfm/default.nix b/pkgs/development/ocaml-modules/otfm/default.nix index 0642b30699c2..91d91bdc46fe 100644 --- a/pkgs/development/ocaml-modules/otfm/default.nix +++ b/pkgs/development/ocaml-modules/otfm/default.nix @@ -17,10 +17,13 @@ stdenv.mkDerivation { sha256 = "054s82539k3kc9na6s47g3scsl04icjahpas7pv5351jmsgqcq3k"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ uutf result ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/otoml/default.nix b/pkgs/development/ocaml-modules/otoml/default.nix index 17e8fc855ea0..c3f53fc611e5 100644 --- a/pkgs/development/ocaml-modules/otoml/default.nix +++ b/pkgs/development/ocaml-modules/otoml/default.nix @@ -19,7 +19,9 @@ buildDunePackage rec { sha256 = "0l0c60rzgk11y8xq05kr8q9hkzb3c8vi995mq84x98ys73wb42j3"; }; - buildInputs = [ menhir ]; + strictDeps = true; + + nativeBuildInputs = [ menhir ]; propagatedBuildInputs = [ menhirLib uutf ]; diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix index fbb75e613309..a40111cd3b37 100644 --- a/pkgs/development/ocaml-modules/ounit/default.nix +++ b/pkgs/development/ocaml-modules/ounit/default.nix @@ -4,9 +4,11 @@ stdenv.mkDerivation { pname = "ocaml${ocaml.version}-ounit"; inherit (ounit2) version src meta; - buildInputs = [ findlib ]; + nativeBuildInputs = [ findlib ]; propagatedBuildInputs = [ ounit2 ]; + strictDeps = true; + dontBuild = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/pipebang/default.nix b/pkgs/development/ocaml-modules/pipebang/default.nix index 489ca3d2c708..251aeb8de8ec 100644 --- a/pkgs/development/ocaml-modules/pipebang/default.nix +++ b/pkgs/development/ocaml-modules/pipebang/default.nix @@ -1,4 +1,4 @@ -{ lib, buildOcaml, fetchFromGitHub }: +{ lib, buildOcaml, fetchFromGitHub, camlp4 }: buildOcaml rec { pname = "pipebang"; @@ -13,6 +13,10 @@ buildOcaml rec { sha256 = "sha256-9A3X/ciL5HtuKQ5awS+hDDBLL5ytOr12wHsmJLNRn+Q="; }; + strictDeps = true; + + buildInputs = [ camlp4 ]; + meta = with lib; { homepage = "https://github.com/janestreet/pipebang"; description = "Syntax extension to transform x |! f into f x"; diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix index 590c001c4195..4f2e4693357f 100644 --- a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix +++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix @@ -12,7 +12,10 @@ stdenv.mkDerivation rec { sha256 = "1913jpsb8mvqi8609j4g4sm5jhg50dq0xqxgy8nmvknfryyc89nm"; }; - buildInputs = [ ocaml findlib piqi stdlib-shims ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ piqi stdlib-shims ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix index faeb804d8aa8..45d65a5be04f 100644 --- a/pkgs/development/ocaml-modules/piqi/default.nix +++ b/pkgs/development/ocaml-modules/piqi/default.nix @@ -12,9 +12,11 @@ stdenv.mkDerivation rec { sha256 = "0v04hs85xv6d4ysqxyv1dik34dx49yab9shpi4x7iv19qlzl7csb"; }; - buildInputs = [ ocaml findlib which ]; + nativeBuildInputs = [ ocaml findlib which ]; propagatedBuildInputs = [ sedlex_2 xmlm easy-format base64 ]; + strictDeps = true; + patches = [ ./no-ocamlpath-override.patch ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix index 935d67f70845..f4794eea76ed 100644 --- a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix +++ b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix @@ -9,6 +9,7 @@ , num , ppxlib , re +, findlib }: buildDunePackage rec { @@ -26,17 +27,21 @@ buildDunePackage rec { sha256 = "15cjb9ygnvp2kv85rrb7ncz7yalifyl7wd2hp2cl8r1qrpgi1d0w"; }; + nativeBuildInputs = [ cppo ]; + buildInputs = [ bigarray-compat containers - cppo ctypes integers num ppxlib re + findlib ]; + strictDeps = true; + meta = with lib; { homepage = "https://github.com/fdopen/ppx_cstubs"; changelog = "https://github.com/fdopen/ppx_cstubs/raw/${version}/CHANGES.md"; diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix index 5563e6113462..090c8113ce48 100644 --- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix +++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix @@ -5,7 +5,7 @@ , ppxlib , ppx_derivers , result -, ounit +, ounit2 , ocaml-migrate-parsetree , ocaml-migrate-parsetree-2 }: @@ -37,7 +37,11 @@ buildDunePackage rec { inherit (params) sha256; }; - buildInputs = [ ppxlib cppo ]; + # This currently fails with dune + strictDeps = false; + + nativeBuildInputs = [ cppo ]; + buildInputs = [ ppxlib ]; propagatedBuildInputs = [ (if params.useOMP2 then ocaml-migrate-parsetree-2 @@ -47,7 +51,7 @@ buildDunePackage rec { ]; doCheck = true; - checkInputs = [ ounit ]; + checkInputs = [ ounit2 ]; meta = with lib; { description = "deriving is a library simplifying type-driven code generation on OCaml >=4.02."; diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix index 64948c29ae50..59b7c29730aa 100644 --- a/pkgs/development/ocaml-modules/ppx_tools/default.nix +++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix @@ -5,6 +5,7 @@ let param = version = "6.4"; sha256 = "15v7yfv6gyp8lzlgwi9garz10wpg34dk4072jdv19n6v20zfg7n1"; useDune2 = true; + nativeBuildInputs = [cppo]; buildInputs = [cppo]; }; in { @@ -54,7 +55,9 @@ if lib.versionAtLeast param.version "6.0" then buildDunePackage { inherit pname src meta; - inherit (param) version useDune2 buildInputs; + inherit (param) version useDune2 buildInputs nativeBuildInputs; + + strictDeps = true; } else stdenv.mkDerivation { @@ -63,7 +66,8 @@ else inherit src; nativeBuildInputs = [ ocaml findlib ]; - buildInputs = [ ocaml findlib ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix index dbdf3970f636..25c9ec4b870c 100644 --- a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix +++ b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix @@ -15,7 +15,9 @@ buildDunePackage rec { minimumOCamlVersion = "4.03"; - buildInputs = [ menhir ]; + strictDeps = true; + + nativeBuildInputs = [ menhir ]; meta = { description = "A simple parser and type-checker for polomorphic extension of the SMT-LIB 2 language"; diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix index 7015c6058b4f..ac30876520a6 100644 --- a/pkgs/development/ocaml-modules/ptime/default.nix +++ b/pkgs/development/ocaml-modules/ptime/default.nix @@ -11,9 +11,10 @@ stdenv.mkDerivation rec { sha256 = "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; - buildInputs = [ findlib topkg ] - ++ lib.optional jsooSupport js_of_ocaml; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ] ++ lib.optional jsooSupport js_of_ocaml; + + strictDeps = true; propagatedBuildInputs = [ result ]; diff --git a/pkgs/development/ocaml-modules/ptmap/default.nix b/pkgs/development/ocaml-modules/ptmap/default.nix index 018f1e3edf06..fd59368f82df 100644 --- a/pkgs/development/ocaml-modules/ptmap/default.nix +++ b/pkgs/development/ocaml-modules/ptmap/default.nix @@ -14,12 +14,13 @@ buildDunePackage rec { sha256 = "1apk61fc1y1g7x3m3c91fnskvxp6i0vk5nxwvipj56k7x2pzilgb"; }; + strictDeps = true; + + buildInputs = [ stdlib-shims ]; propagatedBuildInputs = [ seq ]; doCheck = true; - checkInputs = [ stdlib-shims ]; - meta = { homepage = "https://www.lri.fr/~filliatr/software.en.html"; description = "Maps over integers implemented as Patricia trees"; diff --git a/pkgs/development/ocaml-modules/pyml/default.nix b/pkgs/development/ocaml-modules/pyml/default.nix index 4f7c4b1b2a28..afcc47e38dc4 100644 --- a/pkgs/development/ocaml-modules/pyml/default.nix +++ b/pkgs/development/ocaml-modules/pyml/default.nix @@ -11,9 +11,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-GCO6KlRhJmADFjQ5QF4naMQBskF63yqnJnLnuQsagEk="; }; - buildInputs = [ + nativeBuildInputs = [ ocaml findlib + ]; + buildInputs = [ utop ncurses ]; @@ -23,6 +25,8 @@ stdenv.mkDerivation rec { stdcompat ]; + strictDeps = true; + buildPhase = '' make all pymltop pymlutop PREFIX=$out ''; diff --git a/pkgs/development/ocaml-modules/react/default.nix b/pkgs/development/ocaml-modules/react/default.nix index 0edae9830698..4e07a2021e32 100644 --- a/pkgs/development/ocaml-modules/react/default.nix +++ b/pkgs/development/ocaml-modules/react/default.nix @@ -9,7 +9,10 @@ stdenv.mkDerivation rec { sha256 = "1aj8w79gdd9xnrbz7s5p8glcb4pmimi8jp9f439dqnf6ih3mqb3v"; }; - buildInputs = [ ocaml findlib topkg ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ topkg ]; + + strictDeps = true; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix index bc0c8f9e9b8c..23ebb3144d11 100644 --- a/pkgs/development/ocaml-modules/reactivedata/default.nix +++ b/pkgs/development/ocaml-modules/reactivedata/default.nix @@ -15,9 +15,11 @@ stdenv.mkDerivation rec { sha256 = "sha256-YLkacIbjxZQ/ThgSxjTqviBYih6eW2GX5H7iybQDv1A="; }; - buildInputs = [ ocaml findlib ocamlbuild opaline ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild opaline ]; propagatedBuildInputs = [ react ]; + strictDeps = true; + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR"; diff --git a/pkgs/development/ocaml-modules/reason-native/cli.nix b/pkgs/development/ocaml-modules/reason-native/cli.nix index 1a4c020dc352..ee5e7d2774d2 100644 --- a/pkgs/development/ocaml-modules/reason-native/cli.nix +++ b/pkgs/development/ocaml-modules/reason-native/cli.nix @@ -3,9 +3,12 @@ { pname = "cli"; + nativeBuildInputs = [ + reason + ]; + buildInputs = [ re - reason pastel ]; } diff --git a/pkgs/development/ocaml-modules/reason-native/console.nix b/pkgs/development/ocaml-modules/reason-native/console.nix index c11c12b46730..b4b30cab4a0c 100644 --- a/pkgs/development/ocaml-modules/reason-native/console.nix +++ b/pkgs/development/ocaml-modules/reason-native/console.nix @@ -3,7 +3,7 @@ { pname = "console"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/dir.nix b/pkgs/development/ocaml-modules/reason-native/dir.nix index e6eb9c0c403f..6b2aa0c3cd8f 100644 --- a/pkgs/development/ocaml-modules/reason-native/dir.nix +++ b/pkgs/development/ocaml-modules/reason-native/dir.nix @@ -3,7 +3,7 @@ { pname = "dir"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix b/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix index 749e727feeca..a7c663493ef5 100644 --- a/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix +++ b/pkgs/development/ocaml-modules/reason-native/file-context-printer.nix @@ -3,7 +3,7 @@ { pname = "file-context-printer"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/fp.nix b/pkgs/development/ocaml-modules/reason-native/fp.nix index ae6ae50705d5..8ff2ed65c4c0 100644 --- a/pkgs/development/ocaml-modules/reason-native/fp.nix +++ b/pkgs/development/ocaml-modules/reason-native/fp.nix @@ -3,7 +3,7 @@ { pname = "fp"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/pastel-console.nix b/pkgs/development/ocaml-modules/reason-native/pastel-console.nix index f1d2c7cc7264..968b9f88af91 100644 --- a/pkgs/development/ocaml-modules/reason-native/pastel-console.nix +++ b/pkgs/development/ocaml-modules/reason-native/pastel-console.nix @@ -3,7 +3,7 @@ { pname = "pastel-console"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/pastel.nix b/pkgs/development/ocaml-modules/reason-native/pastel.nix index a5abc4e219c5..f2c975d938e0 100644 --- a/pkgs/development/ocaml-modules/reason-native/pastel.nix +++ b/pkgs/development/ocaml-modules/reason-native/pastel.nix @@ -5,7 +5,7 @@ minimalOCamlVersion = "4.05"; - buildInputs = [ + nativeBuildInputs = [ reason ]; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix b/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix index 993bcbefafdc..1250dc2d3a71 100644 --- a/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix +++ b/pkgs/development/ocaml-modules/reason-native/qcheck-rely.nix @@ -3,7 +3,7 @@ { pname = "qcheck-rely"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/refmterr.nix b/pkgs/development/ocaml-modules/reason-native/refmterr.nix index 9b14d4a8ba31..b4d6708467f0 100644 --- a/pkgs/development/ocaml-modules/reason-native/refmterr.nix +++ b/pkgs/development/ocaml-modules/reason-native/refmterr.nix @@ -3,7 +3,7 @@ { pname = "refmterr"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix b/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix index 6e8b41bbd1c4..8a7080f624df 100644 --- a/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix +++ b/pkgs/development/ocaml-modules/reason-native/rely-junit-reporter.nix @@ -3,9 +3,12 @@ { pname = "rely-junit-reporter"; + nativeBuildInputs = [ + reason + ]; + buildInputs = [ atdgen - reason ]; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/reason-native/rely.nix b/pkgs/development/ocaml-modules/reason-native/rely.nix index a2230426bec1..f29565f9c463 100644 --- a/pkgs/development/ocaml-modules/reason-native/rely.nix +++ b/pkgs/development/ocaml-modules/reason-native/rely.nix @@ -3,7 +3,7 @@ { pname = "rely"; - buildInputs = [ + nativeBuildInputs = [ reason ]; diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix index 9410ab21ea34..9ac090a780e9 100644 --- a/pkgs/development/ocaml-modules/rope/default.nix +++ b/pkgs/development/ocaml-modules/rope/default.nix @@ -6,7 +6,7 @@ let param = version = "0.6.2"; url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz"; sha256 = "15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i"; - buildInputs = [ dune_2 ]; + nativeBuildInputs = [ dune_2 ]; extra = { buildPhase = "dune build -p rope"; installPhase = '' @@ -17,7 +17,7 @@ let param = version = "0.5"; url = "https://forge.ocamlcore.org/frs/download.php/1156/rope-0.5.tar.gz"; sha256 = "05fr2f5ch2rqhyaj06rv5218sbg99p1m9pq5sklk04hpslxig21f"; - buildInputs = [ ocamlbuild ]; + nativeBuildInputs = [ ocamlbuild ]; extra = { createFindlibDestdir = true; }; }; in @@ -30,7 +30,10 @@ stdenv.mkDerivation ({ inherit (param) url sha256; }; - buildInputs = [ ocaml findlib benchmark ] ++ param.buildInputs; + nativeBuildInputs = [ ocaml findlib ] ++ param.nativeBuildInputs; + buildInputs = [ benchmark ] ; + + strictDeps = true; meta = { homepage = "http://rope.forge.ocamlcore.org/"; diff --git a/pkgs/development/ocaml-modules/rresult/default.nix b/pkgs/development/ocaml-modules/rresult/default.nix index 1198ca957f01..cdc3a1dba68a 100644 --- a/pkgs/development/ocaml-modules/rresult/default.nix +++ b/pkgs/development/ocaml-modules/rresult/default.nix @@ -8,10 +8,13 @@ stdenv.mkDerivation rec { sha256 = "1k69a3gvrk7f2cshwjzvk7818f0bwxhacgd14wxy6d4gmrggci86"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ result ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix index 284ba97b9c70..3b0878155a53 100644 --- a/pkgs/development/ocaml-modules/sawja/default.nix +++ b/pkgs/development/ocaml-modules/sawja/default.nix @@ -23,9 +23,9 @@ stdenv.mkDerivation { sha256 = "sha256:0k51rscs9mdgpg3qn4cahql5ncdvlb207m015hr8v6r1vfgn0ddq"; }; - nativeBuildInputs = [ which ]; + nativeBuildInputs = [ which ocaml findlib ]; - buildInputs = [ ocaml findlib ]; + strictDeps = true; patches = [ ./configure.sh.patch ./Makefile.config.example.patch ]; diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix index c1ea56b5c506..b808145bcbbc 100644 --- a/pkgs/development/ocaml-modules/sedlex/default.nix +++ b/pkgs/development/ocaml-modules/sedlex/default.nix @@ -15,10 +15,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-VhzlDTYBFXgKWT69PqZYLuHkiaDwzhmyX2XfaqzHFl4="; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; propagatedBuildInputs = [ gen ocaml-migrate-parsetree ppx_tools_versioned ]; + strictDeps = true; + buildFlags = [ "all" "opt" ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/sha/default.nix b/pkgs/development/ocaml-modules/sha/default.nix index c1a76e4149e6..4cbb658b6549 100644 --- a/pkgs/development/ocaml-modules/sha/default.nix +++ b/pkgs/development/ocaml-modules/sha/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, buildDunePackage, stdlib-shims, ounit }: +{ lib, fetchurl, buildDunePackage, stdlib-shims, dune-configurator, ounit }: buildDunePackage rec { pname = "sha"; @@ -11,6 +11,8 @@ buildDunePackage rec { useDune2 = true; + buildInputs = [ dune-configurator ]; + propagatedBuildInputs = [ stdlib-shims ]; diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix index cff3d6186d1a..040a34ef6f1d 100644 --- a/pkgs/development/ocaml-modules/sodium/default.nix +++ b/pkgs/development/ocaml-modules/sodium/default.nix @@ -16,9 +16,11 @@ stdenv.mkDerivation rec { ./lib-gen-link-bigarray.patch ]; - buildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; propagatedBuildInputs = [ ctypes libsodium ]; + strictDeps = true; + createFindlibDestdir = true; hardeningDisable = lib.optional stdenv.isDarwin "strictoverflow"; diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix index 1605a15bea8e..141e2a50193d 100644 --- a/pkgs/development/ocaml-modules/sosa/default.nix +++ b/pkgs/development/ocaml-modules/sosa/default.nix @@ -17,7 +17,9 @@ stdenv.mkDerivation rec { sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk"; }; - buildInputs = [ ocaml ocamlbuild findlib ]; + nativeBuildInputs = [ ocaml ocamlbuild findlib ]; + + strictDeps = true; buildPhase = "make build"; diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix index 02a281740b9f..6009eaecce1d 100644 --- a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix +++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix @@ -17,10 +17,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-pKysvth0efxJeyJQY2Dnqarg7OtsKyyLnFV/1ZhsfDY="; }; - buildInputs = [ ocaml findlib ocamlbuild twt ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ twt ]; propagatedBuildInputs = [ ocaml_sqlite3 ]; + strictDeps = true; + createFindlibDestdir = true; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix index 0f3b5377fc51..eae9b264ba1f 100644 --- a/pkgs/development/ocaml-modules/stdcompat/default.nix +++ b/pkgs/development/ocaml-modules/stdcompat/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { sha256 = "sha256:01y67rndjlzfp5zq0gbqpg9skqq2hfbvhbq9lfhhk5xidr98sfj8"; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; + # build fails otherwise enableParallelBuilding = false; diff --git a/pkgs/development/ocaml-modules/tezos/legacy-store.nix b/pkgs/development/ocaml-modules/tezos/legacy-store.nix index 6029401e3618..b6d9f20df3c7 100644 --- a/pkgs/development/ocaml-modules/tezos/legacy-store.nix +++ b/pkgs/development/ocaml-modules/tezos/legacy-store.nix @@ -23,10 +23,12 @@ buildDunePackage { lwt-watcher ]; - buildInputs = [ + nativeBuildInputs = [ tezos-protocol-compiler ]; + strictDeps = true; + checkInputs = [ alcotest-lwt ]; diff --git a/pkgs/development/ocaml-modules/tezos/lmdb.nix b/pkgs/development/ocaml-modules/tezos/lmdb.nix index 6eaed942317f..5b5690707ab3 100644 --- a/pkgs/development/ocaml-modules/tezos/lmdb.nix +++ b/pkgs/development/ocaml-modules/tezos/lmdb.nix @@ -25,7 +25,7 @@ buildDunePackage { useDune2 = true; - buildInputs = [ + nativeBuildInputs = [ pkg-config ]; @@ -34,6 +34,8 @@ buildDunePackage { lmdb ]; + strictDeps = true; + checkInputs = [ cstruct alcotest diff --git a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix index 2321245220f6..85dc33dc98f1 100644 --- a/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix +++ b/pkgs/development/ocaml-modules/tezos/protocol-010-PtGRANAD.nix @@ -2,6 +2,7 @@ , buildDunePackage , tezos-stdlib , tezos-protocol-compiler +, tezos-protocol-environment }: buildDunePackage { @@ -9,10 +10,16 @@ buildDunePackage { inherit (tezos-stdlib) version useDune2; src = "${tezos-stdlib.base_src}/src"; - buildInputs = [ + nativeBuildInputs = [ tezos-protocol-compiler ]; + buildInputs = [ + tezos-protocol-environment + ]; + + strictDeps = true; + doCheck = true; meta = tezos-stdlib.meta // { diff --git a/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix b/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix index 2dec60851770..3cfb8cced04d 100644 --- a/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix +++ b/pkgs/development/ocaml-modules/tezos/protocol-011-PtHangz2.nix @@ -2,6 +2,7 @@ , buildDunePackage , tezos-stdlib , tezos-protocol-compiler +, tezos-protocol-environment }: buildDunePackage { @@ -9,10 +10,16 @@ buildDunePackage { inherit (tezos-stdlib) version useDune2; src = "${tezos-stdlib.base_src}/src"; - buildInputs = [ + nativeBuildInputs = [ tezos-protocol-compiler ]; + buildInputs = [ + tezos-protocol-environment + ]; + + strictDeps = true; + doCheck = true; meta = tezos-stdlib.meta // { diff --git a/pkgs/development/ocaml-modules/tezos/store.nix b/pkgs/development/ocaml-modules/tezos/store.nix index 69dad7512707..3fbe945d07b7 100644 --- a/pkgs/development/ocaml-modules/tezos/store.nix +++ b/pkgs/development/ocaml-modules/tezos/store.nix @@ -31,10 +31,12 @@ buildDunePackage { tezos-legacy-store ]; - buildInputs = [ + nativeBuildInputs = [ tezos-protocol-compiler ]; + strictDeps = true; + checkInputs = [ alcotest-lwt ]; diff --git a/pkgs/development/ocaml-modules/tezos/validation.nix b/pkgs/development/ocaml-modules/tezos/validation.nix index b26b81f4a779..44a7576cc065 100644 --- a/pkgs/development/ocaml-modules/tezos/validation.nix +++ b/pkgs/development/ocaml-modules/tezos/validation.nix @@ -14,10 +14,12 @@ buildDunePackage { tezos-protocol-updater ]; - buildInputs = [ + nativeBuildInputs = [ tezos-protocol-compiler ]; + strictDeps = true; + doCheck = true; meta = tezos-stdlib.meta // { diff --git a/pkgs/development/ocaml-modules/toml/default.nix b/pkgs/development/ocaml-modules/toml/default.nix index 6980a148e105..dd765e388235 100644 --- a/pkgs/development/ocaml-modules/toml/default.nix +++ b/pkgs/development/ocaml-modules/toml/default.nix @@ -15,7 +15,7 @@ buildDunePackage rec { sha256 = "08ywzqckllvwawl1wpgg7qzvx6jhq7d6vysa0d5hj7qdwq213ggm"; }; - buildInputs = [ menhir ]; + nativeBuildInputs = [ menhir ]; propagatedBuildInputs = [ iso8601 ]; meta = { diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix index 9e1369a8567b..10104228c839 100644 --- a/pkgs/development/ocaml-modules/topkg/default.nix +++ b/pkgs/development/ocaml-modules/topkg/default.nix @@ -38,6 +38,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ ocaml findlib ocamlbuild ]; propagatedBuildInputs = param.propagatedBuildInputs or []; + strictDeps = true; + buildPhase = "${run} build"; createFindlibDestdir = true; installPhase = "${opaline}/bin/opaline -prefix $out -libdir $OCAMLFIND_DESTDIR"; diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix index 7c09e8cd9d7a..a56cccbe0717 100644 --- a/pkgs/development/ocaml-modules/tsdl/default.nix +++ b/pkgs/development/ocaml-modules/tsdl/default.nix @@ -18,8 +18,8 @@ stdenv.mkDerivation { sha256 = "1zwv0ixkigh1gzk5n49rwvz2f2m62jdkkqg40j7dclg4gri7691f"; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ pkg-config ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ SDL2 ctypes ]; preConfigure = '' diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix index 407601c7a46c..4e76f0c16d38 100644 --- a/pkgs/development/ocaml-modules/twt/default.nix +++ b/pkgs/development/ocaml-modules/twt/default.nix @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-xbjLPd7P1KyuC3i6WHLBcdLwd14atcBsd5ER+l97KAk="; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; preInstall = '' mkdir -p $out/bin diff --git a/pkgs/development/ocaml-modules/type_conv/108.08.00.nix b/pkgs/development/ocaml-modules/type_conv/108.08.00.nix index 337874e11a94..fb3977223f7e 100644 --- a/pkgs/development/ocaml-modules/type_conv/108.08.00.nix +++ b/pkgs/development/ocaml-modules/type_conv/108.08.00.nix @@ -13,7 +13,10 @@ stdenv.mkDerivation rec { sha256 = "08ysikwwp69zvc147lzzg79nwlrzrk738rj0ggcfadi8h5il42sl"; }; - buildInputs = [ ocaml findlib camlp4 ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix index 4ec160a92230..1f6500c6ed17 100644 --- a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix +++ b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix @@ -15,7 +15,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-8Oz/fPL3+RghyxQp5u6seSEdf0BgfP6XNcsMYty0rNs="; }; - buildInputs = [ ocaml findlib camlp4 ]; + nativeBuildInputs = [ ocaml findlib ]; + buildInputs = [ camlp4 ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix index e90ca2d16a64..468b872ec3d0 100644 --- a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix +++ b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, buildOcaml}: +{ lib, fetchFromGitHub, buildOcaml, camlp4}: buildOcaml rec { minimumSupportedOcamlVersion = "4.02"; @@ -13,6 +13,10 @@ buildOcaml rec { sha256 = "sha256-HzH0hnceCQ2kDRATjl+tfKk3XSBDsGnPzVUGYpDQUmU="; }; + strictDeps = true; + + buildInputs = [ camlp4 ]; + meta = { homepage = "https://github.com/janestreet/type_conv/"; description = "Support library for preprocessor type conversions"; diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix index 7d7d87af8532..09004e8a9438 100644 --- a/pkgs/development/ocaml-modules/uchar/default.nix +++ b/pkgs/development/ocaml-modules/uchar/default.nix @@ -10,7 +10,9 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ ocaml ocamlbuild findlib ]; - buildInputs = [ findlib ocaml ocamlbuild ]; + + strictDeps = true; + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${lib.boolToString withShared}"; installPhase = "${opaline}/bin/opaline -libdir $OCAMLFIND_DESTDIR"; configurePlatforms = [ ]; diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix index f1ada5d09981..9a5848db3f7b 100644 --- a/pkgs/development/ocaml-modules/ulex/default.nix +++ b/pkgs/development/ocaml-modules/ulex/default.nix @@ -25,8 +25,9 @@ stdenv.mkDerivation rec { createFindlibDestdir = true; - buildInputs = [ ocaml findlib ocamlbuild ]; - propagatedBuildInputs = [ camlp4 ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ]; + + strictDeps = true; buildFlags = [ "all" "all.opt" ]; diff --git a/pkgs/development/ocaml-modules/uucd/default.nix b/pkgs/development/ocaml-modules/uucd/default.nix index 244f3f36dc39..0c71ddf0d700 100644 --- a/pkgs/development/ocaml-modules/uucd/default.nix +++ b/pkgs/development/ocaml-modules/uucd/default.nix @@ -13,7 +13,10 @@ stdenv.mkDerivation rec { sha256 = "sha256:0fc737v5gj3339jx4x9xr096lxrpwvp6vaiylhavcvsglcwbgm30"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; + + strictDeps = true; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix index 2e8a360d4550..9031087f5053 100644 --- a/pkgs/development/ocaml-modules/uucp/default.nix +++ b/pkgs/development/ocaml-modules/uucp/default.nix @@ -21,10 +21,13 @@ stdenv.mkDerivation { sha256 = "sha256:1yx9nih3d9prb9zizq8fzmmqylf24a6yifhf81h33znrj5xn1mpj"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg uutf uunf ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg uutf uunf uucd ]; propagatedBuildInputs = [ uchar ]; + strictDeps = true; + buildPhase = '' runHook preBuild ${topkg.buildPhase} --with-cmdliner false --tests ${lib.boolToString doCheck} diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix index b260a05505bc..336d66cb0a64 100644 --- a/pkgs/development/ocaml-modules/uuidm/default.nix +++ b/pkgs/development/ocaml-modules/uuidm/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8"; }; - nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; configurePlatforms = []; buildInputs = [ topkg cmdliner ]; diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix index 073e6865fcdd..12031c53927c 100644 --- a/pkgs/development/ocaml-modules/uunf/default.nix +++ b/pkgs/development/ocaml-modules/uunf/default.nix @@ -18,10 +18,13 @@ stdenv.mkDerivation { sha256 = "sha256:17wv0nm3vvwcbzb1b09akw8jblmigyhbfmh1sy9lkb5756ni94a2"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg uutf cmdliner ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg uutf cmdliner ]; propagatedBuildInputs = [ uchar ]; + strictDeps = true; + prePatch = lib.optionalString stdenv.isAarch64 "ulimit -s 16384"; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/uuseg/default.nix b/pkgs/development/ocaml-modules/uuseg/default.nix index 1fbcb57f3a6a..42642d2dc24e 100644 --- a/pkgs/development/ocaml-modules/uuseg/default.nix +++ b/pkgs/development/ocaml-modules/uuseg/default.nix @@ -15,9 +15,12 @@ stdenv.mkDerivation rec { sha256 = "sha256:1g9zyzjkhqxgbb9mh3cgaawscwdazv6y8kdqvmy6yhnimmfqv25p"; }; - buildInputs = [ ocaml findlib ocamlbuild cmdliner topkg uutf ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg cmdliner uutf ]; propagatedBuildInputs = [ uucp ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix index e8179e369afa..6701c8650513 100644 --- a/pkgs/development/ocaml-modules/uutf/default.nix +++ b/pkgs/development/ocaml-modules/uutf/default.nix @@ -13,10 +13,12 @@ stdenv.mkDerivation rec { sha256 = "1nx1rly3qj23jzn9yk3x6fwqimcxjd84kv5859vvhdg56psq26p6"; }; - nativeBuildInputs = [ ocaml ocamlbuild findlib ]; - buildInputs = [ findlib topkg cmdliner ]; + nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ]; + buildInputs = [ topkg cmdliner ]; propagatedBuildInputs = [ uchar ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = with lib; { diff --git a/pkgs/development/ocaml-modules/uuuu/default.nix b/pkgs/development/ocaml-modules/uuuu/default.nix index 7d2eaac181df..4f400d1ec75b 100644 --- a/pkgs/development/ocaml-modules/uuuu/default.nix +++ b/pkgs/development/ocaml-modules/uuuu/default.nix @@ -24,10 +24,12 @@ buildDunePackage rec { useDune2 = true; - nativeBuildInputs = [ menhir ]; + nativeBuildInputs = [ menhir findlib ]; buildInputs = [ angstrom ]; + strictDeps = !doCheck; + checkInputs = [ re ]; doCheck = true; diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix index a9a4c0d3d6b4..9dc7a4eeeeff 100644 --- a/pkgs/development/ocaml-modules/vg/default.nix +++ b/pkgs/development/ocaml-modules/vg/default.nix @@ -28,12 +28,15 @@ stdenv.mkDerivation { sha256 = "181sz6l5xrj5jvwg4m2yqsjzwp2s5h8v0mwhjcwbam90kdfx2nak"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild ]; + buildInputs = [ topkg ]; propagatedBuildInputs = [ uchar result gg ] ++ optionals pdfBackend [ uutf otfm ] ++ optionals htmlcBackend [ js_of_ocaml js_of_ocaml-ppx ]; + strictDeps = true; + buildPhase = topkg.buildPhase + " --with-uutf ${boolToString pdfBackend}" + " --with-otfm ${boolToString pdfBackend}" diff --git a/pkgs/development/ocaml-modules/webbrowser/default.nix b/pkgs/development/ocaml-modules/webbrowser/default.nix index 6a21a1e1f751..a8adced93882 100644 --- a/pkgs/development/ocaml-modules/webbrowser/default.nix +++ b/pkgs/development/ocaml-modules/webbrowser/default.nix @@ -11,9 +11,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; - buildInputs = []; + buildInputs = [ topkg ]; propagatedBuildInputs = [ astring bos cmdliner rresult ]; + strictDeps = true; + inherit (topkg) buildPhase installPhase; meta = { diff --git a/pkgs/development/ocaml-modules/xml-light/default.nix b/pkgs/development/ocaml-modules/xml-light/default.nix index 683d2ec214f1..8eb700a4d14a 100644 --- a/pkgs/development/ocaml-modules/xml-light/default.nix +++ b/pkgs/development/ocaml-modules/xml-light/default.nix @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-2txmkl/ZN5RGaLQJmr+orqwB4CbFk2RpLJd4gr7kPiE="; }; - buildInputs = [ ocaml findlib ]; + nativeBuildInputs = [ ocaml findlib ]; + + strictDeps = true; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix index 43b0bf5faa7e..f7aa1fdf113e 100644 --- a/pkgs/development/ocaml-modules/xmlm/default.nix +++ b/pkgs/development/ocaml-modules/xmlm/default.nix @@ -17,7 +17,10 @@ stdenv.mkDerivation rec { sha256 = "1rrdxg5kh9zaqmgapy9bhdqyxbbvxxib3bdfg1vhw4rrkp1z0x8n"; }; - buildInputs = [ ocaml findlib ocamlbuild topkg ]; + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg ]; + + strictDeps = true; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/z3/default.nix b/pkgs/development/ocaml-modules/z3/default.nix index 43fc5b245c8d..b17f29b43531 100644 --- a/pkgs/development/ocaml-modules/z3/default.nix +++ b/pkgs/development/ocaml-modules/z3/default.nix @@ -29,9 +29,11 @@ stdenv.mkDerivation { runHook postInstall ''; - buildInputs = [ findlib ]; + nativeBuildInputs = [ findlib ]; propagatedBuildInputs = [ zarith ]; + strictDeps = true; + meta = z3.meta // { description = "Z3 Theorem Prover (OCaml API)"; }; diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix index 1c3da92273ce..5c3153a88493 100644 --- a/pkgs/development/tools/ocaml/camlidl/default.nix +++ b/pkgs/development/tools/ocaml/camlidl/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "0483cs66zsxsavcllpw1qqvyhxb39ddil3h72clcd69g7fyxazl5"; }; - buildInputs = [ ocaml ]; + nativeBuildInputs = [ ocaml ]; # build fails otherwise enableParallelBuilding = false; diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix index 831360cd858d..2d030b2d1560 100644 --- a/pkgs/development/tools/ocaml/merlin/4.x.nix +++ b/pkgs/development/tools/ocaml/merlin/4.x.nix @@ -57,11 +57,19 @@ buildDunePackage { useDune2 = true; + strictDeps = true; + + nativeBuildInputs = [ + menhir + jq + ]; buildInputs = [ dot-merlin-reader yojson csexp result + menhirSdk + menhirLib ]; doCheck = true; @@ -71,12 +79,6 @@ buildDunePackage { dune runtest # filtering with -p disables tests runHook postCheck ''; - checkInputs = [ - jq - menhir - menhirLib - menhirSdk - ]; meta = with lib; { description = "An editor-independent tool to ease the development of programs in OCaml"; diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix index 1c9b549d6120..3db5d1377831 100644 --- a/pkgs/development/tools/ocaml/merlin/default.nix +++ b/pkgs/development/tools/ocaml/merlin/default.nix @@ -1,5 +1,5 @@ { lib, fetchurl, buildDunePackage, substituteAll -, dot-merlin-reader, dune_2, yojson, csexp, result }: +, dot-merlin-reader, dune_2, yojson, csexp, result, menhirSdk }: buildDunePackage rec { pname = "merlin"; @@ -22,7 +22,9 @@ buildDunePackage rec { }) ]; - buildInputs = [ dot-merlin-reader yojson csexp result ]; + strictDeps = true; + + buildInputs = [ dot-merlin-reader yojson csexp result menhirSdk ]; meta = with lib; { description = "An editor-independent tool to ease the development of programs in OCaml"; diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix index 10c7bf63aa41..d35ddbe210bf 100644 --- a/pkgs/development/tools/ocaml/oasis/default.nix +++ b/pkgs/development/tools/ocaml/oasis/default.nix @@ -13,11 +13,15 @@ stdenv.mkDerivation { createFindlibDestdir = true; - buildInputs = + strictDeps = true; + + nativeBuildInputs = [ ocaml findlib ocamlbuild ocamlmod ocamlify ]; + buildInputs = [ ocamlbuild ]; + configurePhase = '' runHook preConfigure ocaml setup.ml -configure --prefix $out diff --git a/pkgs/development/tools/ocaml/obelisk/default.nix b/pkgs/development/tools/ocaml/obelisk/default.nix index 0d92840a82be..a37a8c8b3927 100644 --- a/pkgs/development/tools/ocaml/obelisk/default.nix +++ b/pkgs/development/tools/ocaml/obelisk/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, ocamlPackages }: +{ lib, fetchFromGitHub, ocamlPackages, menhir }: ocamlPackages.buildDunePackage rec { pname = "obelisk"; @@ -11,7 +11,10 @@ ocamlPackages.buildDunePackage rec { sha256 = "1jjaqa2b7msl9qd3x7j34vdh1s9alq8hbvzk8a5srb4yyfyim15b"; }; - buildInputs = with ocamlPackages; [ menhir re ]; + strictDeps = true; + + nativeBuildInputs = [ menhir ]; + buildInputs = with ocamlPackages; [ re ]; meta = { description = "A simple tool which produces pretty-printed output from a Menhir parser file (.mly)"; diff --git a/pkgs/development/tools/ocaml/ocamlformat/generic.nix b/pkgs/development/tools/ocaml/ocamlformat/generic.nix index 5686e33f9b73..7cd3196317fa 100644 --- a/pkgs/development/tools/ocaml/ocamlformat/generic.nix +++ b/pkgs/development/tools/ocaml/ocamlformat/generic.nix @@ -48,6 +48,12 @@ buildDunePackage { useDune2 = true; + strictDeps = true; + + nativeBuildInputs = [ + menhir + ]; + buildInputs = if lib.versionAtLeast version "0.20.0" then [ @@ -57,7 +63,6 @@ buildDunePackage { either fix fpath - menhir menhirLib menhirSdk ocaml-version @@ -78,7 +83,6 @@ buildDunePackage { uuseg uutf fix - menhir menhirLib menhirSdk ocp-indent @@ -96,7 +100,6 @@ buildDunePackage { uuseg uutf fix - menhir menhirLib menhirSdk dune-build-info @@ -115,7 +118,6 @@ buildDunePackage { uuseg uutf fix - menhir menhirLib menhirSdk dune-build-info @@ -135,7 +137,6 @@ buildDunePackage { uuseg uutf fix - menhir menhirLib menhirSdk (ppxlib.override { version = "0.18.0"; }) @@ -154,7 +155,6 @@ buildDunePackage { uuseg uutf fix - menhir menhirLib menhirSdk ] else [ diff --git a/pkgs/development/tools/ocaml/ocp-index/default.nix b/pkgs/development/tools/ocaml/ocp-index/default.nix index 716e2679a94a..1ca8cfb5c52c 100644 --- a/pkgs/development/tools/ocaml/ocp-index/default.nix +++ b/pkgs/development/tools/ocaml/ocp-index/default.nix @@ -13,7 +13,10 @@ buildDunePackage rec { sha256 = "120w72fqymjp6ibicbp31jyx9yv34mdvgkr0zdfpzvfb7lgd8rc7"; }; - buildInputs = [ cppo cmdliner re ]; + strictDeps = true; + + nativeBuildInputs = [ cppo ]; + buildInputs = [ cmdliner re ]; propagatedBuildInputs = [ ocp-indent ]; diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix index 913871314cfe..a31b6f6f6f9e 100644 --- a/pkgs/development/tools/ocaml/utop/default.nix +++ b/pkgs/development/tools/ocaml/utop/default.nix @@ -17,8 +17,7 @@ buildDunePackage rec { sha256 = "0mi571ifjzq4wcjarn8q1b7yl8nxjm1jfx3afac224lqwn6bhb2d"; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ cppo ]; + nativeBuildInputs = [ makeWrapper cppo ]; propagatedBuildInputs = [ lambdaTerm ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 247298df58e6..dfab30d58f06 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15322,7 +15322,7 @@ with pkgs; nrfutil = callPackage ../development/tools/misc/nrfutil { }; - obelisk = callPackage ../development/tools/ocaml/obelisk { }; + obelisk = callPackage ../development/tools/ocaml/obelisk { menhir = ocamlPackages.menhir; }; obuild = callPackage ../development/tools/ocaml/obuild { }; From 2daa686c8c36f8b269554314e382d2fe7697e0c2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 24 Feb 2022 16:59:36 +0000 Subject: [PATCH 35/83] natural-docs: 2.1.1 -> 2.2 --- pkgs/applications/misc/natural-docs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/natural-docs/default.nix b/pkgs/applications/misc/natural-docs/default.nix index 15816b669286..be4bd5f430fa 100644 --- a/pkgs/applications/misc/natural-docs/default.nix +++ b/pkgs/applications/misc/natural-docs/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "natural-docs"; - version = "2.1.1"; + version = "2.2"; src = fetchzip { url = "https://naturaldocs.org/download/natural_docs/${version}/Natural_Docs_${version}.zip"; - sha256 = "03fizjgvhiw3lqyykqw1whdh97xyiy3f226c1348ll61ryjxamqw"; + sha256 = "sha256-W0E9wamzABnPleVhHHXTIdWJk8kWnrUHojM+pcsowy8="; }; dontPatch = true; From fd61918dfdd9c16d17f4905587537ce9d743f747 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 24 Feb 2022 17:12:30 +0000 Subject: [PATCH 36/83] monit: 5.30.0 -> 5.31.0 --- pkgs/tools/system/monit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix index 96c1c91591dd..0f116c046184 100644 --- a/pkgs/tools/system/monit/default.nix +++ b/pkgs/tools/system/monit/default.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { pname = "monit"; - version = "5.30.0"; + version = "5.31.0"; src = fetchurl { url = "${meta.homepage}dist/monit-${version}.tar.gz"; - sha256 = "sha256-6FZJ36hYb0/N00oClcVd3Wmw7abPvaxHEFomc9ELEAg="; + sha256 = "sha256-6ucfKJQftmPux0waWbaVRsZZUpeWVQvZwMVE6bUqwFU="; }; nativeBuildInputs = [ bison flex ]; From 126605f9192e32462aacb8f5ea0608a223bb309e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 25 Feb 2022 12:18:30 +0000 Subject: [PATCH 37/83] minio: 2022-02-18T01-50-10Z -> 2022-02-24T22-12-01Z --- pkgs/servers/minio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix index a3f151a19aba..e05d77d8a137 100644 --- a/pkgs/servers/minio/default.nix +++ b/pkgs/servers/minio/default.nix @@ -15,16 +15,16 @@ let in buildGoModule rec { pname = "minio"; - version = "2022-02-18T01-50-10Z"; + version = "2022-02-24T22-12-01Z"; src = fetchFromGitHub { owner = "minio"; repo = "minio"; rev = "RELEASE.${version}"; - sha256 = "sha256-4SUmnUrO89hRcr2w1v6qZiY3swlIZsPgmCHa+q+iFK0="; + sha256 = "sha256-7bnT+rxQw2h1wCkXjsYm8ystU9F4EUL0KASkJmqLgXQ="; }; - vendorSha256 = "sha256-5OJntT5ed4pmugB1yw0fa906McREzv5aPuC8vBVx5o0="; + vendorSha256 = "sha256-fYpnYMt6VrC2eem8XvK8oAR1B0rQ4DV6ZWo0cLNCjCs="; doCheck = false; From 7442533bf1bda4d21ff8abeec6b4d6f0f2deffa5 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Fri, 25 Feb 2022 21:14:22 +0100 Subject: [PATCH 38/83] sage: support adding extra Python packages to environment mysage = sage.override { extraPythonPackages = ps: with ps; [ dask ]; }; Note that the sage-tests are executed again as well, which is not very nice. --- pkgs/applications/science/math/sage/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 2066087692a0..4909deca2c6e 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -1,5 +1,6 @@ { pkgs , withDoc ? false +, extraPythonPackages ? ps: [] }: # Here sage and its dependencies are put together. Some dependencies may be pinned @@ -109,7 +110,7 @@ let rpy2 sphinx pillow - ]; + ] ++ extraPythonPackages python3.pkgs; pythonEnv = python3.buildEnv.override { extraLibs = pythonRuntimeDeps; From 330d9344d2880aacca1f5bd330d46f6c014d9cb0 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Fri, 25 Feb 2022 21:24:38 +0100 Subject: [PATCH 39/83] sage: make it possible not to rebuild sage-tests Requiring sage-tests as build input just so it gets build is a bit unfortunatey but understandable. This commit introduces an option to not add sage-tests as a dependency. This is preferred in case e.g. Python packages are added to the environment. --- pkgs/applications/science/math/sage/default.nix | 3 ++- pkgs/applications/science/math/sage/sage.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 4909deca2c6e..70e24e2608d0 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -1,5 +1,6 @@ { pkgs , withDoc ? false +, requireSageTests ? true , extraPythonPackages ? ps: [] }: @@ -167,5 +168,5 @@ in # A wrapper around sage that makes sure sage finds its docs (if they were build). callPackage ./sage.nix { inherit sage-tests sage-with-env sagedoc jupyter-kernel-definition; - inherit withDoc; + inherit withDoc requireSageTests; } diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix index 5805a5c7b0c7..96122fba5ab4 100644 --- a/pkgs/applications/science/math/sage/sage.nix +++ b/pkgs/applications/science/math/sage/sage.nix @@ -6,6 +6,7 @@ , jupyter-kernel , sagedoc , withDoc +, requireSageTests }: # A wrapper that makes sure sage finds its docs (if they were build) and the @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { buildInputs = [ makeWrapper - + ] ++ lib.optionals requireSageTests [ # This is a hack to make sure sage-tests is evaluated. It doesn't acutally # produce anything of value, it just decouples the tests from the build. sage-tests From 01e0cb64c9ab3369e667d5a37f113551e3a7e9c7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Feb 2022 07:12:00 +0000 Subject: [PATCH 40/83] htslib: 1.14 -> 1.15 --- pkgs/development/libraries/science/biology/htslib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix index 8a9df7601d28..d93b4fb2a5a7 100644 --- a/pkgs/development/libraries/science/biology/htslib/default.nix +++ b/pkgs/development/libraries/science/biology/htslib/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "htslib"; - version = "1.14"; + version = "1.15"; src = fetchurl { url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-7SIbj1L0gS+BDuvgzFbNg1WlydIcYtFCrAWtDaFHk18="; + sha256 = "sha256-Gp9JkRUDoi9WgXzILqm4f7fnRntf+YnKWqYcEufVMtk="; }; # perl is only used during the check phase. From 6e1e1ddf070a703c51f77ffa7aa176c339dc055a Mon Sep 17 00:00:00 2001 From: Dmitry Kalinkin Date: Sun, 27 Feb 2022 00:34:56 -0500 Subject: [PATCH 41/83] python3Packages.ipython: disable clipboard test on darwin (targeting master) --- pkgs/development/python-modules/ipython/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix index cee9868cfacb..432f83e75cc5 100644 --- a/pkgs/development/python-modules/ipython/default.nix +++ b/pkgs/development/python-modules/ipython/default.nix @@ -26,7 +26,7 @@ , testpath }: -buildPythonPackage rec { +buildPythonPackage (rec { pname = "ipython"; version = "8.0.1"; format = "pyproject"; @@ -82,4 +82,8 @@ buildPythonPackage rec { license = licenses.bsd3; maintainers = with maintainers; [ bjornfor fridh ]; }; -} +} // lib.optionalAttrs stdenv.isDarwin { + disabledTests = [ + "test_clipboard_get" # uses pbpaste + ]; +}) From aa23e9cdb4fbe367a7aceee96a00d5865fafeb50 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 11:40:41 +0000 Subject: [PATCH 42/83] minio-client: 2022-02-23T03-15-59Z -> 2022-02-26T03-58-31Z --- pkgs/tools/networking/minio-client/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix index 7423abc82858..cee280c8ec9e 100644 --- a/pkgs/tools/networking/minio-client/default.nix +++ b/pkgs/tools/networking/minio-client/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "minio-client"; - version = "2022-02-23T03-15-59Z"; + version = "2022-02-26T03-58-31Z"; src = fetchFromGitHub { owner = "minio"; repo = "mc"; rev = "RELEASE.${version}"; - sha256 = "sha256-XiCOVFVKc1emujrZ5I93steH606bgvvNzqZJZT1Dk2E="; + sha256 = "sha256-9JA9xwg+U8BQa66xPVghaGZQO5+efwG8/CqAXm2kg3Q="; }; - vendorSha256 = "sha256-6t2H8ub8tLPAschB5091rpPjOtT1eoGUFFaAm/le7No="; + vendorSha256 = "sha256-mk0ga3o6LeZ4uwV3vlP6qyFXLiORwNQLhXoCxSmvXsU="; subPackages = [ "." ]; From 5668e6309f97e4a35e60bbb21f5d442ac92cb588 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 12:10:57 +0000 Subject: [PATCH 43/83] python310Packages.rpyc: 5.0.1 -> 5.1.0 --- pkgs/development/python-modules/rpyc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/rpyc/default.nix b/pkgs/development/python-modules/rpyc/default.nix index 61a2f1e75605..a8849fd17cd3 100644 --- a/pkgs/development/python-modules/rpyc/default.nix +++ b/pkgs/development/python-modules/rpyc/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "rpyc"; - version = "5.0.1"; + version = "5.1.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "tomerfiliba"; repo = pname; rev = version; - sha256 = "1g75k4valfjgab00xri4pf8c8bb2zxkhgkpyy44fjk7s5j66daa1"; + sha256 = "sha256-Xeot4QEgTZjvdO0ydmKjccp6zwC93Yp/HkRlSgyDf8k="; }; propagatedBuildInputs = [ From 9a07db13ca03d93362edb6e6a7ab22813f6f6ba8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 13:00:56 +0000 Subject: [PATCH 44/83] nfpm: 2.13.0 -> 2.14.0 --- pkgs/tools/package-management/nfpm/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix index 459f21756bdf..dc877ee2d812 100644 --- a/pkgs/tools/package-management/nfpm/default.nix +++ b/pkgs/tools/package-management/nfpm/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "nfpm"; - version = "2.13.0"; + version = "2.14.0"; src = fetchFromGitHub { owner = "goreleaser"; repo = pname; rev = "v${version}"; - sha256 = "sha256-7wEwTw/CMKS9K377oXfGkJoRnAmBLjvZTNZzRMorWEM="; + sha256 = "sha256-KZeamXMhTX8CbPR66f4ij29GsIvzSbDUZtla+EXPRG4="; }; - vendorSha256 = "sha256-VzkfqIWkcMwQeGzisw7JBQyTNVz+m7wF6N65MtOFyEc="; + vendorSha256 = "sha256-j4ebzVOzlmQwSkP8epDGClT7fhSUtC6uWdcoo+tFbnc="; doCheck = false; From 64ba26f745354ace38e955ca0554b0825c901ce3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 13:34:27 +0000 Subject: [PATCH 45/83] purescript: 0.14.6 -> 0.14.7 --- .../development/compilers/purescript/purescript/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index 5dd2b6a23b1a..cbf36516465b 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -18,7 +18,7 @@ let in stdenv.mkDerivation rec { pname = "purescript"; - version = "0.14.6"; + version = "0.14.7"; # These hashes can be updated automatically by running the ./update.sh script. src = @@ -26,12 +26,12 @@ in stdenv.mkDerivation rec { then fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz"; - sha256 = "0yfl4galaqzbbkql2vfsg4zrc5cv037286764kv8qibdk2yrhap3"; + sha256 = "0pc07xv5h7jgiy04rcrnsjb97nk5zs7jrvcsqggn0izlnrcyi8rc"; } else fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz"; - sha256 = "01mf850a9jhqba6a3hsbl9fjxp2khplwnlr15wzp637s5vf7rd79"; + sha256 = "0vcjxb1v76wg4hmisnw0pp6wl0pwp4fa19cw08zdhgy62w06mqfa"; }; From f04b4d064033a7adfb4d1c1838192e63c6239165 Mon Sep 17 00:00:00 2001 From: Ivan Popovych Date: Sun, 27 Feb 2022 17:07:11 +0200 Subject: [PATCH 46/83] calibre: 5.34.0 -> 5.37.0 --- pkgs/applications/misc/calibre/default.nix | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 1d6af843e2fd..5b3231856482 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -23,15 +23,16 @@ , xdg-utils , removeReferencesTo , libstemmer +, wrapGAppsHook }: mkDerivation rec { pname = "calibre"; - version = "5.34.0"; + version = "5.37.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz"; - hash = "sha256-1NQB7vrcU0hR308/8keUn/rHhdvJk5Ab0pOMPyiU1+M="; + hash = "sha256-x2u4v0k05WMATSsuo76NnqChIz8BcTuZfPkZa0uLnMY="; }; # https://sources.debian.org/patches/calibre/${version}+dfsg-1 @@ -62,7 +63,7 @@ mkDerivation rec { dontUseQmakeConfigure = true; - nativeBuildInputs = [ pkg-config qmake removeReferencesTo ]; + nativeBuildInputs = [ pkg-config qmake removeReferencesTo wrapGAppsHook ]; buildInputs = [ chmlib @@ -154,7 +155,6 @@ mkDerivation rec { # Wrap manually dontWrapQtApps = true; - dontWrapGApps = true; # Remove some references to shrink the closure size. This reference (as of # 2018-11-06) was a single string like the following: @@ -166,7 +166,6 @@ mkDerivation rec { for program in $out/bin/*; do wrapProgram $program \ ''${qtWrapperArgs[@]} \ - ''${gappsWrapperArgs[@]} \ --prefix PYTHONPATH : $PYTHONPATH \ --prefix PATH : ${poppler_utils.out}/bin done From c596cb7cb25a60a94f7dc21601497c7fb7fb5f7c Mon Sep 17 00:00:00 2001 From: Ole Kristian Pedersen Date: Sun, 27 Feb 2022 16:56:10 +0100 Subject: [PATCH 47/83] omnisharp-roslyn: support Darwin --- pkgs/development/tools/omnisharp-roslyn/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix index 7fd1fff89d20..1099e7cc800c 100644 --- a/pkgs/development/tools/omnisharp-roslyn/default.nix +++ b/pkgs/development/tools/omnisharp-roslyn/default.nix @@ -98,7 +98,7 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "OmniSharp based on roslyn workspaces"; homepage = "https://github.com/OmniSharp/omnisharp-roslyn"; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.mit; maintainers = with maintainers; [ tesq0 ericdallo corngood ]; }; From e2ba45f5abc7332b07d57d9cb17ea9da3b3a8887 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 27 Feb 2022 18:42:36 +0100 Subject: [PATCH 48/83] llvmPackages_14: Copy the files from llvmPackages_git --- .../compilers/llvm/14/bintools/default.nix | 29 ++ .../compilers/llvm/14/clang/default.nix | 131 +++++++++ .../llvm/14/clang/gnu-install-dirs.patch | 235 +++++++++++++++ .../compilers/llvm/14/clang/purity.patch | 28 ++ .../compiler-rt/X86-support-extension.patch | 21 ++ .../llvm/14/compiler-rt/armv7l.patch | 32 ++ .../llvm/14/compiler-rt/codesign.patch | 33 +++ .../darwin-targetconditionals.patch | 71 +++++ .../compilers/llvm/14/compiler-rt/default.nix | 126 ++++++++ .../14/compiler-rt/gnu-install-dirs.patch | 55 ++++ .../llvm/14/compiler-rt/normalize-var.patch | 16 + .../development/compilers/llvm/14/default.nix | 278 ++++++++++++++++++ .../compilers/llvm/14/libcxx/default.nix | 89 ++++++ .../llvm/14/libcxx/gnu-install-dirs.patch | 85 ++++++ .../compilers/llvm/14/libcxxabi/default.nix | 86 ++++++ .../llvm/14/libcxxabi/gnu-install-dirs.patch | 46 +++ .../compilers/llvm/14/libcxxabi/wasm.patch | 16 + .../compilers/llvm/14/libunwind/default.nix | 47 +++ .../llvm/14/libunwind/gnu-install-dirs.patch | 65 ++++ .../compilers/llvm/14/lld/default.nix | 55 ++++ .../llvm/14/lld/fix-root-src-dir.patch | 13 + .../llvm/14/lld/gnu-install-dirs.patch | 22 ++ .../compilers/llvm/14/lldb/default.nix | 144 +++++++++ .../llvm/14/lldb/gnu-install-dirs.patch | 36 +++ .../compilers/llvm/14/lldb/procfs.patch | 31 ++ .../compilers/llvm/14/lldb/resource-dir.patch | 13 + .../compilers/llvm/14/llvm/default.nix | 254 ++++++++++++++++ .../llvm/14/llvm/gnu-install-dirs-polly.patch | 102 +++++++ .../llvm/14/llvm/gnu-install-dirs.patch | 220 ++++++++++++++ .../compilers/llvm/14/openmp/default.nix | 54 ++++ .../llvm/14/openmp/fix-find-tool.patch | 54 ++++ .../llvm/14/openmp/gnu-install-dirs.patch | 89 ++++++ 32 files changed, 2576 insertions(+) create mode 100644 pkgs/development/compilers/llvm/14/bintools/default.nix create mode 100644 pkgs/development/compilers/llvm/14/clang/default.nix create mode 100644 pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/clang/purity.patch create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/X86-support-extension.patch create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/armv7l.patch create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/codesign.patch create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/darwin-targetconditionals.patch create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/default.nix create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/compiler-rt/normalize-var.patch create mode 100644 pkgs/development/compilers/llvm/14/default.nix create mode 100644 pkgs/development/compilers/llvm/14/libcxx/default.nix create mode 100644 pkgs/development/compilers/llvm/14/libcxx/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/libcxxabi/default.nix create mode 100644 pkgs/development/compilers/llvm/14/libcxxabi/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/libcxxabi/wasm.patch create mode 100644 pkgs/development/compilers/llvm/14/libunwind/default.nix create mode 100644 pkgs/development/compilers/llvm/14/libunwind/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/lld/default.nix create mode 100644 pkgs/development/compilers/llvm/14/lld/fix-root-src-dir.patch create mode 100644 pkgs/development/compilers/llvm/14/lld/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/lldb/default.nix create mode 100644 pkgs/development/compilers/llvm/14/lldb/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/lldb/procfs.patch create mode 100644 pkgs/development/compilers/llvm/14/lldb/resource-dir.patch create mode 100644 pkgs/development/compilers/llvm/14/llvm/default.nix create mode 100644 pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs-polly.patch create mode 100644 pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs.patch create mode 100644 pkgs/development/compilers/llvm/14/openmp/default.nix create mode 100644 pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch create mode 100644 pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch diff --git a/pkgs/development/compilers/llvm/14/bintools/default.nix b/pkgs/development/compilers/llvm/14/bintools/default.nix new file mode 100644 index 000000000000..53f7941e3369 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/bintools/default.nix @@ -0,0 +1,29 @@ +{ runCommand, stdenv, llvm, lld, version }: + +let + prefix = + if stdenv.hostPlatform != stdenv.targetPlatform + then "${stdenv.targetPlatform.config}-" + else ""; +in runCommand "llvm-binutils-${version}" { preferLocalBuild = true; } '' + mkdir -p $out/bin + for prog in ${lld}/bin/*; do + ln -s $prog $out/bin/${prefix}$(basename $prog) + done + for prog in ${llvm}/bin/*; do + ln -sf $prog $out/bin/${prefix}$(basename $prog) + done + + ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar + ln -s ${llvm}/bin/llvm-as $out/bin/${prefix}as + ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp + ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm + ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy + ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump + ln -s ${llvm}/bin/llvm-ranlib $out/bin/${prefix}ranlib + ln -s ${llvm}/bin/llvm-readelf $out/bin/${prefix}readelf + ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size + ln -s ${llvm}/bin/llvm-strip $out/bin/${prefix}strip + + ln -s ${lld}/bin/lld $out/bin/${prefix}ld +'' diff --git a/pkgs/development/compilers/llvm/14/clang/default.nix b/pkgs/development/compilers/llvm/14/clang/default.nix new file mode 100644 index 000000000000..9544494b356e --- /dev/null +++ b/pkgs/development/compilers/llvm/14/clang/default.nix @@ -0,0 +1,131 @@ +{ lib, stdenv, llvm_meta +, monorepoSrc, runCommand +, substituteAll, cmake, libxml2, libllvm, version, python3 +, buildLlvmTools +, fixDarwinDylibNames +, enableManpages ? false +}: + +let + self = stdenv.mkDerivation (rec { + pname = "clang"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + ''; + + sourceRoot = "${src.name}/${pname}"; + + nativeBuildInputs = [ cmake python3 ] + ++ lib.optional enableManpages python3.pkgs.sphinx + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; + + buildInputs = [ libxml2 libllvm ]; + + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-std=c++14" + "-DCLANGD_BUILD_XPC=OFF" + "-DLLVM_ENABLE_RTTI=ON" + ] ++ lib.optionals enableManpages [ + "-DCLANG_INCLUDE_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" + "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" + ]; + + patches = [ + ./purity.patch + # https://reviews.llvm.org/D51899 + ./gnu-install-dirs.patch + (substituteAll { + src = ../../clang-11-12-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; + + postPatch = '' + (cd tools && ln -s ../../clang-tools-extra extra) + + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ + -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ + lib/Driver/ToolChains/*.cpp + + # Patch for standalone doc building + sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt + '' + lib.optionalString stdenv.hostPlatform.isMusl '' + sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp + ''; + + outputs = [ "out" "lib" "dev" "python" ]; + + postInstall = '' + ln -sv $out/bin/clang $out/bin/cpp + + # Move libclang to 'lib' output + moveToOutput "lib/libclang.*" "$lib" + moveToOutput "lib/libclang-cpp.*" "$lib" + substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." + + mkdir -p $python/bin $python/share/clang/ + mv $out/bin/{git-clang-format,scan-view} $python/bin + if [ -e $out/bin/set-xcode-analyzer ]; then + mv $out/bin/set-xcode-analyzer $python/bin + fi + mv $out/share/clang/*.py $python/share/clang + rm $out/bin/c-index-test + + mkdir -p $dev/bin + cp bin/clang-tblgen $dev/bin + ''; + + passthru = { + isClang = true; + inherit libllvm; + }; + + meta = llvm_meta // { + homepage = "https://clang.llvm.org/"; + description = "A C language family frontend for LLVM"; + longDescription = '' + The Clang project provides a language front-end and tooling + infrastructure for languages in the C language family (C, C++, Objective + C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. + It aims to deliver amazingly fast compiles, extremely useful error and + warning messages and to provide a platform for building great source + level tools. The Clang Static Analyzer and clang-tidy are tools that + automatically find bugs in your code, and are great examples of the sort + of tools that can be built using the Clang frontend as a library to + parse C/C++ code. + ''; + }; + } // lib.optionalAttrs enableManpages { + pname = "clang-manpages"; + + buildPhase = '' + make docs-clang-man + ''; + + installPhase = '' + mkdir -p $out/share/man/man1 + # Manually install clang manpage + cp docs/man/*.1 $out/share/man/man1/ + ''; + + outputs = [ "out" ]; + + doCheck = false; + + meta = llvm_meta // { + description = "man page for Clang ${version}"; + }; + }); +in self diff --git a/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch new file mode 100644 index 000000000000..a8825f08850e --- /dev/null +++ b/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch @@ -0,0 +1,235 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7ea37850ad60..ac0f2d4f60b4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.13.4) + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + project(Clang) + ++ include(GNUInstallDirs) ++ + set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to conform to") + set(CMAKE_CXX_STANDARD_REQUIRED YES) + set(CMAKE_CXX_EXTENSIONS NO) +@@ -424,7 +426,7 @@ include_directories(BEFORE + + if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + install(DIRECTORY include/clang include/clang-c +- DESTINATION include ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT clang-headers + FILES_MATCHING + PATTERN "*.def" +@@ -433,7 +435,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + ) + + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang +- DESTINATION include ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT clang-headers + FILES_MATCHING + PATTERN "CMakeFiles" EXCLUDE +@@ -453,7 +455,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + + add_custom_target(bash-autocomplete DEPENDS utils/bash-autocomplete.sh) + install(PROGRAMS utils/bash-autocomplete.sh +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT bash-autocomplete) + if(NOT LLVM_ENABLE_IDE) + add_llvm_install_targets(install-bash-autocomplete +diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake +index 5752f4277444..5bf08dbf5e83 100644 +--- a/cmake/modules/AddClang.cmake ++++ b/cmake/modules/AddClang.cmake +@@ -118,9 +118,9 @@ macro(add_clang_library name) + install(TARGETS ${lib} + COMPONENT ${lib} + ${export_to_clangtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- RUNTIME DESTINATION bin) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + if (NOT LLVM_ENABLE_IDE) + add_llvm_install_targets(install-${lib} +@@ -159,7 +159,7 @@ macro(add_clang_tool name) + get_target_export_arg(${name} Clang export_to_clangtargets) + install(TARGETS ${name} + ${export_to_clangtargets} +- RUNTIME DESTINATION bin ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT ${name}) + + if(NOT LLVM_ENABLE_IDE) +@@ -174,7 +174,7 @@ endmacro() + macro(add_clang_symlink name dest) + add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) + # Always generate install targets +- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) ++ llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) + endmacro() + + function(clang_target_link_libraries target type) +diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt +index 078988980c52..14b58614b40a 100644 +--- a/lib/Headers/CMakeLists.txt ++++ b/lib/Headers/CMakeLists.txt +@@ -234,7 +234,7 @@ set_target_properties(clang-resource-headers PROPERTIES + FOLDER "Misc" + RUNTIME_OUTPUT_DIRECTORY "${output_dir}") + +-set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) ++set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) + + install( + FILES ${files} ${generated_files} +diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt +index 99c6081db2d6..0887102febb3 100644 +--- a/tools/c-index-test/CMakeLists.txt ++++ b/tools/c-index-test/CMakeLists.txt +@@ -49,7 +49,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH + "@executable_path/../../lib") + else() +- set(INSTALL_DESTINATION bin) ++ set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + + install(TARGETS c-index-test +diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt +index 35ecdb11253c..d77d75de0094 100644 +--- a/tools/clang-format/CMakeLists.txt ++++ b/tools/clang-format/CMakeLists.txt +@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE ) + endif() + + install(PROGRAMS clang-format-bbedit.applescript +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-format) + install(PROGRAMS clang-format-diff.py +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-format) + install(PROGRAMS clang-format-sublime.py +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-format) + install(PROGRAMS clang-format.el +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-format) + install(PROGRAMS clang-format.py +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-format) + install(PROGRAMS git-clang-format +- DESTINATION bin ++ DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT clang-format) +diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt +index cda8e29ec5b1..0134d8ccd70b 100644 +--- a/tools/clang-rename/CMakeLists.txt ++++ b/tools/clang-rename/CMakeLists.txt +@@ -19,8 +19,8 @@ clang_target_link_libraries(clang-rename + ) + + install(PROGRAMS clang-rename.py +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-rename) + install(PROGRAMS clang-rename.el +- DESTINATION share/clang ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang + COMPONENT clang-rename) +diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt +index bf88dca0a34b..7a10181e7738 100644 +--- a/tools/libclang/CMakeLists.txt ++++ b/tools/libclang/CMakeLists.txt +@@ -186,7 +186,7 @@ endif() + if(INTERNAL_INSTALL_PREFIX) + set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include") + else() +- set(LIBCLANG_HEADERS_INSTALL_DESTINATION include) ++ set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + endif() + + install(DIRECTORY ../../include/clang-c +@@ -216,7 +216,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) + COMPONENT + libclang-python-bindings + DESTINATION +- "lib${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") ++ "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/python${PythonVersion}/site-packages") + endforeach() + if(NOT LLVM_ENABLE_IDE) + add_custom_target(libclang-python-bindings) +diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt +index 74334e53c9b1..ebaae33e4324 100644 +--- a/tools/scan-build/CMakeLists.txt ++++ b/tools/scan-build/CMakeLists.txt +@@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION bin ++ DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT scan-build) + endforeach() + +@@ -61,7 +61,7 @@ if(CLANG_INSTALL_SCANBUILD) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}) + install(PROGRAMS libexec/${LibexecFile} +- DESTINATION libexec ++ DESTINATION ${CMAKE_INSTALL_LIBEXECDIR} + COMPONENT scan-build) + endforeach() + +@@ -89,7 +89,7 @@ if(CLANG_INSTALL_SCANBUILD) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}) + install(FILES share/scan-build/${ShareFile} +- DESTINATION share/scan-build ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build + COMPONENT scan-build) + endforeach() + +diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt +index eccc6b83195b..ff72d9cf0666 100644 +--- a/tools/scan-view/CMakeLists.txt ++++ b/tools/scan-view/CMakeLists.txt +@@ -20,7 +20,7 @@ if(CLANG_INSTALL_SCANVIEW) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION bin ++ DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT scan-view) + endforeach() + +@@ -34,7 +34,7 @@ if(CLANG_INSTALL_SCANVIEW) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile}) + install(FILES share/${ShareFile} +- DESTINATION share/scan-view ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view + COMPONENT scan-view) + endforeach() + +diff --git a/utils/hmaptool/CMakeLists.txt b/utils/hmaptool/CMakeLists.txt +index 62f2de0cb15c..6aa66825b6ec 100644 +--- a/utils/hmaptool/CMakeLists.txt ++++ b/utils/hmaptool/CMakeLists.txt +@@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM + + list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL}) + install(PROGRAMS ${CLANG_HMAPTOOL} +- DESTINATION bin ++ DESTINATION ${CMAKE_INSTALL_BINDIR} + COMPONENT hmaptool) + + add_custom_target(hmaptool ALL DEPENDS ${Depends}) diff --git a/pkgs/development/compilers/llvm/14/clang/purity.patch b/pkgs/development/compilers/llvm/14/clang/purity.patch new file mode 100644 index 000000000000..deb230a36c5b --- /dev/null +++ b/pkgs/development/compilers/llvm/14/clang/purity.patch @@ -0,0 +1,28 @@ +From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Thu, 18 May 2017 11:56:12 -0500 +Subject: [PATCH] "purity" patch for 5.0 + +--- + lib/Driver/ToolChains/Gnu.cpp | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +index fe3c0191bb..c6a482bece 100644 +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -487,12 +487,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, + if (!IsStatic) { + if (Args.hasArg(options::OPT_rdynamic)) + CmdArgs.push_back("-export-dynamic"); +- +- if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) { +- CmdArgs.push_back("-dynamic-linker"); +- CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) + +- ToolChain.getDynamicLinker(Args))); +- } + } + + CmdArgs.push_back("-o"); +-- +2.11.0 diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/X86-support-extension.patch b/pkgs/development/compilers/llvm/14/compiler-rt/X86-support-extension.patch new file mode 100644 index 000000000000..66742e5b1498 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/X86-support-extension.patch @@ -0,0 +1,21 @@ +diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt +index 3a66dd9c3fb..7efc85d9f9f 100644 +--- a/lib/builtins/CMakeLists.txt ++++ b/lib/builtins/CMakeLists.txt +@@ -345,4 +345,8 @@ if (NOT MSVC) + ++ set(i486_SOURCES ${i386_SOURCES}) ++ set(i586_SOURCES ${i386_SOURCES}) ++ set(i686_SOURCES ${i386_SOURCES}) ++ + if (WIN32) + set(i386_SOURCES + ${i386_SOURCES} +@@ -608,6 +612,7 @@ else () + endif() + + foreach (arch ${BUILTIN_SUPPORTED_ARCH}) ++ message("arch: ${arch}") + if (CAN_TARGET_${arch}) + # For ARM archs, exclude any VFP builtins if VFP is not supported + if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/armv7l.patch b/pkgs/development/compilers/llvm/14/compiler-rt/armv7l.patch new file mode 100644 index 000000000000..120cfe6feb2a --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/armv7l.patch @@ -0,0 +1,32 @@ +diff -ur compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake +--- compiler-rt-10.0.0.src/cmake/builtin-config-ix.cmake 2020-03-24 00:01:02.000000000 +0900 ++++ compiler-rt-10.0.0.src-patched/cmake/builtin-config-ix.cmake 2020-05-10 03:42:00.883450706 +0900 +@@ -24,7 +24,7 @@ + + + set(ARM64 aarch64) +-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k) ++set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv7l) + set(HEXAGON hexagon) + set(X86 i386) + set(X86_64 x86_64) +diff -ur compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt +--- compiler-rt-10.0.0.src/lib/builtins/CMakeLists.txt 2020-03-24 00:01:02.000000000 +0900 ++++ compiler-rt-10.0.0.src-patched/lib/builtins/CMakeLists.txt 2020-05-10 03:44:49.468579650 +0900 +@@ -474,6 +474,7 @@ + set(armv7_SOURCES ${arm_SOURCES}) + set(armv7s_SOURCES ${arm_SOURCES}) + set(armv7k_SOURCES ${arm_SOURCES}) ++set(armv7l_SOURCES ${arm_SOURCES}) + set(arm64_SOURCES ${aarch64_SOURCES}) + + # macho_embedded archs +@@ -595,7 +596,7 @@ + foreach (arch ${BUILTIN_SUPPORTED_ARCH}) + if (CAN_TARGET_${arch}) + # For ARM archs, exclude any VFP builtins if VFP is not supported +- if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em)$") ++ if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7l|armv7m|armv7em)$") + string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}") + check_compile_definition(__VFP_FP__ "${CMAKE_C_FLAGS} ${_TARGET_${arch}_CFLAGS}" COMPILER_RT_HAS_${arch}_VFP) + if(NOT COMPILER_RT_HAS_${arch}_VFP) diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/codesign.patch b/pkgs/development/compilers/llvm/14/compiler-rt/codesign.patch new file mode 100644 index 000000000000..065959d14d46 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/codesign.patch @@ -0,0 +1,33 @@ +From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Tue, 19 Sep 2017 13:13:06 -0500 +Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that + needs it + +--- + cmake/Modules/AddCompilerRT.cmake | 8 ------ + test/asan/CMakeLists.txt | 52 --------------------------------------- + test/tsan/CMakeLists.txt | 47 ----------------------------------- + 3 files changed, 107 deletions(-) + +diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake +index bc69ec95c419..9f100fdcec2f 100644 +--- a/cmake/Modules/AddCompilerRT.cmake ++++ b/cmake/Modules/AddCompilerRT.cmake +@@ -366,14 +366,6 @@ function(add_compiler_rt_runtime name type) + set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "") + set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib") + endif() +- if(APPLE) +- # Ad-hoc sign the dylibs +- add_custom_command(TARGET ${libname} +- POST_BUILD +- COMMAND codesign --sign - $ +- WORKING_DIRECTORY ${COMPILER_RT_OUTPUT_LIBRARY_DIR} +- ) +- endif() + endif() + + set(parent_target_arg) +2.14.1 + diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/14/compiler-rt/darwin-targetconditionals.patch new file mode 100644 index 000000000000..425dc2af01e7 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/darwin-targetconditionals.patch @@ -0,0 +1,71 @@ +diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp +--- a/lib/sanitizer_common/sanitizer_mac.cpp ++++ b/lib/sanitizer_common/sanitizer_mac.cpp +@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) { + // Offset example: + // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4 + constexpr u16 GetOSMajorKernelOffset() { +- if (TARGET_OS_OSX) return 4; +- if (TARGET_OS_IOS || TARGET_OS_TV) return 6; +- if (TARGET_OS_WATCH) return 13; ++#if TARGET_OS_OSX ++ return 4; ++#endif ++#if TARGET_OS_IOS || TARGET_OS_TV ++ return 6; ++#endif ++#if TARGET_OS_WATCH ++ return 13; ++#endif + } + + using VersStr = char[64]; +@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) { + u16 os_major = kernel_major - offset; + + const char *format = "%d.0"; +- if (TARGET_OS_OSX) { +- if (os_major >= 16) { // macOS 11+ +- os_major -= 5; +- } else { // macOS 10.15 and below +- format = "10.%d"; +- } ++#if TARGET_OS_OSX ++ if (os_major >= 16) { // macOS 11+ ++ os_major -= 5; ++ } else { // macOS 10.15 and below ++ format = "10.%d"; + } ++#endif + return internal_snprintf(vers, sizeof(VersStr), format, os_major); + } + +@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) { + // Aligned versions example: + // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6 + static void MapToMacos(u16 *major, u16 *minor) { +- if (TARGET_OS_OSX) +- return; +- +- if (TARGET_OS_IOS || TARGET_OS_TV) ++#if !TARGET_OS_OSX ++#if TARGET_OS_IOS || TARGET_OS_TV + *major += 2; +- else if (TARGET_OS_WATCH) ++#elif TARGET_OS_WATCH + *major += 9; +- else ++#else + UNREACHABLE("unsupported platform"); ++#endif + + if (*major >= 16) { // macOS 11+ + *major -= 5; +@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) { + *minor = *major; + *major = 10; + } ++#endif + } + + static MacosVersion GetMacosAlignedVersionInternal() { diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix new file mode 100644 index 000000000000..59ca5348fed4 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix @@ -0,0 +1,126 @@ +{ lib, stdenv, llvm_meta, version +, monorepoSrc, runCommand +, cmake, python3, libllvm, libcxxabi +}: + +let + + useLLVM = stdenv.hostPlatform.useLLVM or false; + bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none"; + haveLibc = stdenv.cc.libc != null; + inherit (stdenv.hostPlatform) isMusl; + + baseName = "compiler-rt"; + + src = runCommand "${baseName}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${baseName} "$out" + ''; +in + +stdenv.mkDerivation { + pname = baseName + lib.optionalString (haveLibc) "-libc"; + inherit version; + + inherit src; + sourceRoot = "${src.name}/${baseName}"; + + nativeBuildInputs = [ cmake python3 libllvm.dev ]; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi; + + NIX_CFLAGS_COMPILE = [ + "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0" + ]; + + cmakeFlags = [ + "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" + "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" + "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" + ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ + "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" + "-DCOMPILER_RT_BUILD_XRAY=OFF" + "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" + "-DCOMPILER_RT_BUILD_PROFILE=OFF" + "-DCOMPILER_RT_BUILD_MEMPROF=OFF" + "-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary + ] ++ lib.optionals ((useLLVM || bareMetal) && !haveLibc) [ + "-DCMAKE_C_COMPILER_WORKS=ON" + "-DCMAKE_CXX_COMPILER_WORKS=ON" + "-DCOMPILER_RT_BAREMETAL_BUILD=ON" + "-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}" + ] ++ lib.optionals (useLLVM && !haveLibc) [ + "-DCMAKE_C_FLAGS=-nodefaultlibs" + ] ++ lib.optionals (useLLVM) [ + "-DCOMPILER_RT_BUILD_BUILTINS=ON" + #https://stackoverflow.com/questions/53633705/cmake-the-c-compiler-is-not-able-to-compile-a-simple-test-program + "-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY" + ] ++ lib.optionals (bareMetal) [ + "-DCOMPILER_RT_OS_DIR=baremetal" + ] ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ + "-DDARWIN_macosx_OVERRIDE_SDK_VERSION=ON" + "-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}" + "-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}" + ]; + + outputs = [ "out" "dev" ]; + + patches = [ + ./codesign.patch # Revert compiler-rt commit that makes codesign mandatory + ./X86-support-extension.patch # Add support for i486 i586 i686 by reusing i386 config + ./gnu-install-dirs.patch + # ld-wrapper dislikes `-rpath-link //nix/store`, so we normalize away the + # extra `/`. + ./normalize-var.patch + ] # Prevent a compilation error on darwin + ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch + ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; + + # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks + # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra + # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd + # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by + # a flag and turn the flag off during the stdenv build. + postPatch = lib.optionalString (!stdenv.isDarwin) '' + substituteInPlace cmake/builtin-config-ix.cmake \ + --replace 'set(X86 i386)' 'set(X86 i386 i486 i586 i686)' + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace cmake/builtin-config-ix.cmake \ + --replace 'set(ARM64 arm64 arm64e)' 'set(ARM64)' + substituteInPlace cmake/config-ix.cmake \ + --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)' + '' + lib.optionalString (useLLVM) '' + substituteInPlace lib/builtins/int_util.c \ + --replace "#include " "" + substituteInPlace lib/builtins/clear_cache.c \ + --replace "#include " "" + substituteInPlace lib/builtins/cpu_model.c \ + --replace "#include " "" + ''; + + # Hack around weird upsream RPATH bug + postInstall = lib.optionalString (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWasm) '' + ln -s "$out/lib"/*/* "$out/lib" + '' + lib.optionalString (useLLVM) '' + ln -s $out/lib/*/clang_rt.crtbegin-*.o $out/lib/crtbegin.o + ln -s $out/lib/*/clang_rt.crtend-*.o $out/lib/crtend.o + ln -s $out/lib/*/clang_rt.crtbegin_shared-*.o $out/lib/crtbeginS.o + ln -s $out/lib/*/clang_rt.crtend_shared-*.o $out/lib/crtendS.o + ''; + + meta = llvm_meta // { + homepage = "https://compiler-rt.llvm.org/"; + description = "Compiler runtime libraries"; + longDescription = '' + The compiler-rt project provides highly tuned implementations of the + low-level code generator support routines like "__fixunsdfdi" and other + calls generated when a target doesn't have a short sequence of native + instructions to implement a core IR operation. It also provides + implementations of run-time libraries for dynamic testing tools such as + AddressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer. + ''; + # "All of the code in the compiler-rt project is dual licensed under the MIT + # license and the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch new file mode 100644 index 000000000000..909b5193ffd8 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch @@ -0,0 +1,55 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c5003b5efa1d..4fffb9721284 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,8 @@ + + cmake_minimum_required(VERSION 3.13.4) + ++include(GNUInstallDirs) ++ + # Check if compiler-rt is built as a standalone project. + if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD) + project(CompilerRT C CXX ASM) +diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake +index 1ada0ab30ba0..b4be6c4a3c73 100644 +--- a/cmake/base-config-ix.cmake ++++ b/cmake/base-config-ix.cmake +@@ -66,7 +66,7 @@ if (LLVM_TREE_AVAILABLE) + else() + # Take output dir and install path from the user. + set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH +- "Path where built compiler-rt libraries should be stored.") ++ "Path where built compiler-rt build artifacts should be stored.") + set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH + "Path where built compiler-rt executables should be stored.") + set(COMPILER_RT_INSTALL_PATH "" CACHE PATH +@@ -98,23 +98,23 @@ endif() + if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(COMPILER_RT_OUTPUT_LIBRARY_DIR + ${COMPILER_RT_OUTPUT_DIR}/lib) +- extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib) ++ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}") + set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH + "Path where built compiler-rt libraries should be installed.") + else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(COMPILER_RT_OUTPUT_LIBRARY_DIR + ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR}) +- extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}") ++ extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_LIBDIR}/${COMPILER_RT_OS_DIR}") + set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH + "Path where built compiler-rt libraries should be installed.") + endif() +-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" bin) ++extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}") + set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH + "Path where built compiler-rt executables should be installed.") +-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" include) ++extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}") + set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH + "Path where compiler-rt headers should be installed.") +-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" share) ++extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}") + set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH + "Path where compiler-rt data files should be installed.") + diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/normalize-var.patch b/pkgs/development/compilers/llvm/14/compiler-rt/normalize-var.patch new file mode 100644 index 000000000000..135cf625ef78 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/compiler-rt/normalize-var.patch @@ -0,0 +1,16 @@ +diff --git a/compiler-rt/cmake/Modules/CompilerRTUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTUtils.cmake +index f1f46fb9599c..6f19e69507ba 100644 +--- a/cmake/Modules/CompilerRTUtils.cmake ++++ b/cmake/Modules/CompilerRTUtils.cmake +@@ -302,8 +302,9 @@ macro(load_llvm_config) + # Get some LLVM variables from LLVMConfig. + include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake") + +- set(LLVM_LIBRARY_OUTPUT_INTDIR +- ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) ++ get_filename_component(LLVM_LIBRARY_OUTPUT_INTDIR ++ ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX} ++ REALPATH) + endif() + endmacro() + diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix new file mode 100644 index 000000000000..0f45acffb279 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/default.nix @@ -0,0 +1,278 @@ +{ lowPrio, newScope, pkgs, lib, stdenv, cmake +, gccForLibs, preLibcCrossHeaders +, libxml2, python3, isl, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, buildLlvmTools # tools, but from the previous stage, for cross +, targetLlvmLibraries # libraries, but from the next stage, for cross +# This is the default binutils, but with *this* version of LLD rather +# than the default LLVM verion's, if LLD is the choice. We use these for +# the `useLLVM` bootstrapping below. +, bootBintoolsNoLibc ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintoolsNoLibc +, bootBintools ? + if stdenv.targetPlatform.linker == "lld" + then null + else pkgs.bintools +, darwin +}: + +let + release_version = "14.0.0"; + candidate = ""; # empty or "rcN" + dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; + rev = "fb1582f6c54422995c6fb61ba4c55126b357f64e"; # When using a Git commit + rev-version = "unstable-2022-01-07"; # When using a Git commit + version = if rev != "" then rev-version else "${release_version}${dash-candidate}"; + targetConfig = stdenv.targetPlatform.config; + + monorepoSrc = fetchFromGitHub { + owner = "llvm"; + repo = "llvm-project"; + rev = if rev != "" then rev else "llvmorg-${version}"; + sha256 = "1pkgdsscvf59i22ix763lp2z3sg0v2z2ywh0n07k3ki7q1qpqbhk"; + }; + + llvm_meta = { + license = lib.licenses.ncsa; + maintainers = with lib.maintainers; [ lovek323 raskin dtzWill primeos ]; + platforms = lib.platforms.all; + }; + + tools = lib.makeExtensible (tools: let + callPackage = newScope (tools // { inherit stdenv cmake libxml2 python3 isl release_version version monorepoSrc buildLlvmTools; }); + mkExtraBuildCommands0 = cc: '' + rsrc="$out/resource-root" + mkdir "$rsrc" + ln -s "${cc.lib}/lib/clang/${release_version}/include" "$rsrc" + echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags + ''; + mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + '' + ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" + ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share" + ''; + + bintoolsNoLibc' = + if bootBintoolsNoLibc == null + then tools.bintoolsNoLibc + else bootBintoolsNoLibc; + bintools' = + if bootBintools == null + then tools.bintools + else bootBintools; + + in { + + libllvm = callPackage ./llvm { + inherit llvm_meta; + }; + + # `llvm` historically had the binaries. When choosing an output explicitly, + # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* + llvm = tools.libllvm.out // { outputSpecified = false; }; + + libclang = callPackage ./clang { + inherit llvm_meta; + }; + + clang-unwrapped = tools.libclang.out // { outputSpecified = false; }; + + llvm-manpages = lowPrio (tools.libllvm.override { + enableManpages = true; + python3 = pkgs.python3; # don't use python-boot + }); + + clang-manpages = lowPrio (tools.libclang.override { + enableManpages = true; + python3 = pkgs.python3; # don't use python-boot + }); + + # TODO: lldb/docs/index.rst:155:toctree contains reference to nonexisting document 'design/structureddataplugins' + # lldb-manpages = lowPrio (tools.lldb.override { + # enableManpages = true; + # python3 = pkgs.python3; # don't use python-boot + # }); + + # pick clang appropriate for package set we are targeting + clang = + /**/ if stdenv.targetPlatform.useLLVM or false then tools.clangUseLLVM + else if (pkgs.targetPackages.stdenv or stdenv).cc.isGNU then tools.libstdcxxClang + else tools.libcxxClang; + + libstdcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper. + libcxx = null; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + libcxxClang = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; + extraPackages = [ + targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = mkExtraBuildCommands cc; + }; + + lld = callPackage ./lld { + inherit llvm_meta; + }; + + lldb = callPackage ./lldb { + inherit llvm_meta; + inherit (darwin) libobjc bootstrap_cmds; + inherit (darwin.apple_sdk.libs) xpc; + inherit (darwin.apple_sdk.frameworks) Foundation Carbon Cocoa; + }; + + # Below, is the LLVM bootstrapping logic. It handles building a + # fully LLVM toolchain from scratch. No GCC toolchain should be + # pulled in. As a consequence, it is very quick to build different + # targets provided by LLVM and we can also build for what GCC + # doesn’t support like LLVM. Probably we should move to some other + # file. + + bintools-unwrapped = callPackage ./bintools {}; + + bintoolsNoLibc = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + libc = preLibcCrossHeaders; + }; + + bintools = wrapBintoolsWith { + bintools = tools.bintools-unwrapped; + }; + + clangUseLLVM = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = targetLlvmLibraries.libcxx; + bintools = bintools'; + extraPackages = [ + targetLlvmLibraries.libcxxabi + targetLlvmLibraries.compiler-rt + ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ + targetLlvmLibraries.libunwind + ]; + extraBuildCommands = '' + echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags + echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm) '' + echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags + '' + lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) '' + echo "-lunwind" >> $out/nix-support/cc-ldflags + '' + lib.optionalString stdenv.targetPlatform.isWasm '' + echo "-fno-exceptions" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + clangNoLibcxx = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = '' + echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags + echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags + echo "-nostdlib++" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + clangNoLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintoolsNoLibc'; + extraPackages = [ + targetLlvmLibraries.compiler-rt + ]; + extraBuildCommands = '' + echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags + echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands cc; + }; + + clangNoCompilerRt = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintoolsNoLibc'; + extraPackages = [ ]; + extraBuildCommands = '' + echo "-nostartfiles" >> $out/nix-support/cc-cflags + '' + mkExtraBuildCommands0 cc; + }; + + clangNoCompilerRtWithLibc = wrapCCWith rec { + cc = tools.clang-unwrapped; + libcxx = null; + bintools = bintools'; + extraPackages = [ ]; + extraBuildCommands = mkExtraBuildCommands0 cc; + }; + + }); + + libraries = lib.makeExtensible (libraries: let + callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python3 isl release_version version monorepoSrc; }); + in { + + compiler-rt-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc + else stdenv; + }; + + compiler-rt-no-libc = callPackage ./compiler-rt { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoCompilerRt + else stdenv; + }; + + # N.B. condition is safe because without useLLVM both are the same. + compiler-rt = if stdenv.hostPlatform.isAndroid + then libraries.compiler-rt-libc + else libraries.compiler-rt-no-libc; + + stdenv = overrideCC stdenv buildLlvmTools.clang; + + libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; + + libcxx = callPackage ./libcxx { + inherit llvm_meta; + stdenv = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + }; + + libcxxabi = let + stdenv_ = if stdenv.hostPlatform.useLLVM or false + then overrideCC stdenv buildLlvmTools.clangNoLibcxx + else stdenv; + cxx-headers = callPackage ./libcxx { + inherit llvm_meta; + stdenv = stdenv_; + headersOnly = true; + }; + in callPackage ./libcxxabi { + stdenv = stdenv_; + inherit llvm_meta cxx-headers; + }; + + libunwind = callPackage ./libunwind { + inherit llvm_meta; + stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx; + }; + + openmp = callPackage ./openmp { + inherit llvm_meta; + }; + }); + +in { inherit tools libraries release_version; } // libraries // tools diff --git a/pkgs/development/compilers/llvm/14/libcxx/default.nix b/pkgs/development/compilers/llvm/14/libcxx/default.nix new file mode 100644 index 000000000000..8891a69937ab --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libcxx/default.nix @@ -0,0 +1,89 @@ +{ lib, stdenv, llvm_meta +, monorepoSrc, runCommand +, cmake, python3, fixDarwinDylibNames, version +, libcxxabi +, enableShared ? !stdenv.hostPlatform.isStatic + +# If headersOnly is true, the resulting package would only include the headers. +# Use this to break the circular dependency between libcxx and libcxxabi. +# +# Some context: +# https://reviews.llvm.org/rG1687f2bbe2e2aaa092f942d4a97d41fad43eedfb +, headersOnly ? false +}: + +let + basename = "libcxx"; +in + +stdenv.mkDerivation rec { + pname = basename + lib.optionalString headersOnly "-headers"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${basename} "$out" + mkdir -p "$out/libcxxabi" + cp -r ${monorepoSrc}/libcxxabi/include "$out/libcxxabi" + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + cp -r ${monorepoSrc}/llvm/utils "$out/llvm" + ''; + + sourceRoot = "${src.name}/${basename}"; + + outputs = [ "out" ] ++ lib.optional (!headersOnly) "dev"; + + patches = [ + ./gnu-install-dirs.patch + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + ../../libcxx-0001-musl-hacks.patch + ]; + + preConfigure = lib.optionalString stdenv.hostPlatform.isMusl '' + patchShebangs utils/cat_files.py + ''; + + nativeBuildInputs = [ cmake python3 ] + ++ lib.optional stdenv.isDarwin fixDarwinDylibNames; + + buildInputs = lib.optionals (!headersOnly) [ libcxxabi ]; + + cmakeFlags = [ "-DLIBCXX_CXX_ABI=libcxxabi" ] + ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1" + ++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON" + ++ lib.optionals stdenv.hostPlatform.isWasm [ + "-DLIBCXX_ENABLE_THREADS=OFF" + "-DLIBCXX_ENABLE_FILESYSTEM=OFF" + "-DLIBCXX_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optional (!enableShared) "-DLIBCXX_ENABLE_SHARED=OFF"; + + buildFlags = lib.optional headersOnly "generate-cxx-headers"; + installTargets = lib.optional headersOnly "install-cxx-headers"; + + # At this point, cxxabi headers would be installed in the dev output, which + # prevents moveToOutput from doing its job later in the build process. + postInstall = lib.optionalString (!headersOnly) '' + mv "$dev/include/c++/v1/"* "$out/include/c++/v1/" + pushd "$dev" + rmdir -p include/c++/v1 + popd + ''; + + passthru = { + isLLVM = true; + }; + + meta = llvm_meta // { + homepage = "https://libcxx.llvm.org/"; + description = "C++ standard library"; + longDescription = '' + libc++ is an implementation of the C++ standard library, targeting C++11, + C++14 and above. + ''; + # "All of the code in libc++ is dual licensed under the MIT license and the + # UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/14/libcxx/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/libcxx/gnu-install-dirs.patch new file mode 100644 index 000000000000..0f1d5c411ab8 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libcxx/gnu-install-dirs.patch @@ -0,0 +1,85 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b0569a4a54ca..7d665f5a3258 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,6 +10,8 @@ endif() + #=============================================================================== + cmake_minimum_required(VERSION 3.13.4) + ++include(GNUInstallDirs) ++ + set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + + # Add path for custom modules +@@ -415,13 +417,13 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) + set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1") + set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1") +- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH ++ set(LIBCXX_INSTALL_LIBRARY_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}" CACHE PATH + "Path where built libc++ libraries should be installed.") +- set(LIBCXX_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBCXX_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libc++ runtime libraries should be installed.") +- set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH ++ set(LIBCXX_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/c++/v1" CACHE PATH + "Path where target-agnostic libc++ headers should be installed.") +- set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1" CACHE PATH ++ set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1" CACHE PATH + "Path where target-specific libc++ headers should be installed.") + if(LIBCXX_LIBDIR_SUBDIR) + string(APPEND LIBCXX_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR}) +@@ -431,11 +433,11 @@ elseif(LLVM_LIBRARY_OUTPUT_INTDIR) + set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) + set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1") + set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}") +- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH ++ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH + "Path where built libc++ libraries should be installed.") +- set(LIBCXX_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBCXX_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}/c++/v1" CACHE PATH + "Path where built libc++ runtime libraries should be installed.") +- set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH ++ set(LIBCXX_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/c++/v1" CACHE PATH + "Path where target-agnostic libc++ headers should be installed.") + set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}" CACHE PATH + "Path where target-specific libc++ headers should be installed.") +@@ -443,11 +445,11 @@ else() + set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX}) + set(LIBCXX_GENERATED_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include/c++/v1") + set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}") +- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX} CACHE PATH ++ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX} CACHE PATH + "Path where built libc++ libraries should be installed.") +- set(LIBCXX_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBCXX_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libc++ runtime libraries should be installed.") +- set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1" CACHE PATH ++ set(LIBCXX_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/c++/v1" CACHE PATH + "Path where target-agnostic libc++ headers should be installed.") + set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}" CACHE PATH + "Path where target-specific libc++ headers should be installed.") +diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake +index 5a8a4a270a1a..d69405ddeeac 100644 +--- a/cmake/Modules/HandleLibCXXABI.cmake ++++ b/cmake/Modules/HandleLibCXXABI.cmake +@@ -1,8 +1,9 @@ +- + #=============================================================================== + # Add an ABI library if appropriate + #=============================================================================== + ++include(GNUInstallDirs) ++ + # + # _setup_abi: Set up the build to use an ABI library + # +@@ -63,7 +64,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs) + + if (LIBCXX_INSTALL_HEADERS) + install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}" +- DESTINATION include/c++/v1/${dstdir} ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}" + COMPONENT cxx-headers + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) diff --git a/pkgs/development/compilers/llvm/14/libcxxabi/default.nix b/pkgs/development/compilers/llvm/14/libcxxabi/default.nix new file mode 100644 index 000000000000..d64708ab040a --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libcxxabi/default.nix @@ -0,0 +1,86 @@ +{ lib, stdenv, llvm_meta, cmake, python3 +, monorepoSrc, runCommand +, cxx-headers, libunwind, version +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "libcxxabi"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + mkdir -p "$out/libcxx/src" + cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/include "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/src/include "$out/libcxx/src" + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + ''; + + sourceRoot = "${src.name}/${pname}"; + + outputs = [ "out" "dev" ]; + + postUnpack = lib.optionalString stdenv.isDarwin '' + export TRIPLE=x86_64-apple-darwin + '' + lib.optionalString stdenv.hostPlatform.isWasm '' + patch -p1 -d llvm -i ${./wasm.patch} + ''; + + patches = [ + ./gnu-install-dirs.patch + ]; + + nativeBuildInputs = [ cmake python3 ]; + buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind; + + cmakeFlags = [ + "-DLIBCXXABI_LIBCXX_INCLUDES=${cxx-headers}/include/c++/v1" + ] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DLIBCXXABI_USE_LLVM_UNWINDER=ON" + ] ++ lib.optionals stdenv.hostPlatform.isWasm [ + "-DLIBCXXABI_ENABLE_THREADS=OFF" + "-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF" + ] ++ lib.optionals (!enableShared) [ + "-DLIBCXXABI_ENABLE_SHARED=OFF" + ]; + + installPhase = if stdenv.isDarwin + then '' + for file in lib/*.dylib; do + # this should be done in CMake, but having trouble figuring out + # the magic combination of necessary CMake variables + # if you fancy a try, take a look at + # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling + install_name_tool -id $out/$file $file + done + make install + install -d 755 $out/include + install -m 644 ../include/*.h $out/include + '' + else '' + install -d -m 755 $out/include $out/lib + install -m 644 lib/libc++abi.a $out/lib + install -m 644 ../include/cxxabi.h $out/include + '' + lib.optionalString enableShared '' + install -m 644 lib/libc++abi.so.1.0 $out/lib + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so + ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1 + ''; + + meta = llvm_meta // { + homepage = "https://libcxxabi.llvm.org/"; + description = "Provides C++ standard library support"; + longDescription = '' + libc++abi is a new implementation of low level support for a standard C++ library. + ''; + # "All of the code in libc++abi is dual licensed under the MIT license and + # the UIUC License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + maintainers = llvm_meta.maintainers ++ [ lib.maintainers.vlstill ]; + }; +} diff --git a/pkgs/development/compilers/llvm/14/libcxxabi/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/libcxxabi/gnu-install-dirs.patch new file mode 100644 index 000000000000..a93348ded0c1 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libcxxabi/gnu-install-dirs.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 858f5d5cfd7f..16c67d7062be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,6 +10,8 @@ endif() + + cmake_minimum_required(VERSION 3.13.4) + ++include(GNUInstallDirs) ++ + set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + + # Add path for custom modules +@@ -213,9 +215,9 @@ set(CMAKE_MODULE_PATH + if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR}) + set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) +- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH ++ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH + "Path where built libc++abi libraries should be installed.") +- set(LIBCXXABI_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libc++abi runtime libraries should be installed.") + if(LIBCXX_LIBDIR_SUBDIR) + string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR}) +@@ -224,16 +226,16 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + elseif(LLVM_LIBRARY_OUTPUT_INTDIR) + set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR}) + set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) +- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH ++ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH + "Path where built libc++abi libraries should be installed.") +- set(LIBCXXABI_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libc++abi runtime libraries should be installed.") + else() + set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR}) + set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX}) +- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH ++ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX} CACHE PATH + "Path where built libc++abi libraries should be installed.") +- set(LIBCXXABI_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBCXXABI_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libc++abi runtime libraries should be installed.") + endif() + diff --git a/pkgs/development/compilers/llvm/14/libcxxabi/wasm.patch b/pkgs/development/compilers/llvm/14/libcxxabi/wasm.patch new file mode 100644 index 000000000000..4ebfe46aa813 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libcxxabi/wasm.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake +index 15497d405e0..33f7f18193a 100644 +--- a/cmake/modules/HandleLLVMOptions.cmake ++++ b/cmake/modules/HandleLLVMOptions.cmake +@@ -127,7 +127,10 @@ else(WIN32) + set(LLVM_HAVE_LINK_VERSION_SCRIPT 1) + endif() + else(FUCHSIA OR UNIX) +- MESSAGE(SEND_ERROR "Unable to determine platform") ++ if(${CMAKE_SYSTEM_NAME} MATCHES "Wasi") ++ else() ++ MESSAGE(SEND_ERROR "Unable to determine platform") ++ endif() + endif(FUCHSIA OR UNIX) + endif(WIN32) + diff --git a/pkgs/development/compilers/llvm/14/libunwind/default.nix b/pkgs/development/compilers/llvm/14/libunwind/default.nix new file mode 100644 index 000000000000..c6d9eda5e474 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libunwind/default.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, llvm_meta, version +, monorepoSrc, runCommand +, cmake +, enableShared ? !stdenv.hostPlatform.isStatic +}: + +stdenv.mkDerivation rec { + pname = "libunwind"; + inherit version; + + # I am not so comfortable giving libc++ and friends the whole monorepo as + # requested, so I filter it to what is needed. + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + mkdir -p "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/cmake "$out/libcxx" + cp -r ${monorepoSrc}/libcxx/utils "$out/libcxx" + mkdir -p "$out/llvm" + cp -r ${monorepoSrc}/llvm/cmake "$out/llvm" + ''; + + sourceRoot = "${src.name}/${pname}"; + + patches = [ + ./gnu-install-dirs.patch + ]; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake ]; + + cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF"; + + meta = llvm_meta // { + # Details: https://github.com/llvm/llvm-project/blob/main/libunwind/docs/index.rst + homepage = "https://clang.llvm.org/docs/Toolchain.html#unwind-library"; + description = "LLVM's unwinder library"; + longDescription = '' + The unwind library provides a family of _Unwind_* functions implementing + the language-neutral stack unwinding portion of the Itanium C++ ABI (Level + I). It is a dependency of the C++ ABI library, and sometimes is a + dependency of other runtimes. + ''; + }; +} diff --git a/pkgs/development/compilers/llvm/14/libunwind/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/libunwind/gnu-install-dirs.patch new file mode 100644 index 000000000000..3f05d2a87269 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/libunwind/gnu-install-dirs.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3cc66dd2226..1299b596ce0d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,6 +8,8 @@ endif() + + cmake_minimum_required(VERSION 3.13.4) + ++include(GNUInstallDirs) ++ + set(LLVM_COMMON_CMAKE_UTILS "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + + # Add path for custom modules +@@ -139,25 +141,27 @@ set(CMAKE_MODULE_PATH + + if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) + set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}) +- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH ++ set(LIBUNWIND_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}" CACHE PATH ++ "Path where built libunwind headers should be installed.") ++ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE} CACHE PATH + "Path where built libunwind libraries should be installed.") +- set(LIBUNWIND_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBUNWIND_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libunwind runtime libraries should be installed.") + if(LIBCXX_LIBDIR_SUBDIR) + string(APPEND LIBUNWIND_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR}) + string(APPEND LIBUNWIND_INSTALL_LIBRARY_DIR /${LIBUNWIND_LIBDIR_SUBDIR}) + endif() +-elseif(LLVM_LIBRARY_OUTPUT_INTDIR) +- set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) +- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH +- "Path where built libunwind libraries should be installed.") +- set(LIBUNWIND_INSTALL_RUNTIME_DIR bin CACHE PATH +- "Path where built libunwind runtime libraries should be installed.") + else() +- set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX}) +- set(LIBUNWIND_INSTALL_LIBRARY_DIR lib${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH ++ if(LLVM_LIBRARY_OUTPUT_INTDIR) ++ set(LIBUNWIND_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) ++ else() ++ set(LIBUNWIND_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBUNWIND_LIBDIR_SUFFIX}) ++ endif() ++ set(LIBUNWIND_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE PATH ++ "Path where built libunwind headers should be installed.") ++ set(LIBUNWIND_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBUNWIND_LIBDIR_SUFFIX} CACHE PATH + "Path where built libunwind libraries should be installed.") +- set(LIBUNWIND_INSTALL_RUNTIME_DIR bin CACHE PATH ++ set(LIBUNWIND_INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH + "Path where built libunwind runtime libraries should be installed.") + endif() + +diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt +index c3bb1dd0f69f..adf1766c44cb 100644 +--- a/include/CMakeLists.txt ++++ b/include/CMakeLists.txt +@@ -14,7 +14,7 @@ if(LIBUNWIND_INSTALL_HEADERS) + foreach(file ${files}) + get_filename_component(dir ${file} DIRECTORY) + install(FILES ${file} +- DESTINATION "include/${dir}" ++ DESTINATION "${LIBUNWIND_INSTALL_INCLUDE_DIR}/${dir}" + COMPONENT unwind-headers + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) diff --git a/pkgs/development/compilers/llvm/14/lld/default.nix b/pkgs/development/compilers/llvm/14/lld/default.nix new file mode 100644 index 000000000000..cdd2f5f0fa7f --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lld/default.nix @@ -0,0 +1,55 @@ +{ lib, stdenv, llvm_meta +, buildLlvmTools +, monorepoSrc, runCommand +, cmake +, libxml2 +, libllvm +, version +}: + +stdenv.mkDerivation rec { + pname = "lld"; + inherit version; + + # Blank llvm dir just so relative path works + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + mkdir -p "$out/libunwind" + cp -r ${monorepoSrc}/libunwind/include "$out/libunwind" + mkdir -p "$out/llvm" + ''; + + sourceRoot = "${src.name}/${pname}"; + + patches = [ + ./gnu-install-dirs.patch + # On Darwin the llvm-config is perhaps not working fine as the + # LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as + # the include path is not correct. + ./fix-root-src-dir.patch + ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ libllvm libxml2 ]; + + cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" + ]; + + outputs = [ "out" "lib" "dev" ]; + + meta = llvm_meta // { + homepage = "https://lld.llvm.org/"; + description = "The LLVM linker"; + longDescription = '' + LLD is a linker from the LLVM project that is a drop-in replacement for + system linkers and runs much faster than them. It also provides features + that are useful for toolchain developers. + The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS), and + WebAssembly in descending order of completeness. Internally, LLD consists + of several different linkers. + ''; + }; +} diff --git a/pkgs/development/compilers/llvm/14/lld/fix-root-src-dir.patch b/pkgs/development/compilers/llvm/14/lld/fix-root-src-dir.patch new file mode 100644 index 000000000000..26ecef256495 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lld/fix-root-src-dir.patch @@ -0,0 +1,13 @@ +diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt +index e1a29b884d17..9d542f8fbfc1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,7 +64,7 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + + set(LLVM_MAIN_INCLUDE_DIR ${MAIN_INCLUDE_DIR} CACHE PATH "Path to llvm/include") + set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree") +- set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree") ++ set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH "Path to LLVM source tree") + + find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} + NO_DEFAULT_PATH) diff --git a/pkgs/development/compilers/llvm/14/lld/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/lld/gnu-install-dirs.patch new file mode 100644 index 000000000000..89a5822df49c --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lld/gnu-install-dirs.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/modules/AddLLD.cmake b/cmake/modules/AddLLD.cmake +index dd2898ce6236..ebbea040ff54 100644 +--- a/cmake/modules/AddLLD.cmake ++++ b/cmake/modules/AddLLD.cmake +@@ -18,8 +18,8 @@ macro(add_lld_library name) + install(TARGETS ${name} + COMPONENT ${name} + ${export_to_lldtargets} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES) +@@ -62,5 +62,5 @@ endmacro() + macro(add_lld_symlink name dest) + add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) + # Always generate install targets +- llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) ++ llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) + endmacro() diff --git a/pkgs/development/compilers/llvm/14/lldb/default.nix b/pkgs/development/compilers/llvm/14/lldb/default.nix new file mode 100644 index 000000000000..a2c68b224775 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lldb/default.nix @@ -0,0 +1,144 @@ +{ lib, stdenv, llvm_meta +, runCommand +, monorepoSrc +, cmake +, zlib +, ncurses +, swig +, which +, libedit +, libxml2 +, libllvm +, libclang +, python3 +, version +, libobjc +, xpc +, Foundation +, bootstrap_cmds +, Carbon +, Cocoa +, lit +, makeWrapper +, enableManpages ? false +}: + +stdenv.mkDerivation (rec { + pname = "lldb"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + ''; + + sourceRoot = "${src.name}/${pname}"; + + patches = [ + ./procfs.patch + (runCommand "resource-dir.patch" { + clangLibDir = "${libclang.lib}/lib"; + } '' + substitute '${./resource-dir.patch}' "$out" --subst-var clangLibDir + '') + ./gnu-install-dirs.patch + ]; + + outputs = [ "out" "lib" "dev" ]; + + nativeBuildInputs = [ + cmake python3 which swig lit makeWrapper + ] ++ lib.optionals enableManpages [ + python3.pkgs.sphinx python3.pkgs.recommonmark + ]; + + buildInputs = [ + ncurses + zlib + libedit + libxml2 + libllvm + ] ++ lib.optionals stdenv.isDarwin [ + libobjc + xpc + Foundation + bootstrap_cmds + Carbon + Cocoa + ]; + + hardeningDisable = [ "format" ]; + + cmakeFlags = [ + "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}" + "-DLLVM_ENABLE_RTTI=OFF" + "-DClang_DIR=${libclang.dev}/lib/cmake" + "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit" + ] ++ lib.optionals stdenv.isDarwin [ + "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON" + ] ++ lib.optionals (!stdenv.isDarwin) [ + "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic + ] ++ lib.optionals enableManpages [ + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + ] ++ lib.optionals doCheck [ + "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" + "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++" + ]; + + doCheck = false; + + installCheckPhase = '' + if [ ! -e "$lib/${python3.sitePackages}/lldb/_lldb.so" ] ; then + return 1; + fi + ''; + + postInstall = '' + wrapProgram $out/bin/lldb --prefix PYTHONPATH : $lib/${python3.sitePackages}/ + + # Editor support + # vscode: + install -D ../tools/lldb-vscode/package.json $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/package.json + mkdir -p $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin + ln -s $out/bin/lldb-vscode $out/share/vscode/extensions/llvm-org.lldb-vscode-0.1.0/bin + ''; + + meta = llvm_meta // { + homepage = "https://lldb.llvm.org/"; + description = "A next-generation high-performance debugger"; + longDescription = '' + LLDB is a next generation, high-performance debugger. It is built as a set + of reusable components which highly leverage existing libraries in the + larger LLVM Project, such as the Clang expression parser and LLVM + disassembler. + ''; + }; +} // lib.optionalAttrs enableManpages { + pname = "lldb-manpages"; + + buildPhase = '' + make docs-lldb-man + ''; + + propagatedBuildInputs = []; + + # manually install lldb man page + installPhase = '' + mkdir -p $out/share/man/man1 + install docs/man/lldb.1 -t $out/share/man/man1/ + ''; + + postPatch = null; + postInstall = null; + + outputs = [ "out" ]; + + doCheck = false; + + meta = llvm_meta // { + description = "man pages for LLDB ${version}"; + }; +}) diff --git a/pkgs/development/compilers/llvm/14/lldb/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/lldb/gnu-install-dirs.patch new file mode 100644 index 000000000000..f69ed9e162fb --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lldb/gnu-install-dirs.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 79d451965ed4..78188978d6de 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,6 +12,8 @@ set(CMAKE_MODULE_PATH + # If we are not building as part of LLVM, build LLDB as a standalone project, + # using LLVM as an external library. + if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) ++ include(GNUInstallDirs) ++ + project(lldb) + include(LLDBStandalone) + +diff --git a/cmake/modules/AddLLDB.cmake b/cmake/modules/AddLLDB.cmake +index 3291a7c808e1..b27d27ce6a87 100644 +--- a/cmake/modules/AddLLDB.cmake ++++ b/cmake/modules/AddLLDB.cmake +@@ -109,7 +109,7 @@ function(add_lldb_library name) + endif() + + if(PARAM_SHARED) +- set(install_dest lib${LLVM_LIBDIR_SUFFIX}) ++ set(install_dest ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + if(PARAM_INSTALL_PREFIX) + set(install_dest ${PARAM_INSTALL_PREFIX}) + endif() +diff --git a/tools/intel-features/CMakeLists.txt b/tools/intel-features/CMakeLists.txt +index 7d48491ec89a..c04543585588 100644 +--- a/tools/intel-features/CMakeLists.txt ++++ b/tools/intel-features/CMakeLists.txt +@@ -30,4 +30,4 @@ add_lldb_library(lldbIntelFeatures SHARED + ) + + install(TARGETS lldbIntelFeatures +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) diff --git a/pkgs/development/compilers/llvm/14/lldb/procfs.patch b/pkgs/development/compilers/llvm/14/lldb/procfs.patch new file mode 100644 index 000000000000..b075dbaeee0a --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lldb/procfs.patch @@ -0,0 +1,31 @@ +--- a/source/Plugins/Process/Linux/Procfs.h ++++ b/source/Plugins/Process/Linux/Procfs.h +@@ -11,21 +11,12 @@ + // sys/procfs.h on Android/Linux for all supported architectures. + + #include ++#include + +-#ifdef __ANDROID__ +-#if defined(__arm64__) || defined(__aarch64__) +-typedef unsigned long elf_greg_t; +-typedef elf_greg_t +- elf_gregset_t[(sizeof(struct user_pt_regs) / sizeof(elf_greg_t))]; +-typedef struct user_fpsimd_state elf_fpregset_t; +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#elif defined(__mips__) +-#ifndef NT_FPREGSET +-#define NT_FPREGSET NT_PRFPREG +-#endif // NT_FPREGSET +-#endif +-#else // __ANDROID__ ++#if !defined(__GLIBC__) && defined(__powerpc__) ++#define pt_regs musl_pt_regs ++#include ++#undef pt_regs ++#else + #include +-#endif // __ANDROID__ ++#endif diff --git a/pkgs/development/compilers/llvm/14/lldb/resource-dir.patch b/pkgs/development/compilers/llvm/14/lldb/resource-dir.patch new file mode 100644 index 000000000000..e0db80afeb9f --- /dev/null +++ b/pkgs/development/compilers/llvm/14/lldb/resource-dir.patch @@ -0,0 +1,13 @@ +diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake +index 37364341ff8b..7f74c1a3e257 100644 +--- a/cmake/modules/LLDBConfig.cmake ++++ b/cmake/modules/LLDBConfig.cmake +@@ -257,7 +257,7 @@ if (NOT TARGET clang-resource-headers) + # Iterate over the possible places where the external resource directory + # could be and pick the first that exists. + foreach(CANDIDATE "${Clang_DIR}/../.." "${LLVM_DIR}" "${LLVM_LIBRARY_DIRS}" +- "${LLVM_BUILD_LIBRARY_DIR}" ++ "${LLVM_BUILD_LIBRARY_DIR}" "@clangLibDir@" + "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}") + # Build the resource directory path by appending 'clang/'. + set(CANDIDATE_RESOURCE_DIR "${CANDIDATE}/clang/${LLDB_CLANG_RESOURCE_DIR_NAME}") diff --git a/pkgs/development/compilers/llvm/14/llvm/default.nix b/pkgs/development/compilers/llvm/14/llvm/default.nix new file mode 100644 index 000000000000..d2059cc66ba2 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/llvm/default.nix @@ -0,0 +1,254 @@ +{ lib, stdenv, llvm_meta +, pkgsBuildBuild +, monorepoSrc +, runCommand +, fetchpatch +, cmake +, python3 +, libffi +, libbfd +, libpfm +, libxml2 +, ncurses +, version +, release_version +, zlib +, which +, buildLlvmTools +, debugVersion ? false +, enableManpages ? false +, enableSharedLibraries ? !stdenv.hostPlatform.isStatic +, enablePFM ? !(stdenv.isDarwin + || stdenv.isAarch64 # broken for Ampere eMAG 8180 (c2.large.arm on Packet) #56245 + || stdenv.isAarch32 # broken for the armv7l builder +) +, enablePolly ? false +} @args: + +let + inherit (lib) optional optionals optionalString; + + # Used when creating a version-suffixed symlink of libLLVM.dylib + shortVersion = with lib; + concatStringsSep "." (take 1 (splitString "." release_version)); + +in stdenv.mkDerivation (rec { + pname = "llvm"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} ('' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + cp -r ${monorepoSrc}/third-party "$out" + '' + lib.optionalString enablePolly '' + cp -r ${monorepoSrc}/polly "$out/llvm/tools" + ''); + + sourceRoot = "${src.name}/${pname}"; + + outputs = [ "out" "lib" "dev" "python" ]; + + nativeBuildInputs = [ cmake python3 ] + ++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ]; + + buildInputs = [ libxml2 libffi ] + ++ optional enablePFM libpfm; # exegesis + + propagatedBuildInputs = [ ncurses zlib ]; + + checkInputs = [ which ]; + + patches = [ + ./gnu-install-dirs.patch + ] ++ lib.optional enablePolly ./gnu-install-dirs-polly.patch; + + postPatch = optionalString stdenv.isDarwin '' + substituteInPlace cmake/modules/AddLLVM.cmake \ + --replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir)" \ + --replace 'set(_install_rpath "@loader_path/../''${CMAKE_INSTALL_LIBDIR}''${LLVM_LIBDIR_SUFFIX}" ''${extra_libdir})' "" + '' + '' + # FileSystem permissions tests fail with various special bits + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "Path.cpp" "" + rm unittests/Support/Path.cpp + substituteInPlace unittests/IR/CMakeLists.txt \ + --replace "PassBuilderCallbacksTest.cpp" "" + rm unittests/IR/PassBuilderCallbacksTest.cpp + rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test + '' + optionalString stdenv.hostPlatform.isMusl '' + patch -p1 -i ${../../TLI-musl.patch} + substituteInPlace unittests/Support/CMakeLists.txt \ + --replace "add_subdirectory(DynamicLibrary)" "" + rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp + # valgrind unhappy with musl or glibc, but fails w/musl only + rm test/CodeGen/AArch64/wineh4.mir + '' + optionalString stdenv.hostPlatform.isAarch32 '' + # skip failing X86 test cases on 32-bit ARM + rm test/DebugInfo/X86/convert-debugloc.ll + rm test/DebugInfo/X86/convert-inlined.ll + rm test/DebugInfo/X86/convert-linked.ll + rm test/tools/dsymutil/X86/op-convert.test + '' + optionalString (stdenv.hostPlatform.system == "armv6l-linux") '' + # Seems to require certain floating point hardware (NEON?) + rm test/ExecutionEngine/frem.ll + '' + '' + patchShebangs test/BugPoint/compile-custom.ll.py + ''; + + # hacky fix: created binaries need to be run before installation + preBuild = '' + mkdir -p $out/ + ln -sv $PWD/lib $out + ''; + + # E.g. mesa.drivers use the build-id as a cache key (see #93946): + LDFLAGS = optionalString (enableSharedLibraries && !stdenv.isDarwin) "-Wl,--build-id=sha1"; + + cmakeFlags = with stdenv; let + # These flags influence llvm-config's BuildVariables.inc in addition to the + # general build. We need to make sure these are also passed via + # CROSS_TOOLCHAIN_FLAGS_NATIVE when cross-compiling or llvm-config-native + # will return different results from the cross llvm-config. + # + # Some flags don't need to be repassed because LLVM already does so (like + # CMAKE_BUILD_TYPE), others are irrelevant to the result. + flagsForLlvmConfig = [ + "-DLLVM_INSTALL_CMAKE_DIR=${placeholder "dev"}/lib/cmake/llvm/" + "-DLLVM_ENABLE_RTTI=ON" + ] ++ optionals enableSharedLibraries [ + "-DLLVM_LINK_LLVM_DYLIB=ON" + ]; + in flagsForLlvmConfig ++ [ + "-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}" + "-DLLVM_INSTALL_UTILS=ON" # Needed by rustc + "-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_ENABLE_DUMP=ON" + ] ++ optionals stdenv.hostPlatform.isStatic [ + # Disables building of shared libs, -fPIC is still injected by cc-wrapper + "-DLLVM_ENABLE_PIC=OFF" + "-DLLVM_BUILD_STATIC=ON" + # libxml2 needs to be disabled because the LLVM build system ignores its .la + # file and doesn't link zlib as well. + # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812 + "-DLLVM_ENABLE_LIBXML2=OFF" + ] ++ optionals enableManpages [ + "-DLLVM_BUILD_DOCS=ON" + "-DLLVM_ENABLE_SPHINX=ON" + "-DSPHINX_OUTPUT_MAN=ON" + "-DSPHINX_OUTPUT_HTML=OFF" + "-DSPHINX_WARNINGS_AS_ERRORS=OFF" + ] ++ optionals (!isDarwin) [ + "-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include" + ] ++ optionals isDarwin [ + "-DLLVM_ENABLE_LIBCXX=ON" + "-DCAN_TARGET_i386=false" + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "-DCMAKE_CROSSCOMPILING=True" + "-DLLVM_TABLEGEN=${buildLlvmTools.llvm}/bin/llvm-tblgen" + ( + let + nativeCC = pkgsBuildBuild.targetPackages.stdenv.cc; + nativeBintools = nativeCC.bintools.bintools; + nativeToolchainFlags = [ + "-DCMAKE_C_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}cc" + "-DCMAKE_CXX_COMPILER=${nativeCC}/bin/${nativeCC.targetPrefix}c++" + "-DCMAKE_AR=${nativeBintools}/bin/${nativeBintools.targetPrefix}ar" + "-DCMAKE_STRIP=${nativeBintools}/bin/${nativeBintools.targetPrefix}strip" + "-DCMAKE_RANLIB=${nativeBintools}/bin/${nativeBintools.targetPrefix}ranlib" + ]; + # We need to repass the custom GNUInstallDirs values, otherwise CMake + # will choose them for us, leading to wrong results in llvm-config-native + nativeInstallFlags = [ + "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" + "-DCMAKE_INSTALL_BINDIR=${placeholder "out"}/bin" + "-DCMAKE_INSTALL_INCLUDEDIR=${placeholder "dev"}/include" + "-DCMAKE_INSTALL_LIBDIR=${placeholder "lib"}/lib" + "-DCMAKE_INSTALL_LIBEXECDIR=${placeholder "lib"}/libexec" + ]; + in "-DCROSS_TOOLCHAIN_FLAGS_NATIVE:list=" + + lib.concatStringsSep ";" (lib.concatLists [ + flagsForLlvmConfig + nativeToolchainFlags + nativeInstallFlags + ]) + ) + ]; + + postBuild = '' + rm -fR $out + ''; + + preCheck = '' + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib + ''; + + postInstall = '' + mkdir -p $python/share + mv $out/share/opt-viewer $python/share/opt-viewer + moveToOutput "bin/llvm-config*" "$dev" + substituteInPlace "$dev/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \ + --replace "\''${_IMPORT_PREFIX}/lib/lib" "$lib/lib/lib" \ + --replace "$out/bin/llvm-config" "$dev/bin/llvm-config" + substituteInPlace "$dev/lib/cmake/llvm/LLVMConfig.cmake" \ + --replace 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}")' 'set(LLVM_BINARY_DIR "''${LLVM_INSTALL_PREFIX}'"$lib"'")' + '' + + optionalString (stdenv.isDarwin && enableSharedLibraries) '' + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib + ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib + '' + + optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' + cp NATIVE/bin/llvm-config $dev/bin/llvm-config-native + ''; + + doCheck = stdenv.isLinux && (!stdenv.isx86_32) && (!stdenv.hostPlatform.isMusl) + && (stdenv.hostPlatform == stdenv.buildPlatform); + + checkTarget = "check-all"; + + requiredSystemFeatures = [ "big-parallel" ]; + meta = llvm_meta // { + homepage = "https://llvm.org/"; + description = "A collection of modular and reusable compiler and toolchain technologies"; + longDescription = '' + The LLVM Project is a collection of modular and reusable compiler and + toolchain technologies. Despite its name, LLVM has little to do with + traditional virtual machines. The name "LLVM" itself is not an acronym; it + is the full name of the project. + LLVM began as a research project at the University of Illinois, with the + goal of providing a modern, SSA-based compilation strategy capable of + supporting both static and dynamic compilation of arbitrary programming + languages. Since then, LLVM has grown to be an umbrella project consisting + of a number of subprojects, many of which are being used in production by + a wide variety of commercial and open source projects as well as being + widely used in academic research. Code in the LLVM project is licensed + under the "Apache 2.0 License with LLVM exceptions". + ''; + }; +} // lib.optionalAttrs enableManpages { + pname = "llvm-manpages"; + + buildPhase = '' + make docs-llvm-man + ''; + + propagatedBuildInputs = []; + + installPhase = '' + make -C docs install + ''; + + postPatch = null; + postInstall = null; + + outputs = [ "out" ]; + + doCheck = false; + + meta = llvm_meta // { + description = "man pages for LLVM ${version}"; + }; +}) diff --git a/pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs-polly.patch b/pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs-polly.patch new file mode 100644 index 000000000000..98e998e65a96 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs-polly.patch @@ -0,0 +1,102 @@ +diff --git a/tools/polly/CMakeLists.txt b/tools/polly/CMakeLists.txt +index ca7c04c565bb..6a6155806ffa 100644 +--- a/tools/polly/CMakeLists.txt ++++ b/tools/polly/CMakeLists.txt +@@ -3,6 +3,8 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR) + project(Polly) + cmake_minimum_required(VERSION 3.13.4) + ++ include(GNUInstallDirs) ++ + # Where is LLVM installed? + find_package(LLVM CONFIG REQUIRED) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) +@@ -122,13 +124,13 @@ include_directories( + + if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + install(DIRECTORY include/ +- DESTINATION include ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING + PATTERN "*.h" + ) + + install(DIRECTORY ${POLLY_BINARY_DIR}/include/ +- DESTINATION include ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING + PATTERN "*.h" + PATTERN "CMakeFiles" EXCLUDE +diff --git a/tools/polly/cmake/CMakeLists.txt b/tools/polly/cmake/CMakeLists.txt +index 7cc129ba2e90..137be25e4b80 100644 +--- a/tools/polly/cmake/CMakeLists.txt ++++ b/tools/polly/cmake/CMakeLists.txt +@@ -79,18 +79,18 @@ file(GENERATE + + # Generate PollyConfig.cmake for the install tree. + unset(POLLY_EXPORTS) +-set(POLLY_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") ++set(POLLY_INSTALL_PREFIX "") + set(POLLY_CONFIG_LLVM_CMAKE_DIR "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") +-set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") +-set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}") ++set(POLLY_CONFIG_CMAKE_DIR "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_PREFIX}/${POLLY_INSTALL_PACKAGE_DIR}") ++set(POLLY_CONFIG_LIBRARY_DIRS "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") + if (POLLY_BUNDLED_ISL) + set(POLLY_CONFIG_INCLUDE_DIRS +- "${POLLY_INSTALL_PREFIX}/include" +- "${POLLY_INSTALL_PREFIX}/include/polly" ++ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}" ++ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_LIBDIR}/polly" + ) + else() + set(POLLY_CONFIG_INCLUDE_DIRS +- "${POLLY_INSTALL_PREFIX}/include" ++ "${POLLY_INSTALL_PREFIX}${CMAKE_INSTALL_FULL_INCLUDEDIR}" + ${ISL_INCLUDE_DIRS} + ) + endif() +@@ -100,12 +100,12 @@ endif() + foreach(tgt IN LISTS POLLY_CONFIG_EXPORTED_TARGETS) + get_target_property(tgt_type ${tgt} TYPE) + if (tgt_type STREQUAL "EXECUTABLE") +- set(tgt_prefix "bin/") ++ set(tgt_prefix "${CMAKE_INSTALL_BINDIR}/") + else() +- set(tgt_prefix "lib/") ++ set(tgt_prefix "${CMAKE_INSTALL_LIBDIR}/") + endif() + +- set(tgt_path "${CMAKE_INSTALL_PREFIX}/${tgt_prefix}$") ++ set(tgt_path "${tgt_prefix}$") + file(RELATIVE_PATH tgt_path ${POLLY_CONFIG_CMAKE_DIR} ${tgt_path}) + + if (NOT tgt_type STREQUAL "INTERFACE_LIBRARY") +diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macros.cmake +index 518a09b45a42..bd9d6f5542ad 100644 +--- a/tools/polly/cmake/polly_macros.cmake ++++ b/tools/polly/cmake/polly_macros.cmake +@@ -44,8 +44,8 @@ macro(add_polly_library name) + if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly") + install(TARGETS ${name} + EXPORT LLVMExports +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + endif() + set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) + endmacro(add_polly_library) +diff --git a/tools/polly/lib/External/CMakeLists.txt b/tools/polly/lib/External/CMakeLists.txt +index e3a5683fccdc..293b482eb28a 100644 +--- a/tools/polly/lib/External/CMakeLists.txt ++++ b/tools/polly/lib/External/CMakeLists.txt +@@ -290,7 +290,7 @@ if (POLLY_BUNDLED_ISL) + install(DIRECTORY + ${ISL_SOURCE_DIR}/include/ + ${ISL_BINARY_DIR}/include/ +- DESTINATION include/polly ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/polly + FILES_MATCHING + PATTERN "*.h" + PATTERN "CMakeFiles" EXCLUDE diff --git a/pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs.patch new file mode 100644 index 000000000000..55862ab39304 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/llvm/gnu-install-dirs.patch @@ -0,0 +1,220 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fec956091cd5..5a766f5c5d7c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -303,6 +303,9 @@ set(LLVM_EXAMPLES_INSTALL_DIR "examples" CACHE STRING + "Path for examples subdirectory (enabled by LLVM_BUILD_EXAMPLES=ON) (defaults to 'examples')") + mark_as_advanced(LLVM_EXAMPLES_INSTALL_DIR) + ++set(LLVM_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/cmake/llvm" CACHE STRING ++ "Path for CMake subdirectory (defaults to lib/cmake/llvm)" ) ++ + # They are used as destination of target generators. + set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) + set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX}) +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index fed1fec7d72e..4baed19b9e98 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -838,8 +838,8 @@ macro(add_llvm_library name) + get_target_export_arg(${name} LLVM export_to_llvmexports ${umbrella}) + install(TARGETS ${name} + ${export_to_llvmexports} +- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} +- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} COMPONENT ${name} ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" COMPONENT ${name} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT ${name}) + + if (NOT LLVM_ENABLE_IDE) +@@ -1056,7 +1056,7 @@ function(process_llvm_pass_plugins) + "set(LLVM_STATIC_EXTENSIONS ${LLVM_STATIC_EXTENSIONS})") + install(FILES + ${llvm_cmake_builddir}/LLVMConfigExtensions.cmake +- DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} ++ DESTINATION ${LLVM_INSTALL_CMAKE_DIR} + COMPONENT cmake-exports) + + set(ExtensionDef "${LLVM_BINARY_DIR}/include/llvm/Support/Extension.def") +@@ -1902,7 +1902,7 @@ function(llvm_install_library_symlink name dest type) + set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX}) + set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX}) + +- set(output_dir lib${LLVM_LIBDIR_SUFFIX}) ++ set(output_dir ${CMAKE_INSTALL_FULL_LIBDIR}${LLVM_LIBDIR_SUFFIX}) + if(WIN32 AND "${type}" STREQUAL "SHARED") + set(output_dir bin) + endif() +@@ -1913,7 +1913,7 @@ function(llvm_install_library_symlink name dest type) + + endfunction() + +-function(llvm_install_symlink name dest) ++function(llvm_install_symlink name dest output_dir) + cmake_parse_arguments(ARG "ALWAYS_GENERATE" "COMPONENT" "" ${ARGN}) + foreach(path ${CMAKE_MODULE_PATH}) + if(EXISTS ${path}/LLVMInstallSymlink.cmake) +@@ -1936,7 +1936,7 @@ function(llvm_install_symlink name dest) + set(full_dest ${dest}${CMAKE_EXECUTABLE_SUFFIX}) + + install(SCRIPT ${INSTALL_SYMLINK} +- CODE "install_symlink(${full_name} ${full_dest} ${LLVM_TOOLS_INSTALL_DIR})" ++ CODE "install_symlink(${full_name} ${full_dest} ${output_dir})" + COMPONENT ${component}) + + if (NOT LLVM_ENABLE_IDE AND NOT ARG_ALWAYS_GENERATE) +@@ -2019,7 +2019,8 @@ function(add_llvm_tool_symlink link_name target) + endif() + + if ((TOOL_IS_TOOLCHAIN OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY) AND LLVM_BUILD_TOOLS) +- llvm_install_symlink(${link_name} ${target}) ++ GNUInstallDirs_get_absolute_install_dir(output_dir LLVM_TOOLS_INSTALL_DIR) ++ llvm_install_symlink(${link_name} ${target} ${output_dir}) + endif() + endif() + endfunction() +@@ -2148,9 +2149,9 @@ function(llvm_setup_rpath name) + # Since BUILD_SHARED_LIBS is only recommended for use by developers, + # hardcode the rpath to build/install lib dir first in this mode. + # FIXME: update this when there is better solution. +- set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath "${LLVM_LIBRARY_OUTPUT_INTDIR}" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + elseif(UNIX) +- set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) ++ set(_install_rpath "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}" ${extra_libdir}) + if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)") + set_property(TARGET ${name} APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-z,origin ") +diff --git a/cmake/modules/AddOCaml.cmake b/cmake/modules/AddOCaml.cmake +index 891c9e6d618c..8d963f3b0069 100644 +--- a/cmake/modules/AddOCaml.cmake ++++ b/cmake/modules/AddOCaml.cmake +@@ -147,9 +147,9 @@ function(add_ocaml_library name) + endforeach() + + if( APPLE ) +- set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath "@executable_path/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") + elseif( UNIX ) +- set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}") ++ set(ocaml_rpath "\\$ORIGIN/../../../${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") + endif() + list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}") + +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index cea0c1df0a14..eedcd9450312 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -2,7 +2,7 @@ include(ExtendPath) + include(LLVMDistributionSupport) + include(FindPrefixFromConfig) + +-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) ++set(LLVM_INSTALL_PACKAGE_DIR ${LLVM_INSTALL_CMAKE_DIR} CACHE STRING "Path for CMake subdirectory (defaults to 'cmake/llvm')") + set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") + + # First for users who use an installed LLVM, create the LLVMExports.cmake file. +@@ -122,7 +122,7 @@ set(LLVM_CONFIG_INCLUDE_DIRS + ) + list(REMOVE_DUPLICATES LLVM_CONFIG_INCLUDE_DIRS) + +-extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "lib\${LLVM_LIBDIR_SUFFIX}") ++extend_path(LLVM_CONFIG_LIBRARY_DIR "\${LLVM_INSTALL_PREFIX}" "${CMAKE_INSTALL_LIBDIR}\${LLVM_LIBDIR_SUFFIX}") + set(LLVM_CONFIG_LIBRARY_DIRS + "${LLVM_CONFIG_LIBRARY_DIR}" + # FIXME: Should there be other entries here? +diff --git a/cmake/modules/LLVMInstallSymlink.cmake b/cmake/modules/LLVMInstallSymlink.cmake +index b5c35f706cb7..9261ab797de6 100644 +--- a/cmake/modules/LLVMInstallSymlink.cmake ++++ b/cmake/modules/LLVMInstallSymlink.cmake +@@ -6,7 +6,7 @@ include(GNUInstallDirs) + + function(install_symlink name target outdir) + set(DESTDIR $ENV{DESTDIR}) +- set(bindir "${DESTDIR}${CMAKE_INSTALL_PREFIX}/${outdir}") ++ set(bindir "${DESTDIR}${outdir}/") + + message(STATUS "Creating ${name}") + +diff --git a/docs/CMake.rst b/docs/CMake.rst +index 044ec8a4d39d..504d0eac3ade 100644 +--- a/docs/CMake.rst ++++ b/docs/CMake.rst +@@ -224,7 +224,7 @@ description is in `LLVM-related variables`_ below. + **LLVM_LIBDIR_SUFFIX**:STRING + Extra suffix to append to the directory where libraries are to be + installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` +- to install libraries to ``/usr/lib64``. ++ to install libraries to ``/usr/lib64``. See also ``CMAKE_INSTALL_LIBDIR``. + + **LLVM_PARALLEL_{COMPILE,LINK}_JOBS**:STRING + Building the llvm toolchain can use a lot of resources, particularly +@@ -910,9 +910,11 @@ the ``cmake`` command or by setting it directly in ``ccmake`` or ``cmake-gui``). + + This file is available in two different locations. + +-* ``/lib/cmake/llvm/LLVMConfig.cmake`` where +- ```` is the install prefix of an installed version of LLVM. +- On Linux typically this is ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. ++* ``LLVMConfig.cmake`` where ++ ```` is the location where LLVM CMake modules are ++ installed as part of an installed version of LLVM. This is typically ++ ``cmake/llvm/`` within the lib directory. On Linux, this is typically ++ ``/usr/lib/cmake/llvm/LLVMConfig.cmake``. + + * ``/lib/cmake/llvm/LLVMConfig.cmake`` where + ```` is the root of the LLVM build tree. **Note: this is only +diff --git a/include/llvm/CMakeLists.txt b/include/llvm/CMakeLists.txt +index b46319f24fc8..2feabd1954e4 100644 +--- a/include/llvm/CMakeLists.txt ++++ b/include/llvm/CMakeLists.txt +@@ -5,5 +5,5 @@ add_subdirectory(Frontend) + # If we're doing an out-of-tree build, copy a module map for generated + # header files into the build area. + if (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") +- configure_file(module.modulemap.build module.modulemap COPYONLY) ++ configure_file(module.modulemap.build ${LLVM_INCLUDE_DIR}/module.modulemap COPYONLY) + endif (NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") +diff --git a/tools/llvm-config/BuildVariables.inc.in b/tools/llvm-config/BuildVariables.inc.in +index abbb8a450da6..70c497be12f5 100644 +--- a/tools/llvm-config/BuildVariables.inc.in ++++ b/tools/llvm-config/BuildVariables.inc.in +@@ -23,7 +23,10 @@ + #define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" + #define LLVM_BUILDMODE "@LLVM_BUILDMODE@" + #define LLVM_LIBDIR_SUFFIX "@LLVM_LIBDIR_SUFFIX@" ++#define LLVM_INSTALL_BINDIR "@CMAKE_INSTALL_BINDIR@" ++#define LLVM_INSTALL_LIBDIR "@CMAKE_INSTALL_LIBDIR@" + #define LLVM_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_INCLUDEDIR@" ++#define LLVM_INSTALL_CMAKEDIR "@LLVM_INSTALL_CMAKE_DIR@" + #define LLVM_TARGETS_BUILT "@LLVM_TARGETS_BUILT@" + #define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" + #define LLVM_BUILD_SYSTEM "@LLVM_BUILD_SYSTEM@" +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index 8ed88f33ead4..5e7184bab90d 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -363,12 +363,20 @@ int main(int argc, char **argv) { + ActiveIncludeDir = std::string(Path.str()); + } + { +- SmallString<256> Path(LLVM_TOOLS_INSTALL_DIR); ++ SmallString<256> Path(LLVM_INSTALL_BINDIR); + sys::fs::make_absolute(ActivePrefix, Path); + ActiveBinDir = std::string(Path.str()); + } +- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; +- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; ++ { ++ SmallString<256> Path(LLVM_INSTALL_LIBDIR LLVM_LIBDIR_SUFFIX); ++ sys::fs::make_absolute(ActivePrefix, Path); ++ ActiveLibDir = std::string(Path.str()); ++ } ++ { ++ SmallString<256> Path(LLVM_INSTALL_CMAKEDIR); ++ sys::fs::make_absolute(ActivePrefix, Path); ++ ActiveCMakeDir = std::string(Path.str()); ++ } + ActiveIncludeOption = "-I" + ActiveIncludeDir; + } + diff --git a/pkgs/development/compilers/llvm/14/openmp/default.nix b/pkgs/development/compilers/llvm/14/openmp/default.nix new file mode 100644 index 000000000000..7add0c7ed465 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/openmp/default.nix @@ -0,0 +1,54 @@ +{ lib +, stdenv +, llvm_meta +, monorepoSrc +, runCommand +, cmake +, llvm +, clang-unwrapped +, perl +, pkg-config +, version +}: + +stdenv.mkDerivation rec { + pname = "openmp"; + inherit version; + + src = runCommand "${pname}-src-${version}" {} '' + mkdir -p "$out" + cp -r ${monorepoSrc}/cmake "$out" + cp -r ${monorepoSrc}/${pname} "$out" + ''; + + sourceRoot = "${src.name}/${pname}"; + + patches = [ + ./gnu-install-dirs.patch + ./fix-find-tool.patch + ]; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake perl pkg-config clang-unwrapped ]; + buildInputs = [ llvm ]; + + cmakeFlags = [ + "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL currently fails + ]; + + meta = llvm_meta // { + homepage = "https://openmp.llvm.org/"; + description = "Support for the OpenMP language"; + longDescription = '' + The OpenMP subproject of LLVM contains the components required to build an + executable OpenMP program that are outside the compiler itself. + Contains the code for the runtime library against which code compiled by + "clang -fopenmp" must be linked before it can run and the library that + supports offload to target devices. + ''; + # "All of the code is dual licensed under the MIT license and the UIUC + # License (a BSD-like license)": + license = with lib.licenses; [ mit ncsa ]; + }; +} diff --git a/pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch new file mode 100644 index 000000000000..b5d0e7b41775 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch @@ -0,0 +1,54 @@ +diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt +index 242df638f80d..a4654e96371f 100644 +--- a/libomptarget/DeviceRTL/CMakeLists.txt ++++ b/libomptarget/DeviceRTL/CMakeLists.txt +@@ -25,16 +25,16 @@ endif() + + if (LLVM_DIR) + # Builds that use pre-installed LLVM have LLVM_DIR set. +- find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED) + find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} +- NO_DEFAULT_PATH) +- find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ REQUIRED) ++ find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED) + libomptarget_say("Building DeviceRTL. Using clang: ${CLANG_TOOL}") + elseif (LLVM_TOOL_CLANG_BUILD AND NOT CMAKE_CROSSCOMPILING AND NOT OPENMP_STANDALONE_BUILD) + # LLVM in-tree builds may use CMake target names to discover the tools. +- set(CLANG_TOOL $) +- set(LINK_TOOL $) +- set(OPT_TOOL $) ++ set(CLANG_TOOL $ REQUIRED) ++ set(LINK_TOOL $ REQUIRED) ++ set(OPT_TOOL $ REQUIRED) + libomptarget_say("Building DeviceRTL. Using clang from in-tree build") + else() + libomptarget_say("Not building DeviceRTL. No appropriate clang found") +diff --git a/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt b/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt +index 3f4c02671aeb..be9f4677d7b5 100644 +--- a/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt ++++ b/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt +@@ -38,16 +38,16 @@ endif() + + if (LLVM_DIR) + # Builds that use pre-installed LLVM have LLVM_DIR set. +- find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED) + find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR} +- NO_DEFAULT_PATH) +- find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ REQUIRED) ++ find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED) + libomptarget_say("Building AMDGCN device RTL. Using clang: ${CLANG_TOOL}") + elseif (LLVM_TOOL_CLANG_BUILD AND NOT CMAKE_CROSSCOMPILING AND NOT OPENMP_STANDALONE_BUILD) + # LLVM in-tree builds may use CMake target names to discover the tools. +- set(CLANG_TOOL $) +- set(LINK_TOOL $) +- set(OPT_TOOL $) ++ set(CLANG_TOOL $ REQUIRED) ++ set(LINK_TOOL $ REQUIRED) ++ set(OPT_TOOL $ REQUIRED) + libomptarget_say("Building AMDGCN device RTL. Using clang from in-tree build") + else() + libomptarget_say("Not building AMDGCN device RTL. No appropriate clang found") diff --git a/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch new file mode 100644 index 000000000000..352a46923115 --- /dev/null +++ b/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch @@ -0,0 +1,89 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7f11a05f5622..fb90f8f6a49b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -8,6 +8,8 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S + set(OPENMP_STANDALONE_BUILD TRUE) + project(openmp C CXX) + ++ include(GNUInstallDirs) ++ + # CMAKE_BUILD_TYPE was not set, default to Release. + if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release) +@@ -19,7 +21,7 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S + set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING + "Suffix of lib installation directory, e.g. 64 => lib64") + # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR. +- set(OPENMP_INSTALL_LIBDIR "lib${OPENMP_LIBDIR_SUFFIX}") ++ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}") + + # Group test settings. + set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING +@@ -30,7 +32,7 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S + else() + set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR}) + # If building in tree, we honor the same install suffix LLVM uses. +- set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}") ++ set(OPENMP_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}") + + if (NOT MSVC) + set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) +index 0e1ce2afd154..8b3810f83713 100644 +--- a/libomptarget/plugins/amdgpu/CMakeLists.txt ++++ b/libomptarget/plugins/amdgpu/CMakeLists.txt +@@ -80,7 +80,7 @@ add_library(omptarget.rtl.amdgpu SHARED + + # Install plugin under the lib destination folder. + # When we build for debug, OPENMP_LIBDIR_SUFFIX get set to -debug +-install(TARGETS omptarget.rtl.amdgpu LIBRARY DESTINATION "lib${OPENMP_LIBDIR_SUFFIX}") ++install(TARGETS omptarget.rtl.amdgpu LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}") + set_property(TARGET omptarget.rtl.amdgpu PROPERTY INSTALL_RPATH_USE_LINK_PATH ON) + + if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") +diff --git a/libomptarget/plugins/ve/CMakeLists.txt b/libomptarget/plugins/ve/CMakeLists.txt +index 16ce0891ca23..db30ee9c769f 100644 +--- a/libomptarget/plugins/ve/CMakeLists.txt ++++ b/libomptarget/plugins/ve/CMakeLists.txt +@@ -32,7 +32,7 @@ if(${LIBOMPTARGET_DEP_VEO_FOUND}) + + # Install plugin under the lib destination folder. + install(TARGETS "omptarget.rtl.${tmachine_libname}" +- LIBRARY DESTINATION lib${OPENMP_LIBDIR_SUFFIX}) ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${OPENMP_LIBDIR_SUFFIX}) + + target_link_libraries( + "omptarget.rtl.${tmachine_libname}" +diff --git a/runtime/src/CMakeLists.txt b/runtime/src/CMakeLists.txt +index e4f4e6e1e73f..1164b3b22b0e 100644 +--- a/runtime/src/CMakeLists.txt ++++ b/runtime/src/CMakeLists.txt +@@ -346,13 +346,13 @@ add_dependencies(libomp-micro-tests libomp-test-deps) + # We want to install libomp in DESTDIR/CMAKE_INSTALL_PREFIX/lib + # We want to install headers in DESTDIR/CMAKE_INSTALL_PREFIX/include + if(${OPENMP_STANDALONE_BUILD}) +- set(LIBOMP_HEADERS_INSTALL_PATH include) ++ set(LIBOMP_HEADERS_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}") + else() + string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION ${PACKAGE_VERSION}) + set(LIBOMP_HEADERS_INSTALL_PATH "${OPENMP_INSTALL_LIBDIR}/clang/${CLANG_VERSION}/include") + endif() + if(WIN32) +- install(TARGETS omp RUNTIME DESTINATION bin) ++ install(TARGETS omp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS ${LIBOMP_IMP_LIB_TARGET} ARCHIVE DESTINATION "${OPENMP_INSTALL_LIBDIR}") + # Create aliases (regular copies) of the library for backwards compatibility + set(LIBOMP_ALIASES "libiomp5md") +diff --git a/tools/multiplex/CMakeLists.txt b/tools/multiplex/CMakeLists.txt +index 64317c112176..4002784da736 100644 +--- a/tools/multiplex/CMakeLists.txt ++++ b/tools/multiplex/CMakeLists.txt +@@ -4,7 +4,7 @@ if(LIBOMP_OMPT_SUPPORT) + add_library(ompt-multiplex INTERFACE) + target_include_directories(ompt-multiplex INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + +- install(FILES ompt-multiplex.h DESTINATION include) ++ install(FILES ompt-multiplex.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + add_subdirectory(tests) + endif() From d61e45b686bba959ae361425a47a881a43a56fad Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 27 Feb 2022 18:47:36 +0100 Subject: [PATCH 49/83] llvmPackages_14: init at 2022-01-07 This is a temporary hack until I have time to update the patches for 14.0.0-rc1. We need llvmPackages_14 *NOW* for Chromium M99. --- pkgs/development/compilers/llvm/14/default.nix | 2 +- pkgs/top-level/all-packages.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix index 0f45acffb279..7bf9127c67cf 100644 --- a/pkgs/development/compilers/llvm/14/default.nix +++ b/pkgs/development/compilers/llvm/14/default.nix @@ -19,7 +19,7 @@ let release_version = "14.0.0"; - candidate = ""; # empty or "rcN" + candidate = "rc0"; # empty or "rcN" dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; rev = "fb1582f6c54422995c6fb61ba4c55126b357f64e"; # When using a Git commit rev-version = "unstable-2022-01-07"; # When using a Git commit diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1102d18a20ea..b584f9744da1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11837,6 +11837,7 @@ with pkgs; }; }; + clang_14 = llvmPackages_14.clang; clang_13 = llvmPackages_13.clang; clang_12 = llvmPackages_12.clang; clang_11 = llvmPackages_11.clang; @@ -12779,6 +12780,7 @@ with pkgs; lld_11 = llvmPackages_11.lld; lld_12 = llvmPackages_12.lld; lld_13 = llvmPackages_13.lld; + lld_14 = llvmPackages_14.lld; lldb = llvmPackages_latest.lldb; lldb_5 = llvmPackages_5.lldb; @@ -12790,11 +12792,13 @@ with pkgs; lldb_11 = llvmPackages_11.lldb; lldb_12 = llvmPackages_12.lldb; lldb_13 = llvmPackages_13.lldb; + lldb_14 = llvmPackages_14.lldb; llvm = llvmPackages.llvm; libllvm = llvmPackages.libllvm; llvm-manpages = llvmPackages.llvm-manpages; + llvm_14 = llvmPackages_14.llvm; llvm_13 = llvmPackages_13.llvm; llvm_12 = llvmPackages_12.llvm; llvm_11 = llvmPackages_11.llvm; @@ -12884,6 +12888,14 @@ with pkgs; stdenv = gcc7Stdenv; })); + llvmPackages_14 = recurseIntoAttrs (callPackage ../development/compilers/llvm/14 ({ + inherit (stdenvAdapters) overrideCC; + buildLlvmTools = buildPackages.llvmPackages_14.tools; + targetLlvmLibraries = targetPackages.llvmPackages_14.libraries or llvmPackages_14.libraries; + } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && buildPackages.stdenv.cc.isGNU) { + stdenv = gcc7Stdenv; + })); + llvmPackages_latest = llvmPackages_13; llvmPackages_rocm = recurseIntoAttrs (callPackage ../development/compilers/llvm/rocm { }); From c06351b06e94305f152b53aaa1eb9eb52cdfbda3 Mon Sep 17 00:00:00 2001 From: InfinityGhost <39218853+InfinityGhost@users.noreply.github.com> Date: Sun, 27 Feb 2022 13:23:12 -0500 Subject: [PATCH 50/83] opentabletdriver: v0.6.0.2 -> v0.6.0.3 --- pkgs/tools/X11/opentabletdriver/default.nix | 4 ++-- pkgs/tools/X11/opentabletdriver/deps.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix index 87fc049a6d53..a8ba509c78c9 100644 --- a/pkgs/tools/X11/opentabletdriver/default.nix +++ b/pkgs/tools/X11/opentabletdriver/default.nix @@ -19,13 +19,13 @@ buildDotnetModule rec { pname = "OpenTabletDriver"; - version = "0.6.0.2"; + version = "0.6.0.3"; src = fetchFromGitHub { owner = "OpenTabletDriver"; repo = "OpenTabletDriver"; rev = "v${version}"; - sha256 = "sha256-qPlya5f12Cc1yAK8dliWelA7drAoeeIkFXOD+aDeToo="; + sha256 = "sha256-/Tow25ycQEK8HN1IaB12ZXCXEsuKItD+aYLF/IX8Eos="; }; debPkg = fetchurl { diff --git a/pkgs/tools/X11/opentabletdriver/deps.nix b/pkgs/tools/X11/opentabletdriver/deps.nix index 1cfb58299a29..8ead5fc8a118 100644 --- a/pkgs/tools/X11/opentabletdriver/deps.nix +++ b/pkgs/tools/X11/opentabletdriver/deps.nix @@ -71,7 +71,7 @@ (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w"; }) (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.2"; sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c"; }) - (fetchNuGet { pname = "SharpZipLib"; version = "1.3.1"; sha256 = "09zypjfils38143da507s5fi4hzvdlz32wfav219hksnpl35y8x0"; }) + (fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; }) (fetchNuGet { pname = "StreamJsonRpc"; version = "2.6.121"; sha256 = "0xzvpk17w2skndzdg47j7gkrrvw6521db4mv8lc3v8hm97vs9m76"; }) (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) From 45cd41de23593be4ab1da45546b883ef14f3e596 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 27 Feb 2022 20:25:20 +0100 Subject: [PATCH 51/83] llvmPackages_{git,14}: Replace tabs in lld/default.nix This fixes a CI warning [0]: Run cat "$HOME/changed_files" | xargs -r editorconfig-checker -disable-indent-size pkgs/development/compilers/llvm/14/lld/default.nix: 28: Wrong indent style found (tabs instead of spaces) 29: Wrong indent style found (tabs instead of spaces) 30: Wrong indent style found (tabs instead of spaces) [0]: https://github.com/NixOS/nixpkgs/runs/5351700772 --- pkgs/development/compilers/llvm/14/lld/default.nix | 6 +++--- pkgs/development/compilers/llvm/git/lld/default.nix | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/compilers/llvm/14/lld/default.nix b/pkgs/development/compilers/llvm/14/lld/default.nix index cdd2f5f0fa7f..fe655c761129 100644 --- a/pkgs/development/compilers/llvm/14/lld/default.nix +++ b/pkgs/development/compilers/llvm/14/lld/default.nix @@ -25,9 +25,9 @@ stdenv.mkDerivation rec { patches = [ ./gnu-install-dirs.patch - # On Darwin the llvm-config is perhaps not working fine as the - # LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as - # the include path is not correct. + # On Darwin the llvm-config is perhaps not working fine as the + # LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as + # the include path is not correct. ./fix-root-src-dir.patch ]; diff --git a/pkgs/development/compilers/llvm/git/lld/default.nix b/pkgs/development/compilers/llvm/git/lld/default.nix index cdd2f5f0fa7f..fe655c761129 100644 --- a/pkgs/development/compilers/llvm/git/lld/default.nix +++ b/pkgs/development/compilers/llvm/git/lld/default.nix @@ -25,9 +25,9 @@ stdenv.mkDerivation rec { patches = [ ./gnu-install-dirs.patch - # On Darwin the llvm-config is perhaps not working fine as the - # LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as - # the include path is not correct. + # On Darwin the llvm-config is perhaps not working fine as the + # LLVM_MAIN_SRC_DIR is not getting set correctly, and the build fails as + # the include path is not correct. ./fix-root-src-dir.patch ]; From a9defb71ed07cc53cc47b9a9da8cf0767b437014 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 18:25:31 +0000 Subject: [PATCH 52/83] python39Packages.fontparts: 0.10.2 -> 0.10.3 --- pkgs/development/python-modules/fontparts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fontparts/default.nix b/pkgs/development/python-modules/fontparts/default.nix index 7c04c54d424c..7830cb117128 100644 --- a/pkgs/development/python-modules/fontparts/default.nix +++ b/pkgs/development/python-modules/fontparts/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "fontParts"; - version = "0.10.2"; + version = "0.10.3"; src = fetchPypi { inherit pname version; - sha256 = "a3a3926e977f82ae19e6823760b59f2338085973da1eaad5badaf969f261a737"; + sha256 = "sha256-aHtjLHdc2/s3ppF8fz8qFAqxwEKMZJJAFNlBaZ7FAb4="; extension = "zip"; }; From cd1c866d87f943c266a315c2cb0bd34a5acd12dd Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Sun, 27 Feb 2022 14:03:34 -0600 Subject: [PATCH 53/83] readability-lxml: init at 0.8.1 --- .../readability-lxml/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/python-modules/readability-lxml/default.nix diff --git a/pkgs/development/python-modules/readability-lxml/default.nix b/pkgs/development/python-modules/readability-lxml/default.nix new file mode 100644 index 000000000000..e012bf75fe58 --- /dev/null +++ b/pkgs/development/python-modules/readability-lxml/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, chardet +, cssselect +, lxml +}: + +buildPythonPackage rec { + pname = "readability-lxml"; + version = "0.8.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-5R/qVrWQmq+IbTB9SOeeCWKTJVr6Vnt9CLypTSWxpOE="; + }; + + propagatedBuildInputs = [ chardet cssselect lxml ]; + + postPatch = '' + substituteInPlace setup.py --replace 'sys.platform == "darwin"' "False" + ''; + + doCheck = false; + + meta = with lib; { + description = "Fast python port of arc90's readability tool"; + homepage = "https://github.com/buriy/python-readability"; + license = licenses.apsl20; + maintainers = with maintainers; [ siraben ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3250eb630ddd..b3711d1c5a8f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8595,6 +8595,8 @@ in { re-assert = callPackage ../development/python-modules/re-assert { }; + readability-lxml = callPackage ../development/python-modules/readability-lxml { }; + readchar = callPackage ../development/python-modules/readchar { }; readlike = callPackage ../development/python-modules/readlike { }; From ea7ff89d2cc3790ba087a17d14d807bd04881f8a Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Mon, 17 Jan 2022 05:24:58 -0600 Subject: [PATCH 54/83] archivy: 1.6.1 -> 1.7.1 --- pkgs/applications/misc/archivy/default.nix | 34 ++++++---------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix index 6da5d46f8816..2f07b6dbf959 100644 --- a/pkgs/applications/misc/archivy/default.nix +++ b/pkgs/applications/misc/archivy/default.nix @@ -3,31 +3,15 @@ let defaultOverrides = [ (self: super: { - flask = super.flask.overridePythonAttrs (oldAttrs: rec { - version = "1.1.2"; - pname = "Flask"; + wtforms = super.wtforms.overridePythonAttrs (oldAttrs: rec { + version = "2.3.1"; + pname = "WTForms"; src = super.fetchPypi { inherit pname version; - sha256 = "sha256-Tvoa4tfJhlr0iYbeiuuFBL8yx/PW/ck1PTSyH0sScGA="; + sha256 = "sha256-hhoTs65SHWcA2sOydxlwvTVKY7pwQ+zDqCtSiFlqGXI="; }; - checkInputs = [ self.pytest ]; - propagatedBuildInputs = with self; [ itsdangerous click werkzeug jinja2 ]; - - doCheck = false; - }); - }) - - (self: super: { - flask_login = super.flask_login.overridePythonAttrs (oldAttrs: rec { - pname = "Flask"; - version = "0.5.0"; - - src = fetchPypi { - inherit pname version; - sha256 = "6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b"; - }; doCheck = false; }); }) @@ -45,7 +29,7 @@ let py = python3.override { # Put packageOverrides at the start so they are applied after defaultOverrides - packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) (defaultOverrides); + packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides; }; in @@ -53,11 +37,11 @@ with py.pkgs; buildPythonApplication rec { pname = "archivy"; - version = "1.6.1"; + version = "1.7.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-nwpH3V6hkPC8G3df+0hTZqvIbvT1Z796uOI/iKnXS1w="; + sha256 = "sha256-UNGl5Dl/E3+uQ4HIxzHYliHF4lqD3GYdeoL+DtqUwCo="; }; # Relax some dependencies @@ -72,7 +56,7 @@ buildPythonApplication rec { --replace 'validators ==' 'validators >=' \ --replace 'tinydb ==' 'tinydb >=' \ --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \ - --replace 'Werkzeug ==' 'Werkzeug >=' + --replace 'Flask ==' 'Flask >=' ''; propagatedBuildInputs = [ @@ -87,11 +71,11 @@ buildPythonApplication rec { html2text python-dotenv python-frontmatter + readability-lxml requests setuptools tinydb validators - werkzeug wtforms ]; From 169ba823d9379e6adec8ff703adb43be5b4e4659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cyryl=20P=C5=82otnicki?= Date: Sun, 27 Feb 2022 20:53:33 +0000 Subject: [PATCH 55/83] cmark-gfm: fix includes Fix includes to remove a reference to package-private file. --- pkgs/development/libraries/cmark-gfm/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/libraries/cmark-gfm/default.nix b/pkgs/development/libraries/cmark-gfm/default.nix index b25688acfa15..7641b6043ef8 100644 --- a/pkgs/development/libraries/cmark-gfm/default.nix +++ b/pkgs/development/libraries/cmark-gfm/default.nix @@ -14,6 +14,12 @@ stdenv.mkDerivation rec { # tests load the library dynamically which for unknown reason failed doCheck = false; + # remove when https://github.com/github/cmark-gfm/pull/248 merged and released + postInstall = '' + substituteInPlace $out/include/cmark-gfm-core-extensions.h \ + --replace '#include "config.h"' '#include ' + ''; + meta = with lib; { description = "GitHub's fork of cmark, a CommonMark parsing and rendering library and program in C"; homepage = "https://github.com/github/cmark-gfm"; From 339463b00d7b42c2bd09086386edb4cfd06beb4c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 07:22:12 +0000 Subject: [PATCH 56/83] python310Packages.python-izone: 1.2.4 -> 1.2.7 --- pkgs/development/python-modules/python-izone/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-izone/default.nix b/pkgs/development/python-modules/python-izone/default.nix index f1f8be9d3d27..e3ce43109725 100644 --- a/pkgs/development/python-modules/python-izone/default.nix +++ b/pkgs/development/python-modules/python-izone/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "python-izone"; - version = "1.2.4"; + version = "1.2.7"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Swamp-Ig"; repo = "pizone"; rev = "v${version}"; - hash = "sha256-HV8aQlwJ7VbGlJU0HpS9fK/QnRfYrk4ijKTGPWj0Jww="; + hash = "sha256-CvFOhs56dfNerK3junWElQfTJi1YXA86zMbv0tseQC8="; }; propagatedBuildInputs = [ From 22ce0cf3649ca70d026c227d4116ba48d75a894c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 19:23:23 +0000 Subject: [PATCH 57/83] texworks: 0.6.6 -> 0.6.7 --- pkgs/applications/editors/texworks/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/texworks/default.nix b/pkgs/applications/editors/texworks/default.nix index 9db68f71ea8e..67374b9b40b0 100644 --- a/pkgs/applications/editors/texworks/default.nix +++ b/pkgs/applications/editors/texworks/default.nix @@ -5,13 +5,13 @@ mkDerivation rec { pname = "texworks"; - version = "0.6.6"; + version = "0.6.7"; src = fetchFromGitHub { owner = "TeXworks"; repo = "texworks"; rev = "release-${version}"; - sha256 = "0l8jl1b8lpas7yz6m0qc2nikyn54lx2ljzmjjz3zgxgd6l502006"; + sha256 = "sha256-v0UukFM5brPtgq+zH5H1KfUc0eL0hjTC9z0tVQRqu2Q="; }; nativeBuildInputs = [ cmake pkg-config ]; From 2448f4dd455119cfd272bc6618cbd2db38a86bc7 Mon Sep 17 00:00:00 2001 From: Will Cohen Date: Fri, 18 Feb 2022 10:22:18 -0500 Subject: [PATCH 58/83] qgis: 3.22.3 -> 3.24.0 --- pkgs/applications/gis/qgis/unwrapped.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix index 816368bbabc6..b4ea741fd617 100644 --- a/pkgs/applications/gis/qgis/unwrapped.nix +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -69,14 +69,14 @@ let six ]; in mkDerivation rec { - version = "3.22.3"; + version = "3.24.0"; pname = "qgis-unwrapped"; src = fetchFromGitHub { owner = "qgis"; repo = "QGIS"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "TLXhXHU0dp0MnKHFw/+1rQnJbebnwje21Oasy0qWctk="; + sha256 = "sha256-EPF8sXAH7UAttLutxXGFovog3+XpXP0GXg2tu0mSU2s="; }; passthru = { From 9f27578b401813f9355ca3c789e10df872541d7d Mon Sep 17 00:00:00 2001 From: Will Cohen Date: Fri, 18 Feb 2022 10:22:43 -0500 Subject: [PATCH 59/83] qgis-ltr: 3.16.16 -> 3.22.4 --- pkgs/applications/gis/qgis/unwrapped-ltr.nix | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix index 3de304f586fd..95fdeb38c831 100644 --- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix +++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix @@ -35,6 +35,8 @@ , grass , withWebKit ? true , qtwebkit +, pdal +, zstd , makeWrapper }: @@ -67,14 +69,14 @@ let six ]; in mkDerivation rec { - version = "3.16.16"; + version = "3.22.4"; pname = "qgis-ltr-unwrapped"; src = fetchFromGitHub { owner = "qgis"; repo = "QGIS"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "85RlV1Ik1BeN9B7UE51ktTWMiGkMga2E/fnhyiVwjIs="; + sha256 = "sha256-z2dCdaIJUKpZgJHtn1/qA07uMJpAWKL0cDx6B/n1Oxg="; }; passthru = { @@ -108,6 +110,8 @@ in mkDerivation rec { qtserialport qtxmlpatterns qt3d + pdal + zstd ] ++ lib.optional withGrass grass ++ lib.optional withWebKit qtwebkit ++ pythonBuildInputs; @@ -126,6 +130,7 @@ in mkDerivation rec { cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" "-DWITH_3D=True" + "-DWITH_PDAL=TRUE" "-DPYQT5_SIP_DIR=${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings" "-DQSCI_SIP_DIR=${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}/PyQt5/bindings" ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" @@ -138,11 +143,11 @@ in mkDerivation rec { --prefix PATH : ${lib.makeBinPath [ grass ]} ''; - meta = with lib; { + meta = { description = "A Free and Open Source Geographic Information System"; homepage = "https://www.qgis.org"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ lsix sikmir erictapen ]; + license = lib.licenses.gpl2Plus; + platforms = with lib.platforms; linux; + maintainers = with lib.maintainers; [ lsix sikmir erictapen ]; }; } From e18d2801ad5b50bc82e4a42dd083d9795d75966a Mon Sep 17 00:00:00 2001 From: Will Cohen Date: Sun, 27 Feb 2022 13:52:20 -0500 Subject: [PATCH 60/83] qgis: add willcohen to maintainers --- pkgs/applications/gis/qgis/unwrapped.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix index b4ea741fd617..9658cfe0608d 100644 --- a/pkgs/applications/gis/qgis/unwrapped.nix +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -148,6 +148,6 @@ in mkDerivation rec { homepage = "https://www.qgis.org"; license = lib.licenses.gpl2Plus; platforms = with lib.platforms; linux; - maintainers = with lib.maintainers; [ lsix sikmir erictapen ]; + maintainers = with lib.maintainers; [ lsix sikmir erictapen willcohen ]; }; } From b2ffb9fc96c3b2c1f16112a750da03c82b789760 Mon Sep 17 00:00:00 2001 From: Will Cohen Date: Sun, 27 Feb 2022 13:52:45 -0500 Subject: [PATCH 61/83] qgis-ltr: add willcohen to maintainers --- pkgs/applications/gis/qgis/unwrapped-ltr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix index 95fdeb38c831..41408bc33072 100644 --- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix +++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix @@ -148,6 +148,6 @@ in mkDerivation rec { homepage = "https://www.qgis.org"; license = lib.licenses.gpl2Plus; platforms = with lib.platforms; linux; - maintainers = with lib.maintainers; [ lsix sikmir erictapen ]; + maintainers = with lib.maintainers; [ lsix sikmir erictapen willcohen ]; }; } From b3bb79b6b1747755846a3c974b6ca0e865bb05ff Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 27 Feb 2022 15:53:47 +0100 Subject: [PATCH 62/83] aquosctl: init at unstable-2014-04-06 --- pkgs/tools/misc/aquosctl/default.nix | 34 ++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/tools/misc/aquosctl/default.nix diff --git a/pkgs/tools/misc/aquosctl/default.nix b/pkgs/tools/misc/aquosctl/default.nix new file mode 100644 index 000000000000..d67005053b15 --- /dev/null +++ b/pkgs/tools/misc/aquosctl/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +let + pname = "aquosctl"; +in +stdenv.mkDerivation { + inherit pname; + version = "unstable-2014-04-06"; + + src = fetchFromGitHub { + owner = "jdwhite"; + repo = pname; + rev = "b5e48d9ef848188b97dfb24bfcc99d5196cab5f6"; + hash = "sha256-FA3LR58KMG5RzSxxnOkVw1+inM/gMGPtw5+JQwSHBYs="; + }; + + installPhase = '' + runHook preInstall + install -Dm0755 aquosctl $out/bin/aquosctl + runHook postInstall + ''; + + meta = with lib; { + description = "Sharp Aquos television RS-232 control application"; + homepage = "https://github.com/jdwhite/aquosctl"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1102d18a20ea..664d16461c89 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1020,6 +1020,8 @@ with pkgs; albert = libsForQt5.callPackage ../applications/misc/albert {}; + aquosctl = callPackage ../tools/misc/aquosctl { }; + arch-install-scripts = callPackage ../tools/misc/arch-install-scripts {}; auditwheel = callPackage ../tools/package-management/auditwheel { }; From 27e7b4d9c754e6595e3c5033b691cadd40b999bf Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Mon, 21 Feb 2022 18:59:00 -0800 Subject: [PATCH 63/83] steam: add dotnet support --- pkgs/games/steam/fhsenv.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index eb90c6dd24da..447ff94bf9d3 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -117,6 +117,7 @@ in buildFHSUserEnv rec { xorg.xkeyboardconfig xorg.libpciaccess udev # shadow of the tomb raider + icu # dotnet runtime, e.g. stardew valley # screeps dependencies gtk3 From 0685f53c66ec580e560cbc04f468bbb3f6d7d5a1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 26 Feb 2022 11:01:53 +0000 Subject: [PATCH 64/83] python310Packages.hg-evolve: 10.4.1 -> 10.5.0 --- pkgs/development/python-modules/hg-evolve/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/hg-evolve/default.nix b/pkgs/development/python-modules/hg-evolve/default.nix index 27c2167ff1dd..9b1264e738b4 100644 --- a/pkgs/development/python-modules/hg-evolve/default.nix +++ b/pkgs/development/python-modules/hg-evolve/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "hg-evolve"; - version = "10.4.1"; + version = "10.5.0"; src = fetchPypi { inherit pname version; - sha256 = "b47d9a1e0af3d7b54edd646581ac3e3ab046a572368eeb22dfd89dff7f9964d2"; + sha256 = "sha256-p2zPUCc+KrsNxPChdW3ZgkOo+HJB7IcYtqh5Uh0Qnaw="; }; checkInputs = [ From 323837f7db75d84672a9d5a2368905b132ef91cf Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 27 Feb 2022 19:15:48 +0100 Subject: [PATCH 65/83] llvmPackages_14: 2022-01-07 -> 14.0.0-rc1 --- .../llvm/14/clang/gnu-install-dirs.patch | 203 +----------------- .../14/compiler-rt/gnu-install-dirs.patch | 25 +-- .../development/compilers/llvm/14/default.nix | 8 +- 3 files changed, 19 insertions(+), 217 deletions(-) diff --git a/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch index a8825f08850e..57c54e18c37b 100644 --- a/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/14/clang/gnu-install-dirs.patch @@ -1,77 +1,26 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ea37850ad60..ac0f2d4f60b4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,6 +5,8 @@ cmake_minimum_required(VERSION 3.13.4) - if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) - project(Clang) - -+ include(GNUInstallDirs) -+ - set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to conform to") - set(CMAKE_CXX_STANDARD_REQUIRED YES) - set(CMAKE_CXX_EXTENSIONS NO) -@@ -424,7 +426,7 @@ include_directories(BEFORE - - if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - install(DIRECTORY include/clang include/clang-c -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT clang-headers - FILES_MATCHING - PATTERN "*.def" -@@ -433,7 +435,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - ) - - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/clang -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT clang-headers - FILES_MATCHING - PATTERN "CMakeFiles" EXCLUDE -@@ -453,7 +455,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - - add_custom_target(bash-autocomplete DEPENDS utils/bash-autocomplete.sh) - install(PROGRAMS utils/bash-autocomplete.sh -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT bash-autocomplete) - if(NOT LLVM_ENABLE_IDE) - add_llvm_install_targets(install-bash-autocomplete diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake -index 5752f4277444..5bf08dbf5e83 100644 +index 9bbbfc032b7d..947bd0da865d 100644 --- a/cmake/modules/AddClang.cmake +++ b/cmake/modules/AddClang.cmake -@@ -118,9 +118,9 @@ macro(add_clang_library name) +@@ -119,8 +119,8 @@ macro(add_clang_library name) install(TARGETS ${lib} COMPONENT ${lib} ${export_to_clangtargets} - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} - ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX} -- RUNTIME DESTINATION bin) + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + if (NOT LLVM_ENABLE_IDE) - add_llvm_install_targets(install-${lib} -@@ -159,7 +159,7 @@ macro(add_clang_tool name) - get_target_export_arg(${name} Clang export_to_clangtargets) - install(TARGETS ${name} - ${export_to_clangtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT ${name}) - - if(NOT LLVM_ENABLE_IDE) -@@ -174,7 +174,7 @@ endmacro() +@@ -175,7 +175,7 @@ endmacro() macro(add_clang_symlink name dest) add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE) # Always generate install targets - llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE) + llvm_install_symlink(${name} ${dest} ${CMAKE_INSTALL_FULL_BINDIR} ALWAYS_GENERATE) endmacro() - + function(clang_target_link_libraries target type) diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt index 078988980c52..14b58614b40a 100644 @@ -80,84 +29,16 @@ index 078988980c52..14b58614b40a 100644 @@ -234,7 +234,7 @@ set_target_properties(clang-resource-headers PROPERTIES FOLDER "Misc" RUNTIME_OUTPUT_DIRECTORY "${output_dir}") - + -set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) +set(header_install_dir ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) - + install( FILES ${files} ${generated_files} -diff --git a/tools/c-index-test/CMakeLists.txt b/tools/c-index-test/CMakeLists.txt -index 99c6081db2d6..0887102febb3 100644 ---- a/tools/c-index-test/CMakeLists.txt -+++ b/tools/c-index-test/CMakeLists.txt -@@ -49,7 +49,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH - "@executable_path/../../lib") - else() -- set(INSTALL_DESTINATION bin) -+ set(INSTALL_DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - - install(TARGETS c-index-test -diff --git a/tools/clang-format/CMakeLists.txt b/tools/clang-format/CMakeLists.txt -index 35ecdb11253c..d77d75de0094 100644 ---- a/tools/clang-format/CMakeLists.txt -+++ b/tools/clang-format/CMakeLists.txt -@@ -21,20 +21,20 @@ if( LLVM_LIB_FUZZING_ENGINE OR LLVM_USE_SANITIZE_COVERAGE ) - endif() - - install(PROGRAMS clang-format-bbedit.applescript -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format-diff.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format-sublime.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format.el -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS clang-format.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-format) - install(PROGRAMS git-clang-format -- DESTINATION bin -+ DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT clang-format) -diff --git a/tools/clang-rename/CMakeLists.txt b/tools/clang-rename/CMakeLists.txt -index cda8e29ec5b1..0134d8ccd70b 100644 ---- a/tools/clang-rename/CMakeLists.txt -+++ b/tools/clang-rename/CMakeLists.txt -@@ -19,8 +19,8 @@ clang_target_link_libraries(clang-rename - ) - - install(PROGRAMS clang-rename.py -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-rename) - install(PROGRAMS clang-rename.el -- DESTINATION share/clang -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/clang - COMPONENT clang-rename) diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt -index bf88dca0a34b..7a10181e7738 100644 +index 4e0647971ab4..68dd67fcc476 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt -@@ -186,7 +186,7 @@ endif() - if(INTERNAL_INSTALL_PREFIX) - set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include") - else() -- set(LIBCLANG_HEADERS_INSTALL_DESTINATION include) -+ set(LIBCLANG_HEADERS_INSTALL_DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - endif() - - install(DIRECTORY ../../include/clang-c @@ -216,7 +216,7 @@ foreach(PythonVersion ${CLANG_PYTHON_BINDINGS_VERSIONS}) COMPONENT libclang-python-bindings @@ -167,69 +48,3 @@ index bf88dca0a34b..7a10181e7738 100644 endforeach() if(NOT LLVM_ENABLE_IDE) add_custom_target(libclang-python-bindings) -diff --git a/tools/scan-build/CMakeLists.txt b/tools/scan-build/CMakeLists.txt -index 74334e53c9b1..ebaae33e4324 100644 ---- a/tools/scan-build/CMakeLists.txt -+++ b/tools/scan-build/CMakeLists.txt -@@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) - install(PROGRAMS bin/${BinFile} -- DESTINATION bin -+ DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT scan-build) - endforeach() - -@@ -61,7 +61,7 @@ if(CLANG_INSTALL_SCANBUILD) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${LibexecFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${LibexecFile}) - install(PROGRAMS libexec/${LibexecFile} -- DESTINATION libexec -+ DESTINATION ${CMAKE_INSTALL_LIBEXECDIR} - COMPONENT scan-build) - endforeach() - -@@ -89,7 +89,7 @@ if(CLANG_INSTALL_SCANBUILD) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/scan-build/${ShareFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-build/${ShareFile}) - install(FILES share/scan-build/${ShareFile} -- DESTINATION share/scan-build -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-build - COMPONENT scan-build) - endforeach() - -diff --git a/tools/scan-view/CMakeLists.txt b/tools/scan-view/CMakeLists.txt -index eccc6b83195b..ff72d9cf0666 100644 ---- a/tools/scan-view/CMakeLists.txt -+++ b/tools/scan-view/CMakeLists.txt -@@ -20,7 +20,7 @@ if(CLANG_INSTALL_SCANVIEW) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) - install(PROGRAMS bin/${BinFile} -- DESTINATION bin -+ DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT scan-view) - endforeach() - -@@ -34,7 +34,7 @@ if(CLANG_INSTALL_SCANVIEW) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/share/${ShareFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/share/scan-view/${ShareFile}) - install(FILES share/${ShareFile} -- DESTINATION share/scan-view -+ DESTINATION ${CMAKE_INSTALL_DATADIR}/scan-view - COMPONENT scan-view) - endforeach() - -diff --git a/utils/hmaptool/CMakeLists.txt b/utils/hmaptool/CMakeLists.txt -index 62f2de0cb15c..6aa66825b6ec 100644 ---- a/utils/hmaptool/CMakeLists.txt -+++ b/utils/hmaptool/CMakeLists.txt -@@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM - - list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL}) - install(PROGRAMS ${CLANG_HMAPTOOL} -- DESTINATION bin -+ DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT hmaptool) - - add_custom_target(hmaptool ALL DEPENDS ${Depends}) diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch index 909b5193ffd8..55837bd8e45b 100644 --- a/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/14/compiler-rt/gnu-install-dirs.patch @@ -1,21 +1,21 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index c5003b5efa1d..4fffb9721284 100644 +index 3a41aa43e406..f000cee6eae0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,8 @@ - + cmake_minimum_required(VERSION 3.13.4) - + +include(GNUInstallDirs) + # Check if compiler-rt is built as a standalone project. if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD) project(CompilerRT C CXX ASM) diff --git a/cmake/base-config-ix.cmake b/cmake/base-config-ix.cmake -index 1ada0ab30ba0..b4be6c4a3c73 100644 +index d7b0124f3546..3e111146df4d 100644 --- a/cmake/base-config-ix.cmake +++ b/cmake/base-config-ix.cmake -@@ -66,7 +66,7 @@ if (LLVM_TREE_AVAILABLE) +@@ -67,7 +67,7 @@ if (LLVM_TREE_AVAILABLE) else() # Take output dir and install path from the user. set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH @@ -24,7 +24,7 @@ index 1ada0ab30ba0..b4be6c4a3c73 100644 set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH "Path where built compiler-rt executables should be stored.") set(COMPILER_RT_INSTALL_PATH "" CACHE PATH -@@ -98,23 +98,23 @@ endif() +@@ -99,13 +99,13 @@ endif() if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE) set(COMPILER_RT_OUTPUT_LIBRARY_DIR ${COMPILER_RT_OUTPUT_DIR}/lib) @@ -40,16 +40,3 @@ index 1ada0ab30ba0..b4be6c4a3c73 100644 set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH "Path where built compiler-rt libraries should be installed.") endif() --extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" bin) -+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}") - set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH - "Path where built compiler-rt executables should be installed.") --extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" include) -+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}") - set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH - "Path where compiler-rt headers should be installed.") --extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" share) -+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}") - set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH - "Path where compiler-rt data files should be installed.") - diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix index 7bf9127c67cf..6f4a0d8ee754 100644 --- a/pkgs/development/compilers/llvm/14/default.nix +++ b/pkgs/development/compilers/llvm/14/default.nix @@ -19,10 +19,10 @@ let release_version = "14.0.0"; - candidate = "rc0"; # empty or "rcN" + candidate = "rc1"; # empty or "rcN" dash-candidate = lib.optionalString (candidate != "") "-${candidate}"; - rev = "fb1582f6c54422995c6fb61ba4c55126b357f64e"; # When using a Git commit - rev-version = "unstable-2022-01-07"; # When using a Git commit + rev = ""; # When using a Git commit + rev-version = ""; # When using a Git commit version = if rev != "" then rev-version else "${release_version}${dash-candidate}"; targetConfig = stdenv.targetPlatform.config; @@ -30,7 +30,7 @@ let owner = "llvm"; repo = "llvm-project"; rev = if rev != "" then rev else "llvmorg-${version}"; - sha256 = "1pkgdsscvf59i22ix763lp2z3sg0v2z2ywh0n07k3ki7q1qpqbhk"; + sha256 = "sha256-bO13J5bhE4YVGvoaTuzFgf62HYh+Shv6T0u07CFjI9E="; }; llvm_meta = { From 74cb03c8efd046bde52a915e0403a65b89aea727 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 27 Feb 2022 11:47:40 +0100 Subject: [PATCH 66/83] python3Packages.weconnect: 0.36.4 -> 0.37.0 --- pkgs/development/python-modules/weconnect/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix index 794fde431671..f5af3e5aa504 100644 --- a/pkgs/development/python-modules/weconnect/default.nix +++ b/pkgs/development/python-modules/weconnect/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "weconnect"; - version = "0.36.4"; + version = "0.37.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "tillsteinbach"; repo = "WeConnect-python"; rev = "v${version}"; - sha256 = "sha256-B4RZftGngV85Trm0iPj50WAv1M0H+sjQ9ABiGh070/M="; + sha256 = "sha256-h6jKtQt9vCh5bnhIqWLniUIJ41GxCs0uSi4vBVNs8tE="; }; propagatedBuildInputs = [ From 899f4107a4ceff0a32b71c648a74970837d0e6ad Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 27 Feb 2022 11:50:53 +0100 Subject: [PATCH 67/83] python3Packages.weconnect-mqtt: 0.29.1 -> 0.30.0 --- pkgs/development/python-modules/weconnect-mqtt/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix index 82bf024c824c..42a3877cffc1 100644 --- a/pkgs/development/python-modules/weconnect-mqtt/default.nix +++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix @@ -4,12 +4,13 @@ , pytestCheckHook , pythonOlder , paho-mqtt +, python-dateutil , weconnect }: buildPythonPackage rec { pname = "weconnect-mqtt"; - version = "0.29.1"; + version = "0.30.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,11 +19,12 @@ buildPythonPackage rec { owner = "tillsteinbach"; repo = "WeConnect-mqtt"; rev = "v${version}"; - sha256 = "sha256-/hFlH0naE62d2dyYIJD/+TuSQDOVgS8tQsSX8JuReC0="; + sha256 = "sha256-/mlN9gEEy8DJSFef0Pp2PLjHhwStKwANKSzw4nT19eM="; }; propagatedBuildInputs = [ paho-mqtt + python-dateutil weconnect ]; From 507ab175316c6b1d4510b696182b1af6148aa7ca Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 27 Feb 2022 15:33:03 +0000 Subject: [PATCH 68/83] python3Packages.celery: add nixosTests.sourcehut as passthru test sourcehut uses celery internally --- pkgs/development/python-modules/celery/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix index eabb3521416e..247d25bf420a 100644 --- a/pkgs/development/python-modules/celery/default.nix +++ b/pkgs/development/python-modules/celery/default.nix @@ -19,6 +19,7 @@ , pythonOlder , pytz , vine +, nixosTests }: buildPythonPackage rec { @@ -78,6 +79,10 @@ buildPythonPackage rec { "celery" ]; + passthru.tests = { + inherit (nixosTests) sourcehut; + }; + meta = with lib; { description = "Distributed task queue"; homepage = "https://github.com/celery/celery/"; From 11189a2cd4224efa55f1402630dba47908178311 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Sun, 27 Feb 2022 13:58:50 +0100 Subject: [PATCH 69/83] vimPlugins.vim-CtrlXA: init at 2021-08-09 --- pkgs/applications/editors/vim/plugins/generated.nix | 12 ++++++++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 13 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 71bbf865f15e..3651c6ac5e1e 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -7985,6 +7985,18 @@ final: prev: meta.homepage = "https://github.com/ap/vim-css-color/"; }; + vim-CtrlXA = buildVimPluginFrom2Nix { + pname = "vim-CtrlXA"; + version = "2021-08-09"; + src = fetchFromGitHub { + owner = "Konfekt"; + repo = "vim-CtrlXA"; + rev = "404ea1e055921db5679b3734108d72850d6faa76"; + sha256 = "10bgyqnwcqly3sxl27np1b690hnj1snqbcvg8pzh4zgdysfgy9xg"; + }; + meta.homepage = "https://github.com/Konfekt/vim-CtrlXA/"; + }; + vim-cue = buildVimPluginFrom2Nix { pname = "vim-cue"; version = "2021-06-18"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 969bb19682c4..48e1b99d1d0b 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -378,6 +378,7 @@ kien/rainbow_parentheses.vim knubie/vim-kitty-navigator konfekt/fastfold Konfekt/vim-alias +Konfekt/vim-CtrlXA konfekt/vim-DetectSpellLang kosayoda/nvim-lightbulb kovisoft/slimv From d91c40a3cd423124518a6f7c4a3b7d7b192cf5f8 Mon Sep 17 00:00:00 2001 From: wackbyte Date: Sun, 27 Feb 2022 15:36:08 -0500 Subject: [PATCH 70/83] vscode-extensions.llvm-vs-code-extensions.vscode-clangd: 0.1.13 -> 0.1.15 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 3e5bf42dd958..ab8e5b72399d 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1276,8 +1276,8 @@ let mktplcRef = { name = "vscode-clangd"; publisher = "llvm-vs-code-extensions"; - version = "0.1.13"; - sha256 = "/MpwbM+obcD3uqk8hnDrnbEK9Jot4fMe4sNzLt6mVGI="; + version = "0.1.15"; + sha256 = "0skasnc490wp0l5xzpdmwdzjr4qiy63kg2qi27060m5yqkq3h8xn"; }; meta = { license = lib.licenses.mit; From 0e734b2fe223b3e9dd3cad878ed41738fb6017a3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 13:18:40 +0000 Subject: [PATCH 71/83] python310Packages.django-dynamic-preferences: 1.11.0 -> 1.12.0 --- .../python-modules/django-dynamic-preferences/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/django-dynamic-preferences/default.nix b/pkgs/development/python-modules/django-dynamic-preferences/default.nix index 9f04f25f4648..c9a0f10947ea 100644 --- a/pkgs/development/python-modules/django-dynamic-preferences/default.nix +++ b/pkgs/development/python-modules/django-dynamic-preferences/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "django-dynamic-preferences"; - version = "1.11.0"; + version = "1.12.0"; src = fetchPypi { inherit pname version; - sha256 = "f214c938b5872a17647e2b2ccfd9ad00a90a3c6c4aa83fa65d3c5c446e7a66c7"; + sha256 = "sha256-zYmHz45N024BmtPoolxYm8S0EMpKZs38vlwlpRenwK0="; }; propagatedBuildInputs = [ six django persisting-theory ]; From 1300b351a73d9a4792bf7eae9bf8048e46abcd24 Mon Sep 17 00:00:00 2001 From: wackbyte Date: Sun, 27 Feb 2022 15:41:02 -0500 Subject: [PATCH 72/83] vscode-extensions.redhat.java: 1.2.0 -> 1.3.0 --- pkgs/applications/editors/vscode/extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index ab8e5b72399d..c08f48a405ed 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1537,8 +1537,8 @@ let mktplcRef = { name = "java"; publisher = "redhat"; - version = "1.2.0"; - sha256 = "sha256-YmR3FWhPZSU2gE6NIVoA1HZBzaYaTNYFXC/uNwbDEdQ="; + version = "1.3.0"; + sha256 = "sha256-Y5hP/Rq9BsFwbCRQWOfiLHKoYkKBpZx8blg9o74obfk="; }; buildInputs = [ jdk ]; meta = { From f006f108ab66d49d4755819213be80bd2f9c0d3b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 14:35:10 +0000 Subject: [PATCH 73/83] python310Packages.APScheduler: 3.8.1 -> 3.9.0.post1 --- pkgs/development/python-modules/APScheduler/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix index 52d4ecdc3b71..9ba564fcaac5 100644 --- a/pkgs/development/python-modules/APScheduler/default.nix +++ b/pkgs/development/python-modules/APScheduler/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "apscheduler"; - version = "3.8.1"; + version = "3.9.0.post1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "APScheduler"; inherit version; - hash = "sha256-XPNE68+9qkiuF4wCnAVc7HvHpKR8IeMV5NHwi9NfI1U="; + hash = "sha256-I22/ckQgD/x5xsC5/30u0Q5+mF839I1KI/QUL0ln3LU="; }; buildInputs = [ From a0abe63e440a320323251895d2f6de61e0893d57 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 13:23:05 +0000 Subject: [PATCH 74/83] python310Packages.aiogithubapi: 22.2.3 -> 22.2.4 --- pkgs/development/python-modules/aiogithubapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aiogithubapi/default.nix b/pkgs/development/python-modules/aiogithubapi/default.nix index 747aa3f4d471..82c1145f9e3f 100644 --- a/pkgs/development/python-modules/aiogithubapi/default.nix +++ b/pkgs/development/python-modules/aiogithubapi/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "aiogithubapi"; - version = "22.2.3"; + version = "22.2.4"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "ludeeus"; repo = pname; rev = version; - sha256 = "sha256-oeUcyClTmOYF6vdhwiOp2L7x27DXEbujdtRV4NwGcYo="; + sha256 = "sha256-2RYpeyX88+eEilK/wLDJ6Ock1JBgIUPWbm/ZBJSQ2pg="; }; propagatedBuildInputs = [ From 881a10922712ae4dbb784d5240728222ea176bf3 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:46:05 +1000 Subject: [PATCH 75/83] Revert "Revert "linuxPackages: bump default 5.10 -> 5.15"" This reverts commit 7546480323cbab1aae70e1447fc127bb1861740c. --- pkgs/top-level/linux-kernels.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 6390bde6f930..b5f1e459b909 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -532,7 +532,7 @@ in { }); packageAliases = { - linux_default = packages.linux_5_10; + linux_default = packages.linux_5_15; # Update this when adding the newest kernel major version! linux_latest = packages.linux_5_16; linux_mptcp = packages.linux_mptcp_95; From 177281ad00b6e5f1b3ba9acced399e2bc7d37340 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:56:58 +1000 Subject: [PATCH 76/83] nixos/amazon-image: use 5_10 kernel and add assert --- nixos/modules/virtualisation/amazon-image.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index bd7077ff7ea1..9a56b6950155 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -37,8 +37,13 @@ in { assertion = cfg.efi -> cfg.hvm; message = "EC2 instances using EFI must be HVM instances."; } + { assertion = versionOlder config.boot.kernelPackages.kernel.version "5.15"; + message = "ENA driver fails to build with kernel >= 5.15"; + } ]; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_10; + boot.growPartition = cfg.hvm; fileSystems."/" = mkIf (!cfg.zfs.enable) { From 836c6353cc33fd43e3c956040e77d050a4e6e727 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:56:59 +1000 Subject: [PATCH 77/83] linux_5_15: mark as broken on i686 --- pkgs/os-specific/linux/kernel/linux-5.15.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix index 92fa05dbb027..e02262c79a47 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.15.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix @@ -1,4 +1,4 @@ -{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args: +{ lib, stdenv, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args: with lib; @@ -11,6 +11,8 @@ buildLinux (args // rec { # branchVersion needs to be x.y extraMeta.branch = versions.majorMinor version; + extraMeta.broken = stdenv.isi686; + src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; sha256 = "0y9qahkya5dfnr6g04w5ym0p6h9ixmcdhvgz9g2b64aaaazgz6a3"; From fa52a102be121ea203f4fb4a1fcb403426c0fee5 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Thu, 10 Feb 2022 17:56:58 +1000 Subject: [PATCH 78/83] linuxPackages: use 5_10 kernel on i686 --- pkgs/top-level/linux-kernels.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index b5f1e459b909..8490870e5894 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -532,7 +532,7 @@ in { }); packageAliases = { - linux_default = packages.linux_5_15; + linux_default = if stdenv.hostPlatform.isi686 then packages.linux_5_10 else packages.linux_5_15; # Update this when adding the newest kernel major version! linux_latest = packages.linux_5_16; linux_mptcp = packages.linux_mptcp_95; From 56828530275888e4d79ee64f8ff772bdbfe34637 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Tue, 22 Feb 2022 04:45:33 +1000 Subject: [PATCH 79/83] nixos/release: disable nfs3.simple --- nixos/release-combined.nix | 3 ++- nixos/release-small.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index ee3f3d19174e..295aa4ea84f7 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -130,7 +130,8 @@ in rec { (onFullSupported "nixos.tests.networking.networkd.virtual") (onFullSupported "nixos.tests.networking.networkd.vlan") (onFullSupported "nixos.tests.systemd-networkd-ipv6-prefix-delegation") - (onFullSupported "nixos.tests.nfs3.simple") + # fails with kernel >= 5.15 https://github.com/NixOS/nixpkgs/pull/152505#issuecomment-1005049314 + #(onFullSupported "nixos.tests.nfs3.simple") (onFullSupported "nixos.tests.nfs4.simple") (onFullSupported "nixos.tests.openssh") (onFullSupported "nixos.tests.pantheon") diff --git a/nixos/release-small.nix b/nixos/release-small.nix index 996db54c9a40..c2ac4c653ea1 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -107,7 +107,8 @@ in rec { "nixos.tests.nat.firewall-conntrack.x86_64-linux" "nixos.tests.nat.firewall.x86_64-linux" "nixos.tests.nat.standalone.x86_64-linux" - "nixos.tests.nfs3.simple.x86_64-linux" + # fails with kernel >= 5.15 https://github.com/NixOS/nixpkgs/pull/152505#issuecomment-1005049314 + #"nixos.tests.nfs3.simple.x86_64-linux" "nixos.tests.openssh.x86_64-linux" "nixos.tests.php.fpm.x86_64-linux" "nixos.tests.php.pcre.x86_64-linux" From f79572f92ff4fa7024aad4c50494318fdb331fe4 Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Fri, 25 Feb 2022 21:43:22 -0300 Subject: [PATCH 80/83] k3s: update script fixed --- .../networking/cluster/k3s/default.nix | 22 ++++---- .../networking/cluster/k3s/update.sh | 56 +++++++++++++++++-- 2 files changed, 62 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix index 5b5dfece1f1b..f1d1628fa0da 100644 --- a/pkgs/applications/networking/cluster/k3s/default.nix +++ b/pkgs/applications/networking/cluster/k3s/default.nix @@ -49,6 +49,9 @@ let k3sVersion = "1.23.3+k3s1"; # k3s git tag k3sCommit = "6f4217a3405d16a1a51bbb40872d7dcb87207bb9"; # k3s git commit at the above version k3sRepoSha256 = "sha256-0dRusG1vL+1KbmViIUNCZK1b+FEgV6otcVUyFonHmm4="; + k3sVendorSha256 = "sha256-8Yp9csyRNSYi9wo8E8mF8cu92wG1t3l18wJ8Y4L7HEA="; + + k3sServerVendorSha256 = "sha256-9+2k/ipAOhc8JJU+L2dwaM01Dkw+0xyrF5kt6mL19G0="; # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9 # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know. @@ -65,11 +68,11 @@ let # taken from go.mod, the 'github.com/containerd/containerd' line # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'` - containerdVersion = "v1.5.9-k3s1"; + containerdVersion = "1.5.9-k3s1"; containerdSha256 = "sha256-7xlhBA6KuwFlw+jyThygv4Ow9F3xjjIUtS6x8YHwjic="; # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag - criCtlVersion = "v1.22.0-k3s1"; + criCtlVersion = "1.22.0-k3s1"; baseMeta = { description = "A lightweight Kubernetes distribution"; @@ -91,10 +94,8 @@ let "-X k8s.io/component-base/version.gitCommit=${k3sCommit}" "-X k8s.io/component-base/version.gitTreeState=clean" "-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z" - "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=${criCtlVersion}" - "-X github.com/containerd/containerd/version.Version=${containerdVersion}" - "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd" - "-X github.com/containerd/containerd/version.Version=${containerdVersion}" + "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=v${criCtlVersion}" + "-X github.com/containerd/containerd/version.Version=v${containerdVersion}" "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd" ]; @@ -168,12 +169,13 @@ let # strip/patchelf/remove-references step ourselves in the installPhase of the # derivation when we've built all the binaries, but haven't bundled them in # with generated bindata yet. + k3sServer = buildGoModule rec { pname = "k3s-server"; version = k3sVersion; src = k3sRepo; - vendorSha256 = "sha256-9+2k/ipAOhc8JJU+L2dwaM01Dkw+0xyrF5kt6mL19G0="; + vendorSha256 = k3sServerVendorSha256; nativeBuildInputs = [ pkg-config ]; buildInputs = [ libseccomp ]; @@ -203,11 +205,11 @@ let }; k3sContainerd = buildGoModule { pname = "k3s-containerd"; - version = k3sVersion; + version = containerdVersion; src = fetchFromGitHub { owner = "k3s-io"; repo = "containerd"; - rev = containerdVersion; + rev = "v${containerdVersion}"; sha256 = containerdSha256; }; vendorSha256 = null; @@ -222,7 +224,7 @@ buildGoModule rec { src = k3sRepo; proxyVendor = true; - vendorSha256 = "sha256-8Yp9csyRNSYi9wo8E8mF8cu92wG1t3l18wJ8Y4L7HEA="; + vendorSha256 = k3sVendorSha256; patches = [ ./patches/0001-scrips-download-strip-downloading-just-package-CRD.patch diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh index 01b3434b5bae..af0fdfdfddb2 100755 --- a/pkgs/applications/networking/cluster/k3s/update.sh +++ b/pkgs/applications/networking/cluster/k3s/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl gnugrep gnused jq +#!nix-shell -i bash -p curl gnugrep gnused jq yq-go nix-prefetch set -x -eu -o pipefail @@ -32,22 +32,33 @@ curl --silent https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT}/scripts FILE_MANIFESTS_TRAEFIK=${WORKDIR}/manifests-traefik.yaml curl --silent https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT}/manifests/traefik.yaml > $FILE_MANIFESTS_TRAEFIK -TRAEFIK_CHART_VERSION=$(awk -F/ '/traefik-([[:digit:]]+\.)/ {sub(/traefik-/, "", $6) ; sub(/\.tgz/, "", $6); print $6}' $FILE_MANIFESTS_TRAEFIK) +FILE_GO_MOD=${WORKDIR}/go.mod +curl --silent https://raw.githubusercontent.com/k3s-io/k3s/${K3S_COMMIT}/go.mod > $FILE_GO_MOD +TRAEFIK_CHART_VERSION=$(yq e '.spec.chart' $FILE_MANIFESTS_TRAEFIK | awk 'match($0, /([0-9.]+)([0-9]{2})/, +m) { print m[1]; exit; }') TRAEFIK_CHART_SHA256=$(nix-prefetch-url --quiet "https://helm.traefik.io/traefik/traefik-${TRAEFIK_CHART_VERSION}.tgz") -K3S_ROOT_VERSION=$(grep 'ROOT_VERSION=' ${FILE_SCRIPTS_DOWNLOAD} \ - | cut -d'=' -f2 | cut -d' ' -f1 | sed 's/^v//') +K3S_ROOT_VERSION=$(grep 'VERSION_ROOT=' ${FILE_SCRIPTS_VERSION} \ + | cut -d'=' -f2 | sed -e 's/"//g' -e 's/^v//') K3S_ROOT_SHA256=$(nix-prefetch-url --quiet --unpack \ "https://github.com/k3s-io/k3s-root/releases/download/v${K3S_ROOT_VERSION}/k3s-root-amd64.tar") CNIPLUGINS_VERSION=$(grep 'VERSION_CNIPLUGINS=' ${FILE_SCRIPTS_VERSION} \ - | cut -d'=' -f2 | cut -d' ' -f1 | sed -e 's/"//g' -e 's/^v//') + | cut -d'=' -f2 | sed -e 's/"//g' -e 's/^v//') CNIPLUGINS_SHA256=$(nix-prefetch-url --quiet --unpack \ "https://github.com/rancher/plugins/archive/refs/tags/v${CNIPLUGINS_VERSION}.tar.gz") +CONTAINERD_VERSION=$(grep github.com/containerd/containerd ${FILE_GO_MOD} \ + | head -n1 | awk '{print $4}' | sed -e 's/"//g' -e 's/^v//') +CONTAINERD_SHA256=$(nix-prefetch-url --quiet --unpack \ + "https://github.com/k3s-io/containerd/archive/refs/tags/v${CONTAINERD_VERSION}.tar.gz") + +CRI_CTL_VERSION=$(grep github.com/kubernetes-sigs/cri-tools ${FILE_GO_MOD} \ + | head -n1 | awk '{print $4}' | sed -e 's/"//g' -e 's/^v//') + setKV () { - sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix + sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" default.nix } setKV k3sVersion ${K3S_VERSION} @@ -62,3 +73,36 @@ setKV k3sRootSha256 ${K3S_ROOT_SHA256} setKV k3sCNIVersion ${CNIPLUGINS_VERSION} setKV k3sCNISha256 ${CNIPLUGINS_SHA256} + +setKV containerdVersion ${CONTAINERD_VERSION} +setKV containerdSha256 ${CONTAINERD_SHA256} + +setKV criCtlVersion ${CRI_CTL_VERSION} + +setKV k3sServerVendorSha256 "0000000000000000000000000000000000000000000000000000" + +cd ../../../../../ +set +e +K3S_SERVER_VENDOR_SHA256=$(nix-build --no-out-link -A k3s 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g') +set -e +cd - > /dev/null + +if [ -n "${K3S_SERVER_VENDOR_SHA256:-}" ]; then + setKV k3sServerVendorSha256 ${K3S_SERVER_VENDOR_SHA256} +else + echo "Update failed. K3S_SERVER_VENDOR_SHA256 is empty." + exit 1 +fi + +cd ../../../../../ +set +e +K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=./. "{ sha256 }: (import ./. {}).k3s.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })") +set -e +cd - > /dev/null + +if [ -n "${K3S_VENDOR_SHA256:-}" ]; then + setKV k3sVendorSha256 ${K3S_VENDOR_SHA256} +else + echo "Update failed. K3S_VENDOR_SHA256 is empty." + exit 1 +fi From 820d3be48821a91469aa25536c3596de48ab7d6d Mon Sep 17 00:00:00 2001 From: superherointj <5861043+superherointj@users.noreply.github.com> Date: Sat, 26 Feb 2022 20:01:35 -0300 Subject: [PATCH 81/83] k3s: add superherointj to maintainers --- .../networking/cluster/k3s/default.nix | 2 +- pkgs/applications/networking/cluster/k3s/update.sh | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix index f1d1628fa0da..3beb8e9c23cf 100644 --- a/pkgs/applications/networking/cluster/k3s/default.nix +++ b/pkgs/applications/networking/cluster/k3s/default.nix @@ -78,7 +78,7 @@ let description = "A lightweight Kubernetes distribution"; license = licenses.asl20; homepage = "https://k3s.io"; - maintainers = with maintainers; [ euank mic92 ]; + maintainers = with maintainers; [ euank mic92 superherointj ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh index af0fdfdfddb2..eb79778c963d 100755 --- a/pkgs/applications/networking/cluster/k3s/update.sh +++ b/pkgs/applications/networking/cluster/k3s/update.sh @@ -6,7 +6,9 @@ set -x -eu -o pipefail WORKDIR=$(mktemp -d) trap "rm -rf ${WORKDIR}" EXIT -cd $(dirname "${BASH_SOURCE[0]}") +NIXPKGS_ROOT="$(git rev-parse --show-toplevel)"/ +NIXPKGS_K3S_FOLDER=${NIXPKGS_ROOT}$(dirname "${BASH_SOURCE[0]}")/ +cd ${NIXPKGS_K3S_FOLDER} LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json curl --silent ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \ @@ -58,7 +60,7 @@ CRI_CTL_VERSION=$(grep github.com/kubernetes-sigs/cri-tools ${FILE_GO_MOD} \ | head -n1 | awk '{print $4}' | sed -e 's/"//g' -e 's/^v//') setKV () { - sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" default.nix + sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ${NIXPKGS_K3S_FOLDER}default.nix } setKV k3sVersion ${K3S_VERSION} @@ -81,11 +83,9 @@ setKV criCtlVersion ${CRI_CTL_VERSION} setKV k3sServerVendorSha256 "0000000000000000000000000000000000000000000000000000" -cd ../../../../../ set +e -K3S_SERVER_VENDOR_SHA256=$(nix-build --no-out-link -A k3s 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g') +K3S_SERVER_VENDOR_SHA256=$(nix-build ${NIXPKGS_ROOT} --no-out-link -A k3s 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g') set -e -cd - > /dev/null if [ -n "${K3S_SERVER_VENDOR_SHA256:-}" ]; then setKV k3sServerVendorSha256 ${K3S_SERVER_VENDOR_SHA256} @@ -94,11 +94,9 @@ else exit 1 fi -cd ../../../../../ set +e -K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=./. "{ sha256 }: (import ./. {}).k3s.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })") +K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} "{ sha256 }: (import ${NIXPKGS_ROOT}. {}).k3s.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })") set -e -cd - > /dev/null if [ -n "${K3S_VENDOR_SHA256:-}" ]; then setKV k3sVendorSha256 ${K3S_VENDOR_SHA256} From a1df6e1ba3e0a26fcc7923d3555ea97d698e36dd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Feb 2022 22:48:22 +0000 Subject: [PATCH 82/83] python310Packages.pyamg: 4.2.1 -> 4.2.2 --- pkgs/development/python-modules/pyamg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyamg/default.nix b/pkgs/development/python-modules/pyamg/default.nix index 59e807f11fcb..b2a230685cc8 100644 --- a/pkgs/development/python-modules/pyamg/default.nix +++ b/pkgs/development/python-modules/pyamg/default.nix @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "pyamg"; - version = "4.2.1"; + version = "4.2.2"; src = fetchPypi { inherit pname version; - sha256 = "48d9be622049d8363cda84125c45d18b89e0ab7d99be5a93c0246f375ebad344"; + sha256 = "sha256-mtrFqUwEustYlCcCiV1FQZm7dJKohu650xHdiNg6D6E="; }; nativeBuildInputs = [ From 0a8007498f9dba0d5feb191d16317ffa85a9e698 Mon Sep 17 00:00:00 2001 From: Daniel Fullmer Date: Sat, 19 Feb 2022 15:34:55 -0800 Subject: [PATCH 83/83] bash: use default PATH in FHS environments If bash is executed within an environment where PATH is not set, it uses the DEFAULT_PATH_VALUE compiled into bash to set PATH. In nixpkgs we set this to /no-such-path by default. This makes sense in a nixpkgs/NixOS environment since paths like /bin or /usr/bin should not be used. However, when bash is used inside an FHS environment, this produces results that differ from distributions which follow the FHS standard. Before this change: $ steam-run env -i /bin/bash -c 'echo $PATH' /no-such-path After this change: $ steam-run env -i /bin/bash -c 'echo $PATH' /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:. --- pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix | 2 +- pkgs/build-support/build-fhs-userenv/env.nix | 2 +- pkgs/shells/bash/5.1.nix | 3 +++ pkgs/top-level/all-packages.nix | 6 ++++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix index 0051961d9f17..1c4e2b607696 100644 --- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix +++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix @@ -41,7 +41,7 @@ let basePkgs = with pkgs; [ glibcLocales (if isMultiBuild then glibc_multi else glibc) - (toString gcc.cc.lib) bashInteractive coreutils less shadow su + (toString gcc.cc.lib) bashInteractiveFHS coreutils less shadow su gawk diffutils findutils gnused gnugrep gnutar gzip bzip2 xz ]; diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix index 44c8adb06e18..abf577baa2d1 100644 --- a/pkgs/build-support/build-fhs-userenv/env.nix +++ b/pkgs/build-support/build-fhs-userenv/env.nix @@ -45,7 +45,7 @@ let basePkgs = with pkgs; [ glibcLocales (if isMultiBuild then glibc_multi else glibc) - (toString gcc.cc.lib) bashInteractive coreutils less shadow su + (toString gcc.cc.lib) bashInteractiveFHS coreutils less shadow su gawk diffutils findutils gnused gnugrep gnutar gzip bzip2 xz ]; diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix index 3a11858747e6..a30c9a4a5072 100644 --- a/pkgs/shells/bash/5.1.nix +++ b/pkgs/shells/bash/5.1.nix @@ -10,6 +10,7 @@ , readline81 ? null , withDocs ? false , texinfo ? null +, forFHSEnv ? false }: with lib; @@ -39,8 +40,10 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = '' -DSYS_BASHRC="/etc/bashrc" -DSYS_BASH_LOGOUT="/etc/bash_logout" + '' + optionalString (!forFHSEnv) '' -DDEFAULT_PATH_VALUE="/no-such-path" -DSTANDARD_UTILS_PATH="/no-such-path" + '' + '' -DNON_INTERACTIVE_LOGIN_SHELLS -DSSH_SOURCE_BASHRC ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index daf09b98bcff..a29312d19b3d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11550,6 +11550,12 @@ with pkgs; interactive = true; withDocs = true; }; + bashInteractiveFHS = callPackage ../shells/bash/5.1.nix { + binutils = stdenv.cc.bintools; + interactive = true; + withDocs = true; + forFHSEnv = true; + }; bash-completion = callPackage ../shells/bash/bash-completion { };