From 47ddb602eadb4b8f47b5323689a6ad3b9869aeb0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 23 Dec 2019 00:59:55 -0800 Subject: [PATCH 01/50] calamares: 3.2.16 -> 3.2.17.1 --- pkgs/tools/misc/calamares/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix index 1fd76eb4db64..8f365d023d2c 100644 --- a/pkgs/tools/misc/calamares/default.nix +++ b/pkgs/tools/misc/calamares/default.nix @@ -6,12 +6,12 @@ mkDerivation rec { pname = "calamares"; - version = "3.2.16"; + version = "3.2.17.1"; # release including submodule src = fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz"; - sha256 = "0ygmw03n8knczq9a9whslxcpmgyz0ksqwl0k8f7hyf96b9n8inc2"; + sha256 = "156zpjyw8w4y23aa60mvg3d3mr0kzfq5jkl7ixgahq33zpc17ms8"; }; buildInputs = [ From 345b192273040ec63240a2ceff45294aee41d618 Mon Sep 17 00:00:00 2001 From: Illia Shestakov Date: Mon, 30 Dec 2019 15:31:55 +0200 Subject: [PATCH 02/50] flacon: improvements 1. Use libsForQt5.callPackage instead of raw callPackage` (this adds ability to import qtbase and qttools directly instead of importing whole qt5) 2. Include wrapQtAppsHook in nativeBuildInputs The major point of this changes is to provide support for running support flacon under wayland session, but it may help in some other use cases Closes #76588 --- pkgs/applications/audio/flacon/default.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix index c1ccd6add78a..8c37f01c2a03 100644 --- a/pkgs/applications/audio/flacon/default.nix +++ b/pkgs/applications/audio/flacon/default.nix @@ -1,6 +1,7 @@ -{ stdenv, lib, fetchFromGitHub, cmake, qt5, libuchardet, pkgconfig, makeWrapper +{ stdenv, lib, fetchFromGitHub, cmake, libuchardet, pkgconfig , shntool, flac, opusTools, vorbis-tools, mp3gain, lame, wavpack, vorbisgain , gtk3 +, qtbase, qttools, wrapQtAppsHook }: stdenv.mkDerivation rec { @@ -14,8 +15,8 @@ stdenv.mkDerivation rec { sha256 = "05pvg5xhc2azwzld08m81r4b2krqdbcbm5lmdvg2zkk67xq9pqyd"; }; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; - buildInputs = [ qt5.qtbase qt5.qttools libuchardet ]; + nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; + buildInputs = [ qtbase qttools libuchardet ]; postInstall = '' wrapProgram $out/bin/flacon \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84c3e3aef693..95d6ee78e30a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18761,7 +18761,7 @@ in FIL-plugins = callPackage ../applications/audio/FIL-plugins { }; - flacon = callPackage ../applications/audio/flacon { }; + flacon = libsForQt5.callPackage ../applications/audio/flacon { }; flexget = callPackage ../applications/networking/flexget { }; From 07d0acfe458cfe6d2ed0bbaf82500744ee299197 Mon Sep 17 00:00:00 2001 From: Illia Shestakov Date: Sat, 28 Dec 2019 17:17:08 +0200 Subject: [PATCH 03/50] flacon: change maintainer to snglth --- maintainers/maintainer-list.nix | 6 ++++++ pkgs/applications/audio/flacon/default.nix | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4952972eb4de..2cfc9bca3337 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7782,4 +7782,10 @@ githubId = 52650; name = "Marc Busqué"; }; + snglth = { + email = "illia@ishestakov.com"; + github = "snglth"; + githubId = 8686360; + name = "Illia Shestakov"; + }; } diff --git a/pkgs/applications/audio/flacon/default.nix b/pkgs/applications/audio/flacon/default.nix index 8c37f01c2a03..eb39309a254c 100644 --- a/pkgs/applications/audio/flacon/default.nix +++ b/pkgs/applications/audio/flacon/default.nix @@ -30,6 +30,6 @@ stdenv.mkDerivation rec { homepage = https://flacon.github.io/; license = licenses.lgpl21; platforms = platforms.linux; - maintainers = with maintainers; [ nico202 ]; + maintainers = with maintainers; [ snglth ]; }; } From c44331dd5d5d54db20b941bb8c04dcf8f143648b Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Tue, 7 Jan 2020 20:52:24 +0100 Subject: [PATCH 04/50] nixosTests.initdb: port to python --- nixos/tests/initdb.nix | 41 +++++++++++++++++------------------------ 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/nixos/tests/initdb.nix b/nixos/tests/initdb.nix index 749d7857a134..e7c83dc4002c 100644 --- a/nixos/tests/initdb.nix +++ b/nixos/tests/initdb.nix @@ -1,26 +1,19 @@ -let - pkgs = import { }; -in -with import { inherit pkgs; system = builtins.currentSystem; }; -with pkgs.lib; +import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: { + name = "pg-initdb"; -makeTest { - name = "pg-initdb"; + machine = {...}: + { + documentation.enable = false; + services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql_9_6; + environment.pathsToLink = [ + "/share/postgresql" + ]; + }; - machine = {...}: - { - documentation.enable = false; - services.postgresql.enable = true; - services.postgresql.package = pkgs.postgresql_9_6; - environment.pathsToLink = [ - "/share/postgresql" - ]; - }; - - testScript = '' - $machine->start; - $machine->succeed("sudo -u postgres initdb -D /tmp/testpostgres2"); - $machine->shutdown; - ''; - - } \ No newline at end of file + testScript = '' + machine.start() + machine.succeed("sudo -u postgres initdb -D /tmp/testpostgres2") + machine.shutdown() + ''; +}) From c1d7850f85eaedbe8ebe13205f90865ca1361d31 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Tue, 7 Jan 2020 22:27:03 +0100 Subject: [PATCH 05/50] Improve documentation for stateVersion The meaning of stateVersion often leads to a lot of confusion. This commit trys to improve that situation. --- nixos/modules/installer/tools/tools.nix | 10 ++++++---- nixos/modules/misc/version.nix | 11 +++++++++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index e4db39b5c810..5df9c23e6b69 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -159,10 +159,12 @@ in # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. # }; - # This value determines the NixOS release with which your system is to be - # compatible, in order to avoid breaking some software such as database - # servers. You should change this only after NixOS release notes say you - # should. + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "${config.system.nixos.release}"; # Did you read the comment? } diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 0540b493003f..b85614771ee4 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -61,11 +61,18 @@ in configuration defaults in a way incompatible with stateful data. For instance, if the default version of PostgreSQL changes, the new version will probably be unable to read your - existing databases. To prevent such breakage, you can set the + existing databases. To prevent such breakage, you should set the value of this option to the NixOS release with which you want - to be compatible. The effect is that NixOS will option + to be compatible. The effect is that NixOS will use defaults corresponding to the specified release (such as using an older version of PostgreSQL). + It‘s perfectly fine and recommended to leave this value at the + release version of the first install of this system. + Changing this option will not upgrade your system. In fact it + is meant to stay constant exactly when you upgrade your system. + You should only bump this option, if you are sure that you can + or have migrated all state on your system which is affected + by this option. ''; }; From 3228b9dbdc2963618178eb2f5c5359630c50a1e7 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 8 Jan 2020 04:20:00 -0500 Subject: [PATCH 06/50] reviewdog: 0.9.14 -> 0.9.15 --- pkgs/development/tools/misc/reviewdog/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix index 2b20b3bd5470..04364ea174a6 100644 --- a/pkgs/development/tools/misc/reviewdog/default.nix +++ b/pkgs/development/tools/misc/reviewdog/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "reviewdog"; - version = "0.9.14"; + version = "0.9.15"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "1npawdvryrxrdfkv4j1jk63l3mwsdgsj85k9yqyhrrphk2w4s1cr"; + sha256 = "05dh70967264lc3srwajnxxfdgsgybc9i7j2jqbqzin6dmxbnrc0"; }; - modSha256 = "0a6bmwysgvwpddh2mp228s2brb0kqfcxqjffs2pabf7ym5flmz0g"; + modSha256 = "09ifp0iqd8jlz01mhxaz7adrcc699vim6pwxgf83pmqdw92jz034"; subPackages = [ "cmd/reviewdog" ]; @@ -20,6 +20,7 @@ buildGoModule rec { meta = with lib; { description = "Automated code review tool integrated with any code analysis tools regardless of programming language"; homepage = "https://github.com/reviewdog/reviewdog"; + changelog = "https://github.com/reviewdog/reviewdog/releases/tag/v${version}"; maintainers = [ maintainers.marsam ]; license = licenses.mit; }; From 8ecd07f9e3b0ad23a4f8430945e4cb9db4dfa485 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Wed, 8 Jan 2020 10:02:26 +0100 Subject: [PATCH 07/50] nixosTests.elk: port to python --- nixos/tests/elk.nix | 99 ++++++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/nixos/tests/elk.nix b/nixos/tests/elk.nix index b33d98b85d69..80db0967d400 100644 --- a/nixos/tests/elk.nix +++ b/nixos/tests/elk.nix @@ -6,20 +6,12 @@ # NIXPKGS_ALLOW_UNFREE=1 nix-build nixos/tests/elk.nix -A ELK-6 --arg enableUnfree true }: -with import ../lib/testing.nix { inherit system pkgs; }; -with pkgs.lib; - let esUrl = "http://localhost:9200"; - totalHits = message : - "curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' " + - ''-d '{\"query\" : { \"match\" : { \"message\" : \"${message}\"}}}' '' + - "| jq .hits.total"; - mkElkTest = name : elk : let elasticsearchGe7 = builtins.compareVersions elk.elasticsearch.version "7" >= 0; - in makeTest { + in import ./make-test-python.nix ({ inherit name; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ eelco offline basvandijk ]; @@ -50,15 +42,15 @@ let elk.journalbeat.version "6" < 0; in { enable = true; package = elk.journalbeat; - extraConfig = mkOptionDefault ('' + extraConfig = pkgs.lib.mkOptionDefault ('' logging: to_syslog: true level: warning metrics.enabled: false output.elasticsearch: hosts: [ "127.0.0.1:9200" ] - ${optionalString lt6 "template.enabled: false"} - '' + optionalString (!lt6) '' + ${pkgs.lib.optionalString lt6 "template.enabled: false"} + '' + pkgs.lib.optionalString (!lt6) '' journalbeat.inputs: - paths: [] seek: cursor @@ -130,11 +122,23 @@ let }; testScript = '' - startAll; + import json - # Wait until elasticsearch is listening for connections. - $one->waitForUnit("elasticsearch.service"); - $one->waitForOpenPort(9200); + + def total_hits(message): + dictionary = {"query": {"match": {"message": message}}} + return ( + "curl --silent --show-error '${esUrl}/_search' " + + "-H 'Content-Type: application/json' " + + "-d '{}' ".format(json.dumps(dictionary)) + + "| jq .hits.total" + ) + + + start_all() + + one.wait_for_unit("elasticsearch.service") + one.wait_for_open_port(9200) # Continue as long as the status is not "red". The status is probably # "yellow" instead of "green" because we are using a single elasticsearch @@ -142,42 +146,43 @@ let # # TODO: extend this test with multiple elasticsearch nodes # and see if the status turns "green". - $one->waitUntilSucceeds( - "curl --silent --show-error '${esUrl}/_cluster/health' " . - "| jq .status | grep -v red"); + one.wait_until_succeeds( + "curl --silent --show-error '${esUrl}/_cluster/health' | jq .status | grep -v red" + ) - # Perform some simple logstash tests. - $one->waitForUnit("logstash.service"); - $one->waitUntilSucceeds("cat /tmp/logstash.out | grep flowers"); - $one->waitUntilSucceeds("cat /tmp/logstash.out | grep -v dragons"); + with subtest("Perform some simple logstash tests"): + one.wait_for_unit("logstash.service") + one.wait_until_succeeds("cat /tmp/logstash.out | grep flowers") + one.wait_until_succeeds("cat /tmp/logstash.out | grep -v dragons") - # See if kibana is healthy. - $one->waitForUnit("kibana.service"); - $one->waitUntilSucceeds( - "curl --silent --show-error 'http://localhost:5601/api/status' " . - "| jq .status.overall.state | grep green"); + with subtest("Kibana is healthy"): + one.wait_for_unit("kibana.service") + one.wait_until_succeeds( + "curl --silent --show-error 'http://localhost:5601/api/status' | jq .status.overall.state | grep green" + ) - # See if logstash messages arive in elasticsearch. - $one->waitUntilSucceeds("${totalHits "flowers"} | grep -v 0"); - $one->waitUntilSucceeds("${totalHits "dragons"} | grep 0"); + with subtest("Logstash messages arive in elasticsearch"): + one.wait_until_succeeds(total_hits("flowers") + " | grep -v 0") + one.wait_until_succeeds(total_hits("dragons") + " | grep 0") - # Test if a message logged to the journal - # is ingested by elasticsearch via journalbeat. - $one->waitForUnit("journalbeat.service"); - $one->execute("echo 'Supercalifragilisticexpialidocious' | systemd-cat"); - $one->waitUntilSucceeds( - "${totalHits "Supercalifragilisticexpialidocious"} | grep -v 0"); - - '' + optionalString (!elasticsearchGe7) '' - # Test elasticsearch-curator. - $one->systemctl("stop logstash"); - $one->systemctl("start elasticsearch-curator"); - $one->waitUntilSucceeds( - "! curl --silent --show-error '${esUrl}/_cat/indices' " . - "| grep logstash | grep -q ^$1"); + with subtest( + "A message logged to the journal is ingested by elasticsearch via journalbeat" + ): + one.wait_for_unit("journalbeat.service") + one.execute("echo 'Supercalifragilisticexpialidocious' | systemd-cat") + one.wait_until_succeeds( + total_hits("Supercalifragilisticexpialidocious") + " | grep -v 0" + ) + '' + pkgs.lib.optionalString (!elasticsearchGe7) '' + with subtest("Elasticsearch-curator works"): + one.systemctl("stop logstash") + one.systemctl("start elasticsearch-curator") + one.wait_until_succeeds( + '! curl --silent --show-error "${esUrl}/_cat/indices" | grep logstash | grep -q ^' + ) ''; - }; -in mapAttrs mkElkTest { + }) {}; +in pkgs.lib.mapAttrs mkElkTest { ELK-6 = if enableUnfree then { From f7b274d9571dfa81f2cf6589488c43d6e77e0d71 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Wed, 8 Jan 2020 10:39:29 +0100 Subject: [PATCH 08/50] nixosTests.kafka: port to python --- nixos/tests/kafka.nix | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/nixos/tests/kafka.nix b/nixos/tests/kafka.nix index 48ca98da8fa1..30e5cc0417c9 100644 --- a/nixos/tests/kafka.nix +++ b/nixos/tests/kafka.nix @@ -3,11 +3,10 @@ pkgs ? import ../.. { inherit system config; } }: -with import ../lib/testing.nix { inherit system pkgs; }; with pkgs.lib; let - makeKafkaTest = name: kafkaPackage: (makeTest { + makeKafkaTest = name: kafkaPackage: (import ./make-test-python.nix ({ inherit name; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ nequissimus ]; @@ -45,24 +44,40 @@ let }; testScript = '' - startAll; + start_all() - $zookeeper1->waitForUnit("default.target"); - $zookeeper1->waitForUnit("zookeeper.service"); - $zookeeper1->waitForOpenPort(2181); + zookeeper1.wait_for_unit("default.target") + zookeeper1.wait_for_unit("zookeeper.service") + zookeeper1.wait_for_open_port(2181) - $kafka->waitForUnit("default.target"); - $kafka->waitForUnit("apache-kafka.service"); - $kafka->waitForOpenPort(9092); + kafka.wait_for_unit("default.target") + kafka.wait_for_unit("apache-kafka.service") + kafka.wait_for_open_port(9092) - $kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic"); - $kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic"); + kafka.wait_until_succeeds( + "${kafkaPackage}/bin/kafka-topics.sh --create " + + "--zookeeper zookeeper1:2181 --partitions 1 " + + "--replication-factor 1 --topic testtopic" + ) + kafka.succeed( + "echo 'test 1' | " + + "${kafkaPackage}/bin/kafka-console-producer.sh " + + "--broker-list localhost:9092 --topic testtopic" + ) '' + (if name == "kafka_0_9" then '' - $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); + assert "test 1" in kafka.succeed( + "${kafkaPackage}/bin/kafka-console-consumer.sh " + + "--zookeeper zookeeper1:2181 --topic testtopic " + + "--from-beginning --max-messages 1" + ) '' else '' - $kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'"); + assert "test 1" in kafka.succeed( + "${kafkaPackage}/bin/kafka-console-consumer.sh " + + "--bootstrap-server localhost:9092 --topic testtopic " + + "--from-beginning --max-messages 1" + ) ''); - }); + }) {}); in with pkgs; { kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9; From 2607c4b9f959adb526cda705ea99dfaaeb40fb6b Mon Sep 17 00:00:00 2001 From: Evils Date: Sat, 4 Jan 2020 11:34:52 +0100 Subject: [PATCH 09/50] kicad: split version.nix & add update.sh update.sh generates version.nix by default only updates kicad-unstable several options (can be combined) all, update to latest tag and master clean, generate versions.sh from scratch commit, make a git commit --- .../science/electronics/kicad/default.nix | 50 +---- .../science/electronics/kicad/update.sh | 191 ++++++++++++++++++ .../science/electronics/kicad/versions.nix | 52 +++++ 3 files changed, 251 insertions(+), 42 deletions(-) create mode 100755 pkgs/applications/science/electronics/kicad/update.sh create mode 100644 pkgs/applications/science/electronics/kicad/versions.nix diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 47222fe4a966..0b627dbb23ae 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -21,48 +21,7 @@ let stable = pname != "kicad-unstable"; baseName = if (stable) then "kicad" else "kicad-unstable"; - versions = { - "kicad" = { - kicadVersion = { - version = "5.1.5"; - src.sha256 = "15h3rwisjss3fdc9bam9n2wq94slhacc3fbg14bnzf4n5agsnv5b"; - }; - libVersion = { - version = "5.1.5"; - libSources = { - i18n.sha256 = "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3"; - symbols.sha256 = "048b07ffsaav1ssrchw2p870lvb4rsyb5vnniy670k7q9p16qq6h"; - templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; - footprints.sha256 = "1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j"; - packages3d.sha256 = "0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz"; - }; - }; - }; - "kicad-unstable" = { - kicadVersion = { - version = "2019-12-31"; - src = { - rev = "eaaa4eb63acb289047dfbb6cc275579dea58f12b"; - sha256 = "1v2hf2slphjdh14y56pmzlpi6mqidrd8198if1fi0cch72v37zch"; - }; - }; - libVersion = { - version = "unstable"; - libSources = { - i18n.rev = "e7439fd76f27cfc26e269c4e6c4d56245345c28b"; - i18n.sha256 = "1nqm1kx5b4f7s0f9q8bg4rdhqnp0128yp6bgnrkia1kwmfnf5gmy"; - symbols.rev = "1bc5ff11c76bcbfda227e534b0acf737edddde8f"; - symbols.sha256 = "05kv93790wi4dpbn2488p587b83yz1zw9h62lkv41h7vn2r1mmb7"; - templates.rev = "0c0490897f803ab8b7c3dad438b7eb1f80e0417c"; - templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; - footprints.rev = "454126c125edd3fa8633f301421a7d9c4de61b77"; - footprints.sha256 = "00nli4kx2i68bk852rivbirzcgpsdlpdk34g1q892952jsbh7fy6"; - packages3d.rev = "c2b92a411adc93ddeeed74b36b542e1057f81a2a"; - packages3d.sha256 = "05znc6y2lc31iafspg308cxdda94zg6c7mwslmys76npih1pb8qc"; - }; - }; - }; - }; + versions = import ./versions.nix; versionConfig = versions.${baseName}; wxGTK = if (stable) @@ -157,6 +116,13 @@ stdenv.mkDerivation rec { '' ; + # can't run this for each pname + # stable and unstable are in the same versions.nix + # and kicad-small reuses stable + # with "all" it updates both, run it manually if you don't want that + # and can't git commit if this could be running in parallel with other scripts + passthru.updateScript = [ ./update.sh "all" ]; + meta = { description = if (stable) then "Open Source Electronics Design Automation Suite" diff --git a/pkgs/applications/science/electronics/kicad/update.sh b/pkgs/applications/science/electronics/kicad/update.sh new file mode 100755 index 000000000000..b4f744c47ef3 --- /dev/null +++ b/pkgs/applications/science/electronics/kicad/update.sh @@ -0,0 +1,191 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils git nix curl + +# this script will generate versions.nix in the right location +# this should contain the versions' revs and hashes +# the stable revs are stored only for ease of skipping + +# if you get something like "tar: no space left on device" +# you may need a bigger tmpfs, this can be set as such +# services.logind.extraConfig = "RuntimeDirectorySize=8G"; +# this is most likely only needed for the packages3d +# this can be checked without that config by manual TOFU +# copy the generated items from ,versions.nix to versions.nix +# then nix-build and see what it actually gets + +# if something goes unrepairably wrong, run 'update.sh all clean' + +# TODO +# support parallel instances for each pname +# currently risks reusing old data +# no getting around manually checking if the build product works... +# if there is, default to commiting +# remove items left in /nix/store? + +# get the latest tag that isn't an RC or *.99 +latest_tag="$(git ls-remote --tags --sort -version:refname \ + https://gitlab.com/kicad/code/kicad.git \ + | grep -o 'refs/tags/[0-9]*\.[0-9]*\.[0-9]*$' \ + | grep -v ".99" | head -n 1 | cut -d '/' -f 3)" + +all_versions=( "${latest_tag}" master ) + +prefetch="nix-prefetch-url --unpack --quiet" + +clean="" +check_stable="" +check_unstable=1 +commit="" + +for arg in "$@"; do + case "${arg}" in + help|-h|--help) echo "Read me!" >&2; exit 1; ;; + kicad|release|tag|stable|*small|5*|6*) check_stable=1; check_unstable="" ;; + all|both|full) check_stable=1; check_unstable=1 ;; + commit) commit=1 ;; + clean|fix|*fuck) check_stable=1; check_unstable=1; clean=1 ;; + master|*unstable|latest|now|today) check_unstable=1 ;; + *) ;; + esac +done + +here="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +now=$(date --iso-8601) + +file="${here}/versions.nix" +# just in case this runs in parallel +rand="$(head -c 3 /dev/urandom | base64)" +tmp="${here}/,versions.nix.${rand}" + +# libraries currently on github, move to $gitlab/libraries planned +libs=( symbols templates footprints packages3d ) + +get_rev="git ls-remote --heads --tags" + +gitlab="https://gitlab.com/kicad" +# append commit hash or tag +gitlab_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/archive.tar.gz?sha=" + +# append "-$lib/archive/[hash or tag].tar.gz +github="https://github.com/kicad/kicad" + +# not a lib, but separate and already moved to gitlab +i18n="${gitlab}/code/kicad-i18n.git" +i18n_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad-i18n/repository/archive.tar.gz?sha=" + +count=0 + +printf "Latest tag is\t%s\n" "${latest_tag}" >&2 + +if [[ ! -f ${file} ]]; then + echo "No existing file, generating from scratch" >&2 + check_stable=1; check_unstable=1; clean=1 +fi + +printf "Writing %s\n" "${tmp}" >&2 + +# not a dangling brace, grouping the output to redirect to file +{ + +printf "# This file was generated by update.sh\n\n" +printf "{\n" + +for version in "${all_versions[@]}"; do + + if [[ ${version} == "master" ]]; then + pname="kicad-unstable" + today="${now}" + else + pname="kicad" + today="${version}" + fi + # skip a version if we don't want to check it + if [[ (${version} != "master" && -n ${check_stable}) \ + || (${version} == "master" && -n ${check_unstable}) ]]; then + + printf "\nChecking %s\n" "${pname}" >&2 + + printf "%2s\"%s\" = {\n" "" "${pname}" + printf "%4skicadVersion = {\n" "" + printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}" + printf "%6ssrc = {\n" "" + + echo "Checking src" >&2 + src_rev="$(${get_rev} "${gitlab}"/code/kicad.git "${version}" | cut -f1)" + ret="$(grep -sm 1 "\"${pname}\"" -A 4 "${file}" | grep -sm 1 "${src_rev}")" + has_hash="$(grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "sha256")" + if [[ -n ${ret} && -n ${has_hash} && -z ${clean} ]]; then + echo "Reusing old ${pname}.src.sha256, already latest .rev" >&2 + grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "rev" -A 1 + else + printf "%8srev =\t\t\t\"%s\";\n" "" "${src_rev}" + printf "%8ssha256 =\t\t\"%s\";\n" \ + "" "$(${prefetch} "${gitlab_pre}${src_rev}")" + (( count++ )) + fi + printf "%6s};\n" "" + printf "%4s};\n" "" + + printf "%4slibVersion = {\n" "" + printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}" + printf "%6slibSources = {\n" "" + + echo "Checking i18n" >&2 + i18n_rev="$(${get_rev} "${i18n}" "${version}" | cut -f1)" + ret="$(grep -sm 1 "\"${pname}\"" -A 11 "${file}" | grep -sm 1 "${i18n_rev}")" + has_hash="$(grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n.sha256")" + if [[ -n ${ret} && -n ${has_hash} && -z ${clean} ]]; then + echo "Reusing old kicad-i18n-${today}.src.sha256, already latest .rev" >&2 + grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n" -A 1 + else + printf "%8si18n.rev =\t\t\"%s\";\n" "" "${i18n_rev}" + printf "%8si18n.sha256 =\t\t\"%s\";\n" "" \ + "$(${prefetch} "${i18n_pre}${i18n_rev}")" + (( count++ )) + fi + + for lib in "${libs[@]}"; do + echo "Checking ${lib}" >&2 + url="${github}-${lib}.git" + lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1)" + ret="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" -A 1)" + has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256")" + if [[ -n ${ret} && -n ${has_hash} && -z ${clean} ]]; then + echo "Reusing old kicad-${lib}-${today}.src.sha256, already latest .rev" >&2 + grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}" -A 1 + else + printf "%8s%s.rev =\t" "" "${lib}" + case "${lib}" in + symbols|templates) printf "\t" ;; *) ;; + esac + printf "\"%s\";\n" "${lib_rev}" + printf "%8s%s.sha256 =\t\"%s\";\n" "" \ + "${lib}" "$(${prefetch} "${github}-${lib}/archive/${lib_rev}.tar.gz")" + (( count++ )) + fi + done + printf "%6s};\n" "" + printf "%4s};\n" "" + printf "%2s};\n" "" + else + printf "\nReusing old %s\n" "${pname}" >&2 + grep -sm 1 "\"${pname}\"" -A 23 "${file}" + fi +done +printf "}\n" +} > "${tmp}" + +mv "${tmp}" "${file}" + +printf "\nFinished\nMoved output to %s\n\n" "${file}" >&2 + +if [[ ${count} -gt 0 ]]; then + if [[ ${count} -gt 1 ]]; then s="s"; else s=""; fi + echo "${count} revision${s} changed" >&2 + if [[ -n ${commit} ]]; then + git commit -am "$(printf "kicad: automatic update of %s item%s\n" "${count}" "${s}")" + fi + echo "Please confirm the new versions.nix works before making a PR." >&2 +else + echo "No changes, those checked are up to date" >&2 +fi diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix new file mode 100644 index 000000000000..ac273a1265cd --- /dev/null +++ b/pkgs/applications/science/electronics/kicad/versions.nix @@ -0,0 +1,52 @@ +# This file was generated by update.sh + +{ + "kicad" = { + kicadVersion = { + version = "5.1.5"; + src = { + rev = "52549c5d09cbfb0e807fcbcb07819bc9f7861544"; + sha256 = "15h3rwisjss3fdc9bam9n2wq94slhacc3fbg14bnzf4n5agsnv5b"; + }; + }; + libVersion = { + version = "5.1.5"; + libSources = { + i18n.rev = "5122cbec6563fb7c8d6f960a639ac470353af91b"; + i18n.sha256 = "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3"; + symbols.rev = "dd122ec170b49e032179511c9d263126f52f4020"; + symbols.sha256 = "048b07ffsaav1ssrchw2p870lvb4rsyb5vnniy670k7q9p16qq6h"; + templates.rev = "94761f10d06582b33cd55ea2149d72f269f65580"; + templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; + footprints.rev = "e076f8f271f8db96d5fec45616b7554caebb7ef7"; + footprints.sha256 = "1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j"; + packages3d.rev = "8d233cdcb109aa1c3b8ba4c934ee31f6a3b6e1f4"; + packages3d.sha256 = "0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz"; + }; + }; + }; + "kicad-unstable" = { + kicadVersion = { + version = "2020-01-08"; + src = { + rev = "ca34ade00c554157f106fde97af5f08a202808ef"; + sha256 = "0xx5qkc5pi3qdrdikgq3902ws8zilv2476fb4bbgh95d9wpgr35v"; + }; + }; + libVersion = { + version = "2020-01-08"; + libSources = { + i18n.rev = "e7439fd76f27cfc26e269c4e6c4d56245345c28b"; + i18n.sha256 = "1nqm1kx5b4f7s0f9q8bg4rdhqnp0128yp6bgnrkia1kwmfnf5gmy"; + symbols.rev = "ad58768b88d564fd188c6667841adec436da53f2"; + symbols.sha256 = "1rdplf04bff0hmgjwr81fbcr9nkqi21n0n88nzs5fdp73mqiywcy"; + templates.rev = "0c0490897f803ab8b7c3dad438b7eb1f80e0417c"; + templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; + footprints.rev = "973867de7f33f202e9fd1b3455bd1f7e7fe4a074"; + footprints.sha256 = "0yvidpnqbfxjdwaiscl5bdchsg0l4d769vp456dc8h0f3802mibi"; + packages3d.rev = "c2b92a411adc93ddeeed74b36b542e1057f81a2a"; + packages3d.sha256 = "05znc6y2lc31iafspg308cxdda94zg6c7mwslmys76npih1pb8qc"; + }; + }; + }; +} From 90b68233731d9cce54f99a1651027c60c8909c31 Mon Sep 17 00:00:00 2001 From: Denys Pavlov Date: Thu, 9 Jan 2020 19:22:41 +0800 Subject: [PATCH 10/50] nixos/powertop: wait for hardware to initialize We should wait until after `multi-user.target` is triggered to allow hardware to finish initializing, such as network devices and USB drives. This ensures `powertop --auto-tune` sets more tunables to "Good". Fixes #66820 --- nixos/modules/tasks/powertop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/tasks/powertop.nix b/nixos/modules/tasks/powertop.nix index 609831506e16..e8064f9fa80c 100644 --- a/nixos/modules/tasks/powertop.nix +++ b/nixos/modules/tasks/powertop.nix @@ -15,6 +15,7 @@ in { systemd.services = { powertop = { wantedBy = [ "multi-user.target" ]; + after = [ "multi-user.target" ]; description = "Powertop tunings"; path = [ pkgs.kmod ]; serviceConfig = { From 11970ee1d6719554406916b65ade61536a1b996a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 6 Jan 2020 22:49:28 +0000 Subject: [PATCH 11/50] buildRubyGem: strip by default I'm not sure why this was disabled, but it looks like a pretty harmless way to bring down closure size and remove references to compilers and stuff. --- pkgs/development/ruby-modules/gem/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index af38160a5fa2..03f8b10aacce 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -39,7 +39,7 @@ lib.makeOverridable ( , meta ? {} , patches ? [] , gemPath ? [] -, dontStrip ? true +, dontStrip ? false # Assume we don't have to build unless strictly necessary (e.g. the source is a # git checkout). # If you need to apply patches, make sure to set `dontBuild = false`; From ec8293fbfe9288720f2096c47b80c3509750869e Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 6 Jan 2020 22:56:16 +0000 Subject: [PATCH 12/50] buildRubyGem: remove more bloat files --- pkgs/development/ruby-modules/gem/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 03f8b10aacce..158d5891ec3a 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -205,8 +205,11 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { $gempkg $gemFlags -- $buildFlags # looks like useless files which break build repeatability and consume space - rm -fv $out/${ruby.gemPath}/doc/*/*/created.rid || true - rm -fv $out/${ruby.gemPath}/gems/*/ext/*/mkmf.log || true + pushd $out/${ruby.gemPath} + rm -fv doc/*/*/created.rid || true + rm -fv {gems/*/ext/*,extensions/*/*/*}/{mkmf.log,gem_make.out} || true + rm -fvr cache + popd # write out metadata and binstubs spec=$(echo $out/${ruby.gemPath}/specifications/*.gemspec) From 163618988f89a64ece3d7d17ef8cc50fa55a357d Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 6 Jan 2020 22:59:57 +0000 Subject: [PATCH 13/50] ruby: remove references to CC by default This makes RbConfig["CC"] return an invalid path, but I hope nothing is depending on that anyway... --- pkgs/development/interpreters/ruby/default.nix | 2 +- pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix index 58ccf5ae9b41..8b8e7ccc8bb0 100644 --- a/pkgs/development/interpreters/ruby/default.nix +++ b/pkgs/development/interpreters/ruby/default.nix @@ -49,7 +49,7 @@ let # puts a reference to the C compiler in the binary. # This might be required by some gems at runtime, # but we allow to strip it out for smaller closure size. - , removeReferencesTo, removeReferenceToCC ? false + , removeReferencesTo, removeReferenceToCC ? true , autoreconfHook, bison, autoconf , buildEnv, bundler, bundix , libiconv, libobjc, libunwind, Foundation diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f7011fc8741..a28d39feaec2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9409,8 +9409,6 @@ in docSupport = false; yamlSupport = false; fiddleSupport = false; - # remove gcc from runtime closure - removeReferenceToCC = true; }; ruby = ruby_2_6; From fbe4716bd516587e5f294873e66c33a68225255a Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 6 Jan 2020 23:02:58 +0000 Subject: [PATCH 14/50] defaultGemConfig: reduce mathematical closure size ext/ isn't needed once the extensions have been built, contains references to a bunch of huge dependencies, and contains megabytes of tests. --- pkgs/development/ruby-modules/gem-config/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index c1eb82c5fa80..4d7ddf549c32 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -315,6 +315,14 @@ in # The ruby build script takes care of this dontUseCmakeConfigure = true; + postInstall = '' + # Reduce output size by a lot, and remove some unnecessary references. + # The ext directory should only be required at build time, so + # can be deleted now. + rm -r $out/${ruby.gemPath}/gems/mathematical-${attrs.version}/ext \ + $out/${ruby.gemPath}/extensions/*/*/mathematical-${attrs.version}/gem_make.out + ''; + # For some reason 'mathematical.so' is missing cairo and glib in its RPATH, add them explicitly here postFixup = lib.optionalString stdenv.isLinux '' soPath="$out/${ruby.gemPath}/gems/mathematical-${attrs.version}/lib/mathematical/mathematical.so" From 1ac11cc1c1858af1cef725d68cacf7102366e588 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 6 Jan 2020 23:06:59 +0000 Subject: [PATCH 15/50] defaultGemConfig: remove asciidoctor-diagram JARs (Except on JRuby, where these are presumably important.) --- pkgs/development/ruby-modules/gem-config/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix index 4d7ddf549c32..088bcedf6de3 100644 --- a/pkgs/development/ruby-modules/gem-config/default.nix +++ b/pkgs/development/ruby-modules/gem-config/default.nix @@ -39,6 +39,15 @@ let in { + asciidoctor-diagram = { version, ruby, ... }: { + postInstall = '' + # Delete vendored JAR files unless using JRuby. + if ruby -e 'exit(RUBY_PLATFORM != "java")'; then + rm -v $out/${ruby.gemPath}/gems/$gemName-${version}/lib/*.jar + fi + ''; + }; + atk = attrs: { dependencies = attrs.dependencies ++ [ "gobject-introspection" ]; nativeBuildInputs = [ rake bundler pkgconfig ]; From fff1c2867f848c7479873beefd29d7ce4b31a455 Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Thu, 9 Jan 2020 23:21:08 +0100 Subject: [PATCH 16/50] nixosTests.postgres: Refactor code --- nixos/tests/postgresql.nix | 42 +++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index e71c38882881..5ba2d38773bb 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -29,11 +29,15 @@ let machine = {...}: { - services.postgresql.enable = true; - services.postgresql.package = postgresql-package; + services.postgresql = { + enable = true; + package = postgresql-package; + }; - services.postgresqlBackup.enable = true; - services.postgresqlBackup.databases = optional (!backup-all) "postgres"; + services.postgresqlBackup = { + enable = true; + databases = optional (!backup-all) "postgres"; + }; }; testScript = let @@ -49,23 +53,29 @@ let machine.start() machine.wait_for_unit("postgresql") - # postgresql should be available just after unit start - machine.succeed( - "cat ${test-sql} | sudo -u postgres psql" - ) - machine.shutdown() # make sure that postgresql survive restart (bug #1735) - time.sleep(2) - machine.start() - machine.wait_for_unit("postgresql") + with subtest("Postgresql is available just after unit start"): + machine.succeed( + "cat ${test-sql} | sudo -u postgres psql" + ) + + with subtest("Postgresql survives restart (bug #1735)"): + machine.shutdown() + time.sleep(2) + machine.start() + machine.wait_for_unit("postgresql") + machine.fail(check_count("SELECT * FROM sth;", 3)) machine.succeed(check_count("SELECT * FROM sth;", 5)) machine.fail(check_count("SELECT * FROM sth;", 4)) machine.succeed(check_count("SELECT xpath('/test/text()', doc) FROM xmltest;", 1)) - # Check backup service - machine.succeed("systemctl start ${backupService}.service") - machine.succeed("zcat /var/backup/postgresql/${backupName}.sql.gz | grep 'ok'") - machine.succeed("stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600") + with subtest("Backup service works"): + machine.succeed( + "systemctl start ${backupService}.service", + "zcat /var/backup/postgresql/${backupName}.sql.gz | grep 'ok'", + "stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600", + ) + machine.shutdown() ''; From abebf8cdb3cd01a4b8eca9f5943c145ad77431ee Mon Sep 17 00:00:00 2001 From: Jacek Galowicz Date: Thu, 9 Jan 2020 23:21:51 +0100 Subject: [PATCH 17/50] nixosTests.initdb: Move code to existing postgres test --- nixos/tests/initdb.nix | 19 ------------------- nixos/tests/postgresql.nix | 3 +++ 2 files changed, 3 insertions(+), 19 deletions(-) delete mode 100644 nixos/tests/initdb.nix diff --git a/nixos/tests/initdb.nix b/nixos/tests/initdb.nix deleted file mode 100644 index e7c83dc4002c..000000000000 --- a/nixos/tests/initdb.nix +++ /dev/null @@ -1,19 +0,0 @@ -import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: { - name = "pg-initdb"; - - machine = {...}: - { - documentation.enable = false; - services.postgresql.enable = true; - services.postgresql.package = pkgs.postgresql_9_6; - environment.pathsToLink = [ - "/share/postgresql" - ]; - }; - - testScript = '' - machine.start() - machine.succeed("sudo -u postgres initdb -D /tmp/testpostgres2") - machine.shutdown() - ''; -}) diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix index 5ba2d38773bb..3201e22555ea 100644 --- a/nixos/tests/postgresql.nix +++ b/nixos/tests/postgresql.nix @@ -76,6 +76,9 @@ let "stat -c '%a' /var/backup/postgresql/${backupName}.sql.gz | grep 600", ) + with subtest("Initdb works"): + machine.succeed("sudo -u postgres initdb -D /tmp/testpostgres2") + machine.shutdown() ''; From 85b74dd7a522b312196459b676a88c6adc450f11 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Thu, 9 Jan 2020 21:21:21 -0500 Subject: [PATCH 18/50] postgresqlPackages.plv8: 2.3.13 -> 2.3.14 --- pkgs/servers/sql/postgresql/ext/plv8.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/plv8.nix b/pkgs/servers/sql/postgresql/ext/plv8.nix index 75a2853e2c04..ffba1bd8e3b9 100644 --- a/pkgs/servers/sql/postgresql/ext/plv8.nix +++ b/pkgs/servers/sql/postgresql/ext/plv8.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "plv8"; - version = "2.3.13"; + version = "2.3.14"; nativeBuildInputs = [ perl ]; buildInputs = [ v8 postgresql ]; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { owner = "plv8"; repo = "plv8"; rev = "v${version}"; - sha256 = "12xpcc1ylzyy75wi1m4vijknzv2gxab05w9z90jb03faq18cnlql"; + sha256 = "12g7z0xkb6zg2qd0hppk2izq238v1k52vb13jlvaij1rbhh10mbp"; }; makefile = "Makefile.shared"; From 0916988a46ac8560d78f8896458461b05c765c07 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Thu, 9 Jan 2020 21:58:20 -0500 Subject: [PATCH 19/50] xterm: 349 -> 351 --- pkgs/applications/misc/xterm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix index 83ba28bfce37..8dcd533b5223 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -3,14 +3,14 @@ }: stdenv.mkDerivation rec { - name = "xterm-349"; + name = "xterm-351"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${name}.tgz" "https://invisible-mirror.net/archives/xterm/${name}.tgz" ]; - sha256 = "0ps7b2b2kbrkv5q49cmb8c51z0w21jmm7hwciw30m6jgfb9s79ir"; + sha256 = "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn"; }; buildInputs = From 8ed9207b7e22435f52655ea2fdea7e8326519a43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Fri, 10 Jan 2020 04:11:57 +0100 Subject: [PATCH 20/50] mxisd: use latest gradle --- pkgs/servers/mxisd/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/mxisd/default.nix b/pkgs/servers/mxisd/default.nix index 4290d31870cc..c5841d4d1a85 100644 --- a/pkgs/servers/mxisd/default.nix +++ b/pkgs/servers/mxisd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, jre, git, gradle_4, perl, makeWrapper }: +{ stdenv, fetchFromGitHub, jre, git, gradle, perl, makeWrapper }: let name = "mxisd-${version}"; @@ -16,7 +16,7 @@ let deps = stdenv.mkDerivation { name = "${name}-deps"; inherit src; - nativeBuildInputs = [ gradle_4 perl git ]; + nativeBuildInputs = [ gradle perl git ]; buildPhase = '' export MXISD_BUILD_VERSION=${rev} @@ -41,7 +41,7 @@ let in stdenv.mkDerivation { inherit name src version; - nativeBuildInputs = [ gradle_4 perl makeWrapper ]; + nativeBuildInputs = [ gradle perl makeWrapper ]; buildInputs = [ jre ]; patches = [ ./0001-gradle.patch ]; From 8337bb607c79070317adee4077461ba914589773 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Fri, 10 Jan 2020 04:11:13 +0100 Subject: [PATCH 21/50] gradle: remove old versions --- .../tools/build-managers/gradle/default.nix | 34 ------------------- pkgs/top-level/all-packages.nix | 5 --- 2 files changed, 39 deletions(-) diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix index a15eb2752317..f6fa53cfab05 100644 --- a/pkgs/development/tools/build-managers/gradle/default.nix +++ b/pkgs/development/tools/build-managers/gradle/default.nix @@ -72,38 +72,4 @@ rec { sha256 = "0vhqxnk0yj3q9jam5w4kpia70i4h0q4pjxxqwynh3qml0vrcn9l6"; }; }; - - gradle_3_5 = gradleGen rec { - name = "gradle-3.5.1"; - nativeVersion = "0.14"; - - src = fetchurl { - url = "http://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "1y7fbhrdriclbs5ksxahi0aafsz760lalwyz8r4llysc5pskbkld"; - }; - }; - - gradle_2_14 = gradleGen rec { - name = "gradle-2.14.1"; - nativeVersion = "0.10"; - - src = fetchurl { - url = "http://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "0fggjxpsnakdaviw7bn2jmsl06997phlqr1251bjmlgjf7d1xing"; - }; - }; - - # Nix pkgs that depend on this old version: - # pkgs/tools/security/jd-gui/default.nix - # pkgs/servers/mxisd/default.nix - # If these packages are updated, this old version can probably be removed - gradle_2_5 = gradleGen rec { - name = "gradle-2.5"; - nativeVersion = "0.10"; - - src = fetchurl { - url = "http://services.gradle.org/distributions/${name}-bin.zip"; - sha256 = "0mc5lf6phkncx77r0papzmfvyiqm0y26x50ipvmzkcsbn463x59z"; - }; - }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e7e7be157006..614369dbb7d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10119,12 +10119,7 @@ in java = jdk; }; gradle = res.gradleGen.gradle_latest; - gradle_2_5 = res.gradleGen.gradle_2_5; - gradle_2_14 = res.gradleGen.gradle_2_14; - gradle_3_5 = res.gradleGen.gradle_3_5; gradle_4_10 = res.gradleGen.gradle_4_10; - gradle_2 = gradle_2_14; - gradle_3 = gradle_3_5; gradle_4 = gradle_4_10; gradle_5 = res.gradleGen.gradle_5_6; From 2e6053dade9ec03e2bb64d4e2b1ad352809a2255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Fri, 10 Jan 2020 04:16:48 +0100 Subject: [PATCH 22/50] jd-gui: use gradle from nixpkgs It builds just fine with the packaged gradle, no reason to pull in another impure dependency. --- pkgs/tools/security/jd-gui/default.nix | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix index 86b88638bd76..63672386987c 100644 --- a/pkgs/tools/security/jd-gui/default.nix +++ b/pkgs/tools/security/jd-gui/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, jre, jdk, makeDesktopItem, perl, writeText, runtimeShell }: +{ stdenv, fetchFromGitHub, jre, jdk, gradle, makeDesktopItem, perl, writeText, runtimeShell }: let pname = "jd-gui"; @@ -15,13 +15,11 @@ let name = "${pname}-deps"; inherit src; - nativeBuildInputs = [ jdk perl ]; - - patchPhase = "patchShebangs gradlew"; + nativeBuildInputs = [ jdk perl gradle ]; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d); - ./gradlew --no-daemon jar + gradle --no-daemon jar ''; # Mavenize dependency paths @@ -30,12 +28,11 @@ let find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \ | sh - cp -r $GRADLE_USER_HOME/wrapper $out ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "1s4p91iiyikrsgvpzkhw3jm5lsm0jpzp7iw7afdhhl9jm18igs70"; + outputHash = "1rbsi4i8xihsihkmxacgawlwjyixmhm2n9mn8ykv8595iyifzw6w"; }; # Point to our local deps repo @@ -74,15 +71,11 @@ in stdenv.mkDerivation rec { inherit pname version src; name = "${pname}-${version}"; - nativeBuildInputs = [ jdk ]; - - patchPhase = "patchShebangs gradlew"; + nativeBuildInputs = [ jdk gradle ]; buildPhase = '' export GRADLE_USER_HOME=$(mktemp -d) - cp -r ${deps}/wrapper $GRADLE_USER_HOME - chmod u+w $GRADLE_USER_HOME/wrapper/dists/gradle*/*/*.lck - ./gradlew --offline --no-daemon --info --init-script ${gradleInit} jar + gradle --offline --no-daemon --info --init-script ${gradleInit} jar ''; installPhase = let From eac17137817b150fc4345bb02d0c8581c355a9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Fri, 10 Jan 2020 04:20:32 +0100 Subject: [PATCH 23/50] jd-gui: 1.6.5 -> 1.6.6 --- pkgs/tools/security/jd-gui/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix index 63672386987c..af88fd6270f4 100644 --- a/pkgs/tools/security/jd-gui/default.nix +++ b/pkgs/tools/security/jd-gui/default.nix @@ -2,13 +2,13 @@ let pname = "jd-gui"; - version = "1.6.5"; + version = "1.6.6"; src = fetchFromGitHub { owner = "java-decompiler"; repo = pname; rev = "v${version}"; - sha256 = "0yn2xcwznig941pw2f3wi8ixz1wprxcn9wl0g2ggdzx51rfwgzzi"; + sha256 = "010bd3q2m4jy4qz5ahdx86b5f558s068gbjlbpdhq3bhh4yrjy20"; }; deps = stdenv.mkDerivation { @@ -32,7 +32,7 @@ let outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "1rbsi4i8xihsihkmxacgawlwjyixmhm2n9mn8ykv8595iyifzw6w"; + outputHash = "1qil12s0daxpxj5xj5dj6s2k89is0kiir2vcafkm3lasc41acmk3"; }; # Point to our local deps repo From 216dea5b9d03db2be2ee9f6631735e676aafb3d1 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Fri, 10 Jan 2020 16:05:13 +0700 Subject: [PATCH 24/50] qutebrowser: 1.8.3 -> 1.9.0 Closes #77360 --- .../browsers/qutebrowser/default.nix | 4 ++-- .../browsers/qutebrowser/fix-restart.patch | 19 +++++-------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index b616e82a2098..80945fbc2bdb 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -21,12 +21,12 @@ let in mkDerivationWith python3Packages.buildPythonApplication rec { pname = "qutebrowser"; - version = "1.8.3"; + version = "1.9.0"; # the release tarballs are different from the git checkout! src = fetchurl { url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; - sha256 = "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8"; + sha256 = "1y0yq1qfr6g1s7kf3w2crd0b025dv2dfknhlz3v0001ns3rgwj17"; }; # Needs tox diff --git a/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch index 56f6bcebf280..985f916b32c4 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch +++ b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch @@ -1,29 +1,20 @@ diff --git a/qutebrowser/app.py b/qutebrowser/app.py -index 2b6896b76..ee05f379d 100644 +index a47b5d2f4..f23ee23ef 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py -@@ -555,22 +555,8 @@ class Quitter: - args: The commandline as a list of strings. - cwd: The current working directory as a string. +@@ -573,13 +573,8 @@ class Quitter(QObject): + Return: + The commandline as a list of strings. """ - if os.path.basename(sys.argv[0]) == 'qutebrowser': - # Launched via launcher script - args = [sys.argv[0]] -- cwd = None - elif hasattr(sys, 'frozen'): - args = [sys.executable] -- cwd = os.path.abspath(os.path.dirname(sys.executable)) - else: - args = [sys.executable, '-m', 'qutebrowser'] -- cwd = os.path.join( -- os.path.abspath(os.path.dirname(qutebrowser.__file__)), '..') -- if not os.path.isdir(cwd): -- # Probably running from a python egg. Let's fallback to -- # cwd=None and see if that works out. -- # See https://github.com/qutebrowser/qutebrowser/issues/323 -- cwd = None + args = ['@qutebrowser@'] + cwd = None # Add all open pages so they get reopened. - page_args = [] + page_args = [] # type: typing.MutableSequence[str] From 178ac3cb99a2af4e39fa287ce4774ebb608eef1a Mon Sep 17 00:00:00 2001 From: edef Date: Fri, 10 Jan 2020 09:42:37 +0000 Subject: [PATCH 25/50] google-cloud-sdk: include openssl(1) in PATH (#77277) Otherwise, it might fail with a mysterious error: ERROR: (gcloud.beta.compute.reset-windows-password) Your platform does not support OpenSSL. --- pkgs/tools/admin/google-cloud-sdk/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix index 5e02c8e34835..5bcc25ea9899 100644 --- a/pkgs/tools/admin/google-cloud-sdk/default.nix +++ b/pkgs/tools/admin/google-cloud-sdk/default.nix @@ -7,7 +7,7 @@ # 3) used by `google-cloud-sdk` only on GCE guests # -{ stdenv, lib, fetchurl, makeWrapper, python, with-gce ? false }: +{ stdenv, lib, fetchurl, makeWrapper, python, openssl, with-gce ? false }: let pythonEnv = python.withPackages (p: with p; [ @@ -56,7 +56,8 @@ in stdenv.mkDerivation rec { binaryPath="$out/bin/$program" wrapProgram "$programPath" \ --set CLOUDSDK_PYTHON "${pythonEnv}/bin/python" \ - --prefix PYTHONPATH : "${pythonEnv}/${python.sitePackages}" + --prefix PYTHONPATH : "${pythonEnv}/${python.sitePackages}" \ + --prefix PATH : "${openssl.bin}/bin" mkdir -p $out/bin ln -s $programPath $binaryPath From c976dc165b69c30f54d8fd42ec541285c598a345 Mon Sep 17 00:00:00 2001 From: Leonhard Markert Date: Thu, 9 Jan 2020 17:02:17 +0100 Subject: [PATCH 26/50] lorri: unstable-2019-10-30 -> unstable-2020-01-09 `rustfmt` is now a compile time dependency because the varlink generated code is formatted with it. --- pkgs/tools/misc/lorri/default.nix | 10 ++++----- pkgs/tools/misc/lorri/runtime.nix | 35 ++++++++++++++++++------------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix index 8be6cf5a8a3b..ea0bbe3dfe2c 100644 --- a/pkgs/tools/misc/lorri/default.nix +++ b/pkgs/tools/misc/lorri/default.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage rec { pname = "lorri"; - version = "unstable-2019-10-30"; + version = "unstable-2020-01-09"; meta = with stdenv.lib; { description = "Your project's nix-env"; @@ -27,17 +27,17 @@ rustPlatform.buildRustPackage rec { owner = "target"; repo = pname; # Run `eval $(nix-build -A lorri.updater)` after updating the revision! - rev = "03f10395943449b1fc5026d3386ab8c94c520ee3"; - sha256 = "0fcl79ndaziwd8d74mk1lsijz34p2inn64b4b4am3wsyk184brzq"; + rev = "7b84837b9988d121dd72178e81afd440288106c5"; + sha256 = "0rkga944jl6i0051vbsddfqbvzy12168cbg4ly2ng1rk0x97dbr8"; }; - cargoSha256 = "1daff4plh7hwclfp21hkx4fiflh9r80y2c7k2sd3zm4lmpy0jpfz"; + cargoSha256 = "0k7l0zhk2vzf4nlwv4xr207irqib2dqjxfdjk1fprff84c4kblx8"; doCheck = false; BUILD_REV_COUNT = src.revCount or 1; RUN_TIME_CLOSURE = pkgs.callPackage ./runtime.nix {}; - nativeBuildInputs = with pkgs; [ nix direnv which ]; + nativeBuildInputs = with pkgs; [ rustPackages.rustfmt ]; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices Security ]; diff --git a/pkgs/tools/misc/lorri/runtime.nix b/pkgs/tools/misc/lorri/runtime.nix index 71bc89b5af32..96b14b26e82c 100644 --- a/pkgs/tools/misc/lorri/runtime.nix +++ b/pkgs/tools/misc/lorri/runtime.nix @@ -1,9 +1,13 @@ { # Plumbing tools: - closureInfo, runCommand, writeText, buildEnv, - - # Actual dependencies to propagate: - bash, coreutils }: + closureInfo +, runCommand +, writeText +, buildEnv +, # Actual dependencies to propagate: + bash +, coreutils +}: let tools = buildEnv { name = "lorri-runtime-tools"; @@ -15,19 +19,20 @@ let }; closureToNix = runCommand "closure.nix" {} - '' - ( - echo '{ dep, ... }: [' - sed -E 's/^(.*)$/ (dep \1)/' ${runtimeClosureInfo}/store-paths - echo ']' - ) > $out - ''; + '' + ( + echo '{ dep, ... }: [' + sed -E 's/^(.*)$/ (dep \1)/' ${runtimeClosureInfo}/store-paths + echo ']' + ) > $out + ''; runtimeClosureInfoAsNix = runCommand "runtime-closure.nix" { runtime_closure_list = closureToNix; tools_build_host = tools; } - '' - substituteAll ${./runtime-closure.nix.template} $out - ''; -in runtimeClosureInfoAsNix + '' + substituteAll ${./runtime-closure.nix.template} $out + ''; +in +runtimeClosureInfoAsNix From 0a7ef3ca27d3b9372173308d340dc253f663dda2 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Fri, 10 Jan 2020 12:34:37 +0200 Subject: [PATCH 27/50] lazygit: 0.12.3 -> 0.13 --- pkgs/development/tools/lazygit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix index a825d84027e6..bb6d7dc08713 100644 --- a/pkgs/development/tools/lazygit/default.nix +++ b/pkgs/development/tools/lazygit/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "lazygit"; - version = "0.12.3"; + version = "0.13"; goPackagePath = "github.com/jesseduffield/lazygit"; @@ -12,7 +12,7 @@ buildGoPackage rec { owner = "jesseduffield"; repo = pname; rev = "v${version}"; - sha256 = "1r20543dydp5m9ciw01y8wlw8kxwmjn6zabfalnb13y1pa0zm76q"; + sha256 = "1illn4aqg4gyjnrh505f1s7blk826nqx6mc9i06i0fc1lw5jsxx1"; }; meta = with stdenv.lib; { From e735ef2fbd61dda3e8a50faced4c59cbdd6058df Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 10 Jan 2020 11:57:53 +0100 Subject: [PATCH 28/50] morph: 1.3.1 -> 1.4.0 --- pkgs/tools/package-management/morph/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/morph/default.nix b/pkgs/tools/package-management/morph/default.nix index 9462cbec9c43..b111386fea2e 100644 --- a/pkgs/tools/package-management/morph/default.nix +++ b/pkgs/tools/package-management/morph/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "morph"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitHub { owner = "dbcdk"; repo = "morph"; rev = "v${version}"; - sha256 = "0nwl9n5b0lnil96573wa3hyr3vyvfiwvmpkla3pmwkpmriac4xrg"; + sha256 = "1y6clzi8sfnrv4an26b44r24nnxds1kj9aw3lmjbgxl9yrxxsj1k"; }; goPackagePath = "github.com/dbcdk/morph"; From 5aac98852e09d79b7bfcd549d3d2b110b6fc6219 Mon Sep 17 00:00:00 2001 From: Julien Dehos Date: Wed, 8 Jan 2020 11:48:01 +0100 Subject: [PATCH 29/50] gede: 2.14.1 -> 2.15.1 --- pkgs/development/tools/misc/gede/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/misc/gede/default.nix b/pkgs/development/tools/misc/gede/default.nix index 1484e54289e6..40e64ced4dcd 100644 --- a/pkgs/development/tools/misc/gede/default.nix +++ b/pkgs/development/tools/misc/gede/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, makeWrapper, python, qmake, ctags, gdb }: +{ mkDerivation, lib, fetchurl, makeWrapper, python, qmake, ctags, gdb }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "gede"; - version = "2.14.1"; + version = "2.15.1"; src = fetchurl { url = "http://gede.acidron.com/uploads/source/${pname}-${version}.tar.xz"; - sha256 = "1z7577zwz7h03d58as93hyx99isi3p4i3rhxr8l01zgi65mz0mr9"; + sha256 = "0n67fiks7lbylgda8n06wfwcvl5qnb70rabk2b39g05byz7jcdcn"; }; nativeBuildInputs = [ qmake makeWrapper python ]; @@ -20,10 +20,10 @@ stdenv.mkDerivation rec { installPhase = '' python build.py install --verbose --prefix="$out" wrapProgram $out/bin/gede \ - --prefix PATH : ${stdenv.lib.makeBinPath [ ctags gdb ]} + --prefix PATH : ${lib.makeBinPath [ ctags gdb ]} ''; - meta = with stdenv.lib; { + meta = with lib; { description = "Graphical frontend (GUI) to GDB"; homepage = http://gede.acidron.com; license = licenses.bsd2; From 7994673d56800af4f5fae2394589de7e4d8a3693 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Thu, 9 Jan 2020 04:20:00 -0500 Subject: [PATCH 30/50] dune_2: 2.1.1 -> 2.1.2 Changelog: https://github.com/ocaml/dune/releases/tag/2.1.2 --- pkgs/development/tools/ocaml/dune/2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/ocaml/dune/2.nix b/pkgs/development/tools/ocaml/dune/2.nix index adb6947b5c91..ed193b9e6cd7 100644 --- a/pkgs/development/tools/ocaml/dune/2.nix +++ b/pkgs/development/tools/ocaml/dune/2.nix @@ -6,11 +6,11 @@ else stdenv.mkDerivation rec { pname = "dune"; - version = "2.1.1"; + version = "2.1.2"; src = fetchurl { url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz"; - sha256 = "0z5anyyfiydpk4l45p64k2ravypawnlllixq0h5ir450dw0ifi5i"; + sha256 = "1bszrjxwm2pj0ga0s9krp75xdp2yk1qi6rw0315xq57cngmphclw"; }; buildInputs = [ ocaml findlib ]; From 384d963920448ec2c9399ba2d62d491af0ddb5ba Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 10 Jan 2020 12:55:40 +0100 Subject: [PATCH 31/50] cargo-make: 0.25.1 -> 0.26.0 https://github.com/sagiegurari/cargo-make/releases/tag/0.26.0 --- .../tools/rust/cargo-make/Cargo.lock | 205 +++++++++++------- .../tools/rust/cargo-make/default.nix | 6 +- 2 files changed, 134 insertions(+), 77 deletions(-) diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock index 843f2eeef3fe..5d3392fcc382 100644 --- a/pkgs/development/tools/rust/cargo-make/Cargo.lock +++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock @@ -28,9 +28,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "atty" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -40,6 +41,11 @@ name = "autocfg" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "backtrace" version = "0.3.40" @@ -56,7 +62,7 @@ name = "backtrace-sys" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -75,7 +81,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "blake2b_simd" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -98,24 +104,24 @@ dependencies = [ [[package]] name = "cargo-make" -version = "0.25.1" +version = "0.26.0" dependencies = [ "ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "colored 1.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "duckscriptsdk 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "duckscriptsdk 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)", "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", "git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "run_script 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "run_script 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", @@ -125,7 +131,7 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -138,8 +144,8 @@ name = "chrono" version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -157,7 +163,7 @@ version = "2.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", - "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -178,7 +184,7 @@ name = "colored" version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -219,16 +225,19 @@ dependencies = [ [[package]] name = "duckscript" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "duckscriptsdk" -version = "0.1.0" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "hostname 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -254,9 +263,9 @@ name = "failure_derive" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -269,6 +278,16 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "fnv" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fs_extra" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "fuchsia-cprng" version = "0.1.1" @@ -276,12 +295,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "getrandom" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", - "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -295,11 +314,28 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] -name = "home" -version = "0.5.1" +name = "hermit-abi" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "home" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "hostname" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", + "match_cfg 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -330,26 +366,45 @@ dependencies = [ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "memchr" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] -name = "num-integer" -version = "0.1.41" +name = "meval" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nom" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num-integer" +version = "0.1.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -359,7 +414,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "proc-macro2" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -370,7 +425,7 @@ name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -378,7 +433,7 @@ name = "rand" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -412,7 +467,7 @@ name = "rand_core" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -462,23 +517,23 @@ dependencies = [ [[package]] name = "regex" -version = "1.3.1" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.6.12" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "run_script" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -491,13 +546,13 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", + "blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rust_info" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -505,11 +560,6 @@ name = "rustc-demangle" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "scopeguard" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - [[package]] name = "semver" version = "0.9.0" @@ -533,9 +583,9 @@ name = "serde_derive" version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -543,7 +593,7 @@ name = "shell2batch" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -553,10 +603,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "syn" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -566,9 +616,9 @@ name = "synstructure" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -582,7 +632,7 @@ dependencies = [ [[package]] name = "thread_local" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -631,7 +681,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasi" -version = "0.7.0" +version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -658,16 +708,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" "checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" -"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90" +"checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" "checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" +"checksum autocfg 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" "checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea" "checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491" "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0" +"checksum blake2b_simd 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" -"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76" +"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01" "checksum ci_info 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e9091c3d285e7046afdb70fc7413d1ac670288705e151443f868f71e66ed2a" @@ -678,26 +729,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b" -"checksum duckscript 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f34baed35ba3d92eaf95fd023b63f3206e429d408bb54bcd55c71e1e43c4cae8" -"checksum duckscriptsdk 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db947cb1b8ef6fc232027e03ab36487fa8bd210de7ec9b4e0e70637dc5b8acf0" +"checksum duckscript 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "2aa0a0d525a182f41071f23b8912111e2ef42bab6ceb29794ae253977788b0c0" +"checksum duckscriptsdk 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "79681ce8de938dfa0af2b38cae1a7fc5e341eac8acadea3578d1c07c3e6b8f29" "checksum envmnt 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "39cdd9fdbf10b8cfa59dd70ef823cbaa83e33b86f4ad291ae67b16f4bd37bc69" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" "checksum fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa" +"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" +"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407" +"checksum getrandom 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" "checksum git_info 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "add3a9c3c08c8905a2165ff06891dd1c3bb32d81b2a32d79528abc9793dfb06f" "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" -"checksum home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8" +"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772" +"checksum home 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654" +"checksum hostname 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01b1af8d6d068ba9de1c39c6ff0d879aed20f74873d4d3929a4535000bb07886" "checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" "checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558" "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" +"checksum match_cfg 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4" +"checksum meval 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f79496a5651c8d57cd033c5add8ca7ee4e3d5f7587a4777484640d9cb60392d9" +"checksum nom 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce" +"checksum num-integer 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" +"checksum num-traits 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" -"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" +"checksum proc-macro2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0319972dcae462681daf4da1adeeaa066e3ebd29c69be96c6abb1259d2ee2bcc" "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" @@ -709,30 +767,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" "checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" "checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d" -"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd" -"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716" -"checksum run_script 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cc7ecc900fbff3d58006c8a41a84e987f13c3d590bc7268d747245f4b19878dc" +"checksum regex 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b5508c1941e4e7cb19965abef075d35a9a8b5cdf0846f30b4050e9b55dc55e87" +"checksum regex-syntax 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e734e891f5b408a29efbf8309e656876276f49ab6a6ac208600b4419bd893d90" +"checksum run_script 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7c0159ae870920e692ef9226b56b831d50abca091e588e43972f3e099b40ca7f" "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf" -"checksum rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e4e04a5022c08c95c2285b0beb4cdd24c9b20bc018a263d6fdb0372f7a597db" +"checksum rust_info 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be941f2b996df7ffaf093366039c9dc182b3ca2e00f3e81df44e08c3611e773d" "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" -"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449" "checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64" "checksum shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65" "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" -"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238" +"checksum syn 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1e4ff033220a41d1a57d8125eab57bf5263783dfdcc18688b1dacc6ce9651ef8" "checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" +"checksum thread_local 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88ddf1ad580c7e3d1efff877d972bcc93f995556b9087a5a259630985c88ceab" "checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f" "checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf" "checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479" "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" "checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf" "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" -"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d" +"checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix index 909a711b3c3b..25d700d0445b 100644 --- a/pkgs/development/tools/rust/cargo-make/default.nix +++ b/pkgs/development/tools/rust/cargo-make/default.nix @@ -2,7 +2,7 @@ rustPlatform.buildRustPackage rec { pname = "cargo-make"; - version = "0.25.1"; + version = "0.26.0"; src = let @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { owner = "sagiegurari"; repo = pname; rev = version; - sha256 = "176qidyp9vmqs3i252r6wrhd6ayxbykwjfh7010nil3hgwjvrmb2"; + sha256 = "0x17slfih65hj7xc3m847792yhlkpzq2lnbxgc2kwciclyzhjgfd"; }; in runCommand "cargo-make-src" {} '' @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec { buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; - cargoSha256 = "1jzw24kc2i1p7775hi39db0ylbi5b4m40wnmldqvi8skcayh38ky"; + cargoSha256 = "1p20y6a99f5bjmjkwq7jvgmvhg6klkacybq4bc4xq6135qnqhdv8"; # Some tests fail because they need network access. # However, Travis ensures a proper build. From dcf9c11477fec83ef3538cc05be4290f4dd195df Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 10 Jan 2020 13:44:27 +0100 Subject: [PATCH 32/50] trojita: add explicit libsecret dependency This was previously a transitive dependency. Fix #77296 --- pkgs/applications/networking/mailreaders/trojita/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/mailreaders/trojita/default.nix b/pkgs/applications/networking/mailreaders/trojita/default.nix index 9829ca883f37..f383018e2537 100644 --- a/pkgs/applications/networking/mailreaders/trojita/default.nix +++ b/pkgs/applications/networking/mailreaders/trojita/default.nix @@ -6,6 +6,7 @@ , kcontacts , kf5gpgmepp , lib +, libsecret , mimetic , mkDerivation , pkgconfig @@ -30,6 +31,7 @@ mkDerivation rec { akonadi-contacts gpgme kcontacts + libsecret mimetic qgpgme qtbase From 9dbedf02002c4ac4fcaadc973b443c5cac8f5b49 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Fri, 10 Jan 2020 13:08:46 +0000 Subject: [PATCH 33/50] poetry2nix: 1.1.0 -> 1.2.0 --- .../tools/poetry2nix/poetry2nix/default.nix | 5 +- .../poetry2nix/poetry2nix/extensions.json | 3 +- .../tools/poetry2nix/poetry2nix/lib.nix | 8 ++- .../poetry2nix/poetry2nix/mk-poetry-dep.nix | 29 ++++++++-- .../tools/poetry2nix/poetry2nix/overrides.nix | 55 +------------------ .../tools/poetry2nix/poetry2nix/pep508.nix | 16 ++++-- .../tools/poetry2nix/poetry2nix/semver.nix | 23 +++++--- 7 files changed, 64 insertions(+), 75 deletions(-) diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix index 967f0d666cb4..8e0e861fab3f 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix @@ -14,7 +14,7 @@ let defaultPoetryOverrides = (import ./overrides.nix { inherit pkgs lib; }); mkEvalPep508 = import ./pep508.nix { - inherit lib; + inherit lib poetryLib; stdenv = pkgs.stdenv; }; @@ -247,6 +247,7 @@ in overrideOverlay = fn: self: super: let defaultSet = defaultPoetryOverrides self super; customSet = fn self super; - in defaultSet // customSet; + in + defaultSet // customSet; }; } diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json b/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json index 2cce8e2ea085..33052efe2968 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json +++ b/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json @@ -1,4 +1,5 @@ [ + "egg", "tar", "tar.bz2", "tar.gz", @@ -11,4 +12,4 @@ "txz", "whl", "zip" -] \ No newline at end of file +] diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix index 9ec76defb7da..3d0b80c4c5ab 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix @@ -1,6 +1,12 @@ { lib, pkgs }: let - inherit (import ./semver.nix { inherit lib; }) satisfiesSemver; + inherit (import ./semver.nix { inherit lib ireplace; }) satisfiesSemver; + inherit (builtins) genList length; + + # Replace a list entry at defined index with set value + ireplace = idx: value: list: ( + genList (i: if i == idx then value else (builtins.elemAt list i)) (length list) + ); # Returns true if pythonVersion matches with the expression in pythonVersions isCompatible = pythonVersion: pythonVersions: diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix index 3631cbd228ea..256e2d90daaf 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix @@ -30,8 +30,9 @@ supportedRegex = ("^.*?(" + builtins.concatStringsSep "|" supportedExtensions + ")"); matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." ] [ "\\." ] version + ".*$") fname != null; hasSupportedExtension = fname: builtins.match supportedRegex fname != null; + isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname; in - builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file) files; + builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file && isCompatibleEgg f.file) files; toPath = s: pwd + "/${s}"; @@ -48,19 +49,35 @@ fileInfo = let isBdist = f: lib.strings.hasSuffix "whl" f.file; - isSdist = f: ! isBdist f; + isSdist = f: ! isBdist f && ! isEgg f; + isEgg = f: lib.strings.hasSuffix ".egg" f.file; + binaryDist = selectWheel fileCandidates; sourceDist = builtins.filter isSdist fileCandidates; - lockFileEntry = if (builtins.length sourceDist) > 0 then builtins.head sourceDist else builtins.head binaryDist; + eggs = builtins.filter isEgg fileCandidates; + + lockFileEntry = builtins.head (sourceDist ++ binaryDist ++ eggs); + + _isEgg = isEgg lockFileEntry; + in rec { inherit (lockFileEntry) file hash; name = file; - format = if lib.strings.hasSuffix ".whl" name then "wheel" else "setuptools"; - kind = if format == "setuptools" then "source" else (builtins.elemAt (lib.strings.splitString "-" name) 2); + format = + if _isEgg then "egg" + else if lib.strings.hasSuffix ".whl" name then "wheel" + else "setuptools"; + kind = + if _isEgg then python.pythonVersion + else if format == "setuptools" then "source" + else (builtins.elemAt (lib.strings.splitString "-" name) 2); }; + baseBuildInputs = lib.optional (name != "setuptools_scm" && name != "setuptools-scm") pythonPackages.setuptools_scm; + in + buildPythonPackage { pname = name; version = version; @@ -70,7 +87,7 @@ buildPythonPackage { format = if isLocal then "pyproject" else if isGit then "setuptools" else fileInfo.format; nativeBuildInputs = if (!isSource && (getManyLinuxDeps fileInfo.name).str != null) then [ autoPatchelfHook ] else []; - buildInputs = if !isSource then (getManyLinuxDeps fileInfo.name).pkg else []; + buildInputs = baseBuildInputs ++ (if !isSource then (getManyLinuxDeps fileInfo.name).pkg else []); propagatedBuildInputs = let diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix index 84d77cef3b5a..207841fd005f 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix @@ -7,14 +7,6 @@ self: super: let - addSetupTools = drv: if drv == null then null else drv.overrideAttrs ( - old: { - buildInputs = old.buildInputs ++ [ - self.setuptools_scm - ]; - } - ); - getAttrDefault = attribute: set: default: if builtins.hasAttr attribute set then builtins.getAttr attribute set @@ -22,15 +14,6 @@ let in { - - asciimatics = super.asciimatics.overrideAttrs ( - old: { - buildInputs = old.buildInputs ++ [ - self.setuptools_scm - ]; - } - ); - av = super.av.overrideAttrs ( old: { nativeBuildInputs = old.nativeBuildInputs ++ [ @@ -60,10 +43,6 @@ in } ); - configparser = addSetupTools super.configparser; - - cbor2 = addSetupTools super.cbor2; - cryptography = super.cryptography.overrideAttrs ( old: { buildInputs = old.buildInputs ++ [ pkgs.openssl ]; @@ -106,22 +85,6 @@ in } ); - hypothesis = addSetupTools super.hypothesis; - - importlib-metadata = addSetupTools super.importlib-metadata; - - inflect = super.inflect.overrideAttrs ( - old: { - buildInputs = old.buildInputs ++ [ - self.setuptools_scm - ]; - } - ); - - jsonschema = addSetupTools super.jsonschema; - - keyring = addSetupTools super.keyring; - lap = super.lap.overrideAttrs ( old: { propagatedBuildInputs = old.propagatedBuildInputs ++ [ @@ -243,7 +206,7 @@ in in { nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.gfortran ]; - buildInputs = old.buildInputs ++ [ blas ]; + buildInputs = old.buildInputs ++ [ blas self.cython ]; enableParallelBuilding = true; preBuild = '' ln -s ${cfg} site.cfg @@ -262,8 +225,6 @@ in } ); - pluggy = addSetupTools super.pluggy; - psycopg2 = super.psycopg2.overrideAttrs ( old: { nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.postgresql ]; @@ -276,8 +237,6 @@ in } ); - py = addSetupTools super.py; - pyarrow = super.pyarrow.overrideAttrs ( old: { buildInputs = old.buildInputs ++ [ @@ -334,16 +293,9 @@ in } ); - pytest = addSetupTools super.pytest; - - pytest-mock = addSetupTools super.pytest-mock; - - python-dateutil = addSetupTools super.python-dateutil; - python-prctl = super.python-prctl.overrideAttrs ( old: { buildInputs = old.buildInputs ++ [ - self.setuptools_scm pkgs.libcap ]; } @@ -380,8 +332,6 @@ in } ); - six = addSetupTools super.six; - urwidtrees = super.urwidtrees.overrideAttrs ( old: { propagatedBuildInputs = old.propagatedBuildInputs ++ [ @@ -390,7 +340,7 @@ in } ); - # TODO: Figure out getting rid of this hack + # Stop infinite recursion by using bootstrapped pkg from nixpkgs wheel = ( pkgs.python3.pkgs.override { python = self.python; @@ -401,5 +351,4 @@ in } ); - zipp = addSetupTools super.zipp; } diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix index bf1893931cd1..93a395326eb7 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix @@ -1,6 +1,7 @@ -{ lib, stdenv }: python: +{ lib, stdenv, poetryLib }: python: let + inherit (poetryLib) ireplace; # Like builtins.substring but with stop being offset instead of length substr = start: stop: s: builtins.substring start (stop - start) s; @@ -142,7 +143,6 @@ let else builtins.fromJSON v ); hasElem = needle: haystack: builtins.elem needle (builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " haystack)); - # TODO: Implement all operators op = { "<=" = x: y: (unmarshal x) <= (unmarshal y); "<" = x: y: (unmarshal x) < (unmarshal y); @@ -150,8 +150,16 @@ let "==" = x: y: x == y; ">=" = x: y: (unmarshal x) >= (unmarshal y); ">" = x: y: (unmarshal x) > (unmarshal y); - "~=" = null; - "===" = null; + "~=" = v: c: let + parts = builtins.splitVersion c; + pruned = lib.take ((builtins.length parts) - 1) parts; + upper = builtins.toString ( + (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1 + ); + upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned); + in + op.">=" v c && op."<" v upperConstraint; + "===" = x: y: x == y; "in" = x: y: let values = builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " (unmarshal y)); in diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix b/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix index 620bb25ad974..784589a4ca48 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix @@ -1,14 +1,8 @@ -{ lib }: +{ lib, ireplace }: let inherit (builtins) elemAt match; - # Replace a list entry at defined index with set value - ireplace = idx: value: list: let - inherit (builtins) genList length; - in - genList (i: if i == idx then value else (elemAt list i)) (length list); - operators = let matchWildCard = s: match "([^\*])(\.[\*])" s; mkComparison = ret: version: v: builtins.compareVersions version v == ret; @@ -37,10 +31,23 @@ let ">=" = v: c: operators."==" v c || operators.">" v c; "<=" = v: c: operators."==" v c || operators."<" v c; # Semver specific operators - "~" = mkIdxComparison 1; # + "~" = mkIdxComparison 1; "^" = mkIdxComparison 0; + "~=" = v: c: let + # Prune constraint + parts = builtins.splitVersion c; + pruned = lib.take ((builtins.length parts) - 1) parts; + upper = builtins.toString ( + (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1 + ); + upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned); + in + operators.">=" v c && operators."<" v upperConstraint; # Infix operators "-" = version: v: operators.">=" version v.vl && operators."<=" version v.vu; + # Arbitrary equality clause, just run simple comparison + "===" = v: c: v == c; + # }; re = { From e4939690af79402a268630a0163faa8d60c2dda8 Mon Sep 17 00:00:00 2001 From: adisbladis Date: Fri, 10 Jan 2020 13:25:36 +0000 Subject: [PATCH 34/50] poetry: 1.0.0 -> 1.0.1 --- pkgs/development/tools/poetry/default.nix | 8 +- pkgs/development/tools/poetry/poetry.lock | 244 ++++++++++++------- pkgs/development/tools/poetry/pyproject.toml | 10 +- pkgs/development/tools/poetry/src.json | 6 + pkgs/development/tools/poetry/update | 9 + 5 files changed, 184 insertions(+), 93 deletions(-) create mode 100644 pkgs/development/tools/poetry/src.json create mode 100755 pkgs/development/tools/poetry/update diff --git a/pkgs/development/tools/poetry/default.nix b/pkgs/development/tools/poetry/default.nix index 6a4ca2a3057d..1517e53f219c 100644 --- a/pkgs/development/tools/poetry/default.nix +++ b/pkgs/development/tools/poetry/default.nix @@ -1,5 +1,6 @@ { lib, poetry2nix, python, fetchFromGitHub, runtimeShell }: + poetry2nix.mkPoetryApplication { inherit python; @@ -7,12 +8,7 @@ poetry2nix.mkPoetryApplication { pyproject = ./pyproject.toml; poetrylock = ./poetry.lock; - src = fetchFromGitHub { - owner = "sdispater"; - repo = "poetry"; - rev = "1.0.0"; - sha256 = "05xlx9wnlrsjj3i4wawnvxadvqwsdh03401wpgingkbq0c50aimi"; - }; + src = fetchFromGitHub (lib.importJSON ./src.json); # "Vendor" dependencies (for build-system support) postPatch = '' diff --git a/pkgs/development/tools/poetry/poetry.lock b/pkgs/development/tools/poetry/poetry.lock index 51fe6c42c7a9..182f389363dd 100644 --- a/pkgs/development/tools/poetry/poetry.lock +++ b/pkgs/development/tools/poetry/poetry.lock @@ -67,10 +67,10 @@ description = "httplib2 caching for requests" name = "cachecontrol" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.12.5" +version = "0.12.6" [package.dependencies] -msgpack = "*" +msgpack = ">=0.5.2" requests = "*" [package.dependencies.lockfile] @@ -176,7 +176,7 @@ version = ">=3.6,<4.0" [[package]] category = "dev" description = "Cross-platform colored terminal text." -marker = "sys_platform == \"win32\"" +marker = "sys_platform == \"win32\" and python_version == \"3.4\"" name = "colorama" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -185,7 +185,7 @@ version = "0.4.1" [[package]] category = "dev" description = "Cross-platform colored terminal text." -marker = "sys_platform == \"win32\"" +marker = "sys_platform == \"win32\" and python_version != \"3.4\" or platform_system == \"Windows\"" name = "colorama" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -194,7 +194,7 @@ version = "0.4.3" [[package]] category = "main" description = "Updated configparser from Python 3.7 for Python 2.6+." -marker = "python_version == \"2.7\" and python_version < \"2.8\" or python_version < \"3\"" +marker = "python_version == \"2.7\" and python_version == \"2.7\" or python_version < \"3\"" name = "configparser" optional = false python-versions = ">=2.6" @@ -221,6 +221,17 @@ optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4" version = "4.5.4" +[[package]] +category = "dev" +description = "Code coverage measurement for Python" +name = "coverage" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +version = "5.0.2" + +[package.extras] +toml = ["toml"] + [[package]] category = "main" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." @@ -352,7 +363,7 @@ description = "File identification library for Python" name = "identify" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -version = "1.4.8" +version = "1.4.9" [package.extras] license = ["editdistance"] @@ -370,8 +381,8 @@ category = "main" description = "Read metadata from Python packages" name = "importlib-metadata" optional = false -python-versions = ">=2.7,!=3.0,!=3.1,!=3.2,!=3.3" -version = "0.23" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +version = "1.1.3" [package.dependencies] zipp = ">=0.5" @@ -422,7 +433,7 @@ marker = "python_version >= \"3.5\" and python_version < \"4.0\" and sys_platfor name = "jeepney" optional = false python-versions = ">=3.5" -version = "0.4.1" +version = "0.4.2" [package.extras] dev = ["testpath"] @@ -496,7 +507,7 @@ marker = "python_version >= \"3.5\" and python_version < \"4.0\"" name = "keyring" optional = false python-versions = ">=3.5" -version = "19.3.0" +version = "20.0.1" [package.dependencies] pywin32-ctypes = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1" @@ -626,6 +637,7 @@ six = ">=1.0.0,<2.0.0" [[package]] category = "main" description = "More routines for operating on iterables, beyond itertools" +marker = "python_version < \"3.8\" or python_version > \"2.7\"" name = "more-itertools" optional = false python-versions = ">=3.4" @@ -654,7 +666,7 @@ description = "Node.js virtual environment builder" name = "nodeenv" optional = false python-versions = "*" -version = "1.3.3" +version = "1.3.4" [[package]] category = "dev" @@ -662,7 +674,7 @@ description = "Core utilities for Python packages" name = "packaging" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "19.2" +version = "20.0" [package.dependencies] pyparsing = ">=2.0.2" @@ -698,8 +710,8 @@ description = "Utility library for gitignore style pattern matching of file path marker = "python_version >= \"3.6\" and python_version < \"4.0\"" name = "pathspec" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.6.0" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "0.7.0" [[package]] category = "dev" @@ -775,8 +787,8 @@ category = "dev" description = "A framework for managing and maintaining multi-language pre-commit hooks." name = "pre-commit" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "1.20.0" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +version = "1.21.0" [package.dependencies] "aspy.yaml" = "*" @@ -814,7 +826,7 @@ description = "library with cross-python path, ini-parsing, io, code, log facili name = "py" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.8.0" +version = "1.8.1" [[package]] category = "main" @@ -877,7 +889,7 @@ description = "Extension pack for Python Markdown." name = "pymdown-extensions" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -version = "6.2" +version = "6.2.1" [package.dependencies] Markdown = ">=3.0.1" @@ -889,7 +901,7 @@ description = "Python parsing module" name = "pyparsing" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -version = "2.4.5" +version = "2.4.6" [[package]] category = "main" @@ -908,18 +920,25 @@ description = "pytest: simple powerful testing with Python" name = "pytest" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -version = "4.6.7" +version = "4.6.9" [package.dependencies] atomicwrites = ">=1.0" attrs = ">=17.4.0" -colorama = "*" packaging = "*" pluggy = ">=0.12,<1.0" py = ">=1.5.0" six = ">=1.10.0" wcwidth = "*" +[[package.dependencies.colorama]] +python = "<3.4.0 || >=3.5.0" +version = "*" + +[[package.dependencies.colorama]] +python = ">=3.4,<3.5" +version = "<=0.4.1" + [[package.dependencies.more-itertools]] python = "<2.8" version = ">=4.0.0,<6.0.0" @@ -1006,6 +1025,14 @@ optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" version = "5.2" +[[package]] +category = "dev" +description = "YAML parser and emitter for Python" +name = "pyyaml" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "5.3" + [[package]] category = "dev" description = "Alternative regular expression module, to replace re." @@ -1013,7 +1040,7 @@ marker = "python_version >= \"3.6\" and python_version < \"4.0\"" name = "regex" optional = false python-versions = "*" -version = "2019.12.9" +version = "2020.1.8" [[package]] category = "main" @@ -1065,7 +1092,7 @@ requests = ">=2.0.1,<3.0.0" [[package]] category = "main" description = "scandir, a better directory iterator and faster os.walk()" -marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\" or python_version < \"3.5\"" +marker = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.4\" and python_version < \"3.5\"" name = "scandir" optional = false python-versions = "*" @@ -1093,11 +1120,11 @@ marker = "python_version >= \"3.5\" and python_version < \"4.0\" and sys_platfor name = "secretstorage" optional = false python-versions = ">=3.5" -version = "3.1.1" +version = "3.1.2" [package.dependencies] cryptography = "*" -jeepney = "*" +jeepney = ">=0.4.2" [[package]] category = "main" @@ -1185,24 +1212,20 @@ description = "tox is a generic virtualenv management and test command line tool name = "tox" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.14.0" +version = "3.12.1" [package.dependencies] filelock = ">=3.0.0,<4" -packaging = ">=14" -pluggy = ">=0.12.0,<1" +pluggy = ">=0.3.0,<1" py = ">=1.4.17,<2" +setuptools = ">=30.0.0" six = ">=1.0.0,<2" toml = ">=0.9.4" virtualenv = ">=14.0.0" -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12,<1" - [package.extras] docs = ["sphinx (>=2.0.0,<3)", "towncrier (>=18.5.0)", "pygments-github-lexers (>=0.0.5)", "sphinxcontrib-autoprogram (>=0.1.5)"] -testing = ["freezegun (>=0.3.11,<1)", "pathlib2 (>=2.3.3,<3)", "pytest (>=4.0.0,<6)", "pytest-cov (>=2.5.1,<3)", "pytest-mock (>=1.10.0,<2)", "pytest-xdist (>=1.22.2,<2)", "pytest-randomly (>=1.2.3,<2)", "flaky (>=3.4.0,<4)", "psutil (>=5.6.1,<6)"] +testing = ["freezegun (>=0.3.11,<1)", "pathlib2 (>=2.3.3,<3)", "pytest (>=3.0.0,<5)", "pytest-cov (>=2.5.1,<3)", "pytest-mock (>=1.10.0,<2)", "pytest-xdist (>=1.22.2,<2)", "pytest-randomly (>=1.2.3,<2)", "flaky (>=3.4.0,<4)", "psutil (>=5.6.1,<6)"] [[package]] category = "dev" @@ -1210,9 +1233,10 @@ description = "tox is a generic virtualenv management and test command line tool name = "tox" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "3.14.1" +version = "3.14.3" [package.dependencies] +colorama = ">=0.4.1" filelock = ">=3.0.0,<4" packaging = ">=14" pluggy = ">=0.12.0,<1" @@ -1223,7 +1247,7 @@ virtualenv = ">=16.0.0" [package.dependencies.importlib-metadata] python = "<3.8" -version = ">=0.12,<1" +version = ">=0.12,<2" [package.extras] docs = ["sphinx (>=2.0.0,<3)", "towncrier (>=18.5.0)", "pygments-github-lexers (>=0.0.5)", "sphinxcontrib-autoprogram (>=0.1.5)"] @@ -1278,7 +1302,7 @@ description = "Virtual Python Environment builder" name = "virtualenv" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -version = "16.7.8" +version = "16.7.9" [package.extras] docs = ["sphinx (>=1.8.0,<2)", "towncrier (>=18.5.0)", "sphinx-rtd-theme (>=0.4.2,<1)"] @@ -1290,7 +1314,7 @@ description = "Measures number of Terminal column cells of wide-character codes" name = "wcwidth" optional = false python-versions = "*" -version = "0.1.7" +version = "0.1.8" [[package]] category = "main" @@ -1303,6 +1327,7 @@ version = "0.5.1" [[package]] category = "main" description = "Backport of pathlib-compatible object wrapper for zip files" +marker = "python_version >= \"3.5\" and python_version < \"3.8\" or python_version < \"3.8\"" name = "zipp" optional = false python-versions = ">=2.7" @@ -1316,7 +1341,7 @@ docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["pathlib2", "contextlib2", "unittest2"] [metadata] -content-hash = "35feeab2d2e9415a82f714a41962c442ea8b302f0e8365c10ee188f31603684a" +content-hash = "e0b632d8363fdf9f70d93901ff537714611bfc31705a897f6d2fb3bc010bca0a" python-versions = "~2.7 || ^3.4" [metadata.files] @@ -1341,7 +1366,8 @@ black = [ {file = "black-19.10b0.tar.gz", hash = "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"}, ] cachecontrol = [ - {file = "CacheControl-0.12.5.tar.gz", hash = "sha256:cef77effdf51b43178f6a2d3b787e3734f98ade253fa3187f3bb7315aaa42ff7"}, + {file = "CacheControl-0.12.6-py2.py3-none-any.whl", hash = "sha256:10d056fa27f8563a271b345207402a6dcce8efab7e5b377e270329c62471b10d"}, + {file = "CacheControl-0.12.6.tar.gz", hash = "sha256:be9aa45477a134aee56c8fac518627e1154df063e85f67d4f83ce0ccc23688e8"}, ] cachy = [ {file = "cachy-0.3.0-py2.py3-none-any.whl", hash = "sha256:338ca09c8860e76b275aff52374330efedc4d5a5e45dc1c5b539c1ead0786fe7"}, @@ -1380,6 +1406,7 @@ cffi = [ {file = "cffi-1.13.2-cp37-cp37m-win32.whl", hash = "sha256:d754f39e0d1603b5b24a7f8484b22d2904fa551fe865fd0d4c3332f078d20d4e"}, {file = "cffi-1.13.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6471a82d5abea994e38d2c2abc77164b4f7fbaaf80261cb98394d5793f11b12a"}, {file = "cffi-1.13.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:74a1d8c85fb6ff0b30fbfa8ad0ac23cd601a138f7509dc617ebc65ef305bb98d"}, + {file = "cffi-1.13.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:42194f54c11abc8583417a7cf4eaff544ce0de8187abaf5d29029c91b1725ad3"}, {file = "cffi-1.13.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:415bdc7ca8c1c634a6d7163d43fb0ea885a07e9618a64bda407e04b04333b7db"}, {file = "cffi-1.13.2-cp38-cp38-win32.whl", hash = "sha256:6d4f18483d040e18546108eb13b1dfa1000a089bcf8529e30346116ea6240506"}, {file = "cffi-1.13.2-cp38-cp38-win_amd64.whl", hash = "sha256:2781e9ad0e9d47173c0093321bb5435a9dfae0ed6a762aabafa13108f5f7b2ba"}, @@ -1452,6 +1479,37 @@ coverage = [ {file = "coverage-4.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:23cc09ed395b03424d1ae30dcc292615c1372bfba7141eb85e11e50efaa6b351"}, {file = "coverage-4.5.4-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:141f08ed3c4b1847015e2cd62ec06d35e67a3ac185c26f7635f4406b90afa9c5"}, {file = "coverage-4.5.4.tar.gz", hash = "sha256:e07d9f1a23e9e93ab5c62902833bf3e4b1f65502927379148b6622686223125c"}, + {file = "coverage-5.0.2-cp27-cp27m-macosx_10_12_x86_64.whl", hash = "sha256:511ec0c00840e12fb4e852e4db58fa6a01ca4da72f36a9766fae344c3d502033"}, + {file = "coverage-5.0.2-cp27-cp27m-macosx_10_13_intel.whl", hash = "sha256:d22b4297e7e4225ccf01f1aa55e7a96412ea0796b532dd614c3fcbafa341128e"}, + {file = "coverage-5.0.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:593853aa1ac6dcc6405324d877544c596c9d948ef20d2e9512a0f5d2d3202356"}, + {file = "coverage-5.0.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:e65a5aa1670db6263f19fdc03daee1d7dbbadb5cb67fd0a1f16033659db13c1d"}, + {file = "coverage-5.0.2-cp27-cp27m-win32.whl", hash = "sha256:d4a2b578a7a70e0c71f662705262f87a456f1e6c1e40ada7ea699abaf070a76d"}, + {file = "coverage-5.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:28f7f73b34a05e23758e860a89a7f649b85c6749e252eff60ebb05532d180e86"}, + {file = "coverage-5.0.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:7d1cc7acc9ce55179616cf72154f9e648136ea55987edf84addbcd9886ffeba2"}, + {file = "coverage-5.0.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:2d0cb9b1fe6ad0d915d45ad3d87f03a38e979093a98597e755930db1f897afae"}, + {file = "coverage-5.0.2-cp35-cp35m-macosx_10_12_x86_64.whl", hash = "sha256:bfe102659e2ec13b86c7f3b1db6c9a4e7beea4255058d006351339e6b342d5d2"}, + {file = "coverage-5.0.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:23688ff75adfa8bfa2a67254d889f9bdf9302c27241d746e17547c42c732d3f4"}, + {file = "coverage-5.0.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:1bf7ba2af1d373a1750888724f84cffdfc697738f29a353c98195f98fc011509"}, + {file = "coverage-5.0.2-cp35-cp35m-win32.whl", hash = "sha256:569f9ee3025682afda6e9b0f5bb14897c0db03f1a1dc088b083dd36e743f92bb"}, + {file = "coverage-5.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:cf908840896f7aa62d0ec693beb53264b154f972eb8226fb864ac38975590c4f"}, + {file = "coverage-5.0.2-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:eaad65bd20955131bcdb3967a4dea66b4e4d4ca488efed7c00d91ee0173387e8"}, + {file = "coverage-5.0.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:225e79a5d485bc1642cb7ba02281419c633c216cdc6b26c26494ba959f09e69f"}, + {file = "coverage-5.0.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:bd82b684bb498c60ef47bb1541a50e6d006dde8579934dcbdbc61d67d1ea70d9"}, + {file = "coverage-5.0.2-cp36-cp36m-win32.whl", hash = "sha256:7ca3db38a61f3655a2613ee2c190d63639215a7a736d3c64cc7bbdb002ce6310"}, + {file = "coverage-5.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:47874b4711c5aeb295c31b228a758ce3d096be83dc37bd56da48ed99efb8813b"}, + {file = "coverage-5.0.2-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:955ec084f549128fa2702f0b2dc696392001d986b71acd8fd47424f28289a9c3"}, + {file = "coverage-5.0.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:1f4ee8e2e4243971618bc16fcc4478317405205f135e95226c2496e2a3b8dbbf"}, + {file = "coverage-5.0.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f45fba420b94165c17896861bb0e8b27fb7abdcedfeb154895d8553df90b7b00"}, + {file = "coverage-5.0.2-cp37-cp37m-win32.whl", hash = "sha256:cca38ded59105f7705ef6ffe1e960b8db6c7d8279c1e71654a4775ab4454ca15"}, + {file = "coverage-5.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:cb2b74c123f65e8166f7e1265829a6c8ed755c3cd16d7f50e75a83456a5f3fd7"}, + {file = "coverage-5.0.2-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:53e7438fef0c97bc248f88ba1edd10268cd94d5609970aaf87abbe493691af87"}, + {file = "coverage-5.0.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c1e4e39e43057396a5e9d069bfbb6ffeee892e40c5d2effbd8cd71f34ee66c4d"}, + {file = "coverage-5.0.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5b0a07158360d22492f9abd02a0f2ee7981b33f0646bf796598b7673f6bbab14"}, + {file = "coverage-5.0.2-cp38-cp38m-win32.whl", hash = "sha256:88b51153657612aea68fa684a5b88037597925260392b7bb4509d4f9b0bdd889"}, + {file = "coverage-5.0.2-cp38-cp38m-win_amd64.whl", hash = "sha256:189aac76d6e0d7af15572c51892e7326ee451c076c5a50a9d266406cd6c49708"}, + {file = "coverage-5.0.2-cp39-cp39m-win32.whl", hash = "sha256:d095a7b473f8a95f7efe821f92058c8a2ecfb18f8db6677ae3819e15dc11aaae"}, + {file = "coverage-5.0.2-cp39-cp39m-win_amd64.whl", hash = "sha256:ddeb42a3d5419434742bf4cc71c9eaa22df3b76808e23a82bd0b0bd360f1a9f1"}, + {file = "coverage-5.0.2.tar.gz", hash = "sha256:b251c7092cbb6d789d62dc9c9e7c4fb448c9138b51285c36aeb72462cad3600e"}, ] cryptography = [ {file = "cryptography-2.8-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:fb81c17e0ebe3358486cd8cc3ad78adbae58af12fc2bf2bc0bb84e8090fa5ce8"}, @@ -1513,16 +1571,16 @@ httpretty = [ {file = "httpretty-0.9.7.tar.gz", hash = "sha256:66216f26b9d2c52e81808f3e674a6fb65d4bf719721394a1a9be926177e55fbe"}, ] identify = [ - {file = "identify-1.4.8-py2.py3-none-any.whl", hash = "sha256:9e7521e9abeaede4d2d1092a106e418c65ddf6b3182b43930bcb3c8cfb974488"}, - {file = "identify-1.4.8.tar.gz", hash = "sha256:7782115794ec28b011702815d9f5e532244560cd2bf0789c4f09381d43befd90"}, + {file = "identify-1.4.9-py2.py3-none-any.whl", hash = "sha256:72e9c4ed3bc713c7045b762b0d2e2115c572b85abfc1f4604f5a4fd4c6642b71"}, + {file = "identify-1.4.9.tar.gz", hash = "sha256:6f44e637caa40d1b4cb37f6ed3b262ede74901d28b1cc5b1fc07360871edd65d"}, ] idna = [ {file = "idna-2.8-py2.py3-none-any.whl", hash = "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"}, {file = "idna-2.8.tar.gz", hash = "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"}, ] importlib-metadata = [ - {file = "importlib_metadata-0.23-py2.py3-none-any.whl", hash = "sha256:d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af"}, - {file = "importlib_metadata-0.23.tar.gz", hash = "sha256:aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26"}, + {file = "importlib_metadata-1.1.3-py2.py3-none-any.whl", hash = "sha256:7c7f8ac40673f507f349bef2eed21a0e5f01ddf5b2a7356a6c65eb2099b53764"}, + {file = "importlib_metadata-1.1.3.tar.gz", hash = "sha256:7a99fb4084ffe6dae374961ba7a6521b79c1d07c658ab3a28aa264ee1d1b14e3"}, ] importlib-resources = [ {file = "importlib_resources-1.0.2-py2.py3-none-any.whl", hash = "sha256:6e2783b2538bd5a14678284a3962b0660c715e5a0f10243fd5e00a4b5974f50b"}, @@ -1533,8 +1591,8 @@ ipaddress = [ {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"}, ] jeepney = [ - {file = "jeepney-0.4.1-py3-none-any.whl", hash = "sha256:f6a3f93464a0cf052f4e87da3c8b3ed1e27696758fb9739c63d3a74d9a1b6774"}, - {file = "jeepney-0.4.1.tar.gz", hash = "sha256:13806f91a96e9b2623fd2a81b950d763ee471454aafd9eb6d75dbe7afce428fb"}, + {file = "jeepney-0.4.2-py3-none-any.whl", hash = "sha256:6f45dce1125cf6c58a1c88123d3831f36a789f9204fbad3172eac15f8ccd08d0"}, + {file = "jeepney-0.4.2.tar.gz", hash = "sha256:0ba6d8c597e9bef1ebd18aaec595f942a264e25c1a48f164d46120eacaa2e9bb"}, ] jinja2 = [ {file = "Jinja2-2.10.3-py2.py3-none-any.whl", hash = "sha256:74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f"}, @@ -1547,8 +1605,8 @@ jsonschema = [ keyring = [ {file = "keyring-18.0.1-py2.py3-none-any.whl", hash = "sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6"}, {file = "keyring-18.0.1.tar.gz", hash = "sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838"}, - {file = "keyring-19.3.0-py2.py3-none-any.whl", hash = "sha256:9b80469783d3f6106bce1d389c6b8b20c8d4d739943b1b8cd0ddc2a45d065f9d"}, - {file = "keyring-19.3.0.tar.gz", hash = "sha256:ee3d35b7f1ac3cb69e9a1e4323534649d3ab2fea402738a77e4250c152970fed"}, + {file = "keyring-20.0.1-py2.py3-none-any.whl", hash = "sha256:c674f032424b4bffc62abeac5523ec49cc84aed07a480c3233e0baf618efc15c"}, + {file = "keyring-20.0.1.tar.gz", hash = "sha256:963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d"}, ] livereload = [ {file = "livereload-2.6.1-py2.py3-none-any.whl", hash = "sha256:78d55f2c268a8823ba499305dcac64e28ddeb9a92571e12d543cd304faf5817b"}, @@ -1638,11 +1696,11 @@ msgpack = [ {file = "msgpack-0.6.2.tar.gz", hash = "sha256:ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830"}, ] nodeenv = [ - {file = "nodeenv-1.3.3.tar.gz", hash = "sha256:ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a"}, + {file = "nodeenv-1.3.4-py2.py3-none-any.whl", hash = "sha256:561057acd4ae3809e665a9aaaf214afff110bbb6a6d5c8a96121aea6878408b3"}, ] packaging = [ - {file = "packaging-19.2-py2.py3-none-any.whl", hash = "sha256:d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108"}, - {file = "packaging-19.2.tar.gz", hash = "sha256:28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47"}, + {file = "packaging-20.0-py2.py3-none-any.whl", hash = "sha256:aec3fdbb8bc9e4bb65f0634b9f551ced63983a529d6a8931817d52fdd0816ddb"}, + {file = "packaging-20.0.tar.gz", hash = "sha256:fe1d8331dfa7cc0a883b49d75fc76380b2ab2734b220fbb87d774e4fd4b851f8"}, ] pastel = [ {file = "pastel-0.1.1-py2.py3-none-any.whl", hash = "sha256:a904e1659512cc9880a028f66de77cc813a4c32f7ceb68725cbc8afad57ef7ef"}, @@ -1653,7 +1711,8 @@ pathlib2 = [ {file = "pathlib2-2.3.5.tar.gz", hash = "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"}, ] pathspec = [ - {file = "pathspec-0.6.0.tar.gz", hash = "sha256:e285ccc8b0785beadd4c18e5708b12bb8fcf529a1e61215b3feff1d1e559ea5c"}, + {file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"}, + {file = "pathspec-0.7.0.tar.gz", hash = "sha256:562aa70af2e0d434367d9790ad37aed893de47f1693e4201fd1d3dca15d19b96"}, ] pep562 = [ {file = "pep562-1.0-py2.py3-none-any.whl", hash = "sha256:d2a48b178ebf5f8dd31709cc26a19808ef794561fa2fe50ea01ea2bad4d667ef"}, @@ -1674,16 +1733,16 @@ pluggy = [ pre-commit = [ {file = "pre_commit-1.18.3-py2.py3-none-any.whl", hash = "sha256:fa78ff96e8e9ac94c748388597693f18b041a181c94a4f039ad20f45287ba44a"}, {file = "pre_commit-1.18.3.tar.gz", hash = "sha256:1d3c0587bda7c4e537a46c27f2c84aa006acc18facf9970bf947df596ce91f3f"}, - {file = "pre_commit-1.20.0-py2.py3-none-any.whl", hash = "sha256:c2e4810d2d3102d354947907514a78c5d30424d299dc0fe48f5aa049826e9b50"}, - {file = "pre_commit-1.20.0.tar.gz", hash = "sha256:9f152687127ec90642a2cc3e4d9e1e6240c4eb153615cb02aa1ad41d331cbb6e"}, + {file = "pre_commit-1.21.0-py2.py3-none-any.whl", hash = "sha256:f92a359477f3252452ae2e8d3029de77aec59415c16ae4189bcfba40b757e029"}, + {file = "pre_commit-1.21.0.tar.gz", hash = "sha256:8f48d8637bdae6fa70cc97db9c1dd5aa7c5c8bf71968932a380628c25978b850"}, ] ptyprocess = [ {file = "ptyprocess-0.6.0-py2.py3-none-any.whl", hash = "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"}, {file = "ptyprocess-0.6.0.tar.gz", hash = "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"}, ] py = [ - {file = "py-1.8.0-py2.py3-none-any.whl", hash = "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa"}, - {file = "py-1.8.0.tar.gz", hash = "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"}, + {file = "py-1.8.1-py2.py3-none-any.whl", hash = "sha256:c20fdd83a5dbc0af9efd622bee9a5564e278f6380fffcacc43ba6f43db2813b0"}, + {file = "py-1.8.1.tar.gz", hash = "sha256:5e27081401262157467ad6e7f851b7aa402c5852dbcb3dae06768434de5752aa"}, ] pycparser = [ {file = "pycparser-2.19.tar.gz", hash = "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"}, @@ -1705,19 +1764,19 @@ pylev = [ pymdown-extensions = [ {file = "pymdown-extensions-6.0.tar.gz", hash = "sha256:6cf0cf36b5a03b291ace22dc2f320f4789ce56fbdb6635a3be5fadbf5d7694dd"}, {file = "pymdown_extensions-6.0-py2.py3-none-any.whl", hash = "sha256:25b0a7967fa697b5035e23340a48594e3e93acb10b06d74574218ace3347d1df"}, - {file = "pymdown-extensions-6.2.tar.gz", hash = "sha256:27953f071d37b63d418738f75d847d824c0e4430e93f085cfdd9f8dc08a8c5c3"}, - {file = "pymdown_extensions-6.2-py2.py3-none-any.whl", hash = "sha256:328b9e114925729e0789558a94325be8e7ca9e0323ed2a2b705d9bc1de4d2716"}, + {file = "pymdown-extensions-6.2.1.tar.gz", hash = "sha256:3bbe6048275f8a0d13a0fe44e0ea201e67268aa7bb40c2544eef16abbf168f7b"}, + {file = "pymdown_extensions-6.2.1-py2.py3-none-any.whl", hash = "sha256:dce5e17b93be0572322b7d06c9a13c13a9d98694d6468277911d50ca87d26f29"}, ] pyparsing = [ - {file = "pyparsing-2.4.5-py2.py3-none-any.whl", hash = "sha256:20f995ecd72f2a1f4bf6b072b63b22e2eb457836601e76d6e5dfcd75436acc1f"}, - {file = "pyparsing-2.4.5.tar.gz", hash = "sha256:4ca62001be367f01bd3e92ecbb79070272a9d4964dce6a48a82ff0b8bc7e683a"}, + {file = "pyparsing-2.4.6-py2.py3-none-any.whl", hash = "sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"}, + {file = "pyparsing-2.4.6.tar.gz", hash = "sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f"}, ] pyrsistent = [ {file = "pyrsistent-0.14.11.tar.gz", hash = "sha256:3ca82748918eb65e2d89f222b702277099aca77e34843c5eb9d52451173970e2"}, ] pytest = [ - {file = "pytest-4.6.7-py2.py3-none-any.whl", hash = "sha256:65e92898fb5b61d0a1d7319c3e6dcf97e599e331cfdc2b27f20c0d87ece19239"}, - {file = "pytest-4.6.7.tar.gz", hash = "sha256:9ea149066f566c943d3122f4b1cf1b577cab73189d11f490b54703fa5fa9df50"}, + {file = "pytest-4.6.9-py2.py3-none-any.whl", hash = "sha256:c77a5f30a90e0ce24db9eaa14ddfd38d4afb5ea159309bdd2dae55b931bc9324"}, + {file = "pytest-4.6.9.tar.gz", hash = "sha256:19e8f75eac01dd3f211edd465b39efbcbdc8fc5f7866d7dd49fedb30d8adf339"}, ] pytest-cov = [ {file = "pytest-cov-2.8.1.tar.gz", hash = "sha256:cc6742d8bac45070217169f5f72ceee1e0e55b0221f54bcf24845972d3a47f2b"}, @@ -1747,19 +1806,40 @@ pyyaml = [ {file = "PyYAML-5.2-cp38-cp38-win32.whl", hash = "sha256:8100c896ecb361794d8bfdb9c11fce618c7cf83d624d73d5ab38aef3bc82d43f"}, {file = "PyYAML-5.2-cp38-cp38-win_amd64.whl", hash = "sha256:2e9f0b7c5914367b0916c3c104a024bb68f269a486b9d04a2e8ac6f6597b7803"}, {file = "PyYAML-5.2.tar.gz", hash = "sha256:c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c"}, + {file = "PyYAML-5.3-cp27-cp27m-win32.whl", hash = "sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d"}, + {file = "PyYAML-5.3-cp27-cp27m-win_amd64.whl", hash = "sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6"}, + {file = "PyYAML-5.3-cp35-cp35m-win32.whl", hash = "sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e"}, + {file = "PyYAML-5.3-cp35-cp35m-win_amd64.whl", hash = "sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689"}, + {file = "PyYAML-5.3-cp36-cp36m-win32.whl", hash = "sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994"}, + {file = "PyYAML-5.3-cp36-cp36m-win_amd64.whl", hash = "sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e"}, + {file = "PyYAML-5.3-cp37-cp37m-win32.whl", hash = "sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5"}, + {file = "PyYAML-5.3-cp37-cp37m-win_amd64.whl", hash = "sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf"}, + {file = "PyYAML-5.3-cp38-cp38-win32.whl", hash = "sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811"}, + {file = "PyYAML-5.3-cp38-cp38-win_amd64.whl", hash = "sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20"}, + {file = "PyYAML-5.3.tar.gz", hash = "sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615"}, ] regex = [ - {file = "regex-2019.12.9-cp27-none-win32.whl", hash = "sha256:40b7d1291a56897927e08bb973f8c186c2feb14c7f708bfe7aaee09483e85a20"}, - {file = "regex-2019.12.9-cp27-none-win_amd64.whl", hash = "sha256:c203c9ee755e9656d0af8fab82754d5a664ebaf707b3f883c7eff6a3dd5151cf"}, - {file = "regex-2019.12.9-cp35-none-win32.whl", hash = "sha256:719978a9145d59fc78509ea1d1bb74243f93583ef2a34dcc5623cf8118ae9726"}, - {file = "regex-2019.12.9-cp35-none-win_amd64.whl", hash = "sha256:75cf3796f89f75f83207a5c6a6e14eaf57e0369ef0ffff8e22bf36bbcfa0f1de"}, - {file = "regex-2019.12.9-cp36-none-win32.whl", hash = "sha256:3dbd8333fd2ebd50977ac8747385a73aa1f546eb6b16fcd83d274470fe11f243"}, - {file = "regex-2019.12.9-cp36-none-win_amd64.whl", hash = "sha256:ad9e3c7260809c0d1ded100269f78ea0217c0704f1eaaf40a382008461848b45"}, - {file = "regex-2019.12.9-cp37-none-win32.whl", hash = "sha256:91235c98283d2bddf1a588f0fbc2da8afa37959294bbd18b76297bdf316ba4d6"}, - {file = "regex-2019.12.9-cp37-none-win_amd64.whl", hash = "sha256:aaffd68c4c1ed891366d5c390081f4bf6337595e76a157baf453603d8e53fbcb"}, - {file = "regex-2019.12.9-cp38-none-win32.whl", hash = "sha256:e865bc508e316a3a09d36c8621596e6599a203bc54f1cd41020a127ccdac468a"}, - {file = "regex-2019.12.9-cp38-none-win_amd64.whl", hash = "sha256:77396cf80be8b2a35db863cca4c1a902d88ceeb183adab328b81184e71a5eafe"}, - {file = "regex-2019.12.9.tar.gz", hash = "sha256:77a3799152951d6d14ae5720ca162c97c64f85d4755da585418eac216b736cad"}, + {file = "regex-2020.1.8-cp27-cp27m-win32.whl", hash = "sha256:4e8f02d3d72ca94efc8396f8036c0d3bcc812aefc28ec70f35bb888c74a25161"}, + {file = "regex-2020.1.8-cp27-cp27m-win_amd64.whl", hash = "sha256:e6c02171d62ed6972ca8631f6f34fa3281d51db8b326ee397b9c83093a6b7242"}, + {file = "regex-2020.1.8-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:4eae742636aec40cf7ab98171ab9400393360b97e8f9da67b1867a9ee0889b26"}, + {file = "regex-2020.1.8-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:bd25bb7980917e4e70ccccd7e3b5740614f1c408a642c245019cff9d7d1b6149"}, + {file = "regex-2020.1.8-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3e77409b678b21a056415da3a56abfd7c3ad03da71f3051bbcdb68cf44d3c34d"}, + {file = "regex-2020.1.8-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:07b39bf943d3d2fe63d46281d8504f8df0ff3fe4c57e13d1656737950e53e525"}, + {file = "regex-2020.1.8-cp36-cp36m-win32.whl", hash = "sha256:23e2c2c0ff50f44877f64780b815b8fd2e003cda9ce817a7fd00dea5600c84a0"}, + {file = "regex-2020.1.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27429b8d74ba683484a06b260b7bb00f312e7c757792628ea251afdbf1434003"}, + {file = "regex-2020.1.8-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0e182d2f097ea8549a249040922fa2b92ae28be4be4895933e369a525ba36576"}, + {file = "regex-2020.1.8-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e3cd21cc2840ca67de0bbe4071f79f031c81418deb544ceda93ad75ca1ee9f7b"}, + {file = "regex-2020.1.8-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:ecc6de77df3ef68fee966bb8cb4e067e84d4d1f397d0ef6fce46913663540d77"}, + {file = "regex-2020.1.8-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:26ff99c980f53b3191d8931b199b29d6787c059f2e029b2b0c694343b1708c35"}, + {file = "regex-2020.1.8-cp37-cp37m-win32.whl", hash = "sha256:7bcd322935377abcc79bfe5b63c44abd0b29387f267791d566bbb566edfdd146"}, + {file = "regex-2020.1.8-cp37-cp37m-win_amd64.whl", hash = "sha256:10671601ee06cf4dc1bc0b4805309040bb34c9af423c12c379c83d7895622bb5"}, + {file = "regex-2020.1.8-cp38-cp38-manylinux1_i686.whl", hash = "sha256:98b8ed7bb2155e2cbb8b76f627b2fd12cf4b22ab6e14873e8641f266e0fb6d8f"}, + {file = "regex-2020.1.8-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6a6ba91b94427cd49cd27764679024b14a96874e0dc638ae6bdd4b1a3ce97be1"}, + {file = "regex-2020.1.8-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:6a6ae17bf8f2d82d1e8858a47757ce389b880083c4ff2498dba17c56e6c103b9"}, + {file = "regex-2020.1.8-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:0932941cdfb3afcbc26cc3bcf7c3f3d73d5a9b9c56955d432dbf8bbc147d4c5b"}, + {file = "regex-2020.1.8-cp38-cp38-win32.whl", hash = "sha256:d58e4606da2a41659c84baeb3cfa2e4c87a74cec89a1e7c56bee4b956f9d7461"}, + {file = "regex-2020.1.8-cp38-cp38-win_amd64.whl", hash = "sha256:e7c7661f7276507bce416eaae22040fd91ca471b5b33c13f8ff21137ed6f248c"}, + {file = "regex-2020.1.8.tar.gz", hash = "sha256:d0f424328f9822b0323b3b6f2e4b9c90960b24743d220763c7f07071e0778351"}, ] requests = [ {file = "requests-2.21.0-py2.py3-none-any.whl", hash = "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"}, @@ -1786,8 +1866,8 @@ scandir = [ ] secretstorage = [ {file = "SecretStorage-2.3.1.tar.gz", hash = "sha256:3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6"}, - {file = "SecretStorage-3.1.1-py3-none-any.whl", hash = "sha256:7a119fb52a88e398dbb22a4b3eb39b779bfbace7e4153b7bc6e5954d86282a8a"}, - {file = "SecretStorage-3.1.1.tar.gz", hash = "sha256:20c797ae48a4419f66f8d28fc221623f11fc45b6828f96bdb1ad9990acb59f92"}, + {file = "SecretStorage-3.1.2-py3-none-any.whl", hash = "sha256:b5ec909dde94d4ae2fa26af7c089036997030f0cf0a5cb372b4cccabd81c143b"}, + {file = "SecretStorage-3.1.2.tar.gz", hash = "sha256:15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6"}, ] shellingham = [ {file = "shellingham-1.3.1-py2.py3-none-any.whl", hash = "sha256:77d37a4fd287c1e663006f7ecf1b9deca9ad492d0082587bd813c44eb49e4e62"}, @@ -1830,10 +1910,10 @@ tornado = [ {file = "tornado-6.0.3.tar.gz", hash = "sha256:c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9"}, ] tox = [ - {file = "tox-3.14.0-py2.py3-none-any.whl", hash = "sha256:0bc216b6a2e6afe764476b4a07edf2c1dab99ed82bb146a1130b2e828f5bff5e"}, - {file = "tox-3.14.0.tar.gz", hash = "sha256:c4f6b319c20ba4913dbfe71ebfd14ff95d1853c4231493608182f66e566ecfe1"}, - {file = "tox-3.14.1-py2.py3-none-any.whl", hash = "sha256:1d1368ac86e8332f79e2bcef9fefe2b077469f08449eadf0183759b34f3b2070"}, - {file = "tox-3.14.1.tar.gz", hash = "sha256:bcfa3e40abc1e9b70607b56adfd976fe7dc8286ad56aab44e3151daca7d2d0d0"}, + {file = "tox-3.12.1-py2.py3-none-any.whl", hash = "sha256:f5c8e446b51edd2ea97df31d4ded8c8b72e7d6c619519da6bb6084b9dd5770f9"}, + {file = "tox-3.12.1.tar.gz", hash = "sha256:f87fd33892a2df0950e5e034def9468988b8d008c7e9416be665fcc0dd45b14f"}, + {file = "tox-3.14.3-py2.py3-none-any.whl", hash = "sha256:806d0a9217584558cc93747a945a9d9bff10b141a5287f0c8429a08828a22192"}, + {file = "tox-3.14.3.tar.gz", hash = "sha256:06ba73b149bf838d5cd25dc30c2dd2671ae5b2757cf98e5c41a35fe449f131b3"}, ] typed-ast = [ {file = "typed_ast-1.4.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:262c247a82d005e43b5b7f69aff746370538e176131c32dda9cb0f324d27141e"}, @@ -1869,12 +1949,12 @@ urllib3 = [ {file = "urllib3-1.25.7.tar.gz", hash = "sha256:f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"}, ] virtualenv = [ - {file = "virtualenv-16.7.8-py2.py3-none-any.whl", hash = "sha256:b57776b44f91511866594e477dd10e76a6eb44439cdd7f06dcd30ba4c5bd854f"}, - {file = "virtualenv-16.7.8.tar.gz", hash = "sha256:116655188441670978117d0ebb6451eb6a7526f9ae0796cc0dee6bd7356909b0"}, + {file = "virtualenv-16.7.9-py2.py3-none-any.whl", hash = "sha256:55059a7a676e4e19498f1aad09b8313a38fcc0cdbe4fdddc0e9b06946d21b4bb"}, + {file = "virtualenv-16.7.9.tar.gz", hash = "sha256:0d62c70883c0342d59c11d0ddac0d954d0431321a41ab20851facf2b222598f3"}, ] wcwidth = [ - {file = "wcwidth-0.1.7-py2.py3-none-any.whl", hash = "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c"}, - {file = "wcwidth-0.1.7.tar.gz", hash = "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e"}, + {file = "wcwidth-0.1.8-py2.py3-none-any.whl", hash = "sha256:8fd29383f539be45b20bd4df0dc29c20ba48654a41e661925e612311e9f3c603"}, + {file = "wcwidth-0.1.8.tar.gz", hash = "sha256:f28b3e8a6483e5d49e7f8949ac1a78314e740333ae305b4ba5defd3e74fb37a8"}, ] webencodings = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, diff --git a/pkgs/development/tools/poetry/pyproject.toml b/pkgs/development/tools/poetry/pyproject.toml index 2aea5026835e..9a8b8f8fc5ef 100644 --- a/pkgs/development/tools/poetry/pyproject.toml +++ b/pkgs/development/tools/poetry/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "poetry" -version = "1.0.0" +version = "1.0.1" description = "Python dependency management and packaging made easy." authors = [ "Sébastien Eustace " @@ -46,16 +46,16 @@ pathlib2 = { version = "^2.3", python = "~2.7 || ~3.4" } # Use glob2 for Python 2.7 and 3.4 glob2 = { version = "^0.6", python = "~2.7 || ~3.4" } # Use virtualenv for Python 2.7 since venv does not exist -virtualenv = { version = "^16.0", python = "~2.7" } +virtualenv = { version = "^16.7.9", python = "~2.7" } # functools32 is needed for Python 2.7 functools32 = { version = "^3.2.3", python = "~2.7" } keyring = [ - { version = "^18.0", python = "~2.7 || ~3.4" }, - { version = "^19.0", python = "^3.5" } + { version = "^18.0.1", python = "~2.7 || ~3.4" }, + { version = "^20.0.1", python = "^3.5" } ] # Use subprocess32 for Python 2.7 and 3.4 subprocess32 = { version = "^3.5", python = "~2.7 || ~3.4" } -importlib-metadata = {version = "^0.23", python = "<3.8"} +importlib-metadata = {version = "~1.1.3", python = "<3.8"} [tool.poetry.dev-dependencies] pytest = "^4.1" diff --git a/pkgs/development/tools/poetry/src.json b/pkgs/development/tools/poetry/src.json new file mode 100644 index 000000000000..38677e0e1714 --- /dev/null +++ b/pkgs/development/tools/poetry/src.json @@ -0,0 +1,6 @@ +{ + "owner": "python-poetry", + "repo": "poetry", + "rev": "01ec4a1636df09f99a6e52b9ac76ec378f929c28", + "sha256": "01s3kickc3pdp5gbj9m4r80cxdwr0xgdgpp00l93mxj3pbxwnl6d" +} \ No newline at end of file diff --git a/pkgs/development/tools/poetry/update b/pkgs/development/tools/poetry/update new file mode 100755 index 000000000000..68a60b8c874d --- /dev/null +++ b/pkgs/development/tools/poetry/update @@ -0,0 +1,9 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p curl nix-prefetch-github + +rev=$(curl -s https://api.github.com/repos/python-poetry/poetry/releases/latest | jq -r '.name') +nix-prefetch-github --rev "$rev" python-poetry poetry > src.json + +src=$(nix-build --expr 'with import ../../../../. {}; fetchFromGitHub (lib.importJSON ./src.json)') +cp $src/pyproject.toml $src/poetry.lock . +nix-build --show-trace --no-out-link ../../../../. -A poetry From 47ddee700f5f4c856d64542d9b5f32dd90e7b967 Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Fri, 10 Jan 2020 14:50:09 +0100 Subject: [PATCH 35/50] haskellPackages.ormolu: fix overrides so it builds --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 7b06628dbc7e..91e7e37825b7 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1361,4 +1361,8 @@ self: super: { # https://github.com/haskell-servant/servant-ekg/issues/15 servant-ekg = doJailbreak super.servant-ekg; + # Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0) + ormolu = doJailbreak (super.ormolu.override { + ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; + }); } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super From 9e808578c419ac769556fb1e166db35f2cfb33e7 Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Fri, 10 Jan 2020 14:51:26 +0100 Subject: [PATCH 36/50] haskellPackages.ormolu: mark unbroken Builds fine with 6b5bb4261c6dacbe65d348376c416c75ddafaebd --- pkgs/development/haskell-modules/configuration-hackage2nix.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml index ef6eada4c2d6..0ba56de13f12 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml @@ -7731,7 +7731,6 @@ broken-packages: - orgstat - origami - orizentic - - ormolu - OrPatterns - osc - oscpacking From 092107cdc11f83ab7f2cd2e7302142f661cea2d4 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Fri, 10 Jan 2020 16:02:36 +0100 Subject: [PATCH 37/50] lib/tests: Fix module tests Fix the broken test in https://github.com/NixOS/nixpkgs/pull/77416 Apparently hydra uses `nix-build lib/tests/release.nix` to run all tests, where IFD isn't allowed. Fortunately we can get around this with builtins.toFile, which doesn't require IFD, but still can test the properties we want. --- lib/tests/modules/import-from-store.nix | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/tests/modules/import-from-store.nix b/lib/tests/modules/import-from-store.nix index 64e7ec2e388c..f5af22432ce1 100644 --- a/lib/tests/modules/import-from-store.nix +++ b/lib/tests/modules/import-from-store.nix @@ -1,17 +1,11 @@ { lib, ... }: -let - drv = derivation { - name = "derivation"; - system = builtins.currentSystem; - builder = "/bin/sh"; - args = [ "-c" "echo {} > $out" ]; - }; -in { +{ imports = [ - "${drv}" + "${builtins.toFile "drv" "{}"}" ./declare-enable.nix ./define-enable.nix ]; } + From 130a0c987830c0a6f61b21765fcab27b883b2263 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 12 Oct 2019 19:32:59 +0200 Subject: [PATCH 38/50] lib/modules: Move the isDefined check into mergedValue Without this change, accessing `mergedValue` from `mergeDefinitions` in case there are no definitions will throw an error like error: evaluation aborted with the following error message: 'This case should never happen.' This change makes it throw the appropriate error error: The option `foo' is used but not defined. This is fully backwards compatible. --- lib/modules.nix | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index 559697b3d57e..228cde002db9 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -365,16 +365,9 @@ rec { else mergeDefinitions loc opt.type defs'; - - # The value with a check that it is defined - valueDefined = if res.isDefined then res.mergedValue else - # (nixos-option detects this specific error message and gives it special - # handling. If changed here, please change it there too.) - throw "The option `${showOption loc}' is used but not defined."; - # Apply the 'apply' function to the merged value. This allows options to # yield a value computed from the definitions - value = if opt ? apply then opt.apply valueDefined else valueDefined; + value = if opt ? apply then opt.apply res.mergedValue else res.mergedValue; in opt // { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value; @@ -408,11 +401,17 @@ rec { }; defsFinal = defsFinal'.values; - # Type-check the remaining definitions, and merge them. - mergedValue = foldl' (res: def: - if type.check def.value then res - else throw "The option value `${showOption loc}' in `${def.file}' is not of type `${type.description}'.") - (type.merge loc defsFinal) defsFinal; + # Type-check the remaining definitions, and merge them. Or throw if no definitions. + mergedValue = + if isDefined then + foldl' (res: def: + if type.check def.value then res + else throw "The option value `${showOption loc}' in `${def.file}' is not of type `${type.description}'." + ) (type.merge loc defsFinal) defsFinal + else + # (nixos-option detects this specific error message and gives it special + # handling. If changed here, please change it there too.) + throw "The option `${showOption loc}' is used but not defined."; isDefined = defsFinal != []; From d5a292264121e3a3e4015a1d7fb8ccb0bb985ab7 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Mon, 14 Oct 2019 17:42:13 +0200 Subject: [PATCH 39/50] nixos/doc: Note that attrsOf is strict in its values --- nixos/doc/manual/development/option-types.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index 1ec7e3efad71..e4f8396a4bdc 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -352,6 +352,11 @@ An attribute set of where all the values are of t type. Multiple definitions result in the joined attribute set. + + This type is strict in its values, which in turn + means attributes cannot depend on other attributes. See + types.lazyAttrsOf for a lazy version. + From 4268b4f9cffc46482ece4a8e0128b8ef09ea6db2 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Fri, 13 Dec 2019 01:12:41 +0100 Subject: [PATCH 40/50] lib/types: Add emptyValue attribute to types Co-Authored-By: Robert Hensing --- lib/types.nix | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/types.nix b/lib/types.nix index 4872a6766571..f406cb9204b7 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -65,6 +65,11 @@ rec { # definition values and locations (e.g. [ { file = "/foo.nix"; # value = 1; } { file = "/bar.nix"; value = 2 } ]). merge ? mergeDefaultOption + , # Whether this type has a value representing nothingness. If it does, + # this should be a value of the form { value = ; } + # If it doesn't, this should be {} + # This may be used when a value is required for `mkIf false`. This allows the extra laziness in e.g. `lazyAttrsOf`. + emptyValue ? {} , # Return a flat list of sub-options. Used to generate # documentation. getSubOptions ? prefix: {} @@ -88,7 +93,7 @@ rec { functor ? defaultFunctor name }: { _type = "option-type"; - inherit name check merge getSubOptions getSubModules substSubModules typeMerge functor; + inherit name check merge emptyValue getSubOptions getSubModules substSubModules typeMerge functor; description = if description == null then name else description; }; @@ -225,6 +230,7 @@ rec { description = "attribute set"; check = isAttrs; merge = loc: foldl' (res: def: mergeAttrs res def.value) {}; + emptyValue = { value = {}; }; }; # derivation is a reserved keyword. @@ -265,6 +271,7 @@ rec { ) def.value else throw "The option value `${showOption loc}` in `${def.file}` is not a list.") defs))); + emptyValue = { value = {}; }; getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["*"]); getSubModules = elemType.getSubModules; substSubModules = m: listOf (elemType.substSubModules m); @@ -273,7 +280,10 @@ rec { nonEmptyListOf = elemType: let list = addCheck (types.listOf elemType) (l: l != []); - in list // { description = "non-empty " + list.description; }; + in list // { + description = "non-empty " + list.description; + # Note: emptyValue is left as is, because another module may define an element. + }; attrsOf = elemType: mkOptionType rec { name = "attrsOf"; @@ -285,6 +295,7 @@ rec { ) # Push down position info. (map (def: mapAttrs (n: v: { inherit (def) file; value = v; }) def.value) defs))); + emptyValue = { value = {}; }; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); getSubModules = elemType.getSubModules; substSubModules = m: attrsOf (elemType.substSubModules m); @@ -339,6 +350,7 @@ rec { description = "list or attribute set of ${elemType.description}s"; check = x: isList x || isAttrs x; merge = loc: defs: attrOnly.merge loc (convertAllLists loc defs); + emptyValue = { value = {}; }; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); getSubModules = elemType.getSubModules; substSubModules = m: loaOf (elemType.substSubModules m); @@ -350,6 +362,7 @@ rec { name = "uniq"; inherit (elemType) description check; merge = mergeOneOption; + emptyValue = elemType.emptyValue; getSubOptions = elemType.getSubOptions; getSubModules = elemType.getSubModules; substSubModules = m: uniq (elemType.substSubModules m); @@ -367,6 +380,7 @@ rec { else if nrNulls != 0 then throw "The option `${showOption loc}` is defined both null and not null, in ${showFiles (getFiles defs)}." else elemType.merge loc defs; + emptyValue = { value = null; }; getSubOptions = elemType.getSubOptions; getSubModules = elemType.getSubModules; substSubModules = m: nullOr (elemType.substSubModules m); @@ -407,6 +421,7 @@ rec { args.name = last loc; prefix = loc; }).config; + emptyValue = { value = {}; }; getSubOptions = prefix: (evalModules { inherit modules prefix specialArgs; # This is a work-around due to the fact that some sub-modules, @@ -515,6 +530,7 @@ rec { if finalType.check val then val else coerceFunc val; in finalType.merge loc (map (def: def // { value = coerceVal def.value; }) defs); + emptyValue = finalType.emptyValue; getSubOptions = finalType.getSubOptions; getSubModules = finalType.getSubModules; substSubModules = m: coercedTo coercedType coerceFunc (finalType.substSubModules m); From b48717d1eb9d4d9d60f3460274e7d9a961a402df Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 12 Oct 2019 21:18:53 +0200 Subject: [PATCH 41/50] lib/types: Introduce lazyAttrsOf The standard attrsOf is strict in its *values*, meaning it's impossible to access only one attribute value without evaluating all others as well. lazyAttrsOf is a version that doesn't have that problem, at the expense of conditional definitions not properly working anymore. --- lib/types.nix | 24 ++++++++++++++++++ nixos/doc/manual/development/option-types.xml | 25 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/lib/types.nix b/lib/types.nix index f406cb9204b7..e86f6d364761 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -302,6 +302,30 @@ rec { functor = (defaultFunctor name) // { wrapped = elemType; }; }; + # A version of attrsOf that's lazy in its values at the expense of + # conditional definitions not working properly. E.g. defining a value with + # `foo.attr = mkIf false 10`, then `foo ? attr == true`, whereas with + # attrsOf it would correctly be `false`. Accessing `foo.attr` would throw an + # error that it's not defined. Use only if conditional definitions don't make sense. + lazyAttrsOf = elemType: mkOptionType rec { + name = "lazyAttrsOf"; + description = "lazy attribute set of ${elemType.description}s"; + check = isAttrs; + merge = loc: defs: + zipAttrsWith (name: defs: + let merged = mergeDefinitions (loc ++ [name]) elemType defs; + # mergedValue will trigger an appropriate error when accessed + in merged.optionalValue.value or elemType.emptyValue.value or merged.mergedValue + ) + # Push down position info. + (map (def: mapAttrs (n: v: { inherit (def) file; value = v; }) def.value) defs); + emptyValue = { value = {}; }; + getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); + getSubModules = elemType.getSubModules; + substSubModules = m: lazyAttrsOf (elemType.substSubModules m); + functor = (defaultFunctor name) // { wrapped = elemType; }; + }; + # List or attribute set of ... loaOf = elemType: let diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index e4f8396a4bdc..55d9c123e3f1 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -360,6 +360,31 @@ + + + types.lazyAttrsOf t + + + + An attribute set of where all the values are of + t type. Multiple definitions result in the + joined attribute set. This is the lazy version of types.attrsOf + , allowing attributes to depend on each other. + + This version does not fully support conditional definitions! With an + option foo of this type and a definition + foo.attr = lib.mkIf false 10, evaluating + foo ? attr will return true + even though it should be false. Accessing the value will then throw + an error. For types t that have an + emptyValue defined, that value will be returned + instead of throwing an error. So if the type of foo.attr + was lazyAttrsOf (nullOr int), null + would be returned instead for the same mkIf false definition. + + + + types.loaOf t From ab10e874141503cee57a4e4e92d4e3c31be2a2a3 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 12 Oct 2019 20:37:21 +0200 Subject: [PATCH 42/50] lib/tests: Add tests for attrsOf and lazyAttrsOf --- lib/tests/modules.sh | 9 +++++++++ lib/tests/modules/attrsOf-conditional-check.nix | 7 +++++++ lib/tests/modules/attrsOf-lazy-check.nix | 7 +++++++ lib/tests/modules/declare-attrsOf.nix | 6 ++++++ lib/tests/modules/declare-lazyAttrsOf.nix | 6 ++++++ 5 files changed, 35 insertions(+) create mode 100644 lib/tests/modules/attrsOf-conditional-check.nix create mode 100644 lib/tests/modules/attrsOf-lazy-check.nix create mode 100644 lib/tests/modules/declare-attrsOf.nix create mode 100644 lib/tests/modules/declare-lazyAttrsOf.nix diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 79d90670fb53..c8340ff7f157 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -186,6 +186,15 @@ checkConfigError 'The option .* defined in .* does not exist' config.enable ./di # Check that imports can depend on derivations checkConfigOutput "true" config.enable ./import-from-store.nix +# Check attrsOf and lazyAttrsOf. Only lazyAttrsOf should be lazy, and only +# attrsOf should work with conditional definitions +# In addition, lazyAttrsOf should honor an options emptyValue +checkConfigError "is not lazy" config.isLazy ./declare-attrsOf.nix ./attrsOf-lazy-check.nix +checkConfigOutput "true" config.isLazy ./declare-lazyAttrsOf.nix ./attrsOf-lazy-check.nix +checkConfigOutput "true" config.conditionalWorks ./declare-attrsOf.nix ./attrsOf-conditional-check.nix +checkConfigOutput "false" config.conditionalWorks ./declare-lazyAttrsOf.nix ./attrsOf-conditional-check.nix +checkConfigOutput "empty" config.value.foo ./declare-lazyAttrsOf.nix ./attrsOf-conditional-check.nix + cat < Date: Thu, 3 Oct 2019 00:12:47 +0200 Subject: [PATCH 43/50] lib/modules: Switch _module.args from attrsOf to lazyAttrsOf --- lib/modules.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/modules.nix b/lib/modules.nix index 228cde002db9..e2315290ff0d 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -41,7 +41,13 @@ rec { options = { _module.args = mkOption { - type = types.attrsOf types.unspecified; + # Because things like `mkIf` are entirely useless for + # `_module.args` (because there's no way modules can check which + # arguments were passed), we'll use `lazyAttrsOf` which drops + # support for that, in turn it's lazy in its values. This means e.g. + # a `_module.args.pkgs = import (fetchTarball { ... }) {}` won't + # start a download when `pkgs` wasn't evaluated. + type = types.lazyAttrsOf types.unspecified; internal = true; description = "Arguments passed to each module."; }; From ffd68f21e86021ac2b53cbe7f7de4a5440c77941 Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Sat, 11 Jan 2020 00:27:30 +0900 Subject: [PATCH 44/50] go_1_12, go_1_13: skip TestExtraFiles on 32-bit arm (#76944) The test is known to be flaky in some environments, and I'm seeing it consistently in an armv7l-linux vm. --- pkgs/development/compilers/go/1.12.nix | 5 ++++- pkgs/development/compilers/go/1.13.nix | 5 ++++- .../go/skip-test-extra-files-on-aarch32.patch | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/compilers/go/skip-test-extra-files-on-aarch32.patch diff --git a/pkgs/development/compilers/go/1.12.nix b/pkgs/development/compilers/go/1.12.nix index b3b66fde2a15..c8ecdbf518fe 100644 --- a/pkgs/development/compilers/go/1.12.nix +++ b/pkgs/development/compilers/go/1.12.nix @@ -141,8 +141,11 @@ stdenv.mkDerivation rec { ./go-1.9-skip-flaky-20072.patch ./skip-external-network-tests.patch ./skip-nohup-tests.patch + ] ++ [ # breaks under load: https://github.com/golang/go/issues/25628 - ./skip-test-extra-files-on-386.patch + (if stdenv.isAarch32 + then ./skip-test-extra-files-on-aarch32.patch + else ./skip-test-extra-files-on-386.patch) ]; postPatch = '' diff --git a/pkgs/development/compilers/go/1.13.nix b/pkgs/development/compilers/go/1.13.nix index 6b7c99c07436..9a748ea11730 100644 --- a/pkgs/development/compilers/go/1.13.nix +++ b/pkgs/development/compilers/go/1.13.nix @@ -138,8 +138,11 @@ stdenv.mkDerivation rec { ./go-1.9-skip-flaky-20072.patch ./skip-external-network-tests.patch ./skip-nohup-tests.patch + ] ++ [ # breaks under load: https://github.com/golang/go/issues/25628 - ./skip-test-extra-files-on-386.patch + (if stdenv.isAarch32 + then ./skip-test-extra-files-on-aarch32.patch + else ./skip-test-extra-files-on-386.patch) ]; postPatch = '' diff --git a/pkgs/development/compilers/go/skip-test-extra-files-on-aarch32.patch b/pkgs/development/compilers/go/skip-test-extra-files-on-aarch32.patch new file mode 100644 index 000000000000..f3566b3ddaa2 --- /dev/null +++ b/pkgs/development/compilers/go/skip-test-extra-files-on-aarch32.patch @@ -0,0 +1,15 @@ +diff --git a/src/os/exec/exec_test.go b/src/os/exec/exec_test.go +index 558345ff63..22129bf022 100644 +--- a/src/os/exec/exec_test.go ++++ b/src/os/exec/exec_test.go +@@ -593,6 +593,10 @@ func TestExtraFiles(t *testing.T) { + t.Skipf("skipping test on %q", runtime.GOOS) + } + ++ if runtime.GOOS == "linux" && runtime.GOARCH == "arm" { ++ t.Skipf("skipping test on %q %q", runtime.GOARCH, runtime.GOOS) ++ } ++ + // Ensure that file descriptors have not already been leaked into + // our environment. + if !testedAlreadyLeaked { From c940155c61df347dca49f238c2f072a5b177915c Mon Sep 17 00:00:00 2001 From: adisbladis Date: Fri, 10 Jan 2020 16:02:05 +0000 Subject: [PATCH 45/50] poetry: 1.0.1 -> 1.0.2 --- pkgs/development/tools/poetry/pyproject.toml | 2 +- pkgs/development/tools/poetry/src.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/poetry/pyproject.toml b/pkgs/development/tools/poetry/pyproject.toml index 9a8b8f8fc5ef..283091dfbc12 100644 --- a/pkgs/development/tools/poetry/pyproject.toml +++ b/pkgs/development/tools/poetry/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "poetry" -version = "1.0.1" +version = "1.0.2" description = "Python dependency management and packaging made easy." authors = [ "Sébastien Eustace " diff --git a/pkgs/development/tools/poetry/src.json b/pkgs/development/tools/poetry/src.json index 38677e0e1714..6e4b26b152f6 100644 --- a/pkgs/development/tools/poetry/src.json +++ b/pkgs/development/tools/poetry/src.json @@ -1,6 +1,6 @@ { "owner": "python-poetry", "repo": "poetry", - "rev": "01ec4a1636df09f99a6e52b9ac76ec378f929c28", - "sha256": "01s3kickc3pdp5gbj9m4r80cxdwr0xgdgpp00l93mxj3pbxwnl6d" + "rev": "636ce8b0eba7dfa390b3fd961d1b9fb533d5d033", + "sha256": "0g562k09wjgl1r3412n0cvr870wmsz3l9gicdci1j6m8dh4w5856" } \ No newline at end of file From f703a3a04a657b569c0881326ffaffad31ac0bca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 10 Jan 2020 16:58:10 +0100 Subject: [PATCH 46/50] firefox-esr-60: mark as vulnerable The last release was in September, so it's surely "vulnerable" now. https://www.mozilla.org/en-US/firefox/60.9.0/releasenotes/ This is the same appproach we've taken for esr-52. --- pkgs/applications/networking/browsers/firefox/packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 0032e607ec82..7903a345e1fb 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -89,6 +89,7 @@ rec { meta = firefox.meta // { description = "A web browser built from Firefox Extended Support Release source tree"; + knownVulnerabilities = [ "Support ended around October 2019." ]; }; updateScript = callPackage ./update.nix { attrPath = "firefox-esr-60-unwrapped"; From 1b4ab8766828197b999625f213d5b0b0eecca12e Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 10 Jan 2020 17:01:59 +0100 Subject: [PATCH 47/50] nvme-cli: 1.9 -> 1.10.1 --- pkgs/os-specific/linux/nvme-cli/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/nvme-cli/default.nix b/pkgs/os-specific/linux/nvme-cli/default.nix index cb7f3c9510c5..d0aca3bbc827 100644 --- a/pkgs/os-specific/linux/nvme-cli/default.nix +++ b/pkgs/os-specific/linux/nvme-cli/default.nix @@ -1,16 +1,18 @@ -{ lib, stdenv, fetchFromGitHub }: +{ lib, stdenv, fetchFromGitHub, pkgconfig }: stdenv.mkDerivation rec { pname = "nvme-cli"; - version = "1.9"; + version = "1.10.1"; src = fetchFromGitHub { owner = "linux-nvme"; repo = "nvme-cli"; rev = "v${version}"; - sha256 = "08x0x7nq8v7gr8a4lrrhclkz6n8fxlhhizxl2nz56w1xmfghcnfv"; + sha256 = "12wp2wxmsw2v8m9bhvwvdbhdgx1md8iilhbl19sfzz2araiwi2x8"; }; + nativeBuildInputs = [ pkgconfig ]; + makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; # To omit the hostnqn and hostid files that are impure and should be unique From d494bfcaf338f5e4ffcbcd2a41f8d433aabab415 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 10 Jan 2020 17:29:34 +0100 Subject: [PATCH 48/50] androidStudioPackages.{dev,canary}: 4.0.0.7 -> 4.0.0.8 Unfortunately this update seems to require some manual changes, at least in my case. But fortunately the IDE explains the required changes: 4:45 PM Gradle sync failed: Minimum supported Gradle version is 6.1-rc-1. Current version is 6.1-milestone-2. If using the gradle wrapper, try editing the distributionUrl in /home/michael/workspace/as40test/gradle/wrapper/gradle-wrapper.properties to gradle-6.1-rc-1-all.zip Consult IDE log for more details (Help | Show Log) (21 s 544 ms) --- pkgs/applications/editors/android-studio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index cee616410418..219c13f241cb 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -18,9 +18,9 @@ let sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q"; }; latestVersion = { # canary & dev - version = "4.0.0.7"; # "Android Studio 4.0 Canary 7" - build = "193.6085562"; - sha256Hash = "0vk1vwh2yhsmadkb3v3m042ckzizc41ckqvj3jax8p86gl0b4whj"; + version = "4.0.0.8"; # "Android Studio 4.0 Canary 8" + build = "193.6107147"; + sha256Hash = "0bdibjp52jjlyh0966p9657xxmz1z7vi262v6ss4ywpb7gpaj9qq"; }; in { # Attributes are named by their corresponding release channels From b333f39de7e04e1029cd0fc61d9044751e3b1885 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 10 Jan 2020 17:32:45 +0100 Subject: [PATCH 49/50] gns3-{gui,server}: 2.2.3 -> 2.2.5 --- pkgs/applications/networking/gns3/default.nix | 6 +++--- pkgs/applications/networking/gns3/gui.nix | 7 +++++++ pkgs/applications/networking/gns3/server.nix | 9 +++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index 1e6a0fd5b7f5..71044bd0f181 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -1,7 +1,7 @@ { callPackage }: let - stableVersion = "2.2.3"; + stableVersion = "2.2.5"; previewVersion = stableVersion; addVersion = args: let version = if args.stable then stableVersion else previewVersion; @@ -9,8 +9,8 @@ let in args // { inherit version branch; }; mkGui = args: callPackage (import ./gui.nix (addVersion args)) { }; mkServer = args: callPackage (import ./server.nix (addVersion args)) { }; - guiSrcHash = "1l40q3d3hsmhgwb4d8hj73vhgckm0dvsc6l6qzacypd202iq1v8a"; - serverSrcHash = "1qcypb1rmfdl8fl3ykqf5phcapmjid6jrxd6xpncd5dhyl2hr94n"; + guiSrcHash = "1yxwbz93x9hn5y6dir8v7bdfsmfgppvjg4z88l8gx82hhf2476fx"; + serverSrcHash = "1d3m8qrz82g8ii6q6j015wqwp6j0415fbqbjvw43zhdx5mnn962d"; in { guiStable = mkGui { stable = true; diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix index 7c155181c502..d978b060aab2 100644 --- a/pkgs/applications/networking/gns3/gui.nix +++ b/pkgs/applications/networking/gns3/gui.nix @@ -5,6 +5,13 @@ let python = python3.override { packageOverrides = self: super: { + psutil = super.psutil.overridePythonAttrs (oldAttrs: rec { + version = "5.6.3"; + src = oldAttrs.src.override { + inherit version; + sha256 = "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6"; + }; + }); jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec { version = "2.6.0"; src = oldAttrs.src.override { diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix index db2e085c180d..d6c6b65846c9 100644 --- a/pkgs/applications/networking/gns3/server.nix +++ b/pkgs/applications/networking/gns3/server.nix @@ -5,6 +5,13 @@ let python = python3.override { packageOverrides = self: super: { + psutil = super.psutil.overridePythonAttrs (oldAttrs: rec { + version = "5.6.3"; + src = oldAttrs.src.override { + inherit version; + sha256 = "1wv31zly44qj0rp2acg58xbnc7bf6ffyadasq093l455q30qafl6"; + }; + }); jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec { version = "2.6.0"; src = oldAttrs.src.override { @@ -28,6 +35,8 @@ in python.pkgs.buildPythonPackage { postPatch = '' # Only 2.x is problematic: sed -iE "s/prompt-toolkit==1.0.15/prompt-toolkit<2.0.0/" requirements.txt + # yarl 1.4+ only requires Python 3.6+ + sed -iE "s/yarl==1.3.0//" requirements.txt ''; propagatedBuildInputs = with python.pkgs; [ From e2e90a0e6422b143d6d6a9539280eded7306126d Mon Sep 17 00:00:00 2001 From: ivann Date: Thu, 9 Jan 2020 22:40:39 +0100 Subject: [PATCH 50/50] vimPlugins.defx-git: init at 2019-12-25 --- pkgs/misc/vim-plugins/generated.nix | 11 +++++++++++ pkgs/misc/vim-plugins/vim-plugin-names | 1 + 2 files changed, 12 insertions(+) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 1206ec202502..1dce69fc7c8d 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -819,6 +819,17 @@ let }; }; + defx-git = buildVimPluginFrom2Nix { + pname = "defx-git"; + version = "2019-12-25"; + src = fetchFromGitHub { + owner = "kristijanhusak"; + repo = "defx-git"; + rev = "6f064b7aa45491aa728f976f49012c6abe244f15"; + sha256 = "1909f4q4b5yc2g8x8spxs7q9iq94ls2id2xa9k9cf9h93x2jla5y"; + }; + }; + defx-nvim = buildVimPluginFrom2Nix { pname = "defx-nvim"; version = "2020-01-02"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 5a1aa982ae99..4dc1447a02d9 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -194,6 +194,7 @@ keith/swift.vim kien/rainbow_parentheses.vim konfekt/fastfold kristijanhusak/defx-icons +kristijanhusak/defx-git kristijanhusak/vim-hybrid-material kshenoy/vim-signature lambdalisue/vim-gista