From d4e775bd1a2f30a7e9a5873ad908591c6c31c982 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 25 Jan 2024 13:37:20 +0000 Subject: [PATCH 01/20] makeInitrdNGTool: 0.1.0 -> 0.1.0 --- pkgs/build-support/kernel/make-initrd-ng/Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock b/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock index 961c5a3c1ab6..83e0fd3a2c5e 100644 --- a/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock +++ b/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock @@ -57,9 +57,9 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "proc-macro2" -version = "1.0.76" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] From e686847d206428b68b53a9da3b79ffbf6b2c8d7f Mon Sep 17 00:00:00 2001 From: jerrita Date: Sat, 3 Feb 2024 09:47:54 +0800 Subject: [PATCH 02/20] nixos/nftables: add option for flattening rulesetFile Co-authored-by: Lin Jian --- .../modules/services/networking/nftables.nix | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/networking/nftables.nix b/nixos/modules/services/networking/nftables.nix index 424d005dc0b5..36d006808347 100644 --- a/nixos/modules/services/networking/nftables.nix +++ b/nixos/modules/services/networking/nftables.nix @@ -185,6 +185,19 @@ in can be loaded using "nft -f". The ruleset is updated atomically. ''; }; + + networking.nftables.flattenRulesetFile = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Use `builtins.readFile` rather than `include` to handle {option}`networking.nftables.rulesetFile`. It is useful when you want to apply {option}`networking.nftables.preCheckRuleset` to {option}`networking.nftables.rulesetFile`. + + ::: {.note} + It is expected that {option}`networking.nftables.rulesetFile` can be accessed from the build sandbox. + ::: + ''; + }; + networking.nftables.tables = mkOption { type = types.attrsOf (types.submodule tableSubmodule); @@ -293,9 +306,13 @@ in } '') enabledTables)} ${cfg.ruleset} - ${lib.optionalString (cfg.rulesetFile != null) '' - include "${cfg.rulesetFile}" - ''} + ${if cfg.rulesetFile != null then + if cfg.flattenRulesetFile then + builtins.readFile cfg.rulesetFile + else '' + include "${cfg.rulesetFile}" + '' + else ""} ''; checkPhase = lib.optionalString cfg.checkRuleset '' cp $out ruleset.conf From 5a3c3d30d990bccc09c35323f607c1a22270ad3c Mon Sep 17 00:00:00 2001 From: Aaron Jheng Date: Tue, 6 Feb 2024 23:08:55 +0800 Subject: [PATCH 03/20] qsreplace: use buildGoModule --- pkgs/by-name/qs/qsreplace/package.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/qs/qsreplace/package.nix b/pkgs/by-name/qs/qsreplace/package.nix index a12c27e26ec5..6949374e212f 100644 --- a/pkgs/by-name/qs/qsreplace/package.nix +++ b/pkgs/by-name/qs/qsreplace/package.nix @@ -1,14 +1,12 @@ { lib , fetchFromGitHub -, buildGoPackage +, buildGoModule }: -buildGoPackage rec { +buildGoModule rec { pname = "qsreplace"; version = "0.0.3"; - goPackagePath = "github.com/tomnomnom/qsreplace"; - src = fetchFromGitHub { owner = "tomnomnom"; repo = "qsreplace"; @@ -16,6 +14,10 @@ buildGoPackage rec { hash = "sha256-j9bqO2gp4RUxZHGBCIxI5nA3nD1dG4nCpJ1i4TM/fbo="; }; + vendorHash = null; + + ldflags = [ "-s" "-w" ]; + meta = with lib; { homepage = "https://github.com/tomnomnom/qsreplace"; description = "Accept URLs on stdin, replace all query string values with a user-supplied value"; From d9009e00284ffd8e1151733899522e3e19e1ca45 Mon Sep 17 00:00:00 2001 From: Valentin Gagarin Date: Fri, 9 Feb 2024 10:24:27 +0100 Subject: [PATCH 04/20] doc: expand on parameters passed to QEMU VMs --- nixos/modules/virtualisation/qemu-vm.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 3d7f3ccb62f8..f5f89ece2423 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -809,14 +809,19 @@ in defaultText = "!cfg.useBootLoader"; description = lib.mdDoc '' - If enabled, the virtual machine will boot directly into the kernel instead of through a bootloader. Other relevant parameters such as the initrd are also passed to QEMU. + If enabled, the virtual machine will boot directly into the kernel instead of through a bootloader. + Read more about this feature in the [QEMU documentation on Direct Linux Boot](https://qemu-project.gitlab.io/qemu/system/linuxboot.html) + This is enabled by default. If you want to test netboot, consider disabling this option. + Enable a bootloader with {option}`virtualisation.useBootLoader` if you need. - This will not boot / reboot correctly into a system that has switched to a different configuration on disk. + Relevant parameters such as those set in `boot.initrd` and `boot.kernelParams` are also passed to QEMU. + Additional parameters can be supplied on invocation through the environment variable `$QEMU_KERNEL_PARAMS`. + They are added to the `-append` option, see [QEMU User Documentation](https://www.qemu.org/docs/master/system/qemu-manpage) for details + For example, to let QEMU use the parent terminal as the serial console, set `QEMU_KERNEL_PARAMS="console=ttyS0"`. - This is enabled by default if you don't enable bootloaders, but you can still enable a bootloader if you need. - Read more about this feature: . + This will not (re-)boot correctly into a system that has switched to a different configuration on disk. ''; }; initrd = @@ -846,6 +851,8 @@ in If disabled, the kernel and initrd are directly booted, forgoing any bootloader. + + Check the documentation on {option}`virtualisation.directBoot.enable` for details. ''; }; From 11c26d4cc5f8997d678860eb37bca41ed37b8a4b Mon Sep 17 00:00:00 2001 From: Valentin Gagarin Date: Fri, 9 Feb 2024 11:16:28 +0100 Subject: [PATCH 05/20] use code for env var notation --- nixos/modules/virtualisation/qemu-vm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index f5f89ece2423..1b93634a95c6 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -734,7 +734,7 @@ in The default is to use userspace networking (SLiRP). If you override this option, be advised to keep - ''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS} (as seen in the example) + `''${QEMU_NET_OPTS:+,$QEMU_NET_OPTS}` (as seen in the example) to keep the default runtime behaviour. ''; }; From efe53637fb849baac729a43ea56df1a3beb95e34 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sat, 10 Feb 2024 04:20:00 +0000 Subject: [PATCH 06/20] rubyPackages: update --- pkgs/top-level/ruby-packages.nix | 550 +++++++++++++++---------------- 1 file changed, 259 insertions(+), 291 deletions(-) diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix index f1e648fdc123..267d79607f13 100644 --- a/pkgs/top-level/ruby-packages.nix +++ b/pkgs/top-level/ruby-packages.nix @@ -1,24 +1,14 @@ { - abbrev = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0hj2qyx7rzpc7awhvqlm597x7qdxwi4kkml4aqnp5jylmsm4w6xd"; - type = "gem"; - }; - version = "0.1.2"; - }; actioncable = { dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05kl5kjvd5218nq9j6yfs3mw3bm21hdjixj6x3f5nzpmbg7inz4y"; + sha256 = "052k2zx8fvm6g2x0ylfhrlhif98vv98xsxgihhknh9d2w4j6ywqg"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; actionmailbox = { dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; @@ -26,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lbxllvna81clk9957dd3346aw53gp8kgw23qccca96szhhmcy5p"; + sha256 = "083p1yd52p60fqrbx29yp5kia42mljhylvbpnmwxkxb65lxmibzw"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; @@ -37,10 +27,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07kfdadci4i9fpkvmxcpjr192ah5hi91rax47h9yabp29wpgzv73"; + sha256 = "1329z1vz01isncgkqzh2xqncf2y7hzz1gw0rqbxama323iwrv7nz"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; actionpack = { dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -48,10 +38,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qqs6hl42dy7c1hmnpxkzdk6qk22fgyjpr2ibi4yd9rlf58vm8pa"; + sha256 = "1g8ff6lgaskr6kigni7chdcazh68qgr8dhgslrj7zlzll4xx3sg3"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; actiontext = { dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; @@ -59,10 +49,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d4f693b9jjwa0r39bhpci5i734cq102ibmig5pzxcsqadcl4bds"; + sha256 = "1l9sf6jqfvzh9hy2s3hsdakf6x8r6w9776v9hgih1ac5axqp7sxz"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -70,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1jxk32mapfhla3a5wnixcfk38ndw2r4lqfsv13hmckn91wvc8h7m"; + sha256 = "1ldhlwkdlz0h409wwdl3ink0qii54m0lg9b87aji12x53lk3fssv"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -81,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "188kaggslza03lgrgdz9m1vvcbmrj91nrmvnl5fl7c4vz8kpp1np"; + sha256 = "0bjng98n0h1mlqfy9rkm2xbkalmmbvdlra1b101m0kjzfa9dqyh1"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; activemodel = { dependencies = ["activesupport"]; @@ -92,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gvf1acnkisars8wci88cz8fns27r2ssbqk2lsp9r2a7rlhqgmrl"; + sha256 = "097wj2g8wgc4n5n22nbk35c8s752pb9pxkm8vw0a30q78nbdmngd"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; activerecord = { dependencies = ["activemodel" "activesupport" "timeout"]; @@ -103,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d1bz6qq3982dbbdid4zn37rzrszvhxvb42vh4jfkr2fnzg0awvy"; + sha256 = "0lbmjxn7yr1w65d9xk2khh9rvdn0mk8syngmrq2pdzrshaj46kp0"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; activestorage = { dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"]; @@ -114,10 +104,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1knrpj89n0r7jynxasqv4mi650l5710rjnh4masfv170pnlzkc22"; + sha256 = "1na9x5y2y5s1jqip81dyml4cnhmbgdlh2ppa3qziff6hfzc7vcqx"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; activesupport = { dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; @@ -125,10 +115,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l6hmf99zgckpn812qfxfz60rbh0zixv1hxnxhjlg8942pvixn2v"; + sha256 = "09zrw3sydkk6lwzjhzia38wg1as5aab2lgnysfdr1qxh39zi7z7v"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; addressable = { dependencies = ["public_suffix"]; @@ -141,17 +131,6 @@ }; version = "2.8.6"; }; - algoliasearch = { - dependencies = ["httpclient" "json"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ly8zsgvih540xmxr098hsngv61cf119wf28q5hbvi1f7kgwvh96"; - type = "gem"; - }; - version = "1.27.5"; - }; ansi = { groups = ["default"]; platforms = []; @@ -183,16 +162,6 @@ }; version = "4.2.0"; }; - atomos = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "17vq6sjyswr5jfzwdccw748kgph6bdw30bakwnn6p8sl4hpv4hvx"; - type = "gem"; - }; - version = "0.1.3"; - }; awesome_print = { groups = ["default"]; platforms = []; @@ -248,10 +217,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1b1gqa90amazwnll9590m5ighywh9sacsmpyd5ihljivmvjswksk"; + sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w"; type = "gem"; }; - version = "3.1.5"; + version = "3.1.6"; }; bindata = { groups = ["default"]; @@ -306,15 +275,15 @@ version = "4.2.0"; }; camping = { - dependencies = ["mab" "rack"]; + dependencies = ["kdl" "listen" "mab" "rack" "rack-session" "rackup" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q2a5x97pgnld0b8yziblp9fqkjyib4gfwv9gcyynyhswqwsldpf"; + sha256 = "1w6q8qfz05w0f530yfg8r134zkbsgis9fa0awbypdqfh9jmlhn0m"; type = "gem"; }; - version = "2.1.532"; + version = "3.1.3"; }; certified = { groups = ["default"]; @@ -326,17 +295,6 @@ }; version = "1.0.0"; }; - CFPropertyList = { - dependencies = ["rexml"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1a36zn77yyibqsfpka0i8vgf3yv98ic2b9wwlbc29566y8wpa2bq"; - type = "gem"; - }; - version = "3.0.6"; - }; charlock_holmes = { groups = ["default"]; platforms = []; @@ -352,20 +310,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d"; + sha256 = "1lpm76j8d648i4f41kk7gkc2kgvfsjvw0sf8zknlr1gm38q68i75"; type = "gem"; }; - version = "1.1.0"; + version = "0.9.1"; }; clamp = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08m0syh06bhx8dqn560ivjg96l5cs5s3l9jh2szsnlcdcyl9jsjg"; + sha256 = "1gpz9jvg1gpr8xmfqd35gvyzsvmjvlvwm2sq3pyhml3i84a6qjrq"; type = "gem"; }; - version = "1.3.2"; + version = "0.6.5"; }; cld3 = { groups = ["default"]; @@ -378,15 +336,14 @@ version = "3.6.0"; }; cocoapods = { - dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1r2w719d5zfzl3wnc5npnjv4194b7gdh4vib09vifdm8yab14br3"; + sha256 = "1sgw1aymfahgyhz1317mxglnajv5jrm6d5wai4c970avsrlc6qrm"; type = "gem"; }; - version = "1.14.3"; + version = "0.2.0"; }; cocoapods-acknowledgements = { dependencies = ["cocoapods" "redcarpet" "xcodeproj"]; @@ -440,27 +397,16 @@ }; version = "0.0.3"; }; - cocoapods-core = { - dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "04qyzcwkwbm7l4kjp6m8g2pvsryfvsllwpqf0mxfnzwbdid40zwn"; - type = "gem"; - }; - version = "1.14.3"; - }; cocoapods-coverage = { dependencies = ["cocoapods-testing" "slather"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zaid3awk470igr5yilx1wvj1jnh88fbjl11hp93a4qic7j3i6ca"; + sha256 = "0y2mhsraf48ww9bp7c7ghrqh3kpx1f1djji5vpm4vh1gj4qz6669"; type = "gem"; }; - version = "0.0.6"; + version = "0.0.5"; }; cocoapods-deintegrate = { groups = ["default"]; @@ -654,10 +600,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kcvivig7vvw3bnds1pi4m69wn7cgmsffn93lw5i1nzw490x2da4"; + sha256 = "175yx0csfr34h7q5ybvrl6hnyhz6z24lvhzyx75bmc7zlgbiq4sl"; type = "gem"; }; - version = "0.4.0"; + version = "0.5.3"; }; cocoapods-wholemodule = { groups = ["default"]; @@ -695,10 +641,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xfshhlz808f8639wc88wgls1mww35sid8rd55vn0a4yqajf4vh9"; + sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1"; type = "gem"; }; - version = "1.11.1"; + version = "1.12.2"; }; colorator = { groups = ["default"]; @@ -710,15 +656,25 @@ }; version = "1.1.0"; }; + colored = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; + type = "gem"; + }; + version = "1.2"; + }; colored2 = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i"; + sha256 = "1zj06gjqwykgzxmbkp2hmg3wv5kv8zz5d77acxipzcgicdjgvfan"; type = "gem"; }; - version = "3.1.2"; + version = "4.0.0"; }; commonmarker = { groups = ["default"]; @@ -735,10 +691,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; + sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; connection_pool = { groups = ["default"]; @@ -848,10 +804,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; + sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; - version = "1.5.0"; + version = "1.5.1"; + }; + differ = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0iayb71yqw5bgarq829fwchykw8lsqm8alnjc6c2m6k74fvnvkjy"; + type = "gem"; + }; + version = "0.1.2"; }; digest-sha3 = { groups = ["default"]; @@ -990,16 +956,6 @@ }; version = "1.12.0"; }; - escape = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0sa1xkfc9jvkwyw1jbz3jhkq0ms1zrvswi6mmfiwcisg5fp497z4"; - type = "gem"; - }; - version = "0.0.4"; - }; ethon = { dependencies = ["ffi"]; groups = ["default"]; @@ -1158,26 +1114,6 @@ }; version = "2.6.0"; }; - fourflusher = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1afabh3g3gwj0ad53fs62waks815xcckf7pkci76l6vrghffcg8v"; - type = "gem"; - }; - version = "2.3.1"; - }; - fuzzy_match = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "19gw1ifsgfrv7xdi6n61658vffgm1867f4xdqfswb2b5h6alzpmm"; - type = "gem"; - }; - version = "2.0.4"; - }; gdk3 = { dependencies = ["cairo-gobject" "gdk_pixbuf2" "pango"]; groups = ["default"]; @@ -1210,16 +1146,6 @@ }; version = "3.0.1"; }; - gh_inspector = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0f8r9byajj3bi2c7c5sqrc7m0zrv3nblfcd4782lw5l73cbsgk04"; - type = "gem"; - }; - version = "1.1.3"; - }; gio2 = { dependencies = ["fiddle" "gobject-introspection"]; groups = ["default"]; @@ -1237,10 +1163,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hfjw17g33qfsrb0lwcsl0capyjdpm6zpzxrspzfb4lyppqyyqic"; + sha256 = "0w3xhay1z7qx9ab04wmy5p4f1fadvqa6239kib256wsiyvcj595h"; type = "gem"; }; - version = "1.19.0"; + version = "1.19.1"; }; github-pages = { dependencies = ["github-pages-health-check" "jekyll" "jekyll-avatar" "jekyll-coffeescript" "jekyll-commonmark-ghpages" "jekyll-default-layout" "jekyll-feed" "jekyll-gist" "jekyll-github-metadata" "jekyll-include-cache" "jekyll-mentions" "jekyll-optional-front-matter" "jekyll-paginate" "jekyll-readme-index" "jekyll-redirect-from" "jekyll-relative-links" "jekyll-remote-theme" "jekyll-sass-converter" "jekyll-seo-tag" "jekyll-sitemap" "jekyll-swiss" "jekyll-theme-architect" "jekyll-theme-cayman" "jekyll-theme-dinky" "jekyll-theme-hacker" "jekyll-theme-leap-day" "jekyll-theme-merlot" "jekyll-theme-midnight" "jekyll-theme-minimal" "jekyll-theme-modernist" "jekyll-theme-primer" "jekyll-theme-slate" "jekyll-theme-tactile" "jekyll-theme-time-machine" "jekyll-titles-from-headings" "jemoji" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "minima" "nokogiri" "rouge" "terminal-table"]; @@ -1248,10 +1174,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0brk2sgk01mly2hb1h5hm3ip1l6hjr4xx9zkqfhs5k3swlwnwzq9"; + sha256 = "0iddm5yxs6js6xdvhb4jwdyqvyngkwawjqdc4fhhyjzrfzrwdg1k"; type = "gem"; }; - version = "228"; + version = "229"; }; github-pages-health-check = { dependencies = ["addressable" "dnsruby" "octokit" "public_suffix" "typhoeus"]; @@ -1259,10 +1185,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17bs9bljrzsa8cmdr2xpa38gkcbcbac8kbwm4dh3zq0aiw1ysnfk"; + sha256 = "0gc431xd6vwrh1p7pc3gp3xn7sy1w7dr7f95hmz4fqa1b97kv2fz"; type = "gem"; }; - version = "1.17.9"; + version = "1.18.2"; }; gitlab-markup = { groups = ["default"]; @@ -1313,10 +1239,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "010wr6nnifi952bx4v5c49q25yx1g8lhib5wiv2sg7bip3yvlyy8"; + sha256 = "0r1vmql7w7ka5xzj1aqf8pk2a4sv0znwj2zkg1fgvd5b89qcvv2k"; type = "gem"; }; - version = "2.0.23"; + version = "2.0.24"; }; gtk3 = { dependencies = ["atk" "gdk3"]; @@ -1351,15 +1277,14 @@ version = "5.0.0"; }; highline = { - dependencies = ["abbrev"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yw7mjnq498xr34rvpyacw7dagw1azsds0gk781p493ygx7ck7m6"; + sha256 = "02ghhvigqbq4252gsi4w8a9klkdkybmbz29ghfp1y6sqzlcb466a"; type = "gem"; }; - version = "3.0.0"; + version = "3.0.1"; }; hike = { groups = ["default"]; @@ -1413,15 +1338,15 @@ version = "1.4.2"; }; http = { - dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"]; + dependencies = ["addressable" "base64" "http-cookie" "http-form_data" "llhttp-ffi"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bzb8p31kzv6q5p4z5xq88mnqk414rrw0y5rkhpnvpl29x5c3bpw"; + sha256 = "05b1khh7wxga9jviy9yi8z1nckxbm3svlzv40y0zvq3nag3d77mr"; type = "gem"; }; - version = "5.1.1"; + version = "5.2.0"; }; http-accept = { groups = ["default"]; @@ -1521,10 +1446,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fmwbcapyhla84xhwj3gfws6rb4lw3928ybz6g3lr372dgxakzx5"; + sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; type = "gem"; }; - version = "0.7.1"; + version = "0.7.2"; }; irb = { dependencies = ["rdoc" "reline"]; @@ -1532,10 +1457,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hh8d5l4ki6vg2p5x3v000gkrdqi1kdjv4vk5v8lfz9gr4kdc007"; + sha256 = "1f8wms39b7z83x6pflq2sjh3sikpk0xjh680igbpkp1j3pl0fpx0"; type = "gem"; }; - version = "1.11.1"; + version = "1.11.2"; }; jaro_winkler = { groups = ["default"]; @@ -1564,10 +1489,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9yzkiwm751wbyq3aq1355afcx240r24nrick1fzv578bis4kyy"; + sha256 = "1zsy65w10bnqm0pla94xfj4a01d9ji82sbbbl4ly2g103j9hnpjx"; type = "gem"; }; - version = "3.9.3"; + version = "3.9.4"; }; jekyll-archives = { dependencies = ["jekyll"]; @@ -1586,10 +1511,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03bys2pl60vq92skfhlfqr2j68zhfjc86jffpg32f94wzjk8n0wk"; + sha256 = "0jzxmfcljfvjz21wls2w5mr2m5qp0mq9c80j009s4m6yq9vn4wza"; type = "gem"; }; - version = "0.7.0"; + version = "0.8.0"; }; jekyll-coffeescript = { dependencies = ["coffee-script" "coffee-script-source"]; @@ -1597,10 +1522,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06qf4j9f6ysjb4bq6gsdaiz2ksmhc5yb484v458ra3s6ybccqvvy"; + sha256 = "040i6cyv20qmxlpm74kh5hfci8208ja4903yxdv4x0qs0z172kl9"; type = "gem"; }; - version = "1.1.1"; + version = "1.2.2"; }; jekyll-commonmark = { dependencies = ["commonmarker"]; @@ -1630,10 +1555,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "009zpd0mkmhkfp3s8yvh5mriqhil0ihv3gi2vw63flr3jz48y4kx"; + sha256 = "1br08grgv7h36jhlvzfaa3ikp1zz4b6s57ak4fhzrsjx997bw9n6"; type = "gem"; }; - version = "0.1.4"; + version = "0.1.5"; }; jekyll-favicon = { dependencies = ["jekyll" "mini_magick" "rexml"]; @@ -1652,10 +1577,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zxqkrnix0xiw98531h5ga6h69jhzlx2jh9qhvcl67p8nq3sgza9"; + sha256 = "1hzwmjrxi57x68i7jx5rxi8qlcbqcbg3di55wywrp53pr0bap6k8"; type = "gem"; }; - version = "0.15.1"; + version = "0.17.0"; }; jekyll-gist = { dependencies = ["octokit"]; @@ -1674,10 +1599,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r4m7r4qyd3pqkp5xlyp3zzy47i18kjgwq995nrspysgkmc4qmw1"; + sha256 = "0k2vnq6ns0x3iwnp8pw9lbxds924wmqswzy0gd57f95gpn49kwjc"; type = "gem"; }; - version = "2.13.0"; + version = "2.16.1"; }; jekyll-include-cache = { dependencies = ["jekyll"]; @@ -1750,10 +1675,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vfx90ajxyj24lz406k3pqknlbzy8nqs7wpz0in4ps9rggsh24yi"; + sha256 = "0d88azs1cfw0y74yiw218dk3pmsb4i5srm608lc7bbpf931m87l3"; type = "gem"; }; - version = "0.6.1"; + version = "0.7.0"; }; jekyll-remote-theme = { dependencies = ["addressable" "jekyll" "jekyll-sass-converter" "rubyzip"]; @@ -2002,10 +1927,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09sxbnrqz5vf6rxmh6lzism31gz2g3hw86ymg37r1ccknclv3cp9"; + sha256 = "0z4yabsvqdb8x1rr60yyzbaf950cyzv984n3jwwvgcmv5j73wk2x"; type = "gem"; }; - version = "0.12.0"; + version = "0.13.0"; }; jmespath = { groups = ["default"]; @@ -2058,6 +1983,17 @@ }; version = "2.7.1"; }; + kdl = { + dependencies = ["simpleidn"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zr1b2s5gmxjzca24v15isjfs24nkv8iy7b65bw8q1aw6cnj32mh"; + type = "gem"; + }; + version = "1.0.3"; + }; keystone-engine = { dependencies = ["ffi"]; groups = ["default"]; @@ -2075,10 +2011,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0757lqaq593z8hzdv98nai73ag384dkk7jgj3mcq2r6ix7130ifb"; + sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn"; type = "gem"; }; - version = "2.3.2"; + version = "2.4.0"; }; kramdown-parser-gfm = { dependencies = ["kramdown"]; @@ -2092,15 +2028,15 @@ version = "1.1.0"; }; kramdown-rfc2629 = { - dependencies = ["certified" "json_pure" "kramdown" "kramdown-parser-gfm"]; + dependencies = ["certified" "differ" "json_pure" "kramdown" "kramdown-parser-gfm" "net-http-persistent" "unicode-blocks" "unicode-name" "unicode-scripts"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fp062fcp85p71pz4l470006b7g0v3yfll84zp6if9fillmkvhms"; + sha256 = "094yfjjv5p3whvf4vhqg5yy87dqk1n2hhnvqb51l1h6p0a77r0sk"; type = "gem"; }; - version = "1.6.6"; + version = "1.7.5"; }; language_server-protocol = { groups = ["default"]; @@ -2169,10 +2105,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00dh6zmqdj59rhcya0l4b9aaxq6n8xizfbil93k0g06gndyk5xz5"; + sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9"; type = "gem"; }; - version = "0.4.0"; + version = "0.5.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -2284,10 +2220,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08ja4k3yjczzz7n6rp1f3qvz4v45bc6fy04clnvdxbq3kfr7jk4c"; + sha256 = "0zpn5brxdf5akh7ij511bkrd30fxd7697shmxxszahqj9m62zvn5"; type = "gem"; }; - version = "3.2023.1205"; + version = "3.2024.0206"; }; mini_magick = { groups = ["default"]; @@ -2335,20 +2271,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g4sjps6k8gvsm9hig3v6hnlpklgjipdaha2z2q0grxdfh6hrsb8"; + sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5"; type = "gem"; }; - version = "5.21.1"; - }; - molinillo = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0p846facmh1j5xmbrpgzadflspvk7bzs3sykrh5s7qi4cdqz5gzg"; - type = "gem"; - }; - version = "0.8.0"; + version = "5.22.2"; }; msgpack = { groups = ["default"]; @@ -2396,20 +2322,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gjvj215qdhwk3292sc7xsn6fmwnnaq2xs35hh5hc8d8j22izlbn"; + sha256 = "0cysv1wdfdbizwkd0d9s16s832khdwv31pgp01mw2g3bbpa4gx3h"; type = "gem"; }; - version = "0.5.5"; - }; - nanaimo = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0xi36h3f7nm8bc2k0b6svpda1lyank2gf872lxjbhw3h95hdrbma"; - type = "gem"; - }; - version = "0.3.0"; + version = "0.5.6"; }; nap = { groups = ["default"]; @@ -2452,16 +2368,27 @@ }; version = "0.4.1"; }; + net-http-persistent = { + dependencies = ["connection_pool"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03"; + type = "gem"; + }; + version = "4.0.2"; + }; net-imap = { dependencies = ["date" "net-protocol"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z9f6kfxz9qanar534gs3mk6snyvw8rnx3f6ykjn2jiziv0rv1ig"; + sha256 = "0zn7j2w0hc622ig0rslk4iy6yp3937dy9ibhyr1mwwx39n7paxaj"; type = "gem"; }; - version = "0.4.9.1"; + version = "0.4.10"; }; net-pop = { dependencies = ["net-protocol"]; @@ -2543,10 +2470,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl"; + sha256 = "173zavvxlwyi48lfskk48wcrdbkvjlhjhvy4jpcrfx72rpjjx4k8"; type = "gem"; }; - version = "1.16.0"; + version = "1.16.2"; + }; + observer = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b2h1642jy1xrgyakyzz6bkq43gwp8yvxrs8sww12rms65qi18yq"; + type = "gem"; + }; + version = "0.1.2"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -2618,10 +2555,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2acfd6l6k9xvqxvwivcnwji9974ac7498znydxh69z1x3rr8nm"; + sha256 = "1vmacvx9q8iwnfbmybi7wlrvz0z47l8j5vgh3cm4pnsb35k95dsa"; type = "gem"; }; - version = "4.4.1"; + version = "4.6.0"; }; pandocomatic = { dependencies = ["optimist" "paru"]; @@ -2661,10 +2598,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c53sypj4pac5id0abxjbii9g5xnykb9aapwr1z38wzaqv1ys026"; + sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p"; type = "gem"; }; - version = "3.3.0.3"; + version = "3.3.0.5"; }; paru = { groups = ["default"]; @@ -2774,10 +2711,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qiv9irrca2la1awqgvzsg7a17z2nydqyq43w4fhapdkq2l7xwa7"; + sha256 = "19pby3y7by0v9glfw26kc6kd6g324aq1n8p1dw95y9k7nnjlx6xn"; type = "gem"; }; - version = "0.19.0"; + version = "0.21.0"; }; pry = { dependencies = ["coderay" "method_source"]; @@ -2828,10 +2765,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb"; + sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; type = "gem"; }; - version = "4.0.7"; + version = "5.0.4"; }; puma = { dependencies = ["nio4r"]; @@ -2870,10 +2807,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv"; + sha256 = "1b3ybjvj5mzj178y6r1xd4q34aj8hgpgyqxva6mlzwwdprzln47m"; type = "gem"; }; - version = "2.2.8"; + version = "3.0.9"; }; rack-protection = { dependencies = ["base64" "rack"]; @@ -2881,10 +2818,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; + sha256 = "1xmvcxgm1jq92hqxm119gfk95wzl0d46nb2c2c6qqsm4ra2n3nyh"; type = "gem"; }; - version = "3.2.0"; + version = "4.0.0"; }; rack-session = { dependencies = ["rack"]; @@ -2892,10 +2829,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0"; + sha256 = "10afdpmy9kh0qva96slcyc59j4gkk9av8ilh58cnj0qq7q3b416v"; type = "gem"; }; - version = "1.0.2"; + version = "2.0.0"; }; rack-test = { dependencies = ["rack"]; @@ -2914,10 +2851,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9"; + sha256 = "0kbcka30g681cqasw47pq93fxjscq7yvs5zf8lp3740rb158ijvf"; type = "gem"; }; - version = "1.0.0"; + version = "2.1.0"; }; rails = { dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; @@ -2925,10 +2862,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sryvf34ggxx088djc5c358m0h95i9qjhbgwl0zysmi3y0sw79g0"; + sha256 = "1313wjykqqgvh3023rnmrwksgbl2g45p5h75s682abpj89y2bvaf"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; rails-dom-testing = { dependencies = ["activesupport" "minitest" "nokogiri"]; @@ -2958,10 +2895,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n0qb1qnzicbmkj4j5fb27c6hhm5i0qss0vir3kaynh6zz24sfgh"; + sha256 = "19jh5gwjz11rrzjfncxcrmyqzza95k2skdcpknd26vr9jffca7bs"; type = "gem"; }; - version = "7.1.2"; + version = "7.1.3"; }; rainbow = { groups = ["default"]; @@ -3062,10 +2999,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sj80r3gy4sb27mrgc6pwcf2lra669p8p81axdv2p5pfm6k3mqbq"; + sha256 = "1xsv742kwq1bdxmsgb7v9kspgvwh4msabiz1lspl4ln4pxnd50l9"; type = "gem"; }; - version = "2.6.0"; + version = "2.8.0"; }; red-colors = { dependencies = ["matrix"]; @@ -3094,10 +3031,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n7k4sgx5vzsigp8c15flz4fclqy4j2a33vim7b2c2w5jyjhwxrv"; + sha256 = "1yv9z3cch7aay3rs2iildk7jnvhijhwyyxvcn2nfdn6yp9vn7kxz"; type = "gem"; }; - version = "5.0.8"; + version = "5.1.0"; }; redis-client = { dependencies = ["connection_pool"]; @@ -3186,25 +3123,25 @@ version = "3.2.6"; }; rmagick = { - dependencies = ["pkg-config"]; + dependencies = ["observer" "pkg-config"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "080h8755lks9395a2s4ijavzcsgp62367damj0dxif92jdayllzs"; + sha256 = "1qnpp0alpr7ibqzx9av3pz5kqa47i0s65sjl47m6hbc5r3nrh8ly"; type = "gem"; }; - version = "5.3.0"; + version = "5.4.1"; }; rouge = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3"; + sha256 = "1dnfkrk8xx2m8r3r9m2p5xcq57viznyc09k7r3i4jbm758i57lx3"; type = "gem"; }; - version = "3.26.0"; + version = "3.30.0"; }; rpam2 = { groups = ["default"]; @@ -3222,10 +3159,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c"; + sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; type = "gem"; }; - version = "3.12.0"; + version = "3.13.0"; }; rspec-core = { dependencies = ["rspec-support"]; @@ -3233,10 +3170,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm"; + sha256 = "0k252n7s80bvjvpskgfm285a3djjjqyjcarlh3aq7a4dx2s94xsm"; type = "gem"; }; - version = "3.12.2"; + version = "3.13.0"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -3244,10 +3181,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89"; + sha256 = "0bhhjzwdk96vf3gq3rs7mln80q27fhq82hda3r15byb24b34h7b2"; type = "gem"; }; - version = "3.12.3"; + version = "3.13.0"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; @@ -3255,20 +3192,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gq7gviwpck7fhp4y5ibljljvxgjklza18j62qf6zkm2icaa8lfy"; + sha256 = "0rkzkcfk2x0qjr5fxw6ib4wpjy0hqbziywplnp6pg3bm2l98jnkk"; type = "gem"; }; - version = "3.12.6"; + version = "3.13.0"; }; rspec-support = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr"; + sha256 = "0msjfw99dkbvmviv3wsid4k9h1prdgq7pnm52dcyf362p19mywhf"; type = "gem"; }; - version = "3.12.1"; + version = "3.13.0"; }; rubocop = { dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; @@ -3276,10 +3213,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hzwl0ak1i455fp3hzhdn8z14jzgwbsv04f7imz7fzz89j3lpkq9"; + sha256 = "0v67rgbhzanbf02fy5xasaxgmhxghlqb2cxjvbplinm2zfzs0380"; type = "gem"; }; - version = "1.59.0"; + version = "1.60.2"; }; rubocop-ast = { dependencies = ["parser"]; @@ -3330,10 +3267,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rnmbfhdz270fky0cm8w1i73gkrnlf3s1hdkm5yxjkdbvapwvjsd"; + sha256 = "0v6vj5vs9v01zr00bflqpfczhwcyc6jdf8k2dqn42lq6d87si77d"; type = "gem"; }; - version = "0.8.0"; + version = "0.8.2"; }; ruby-lsp = { dependencies = ["language_server-protocol" "prism" "sorbet-runtime"]; @@ -3341,10 +3278,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wajd1cib17jlvfh0agiz2x20p22v6g2ydvqpm6c7srv2x3g7vbb"; + sha256 = "1qvdm19n2jmw2l9c8yvw6k4zcjjaz22bnlw743y2w6z6r2h7jzdk"; type = "gem"; }; - version = "0.13.4"; + version = "0.14.0"; }; ruby-lxc = { groups = ["default"]; @@ -3356,16 +3293,6 @@ }; version = "1.2.3"; }; - ruby-macho = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1jgmhj4srl7cck1ipbjys6q4klcs473gq90bm59baw4j1wpfaxch"; - type = "gem"; - }; - version = "2.5.1"; - }; ruby-progressbar = { groups = ["default"]; platforms = []; @@ -3419,15 +3346,15 @@ version = "2.5.0"; }; ruby_parser = { - dependencies = ["sexp_processor"]; + dependencies = ["racc" "sexp_processor"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j8w4mqhqaw53jd27cfhq1mq02d1r606x9fmrpfzz0fwjnk8j8ld"; + sha256 = "0sy5y7w89ii5iqym7b21glcwxqg8kizxfy8a7kcxq0j65wyqjhiq"; type = "gem"; }; - version = "3.20.3"; + version = "3.21.0"; }; rubyserial = { dependencies = ["ffi"]; @@ -3455,10 +3382,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02m9zksfy3dwzhbv56xq2wwmlghca5209hdg895pi2x2d2sbkahi"; + sha256 = "1sccng15h8h3mcjxfgvxy85lfpswbj0nhmzwwsqdffbzqgsb2jch"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.2"; }; safe_yaml = { groups = ["default"]; @@ -3530,10 +3457,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0csan4kfiwr8a94l0zy3xsrs525ygkc0ly8mdihx5lf9x6ywg6s0"; + sha256 = "08xi8cly6w6082ycxp28q04i2pfsmcx41hfdw64kkac95izpi1px"; type = "gem"; }; - version = "0.21.1"; + version = "0.21.2"; }; sequel = { dependencies = ["bigdecimal"]; @@ -3541,10 +3468,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1698b1fc8b5yxgb3y5w3bkz1xjxxwpa19b3x17211x8jhy5cjzjd"; + sha256 = "1fnpcsppl27f1wn3niazqcgy6i5900c1cjk2lnhyal6brxnk0sq4"; type = "gem"; }; - version = "5.76.0"; + version = "5.77.0"; }; sequel_pg = { dependencies = ["pg" "sequel"]; @@ -3562,10 +3489,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vzz9mhg4kkdqf179pm30i204h7iskanxrk53j0csf0qrrs4iajd"; + sha256 = "182x05kpdjlckh31qizws50fz7sjk86yjjfmy45z61q3f930j4ci"; type = "gem"; }; - version = "4.17.0"; + version = "4.17.1"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -3610,26 +3537,26 @@ version = "0.2.1"; }; sinatra = { - dependencies = ["mustermann" "rack" "rack-protection" "tilt"]; + dependencies = ["mustermann" "rack" "rack-protection" "rack-session" "tilt"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01wq20aqk5kfggq3wagx5xr1cz0x08lg6dxbk9yhd1sf0d6pywkf"; + sha256 = "0za92lv4s7xhgkkm6xxf7ib0b3bsyj8drxgkrskgsb5g3mxnixjl"; type = "gem"; }; - version = "3.2.0"; + version = "4.0.0"; }; slather = { - dependencies = ["CFPropertyList" "activesupport" "clamp" "nokogiri" "xcodeproj"]; + dependencies = ["clamp" "xcodeproj"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19jqdnqc9vxgag3hkmh7zawsjmm5s9hg4gjqz89pc5fmljxp1w97"; + sha256 = "0i1h1kr5j6v8kzrcdfrjxdf1qnnrwhxl9i5vkr8wgbspp5raissq"; type = "gem"; }; - version = "2.8.0"; + version = "1.3.0"; }; slop = { groups = ["default"]; @@ -3677,10 +3604,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1raijm9if45lssx8a0m8dpnb9d7grqgyrgnx7g3v4vyw3wvn6pm0"; + sha256 = "0m6gpmhy25zv8d2r3vy9dcmnbgccv3y62anmwrsjv0ykl5sqkapb"; type = "gem"; }; - version = "0.5.11193"; + version = "0.5.11247"; }; sqlite3 = { dependencies = ["mini_portile2"]; @@ -3688,10 +3615,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g5frmpl4dlb36y4zv1p5mvd3pag5ya96bjpjmyxpchzb5jmjjw9"; + sha256 = "137xkh8jnk3xyajvzmn2390yzs13hnb37jylr0sm02d3zrshf18n"; type = "gem"; }; - version = "1.7.0"; + version = "1.7.2"; }; stringio = { groups = ["default"]; @@ -3912,6 +3839,16 @@ }; version = "0.0.9.1"; }; + unicode-blocks = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zf98czws958zyniwb0wvcxifpcr850qfp4m9g6q90qpdh9c61s1"; + type = "gem"; + }; + version = "1.9.0"; + }; unicode-display_width = { groups = ["default"]; platforms = []; @@ -3922,6 +3859,37 @@ }; version = "2.5.0"; }; + unicode-name = { + dependencies = ["unicode-types"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0177232y0di7klwy0nsixbjfs5mym334y6b3lbfczl8953ybdmg6"; + type = "gem"; + }; + version = "1.12.0"; + }; + unicode-scripts = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0m2xcss5nr9q6312c4dir54537skpdmwdp5s7gxgjrsv82pzpjdr"; + type = "gem"; + }; + version = "1.9.0"; + }; + unicode-types = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wlqwz1cq4bis4r2h8ghbp5c56867a86nnzp2pxnlq48mnjnmgww"; + type = "gem"; + }; + version = "1.9.0"; + }; uri = { groups = ["default"]; platforms = []; @@ -3995,15 +3963,15 @@ version = "5.1.1"; }; xcodeproj = { - dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo" "rexml"]; + dependencies = ["activesupport" "claide" "colored"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "176ndahc5fssyx04q176vy6wngs1av4vrsdrkdpjij700hqll8hn"; + sha256 = "080xdnlkx8zfh2ka5jzgmj4k5jqxirfzggpjrc5q5q1mh5jamfwj"; type = "gem"; }; - version = "1.23.0"; + version = "0.28.2"; }; xctasks = { groups = ["default"]; @@ -4030,10 +3998,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn"; + sha256 = "1m67qmsak3x8ixs8rb971azl3l7wapri65pmbf5z886h46q63f1d"; type = "gem"; }; - version = "2.6.12"; + version = "2.6.13"; }; zookeeper = { groups = ["default"]; From 559e5f5d99b9e35be85eda335b328950a8a846d5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 10 Feb 2024 08:37:14 +0000 Subject: [PATCH 07/20] htcondor: 23.3.0 -> 23.4.0 --- pkgs/by-name/ht/htcondor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ht/htcondor/package.nix b/pkgs/by-name/ht/htcondor/package.nix index 78cef4401917..88bd20a9fa91 100644 --- a/pkgs/by-name/ht/htcondor/package.nix +++ b/pkgs/by-name/ht/htcondor/package.nix @@ -20,14 +20,14 @@ stdenv.mkDerivation rec { pname = "htcondor"; - version = "23.3.0"; + version = "23.4.0"; src = fetchFromGitHub { owner = "htcondor"; repo = "htcondor"; - rev = "v23.3.0"; - hash = "sha256-Ew9leVpvEndiRkOnhx2fLClrNW1bC5djcJEBsve6eIk="; + rev = "v23.4.0"; + hash = "sha256-+WfNVxP7qsEpn8zPretLnOEAnPq0GylyxCbcQI8o0L0="; }; nativeBuildInputs = [ cmake ]; From 420827d7deb30a802d18bbaa95314320ff9cd159 Mon Sep 17 00:00:00 2001 From: Leandro Reina Date: Sat, 10 Feb 2024 14:26:17 +0100 Subject: [PATCH 08/20] python312Packages.pycyphal: 1.15.4 -> 1.18.0 Also fixed the extra dependencies and the check phase --- .../python-modules/pycyphal/default.nix | 74 ++++++++++++++++--- pkgs/top-level/python-packages.nix | 12 +-- 2 files changed, 63 insertions(+), 23 deletions(-) diff --git a/pkgs/development/python-modules/pycyphal/default.nix b/pkgs/development/python-modules/pycyphal/default.nix index fa95336d3b3f..9067a3f06ad5 100644 --- a/pkgs/development/python-modules/pycyphal/default.nix +++ b/pkgs/development/python-modules/pycyphal/default.nix @@ -1,6 +1,6 @@ { lib , buildPythonPackage -, fetchPypi +, fetchFromGitHub , pythonOlder , can , cobs @@ -8,31 +8,80 @@ , nunavut , numpy , pyserial +, pytestCheckHook +, pytest-asyncio +, setuptools }: buildPythonPackage rec { pname = "pycyphal"; - version = "1.15.4"; - format = "pyproject"; + version = "1.18.0"; + format = "setuptools"; disabled = pythonOlder "3.8"; - src = fetchPypi { - inherit pname version; - hash = "sha256-0Mp8d/rNOOPLg0gUPWdOgp/d5n148dxcLceW1VtjrkQ="; + src = fetchFromGitHub { + owner = "OpenCyphal"; + repo = pname; + rev = "refs/tags/${version}"; + hash = "sha256-XkH0wss8ueh/Wwz0lhvQShOp3a4X9lNdosT/sMe7p4Q="; + fetchSubmodules = true; }; propagatedBuildInputs = [ - can - cobs - libpcap numpy nunavut - pyserial ]; - # Can't seem to run the tests on nix - doCheck = false; + passthru.optional-dependencies = { + transport-can-pythoncan = [ + can + ] ++ can.optional-dependencies.serial; + transport-serial = [ + cobs + pyserial + ]; + transport-udp = [ + libpcap + ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ] ++ builtins.foldl' (x: y: x ++ y) [ ] + (builtins.attrValues passthru.optional-dependencies) + ; + + preCheck = '' + export HOME=$TMPDIR + export PYTHONASYNCIODEBUG=1 + python -c ${lib.escapeShellArg '' + import pycyphal + pycyphal.dsdl.compile_all( + [ + "demo/public_regulated_data_types/uavcan", + "demo/custom_data_types/sirius_cyber_corp", + ], + output_directory=".dsdl_compiled", + ) + ''} + export PYTHONPATH="$(pwd)/.dsdl_compiled:$PYTHONPATH" + ''; + + # These require extra permissions and/or actual hardware connected + disabledTestPaths = [ + "pycyphal/application/__init__.py" + "pycyphal/application/_transport_factory.py" + "pycyphal/transport/udp/_ip/_link_layer.py" + "pycyphal/transport/udp/_ip/_v4.py" + "tests/application" + "tests/demo" + "tests/dsdl" + "tests/presentation" + "tests/transport" + ]; + pythonImportsCheck = [ "pycyphal" ]; @@ -43,6 +92,7 @@ buildPythonPackage rec { Cyphal is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.). ''; homepage = "https://opencyphal.org/"; + changelog = "https://github.com/OpenCyphal/pycyphal/blob/${version}/CHANGELOG.rst"; license = licenses.mit; maintainers = teams.ororatech.members; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0d830f5dc02a..88edb0a7fffe 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10309,17 +10309,7 @@ self: super: with self; { pycxx = callPackage ../development/python-modules/pycxx { }; - pycyphal = callPackage ../development/python-modules/pycyphal { - # Does not yet support nunavut 2+, use latest 1.X version instead - # https://github.com/OpenCyphal/pycyphal/issues/277 - nunavut = self.nunavut.overridePythonAttrs (prev: rec { - version = "1.9.0"; - src = prev.src.override { - inherit version; - hash = "sha256-KhgijXJ908uxM7VZdXo1WU/RGU0cfqctBCbpF2wOcy8="; - }; - }); - }; + pycyphal = callPackage ../development/python-modules/pycyphal { }; pydaikin = callPackage ../development/python-modules/pydaikin { }; From 02f7a1766de76984fdfdb240744f1fb5c432debf Mon Sep 17 00:00:00 2001 From: joseph Date: Sun, 11 Feb 2024 00:48:03 +1100 Subject: [PATCH 09/20] maintainers: add josephsurin --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 354fd2b8d8ae..e540bebe6507 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9282,6 +9282,12 @@ github = "josephst"; githubId = 1269177; }; + josephsurin = { + name = "Joseph Surin"; + email = "nix@jsur.in"; + github = "josephsurin"; + githubId = 14977484; + }; joshniemela = { name = "Joshua Niemelä"; email = "josh@jniemela.dk"; From f29d66a77f6f5de17158037eef7e52b4f555ce77 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Fri, 2 Feb 2024 07:27:40 -0500 Subject: [PATCH 10/20] mongodb: Use scons 4 --- pkgs/servers/nosql/mongodb/mongodb.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index c37f06d5e8bd..2b0c1b1aca14 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -1,7 +1,7 @@ { lib , stdenv , fetchurl -, scons_3_1_2 +, scons , boost , gperftools , pcre-cpp @@ -44,8 +44,6 @@ let pymongo ]); - scons = scons_3_1_2; - mozjsVersion = "60"; mozjsReplace = "defined(HAVE___SINCOS)"; @@ -58,8 +56,6 @@ let setuptools ]); - scons = scons_3_1_2; - mozjsVersion = "60"; mozjsReplace = "defined(HAVE___SINCOS)"; @@ -87,7 +83,7 @@ in stdenv.mkDerivation rec { inherit sha256; }; - nativeBuildInputs = [ variants.scons ] + nativeBuildInputs = [ scons ] ++ lib.optionals (versionAtLeast version "4.4") [ xz ]; buildInputs = [ From f6086df42f4d50444871e5683e446ed98a740280 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Fri, 2 Feb 2024 07:31:51 -0500 Subject: [PATCH 11/20] mongodb: Eliminate 'variants' redundancy. --- pkgs/servers/nosql/mongodb/mongodb.nix | 42 ++++++++------------------ 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 2b0c1b1aca14..666e04ccd2be 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -32,34 +32,18 @@ with lib; }: let - variants = - if versionAtLeast version "6.0" - then rec { - python = scons.python.withPackages (ps: with ps; [ - pyyaml - cheetah3 - psutil - setuptools - packaging - pymongo - ]); + python = scons.python.withPackages (ps: with ps; [ + pyyaml + cheetah3 + psutil + setuptools + ] ++ lib.optionals (versionAtLeast version "6.0") [ + packaging + pymongo + ]); - mozjsVersion = "60"; - mozjsReplace = "defined(HAVE___SINCOS)"; - - } - else rec { - python = scons.python.withPackages (ps: with ps; [ - pyyaml - cheetah3 - psutil - setuptools - ]); - - mozjsVersion = "60"; - mozjsReplace = "defined(HAVE___SINCOS)"; - - }; + mozjsVersion = "60"; + mozjsReplace = "defined(HAVE___SINCOS)"; system-libraries = [ "boost" @@ -95,7 +79,7 @@ in stdenv.mkDerivation rec { openssl openldap pcre-cpp - variants.python + python sasl snappy zlib @@ -123,7 +107,7 @@ in stdenv.mkDerivation rec { # remove -march overriding, we know better. sed -i 's/env.Append.*-march=.*$/pass/' SConstruct '' + lib.optionalString (stdenv.isDarwin && versionOlder version "6.0") '' - substituteInPlace src/third_party/mozjs-${variants.mozjsVersion}/extract/js/src/jsmath.cpp --replace '${variants.mozjsReplace}' 0 + substituteInPlace src/third_party/mozjs-${mozjsVersion}/extract/js/src/jsmath.cpp --replace '${mozjsReplace}' 0 '' + lib.optionalString (stdenv.isDarwin && versionOlder version "3.6") '' substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder From 9bfa405ab4494e6e23e8645ff98156132d3f6629 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Fri, 2 Feb 2024 07:34:06 -0500 Subject: [PATCH 12/20] mongodb: Fix cross compilation --- pkgs/servers/nosql/mongodb/mongodb.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 666e04ccd2be..928e50a0ae8c 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -1,7 +1,7 @@ { lib , stdenv , fetchurl -, scons +, buildPackages , boost , gperftools , pcre-cpp @@ -32,6 +32,7 @@ with lib; }: let + scons = buildPackages.scons; python = scons.python.withPackages (ps: with ps; [ pyyaml cheetah3 @@ -67,8 +68,10 @@ in stdenv.mkDerivation rec { inherit sha256; }; - nativeBuildInputs = [ scons ] - ++ lib.optionals (versionAtLeast version "4.4") [ xz ]; + nativeBuildInputs = [ + scons + python + ] ++ lib.optional stdenv.isLinux net-snmp; buildInputs = [ boost @@ -79,13 +82,12 @@ in stdenv.mkDerivation rec { openssl openldap pcre-cpp - python sasl snappy zlib ] ++ lib.optionals stdenv.isDarwin [ Security CoreFoundation cctools ] - ++ lib.optionals stdenv.isLinux [ net-snmp ]; - + ++ lib.optional stdenv.isLinux net-snmp + ++ lib.optionals (versionAtLeast version "4.4") [ xz ]; # MongoDB keeps track of its build parameters, which tricks nix into # keeping dependencies to build inputs in the final output. @@ -142,6 +144,7 @@ in stdenv.mkDerivation rec { preBuild = '' sconsFlags+=" CC=$CC" sconsFlags+=" CXX=$CXX" + sconsFlags+=" AR=$AR" '' + optionalString stdenv.isAarch64 '' sconsFlags+=" CCFLAGS='-march=armv8-a+crc'" ''; From d9f7187e8d230b8225a8de1e1090447cc7757d74 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Sat, 10 Feb 2024 20:00:09 +0100 Subject: [PATCH 13/20] libvirt: fix build on darwin --- pkgs/development/libraries/libvirt/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 18e49d20e6d7..72d94ee32989 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -159,6 +159,7 @@ stdenv.mkDerivation rec { # See https://gitlab.com/libvirt/libvirt/-/merge_requests/235 sed -i "s/not supported_cc_flags.contains('-fsemantic-interposition')/false/" meson.build sed -i '/qemufirmwaretest/d' tests/meson.build + sed -i '/qemuhotplugtest/d' tests/meson.build sed -i '/qemuvhostusertest/d' tests/meson.build sed -i '/qemuxml2xmltest/d' tests/meson.build ''; From ea2bb08e937fcc14cbe2b85013372ffb1585bf11 Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Sat, 10 Feb 2024 21:03:32 +0000 Subject: [PATCH 14/20] virtualbox: 7.0.12 -> 7.0.14 --- pkgs/applications/virtualization/virtualbox/default.nix | 4 ++-- pkgs/applications/virtualization/virtualbox/extpack.nix | 2 +- .../virtualization/virtualbox/guest-additions/default.nix | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index ca3d15db0fea..7b9fc52ca17f 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -26,14 +26,14 @@ let buildType = "release"; # Use maintainers/scripts/update.nix to update the version and all related hashes or # change the hashes in extpack.nix and guest-additions/default.nix as well manually. - version = "7.0.12"; + version = "7.0.14"; in stdenv.mkDerivation { pname = "virtualbox"; inherit version; src = fetchurl { url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; - sha256 = "d76634c6ccf62503726a5aeae6c78a3462474c51a0ebe4942591ccc2d939890a"; + sha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9"; }; outputs = [ "out" "modsrc" ]; diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix index c7057c2de76c..1831d42a129e 100644 --- a/pkgs/applications/virtualization/virtualbox/extpack.nix +++ b/pkgs/applications/virtualization/virtualbox/extpack.nix @@ -12,7 +12,7 @@ fetchurl rec { # Manually sha256sum the extensionPack file, must be hex! # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`. # Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS - let value = "dbf7ce39e5c021d420fc6b2045b084a68fc5172937192bd70c3207efa786278d"; + let value = "42cb36fbf439a9ed28c95d2bbc718a0eac902225eb579c884c549af2e94be633"; in assert (builtins.stringLength value) == 64; value; meta = { diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 3d6fc0a64c00..6f9e3cab4f59 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -23,7 +23,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; - sha256 = "b37f6aabe5a32e8b96ccca01f37fb49f4fd06674f1b29bc8fe0f423ead37b917"; + sha256 = "0efbcb9bf4722cb19292ae00eba29587432e918d3b1f70905deb70f7cf78e8ce"; }; KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; From a10cc936e1b6362de0ee9069ca9b099f5bd836ab Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Sat, 10 Feb 2024 20:49:59 -0500 Subject: [PATCH 15/20] mirtk: unbreak by setting -Wno-changes-meaning --- pkgs/development/libraries/science/biology/mirtk/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/science/biology/mirtk/default.nix b/pkgs/development/libraries/science/biology/mirtk/default.nix index b6adf67cbe82..9af6793ef997 100644 --- a/pkgs/development/libraries/science/biology/mirtk/default.nix +++ b/pkgs/development/libraries/science/biology/mirtk/default.nix @@ -47,6 +47,8 @@ stdenv.mkDerivation rec { install -Dm644 -t "$out/share/bash-completion/completions/mirtk" share/completion/bash/mirtk ''; + env.NIX_CFLAGS_COMPILE = "-Wno-changes-meaning"; + nativeBuildInputs = [ cmake ]; buildInputs = [ boost From 689507e1e0ec674cc8364a21e294f1e0910c24b0 Mon Sep 17 00:00:00 2001 From: D3vil0p3r Date: Sun, 11 Feb 2024 03:12:53 +0100 Subject: [PATCH 16/20] libewf-legacy: migrate to by-name --- .../default.nix => by-name/li/libewf-legacy/package.nix} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pkgs/{development/libraries/libewf-legacy/default.nix => by-name/li/libewf-legacy/package.nix} (100%) diff --git a/pkgs/development/libraries/libewf-legacy/default.nix b/pkgs/by-name/li/libewf-legacy/package.nix similarity index 100% rename from pkgs/development/libraries/libewf-legacy/default.nix rename to pkgs/by-name/li/libewf-legacy/package.nix From 9034b170b189295da4c1318402f0d1959cd07afd Mon Sep 17 00:00:00 2001 From: joseph Date: Sun, 11 Feb 2024 00:48:51 +1100 Subject: [PATCH 17/20] flatter: init at 0-unstable-2023-08-10 --- pkgs/by-name/fl/flatter/package.nix | 51 +++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 pkgs/by-name/fl/flatter/package.nix diff --git a/pkgs/by-name/fl/flatter/package.nix b/pkgs/by-name/fl/flatter/package.nix new file mode 100644 index 000000000000..8f7cd7e65791 --- /dev/null +++ b/pkgs/by-name/fl/flatter/package.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, unstableGitUpdater +, cmake +, blas +, gmp +, mpfr +, fplll +, eigen +, llvmPackages +}: + +stdenv.mkDerivation { + pname = "flatter"; + version = "0-unstable-2023-08-10"; + + src = fetchFromGitHub { + owner = "keeganryan"; + repo = "flatter"; + rev = "500e31df6b7308e8101b2a4a9cc816bf8f483417"; + hash = "sha256-STYx7cXvkcF+KqrG32pN16HWfEScc0zxkmOmfv43zIw="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + blas + gmp + mpfr + fplll + eigen + ] ++ lib.optionals stdenv.isDarwin [ + llvmPackages.openmp + ]; + + passthru.updateScript = unstableGitUpdater { }; + + meta = with lib; { + description = "(F)ast (lat)tice (r)eduction of integer lattice bases"; + homepage = "https://github.com/keeganryan/flatter"; + license = licenses.lgpl3Only; + mainProgram = "flatter"; + platforms = platforms.all; + maintainers = with maintainers; [ josephsurin ]; + }; +} From 5511d772fe1f3915fe4304ca65f96572e5b1b270 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Sat, 10 Feb 2024 21:48:45 -0500 Subject: [PATCH 18/20] python311Packages.summarytools: add missing setuptools --- pkgs/development/python-modules/summarytools/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/summarytools/default.nix b/pkgs/development/python-modules/summarytools/default.nix index a46cf5080c7c..4bbbae78c88b 100644 --- a/pkgs/development/python-modules/summarytools/default.nix +++ b/pkgs/development/python-modules/summarytools/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , fetchPypi , pythonOlder +, setuptools , ipython , matplotlib , numpy @@ -12,7 +13,7 @@ buildPythonPackage rec { pname = "summarytools"; version = "0.2.3"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -22,6 +23,8 @@ buildPythonPackage rec { hash = "sha256-wsDf9IXCMQe0cVfQQuRVwMhxkhhUxbPu06yWZPLvgw4="; }; + nativeBuildInputs = [ setuptools ]; + propagatedBuildInputs = [ ipython matplotlib From ad719a45037641bf03524b956b0e71218634528e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 11 Feb 2024 03:54:28 +0100 Subject: [PATCH 19/20] home-assistant: update patch to follow symlinks in static dir --- pkgs/servers/home-assistant/default.nix | 2 +- .../patches/static-follow-symlinks.patch | 12 ++++++ .../patches/static-symlinks.patch | 37 ------------------- 3 files changed, 13 insertions(+), 38 deletions(-) create mode 100644 pkgs/servers/home-assistant/patches/static-follow-symlinks.patch delete mode 100644 pkgs/servers/home-assistant/patches/static-symlinks.patch diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index a3d74d51c4df..107a93fed6a9 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -485,7 +485,7 @@ in python.pkgs.buildPythonApplication rec { # leave this in, so users don't have to constantly update their downstream patch handling patches = [ # Follow symlinks in /var/lib/hass/www - ./patches/static-symlinks.patch + ./patches/static-follow-symlinks.patch # Patch path to ffmpeg binary (substituteAll { diff --git a/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch b/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch new file mode 100644 index 000000000000..c99a8d88a1e8 --- /dev/null +++ b/pkgs/servers/home-assistant/patches/static-follow-symlinks.patch @@ -0,0 +1,12 @@ +diff --git a/homeassistant/components/http/static.py b/homeassistant/components/http/static.py +index e6e773d4c0..b53e0b4a11 100644 +--- a/homeassistant/components/http/static.py ++++ b/homeassistant/components/http/static.py +@@ -31,7 +31,6 @@ def _get_file_path(rel_url: str, directory: Path) -> Path | None: + # where the static dir is totally different + raise HTTPForbidden + filepath: Path = directory.joinpath(filename).resolve() +- filepath.relative_to(directory) + # on opening a dir, load its contents if allowed + if filepath.is_dir(): + return None diff --git a/pkgs/servers/home-assistant/patches/static-symlinks.patch b/pkgs/servers/home-assistant/patches/static-symlinks.patch deleted file mode 100644 index 7784a60f6b2a..000000000000 --- a/pkgs/servers/home-assistant/patches/static-symlinks.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/homeassistant/components/frontend/__init__.py b/homeassistant/components/frontend/__init__.py -index 2ec991750f..9a937006ce 100644 ---- a/homeassistant/components/frontend/__init__.py -+++ b/homeassistant/components/frontend/__init__.py -@@ -383,7 +383,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: - - local = hass.config.path("www") - if os.path.isdir(local): -- hass.http.register_static_path("/local", local, not is_dev) -+ hass.http.register_static_path("/local", local, not is_dev, follow_symlinks=True) - - # Can be removed in 2023 - hass.http.register_redirect("/config/server_control", "/developer-tools/yaml") -diff --git a/homeassistant/components/http/__init__.py b/homeassistant/components/http/__init__.py -index 122b7b79ce..3cf2b7e0db 100644 ---- a/homeassistant/components/http/__init__.py -+++ b/homeassistant/components/http/__init__.py -@@ -411,16 +411,16 @@ class HomeAssistantHTTP: - ) - - def register_static_path( -- self, url_path: str, path: str, cache_headers: bool = True -+ self, url_path: str, path: str, cache_headers: bool = True, follow_symlinks: bool = False - ) -> None: - """Register a folder or file to serve as a static path.""" - if os.path.isdir(path): - if cache_headers: - resource: CachingStaticResource | web.StaticResource = ( -- CachingStaticResource(url_path, path) -+ CachingStaticResource(url_path, path, follow_symlinks=follow_symlinks) - ) - else: -- resource = web.StaticResource(url_path, path) -+ resource = web.StaticResource(url_path, path, follow_symlinks=follow_symlinks) - self.app.router.register_resource(resource) - self.app["allow_configured_cors"](resource) - return From 055a8f709ad75bec0aa723e7b413a695d24d7e3a Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sun, 11 Feb 2024 04:09:52 +0100 Subject: [PATCH 20/20] nixos/home-assistant: always add dependencies for default integrations These are loaded unconditionally during bootstrap, and home-assistant will now fail to start, if these aren't provided. --- .../home-automation/home-assistant.nix | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix index 5c2ea8f1840b..3423eebe9ed6 100644 --- a/nixos/modules/services/home-automation/home-assistant.nix +++ b/nixos/modules/services/home-automation/home-assistant.nix @@ -52,7 +52,7 @@ let hasAttrByPath (splitString "." component) cfg.config || useComponentPlatform component || useExplicitComponent component - || builtins.elem component cfg.extraComponents; + || builtins.elem component (cfg.extraComponents ++ cfg.defaultIntegrations); # Final list of components passed into the package to include required dependencies extraComponents = filter useComponent availableComponents; @@ -103,6 +103,45 @@ in { description = lib.mdDoc "The config directory, where your {file}`configuration.yaml` is located."; }; + defaultIntegrations = mkOption { + type = types.listOf (types.enum availableComponents); + # https://github.com/home-assistant/core/blob/dev/homeassistant/bootstrap.py#L109 + default = [ + "application_credentials" + "frontend" + "hardware" + "logger" + "network" + "system_health" + + # key features + "automation" + "person" + "scene" + "script" + "tag" + "zone" + + # built-in helpers + "counter" + "input_boolean" + "input_button" + "input_datetime" + "input_number" + "input_select" + "input_text" + "schedule" + "timer" + + # non-supervisor + "backup" + ]; + readOnly = true; + description = '' + List of integrations set are always set up, unless in recovery mode. + ''; + }; + extraComponents = mkOption { type = types.listOf (types.enum availableComponents); default = [