From f24148ab1fabeb1a12e2c28d995fac16ba321bef Mon Sep 17 00:00:00 2001 From: Adam Joseph Date: Sun, 3 Jul 2022 01:08:38 -0700 Subject: [PATCH 01/79] openjdk/meta.nix: add powerpc64le-linux to platforms --- pkgs/development/compilers/openjdk/meta.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/openjdk/meta.nix b/pkgs/development/compilers/openjdk/meta.nix index c66ecc29cf51..dc58d35bd70d 100644 --- a/pkgs/development/compilers/openjdk/meta.nix +++ b/pkgs/development/compilers/openjdk/meta.nix @@ -3,7 +3,7 @@ lib: version: with lib; { license = licenses.gpl2Only; description = "The open-source Java Development Kit"; maintainers = with maintainers; [ edwtjo asbachb ]; - platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" "powerpc64le-linux" ]; mainProgram = "java"; knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" ]) [ "This OpenJDK version has reached its end of life." From d3153abe7d4c6a59c98d05d293e28a0f15bfa601 Mon Sep 17 00:00:00 2001 From: Grace Dinh Date: Tue, 1 Nov 2022 17:13:43 -0700 Subject: [PATCH 02/79] accelergy: init at unstable-2022-05-03 --- .../accelergy/default.nix | 27 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/applications/science/computer-architecture/accelergy/default.nix diff --git a/pkgs/applications/science/computer-architecture/accelergy/default.nix b/pkgs/applications/science/computer-architecture/accelergy/default.nix new file mode 100644 index 000000000000..ec702d2b2906 --- /dev/null +++ b/pkgs/applications/science/computer-architecture/accelergy/default.nix @@ -0,0 +1,27 @@ +{ lib, fetchFromGitHub, python3Packages, pkgs }: + +python3Packages.buildPythonApplication rec { + pname = "accelergy"; + version = "unstable-2022-05-03"; + + src = fetchFromGitHub { + owner = "Accelergy-Project"; + repo = "accelergy"; + rev = "34df8e87a889ae55cecba58992d4573466b40565"; + hash = "sha256-SRtt1EocHy5fKszpoumC+mOK/qhreoA2/Ff1wcu5WKo="; + }; + + propagatedBuildInputs = with python3Packages; [ + pyyaml + yamlordereddictloader + pyfiglet + setuptools + ]; + + meta = with lib; { + description = "An architecture-level energy/area estimator for accelerator designs"; + license = licenses.mit; + homepage = "https://accelergy.mit.edu/"; + maintainers = with maintainers; [ gdinh ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eda66b2c2b23..f4c27dce752f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1990,6 +1990,8 @@ with pkgs; twine = with python3Packages; toPythonApplication twine; + accelergy = callPackage ../applications/science/computer-architecture/accelergy { }; + aldo = callPackage ../applications/radio/aldo { }; alglib = callPackage ../development/libraries/alglib { }; From 44eb899e608464615480721716a4d40df5b1a673 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 27 Nov 2022 12:22:44 +0000 Subject: [PATCH 03/79] victoriametrics: 1.83.1 -> 1.84.0 --- pkgs/servers/nosql/victoriametrics/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix index c289cf157896..8c39c1da1275 100644 --- a/pkgs/servers/nosql/victoriametrics/default.nix +++ b/pkgs/servers/nosql/victoriametrics/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "VictoriaMetrics"; - version = "1.83.1"; + version = "1.84.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-SfLqvVExP7qc2IDW6sJ0ykVRzL79FRv6zEVXivLpaVk="; + sha256 = "sha256-94QhjsCow1Ate/Bbia7KpWY3WgHk3oOarAY95Fq75hU="; }; vendorSha256 = null; From ad3c91ce355c5a650dedc60f341f697f85363c18 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 1 Dec 2022 08:37:13 +0000 Subject: [PATCH 04/79] guestfs-tools: fix virt-builder lookup path virt-builder --list would be empty, because it would look in /etc/.virt-builder-wrapped. Instead, we want it to look in $out/etc/virt-builder, where the data is actually installed (while still allowing user-provided overrides to be placed in /etc). --- pkgs/tools/virtualization/guestfs-tools/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/tools/virtualization/guestfs-tools/default.nix b/pkgs/tools/virtualization/guestfs-tools/default.nix index 446d4bcde0b7..82b657673ff0 100644 --- a/pkgs/tools/virtualization/guestfs-tools/default.nix +++ b/pkgs/tools/virtualization/guestfs-tools/default.nix @@ -70,6 +70,14 @@ stdenv.mkDerivation rec { xz ]; + postPatch = '' + # If it uses the executable name, then there's nothing we can do + # when wrapping to stop it looking in + # $out/etc/.virt-builder-wrapped, which won't exist. + substituteInPlace common/mlstdutils/std_utils.ml \ + --replace Sys.executable_name '(Array.get Sys.argv 0)' + ''; + preConfigure = '' patchShebangs ocaml-dep.sh.in ocaml-link.sh.in run.in ''; @@ -85,6 +93,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' + wrapProgram $out/bin/virt-builder \ + --argv0 virt-builder \ + --suffix VIRT_BUILDER_DIRS : /etc:$out/etc wrapProgram $out/bin/virt-win-reg \ --prefix PERL5LIB : ${with perlPackages; makeFullPerlPath [ hivex libintl-perl libguestfs-with-appliance ]} ''; From 74a154509028f703bd828e4629f76a79b120d19b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 1 Dec 2022 08:38:44 +0000 Subject: [PATCH 05/79] guestfs-tools: add virt-builder runtime deps These are required to do anything useful with the program. It tries to run virt-resize from PATH, so $out/bin needs to be included as well. --- pkgs/tools/virtualization/guestfs-tools/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/virtualization/guestfs-tools/default.nix b/pkgs/tools/virtualization/guestfs-tools/default.nix index 82b657673ff0..1c213c6b3243 100644 --- a/pkgs/tools/virtualization/guestfs-tools/default.nix +++ b/pkgs/tools/virtualization/guestfs-tools/default.nix @@ -5,8 +5,10 @@ , bison , cdrkit , cpio +, curl , flex , getopt +, gnupg , hivex , jansson , libguestfs-with-appliance @@ -95,6 +97,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/virt-builder \ --argv0 virt-builder \ + --prefix PATH : ${lib.makeBinPath [ curl gnupg ]}:$out/bin \ --suffix VIRT_BUILDER_DIRS : /etc:$out/etc wrapProgram $out/bin/virt-win-reg \ --prefix PERL5LIB : ${with perlPackages; makeFullPerlPath [ hivex libintl-perl libguestfs-with-appliance ]} From 4f61987758d2573577325e5f857aeaa43aa8f039 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Mon, 28 Nov 2022 14:32:59 +0100 Subject: [PATCH 06/79] discourse: 2.9.0.beta12 -> 2.9.0.beta14 Co-authored-by: Maximilian Bosch --- pkgs/servers/web-apps/discourse/default.nix | 6 +- .../web-apps/discourse/rubyEnv/Gemfile | 9 +- .../web-apps/discourse/rubyEnv/Gemfile.lock | 63 +++----- .../web-apps/discourse/rubyEnv/gemset.nix | 139 ++++-------------- 4 files changed, 56 insertions(+), 161 deletions(-) diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 4fb04e73d9e5..7a9b390d014e 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -11,13 +11,13 @@ }@args: let - version = "2.9.0.beta12"; + version = "2.9.0.beta14"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-gL3/+m8SyyOSdcQ0jXo/qEWm0rAvHrmKM3pm5Lm4354="; + sha256 = "sha256-rdH6tALfhZyCGq1dtOQyuRlEYHSmWgvSz2qG6jrwPu0="; }; runtimeDeps = [ @@ -165,7 +165,7 @@ let yarnOfflineCache = fetchYarnDeps { yarnLock = src + "/app/assets/javascripts/yarn.lock"; - sha256 = "17va1k5r3v0hxpznm7qgmy8c0vicvyk28bn6cr5hqhjn3krzwf8b"; + sha256 = "1rj8bbhmrnnhaiqw2bik8dilk7g35yhis5p7yww57zy4k5ghjvlw"; }; nativeBuildInputs = runtimeDeps ++ [ diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index daf68be0cba6..b35e4805cc49 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -63,15 +63,8 @@ gem 'active_model_serializers', '~> 0.8.3' gem 'http_accept_language', require: false -# Ember related gems need to be pinned cause they control client side -# behavior, we will push these versions up when upgrading ember -gem 'discourse-ember-rails', '0.18.6', require: 'ember-rails' -gem 'discourse-ember-source', '~> 3.12.2' -gem 'ember-handlebars-template', '0.8.0' gem 'discourse-fonts', require: 'discourse_fonts' -gem 'barber' - gem 'message_bus' gem 'rails_multisite' @@ -261,6 +254,8 @@ if ENV["IMPORT"] == "1" gem 'reverse_markdown' gem 'tiny_tds' gem 'csv' + + gem 'parallel', require: false end gem 'webpush', require: false diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index 56ef8ebcea1e..b4024ed108c1 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -73,19 +73,16 @@ GEM aws-sigv4 (~> 1.1) aws-sigv4 (1.5.0) aws-eventstream (~> 1, >= 1.0.2) - barber (0.12.2) - ember-source (>= 1.0, < 3.1) - execjs (>= 1.2, < 3) better_errors (2.9.1) coderay (>= 1.0.0) erubi (>= 1.0.0) rack (>= 0.9.0) binding_of_caller (1.0.0) debug_inspector (>= 0.0.1) - bootsnap (1.13.0) + bootsnap (1.15.0) msgpack (~> 1.2) builder (3.2.4) - bullet (7.0.3) + bullet (7.0.4) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) byebug (11.1.3) @@ -119,14 +116,6 @@ GEM diff-lcs (1.5.0) diffy (3.4.2) digest (3.1.0) - discourse-ember-rails (0.18.6) - active_model_serializers - ember-data-source (>= 1.0.0.beta.5) - ember-handlebars-template (>= 0.1.1, < 1.0) - ember-source (>= 1.1.0) - jquery-rails (>= 1.0.17) - railties (>= 3.1) - discourse-ember-source (3.12.2.3) discourse-fonts (0.0.9) discourse-seed-fu (2.3.12) activerecord (>= 3.1) @@ -138,12 +127,6 @@ GEM ecma-re-validator (0.4.0) regexp_parser (~> 2.2) email_reply_trimmer (0.1.13) - ember-data-source (3.0.2) - ember-source (>= 2, < 3.0) - ember-handlebars-template (0.8.0) - barber (>= 0.11.0) - sprockets (>= 3.3, < 4.1) - ember-source (2.18.2) erubi (1.11.0) excon (0.94.0) execjs (2.8.1) @@ -152,10 +135,10 @@ GEM faker (2.23.0) i18n (>= 1.8.11, < 2) fakeweb (1.3.0) - faraday (2.6.0) + faraday (2.7.1) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.1) + faraday-net_http (3.0.2) faraday-retry (2.0.0) faraday (~> 2.0) fast_blank (1.0.1) @@ -176,7 +159,7 @@ GEM http_accept_language (2.1.1) i18n (1.12.0) concurrent-ruby (~> 1.0) - image_optim (0.31.1) + image_optim (0.31.2) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) image_size (>= 1.5, < 4) @@ -184,11 +167,7 @@ GEM progress (~> 3.0, >= 3.0.1) image_size (3.2.0) in_threads (1.6.0) - jmespath (1.6.1) - jquery-rails (4.5.1) - rails-dom-testing (>= 1, < 3) - railties (>= 4.2.0) - thor (>= 0.14, < 2.0) + jmespath (1.6.2) json (2.6.2) json-schema (3.0.0) addressable (>= 2.8) @@ -226,15 +205,15 @@ GEM matrix (0.4.2) maxminddb (0.1.22) memory_profiler (1.0.1) - message_bus (4.2.0) + message_bus (4.3.0) rack (>= 1.1.3) method_source (1.0.0) mini_mime (1.1.2) mini_portile2 (2.8.0) mini_racer (0.6.3) libv8-node (~> 16.10.0.0) - mini_scheduler (0.14.0) - sidekiq (>= 4.2.3) + mini_scheduler (0.15.0) + sidekiq (>= 4.2.3, < 7.0) mini_sql (1.4.0) mini_suffix (0.3.3) ffi (~> 1.9) @@ -309,9 +288,9 @@ GEM parallel (1.22.1) parallel_tests (4.0.0) parallel - parser (3.1.2.1) + parser (3.1.3.0) ast (~> 2.4.1) - pg (1.4.4) + pg (1.4.5) progress (3.6.0) pry (0.14.1) coderay (~> 1.1) @@ -322,14 +301,14 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (5.0.0) - puma (5.6.5) + puma (6.0.0) nio4r (~> 2.0) r2 (0.2.7) racc (1.6.0) rack (2.2.4) rack-mini-profiler (3.0.0) rack (>= 1.2.0) - rack-protection (3.0.3) + rack-protection (3.0.4) rack rack-test (2.0.2) rack (>= 1.3) @@ -366,7 +345,7 @@ GEM redis (4.7.1) redis-namespace (1.9.0) redis (>= 4) - regexp_parser (2.6.0) + regexp_parser (2.6.1) request_store (1.5.1) rack (>= 1.4) rexml (3.2.5) @@ -402,12 +381,12 @@ GEM rspec-support (3.12.0) rss (0.2.9) rexml - rswag-specs (2.7.0) + rswag-specs (2.8.0) activesupport (>= 3.1, < 7.1) json-schema (>= 2.2, < 4.0) railties (>= 3.1, < 7.1) rspec-core (>= 2.14) - rubocop (1.38.0) + rubocop (1.39.0) json (~> 2.3) parallel (~> 1.10) parser (>= 3.1.2.1) @@ -450,8 +429,8 @@ GEM websocket (~> 1.0) shoulda-matchers (5.2.0) activesupport (>= 5.2.0) - sidekiq (6.5.7) - connection_pool (>= 2.2.5) + sidekiq (6.5.8) + connection_pool (>= 2.2.5, < 3) rack (~> 2.0) redis (>= 4.5.0, < 5) simplecov (0.21.2) @@ -525,7 +504,6 @@ DEPENDENCIES annotate aws-sdk-s3 aws-sdk-sns - barber better_errors binding_of_caller bootsnap @@ -540,13 +518,10 @@ DEPENDENCIES css_parser diffy digest - discourse-ember-rails (= 0.18.6) - discourse-ember-source (~> 3.12.2) discourse-fonts discourse-seed-fu discourse_dev_assets email_reply_trimmer - ember-handlebars-template (= 0.8.0) excon execjs fabrication @@ -650,4 +625,4 @@ DEPENDENCIES yaml-lint BUNDLED WITH - 2.3.24 + 2.3.25 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index 0309d1a43510..3971d6ef9c0d 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -205,17 +205,6 @@ }; version = "1.5.0"; }; - barber = { - dependencies = ["ember-source" "execjs"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "07rnlbh7kgamcbnl1sqlcdrjj8src4qc687klqq4a3vqq2slnscx"; - type = "gem"; - }; - version = "0.12.2"; - }; better_errors = { dependencies = ["coderay" "erubi" "rack"]; groups = ["development"]; @@ -252,10 +241,10 @@ }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y1ycmvyd7swp6gy85m7znwilvb61zzcx6najgq0d1glq0p2hwy6"; + sha256 = "1ln89f9ypzincd5hqgmzd5vvfgf7fgir56v1spsri40ma88vnipj"; type = "gem"; }; - version = "1.13.0"; + version = "1.15.0"; }; builder = { groups = ["default" "development" "test"]; @@ -273,10 +262,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06rmq3s8q6xndxxl7qid9nf3hiaahs71jyiyyk3bx31hns1vkcci"; + sha256 = "1f2phbpsiw8zwmmb1h6s82c4s2banzd04ch7vn6pdz91map233l1"; type = "gem"; }; - version = "7.0.3"; + version = "7.0.4"; }; byebug = { groups = ["development" "test"]; @@ -480,27 +469,6 @@ }; version = "3.1.0"; }; - discourse-ember-rails = { - dependencies = ["active_model_serializers" "ember-data-source" "ember-handlebars-template" "ember-source" "jquery-rails" "railties"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ax5x2d6q6hkm7r58ai9p0sahlg842aqlm7dpv6svrfpnjlaz7sf"; - type = "gem"; - }; - version = "0.18.6"; - }; - discourse-ember-source = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0q4wypjiqvjlwaif5z3pnv0z02rsiysx58d7iljrw8xx9sxwxn6x"; - type = "gem"; - }; - version = "3.12.2.3"; - }; discourse-fonts = { groups = ["default"]; platforms = []; @@ -564,38 +532,6 @@ }; version = "0.1.13"; }; - ember-data-source = { - dependencies = ["ember-source"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1803nh3knvwl12h63jd48qvbbrp42yy291wcb35960daklip0fd8"; - type = "gem"; - }; - version = "3.0.2"; - }; - ember-handlebars-template = { - dependencies = ["barber" "sprockets"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1wxj3vi4xs3vjxrdbzi4j4w6vv45r5dkz2rg2ldid3p8dp3irlf4"; - type = "gem"; - }; - version = "0.8.0"; - }; - ember-source = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0sixy30ym9j2slhlr0lfq943g958w8arlb0lsizh59iv1w5gmxxy"; - type = "gem"; - }; - version = "2.18.2"; - }; erubi = { groups = ["default" "development" "test"]; platforms = [{ @@ -677,20 +613,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mqv17hfmph4ylmb2bqyccy64gsgpmzapq5yrmf5yjsqkvw9rxbv"; + sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590"; type = "gem"; }; - version = "2.6.0"; + version = "2.7.1"; }; faraday-net_http = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13b717ddw90iaf4vijy06srmkvrfbzsnyjap93yll0nibad4dbxq"; + sha256 = "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8"; type = "gem"; }; - version = "3.0.1"; + version = "3.0.2"; }; faraday-retry = { dependencies = ["faraday"]; @@ -891,10 +827,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l3n59w1cbvfg2srfa14g3jdqwbkf7l86g4qrgfz3qps7zi0drg7"; + sha256 = "0acrqj9g8x39lz3z9li52wwc98d0csqarc7bv6jcfd0fp6h9zykb"; type = "gem"; }; - version = "0.31.1"; + version = "0.31.2"; }; image_size = { groups = ["default"]; @@ -921,21 +857,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0"; + sha256 = "1cdw9vw2qly7q7r41s7phnac264rbsdqgj4l0h4nqgbjb157g393"; type = "gem"; }; - version = "1.6.1"; - }; - jquery-rails = { - dependencies = ["rails-dom-testing" "railties" "thor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0rxfy6mk1yh8yjkk7gd1908f85dkc60xnfplwz7mi09f6j3f812p"; - type = "gem"; - }; - version = "4.5.1"; + version = "1.6.2"; }; json = { groups = ["default" "development" "test"]; @@ -1158,10 +1083,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15gazkvbqffh57if68j2p81pm52ww7j9wibbqpq8xp7c3gxqahgq"; + sha256 = "039ab2bbzxhfgy3w7wrxznqzjyikiqm6dnl36pk7cmkb1d30fxdk"; type = "gem"; }; - version = "4.2.0"; + version = "4.3.0"; }; method_source = { groups = ["default" "development" "test"]; @@ -1210,10 +1135,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g8mi0l90kkdvh45xz1gcmv3yzpj7d4dvgrhk8lg7lwn82d06yzw"; + sha256 = "11ng6hgb13jddharcnkcx6v2ycbfz1nx0n8i88n06pa29lfqgqrn"; type = "gem"; }; - version = "0.14.0"; + version = "0.15.0"; }; mini_sql = { groups = ["default"]; @@ -1559,20 +1484,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q31n7yj59wka8xl8s5wkf66hm4pgvblx95czyxffprdnlhrir2p"; + sha256 = "17qfhjvnr9q2gp1gfdl6kndy2mb6qdwsls3vnjhb1h8ddimdm4s5"; type = "gem"; }; - version = "3.1.2.1"; + version = "3.1.3.0"; }; pg = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09a5z9qhxnybahx162q2q1cygdhxfp6cihdivvzh32jlwc37z1x3"; + sha256 = "1wd6nl81nbdwck04hccsm7wf23ghpi8yddd9j4rbwyvyj0sbsff1"; type = "gem"; }; - version = "1.4.4"; + version = "1.4.5"; }; progress = { groups = ["default"]; @@ -1633,10 +1558,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qzq0c791kacv68hgk9zqsd1p7zx1y1rr9j10rn9yphibb8jj436"; + sha256 = "1yabmxmqprb2x58awiasidsiwpplscmyar9dzwh5l8jgaw4i3wra"; type = "gem"; }; - version = "5.6.5"; + version = "6.0.0"; }; r2 = { groups = ["default"]; @@ -1689,10 +1614,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sfk4i52yijcggkzkwj3z6k2iv9fdacmcgcid1c8xjcldh93fhpg"; + sha256 = "1kljmw1lhzqjcwnwadr5m2khii0h2lsah447zb9vgirrv5jszg9h"; type = "gem"; }; - version = "3.0.3"; + version = "3.0.4"; }; rack-test = { dependencies = ["rack"]; @@ -1868,10 +1793,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mm5sykyblc61a82zz3dag6yy3mvflj2z47060kjzjj5793blqzi"; + sha256 = "0rj7xcg7bkfw6y0h4wg8y3s4nmks9qrzdxag4zaw41xjqfanlysf"; type = "gem"; }; - version = "2.6.0"; + version = "2.6.1"; }; request_store = { dependencies = ["rack"]; @@ -2028,10 +1953,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mh9w7l9jl44pdxigppsxzrxracfsx7fsfz25ixamc8dkcklybx8"; + sha256 = "0fsxj0dfnncfnx7v9p4pzwp95wpc57cn0bijn0wx3b0pd68i6zhj"; type = "gem"; }; - version = "2.7.0"; + version = "2.8.0"; }; rubocop = { dependencies = ["json" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; @@ -2039,10 +1964,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fhyia6fw438ld83vz7vx37zynmzv042saf04ir43ga6sxk4m9k4"; + sha256 = "0ggxkq68ddxmynr2lyrvzr8qbrdvc2irxlx9ihxmvdpkg1vimr3w"; type = "gem"; }; - version = "1.38.0"; + version = "1.39.0"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2193,10 +2118,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p2mj2jj5b9wqmpvkngx87lfr2qgwhqvwx38bmhl5aa29pc6z5kx"; + sha256 = "1z2fx4fzgnw4rzj3h1h4sk6qbkp7p2rdr58b2spxgkcsdzg0i5hh"; type = "gem"; }; - version = "6.5.7"; + version = "6.5.8"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; From 8b81191211cb530b7a07e8e2eb72a0998e3383b2 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 3 Dec 2022 16:03:23 +0100 Subject: [PATCH 07/79] discoursePlugins: update all --- .../web-apps/discourse/plugins/discourse-assign/default.nix | 4 ++-- .../discourse/plugins/discourse-calendar/Gemfile.lock | 2 +- .../web-apps/discourse/plugins/discourse-calendar/default.nix | 4 ++-- .../discourse/plugins/discourse-canned-replies/default.nix | 4 ++-- .../discourse/plugins/discourse-chat-integration/default.nix | 4 ++-- .../discourse/plugins/discourse-checklist/default.nix | 4 ++-- .../discourse/plugins/discourse-data-explorer/default.nix | 4 ++-- .../web-apps/discourse/plugins/discourse-docs/default.nix | 4 ++-- .../web-apps/discourse/plugins/discourse-github/Gemfile.lock | 4 ++-- .../web-apps/discourse/plugins/discourse-github/default.nix | 4 ++-- .../web-apps/discourse/plugins/discourse-github/gemset.nix | 4 ++-- .../web-apps/discourse/plugins/discourse-math/default.nix | 4 ++-- .../discourse/plugins/discourse-openid-connect/default.nix | 4 ++-- .../discourse/plugins/discourse-prometheus/Gemfile.lock | 2 +- .../discourse/plugins/discourse-prometheus/default.nix | 4 ++-- .../discourse/plugins/discourse-saved-searches/default.nix | 4 ++-- .../web-apps/discourse/plugins/discourse-solved/default.nix | 4 ++-- .../discourse/plugins/discourse-spoiler-alert/default.nix | 4 ++-- .../web-apps/discourse/plugins/discourse-voting/default.nix | 4 ++-- .../discourse/plugins/discourse-yearly-review/default.nix | 4 ++-- 20 files changed, 38 insertions(+), 38 deletions(-) diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix index 11faf4b2aeb7..4903be6b6521 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-assign"; - rev = "1f2dfafcdebc153573e2e1a5bf32d7f63295b29a"; - sha256 = "sha256-VggOirmGIl3ihegmblgqaP3dAVX66O1O5s9vgP2peH8="; + rev = "889df32cc61792ed7b1981a08f0b0e9c46da2a56"; + sha256 = "sha256-ggMmIzjb4CBNAJTf8E09iaN5AGPj+BDzRf2y3h4DCMc="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock index 00b312b19601..b5284f49fa85 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock @@ -22,4 +22,4 @@ DEPENDENCIES rrule (= 0.4.4) BUNDLED WITH - 2.3.24 + 2.3.25 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix index 1a16ee81cd3f..b75760314210 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-calendar"; - rev = "7adaec219f0c387bda7b474d66b3706c78c9be5a"; - sha256 = "sha256-Uv+V8PVYlO80e6nCjOVF0J9XEUegemCc7kcwHWpbh2w="; + rev = "f4f16d958e5cec5fab109d09a7bfb50fc2b8da12"; + sha256 = "sha256-TWIWHOVeq3IKjinycaoiVccFKaP4UbNUpZ5n/SQ6afA="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-calendar"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix index 529a41a0c087..091979831eac 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-canned-replies"; - rev = "ac2a315a0433d408cce7fdc5419beae865c4b655"; - sha256 = "sha256-ARVV5fsrY6WV67975wPb4pU8Fjsm+Q+n2xuCcrgpfTI="; + rev = "fe92bc1324fe0d2519f0e33b3fd89a4bed21b2e9"; + sha256 = "sha256-m+DDS93XJAN9RqX8pXeA78gY+p+7A2ey1oblGpcB4L0="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-canned-replies"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix index 62c71b0da279..dd4733f5186c 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-chat-integration"; - rev = "01a37669114909b3ead34a1846a97713b3051dc7"; - sha256 = "sha256-Y/SGLz3LPWfILwfFiO3Ag9JQMUOf0/RvWm5/Lk/cOsk="; + rev = "f6dde41cba2722970cc1a49f47636174a6ec7797"; + sha256 = "sha256-Cn+Ti1DYcFRqunEEFjGJuhnICO+53IX7tF7U8MkzJX0="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-chat-integration"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix index 41bd34fe2d85..8cf1c3e662a6 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-checklist"; - rev = "1954ec2b106586cbb72db2eb7b1fc9251c799e72"; - sha256 = "sha256-dVRRnwTY+2tn5JNkn09iuoMBCE0NQdwDJIECzfqfm58="; + rev = "c97060bd9dc1287d258cac6b7222a9a61d4f97c7"; + sha256 = "sha256-fVGTYz/2PK5rq/7SE/hkQoWYiIzOcmZ9AHNe5f+osxY="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-checklist"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix index e955222132b5..6e7da0de992f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-data-explorer"; - rev = "41a5e0a27a06225c401cbbaa24f0f712f7bd7cf7"; - sha256 = "sha256-m1EvNepl9JLoEeUaDXTBHz4G+DDCpdPNgAz+/Lcqn1Q="; + rev = "467b6c8a91a08ca71080b9bbff2e0cd45dc4efe5"; + sha256 = "sha256-65Osh9oud/Gfy6dVJ4QXqT+A0wdIN33BeaCUIfyWEGA="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-data-explorer"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix index ba603f23c310..eebe6101a908 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-docs"; - rev = "f1dd03f0bc283b86b6028b76ae0841a2a7f9c2a8"; - sha256 = "sha256-Mp1nrmMa0IUE5avR+Q72eIqM7Erb2xid4PYRJWXrUhw="; + rev = "908d9096a81e1d706da231558f9a0547357fe73a"; + sha256 = "sha256-77MTXMTjuwG1qIhYwUlNBNA39p/eyPF2+IHFpUiG8uo="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock index 1c6bed3a0bb1..0aba4fb103ca 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/Gemfile.lock @@ -3,7 +3,7 @@ GEM specs: addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) - faraday (2.6.0) + faraday (2.7.1) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) @@ -24,4 +24,4 @@ DEPENDENCIES sawyer (= 0.9.2) BUNDLED WITH - 2.3.24 + 2.3.25 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix index 1e582b652e8c..cf0e425cbdea 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-github"; - rev = "b064d4915ad11d768b11b61de0102b573cea5521"; - sha256 = "sha256-Nf6X6pQYnjkxbwsT1A6Rhf0lUNZS8N10X1XoSa33PEU="; + rev = "873cb13a0dcb3e70360adb86a2e293f377536626"; + sha256 = "sha256-r3+RXVb0k2UFiMeBQ998Obw7GQg1/uyUzpxFP9g5yXs="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-github"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix index 6567b55721b9..fae128695754 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/gemset.nix @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mqv17hfmph4ylmb2bqyccy64gsgpmzapq5yrmf5yjsqkvw9rxbv"; + sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590"; type = "gem"; }; - version = "2.6.0"; + version = "2.7.1"; }; faraday-net_http = { groups = ["default"]; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix index 416e3aaa374e..98f89d0f241e 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-math"; - rev = "b5d2a8a3ea302e0d8d43e1fcba5aa455e792475f"; - sha256 = "sha256-VzvPX8u1ABhzgdsH+ytaCdEkge6dvMfDZ9EyCxfU25o="; + rev = "45563f691aafcd0d76f07db9c105d42f3e3d5ba0"; + sha256 = "sha256-s2mzV1YdUG9vjw1LKm+jZriQfWYN5Jn232z3Cc7NFeg="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-math"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix index cb915c44cd60..3ce7519dc525 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix @@ -6,8 +6,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-openid-connect"; - rev = "61137588c59fb325d9c46db4b643acbaf113eb84"; - sha256 = "sha256-w8/CxzFp+EUh3Kn65OO1BVNQdqPETdSq2WBvz5DoPQE="; + rev = "43a30dde4a64a01250f4447e74806db65ee7ae1a"; + sha256 = "sha256-/3AE5cDELKfKwEY+XqaZ6SzJp6XAnW83r67kzLGaV2M="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-openid-connect"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock index 9f0afd0a902b..0f46eaf43f2a 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/Gemfile.lock @@ -10,4 +10,4 @@ DEPENDENCIES prometheus_exporter (= 0.5.0) BUNDLED WITH - 2.3.24 + 2.3.25 diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix index 3934878d876e..13127cf3d3e9 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix @@ -6,8 +6,8 @@ src = fetchFromGitHub { owner = "discourse"; repo = "discourse-prometheus"; - rev = "78ea9363b34e5fc56ac42f120cf1ea44ba99da9b"; - sha256 = "sha256-LeveJKNocK5Fm8JxIWp5dyspNrlE+117fmzq+HcGnLA="; + rev = "72fff206ba18ad5ca3112fed2f5f0ce6a17ca6f8"; + sha256 = "sha256-lSZZTcoWeFJTXnHLgry5ezYGmCBuMFJ96dtkOQKKRJc="; }; patches = [ diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix index e8b383dad2bc..3108d617ceb9 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-saved-searches"; - rev = "92a137a164dcfce75c854b7dc44a034595bec4f0"; - sha256 = "sha256-DXmmQrgsEXvVHu/CnzfaECdJyNVm1CBpQXcEDlm27kI="; + rev = "be97918d0bbac81b98ab96773d5c8c01313ac0c2"; + sha256 = "sha256-2HTFfaJkLXuuMDa3m7Ppkh9v4BnLfKXyWiRN4c+xaNI="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-saved-searches"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix index 47331c3088fa..11a8789ca2ea 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-solved"; - rev = "f3b7fbb914cb0b7714d0ad7f26f21aaf1ba14f73"; - sha256 = "sha256-T7RHSk0ZP72E1hBoLwNLXX6rVOdy4JWQfj3aehbX1RM="; + rev = "a078219a9785f995a0a41c64b97bb0f2930a3ba1"; + sha256 = "sha256-P3rWEgPoMtzapSqARMFe5/IGT/QtTUFx8LB1kf6vBiU="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-solved"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix index 49634345f545..19838e88a8f0 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-spoiler-alert"; - rev = "47d95b547269cb7e34c282fc1ccc1d240892edf2"; - sha256 = "sha256-vrVkLmda28p5ynS0+x/2U3Hu1lS1cPIHwunA1YGZr4o="; + rev = "a7727a1c6b6f921365e1cee802e0c16512bbf8ee"; + sha256 = "sha256-60Sg8C7a4vXq/IApcskL0hgceoIHhWqACphcgfrbNig="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-spoiler-alert"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix index 49b1fb67c873..e5e3d8f2b977 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-voting"; - rev = "bdcff78521dccce100906663e65eb5b6e103f99a"; - sha256 = "sha256-J8jXBMcEZ8XUEqZtIg01Mi8JrLqls+ou+AQ1TORXMqU="; + rev = "1ecf494a789235d7ceaf2c8f6cad49176347e6b6"; + sha256 = "sha256-6UX7VGuZ+AT44ExfZNFWxFwgEx9zBJ3fQbO1vgCa5bE="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-voting"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix index 5343b1188201..bfdb7f6739f3 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix @@ -5,8 +5,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-yearly-review"; - rev = "80003d8ee4f4e23b277f261edc68a71145f6086e"; - sha256 = "sha256-bjhO7MiA9QOKh6gBcttBgla+wsznuG1SAIZlPZGmZaA="; + rev = "0f24d14d2dc861e404cb28f63832b93ed41b44eb"; + sha256 = "sha256-7cstjcuZ6OUn7u85UEp/B4pycepEK8CHg4W/O4ePoQg="; }; meta = with lib; { homepage = "https://github.com/discourse/discourse-yearly-review"; From 8b8b63492d607b884869b1a5f96b20abfb1544e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sat, 3 Dec 2022 21:49:27 -0800 Subject: [PATCH 08/79] python310Packages.configargparse: test YAMLConfigFileParser See https://github.com/bw2/ConfigArgParse/blob/v1.5.3/setup.py#L75 --- pkgs/development/python-modules/configargparse/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix index 7c1594e9e805..4479d1f24855 100644 --- a/pkgs/development/python-modules/configargparse/default.nix +++ b/pkgs/development/python-modules/configargparse/default.nix @@ -3,12 +3,15 @@ , fetchFromGitHub , mock , pytestCheckHook +, pyyaml }: buildPythonPackage rec { pname = "configargparse"; version = "1.5.3"; + format = "setuptools"; + src = fetchFromGitHub { owner = "bw2"; repo = "ConfigArgParse"; @@ -19,6 +22,7 @@ buildPythonPackage rec { checkInputs = [ mock pytestCheckHook + pyyaml ]; pythonImportsCheck = [ "configargparse" ]; From fcf0e540b16eb487e7bf131e52d8002e643aeb5e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 6 Dec 2022 13:47:40 +0100 Subject: [PATCH 09/79] nixos/manual: document kernel backporting policy and implications of it I'm well aware that this issue is currently under discussion[1] and that these things may change. Also, please don't misinterpret this as an attempt to end the discussion. This topic made it obvious that people are surprised by the way this issue is handled and only finding out about this unwritten rule because of asking is not a good state IMHO, so I decided to document the following things: * Right now we drop kernels as soon as they get out of maintenance (LTS kernels even before the next stable NixOS that will exceed their lifespan). * The `latestCompatibleLinuxPackages` attribute from ZFS isn't monotonic since latest only refers to the latest supported kernel. * In fact `latestCompatibleLinuxPackages` doesn't seem to be documented at all in the manual, so I also did that. [1] https://discourse.nixos.org/t/aggressive-kernel-removal-on-eol-in-nixos/23097 --- .../configuration/linux-kernel.chapter.md | 30 ++++++++++++++ .../configuration/linux-kernel.chapter.xml | 41 +++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/nixos/doc/manual/configuration/linux-kernel.chapter.md b/nixos/doc/manual/configuration/linux-kernel.chapter.md index 1d06543d4f1e..87c1cf6a7cb8 100644 --- a/nixos/doc/manual/configuration/linux-kernel.chapter.md +++ b/nixos/doc/manual/configuration/linux-kernel.chapter.md @@ -17,6 +17,16 @@ you may want to use one of the unversioned `pkgs.linuxPackages_*` aliases such as `pkgs.linuxPackages_latest`, that are kept up to date with new versions. +Please note that the current convention in NixOS is to only keep actively +maintained kernel versions on both unstable and the currently supported stable +release(s) of NixOS. This means that a non-longterm kernel will be removed after it's +abandoned by the kernel developers, even on stable NixOS versions. If you +pin your kernel onto a non-longterm version, expect your evaluation to fail as +soon as the version is out of maintenance. + +Longterm versions of kernels will be removed before the next stable NixOS that will +exceed the maintenance period of the kernel version. + The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the following command: @@ -138,3 +148,23 @@ $ cd linux-* $ make -C $dev/lib/modules/*/build M=$(pwd)/drivers/net/ethernet/mellanox modules # insmod ./drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko ``` + +## ZFS {#sec-linux-zfs} + +It's a common issue that the latest stable version of ZFS doesn't support the latest +available Linux kernel. It's possible to pin the system to the latest available kernel +version *that is supported by ZFS* like this: + +```nix +{ + boot.kernelPackages = pkgs.zfs.latestCompatibleLinuxPackages; +} +``` + +Please note that the version this attribute points to isn't monotonic because the latest kernel +version only refers to kernel versions supported by the Linux developers. In other words, +the latest kernel version that ZFS is compatible with may decrease over time. + +An example: the latest version ZFS is compatible with is 5.19 which is a non-longterm version. When 5.19 +is out of maintenance, the latest supported kernel version is 5.15 because it's longterm and the versions +5.16, 5.17 and 5.18 are already out of maintenance because they're non-longterm. diff --git a/nixos/doc/manual/from_md/configuration/linux-kernel.chapter.xml b/nixos/doc/manual/from_md/configuration/linux-kernel.chapter.xml index a1d6815af29c..7fb3ba5ac98f 100644 --- a/nixos/doc/manual/from_md/configuration/linux-kernel.chapter.xml +++ b/nixos/doc/manual/from_md/configuration/linux-kernel.chapter.xml @@ -21,6 +21,19 @@ boot.kernelPackages = pkgs.linuxKernel.packages.linux_3_10; pkgs.linuxPackages_latest, that are kept up to date with new versions. + + Please note that the current convention in NixOS is to only keep + actively maintained kernel versions on both unstable and the + currently supported stable release(s) of NixOS. This means that a + non-longterm kernel will be removed after it’s abandoned by the + kernel developers, even on stable NixOS versions. If you pin your + kernel onto a non-longterm version, expect your evaluation to fail + as soon as the version is out of maintenance. + + + Longterm versions of kernels will be removed before the next stable + NixOS that will exceed the maintenance period of the kernel version. + The default Linux kernel configuration should be fine for most users. You can see the configuration of your current kernel with the @@ -154,4 +167,32 @@ $ make -C $dev/lib/modules/*/build M=$(pwd)/drivers/net/ethernet/mellanox module # insmod ./drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko +
+ ZFS + + It’s a common issue that the latest stable version of ZFS doesn’t + support the latest available Linux kernel. It’s possible to pin + the system to the latest available kernel version that + is supported by ZFS like this: + + +{ + boot.kernelPackages = pkgs.zfs.latestCompatibleLinuxPackages; +} + + + Please note that the version this attribute points to isn’t + monotonic because the latest kernel version only refers to kernel + versions supported by the Linux developers. In other words, the + latest kernel version that ZFS is compatible with may decrease + over time. + + + An example: the latest version ZFS is compatible with is 5.19 + which is a non-longterm version. When 5.19 is out of maintenance, + the latest supported kernel version is 5.15 because it’s longterm + and the versions 5.16, 5.17 and 5.18 are already out of + maintenance because they’re non-longterm. + +
From fa257ecb332118786db8e6f635bbd0970838a6e0 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 6 Dec 2022 14:38:16 +0100 Subject: [PATCH 10/79] nixos/kernel: link manual (with backport policies) from boot.kernelPackages Yes I know it's dirty to link the rendered HTML, but linking `#sec-kernel-config` breaks the manual build for me with the following error: element link: validity error : IDREF attribute linkend references an unknown ID "sec-kernel-config" This is something that should probably be fixed, but for the current change I'd argue that this is good enough (in fact even the `nix.settings`-option uses that hack). --- nixos/modules/system/boot/kernel.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 6783f8ec62ff..b13e50cb17d2 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -62,6 +62,11 @@ in configuration. For instance, if you use the NVIDIA X driver, then it also needs to contain an attribute {var}`nvidia_x11`. + + Please note that we strictly support kernel versions that are + maintained by the Linux developers only. More information on the + availability of kernel versions is documented + [in the Linux section of the manual](https://nixos.org/manual/nixos/unstable/index.html#sec-kernel-config). ''; }; From f48ce9295e9be1e6d17f6dcf3791db8764caf91b Mon Sep 17 00:00:00 2001 From: Luflosi Date: Tue, 6 Dec 2022 13:12:30 +0100 Subject: [PATCH 11/79] abc-verifier: unstable-2022-09-08 -> unstable-2022-11-09 --- pkgs/applications/science/logic/abc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix index bf7bffd11591..6a20a68324f1 100644 --- a/pkgs/applications/science/logic/abc/default.nix +++ b/pkgs/applications/science/logic/abc/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "abc-verifier"; - version = "unstable-2022-09-08"; + version = "unstable-2022-11-09"; src = fetchFromGitHub { owner = "yosyshq"; repo = "abc"; - rev = "ab5b16ede2ff3a4ab5209df24db2c76700899684"; - hash = "sha256-G4MnBViwIosFDiPfUimGqf6fq1KJlxj+LozmgoKaH3A="; + rev = "be9a35c0363174a7cef21d55ed80d92a9ef95ab1"; + hash = "sha256-IN9YgJONcC55N89OXMrMuNuznTdjXNWxR0IngH8OWC8="; }; nativeBuildInputs = [ cmake ]; From 8814e204efb07fa3147ce9232787c9554bec467a Mon Sep 17 00:00:00 2001 From: Luflosi Date: Tue, 6 Dec 2022 13:12:59 +0100 Subject: [PATCH 12/79] yosys: 0.23 -> 0.24 https://github.com/YosysHQ/yosys/releases/tag/yosys-0.24 --- pkgs/development/compilers/yosys/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix index 62bd8b15d1ad..7594d7487659 100644 --- a/pkgs/development/compilers/yosys/default.nix +++ b/pkgs/development/compilers/yosys/default.nix @@ -71,13 +71,13 @@ let in stdenv.mkDerivation rec { pname = "yosys"; - version = "0.23"; + version = "0.24"; src = fetchFromGitHub { owner = "YosysHQ"; repo = "yosys"; rev = "${pname}-${version}"; - hash = "sha256-mOakdXhSij8k4Eo7RwpKjd59IkNjw31NNFDJtL6Adgo="; + hash = "sha256-rso08/b0ukrh6KYFpn4bFn0pP83URfeJGw28iLIjlPw="; }; enableParallelBuilding = true; From 726a4cc7505ea7cc336739bcf601814ce849e7d1 Mon Sep 17 00:00:00 2001 From: Zenithal Date: Wed, 7 Dec 2022 10:24:56 +0800 Subject: [PATCH 13/79] mill: 0.10.9 -> 0.10.10 --- pkgs/development/tools/build-managers/mill/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/mill/default.nix b/pkgs/development/tools/build-managers/mill/default.nix index 3a61faa42c15..966937deffa8 100644 --- a/pkgs/development/tools/build-managers/mill/default.nix +++ b/pkgs/development/tools/build-managers/mill/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "mill"; - version = "0.10.9"; + version = "0.10.10"; src = fetchurl { url = "https://github.com/com-lihaoyi/mill/releases/download/${version}/${version}-assembly"; - hash = "sha256-XDy07dFzylRl825QYqRt5eydVPR4jEevC2VrqxgTFt0="; + hash = "sha256-Qen3z2qbgyHHYUscBh7Udc1/c82WDLnDIsZJF+tcR5M="; }; nativeBuildInputs = [ makeWrapper ]; From bfc2e400eb3d5525415c7091fd6c9aa3d3a3354a Mon Sep 17 00:00:00 2001 From: figsoda Date: Wed, 7 Dec 2022 09:40:47 -0500 Subject: [PATCH 14/79] sccache: 0.3.1 -> 0.3.2, add figsoda as a maintainer Diff: https://github.com/mozilla/sccache/compare/v0.3.1...v0.3.2 Changelog: https://github.com/mozilla/sccache/releases/tag/v0.3.2 --- pkgs/development/tools/misc/sccache/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix index 9879768086ac..79d26e02d121 100644 --- a/pkgs/development/tools/misc/sccache/default.nix +++ b/pkgs/development/tools/misc/sccache/default.nix @@ -1,17 +1,17 @@ -{ stdenv, lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }: +{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }: rustPlatform.buildRustPackage rec { - version = "0.3.1"; + version = "0.3.2"; pname = "sccache"; src = fetchFromGitHub { owner = "mozilla"; repo = "sccache"; rev = "v${version}"; - sha256 = "sha256-SjGtFkFyHJRnFg3QwXksrV+T08oku80vcivLzFWt94g="; + sha256 = "sha256-QUW5jNkSXk4Q2/G8J1aa9R8ty1T74G3KUWs3LsqX/8M="; }; - cargoSha256 = "sha256-cd/4otvrneOqntBzNZP1/RY0jg/NYeugiblr1tatITI="; + cargoSha256 = "sha256-T2hopyz920nX3qT3b//cbb7IxOz6jeeI+6gYiwPp72I="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security; @@ -26,7 +26,8 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Ccache with Cloud Storage"; homepage = "https://github.com/mozilla/sccache"; - maintainers = with maintainers; [ doronbehar ]; + changelog = "https://github.com/mozilla/sccache/releases/tag/v${version}"; + maintainers = with maintainers; [ doronbehar figsoda ]; license = licenses.asl20; }; } From 75c231afd6b309527ccc9d57ae3e662b74e4570a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 7 Dec 2022 23:41:20 +0000 Subject: [PATCH 15/79] python310Packages.lmdb: 1.3.0 -> 1.4.0 --- pkgs/development/python-modules/lmdb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/lmdb/default.nix b/pkgs/development/python-modules/lmdb/default.nix index 8efc1e3fb12c..df994a0db751 100644 --- a/pkgs/development/python-modules/lmdb/default.nix +++ b/pkgs/development/python-modules/lmdb/default.nix @@ -8,11 +8,11 @@ buildPythonPackage rec { pname = "lmdb"; - version = "1.3.0"; + version = "1.4.0"; src = fetchPypi { inherit pname version; - sha256 = "60a11efc21aaf009d06518996360eed346f6000bfc9de05114374230879f992e"; + sha256 = "sha256-OfbE7hRdKNFwJdNQcgq7b5XbgWUU6GjbV0RP3vUcu0c="; }; buildInputs = [ lmdb ]; From e7c28692fa9fba03173c021aeaba4953fbf7441a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Dec 2022 02:19:13 +0000 Subject: [PATCH 16/79] python310Packages.pysmart: 1.1.0 -> 1.2.1 --- pkgs/development/python-modules/pysmart/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pysmart/default.nix b/pkgs/development/python-modules/pysmart/default.nix index 3bd5fa50a133..b5c45e2c02c7 100644 --- a/pkgs/development/python-modules/pysmart/default.nix +++ b/pkgs/development/python-modules/pysmart/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "pysmart"; - version = "1.1.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "truenas"; repo = "py-SMART"; - rev = "v${version}"; - sha256 = "sha256-e46ALiYg0Db/gOzqLmVc1vi9ObhfxzqwfQk9/9pz+r0="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-slLk4zoW0ht9hiOxyBt0caekjrPgih9G99pRiD2vIxE="; }; postPatch = '' From 039873e0f58586e8934648c96a058e96b0ebd6b3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Dec 2022 05:00:44 +0000 Subject: [PATCH 17/79] python310Packages.wurlitzer: 3.0.2 -> 3.0.3 --- pkgs/development/python-modules/wurlitzer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/wurlitzer/default.nix b/pkgs/development/python-modules/wurlitzer/default.nix index 395f3ad5b107..19ca73c967ff 100644 --- a/pkgs/development/python-modules/wurlitzer/default.nix +++ b/pkgs/development/python-modules/wurlitzer/default.nix @@ -9,11 +9,11 @@ buildPythonPackage rec { pname = "wurlitzer"; - version = "3.0.2"; + version = "3.0.3"; src = fetchPypi { inherit pname version; - sha256 = "36051ac530ddb461a86b6227c4b09d95f30a1d1043de2b4a592e97ae8a84fcdf"; + sha256 = "sha256-Ik9f5wYYvjhywF393IxFcZHsGHBlRZYnn8we2t6+Pls="; }; propagatedBuildInputs = lib.optionals isPy27 [ selectors2 ]; From 950bb6ec53ee1d70507879e51c25efe94a8c453d Mon Sep 17 00:00:00 2001 From: misuzu Date: Thu, 8 Dec 2022 14:24:56 +0200 Subject: [PATCH 18/79] python3Packages.dependency-injector: 4.35.3 -> 4.40.0 https://github.com/ets-labs/python-dependency-injector/releases/tag/4.40.0 --- .../python-modules/dependency-injector/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/dependency-injector/default.nix b/pkgs/development/python-modules/dependency-injector/default.nix index 628e18931255..936e8d97b3c6 100644 --- a/pkgs/development/python-modules/dependency-injector/default.nix +++ b/pkgs/development/python-modules/dependency-injector/default.nix @@ -16,13 +16,13 @@ buildPythonPackage rec { pname = "dependency-injector"; - version = "4.35.3"; + version = "4.40.0"; src = fetchFromGitHub { owner = "ets-labs"; repo = "python-dependency-injector"; rev = version; - sha256 = "sha256-2qe4A2T3EagNCh1zSbPWblVN7p9NH8rNwQQVyESJTdk="; + sha256 = "sha256-lcgPFdAgLmv7ILL2VVfqtGSw96aUfPv9oiOhksRtF3k="; }; propagatedBuildInputs = [ @@ -42,16 +42,6 @@ buildPythonPackage rec { pyyaml ]; - postPatch = '' - substituteInPlace requirements.txt \ - --replace "six>=1.7.0,<=1.15.0" "six" - ''; - - disabledTestPaths = [ - # There is no unique identifier to disable the one failing test - "tests/unit/ext/test_aiohttp_py35.py" - ]; - pythonImportsCheck = [ "dependency_injector" ]; meta = with lib; { From 05a08089944195f93c41cf4e3aa4d89356fe7b9c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 8 Dec 2022 13:55:04 +0000 Subject: [PATCH 19/79] python310Packages.patiencediff: 0.2.9 -> 0.2.10 --- pkgs/development/python-modules/patiencediff/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/patiencediff/default.nix b/pkgs/development/python-modules/patiencediff/default.nix index 295df5aab39c..8c3311de8448 100644 --- a/pkgs/development/python-modules/patiencediff/default.nix +++ b/pkgs/development/python-modules/patiencediff/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "patiencediff"; - version = "0.2.9"; + version = "0.2.10"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "breezy-team"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-DvbOA/NXHTuE84zWicOUtAKgGHUmKrAWgeFW1+uA8JY="; + hash = "sha256-AlJ61Sp6HSy6nJ6trVF2OD9ziSIW241peRXcda3xWnQ="; }; nativeBuildInputs = [ From dad9a896c9b715fd32e40225b5a4ebf694c97e1a Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 8 Dec 2022 10:27:56 -0500 Subject: [PATCH 20/79] sccache: 0.3.2 -> 0.3.3 Diff: https://github.com/mozilla/sccache/compare/v0.3.2...v0.3.3 Changelog: https://github.com/mozilla/sccache/releases/tag/v0.3.3 --- pkgs/development/tools/misc/sccache/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/sccache/default.nix b/pkgs/development/tools/misc/sccache/default.nix index 79d26e02d121..2ad51f093fcd 100644 --- a/pkgs/development/tools/misc/sccache/default.nix +++ b/pkgs/development/tools/misc/sccache/default.nix @@ -1,17 +1,17 @@ { lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, stdenv, Security }: rustPlatform.buildRustPackage rec { - version = "0.3.2"; + version = "0.3.3"; pname = "sccache"; src = fetchFromGitHub { owner = "mozilla"; repo = "sccache"; rev = "v${version}"; - sha256 = "sha256-QUW5jNkSXk4Q2/G8J1aa9R8ty1T74G3KUWs3LsqX/8M="; + sha256 = "sha256-XzAU8Rs0/Q1KvE2tF0zzv9d2/a07BzZQbVzOdrPlbSk="; }; - cargoSha256 = "sha256-T2hopyz920nX3qT3b//cbb7IxOz6jeeI+6gYiwPp72I="; + cargoSha256 = "sha256-r5rIuulcPB5Y4AkbUPswf3W4DZ9Pc8auzmDDvSOOZEA="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security; From d27b04b4a958c7ef3ab294f64e216c8e974d9840 Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 8 Dec 2022 13:00:42 -0500 Subject: [PATCH 21/79] ruff: 0.0.169 -> 0.0.170 Diff: https://github.com/charliermarsh/ruff/compare/v0.0.169...v0.0.170 Changelog: https://github.com/charliermarsh/ruff/releases/tag/v0.0.170 --- pkgs/development/tools/ruff/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index 6bff31436ac9..ef1c0e3f28fc 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.0.169"; + version = "0.0.170"; src = fetchFromGitHub { owner = "charliermarsh"; repo = pname; rev = "v${version}"; - sha256 = "sha256-YPVI1SaaLSqrpTu/uFTSyWbPVSDeADNVv2OfgR9K4qI="; + sha256 = "sha256-5i8bB9glU7kq7HMK/nFa83RDtJEDk1NXm5M4ZP1gCs8="; }; - cargoSha256 = "sha256-bP6gn/UIv1reytd8atNdoXZxsFFJCt+axl3UiCayERo="; + cargoSha256 = "sha256-faPbyESECcA+sM8hPfrNR0jpZjVVf8frKpGnv8LdUuc="; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices From 06c0cce0e5e3cfd2f19e53563d966c727166efd6 Mon Sep 17 00:00:00 2001 From: oxalica Date: Fri, 9 Dec 2022 02:52:00 +0800 Subject: [PATCH 22/79] boost: add configurable `enableIcu` flag This makes it easier to disable ICU support with `override`, where the closure size matters. --- pkgs/development/libraries/boost/generic.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix index bea3f007e631..feb41bf62941 100644 --- a/pkgs/development/libraries/boost/generic.nix +++ b/pkgs/development/libraries/boost/generic.nix @@ -13,6 +13,7 @@ , enableStatic ? !enableShared , enablePython ? false , enableNumpy ? false +, enableIcu ? stdenv.hostPlatform == stdenv.buildPlatform , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic)) , patches ? [] , boostBuildPatches ? [] @@ -226,7 +227,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ which boost-build ] ++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ expat zlib bzip2 libiconv ] - ++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu + ++ optional enableIcu icu ++ optionals enablePython [ libxcrypt python ] ++ optional enableNumpy python.pkgs.numpy; @@ -239,7 +240,7 @@ stdenv.mkDerivation { "--libdir=$(out)/lib" "--with-bjam=b2" # prevent bootstrapping b2 in configurePhase ] ++ optional (toolset != null) "--with-toolset=${toolset}" - ++ [ (if stdenv.hostPlatform == stdenv.buildPlatform then "--with-icu=${icu.dev}" else "--without-icu") ]; + ++ [ (if enableIcu then "--with-icu=${icu.dev}" else "--without-icu") ]; buildPhase = '' runHook preBuild From 02dd59e2de8706b7c863823a3a17c66b62a9b136 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 8 Dec 2022 21:28:33 +0100 Subject: [PATCH 23/79] php.extensions.xdebug: 3.1.6 -> 3.2.0 --- pkgs/development/php-packages/xdebug/default.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pkgs/development/php-packages/xdebug/default.nix b/pkgs/development/php-packages/xdebug/default.nix index 388360462dcf..cd90ea6f407e 100644 --- a/pkgs/development/php-packages/xdebug/default.nix +++ b/pkgs/development/php-packages/xdebug/default.nix @@ -1,18 +1,10 @@ -{ buildPecl, lib, php }: +{ buildPecl, lib }: -let - versionData = if (lib.versionOlder php.version "8.1") then { - version = "3.1.6"; - sha256 = "1lnmrb5kgq8lbhjs48j3wwhqgk44pnqb1yjq4b5r6ysv9l5wlkjm"; - } else { - version = "3.2.0RC2"; - sha256 = "dQgXDP3Ifg+D0niWxaJ4ec71Vfr8KH40jv6QbxSyY+4="; - }; -in buildPecl { pname = "xdebug"; - inherit (versionData) version sha256; + version = "3.2.0"; + sha256 = "1drj00z8ididm2iw7a7pnrsvakrr1g0i49aqkyz5zpysxh7b4sbp"; doCheck = true; checkTarget = "test"; From 8a23ce4e6928f0cbdebe3754910de0ee12e72390 Mon Sep 17 00:00:00 2001 From: Grace Dinh Date: Tue, 1 Nov 2022 17:22:06 -0700 Subject: [PATCH 24/79] timeloop: init at unstable-2022-11-29 --- .../timeloop/default.nix | 99 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 101 insertions(+) create mode 100644 pkgs/applications/science/computer-architecture/timeloop/default.nix diff --git a/pkgs/applications/science/computer-architecture/timeloop/default.nix b/pkgs/applications/science/computer-architecture/timeloop/default.nix new file mode 100644 index 000000000000..e1ed24be7835 --- /dev/null +++ b/pkgs/applications/science/computer-architecture/timeloop/default.nix @@ -0,0 +1,99 @@ +{ lib +, stdenv +, fetchFromGitHub +, scons +, libconfig +, boost +, libyaml +, libyamlcpp +, ncurses +, gpm +, enableAccelergy ? true +, enableISL ? false +, accelergy +}: + +stdenv.mkDerivation rec { + pname = "timeloop"; + version = "unstable-2022-11-29"; + + src = fetchFromGitHub { + owner = "NVlabs"; + repo = "timeloop"; + rev = "905ba953432c812772de935d57fd0a674a89d3c1"; + hash = "sha256-EXiWXf8hdX4vFRNk9wbFSOsix/zVkwrafGUtFrsoAN0="; + }; + + nativeBuildInputs = [ scons ]; + + buildInputs = [ + libconfig + boost + libyaml + libyamlcpp + ncurses + accelergy + ] ++ lib.optionals stdenv.isLinux [ gpm ]; + + preConfigure = '' + cp -r ./pat-public/src/pat ./src/pat + ''; + + enableParallelBuilding = true; + + #link-time optimization fails on darwin + #see https://github.com/NixOS/nixpkgs/issues/19098 + NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-fno-lto"; + + postPatch = '' + # use nix ar/ranlib + substituteInPlace ./SConstruct \ + --replace "env.Replace(AR = \"gcc-ar\")" "" \ + --replace "env.Replace(RANLIB = \"gcc-ranlib\")" "" + '' + lib.optionalString stdenv.isDarwin '' + # prevent clang from dying on errors that gcc is fine with + substituteInPlace ./src/SConscript --replace "-Werror" "-Wno-inconsistent-missing-override" + + # disable LTO on macos + substituteInPlace ./src/SConscript --replace ", '-flto'" "" + + # static builds on mac fail as no static libcrt is provided by apple + # see https://stackoverflow.com/questions/3801011/ld-library-not-found-for-lcrt0-o-on-osx-10-6-with-gcc-clang-static-flag + substituteInPlace ./src/SConscript \ + --replace "'-static-libgcc', " "" \ + --replace "'-static-libstdc++', " "" \ + --replace "'-Wl,--whole-archive', '-static', " "" \ + --replace ", '-Wl,--no-whole-archive'" "" + + #remove hardcoding of gcc + sed -i '40i env.Replace(CC = "${stdenv.cc.targetPrefix}cc")' ./SConstruct + sed -i '40i env.Replace(CXX = "${stdenv.cc.targetPrefix}c++")' ./SConstruct + + #gpm doesn't exist on darwin + substituteInPlace ./src/SConscript --replace ", 'gpm'" "" + ''; + + sconsFlags = + # will fail on clang/darwin on link without --static due to undefined extern + # however, will fail with static on linux as nixpkgs deps aren't static + lib.optional stdenv.isDarwin "--static" + ++ lib.optional enableAccelergy "--accelergy" + ++ lib.optional enableISL "--with-isl"; + + + installPhase = '' + cp -r ./bin ./lib $out + mkdir -p $out/share + cp -r ./doc $out/share + mkdir -p $out/data + cp -r ./problem-shapes ./configs $out/data + ''; + + meta = with lib; { + description = "Chip modeling/mapping benchmarking framework"; + homepage = "https://timeloop.csail.mit.edu"; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = with maintainers; [ gdinh ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f4c27dce752f..4699f660443d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36908,6 +36908,8 @@ with pkgs; shellz = callPackage ../tools/security/shellz { }; + timeloop = pkgs.darwin.apple_sdk_11_0.callPackage ../applications/science/computer-architecture/timeloop { }; + canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { }; hll2390dw-cups = callPackage ../misc/cups/drivers/hll2390dw-cups { }; From ac1ae0a58e4fa3d7d5065850b2c82dc2935d0636 Mon Sep 17 00:00:00 2001 From: Ryan Mulligan Date: Tue, 8 Jun 2021 07:03:12 -0700 Subject: [PATCH 25/79] doc: auto-generate asserts and attrset library docs If all the docs are auto-generated, it should be easier to convert them to Commonmark. Co-Authored-By: Valentin Gagarin Co-Authored-By: Silvan Mosberger --- doc/doc-support/lib-function-docs.nix | 2 + doc/functions/library.xml | 8 +- doc/functions/library/.gitkeep | 0 doc/functions/library/asserts.xml | 112 -- doc/functions/library/attrsets.xml | 1751 ------------------------- lib/asserts.nix | 19 +- lib/attrsets.nix | 455 +++++-- 7 files changed, 386 insertions(+), 1961 deletions(-) create mode 100644 doc/functions/library/.gitkeep delete mode 100644 doc/functions/library/asserts.xml delete mode 100644 doc/functions/library/attrsets.xml diff --git a/doc/doc-support/lib-function-docs.nix b/doc/doc-support/lib-function-docs.nix index cbcbed4310af..64f5ed56843c 100644 --- a/doc/doc-support/lib-function-docs.nix +++ b/doc/doc-support/lib-function-docs.nix @@ -17,6 +17,8 @@ with pkgs; stdenv.mkDerivation { mkdir -p $out ln -s ${locationsXml} $out/locations.xml + docgen asserts 'Assert functions' + docgen attrsets 'Attribute-set functions' docgen strings 'String manipulation functions' docgen trivial 'Miscellaneous functions' docgen lists 'List manipulation functions' diff --git a/doc/functions/library.xml b/doc/functions/library.xml index b291356c14b8..0a8bae229f26 100644 --- a/doc/functions/library.xml +++ b/doc/functions/library.xml @@ -8,14 +8,14 @@ Nixpkgs provides a standard library at pkgs.lib, or through import <nixpkgs/lib>.
- - - - + + + + diff --git a/doc/functions/library/.gitkeep b/doc/functions/library/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/doc/functions/library/asserts.xml b/doc/functions/library/asserts.xml deleted file mode 100644 index 7c94222ef139..000000000000 --- a/doc/functions/library/asserts.xml +++ /dev/null @@ -1,112 +0,0 @@ -
- Assert functions - -
- <function>lib.asserts.assertMsg</function> - - assertMsg :: Bool -> String -> Bool - - - - - - Print a trace message if pred is false. - - - - Intended to be used to augment asserts with helpful error messages. - - - - - - pred - - - - Condition under which the msg should not be printed. - - - - - - msg - - - - Message to print. - - - - - - - Printing when the predicate is false - trace: foo is not bar, silly -stderr> assert failed -]]> - -
- -
- <function>lib.asserts.assertOneOf</function> - - assertOneOf :: String -> String -> - StringList -> Bool - - - - - - Specialized asserts.assertMsg for checking if val is one of the elements of xs. Useful for checking enums. - - - - - - name - - - - The name of the variable the user entered val into, for inclusion in the error message. - - - - - - val - - - - The value of what the user provided, to be compared against the values in xs. - - - - - - xs - - - - The list of valid values. - - - - - - - Ensuring a user provided a possible value - false -stderr> trace: sslLibrary must be one of "openssl", "libressl", but is: "bearssl" - ]]> - -
-
diff --git a/doc/functions/library/attrsets.xml b/doc/functions/library/attrsets.xml deleted file mode 100644 index 052bfa1f6ae3..000000000000 --- a/doc/functions/library/attrsets.xml +++ /dev/null @@ -1,1751 +0,0 @@ -
- Attribute-Set Functions - -
- <function>lib.attrset.attrByPath</function> - - attrByPath :: [String] -> Any -> AttrSet -> Any - - - - - - Return an attribute from within nested attribute sets. - - - - - - attrPath - - - - A list of strings representing the path through the nested attribute set set. - - - - - - default - - - - Default value if attrPath does not resolve to an existing value. - - - - - - set - - - - The nested attributeset to select values from. - - - - - - - Extracting a value from a nested attribute set - 3 -]]> - - - - No value at the path, instead using the default - 0 -]]> - -
- -
- <function>lib.attrsets.hasAttrByPath</function> - - hasAttrByPath :: [String] -> AttrSet -> Bool - - - - - - Determine if an attribute exists within a nested attribute set. - - - - - - attrPath - - - - A list of strings representing the path through the nested attribute set set. - - - - - - set - - - - The nested attributeset to check. - - - - - - - A nested value does exist inside a set - true -]]> - -
- -
- <function>lib.attrsets.setAttrByPath</function> - - setAttrByPath :: [String] -> Any -> AttrSet - - - - - - Create a new attribute set with value set at the nested attribute location specified in attrPath. - - - - - - attrPath - - - - A list of strings representing the path through the nested attribute set. - - - - - - value - - - - The value to set at the location described by attrPath. - - - - - - - Creating a new nested attribute set - { a = { b = 3; }; } -]]> - -
- -
- <function>lib.attrsets.getAttrFromPath</function> - - getAttrFromPath :: [String] -> AttrSet -> Value - - - - - - Like except without a default, and it will throw if the value doesn't exist. - - - - - - attrPath - - - - A list of strings representing the path through the nested attribute set set. - - - - - - set - - - - The nested attribute set to find the value in. - - - - - - - Succesfully getting a value from an attribute set - 3 -]]> - - - - Throwing after failing to get a value from an attribute set - error: cannot find attribute `x.y' -]]> - -
- -
- <function>lib.attrsets.attrVals</function> - - attrVals :: [String] -> AttrSet -> [Any] - - - - - - Return the specified attributes from a set. All values must exist. - - - - - - nameList - - - - The list of attributes to fetch from set. Each attribute name must exist on the attrbitue set. - - - - - - set - - - - The set to get attribute values from. - - - - - - - Getting several values from an attribute set - [ 1 2 3 ] -]]> - - - - Getting missing values from an attribute set - - -
- -
- <function>lib.attrsets.attrValues</function> - - attrValues :: AttrSet -> [Any] - - - - - - Get all the attribute values from an attribute set. - - - - Provides a backwards-compatible interface of builtins.attrValues for Nix version older than 1.8. - - - - - - attrs - - - - The attribute set. - - - - - - - - [ 1 2 3 ] -]]> - -
- -
- <function>lib.attrsets.catAttrs</function> - - catAttrs :: String -> [AttrSet] -> [Any] - - - - - - Collect each attribute named `attr' from the list of attribute sets, sets. Sets that don't contain the named attribute are ignored. - - - - Provides a backwards-compatible interface of builtins.catAttrs for Nix version older than 1.9. - - - - - - attr - - - - Attribute name to select from each attribute set in sets. - - - - - - sets - - - - The list of attribute sets to select attr from. - - - - - - - Collect an attribute from a list of attribute sets. - - Attribute sets which don't have the attribute are ignored. - - [ 1 2 ] - ]]> - -
- -
- <function>lib.attrsets.filterAttrs</function> - - filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet - - - - - - Filter an attribute set by removing all attributes for which the given predicate return false. - - - - - - pred - - - - String -> Any -> Bool - - - Predicate which returns true to include an attribute, or returns false to exclude it. - - - - - name - - - - The attribute's name - - - - - - value - - - - The attribute's value - - - - - - Returns true to include the attribute, false to exclude the attribute. - - - - - - set - - - - The attribute set to filter - - - - - - - Filtering an attributeset - { foo = 1; } -]]> - -
- -
- <function>lib.attrsets.filterAttrsRecursive</function> - - filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet - - - - - - Filter an attribute set recursively by removing all attributes for which the given predicate return false. - - - - - - pred - - - - String -> Any -> Bool - - - Predicate which returns true to include an attribute, or returns false to exclude it. - - - - - name - - - - The attribute's name - - - - - - value - - - - The attribute's value - - - - - - Returns true to include the attribute, false to exclude the attribute. - - - - - - set - - - - The attribute set to filter - - - - - - - Recursively filtering an attribute set - { - levelA = { - example = "hi"; - levelB = { - hello = "there"; - this-one-is-present = { }; - }; - }; - } - ]]> - -
- -
- <function>lib.attrsets.foldAttrs</function> - - foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any - - - - - - Apply fold function to values grouped by key. - - - - - - op - - - - Any -> Any -> Any - - - Given a value val and a collector col, combine the two. - - - - - val - - - - An attribute's value - - - - - - col - - - - - The result of previous op calls with other values and nul. - - - - - - - - - nul - - - - The null-value, the starting value. - - - - - - list_of_attrs - - - - A list of attribute sets to fold together by key. - - - - - - - Combining an attribute of lists in to one attribute set - { a = [ 2 3 ]; b = [ 7 6 ]; } -]]> - -
- -
- <function>lib.attrsets.collect</function> - - collect :: (Any -> Bool) -> AttrSet -> [Any] - - - - - - Recursively collect sets that verify a given predicate named pred from the set attrs. The recursion stops when pred returns true. - - - - - - pred - - - - Any -> Bool - - - Given an attribute's value, determine if recursion should stop. - - - - - value - - - - The attribute set value. - - - - - - - - - attrs - - - - The attribute set to recursively collect. - - - - - - - Collecting all lists from an attribute set - [["b"] [1]] -]]> - - - - Collecting all attribute-sets which contain the <literal>outPath</literal> attribute name. - [{ outPath = "a/"; } { outPath = "b/"; }] -]]> - -
- -
- <function>lib.attrsets.nameValuePair</function> - - nameValuePair :: String -> Any -> AttrSet - - - - - - Utility function that creates a {name, value} pair as expected by builtins.listToAttrs. - - - - - - name - - - - The attribute name. - - - - - - value - - - - The attribute value. - - - - - - - Creating a name value pair - { name = "some"; value = 6; } -]]> - -
- -
- <function>lib.attrsets.mapAttrs</function> - - - - - - - - Apply a function to each element in an attribute set, creating a new attribute set. - - - - Provides a backwards-compatible interface of builtins.mapAttrs for Nix version older than 2.1. - - - - - - fn - - - - String -> Any -> Any - - - Given an attribute's name and value, return a new value. - - - - - name - - - - The name of the attribute. - - - - - - value - - - - The attribute's value. - - - - - - - - - - Modifying each value of an attribute set - { x = "x-foo"; y = "y-bar"; } -]]> - -
- -
- <function>lib.attrsets.mapAttrs'</function> - - mapAttrs' :: (String -> Any -> { name = String; value = Any }) -> AttrSet -> AttrSet - - - - - - Like mapAttrs, but allows the name of each attribute to be changed in addition to the value. The applied function should return both the new name and value as a nameValuePair. - - - - - - fn - - - - String -> Any -> { name = String; value = Any } - - - Given an attribute's name and value, return a new name value pair. - - - - - name - - - - The name of the attribute. - - - - - - value - - - - The attribute's value. - - - - - - - - - set - - - - The attribute set to map over. - - - - - - - Change the name and value of each attribute of an attribute set - { foo_x = "bar-a"; foo_y = "bar-b"; } - - ]]> - -
- -
- <function>lib.attrsets.mapAttrsToList</function> - - mapAttrsToList :: (String -> Any -> Any) -> - AttrSet -> [Any] - - - - - - Call fn for each attribute in the given set and return the result in a list. - - - - - - fn - - - - String -> Any -> Any - - - Given an attribute's name and value, return a new value. - - - - - name - - - - The name of the attribute. - - - - - - value - - - - The attribute's value. - - - - - - - - - set - - - - The attribute set to map over. - - - - - - - Combine attribute values and names in to a list - [ "x=a" "y=b" ] -]]> - -
- -
- <function>lib.attrsets.mapAttrsRecursive</function> - - mapAttrsRecursive :: ([String] > Any -> Any) -> AttrSet -> AttrSet - - - - - - Like mapAttrs, except that it recursively applies itself to attribute sets. Also, the first argument of the argument function is a list of the names of the containing attributes. - - - - - - f - - - - [ String ] -> Any -> Any - - - Given a list of attribute names and value, return a new value. - - - - - name_path - - - - The list of attribute names to this value. - - - For example, the name_path for the example string in the attribute set { foo = { bar = "example"; }; } is [ "foo" "bar" ]. - - - - - - value - - - - The attribute's value. - - - - - - - - - set - - - - The attribute set to recursively map over. - - - - - - - A contrived example of using <function>lib.attrsets.mapAttrsRecursive</function> - { - n = { - a = "n-a-A"; - m = { - b = "n-m-b-B"; - c = "n-m-c-C"; - }; - }; - d = "d-D"; - } - ]]> - -
- -
- <function>lib.attrsets.mapAttrsRecursiveCond</function> - - mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([ String ] -> Any -> Any) -> AttrSet -> AttrSet - - - - - - Like mapAttrsRecursive, but it takes an additional predicate function that tells it whether to recursive into an attribute set. If it returns false, mapAttrsRecursiveCond does not recurse, but does apply the map function. It is returns true, it does recurse, and does not apply the map function. - - - - - - cond - - - - (AttrSet -> Bool) - - - Determine if mapAttrsRecursive should recurse deeper in to the attribute set. - - - - - attributeset - - - - An attribute set. - - - - - - - - - f - - - - [ String ] -> Any -> Any - - - Given a list of attribute names and value, return a new value. - - - - - name_path - - - - The list of attribute names to this value. - - - For example, the name_path for the example string in the attribute set { foo = { bar = "example"; }; } is [ "foo" "bar" ]. - - - - - - value - - - - The attribute's value. - - - - - - - - - set - - - - The attribute set to recursively map over. - - - - - - - Only convert attribute values to JSON if the containing attribute set is marked for recursion - { - dorecur = { - hello = "\"there\""; - recurse = "true"; - }; - dontrecur = "{\"converted-to\":\"json\"}"; - } - ]]> - -
- -
- <function>lib.attrsets.genAttrs</function> - - genAttrs :: [ String ] -> (String -> Any) -> AttrSet - - - - - - Generate an attribute set by mapping a function over a list of attribute names. - - - - - - names - - - - Names of values in the resulting attribute set. - - - - - - f - - - - String -> Any - - - Takes the name of the attribute and return the attribute's value. - - - - - name - - - - The name of the attribute to generate a value for. - - - - - - - - - - Generate an attrset based on names only - { foo = "x_foo"; bar = "x_bar"; } - ]]> - -
- -
- <function>lib.attrsets.isDerivation</function> - - isDerivation :: Any -> Bool - - - - - - Check whether the argument is a derivation. Any set with { type = "derivation"; } counts as a derivation. - - - - - - value - - - - The value which is possibly a derivation. - - - - - - - A package is a derivation - {}).ruby -=> true - ]]> - - - - Anything else is not a derivation - false - ]]> - -
- -
- <function>lib.attrsets.toDerivation</function> - - toDerivation :: Path -> Derivation - - - - - - Converts a store path to a fake derivation. - - - - - - path - - - - A store path to convert to a derivation. - - - - -
- -
- <function>lib.attrsets.optionalAttrs</function> - - optionalAttrs :: Bool -> AttrSet - - - - - - Conditionally return an attribute set or an empty attribute set. - - - - - - cond - - - - Condition under which the as attribute set is returned. - - - - - - as - - - - The attribute set to return if cond is true. - - - - - - - Return the provided attribute set when <varname>cond</varname> is true - { my = "set"; } - ]]> - - - - Return an empty attribute set when <varname>cond</varname> is false - { } - ]]> - -
- -
- <function>lib.attrsets.zipAttrsWithNames</function> - - zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet - - - - - - Merge sets of attributes and use the function f to merge attribute values where the attribute name is in names. - - - - - - names - - - - A list of attribute names to zip. - - - - - - f - - - - (String -> [ Any ] -> Any - - - Accepts an attribute name, all the values, and returns a combined value. - - - - - name - - - - The name of the attribute each value came from. - - - - - - vs - - - - A list of values collected from the list of attribute sets. - - - - - - - - - sets - - - - A list of attribute sets to zip together. - - - - - - - Summing a list of attribute sets of numbers - { a = "a 11"; b = "b 101"; } - ]]> - -
- -
- <function>lib.attrsets.zipAttrsWith</function> - - zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet - - - - - - Merge sets of attributes and use the function f to merge attribute values. Similar to where all key names are passed for names. - - - - - - f - - - - (String -> [ Any ] -> Any - - - Accepts an attribute name, all the values, and returns a combined value. - - - - - name - - - - The name of the attribute each value came from. - - - - - - vs - - - - A list of values collected from the list of attribute sets. - - - - - - - - - sets - - - - A list of attribute sets to zip together. - - - - - - - Summing a list of attribute sets of numbers - { a = "a 11"; b = "b 101"; c = "c 1001"; } - ]]> - -
- -
- <function>lib.attrsets.zipAttrs</function> - - zipAttrs :: [ AttrSet ] -> AttrSet - - - - - - Merge sets of attributes and combine each attribute value in to a list. Similar to where the merge function returns a list of all values. - - - - - - sets - - - - A list of attribute sets to zip together. - - - - - - - Combining a list of attribute sets - { a = [ 1 10 ]; b = [ 1 100 ]; c = [ 1 1000 ]; } - ]]> - -
- -
- <function>lib.attrsets.recursiveUpdateUntil</function> - - recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet - - - - - - Does the same as the update operator // except that attributes are merged until the given predicate is verified. The predicate should accept 3 arguments which are the path to reach the attribute, a part of the first attribute set and a part of the second attribute set. When the predicate is verified, the value of the first attribute set is replaced by the value of the second attribute set. - - - - - - pred - - - - [ String ] -> AttrSet -> AttrSet -> Bool - - - - - path - - - - The path to the values in the left and right hand sides. - - - - - - l - - - - The left hand side value. - - - - - - r - - - - The right hand side value. - - - - - - - - - lhs - - - - The left hand attribute set of the merge. - - - - - - rhs - - - - The right hand attribute set of the merge. - - - - - - - Recursively merging two attribute sets - { - foo.bar = 1; # 'foo.*' from the second set - foo.quz = 2; # - bar = 3; # 'bar' from the first set - baz = 4; # 'baz' from the second set -} - ]]> - -
- -
- <function>lib.attrsets.recursiveUpdate</function> - - recursiveUpdate :: AttrSet -> AttrSet -> AttrSet - - - - - - A recursive variant of the update operator //. The recursion stops when one of the attribute values is not an attribute set, in which case the right hand side value takes precedence over the left hand side value. - - - - - - lhs - - - - The left hand attribute set of the merge. - - - - - - rhs - - - - The right hand attribute set of the merge. - - - - - - - Recursively merging two attribute sets - { - boot.loader.grub.enable = true; - boot.loader.grub.device = ""; -} -]]> - -
- -
- <function>lib.attrsets.recurseIntoAttrs</function> - - recurseIntoAttrs :: AttrSet -> AttrSet - - - - - - Make various Nix tools consider the contents of the resulting attribute set when looking for what to build, find, etc. - - - - This function only affects a single attribute set; it does not apply itself recursively for nested attribute sets. - - - - - - attrs - - - - An attribute set to scan for derivations. - - - - - - - Making Nix look inside an attribute set - {} }: -{ - myTools = pkgs.lib.recurseIntoAttrs { - inherit (pkgs) hello figlet; - }; -} -]]> - -
- -
- <function>lib.attrsets.cartesianProductOfSets</function> - - cartesianProductOfSets :: AttrSet -> [ AttrSet ] - - - - - - Return the cartesian product of attribute set value combinations. - - - - - - set - - - - An attribute set with attributes that carry lists of values. - - - - - - - Creating the cartesian product of a list of attribute values - [ - { a = 1; b = 10; } - { a = 1; b = 20; } - { a = 2; b = 10; } - { a = 2; b = 20; } - ] -]]> - -
-
diff --git a/lib/asserts.nix b/lib/asserts.nix index 9ae357cbc935..98e0b490acf2 100644 --- a/lib/asserts.nix +++ b/lib/asserts.nix @@ -16,11 +16,15 @@ rec { assertMsg :: Bool -> String -> Bool */ # TODO(Profpatsch): add tests that check stderr - assertMsg = pred: msg: + assertMsg = + # Predicate that needs to succeed, otherwise `msg` is thrown + pred: + # Message to throw in case `pred` fails + msg: pred || builtins.throw msg; - /* Specialized `assertMsg` for checking if val is one of the elements - of a list. Useful for checking enums. + /* Specialized `assertMsg` for checking if `val` is one of the elements + of the list `xs`. Useful for checking enums. Example: let sslLibrary = "libressl"; @@ -33,7 +37,14 @@ rec { Type: assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool */ - assertOneOf = name: val: xs: assertMsg + assertOneOf = + # The name of the variable the user entered `val` into, for inclusion in the error message + name: + # The value of what the user provided, to be compared against the values in `xs` + val: + # The list of valid values + xs: + assertMsg (lib.elem val xs) "${name} must be one of ${ lib.generators.toPretty {} xs}, but is: ${ diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 8b5c0ef4cea6..511d619a1dc2 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -20,13 +20,22 @@ rec { => 3 attrByPath ["z" "z"] 6 x => 6 + + Type: + attrByPath :: [String] -> Any -> AttrSet -> Any */ - attrByPath = attrPath: default: e: + attrByPath = + # A list of strings representing the attribute path to return from `set` + attrPath: + # Default value if `attrPath` does not resolve to an existing value + default: + # The nested attribute set to select values from + set: let attr = head attrPath; in - if attrPath == [] then e - else if e ? ${attr} - then attrByPath (tail attrPath) default e.${attr} + if attrPath == [] then set + else if set ? ${attr} + then attrByPath (tail attrPath) default set.${attr} else default; /* Return if an attribute from nested attribute set exists. @@ -38,8 +47,14 @@ rec { hasAttrByPath ["z" "z"] x => false + Type: + hasAttrByPath :: [String] -> AttrSet -> Bool */ - hasAttrByPath = attrPath: e: + hasAttrByPath = + # A list of strings representing the attribute path to check from `set` + attrPath: + # The nested attribute set to check + e: let attr = head attrPath; in if attrPath == [] then true @@ -48,13 +63,20 @@ rec { else false; - /* Return nested attribute set in which an attribute is set. + /* Create a new attribute set with `value` set at the nested attribute location specified in `attrPath`. Example: setAttrByPath ["a" "b"] 3 => { a = { b = 3; }; } + + Type: + setAttrByPath :: [String] -> Any -> AttrSet */ - setAttrByPath = attrPath: value: + setAttrByPath = + # A list of strings representing the attribute path to set + attrPath: + # The value to set at the location described by `attrPath` + value: let len = length attrPath; atDepth = n: @@ -63,8 +85,8 @@ rec { else { ${elemAt attrPath n} = atDepth (n + 1); }; in atDepth 0; - /* Like `attrByPath' without a default value. If it doesn't find the - path it will throw. + /* Like `attrByPath', but without a default value. If it doesn't find the + path it will throw an error. Example: x = { a = { b = 3; }; } @@ -72,10 +94,17 @@ rec { => 3 getAttrFromPath ["z" "z"] x => error: cannot find attribute `z.z' + + Type: + getAttrFromPath :: [String] -> AttrSet -> Value */ - getAttrFromPath = attrPath: + getAttrFromPath = + # A list of strings representing the attribute path to get from `set` + attrPath: + # The nested attribute set to find the value in. + set: let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'"; - in attrByPath attrPath (abort errorMsg); + in attrByPath attrPath (abort errorMsg) set; /* Map each attribute in the given set and merge them into a new attribute set. @@ -101,19 +130,23 @@ rec { Takes a list of updates to apply and an attribute set to apply them to, and returns the attribute set with the updates applied. Updates are - represented as { path = ...; update = ...; } values, where `path` is a + represented as `{ path = ...; update = ...; }` values, where `path` is a list of strings representing the attribute path that should be updated, and `update` is a function that takes the old value at that attribute path as an argument and returns the new value it should be. Properties: + - Updates to deeper attribute paths are applied before updates to more shallow attribute paths + - Multiple updates to the same attribute path are applied in the order they appear in the update list + - If any but the last `path` element leads into a value that is not an attribute set, an error is thrown + - If there is an update for an attribute path that doesn't exist, accessing the argument in the update function causes an error, but intermediate attribute sets are implicitly created as needed @@ -134,6 +167,9 @@ rec { } ] { a.b.c = 0; } => { a = { b = { d = 1; }; }; x = { y = "xy"; }; } + + Type: + updateManyAttrsByPath :: [AttrSet] -> AttrSet -> AttrSet */ updateManyAttrsByPath = let # When recursing into attributes, instead of updating the `path` of each @@ -199,8 +235,15 @@ rec { Example: attrVals ["a" "b" "c"] as => [as.a as.b as.c] + + Type: + attrVals :: [String] -> AttrSet -> [Any] */ - attrVals = nameList: set: map (x: set.${x}) nameList; + attrVals = + # The list of attributes to fetch from `set`. Each attribute name must exist on the attrbitue set + nameList: + # The set to get attribute values from + set: map (x: set.${x}) nameList; /* Return the values of all attributes in the given set, sorted by @@ -209,6 +252,8 @@ rec { Example: attrValues {c = 3; a = 1; b = 2;} => [1 2 3] + Type: + attrValues :: AttrSet -> [Any] */ attrValues = builtins.attrValues or (attrs: attrVals (attrNames attrs) attrs); @@ -219,8 +264,15 @@ rec { Example: getAttrs [ "a" "b" ] { a = 1; b = 2; c = 3; } => { a = 1; b = 2; } + + Type: + getAttrs :: [String] -> AttrSet -> AttrSet */ - getAttrs = names: attrs: genAttrs names (name: attrs.${name}); + getAttrs = + # A list of attribute names to get out of `set` + names: + # The set to get the named attributes from + attrs: genAttrs names (name: attrs.${name}); /* Collect each attribute named `attr' from a list of attribute sets. Sets that don't contain the named attribute are ignored. @@ -228,6 +280,9 @@ rec { Example: catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}] => [1 2] + + Type: + catAttrs :: String -> [AttrSet] -> [Any] */ catAttrs = builtins.catAttrs or (attr: l: concatLists (map (s: if s ? ${attr} then [s.${attr}] else []) l)); @@ -239,8 +294,15 @@ rec { Example: filterAttrs (n: v: n == "foo") { foo = 1; bar = 2; } => { foo = 1; } + + Type: + filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet */ - filterAttrs = pred: set: + filterAttrs = + # Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute. + pred: + # The attribute set to filter + set: listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set)); @@ -250,8 +312,15 @@ rec { Example: filterAttrsRecursive (n: v: v != null) { foo = { bar = null; }; } => { foo = {}; } + + Type: + filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet */ - filterAttrsRecursive = pred: set: + filterAttrsRecursive = + # Predicate taking an attribute name and an attribute value, which returns `true` to include the attribute, or `false` to exclude the attribute. + pred: + # The attribute set to filter + set: listToAttrs ( concatMap (name: let v = set.${name}; in @@ -269,23 +338,28 @@ rec { Example: foldAttrs (item: acc: [item] ++ acc) [] [{ a = 2; } { a = 3; }] => { a = [ 2 3 ]; } + + Type: + foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any */ - foldAttrs = op: nul: + foldAttrs = + # A function, given a value and a collector combines the two. + op: + # The starting value. + nul: + # A list of attribute sets to fold together by key. + list_of_attrs: foldr (n: a: foldr (name: o: o // { ${name} = op n.${name} (a.${name} or nul); } ) a (attrNames n) - ) {}; + ) {} list_of_attrs; /* Recursively collect sets that verify a given predicate named `pred' from the set `attrs'. The recursion is stopped when the predicate is verified. - Type: - collect :: - (AttrSet -> Bool) -> AttrSet -> [x] - Example: collect isList { a = { b = ["b"]; }; c = [1]; } => [["b"] [1]] @@ -293,8 +367,15 @@ rec { collect (x: x ? outPath) { a = { outPath = "a/"; }; b = { outPath = "b/"; }; } => [{ outPath = "a/"; } { outPath = "b/"; }] + + Type: + collect :: (AttrSet -> Bool) -> AttrSet -> [x] */ - collect = pred: attrs: + collect = + # Given an attribute's value, determine if recursion should stop. + pred: + # The attribute set to recursively collect. + attrs: if pred attrs then [ attrs ] else if isAttrs attrs then @@ -312,8 +393,12 @@ rec { { a = 2; b = 10; } { a = 2; b = 20; } ] + Type: + cartesianProductOfSets :: AttrSet -> [AttrSet] */ - cartesianProductOfSets = attrsOfLists: + cartesianProductOfSets = + # Attribute set with attributes that are lists of values + attrsOfLists: foldl' (listOfAttrs: attrName: concatMap (attrs: map (listValue: attrs // { ${attrName} = listValue; }) attrsOfLists.${attrName} @@ -321,25 +406,32 @@ rec { ) [{}] (attrNames attrsOfLists); - /* Utility function that creates a {name, value} pair as expected by - builtins.listToAttrs. + /* Utility function that creates a `{name, value}` pair as expected by `builtins.listToAttrs`. Example: nameValuePair "some" 6 => { name = "some"; value = 6; } + + Type: + nameValuePair :: String -> Any -> AttrSet */ - nameValuePair = name: value: { inherit name value; }; + nameValuePair = + # Attribute name + name: + # Attribute value + value: + { inherit name value; }; - /* Apply a function to each element in an attribute set. The - function takes two arguments --- the attribute name and its value - --- and returns the new value for the attribute. The result is a - new attribute set. + /* Apply a function to each element in an attribute set, creating a new attribute set. Example: mapAttrs (name: value: name + "-" + value) { x = "foo"; y = "bar"; } => { x = "x-foo"; y = "y-bar"; } + + Type: + mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet */ mapAttrs = builtins.mapAttrs or (f: set: @@ -354,24 +446,35 @@ rec { mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value)) { x = "a"; y = "b"; } => { foo_x = "bar-a"; foo_y = "bar-b"; } + + Type: + mapAttrs' :: (String -> Any -> { name = String; value = Any }) -> AttrSet -> AttrSet */ - mapAttrs' = f: set: + mapAttrs' = + # A function, given an attribute's name and value, returns a new `nameValuePair`. + f: + # Attribute set to map over. + set: listToAttrs (map (attr: f attr set.${attr}) (attrNames set)); /* Call a function for each attribute in the given set and return the result in a list. - Type: - mapAttrsToList :: - (String -> a -> b) -> AttrSet -> [b] - Example: mapAttrsToList (name: value: name + value) { x = "a"; y = "b"; } => [ "xa" "yb" ] + + Type: + mapAttrsToList :: (String -> a -> b) -> AttrSet -> [b] + */ - mapAttrsToList = f: attrs: + mapAttrsToList = + # A function, given an attribute's name and value, returns a new value. + f: + # Attribute set to map over. + attrs: map (name: f name attrs.${name}) (attrNames attrs); @@ -379,16 +482,20 @@ rec { attribute sets. Also, the first argument of the argument function is a *list* of the names of the containing attributes. - Type: - mapAttrsRecursive :: - ([String] -> a -> b) -> AttrSet -> AttrSet - Example: mapAttrsRecursive (path: value: concatStringsSep "-" (path ++ [value])) { n = { a = "A"; m = { b = "B"; c = "C"; }; }; d = "D"; } => { n = { a = "n-a-A"; m = { b = "n-m-b-B"; c = "n-m-c-C"; }; }; d = "d-D"; } + + Type: + mapAttrsRecursive :: ([String] -> a -> b) -> AttrSet -> AttrSet */ - mapAttrsRecursive = mapAttrsRecursiveCond (as: true); + mapAttrsRecursive = + # A function, given a list of attribute names and a value, returns a new value. + f: + # Set to recursively map over. + set: + mapAttrsRecursiveCond (as: true) f set; /* Like `mapAttrsRecursive', but it takes an additional predicate @@ -397,10 +504,6 @@ rec { recurse, but does apply the map function. If it returns true, it does recurse, and does not apply the map function. - Type: - mapAttrsRecursiveCond :: - (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet - Example: # To prevent recursing into derivations (which are attribute # sets with the attribute "type" equal to "derivation"): @@ -408,8 +511,17 @@ rec { (as: !(as ? "type" && as.type == "derivation")) (x: ... do something ...) attrs + + Type: + mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([String] -> a -> b) -> AttrSet -> AttrSet */ - mapAttrsRecursiveCond = cond: f: set: + mapAttrsRecursiveCond = + # A function, given the attribute set the recursion is currently at, determine if to recurse deeper into that attribute set. + cond: + # A function, given a list of attribute names and a value, returns a new value. + f: + # Attribute set to recursively map over. + set: let recurse = path: let @@ -428,13 +540,20 @@ rec { Example: genAttrs [ "foo" "bar" ] (name: "x_" + name) => { foo = "x_foo"; bar = "x_bar"; } + + Type: + genAttrs :: [ String ] -> (String -> Any) -> AttrSet */ - genAttrs = names: f: + genAttrs = + # Names of values in the resulting attribute set. + names: + # A function, given the name of the attribute, returns the attribute's value. + f: listToAttrs (map (n: nameValuePair n (f n)) names); /* Check whether the argument is a derivation. Any set with - { type = "derivation"; } counts as a derivation. + `{ type = "derivation"; }` counts as a derivation. Example: nixpkgs = import {} @@ -442,25 +561,36 @@ rec { => true isDerivation "foobar" => false - */ - isDerivation = x: x.type or null == "derivation"; - /* Converts a store path to a fake derivation. */ - toDerivation = path: - let - path' = builtins.storePath path; - res = - { type = "derivation"; - name = sanitizeDerivationName (builtins.substring 33 (-1) (baseNameOf path')); - outPath = path'; - outputs = [ "out" ]; - out = res; - outputName = "out"; - }; + Type: + isDerivation :: Any -> Bool + */ + isDerivation = + # Value to check. + value: value.type or null == "derivation"; + + /* Converts a store path to a fake derivation. + + Type: + toDerivation :: Path -> Derivation + */ + toDerivation = + # A store path to convert to a derivation. + path: + let + path' = builtins.storePath path; + res = + { type = "derivation"; + name = sanitizeDerivationName (builtins.substring 33 (-1) (baseNameOf path')); + outPath = path'; + outputs = [ "out" ]; + out = res; + outputName = "out"; + }; in res; - /* If `cond' is true, return the attribute set `as', + /* If `cond` is true, return the attribute set `as`, otherwise an empty attribute set. Example: @@ -468,47 +598,82 @@ rec { => { my = "set"; } optionalAttrs (false) { my = "set"; } => { } + + Type: + optionalAttrs :: Bool -> AttrSet */ - optionalAttrs = cond: as: if cond then as else {}; + optionalAttrs = + # Condition under which the `as` attribute set is returned. + cond: + # The attribute set to return if `cond` is `true`. + as: + if cond then as else {}; - /* Merge sets of attributes and use the function f to merge attributes + /* Merge sets of attributes and use the function `f` to merge attributes values. Example: zipAttrsWithNames ["a"] (name: vs: vs) [{a = "x";} {a = "y"; b = "z";}] => { a = ["x" "y"]; } + + Type: + zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet */ - zipAttrsWithNames = names: f: sets: + zipAttrsWithNames = + # List of attribute names to zip. + names: + # A function, accepts an attribute name, all the values, and returns a combined value. + f: + # List of values from the list of attribute sets. + sets: listToAttrs (map (name: { inherit name; value = f name (catAttrs name sets); }) names); - /* Implementation note: Common names appear multiple times in the list of + + /* Merge sets of attributes and use the function f to merge attribute values. + Like `lib.attrsets.zipAttrsWithNames` with all key names are passed for `names`. + + Implementation note: Common names appear multiple times in the list of names, hopefully this does not affect the system because the maximal - laziness avoid computing twice the same expression and listToAttrs does + laziness avoid computing twice the same expression and `listToAttrs` does not care about duplicated attribute names. Example: zipAttrsWith (name: values: values) [{a = "x";} {a = "y"; b = "z";}] => { a = ["x" "y"]; b = ["z"] } + + Type: + zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet */ zipAttrsWith = builtins.zipAttrsWith or (f: sets: zipAttrsWithNames (concatMap attrNames sets) f sets); - /* Like `zipAttrsWith' with `(name: values: values)' as the function. - Example: - zipAttrs [{a = "x";} {a = "y"; b = "z";}] - => { a = ["x" "y"]; b = ["z"] } + + /* Merge sets of attributes and combine each attribute value in to a list. + + Like `lib.attrsets.zipAttrsWith' with `(name: values: values)' as the function. + + Example: + zipAttrs [{a = "x";} {a = "y"; b = "z";}] + => { a = ["x" "y"]; b = ["z"] } + + Type: + zipAttrs :: [ AttrSet ] -> AttrSet */ - zipAttrs = zipAttrsWith (name: values: values); + zipAttrs = + # List of attribute sets to zip together. + sets: + zipAttrsWith (name: values: values) sets; + /* Does the same as the update operator '//' except that attributes are merged until the given predicate is verified. The predicate should accept 3 arguments which are the path to reach the attribute, a part of the first attribute set and a part of the second attribute set. When - the predicate is verified, the value of the first attribute set is + the predicate is satisfied, the value of the first attribute set is replaced by the value of the second attribute set. Example: @@ -524,15 +689,23 @@ rec { baz = 4; } - returns: { + => { foo.bar = 1; # 'foo.*' from the second set foo.quz = 2; # bar = 3; # 'bar' from the first set baz = 4; # 'baz' from the second set } - */ - recursiveUpdateUntil = pred: lhs: rhs: + Type: + recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet + */ + recursiveUpdateUntil = + # Predicate, taking the path to the current attribute as a list of strings for attribute names, and the two values at that path from the original arguments. + pred: + # Left attribute set of the merge. + lhs: + # Right attribute set of the merge. + rhs: let f = attrPath: zipAttrsWith (n: values: let here = attrPath ++ [n]; in @@ -544,6 +717,7 @@ rec { ); in f [] [rhs lhs]; + /* A recursive variant of the update operator ‘//’. The recursion stops when one of the attribute values is not an attribute set, in which case the right hand side value takes precedence over the @@ -562,16 +736,32 @@ rec { boot.loader.grub.device = ""; } - */ - recursiveUpdate = recursiveUpdateUntil (path: lhs: rhs: !(isAttrs lhs && isAttrs rhs)); + Type: + recursiveUpdate :: AttrSet -> AttrSet -> AttrSet + */ + recursiveUpdate = + # Left attribute set of the merge. + lhs: + # Right attribute set of the merge. + rhs: + recursiveUpdateUntil (path: lhs: rhs: !(isAttrs lhs && isAttrs rhs)) lhs rhs; + /* Returns true if the pattern is contained in the set. False otherwise. Example: matchAttrs { cpu = {}; } { cpu = { bits = 64; }; } => true - */ - matchAttrs = pattern: attrs: assert isAttrs pattern; + + Type: + matchAttrs :: AttrSet -> AttrSet -> Bool + */ + matchAttrs = + # Attribute set strucutre to match + pattern: + # Attribute set to find patterns in + attrs: + assert isAttrs pattern; all id (attrValues (zipAttrsWithNames (attrNames pattern) (n: values: let pat = head values; val = elemAt values 1; in if length values == 1 then false @@ -579,6 +769,7 @@ rec { else pat == val ) [pattern attrs])); + /* Override only the attributes that are already present in the old set useful for deep-overriding. @@ -589,10 +780,18 @@ rec { => { b = 2; } overrideExisting { a = 3; b = 2; } { a = 1; } => { a = 1; b = 2; } + + Type: + overrideExisting :: AttrSet -> AttrSet -> AttrSet */ - overrideExisting = old: new: + overrideExisting = + # Original attribute set + old: + # Attribute set with attributes to override in `old`. + new: mapAttrs (name: value: new.${name} or value) old; + /* Turns a list of strings into a human-readable description of those strings represented as an attribute path. The result of this function is not intended to be machine-readable. @@ -602,44 +801,120 @@ rec { => "foo.\"10\".bar" showAttrPath [] => "" + + Type: + showAttrPath :: [String] -> String */ - showAttrPath = path: + showAttrPath = + # Attribute path to render to a string + path: if path == [] then "" else concatMapStringsSep "." escapeNixIdentifier path; + /* Get a package output. If no output is found, fallback to `.out` and then to the default. Example: getOutput "dev" pkgs.openssl => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev" + + Type: + getOutput :: String -> Derivation -> String */ getOutput = output: pkg: if ! pkg ? outputSpecified || ! pkg.outputSpecified then pkg.${output} or pkg.out or pkg else pkg; + /* Get a package's `bin` output. + If the output does not exist, fallback to `.out` and then to the default. + + Example: + getOutput pkgs.openssl + => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r" + + Type: + getOutput :: Derivation -> String + */ getBin = getOutput "bin"; + + + /* Get a package's `lib` output. + If the output does not exist, fallback to `.out` and then to the default. + + Example: + getOutput pkgs.openssl + => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-lib" + + Type: + getOutput :: Derivation -> String + */ getLib = getOutput "lib"; + + + /* Get a package's `dev` output. + If the output does not exist, fallback to `.out` and then to the default. + + Example: + getOutput pkgs.openssl + => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev" + + Type: + getOutput :: Derivation -> String + */ getDev = getOutput "dev"; + + + /* Get a package's `man` output. + If the output does not exist, fallback to `.out` and then to the default. + + Example: + getOutput pkgs.openssl + => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-man" + + Type: + getOutput :: Derivation -> String + */ getMan = getOutput "man"; - /* Pick the outputs of packages to place in buildInputs */ - chooseDevOutputs = builtins.map getDev; + /* Pick the outputs of packages to place in `buildInputs` */ + chooseDevOutputs = + # List of packages to pick `dev` outputs from + drvs: + builtins.map getDev drvs; /* Make various Nix tools consider the contents of the resulting attribute set when looking for what to build, find, etc. This function only affects a single attribute set; it does not apply itself recursively for nested attribute sets. + + Example: + { pkgs ? import {} }: + { + myTools = pkgs.lib.recurseIntoAttrs { + inherit (pkgs) hello figlet; + }; + } + + Type: + recurseIntoAttrs :: AttrSet -> AttrSet */ recurseIntoAttrs = - attrs: attrs // { recurseForDerivations = true; }; + # An attribute set to scan for derivations. + attrs: + attrs // { recurseForDerivations = true; }; /* Undo the effect of recurseIntoAttrs. + + Type: + recurseIntoAttrs :: AttrSet -> AttrSet */ dontRecurseIntoAttrs = - attrs: attrs // { recurseForDerivations = false; }; + # An attribute set to not scan for derivations. + attrs: + attrs // { recurseForDerivations = false; }; /* `unionOfDisjoint x y` is equal to `x // y // z` where the attrnames in `z` are the intersection of the attrnames in `x` and @@ -655,9 +930,9 @@ rec { in (x // y) // mask; - /*** deprecated stuff ***/ - + # deprecated zipWithNames = zipAttrsWithNames; + # deprecated zip = builtins.trace "lib.zip is deprecated, use lib.zipAttrsWith instead" zipAttrsWith; } From 0341c8bca119d8aacc814391ce6ea30ea5b30e1c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 8 Dec 2022 23:13:17 +0100 Subject: [PATCH 26/79] python310Packages.patiencediff: add changelog to meta --- pkgs/development/python-modules/patiencediff/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/patiencediff/default.nix b/pkgs/development/python-modules/patiencediff/default.nix index 8c3311de8448..1a77aa0ca169 100644 --- a/pkgs/development/python-modules/patiencediff/default.nix +++ b/pkgs/development/python-modules/patiencediff/default.nix @@ -35,6 +35,7 @@ buildPythonPackage rec { meta = with lib; { description = "C implementation of patiencediff algorithm for Python"; homepage = "https://github.com/breezy-team/patiencediff"; + changelog = "https://github.com/breezy-team/patiencediff/releases/tag/v${version}"; license = licenses.gpl2Plus; maintainers = with maintainers; [ wildsebastian ]; }; From 6560331b4456ce1a4a40a15d82477c950207c4df Mon Sep 17 00:00:00 2001 From: Ryan Horiguchi Date: Thu, 8 Dec 2022 23:19:09 +0100 Subject: [PATCH 27/79] adguardhome: 0.107.19 -> 0.107.20 --- pkgs/servers/adguardhome/bins.nix | 20 ++++++++++---------- pkgs/servers/adguardhome/default.nix | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix index 101a37bd2415..d2c6b334eab0 100644 --- a/pkgs/servers/adguardhome/bins.nix +++ b/pkgs/servers/adguardhome/bins.nix @@ -1,23 +1,23 @@ { fetchurl, fetchzip }: { x86_64-darwin = fetchzip { - sha256 = "sha256-R9Ggjl9Qw1F2n2U7uGcLqgjwrLoUjlO8KUsI4sQf/JU="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.19/AdGuardHome_darwin_amd64.zip"; + sha256 = "sha256-pCyMhfDl371zzc3oXo+n09qNcxMtDQEqaqVW+YIrx28="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_darwin_amd64.zip"; }; aarch64-darwin = fetchzip { - sha256 = "sha256-MStBeDsqHK+m91DBTIAzaleIL0GNhqdslIvPOmtOaDQ="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.19/AdGuardHome_darwin_arm64.zip"; + sha256 = "sha256-O2UTzaWaYTkeR3z/O8U/Btigjp/8gns4Y/D9yoX2Hns="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_darwin_arm64.zip"; }; i686-linux = fetchurl { - sha256 = "sha256-bkUSxifnSfDZk2kmp23n6KBlqa70CrBIKuCF+EEHTwk="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.19/AdGuardHome_linux_386.tar.gz"; + sha256 = "sha256-ao/uebGho3CafFEcCfcS+awsC9lO/6z1UL57Yvr/q14="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_386.tar.gz"; }; x86_64-linux = fetchurl { - sha256 = "sha256-dHj91ZYhHTA8XoZ8oUhDQzu6Fpg0n/CBqDZux0QnwXI="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.19/AdGuardHome_linux_amd64.tar.gz"; + sha256 = "sha256-KJIogRRlZFPy3jBb9JeEA7xgZkl9/97cA13rBK6/1fI="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_amd64.tar.gz"; }; aarch64-linux = fetchurl { - sha256 = "sha256-f5nXnLkL6yvkE9kUnHdsD+MQhUjbkQGmVj7Nr/znBrw="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.19/AdGuardHome_linux_arm64.tar.gz"; + sha256 = "sha256-r8gqUa9dULAYPUB64X4aqyaNf0CpckUNIsWl+VylhaM="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.20/AdGuardHome_linux_arm64.tar.gz"; }; } diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix index 9b9df3072d54..99c7e9688f35 100644 --- a/pkgs/servers/adguardhome/default.nix +++ b/pkgs/servers/adguardhome/default.nix @@ -7,7 +7,7 @@ in stdenv.mkDerivation rec { pname = "adguardhome"; - version = "0.107.19"; + version = "0.107.20"; src = sources.${system} or (throw "Source for ${pname} is not available for ${system}"); installPhase = '' From 2d18c6c507973884ec01e192a6a5708ca12f2404 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 8 Dec 2022 23:44:00 +0100 Subject: [PATCH 28/79] python310Packages.pylitterbot: add changelog to meta --- pkgs/development/python-modules/pylitterbot/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix index 169784039c6c..f65694ac492c 100644 --- a/pkgs/development/python-modules/pylitterbot/default.nix +++ b/pkgs/development/python-modules/pylitterbot/default.nix @@ -56,6 +56,7 @@ buildPythonPackage rec { meta = with lib; { description = "Modulefor controlling a Litter-Robot"; homepage = "https://github.com/natekspencer/pylitterbot"; + changelog = "https://github.com/natekspencer/pylitterbot/releases/tag/${version}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; From ed64603c788ac224529a9a85bde8d4575827011d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 8 Dec 2022 23:44:41 +0100 Subject: [PATCH 29/79] python310Packages.pylitterbot: 2022.11.0 -> 2022.12.0 Diff: https://github.com/natekspencer/pylitterbot/compare/refs/tags/2022.11.0...2022.12.0 Changelog: https://github.com/natekspencer/pylitterbot/releases/tag/2022.12.0 --- pkgs/development/python-modules/pylitterbot/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix index f65694ac492c..704c2526328b 100644 --- a/pkgs/development/python-modules/pylitterbot/default.nix +++ b/pkgs/development/python-modules/pylitterbot/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pylitterbot"; - version = "2022.11.0"; + version = "2022.12.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "natekspencer"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-GEKLkFzQV8xI3c8061fO1p66WKj3eDXmx7VaRYDu7kw="; + hash = "sha256-uqiSNqM1HKNAipIKKsUHv9mPfdk01ZrNWMXIzhgxxjU="; }; nativeBuildInputs = [ From 126fefc1d7a7b7deb5a26da87783791c6668fff7 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Dec 2022 00:03:59 +0100 Subject: [PATCH 30/79] python310Packages.msgspec: add changelog to meta --- pkgs/development/python-modules/msgspec/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/msgspec/default.nix b/pkgs/development/python-modules/msgspec/default.nix index 6ec4772611f8..05d97742c173 100644 --- a/pkgs/development/python-modules/msgspec/default.nix +++ b/pkgs/development/python-modules/msgspec/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "jcrist"; repo = pname; - rev = version; + rev = "refs/tags/${version}"; hash = "sha256-q7WNVnkvK7MTleHEuClOFJ0Wv6EWu/3ztMi6TYdKgKU="; }; @@ -30,6 +30,7 @@ buildPythonPackage rec { meta = with lib; { description = "Module to handle JSON/MessagePack"; homepage = "https://github.com/jcrist/msgspec"; + changelog = "https://github.com/jcrist/msgspec/releases/tag/${version}"; license = licenses.bsd3; maintainers = with maintainers; [ fab ]; }; From 81899fd5b505288b52effbe06a7ef42ee48d146d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Dec 2022 00:04:53 +0100 Subject: [PATCH 31/79] python310Packages.msgspec: 0.9.1 -> 0.10.0 Diff: https://github.com/jcrist/msgspec/compare/refs/tags/0.9.1...0.10.0 Changelog: https://github.com/jcrist/msgspec/releases/tag/0.10.0 --- pkgs/development/python-modules/msgspec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/msgspec/default.nix b/pkgs/development/python-modules/msgspec/default.nix index 05d97742c173..0a97a6ec7fea 100644 --- a/pkgs/development/python-modules/msgspec/default.nix +++ b/pkgs/development/python-modules/msgspec/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "msgspec"; - version = "0.9.1"; + version = "0.10.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "jcrist"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-q7WNVnkvK7MTleHEuClOFJ0Wv6EWu/3ztMi6TYdKgKU="; + hash = "sha256-xZbhXQ+2IHXjeEcoAkGmQItNr4gH8wmyREM/lNE6Tj0="; }; # Requires libasan to be accessible From 67ede5b0e791691c13478bc1a0452efb8a8fb88a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Dec 2022 00:05:13 +0100 Subject: [PATCH 32/79] python310Packages.msgspec: 0.10.0 -> 0.10.1 Diff: https://github.com/jcrist/msgspec/compare/refs/tags/0.10.0...0.10.1 Changelog: https://github.com/jcrist/msgspec/releases/tag/0.10.1 --- pkgs/development/python-modules/msgspec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/msgspec/default.nix b/pkgs/development/python-modules/msgspec/default.nix index 0a97a6ec7fea..d11338a0f070 100644 --- a/pkgs/development/python-modules/msgspec/default.nix +++ b/pkgs/development/python-modules/msgspec/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "msgspec"; - version = "0.10.0"; + version = "0.10.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "jcrist"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-xZbhXQ+2IHXjeEcoAkGmQItNr4gH8wmyREM/lNE6Tj0="; + hash = "sha256-/tu29RIszjzYQKeyYe+8Zkud3L/HBoWdXdpNcilWERs="; }; # Requires libasan to be accessible From 325cb69c8121fdf57a826eda2ef403d48be63939 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Dec 2022 00:09:08 +0100 Subject: [PATCH 33/79] python310Packages.life360: add changelog to meta --- pkgs/development/python-modules/life360/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/life360/default.nix b/pkgs/development/python-modules/life360/default.nix index 947d29762f3e..ffbea7a93e2d 100644 --- a/pkgs/development/python-modules/life360/default.nix +++ b/pkgs/development/python-modules/life360/default.nix @@ -34,6 +34,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python module to interact with Life360"; homepage = "https://github.com/pnbruckner/life360"; + changelog = "https://github.com/pnbruckner/life360/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; From 32c3d4e6f8bf75cab2a7eb3c066235a4890c5e39 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 9 Dec 2022 00:09:44 +0100 Subject: [PATCH 34/79] python310Packages.life360: 5.3.0 -> 5.4.0 Diff: https://github.com/pnbruckner/life360/compare/refs/tags/v5.3.0...v5.4.0 Changelog: https://github.com/pnbruckner/life360/releases/tag/v5.4.0 --- pkgs/development/python-modules/life360/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/life360/default.nix b/pkgs/development/python-modules/life360/default.nix index ffbea7a93e2d..64eb6499afb4 100644 --- a/pkgs/development/python-modules/life360/default.nix +++ b/pkgs/development/python-modules/life360/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "life360"; - version = "5.3.0"; + version = "5.4.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "pnbruckner"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-GacesPWPTuIIZel4OARWW13OYflYFNf4Jxh9I8ms7s0="; + hash = "sha256-AY3TW6gpKST2uxxpmtlLz+qP18yJHyOk6XdA5yGJBEg="; }; propagatedBuildInputs = [ From ce0658b0459131464530b86fa94af5bf4cb597b6 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Thu, 8 Dec 2022 20:30:10 -0500 Subject: [PATCH 35/79] waypoint: 0.10.3 -> 0.10.4 Diff: https://github.com/hashicorp/waypoint/compare/v0.10.3...v0.10.4 Changelog: https://github.com/hashicorp/waypoint/blob/v0.10.4/CHANGELOG.md --- pkgs/applications/networking/cluster/waypoint/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix index 317c0d5374bc..36718608d420 100644 --- a/pkgs/applications/networking/cluster/waypoint/default.nix +++ b/pkgs/applications/networking/cluster/waypoint/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "waypoint"; - version = "0.10.3"; + version = "0.10.4"; src = fetchFromGitHub { owner = "hashicorp"; repo = pname; rev = "v${version}"; - sha256 = "sha256-+lNeMcSlhmbs1knONnoX2RhEgxTYyCfpdD6WuDTiLx8="; + sha256 = "sha256-jbrzXktY1vGk1DuzrzxlWwFQoFPprnDy2YjZQBgmcPI="; }; - vendorSha256 = "sha256-59rJ30m6eiNIapJUNc1jRJE7IoAj0O+5G8JyKkhcyvY="; + vendorSha256 = "sha256-oTzGgyQZWNj7vNpAaDO47nB7EbpUiQD66u4F1LJ2CR0="; nativeBuildInputs = [ go-bindata installShellFiles ]; From e5bc058d8e6b05d5dbb00a3dbab66608e90708fa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 9 Dec 2022 01:41:34 +0000 Subject: [PATCH 36/79] python310Packages.pynamodb: 5.3.3 -> 5.3.4 --- pkgs/development/python-modules/pynamodb/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pynamodb/default.nix b/pkgs/development/python-modules/pynamodb/default.nix index 9348a4f8f373..5c9cfa2a4e80 100644 --- a/pkgs/development/python-modules/pynamodb/default.nix +++ b/pkgs/development/python-modules/pynamodb/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "pynamodb"; - version = "5.3.3"; + version = "5.3.4"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "pynamodb"; repo = "PynamoDB"; rev = "refs/tags/${version}"; - hash = "sha256-j21CCPTRj7c7vClujHYEkmH31B48gDFYQbBXoChNSaI="; + hash = "sha256-qg/aFK7rt2a/ZcLm+VSlq8UYBh6zS0/VVLqRAN7kLus="; }; propagatedBuildInputs = [ From aeae4fa17d7c8b3e750f9b8c4ea4ffd46312a03c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 9 Dec 2022 02:28:16 +0000 Subject: [PATCH 37/79] python310Packages.sacn: 1.8.1 -> 1.9.0 --- pkgs/development/python-modules/sacn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sacn/default.nix b/pkgs/development/python-modules/sacn/default.nix index ff432f6f3a00..e7239a15db3f 100644 --- a/pkgs/development/python-modules/sacn/default.nix +++ b/pkgs/development/python-modules/sacn/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "sacn"; - version = "1.8.1"; + version = "1.9.0"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "cdc9af732f4ca5badbf732499775575c4f815c73f857720c0a61a3fc80257f7a"; + sha256 = "sha256-LimA0I8y1tdjFk244iWvKJj0Rx3OEaYOSIJtirRHh4o="; }; # no tests From f7131a9557524bd747047df8ed8ff9c96ed38532 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 9 Dec 2022 03:56:37 +0100 Subject: [PATCH 38/79] scummvm: fix build on aarch64-darwin --- pkgs/games/scummvm/default.nix | 4 +++- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index 8de6206ecd08..9b989ac70e05 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -36,7 +36,9 @@ stdenv.mkDerivation rec { postConfigure = '' sed -i "s/-c -s/-c -s --strip-program=''${STRIP@Q}/" ports.mk '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace config.mk --replace x86_64-apple-darwin-ranlib ${cctools}/bin/ranlib + substituteInPlace config.mk \ + --replace x86_64-apple-darwin-ranlib ${cctools}/bin/ranlib \ + --replace aarch64-apple-darwin-ranlib ${cctools}/bin/ranlib ''; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 172ba6fd737b..9ddcdf05a6c8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34734,6 +34734,7 @@ with pkgs; }; scummvm = callPackage ../games/scummvm { + stdenv = if (stdenv.isDarwin && stdenv.isAarch64) then llvmPackages_14.stdenv else stdenv; inherit (darwin) cctools; inherit (darwin.apple_sdk.frameworks) Cocoa AudioToolbox Carbon CoreMIDI AudioUnit; }; From ba75a21915f2c2cfd4bfd73834063442e74077d8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 9 Dec 2022 03:01:39 +0000 Subject: [PATCH 39/79] python310Packages.simber: 0.2.4 -> 0.2.5 --- pkgs/development/python-modules/simber/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/simber/default.nix b/pkgs/development/python-modules/simber/default.nix index 68e9638c350a..c61523d2f392 100644 --- a/pkgs/development/python-modules/simber/default.nix +++ b/pkgs/development/python-modules/simber/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "simber"; - version = "0.2.4"; + version = "0.2.5"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -16,8 +16,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "deepjyoti30"; repo = pname; - rev = version; - hash = "sha256-P4bhxu9Di4E2Zkd0vIkyDi1S6Y0V/EQSMF4ftWoiXKE="; + rev = "refs/tags/${version}"; + hash = "sha256-d9YhqYmRyoYb03GqYKM7HkK8cnTQKPbSP6z2aanB6pQ="; }; propagatedBuildInputs = [ From 55af78e7df3a0139ac6a510bf0f8458446ae01ff Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 8 Dec 2022 23:29:49 -0500 Subject: [PATCH 40/79] ruff: 0.0.170 -> 0.0.171 Diff: https://github.com/charliermarsh/ruff/compare/v0.0.170...v0.0.171 Changelog: https://github.com/charliermarsh/ruff/releases/tag/v0.0.171 --- pkgs/development/tools/ruff/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix index ef1c0e3f28fc..6fb47035f0a8 100644 --- a/pkgs/development/tools/ruff/default.nix +++ b/pkgs/development/tools/ruff/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "ruff"; - version = "0.0.170"; + version = "0.0.171"; src = fetchFromGitHub { owner = "charliermarsh"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5i8bB9glU7kq7HMK/nFa83RDtJEDk1NXm5M4ZP1gCs8="; + sha256 = "sha256-2aqpQo7U17wqQ/YUMreOOKkcVWiKHAdFAUL/6HP6zN8="; }; - cargoSha256 = "sha256-faPbyESECcA+sM8hPfrNR0jpZjVVf8frKpGnv8LdUuc="; + cargoSha256 = "sha256-N/WoPc2BxujqE/OSp9RWS7dBHGKxIixtBqwDwR3p6TM="; buildInputs = lib.optionals stdenv.isDarwin [ CoreServices From 86ae48a4bf2387f6ea3ec413506f8f4be3ed2722 Mon Sep 17 00:00:00 2001 From: InternetUnexplorer Date: Thu, 8 Dec 2022 22:38:00 -0800 Subject: [PATCH 41/79] skim: fix fish shell keybindings This fixes a typo that prevented the fish keybindings from being loaded. Also, the keybindings are now only loaded if programs.skim.keybindings is true, which matches the behavior for bash and zsh. --- nixos/modules/programs/skim.nix | 6 +++++- pkgs/tools/misc/skim/default.nix | 4 +--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/modules/programs/skim.nix b/nixos/modules/programs/skim.nix index 1333cdd30ab2..57a5d68ec3d5 100644 --- a/nixos/modules/programs/skim.nix +++ b/nixos/modules/programs/skim.nix @@ -6,7 +6,7 @@ in { options = { programs.skim = { - fuzzyCompletion = mkEnableOption (mdDoc "fuzzy Completion with skim"); + fuzzyCompletion = mkEnableOption (mdDoc "fuzzy completion with skim"); keybindings = mkEnableOption (mdDoc "skim keybindings"); package = mkPackageOption pkgs "skim" {}; }; @@ -26,5 +26,9 @@ in '' + optionalString cfg.keybindings '' source ${cfg.package}/share/skim/key-bindings.zsh ''; + + programs.fish.interactiveShellInit = optionalString cfg.keybindings '' + source ${cfg.package}/share/skim/key-bindings.fish && skim_key_bindings + ''; }; } diff --git a/pkgs/tools/misc/skim/default.nix b/pkgs/tools/misc/skim/default.nix index 3a999bb0e201..bdd6221d6671 100644 --- a/pkgs/tools/misc/skim/default.nix +++ b/pkgs/tools/misc/skim/default.nix @@ -30,9 +30,7 @@ rustPlatform.buildRustPackage rec { install -D -m 444 plugin/skim.vim -t $vim/plugin install -D -m 444 shell/* -t $out/share/skim - install -D shell/key-bindings.fish $out/share/fish/vendor_functions.d/sk_key_bindings.fish - mkdir -p $out/share/fish/vendor_conf.d - echo sk_key_bindings > $out/share/fish/vendor_conf.d/load-sk-key-bindings.fish + installManPage man/man1/* cat <