diff --git a/lib/systems/default.nix b/lib/systems/default.nix index f8bc6ac987b3..e04f079035db 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -389,6 +389,8 @@ let "${pkgs.qemu-user}/bin/qemu-${final.qemuArch}" else if final.isWasi then "${pkgs.wasmtime}/bin/wasmtime" + else if final.isGhcjs then + "${pkgs.nodejs-slim}/bin/node" else if final.isMmix then "${pkgs.mmixware}/bin/mmix" else diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index f12ce735d58a..2153056117c9 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -300,6 +300,7 @@ with lib.maintainers; gitlab = { members = [ + gabyx krav leona talyz diff --git a/nixos/modules/services/display-managers/generic.nix b/nixos/modules/services/display-managers/generic.nix index 59daa7f8f8bc..0195d33d337c 100644 --- a/nixos/modules/services/display-managers/generic.nix +++ b/nixos/modules/services/display-managers/generic.nix @@ -51,6 +51,8 @@ in '') ]; + services.displayManager.enable = true; + systemd.services.display-manager = { description = "Display Manager"; after = [ diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index cb9f5509c102..f04ad6e393ed 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -810,8 +810,6 @@ in ###### implementation config = mkIf cfg.enable { - services.displayManager.enable = true; - services.xserver.displayManager.lightdm.enable = let dmConf = cfg.displayManager; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 41b2128e2bb4..50c27ec6da79 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1288,7 +1288,7 @@ in { }; postfix-tlspol = runTest ./postfix-tlspol.nix; postgres-websockets = runTest ./postgres-websockets.nix; - postgresql = handleTest ./postgresql { }; + postgresql = import ./postgresql { inherit runTest pkgs; }; postgrest = runTest ./postgrest.nix; power-profiles-daemon = runTest ./power-profiles-daemon.nix; powerdns = runTest ./powerdns.nix; diff --git a/nixos/tests/postgresql/anonymizer.nix b/nixos/tests/postgresql/anonymizer.nix index a5853e5ed533..4b37a4f8be5d 100644 --- a/nixos/tests/postgresql/anonymizer.nix +++ b/nixos/tests/postgresql/anonymizer.nix @@ -1,114 +1,115 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; - makeTestFor = package: - makeTest { - name = "postgresql_anonymizer-${package.name}"; - meta.maintainers = [ - lib.maintainers.leona - lib.maintainers.osnyx - ]; + runTest ( + { lib, pkgs, ... }: + { + name = "postgresql_anonymizer-${package.name}"; + meta.maintainers = [ + lib.maintainers.leona + lib.maintainers.osnyx + ]; - nodes.machine = - { pkgs, ... }: - { - environment.systemPackages = [ (pkgs.pg-dump-anon.override { postgresql = package; }) ]; - services.postgresql = { - inherit package; - enable = true; - extensions = ps: [ ps.anonymizer ]; - settings.shared_preload_libraries = [ "anon" ]; + nodes.machine = + { pkgs, ... }: + { + environment.systemPackages = [ (pkgs.pg-dump-anon.override { postgresql = package; }) ]; + services.postgresql = { + inherit package; + enable = true; + extensions = ps: [ ps.anonymizer ]; + settings.shared_preload_libraries = [ "anon" ]; + }; }; - }; - testScript = '' - start_all() - machine.wait_for_unit("multi-user.target") - machine.wait_for_unit("postgresql.target") + testScript = '' + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("postgresql.target") - with subtest("Setup"): - machine.succeed("sudo -u postgres psql --command 'create database demo'") - machine.succeed( - "sudo -u postgres psql -d demo -f ${pkgs.writeText "init.sql" '' - create extension anon cascade; - select anon.init(); - create table player(id serial, name text, points int); - insert into player(id,name,points) values (1,'Foo', 23); - insert into player(id,name,points) values (2,'Bar',42); - security label for anon on column player.name is 'MASKED WITH FUNCTION anon.fake_last_name()'; - security label for anon on column player.points is 'MASKED WITH VALUE NULL'; - ''}" - ) + with subtest("Setup"): + machine.succeed("sudo -u postgres psql --command 'create database demo'") + machine.succeed( + "sudo -u postgres psql -d demo -f ${pkgs.writeText "init.sql" '' + create extension anon cascade; + select anon.init(); + create table player(id serial, name text, points int); + insert into player(id,name,points) values (1,'Foo', 23); + insert into player(id,name,points) values (2,'Bar',42); + security label for anon on column player.name is 'MASKED WITH FUNCTION anon.fake_last_name()'; + security label for anon on column player.points is 'MASKED WITH VALUE NULL'; + ''}" + ) - def get_player_table_contents(): - return [ - x.split(',') for x in machine.succeed("sudo -u postgres psql -d demo --csv --command 'select * from player'").splitlines()[1:] - ] + def get_player_table_contents(): + return [ + x.split(',') for x in machine.succeed("sudo -u postgres psql -d demo --csv --command 'select * from player'").splitlines()[1:] + ] - def check_anonymized_row(row, id, original_name): - t.assertEqual(row[0], id) - t.assertNotEqual(row[1], original_name) - t.assertFalse(bool(row[2])) + def check_anonymized_row(row, id, original_name): + t.assertEqual(row[0], id) + t.assertNotEqual(row[1], original_name) + t.assertFalse(bool(row[2])) - def find_xsv_in_dump(dump, sep=','): - """ - Expecting to find a CSV (for pg_dump_anon) or TSV (for pg_dump) structure, looking like + def find_xsv_in_dump(dump, sep=','): + """ + Expecting to find a CSV (for pg_dump_anon) or TSV (for pg_dump) structure, looking like - COPY public.player ... - 1,Shields, - 2,Salazar, - \\. + COPY public.player ... + 1,Shields, + 2,Salazar, + \\. - in the given dump (the commas are tabs in case of pg_dump). - Extract the CSV lines and split by `sep`. - """ + in the given dump (the commas are tabs in case of pg_dump). + Extract the CSV lines and split by `sep`. + """ - try: - from itertools import dropwhile, takewhile - return [x.split(sep) for x in list(takewhile( - lambda x: x != "\\.", - dropwhile( - lambda x: not x.startswith("COPY public.player"), - dump.splitlines() - ) - ))[1:]] - except: - print(f"Dump to process: {dump}") - raise + try: + from itertools import dropwhile, takewhile + return [x.split(sep) for x in list(takewhile( + lambda x: x != "\\.", + dropwhile( + lambda x: not x.startswith("COPY public.player"), + dump.splitlines() + ) + ))[1:]] + except: + print(f"Dump to process: {dump}") + raise - def check_original_data(output): - t.assertEqual(output[0], ["1", "Foo", "23"]) - t.assertEqual(output[1], ["2", "Bar", "42"]) + def check_original_data(output): + t.assertEqual(output[0], ["1", "Foo", "23"]) + t.assertEqual(output[1], ["2", "Bar", "42"]) - def check_anonymized_rows(output): - check_anonymized_row(output[0], '1', 'Foo') - check_anonymized_row(output[1], '2', 'Bar') + def check_anonymized_rows(output): + check_anonymized_row(output[0], '1', 'Foo') + check_anonymized_row(output[1], '2', 'Bar') - with subtest("Check initial state"): - check_original_data(get_player_table_contents()) + with subtest("Check initial state"): + check_original_data(get_player_table_contents()) - with subtest("Anonymous dumps"): - check_original_data(find_xsv_in_dump( - machine.succeed("sudo -u postgres pg_dump demo"), - sep='\t' - )) - check_anonymized_rows(find_xsv_in_dump( - machine.succeed("sudo -u postgres pg_dump_anon -U postgres -h /run/postgresql -d demo"), - sep=',' - )) + with subtest("Anonymous dumps"): + check_original_data(find_xsv_in_dump( + machine.succeed("sudo -u postgres pg_dump demo"), + sep='\t' + )) + check_anonymized_rows(find_xsv_in_dump( + machine.succeed("sudo -u postgres pg_dump_anon -U postgres -h /run/postgresql -d demo"), + sep=',' + )) - with subtest("Anonymize"): - machine.succeed("sudo -u postgres psql -d demo --command 'select anon.anonymize_database();'") - check_anonymized_rows(get_player_table_contents()) - ''; - }; + with subtest("Anonymize"): + machine.succeed("sudo -u postgres psql -d demo --command 'select anon.anonymize_database();'") + check_anonymized_rows(get_player_table_contents()) + ''; + } + ); in genTests { inherit makeTestFor; diff --git a/nixos/tests/postgresql/default.nix b/nixos/tests/postgresql/default.nix index a8b03a29280b..a5d363a709ee 100644 --- a/nixos/tests/postgresql/default.nix +++ b/nixos/tests/postgresql/default.nix @@ -1,11 +1,8 @@ { - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../../.. { inherit system config; }, + runTest, + pkgs, }: -with import ../../lib/testing-python.nix { inherit system pkgs; }; - let inherit (pkgs.lib) recurseIntoAttrs @@ -25,7 +22,12 @@ let } ); - importWithArgs = path: import path { inherit pkgs makeTest genTests; }; + importWithArgs = + path: + import path { + inherit runTest genTests; + inherit (pkgs) lib; + }; in { # postgresql diff --git a/nixos/tests/postgresql/pgjwt.nix b/nixos/tests/postgresql/pgjwt.nix index 6fc43d771b92..b16efeb97ad6 100644 --- a/nixos/tests/postgresql/pgjwt.nix +++ b/nixos/tests/postgresql/pgjwt.nix @@ -1,51 +1,52 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; - makeTestFor = package: - makeTest { - name = "pgjwt-${package.name}"; - meta = with lib.maintainers; { - maintainers = [ - spinus - ]; - }; - - nodes.master = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - extensions = - ps: with ps; [ - pgjwt - pgtap - ]; - }; + runTest ( + { lib, pkgs, ... }: + { + name = "pgjwt-${package.name}"; + meta = with lib.maintainers; { + maintainers = [ + spinus + ]; }; - testScript = - { nodes, ... }: - let - sqlSU = "${nodes.master.services.postgresql.superUser}"; - pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; - inherit (nodes.master.services.postgresql.package.pkgs) pgjwt; - in - '' - start_all() - master.wait_for_unit("postgresql.target") - master.succeed( - "${pkgs.sudo}/bin/sudo -u ${sqlSU} ${pgProve}/bin/pg_prove -d postgres -v -f ${pgjwt.src}/test.sql" - ) - ''; - }; + nodes.master = + { ... }: + { + services.postgresql = { + inherit package; + enable = true; + extensions = + ps: with ps; [ + pgjwt + pgtap + ]; + }; + }; + + testScript = + { nodes, ... }: + let + sqlSU = "${nodes.master.services.postgresql.superUser}"; + pgProve = "${pkgs.perlPackages.TAPParserSourceHandlerpgTAP}"; + inherit (nodes.master.services.postgresql.package.pkgs) pgjwt; + in + '' + start_all() + master.wait_for_unit("postgresql.target") + master.succeed( + "${pkgs.sudo}/bin/sudo -u ${sqlSU} ${pgProve}/bin/pg_prove -d postgres -v -f ${pgjwt.src}/test.sql" + ) + ''; + } + ); in genTests { inherit makeTestFor; diff --git a/nixos/tests/postgresql/postgresql-jit.nix b/nixos/tests/postgresql/postgresql-jit.nix index 347534c8bd85..de62b355d62b 100644 --- a/nixos/tests/postgresql/postgresql-jit.nix +++ b/nixos/tests/postgresql/postgresql-jit.nix @@ -1,53 +1,54 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; - makeTestFor = package: - makeTest { - name = "postgresql-jit-${package.name}"; - meta.maintainers = with lib.maintainers; [ ma27 ]; + runTest ( + { lib, pkgs, ... }: + { + name = "postgresql-jit-${package.name}"; + meta.maintainers = with lib.maintainers; [ ma27 ]; - nodes.machine = - { pkgs, ... }: - { - services.postgresql = { - inherit package; - enable = true; - enableJIT = true; - initialScript = pkgs.writeText "init.sql" '' - create table demo (id int); - insert into demo (id) select generate_series(1, 5); - ''; + nodes.machine = + { pkgs, ... }: + { + services.postgresql = { + inherit package; + enable = true; + enableJIT = true; + initialScript = pkgs.writeText "init.sql" '' + create table demo (id int); + insert into demo (id) select generate_series(1, 5); + ''; + }; }; - }; - testScript = '' - machine.start() - machine.wait_for_unit("postgresql.target") + testScript = '' + machine.start() + machine.wait_for_unit("postgresql.target") - with subtest("JIT is enabled"): - machine.succeed("sudo -u postgres psql <<<'show jit;' | grep 'on'") + with subtest("JIT is enabled"): + machine.succeed("sudo -u postgres psql <<<'show jit;' | grep 'on'") - with subtest("Test JIT works fine"): - output = machine.succeed( - "cat ${pkgs.writeText "test.sql" '' - set jit_above_cost = 1; - EXPLAIN ANALYZE SELECT CONCAT('jit result = ', SUM(id)) FROM demo; - SELECT CONCAT('jit result = ', SUM(id)) from demo; - ''} | sudo -u postgres psql" - ) - t.assertIn("JIT:", output) - t.assertIn("jit result = 15", output) + with subtest("Test JIT works fine"): + output = machine.succeed( + "cat ${pkgs.writeText "test.sql" '' + set jit_above_cost = 1; + EXPLAIN ANALYZE SELECT CONCAT('jit result = ', SUM(id)) FROM demo; + SELECT CONCAT('jit result = ', SUM(id)) from demo; + ''} | sudo -u postgres psql" + ) + t.assertIn("JIT:", output) + t.assertIn("jit result = 15", output) - machine.shutdown() - ''; - }; + machine.shutdown() + ''; + } + ); in genTests { inherit makeTestFor; diff --git a/nixos/tests/postgresql/postgresql-replication.nix b/nixos/tests/postgresql/postgresql-replication.nix index b828c2d7bb49..6df0becdf115 100644 --- a/nixos/tests/postgresql/postgresql-replication.nix +++ b/nixos/tests/postgresql/postgresql-replication.nix @@ -1,125 +1,127 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; makeTestFor = package: - makeTest { - name = "postgresql-replication-${package.name}"; - meta.maintainers = with lib.maintainers; [ bouk ]; + runTest ( + { lib, ... }: + { + name = "postgresql-replication-${package.name}"; + meta.maintainers = with lib.maintainers; [ bouk ]; - nodes = { - primary = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - enableTCPIP = true; - settings = { - wal_level = "replica"; - max_wal_senders = 10; - max_replication_slots = 10; + nodes = { + primary = + { ... }: + { + services.postgresql = { + inherit package; + enable = true; + enableTCPIP = true; + settings = { + wal_level = "replica"; + max_wal_senders = 10; + max_replication_slots = 10; + }; + authentication = '' + local replication postgres peer + host replication replication all trust + ''; + ensureUsers = [ + { + name = "replication"; + ensureClauses.replication = true; + } + ]; }; - authentication = '' - local replication postgres peer - host replication replication all trust - ''; - ensureUsers = [ - { - name = "replication"; - ensureClauses.replication = true; - } - ]; + networking.firewall.allowedTCPPorts = [ 5432 ]; }; - networking.firewall.allowedTCPPorts = [ 5432 ]; - }; - replica = - { nodes, ... }: - { - services.postgresql = { - inherit package; - enable = true; - settings = { - hot_standby = "on"; - primary_conninfo = "host=${nodes.primary.networking.primaryIPAddress} user=replication"; - primary_slot_name = "replica_slot"; + replica = + { nodes, ... }: + { + services.postgresql = { + inherit package; + enable = true; + settings = { + hot_standby = "on"; + primary_conninfo = "host=${nodes.primary.networking.primaryIPAddress} user=replication"; + primary_slot_name = "replica_slot"; + }; }; }; - }; - }; + }; - testScript = '' - start_all() - primary.wait_for_unit("postgresql.target") + testScript = '' + start_all() + primary.wait_for_unit("postgresql.target") - primary.succeed( - "sudo -u postgres psql -c \"SELECT * FROM pg_create_physical_replication_slot('replica_slot');\"" - ) + primary.succeed( + "sudo -u postgres psql -c \"SELECT * FROM pg_create_physical_replication_slot('replica_slot');\"" + ) - primary.succeed( - "sudo -u postgres pg_basebackup -D /tmp/basebackup -S replica_slot -X stream" - ) - primary.succeed("tar -C /tmp -cf /tmp/shared/basebackup.tar basebackup") + primary.succeed( + "sudo -u postgres pg_basebackup -D /tmp/basebackup -S replica_slot -X stream" + ) + primary.succeed("tar -C /tmp -cf /tmp/shared/basebackup.tar basebackup") - replica.wait_for_unit("postgresql.target") - replica.succeed("systemctl stop postgresql") + replica.wait_for_unit("postgresql.target") + replica.succeed("systemctl stop postgresql") - replica_data_dir = "/var/lib/postgresql/${package.psqlSchema}" - replica.succeed(f"rm -rf {replica_data_dir}") - replica.succeed(f"mkdir -p {replica_data_dir}") - replica.succeed(f"tar -C {replica_data_dir} --strip-components=1 -xf /tmp/shared/basebackup.tar") - replica.succeed(f"touch {replica_data_dir}/standby.signal") - replica.succeed(f"chown -R postgres:postgres {replica_data_dir}") - replica.succeed(f"chmod 700 {replica_data_dir}") + replica_data_dir = "/var/lib/postgresql/${package.psqlSchema}" + replica.succeed(f"rm -rf {replica_data_dir}") + replica.succeed(f"mkdir -p {replica_data_dir}") + replica.succeed(f"tar -C {replica_data_dir} --strip-components=1 -xf /tmp/shared/basebackup.tar") + replica.succeed(f"touch {replica_data_dir}/standby.signal") + replica.succeed(f"chown -R postgres:postgres {replica_data_dir}") + replica.succeed(f"chmod 700 {replica_data_dir}") - replica.succeed("systemctl start postgresql") - replica.wait_for_unit("postgresql.target") + replica.succeed("systemctl start postgresql") + replica.wait_for_unit("postgresql.target") - replica.wait_until_succeeds( - "sudo -u postgres psql -tAc 'SELECT pg_is_in_recovery();' | grep t" - ) + replica.wait_until_succeeds( + "sudo -u postgres psql -tAc 'SELECT pg_is_in_recovery();' | grep t" + ) - primary.succeed( - "sudo -u postgres psql -c 'CREATE TABLE test_replication (id serial PRIMARY KEY, data text);'" - ) - primary.succeed( - "sudo -u postgres psql -c \"INSERT INTO test_replication (data) VALUES ('hello');\"" - ) + primary.succeed( + "sudo -u postgres psql -c 'CREATE TABLE test_replication (id serial PRIMARY KEY, data text);'" + ) + primary.succeed( + "sudo -u postgres psql -c \"INSERT INTO test_replication (data) VALUES ('hello');\"" + ) - replica.wait_until_succeeds( - "sudo -u postgres psql -c 'SELECT * FROM test_replication;' | grep hello", - timeout=30 - ) + replica.wait_until_succeeds( + "sudo -u postgres psql -c 'SELECT * FROM test_replication;' | grep hello", + timeout=30 + ) - with subtest("Verify replica is in recovery mode"): - result = replica.succeed("sudo -u postgres psql -tAc 'SELECT pg_is_in_recovery();'") - t.assertEqual(result.strip(), "t") + with subtest("Verify replica is in recovery mode"): + result = replica.succeed("sudo -u postgres psql -tAc 'SELECT pg_is_in_recovery();'") + t.assertEqual(result.strip(), "t") - with subtest("Verify replication slot is active"): - result = primary.succeed( - "sudo -u postgres psql -tAc \"SELECT active FROM pg_replication_slots WHERE slot_name = 'replica_slot';\"" - ) - t.assertEqual(result.strip(), "t") + with subtest("Verify replication slot is active"): + result = primary.succeed( + "sudo -u postgres psql -tAc \"SELECT active FROM pg_replication_slots WHERE slot_name = 'replica_slot';\"" + ) + t.assertEqual(result.strip(), "t") - with subtest("Insert more data and verify replication"): - primary.succeed( - "sudo -u postgres psql -c \"INSERT INTO test_replication (data) VALUES ('world');\"" - ) - replica.wait_until_succeeds( - "sudo -u postgres psql -c 'SELECT * FROM test_replication;' | grep world", - timeout=30 - ) + with subtest("Insert more data and verify replication"): + primary.succeed( + "sudo -u postgres psql -c \"INSERT INTO test_replication (data) VALUES ('world');\"" + ) + replica.wait_until_succeeds( + "sudo -u postgres psql -c 'SELECT * FROM test_replication;' | grep world", + timeout=30 + ) - primary.shutdown() - replica.shutdown() - ''; - }; + primary.shutdown() + replica.shutdown() + ''; + } + ); in genTests { inherit makeTestFor; } diff --git a/nixos/tests/postgresql/postgresql-tls-client-cert.nix b/nixos/tests/postgresql/postgresql-tls-client-cert.nix index acb531780f76..19af512e28ff 100644 --- a/nixos/tests/postgresql/postgresql-tls-client-cert.nix +++ b/nixos/tests/postgresql/postgresql-tls-client-cert.nix @@ -1,145 +1,147 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; - - runWithOpenSSL = - file: cmd: - pkgs.runCommand file { - buildInputs = [ pkgs.openssl ]; - } cmd; - caKey = runWithOpenSSL "ca.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; - caCert = runWithOpenSSL "ca.crt" '' - openssl req -new -x509 -sha256 -key ${caKey} -out $out -subj "/CN=test.example" -days 36500 - ''; - serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; - serverKeyPath = "/var/lib/postgresql"; - serverCert = runWithOpenSSL "server.crt" '' - openssl req -new -sha256 -key ${serverKey} -out server.csr -subj "/CN=db.test.example" - openssl x509 -req -in server.csr -CA ${caCert} -CAkey ${caKey} \ - -CAcreateserial -out $out -days 36500 -sha256 - ''; - clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; - clientCert = runWithOpenSSL "client.crt" '' - openssl req -new -sha256 -key ${clientKey} -out client.csr -subj "/CN=test" - openssl x509 -req -in client.csr -CA ${caCert} -CAkey ${caKey} \ - -CAcreateserial -out $out -days 36500 -sha256 - ''; - clientKeyPath = "/root"; - makeTestFor = package: - makeTest { - name = "postgresql-tls-client-cert-${package.name}"; - meta.maintainers = with lib.maintainers; [ erictapen ]; + runTest ( + { lib, pkgs, ... }: + let + runWithOpenSSL = + file: cmd: + pkgs.runCommand file { + buildInputs = [ pkgs.openssl ]; + } cmd; + caKey = runWithOpenSSL "ca.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; + caCert = runWithOpenSSL "ca.crt" '' + openssl req -new -x509 -sha256 -key ${caKey} -out $out -subj "/CN=test.example" -days 36500 + ''; + serverKey = runWithOpenSSL "server.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; + serverKeyPath = "/var/lib/postgresql"; + serverCert = runWithOpenSSL "server.crt" '' + openssl req -new -sha256 -key ${serverKey} -out server.csr -subj "/CN=db.test.example" + openssl x509 -req -in server.csr -CA ${caCert} -CAkey ${caKey} \ + -CAcreateserial -out $out -days 36500 -sha256 + ''; + clientKey = runWithOpenSSL "client.key" "openssl ecparam -name prime256v1 -genkey -noout -out $out"; + clientCert = runWithOpenSSL "client.crt" '' + openssl req -new -sha256 -key ${clientKey} -out client.csr -subj "/CN=test" + openssl x509 -req -in client.csr -CA ${caCert} -CAkey ${caKey} \ + -CAcreateserial -out $out -days 36500 -sha256 + ''; + clientKeyPath = "/root"; + in + { + name = "postgresql-tls-client-cert-${package.name}"; + meta.maintainers = with lib.maintainers; [ erictapen ]; - nodes.server = - { ... }: - { - systemd.services.create-keys = { - wantedBy = [ "postgresql.target" ]; + nodes.server = + { ... }: + { + systemd.services.create-keys = { + wantedBy = [ "postgresql.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + mkdir -p '${serverKeyPath}' + cp '${serverKey}' '${serverKeyPath}/server.key' + chown postgres:postgres '${serverKeyPath}/server.key' + chmod 600 '${serverKeyPath}/server.key' + ''; }; - - script = '' - mkdir -p '${serverKeyPath}' - cp '${serverKey}' '${serverKeyPath}/server.key' - chown postgres:postgres '${serverKeyPath}/server.key' - chmod 600 '${serverKeyPath}/server.key' - ''; - }; - services.postgresql = { - inherit package; - enable = true; - enableTCPIP = true; - ensureUsers = [ - { - name = "test"; - ensureDBOwnership = true; - } - ]; - ensureDatabases = [ "test" ]; - settings = { - ssl = "on"; - ssl_ca_file = toString caCert; - ssl_cert_file = toString serverCert; - ssl_key_file = "${serverKeyPath}/server.key"; - }; - authentication = '' - hostssl test test ::/0 cert clientcert=verify-full - ''; - }; - networking = { - interfaces.eth1 = { - ipv6.addresses = [ + services.postgresql = { + inherit package; + enable = true; + enableTCPIP = true; + ensureUsers = [ { - address = "fc00::1"; - prefixLength = 120; + name = "test"; + ensureDBOwnership = true; } ]; + ensureDatabases = [ "test" ]; + settings = { + ssl = "on"; + ssl_ca_file = toString caCert; + ssl_cert_file = toString serverCert; + ssl_key_file = "${serverKeyPath}/server.key"; + }; + authentication = '' + hostssl test test ::/0 cert clientcert=verify-full + ''; }; - firewall.allowedTCPPorts = [ 5432 ]; - }; - }; - - nodes.client = - { ... }: - { - systemd.services.create-keys = { - wantedBy = [ "multi-user.target" ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - mkdir -p '${clientKeyPath}' - cp '${clientKey}' '${clientKeyPath}/client.key' - chown root:root '${clientKeyPath}/client.key' - chmod 600 '${clientKeyPath}/client.key' - ''; - }; - environment = { - variables = { - PGHOST = "db.test.example"; - PGPORT = "5432"; - PGDATABASE = "test"; - PGUSER = "test"; - PGSSLMODE = "verify-full"; - PGSSLCERT = clientCert; - PGSSLKEY = "${clientKeyPath}/client.key"; - PGSSLROOTCERT = caCert; - }; - systemPackages = [ package ]; - }; - networking = { - interfaces.eth1 = { - ipv6.addresses = [ - { - address = "fc00::2"; - prefixLength = 120; - } - ]; - }; - hosts = { - "fc00::1" = [ "db.test.example" ]; + networking = { + interfaces.eth1 = { + ipv6.addresses = [ + { + address = "fc00::1"; + prefixLength = 120; + } + ]; + }; + firewall.allowedTCPPorts = [ 5432 ]; }; }; - }; - testScript = '' - server.wait_for_unit("multi-user.target") - client.wait_for_unit("multi-user.target") - client.succeed("psql -c \"SELECT 1;\"") - ''; - }; + nodes.client = + { ... }: + { + systemd.services.create-keys = { + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + script = '' + mkdir -p '${clientKeyPath}' + cp '${clientKey}' '${clientKeyPath}/client.key' + chown root:root '${clientKeyPath}/client.key' + chmod 600 '${clientKeyPath}/client.key' + ''; + }; + environment = { + variables = { + PGHOST = "db.test.example"; + PGPORT = "5432"; + PGDATABASE = "test"; + PGUSER = "test"; + PGSSLMODE = "verify-full"; + PGSSLCERT = clientCert; + PGSSLKEY = "${clientKeyPath}/client.key"; + PGSSLROOTCERT = caCert; + }; + systemPackages = [ package ]; + }; + networking = { + interfaces.eth1 = { + ipv6.addresses = [ + { + address = "fc00::2"; + prefixLength = 120; + } + ]; + }; + hosts = { + "fc00::1" = [ "db.test.example" ]; + }; + }; + }; + + testScript = '' + server.wait_for_unit("multi-user.target") + client.wait_for_unit("multi-user.target") + client.succeed("psql -c \"SELECT 1;\"") + ''; + } + ); in genTests { inherit makeTestFor; } diff --git a/nixos/tests/postgresql/postgresql-wal-receiver.nix b/nixos/tests/postgresql/postgresql-wal-receiver.nix index c233a582546c..f929596cf614 100644 --- a/nixos/tests/postgresql/postgresql-wal-receiver.nix +++ b/nixos/tests/postgresql/postgresql-wal-receiver.nix @@ -1,111 +1,112 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; - makeTestFor = package: - let - postgresqlDataDir = "/var/lib/postgresql/${package.psqlSchema}"; - replicationUser = "wal_receiver_user"; - replicationSlot = "wal_receiver_slot"; - replicationConn = "postgresql://${replicationUser}@localhost"; - baseBackupDir = "/var/cache/wals/pg_basebackup"; - walBackupDir = "/var/cache/wals/pg_wal"; - recoveryFile = pkgs.writeTextDir "recovery.signal" ""; - in - makeTest { - name = "postgresql-wal-receiver-${package.name}"; - meta.maintainers = with lib.maintainers; [ euxane ]; + runTest ( + { lib, pkgs, ... }: + let + postgresqlDataDir = "/var/lib/postgresql/${package.psqlSchema}"; + replicationUser = "wal_receiver_user"; + replicationSlot = "wal_receiver_slot"; + replicationConn = "postgresql://${replicationUser}@localhost"; + baseBackupDir = "/var/cache/wals/pg_basebackup"; + walBackupDir = "/var/cache/wals/pg_wal"; + recoveryFile = pkgs.writeTextDir "recovery.signal" ""; + in + { + name = "postgresql-wal-receiver-${package.name}"; + meta.maintainers = with lib.maintainers; [ euxane ]; - nodes.machine = - { ... }: - { - systemd.tmpfiles.rules = [ - "d /var/cache/wals 0750 postgres postgres - -" - ]; + nodes.machine = + { ... }: + { + systemd.tmpfiles.rules = [ + "d /var/cache/wals 0750 postgres postgres - -" + ]; - services.postgresql = { - inherit package; - enable = true; - settings = { - max_replication_slots = 10; - max_wal_senders = 10; - recovery_end_command = "touch recovery.done"; - restore_command = "cp ${walBackupDir}/%f %p"; - wal_level = "archive"; # alias for replica on pg >= 9.6 + services.postgresql = { + inherit package; + enable = true; + settings = { + max_replication_slots = 10; + max_wal_senders = 10; + recovery_end_command = "touch recovery.done"; + restore_command = "cp ${walBackupDir}/%f %p"; + wal_level = "archive"; # alias for replica on pg >= 9.6 + }; + authentication = '' + host replication ${replicationUser} all trust + ''; + initialScript = pkgs.writeText "init.sql" '' + create user ${replicationUser} replication; + select * from pg_create_physical_replication_slot('${replicationSlot}'); + ''; }; - authentication = '' - host replication ${replicationUser} all trust - ''; - initialScript = pkgs.writeText "init.sql" '' - create user ${replicationUser} replication; - select * from pg_create_physical_replication_slot('${replicationSlot}'); - ''; + + services.postgresqlWalReceiver.receivers.main = { + postgresqlPackage = package; + connection = replicationConn; + slot = replicationSlot; + directory = walBackupDir; + }; + # This is only to speedup test, it isn't time racing. Service is set to autorestart always, + # default 60sec is fine for real system, but is too much for a test + systemd.services.postgresql-wal-receiver-main.serviceConfig.RestartSec = lib.mkForce 5; + systemd.services.postgresql.serviceConfig.ReadWritePaths = [ "/var/cache/wals" ]; }; - services.postgresqlWalReceiver.receivers.main = { - postgresqlPackage = package; - connection = replicationConn; - slot = replicationSlot; - directory = walBackupDir; - }; - # This is only to speedup test, it isn't time racing. Service is set to autorestart always, - # default 60sec is fine for real system, but is too much for a test - systemd.services.postgresql-wal-receiver-main.serviceConfig.RestartSec = lib.mkForce 5; - systemd.services.postgresql.serviceConfig.ReadWritePaths = [ "/var/cache/wals" ]; - }; + testScript = '' + # make an initial base backup + machine.wait_for_unit("postgresql.target") + machine.wait_for_unit("postgresql-wal-receiver-main") + # WAL receiver healthchecks PG every 5 seconds, so let's be sure they have connected each other + # required only for 9.4 + machine.sleep(5) + machine.succeed( + "${package}/bin/pg_basebackup --dbname=${replicationConn} --pgdata=${baseBackupDir}" + ) - testScript = '' - # make an initial base backup - machine.wait_for_unit("postgresql.target") - machine.wait_for_unit("postgresql-wal-receiver-main") - # WAL receiver healthchecks PG every 5 seconds, so let's be sure they have connected each other - # required only for 9.4 - machine.sleep(5) - machine.succeed( - "${package}/bin/pg_basebackup --dbname=${replicationConn} --pgdata=${baseBackupDir}" - ) + # create a dummy table with 100 records + machine.succeed( + "sudo -u postgres psql --command='create table dummy as select * from generate_series(1, 100) as val;'" + ) - # create a dummy table with 100 records - machine.succeed( - "sudo -u postgres psql --command='create table dummy as select * from generate_series(1, 100) as val;'" - ) + # stop postgres and destroy data + machine.systemctl("stop postgresql") + machine.systemctl("stop postgresql-wal-receiver-main") + machine.succeed("rm -r ${postgresqlDataDir}/{base,global,pg_*}") - # stop postgres and destroy data - machine.systemctl("stop postgresql") - machine.systemctl("stop postgresql-wal-receiver-main") - machine.succeed("rm -r ${postgresqlDataDir}/{base,global,pg_*}") + # restore the base backup + machine.succeed( + "cp -r ${baseBackupDir}/* ${postgresqlDataDir} && chown postgres:postgres -R ${postgresqlDataDir}" + ) - # restore the base backup - machine.succeed( - "cp -r ${baseBackupDir}/* ${postgresqlDataDir} && chown postgres:postgres -R ${postgresqlDataDir}" - ) + # prepare WAL and recovery + machine.succeed("chmod a+rX -R ${walBackupDir}") + machine.execute( + "for part in ${walBackupDir}/*.partial; do mv $part ''${part%%.*}; done" + ) # make use of partial segments too + machine.succeed( + "cp ${recoveryFile}/* ${postgresqlDataDir}/ && chmod 666 ${postgresqlDataDir}/recovery*" + ) - # prepare WAL and recovery - machine.succeed("chmod a+rX -R ${walBackupDir}") - machine.execute( - "for part in ${walBackupDir}/*.partial; do mv $part ''${part%%.*}; done" - ) # make use of partial segments too - machine.succeed( - "cp ${recoveryFile}/* ${postgresqlDataDir}/ && chmod 666 ${postgresqlDataDir}/recovery*" - ) + # replay WAL + machine.systemctl("start postgresql") + machine.wait_for_file("${postgresqlDataDir}/recovery.done") + machine.systemctl("restart postgresql") + machine.wait_for_unit("postgresql.target") - # replay WAL - machine.systemctl("start postgresql") - machine.wait_for_file("${postgresqlDataDir}/recovery.done") - machine.systemctl("restart postgresql") - machine.wait_for_unit("postgresql.target") - - # check that our records have been restored - machine.succeed( - "test $(sudo -u postgres psql --pset='pager=off' --tuples-only --command='select count(distinct val) from dummy;') -eq 100" - ) - ''; - }; + # check that our records have been restored + machine.succeed( + "test $(sudo -u postgres psql --pset='pager=off' --tuples-only --command='select count(distinct val) from dummy;') -eq 100" + ) + ''; + } + ); in genTests { inherit makeTestFor; } diff --git a/nixos/tests/postgresql/postgresql.nix b/nixos/tests/postgresql/postgresql.nix index 32a096346445..d832f5caa4e9 100644 --- a/nixos/tests/postgresql/postgresql.nix +++ b/nixos/tests/postgresql/postgresql.nix @@ -1,12 +1,11 @@ { - pkgs, - makeTest, + runTest, genTests, + lib, + ... }: let - inherit (pkgs) lib; - makeTestFor = package: lib.recurseIntoAttrs { @@ -15,263 +14,271 @@ let postgresql-clauses = makeEnsureTestFor package; }; - test-sql = pkgs.writeText "postgresql-test" '' - CREATE EXTENSION pgcrypto; -- just to check if lib loading works - CREATE TABLE sth ( - id int - ); - INSERT INTO sth (id) VALUES (1); - INSERT INTO sth (id) VALUES (1); - INSERT INTO sth (id) VALUES (1); - INSERT INTO sth (id) VALUES (1); - INSERT INTO sth (id) VALUES (1); - CREATE TABLE xmltest ( doc xml ); - INSERT INTO xmltest (doc) VALUES ('ok'); -- check if libxml2 enabled - - -- check if hardening gets relaxed - CREATE EXTENSION plv8; - -- try to trigger the V8 JIT, which requires MemoryDenyWriteExecute - DO $$ - let xs = []; - for (let i = 0, n = 400000; i < n; i++) { - xs.push(Math.round(Math.random() * n)) - } - console.log(xs.reduce((acc, x) => acc + x, 0)); - $$ LANGUAGE plv8; - ''; - makeTestForWithBackupAll = package: backupAll: - makeTest { - name = "postgresql${lib.optionalString backupAll "-backup-all"}-${package.name}"; - meta = with lib.maintainers; { - maintainers = [ zagy ]; - }; + runTest ( + { lib, pkgs, ... }: + let + test-sql = pkgs.writeText "postgresql-test" '' + CREATE EXTENSION pgcrypto; -- just to check if lib loading works + CREATE TABLE sth ( + id int + ); + INSERT INTO sth (id) VALUES (1); + INSERT INTO sth (id) VALUES (1); + INSERT INTO sth (id) VALUES (1); + INSERT INTO sth (id) VALUES (1); + INSERT INTO sth (id) VALUES (1); + CREATE TABLE xmltest ( doc xml ); + INSERT INTO xmltest (doc) VALUES ('ok'); -- check if libxml2 enabled - nodes.machine = - { config, ... }: - { - services.postgresql = { - inherit package; - enable = true; - identMap = '' - postgres root postgres - ''; - # TODO(@Ma27) split this off into its own VM test and move a few other - # extension tests to use postgresqlTestExtension. - extensions = ps: with ps; [ plv8 ]; - }; + -- check if hardening gets relaxed + CREATE EXTENSION plv8; + -- try to trigger the V8 JIT, which requires MemoryDenyWriteExecute + DO $$ + let xs = []; + for (let i = 0, n = 400000; i < n; i++) { + xs.push(Math.round(Math.random() * n)) + } + console.log(xs.reduce((acc, x) => acc + x, 0)); + $$ LANGUAGE plv8; + ''; - services.postgresqlBackup = { - enable = true; - databases = lib.optional (!backupAll) "postgres"; - pgdumpOptions = "--restrict-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - pgdumpAllOptions = "--restrict-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - }; + in + { + name = "postgresql${lib.optionalString backupAll "-backup-all"}-${package.name}"; + meta = with lib.maintainers; { + maintainers = [ zagy ]; }; - testScript = - let - backupName = if backupAll then "all" else "postgres"; - backupService = if backupAll then "postgresqlBackup" else "postgresqlBackup-postgres"; - backupFileBase = "/var/backup/postgresql/${backupName}"; - in - '' - def check_count(statement, lines): - return 'test $(psql -U postgres postgres -tAc "{}"|wc -l) -eq {}'.format( - statement, lines - ) + nodes.machine = + { config, ... }: + { + services.postgresql = { + inherit package; + enable = true; + identMap = '' + postgres root postgres + ''; + # TODO(@Ma27) split this off into its own VM test and move a few other + # extension tests to use postgresqlTestExtension. + extensions = ps: with ps; [ plv8 ]; + }; + + services.postgresqlBackup = { + enable = true; + databases = lib.optional (!backupAll) "postgres"; + pgdumpOptions = "--restrict-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + pgdumpAllOptions = "--restrict-key=ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + }; + }; + + testScript = + let + backupName = if backupAll then "all" else "postgres"; + backupService = if backupAll then "postgresqlBackup" else "postgresqlBackup-postgres"; + backupFileBase = "/var/backup/postgresql/${backupName}"; + in + '' + def check_count(statement, lines): + return 'test $(psql -U postgres postgres -tAc "{}"|wc -l) -eq {}'.format( + statement, lines + ) - machine.start() - machine.wait_for_unit("postgresql.target") + machine.start() + machine.wait_for_unit("postgresql.target") - with subtest("Postgresql is available just after unit start"): - machine.succeed( - "cat ${test-sql} | sudo -u postgres psql" - ) + with subtest("Postgresql is available just after unit start"): + machine.succeed( + "cat ${test-sql} | sudo -u postgres psql" + ) - with subtest("Postgresql survives restart (bug #1735)"): - machine.shutdown() - import time - time.sleep(2) - machine.start() - machine.wait_for_unit("postgresql.target") + with subtest("Postgresql survives restart (bug #1735)"): + machine.shutdown() + import time + time.sleep(2) + machine.start() + machine.wait_for_unit("postgresql.target") - machine.fail(check_count("SELECT * FROM sth;", 3)) - machine.succeed(check_count("SELECT * FROM sth;", 5)) - machine.fail(check_count("SELECT * FROM sth;", 4)) - machine.succeed(check_count("SELECT xpath('/test/text()', doc) FROM xmltest;", 1)) + machine.fail(check_count("SELECT * FROM sth;", 3)) + machine.succeed(check_count("SELECT * FROM sth;", 5)) + machine.fail(check_count("SELECT * FROM sth;", 4)) + machine.succeed(check_count("SELECT xpath('/test/text()', doc) FROM xmltest;", 1)) - with subtest("killing postgres process should trigger an automatic restart"): - machine.succeed("systemctl kill -s KILL postgresql") + with subtest("killing postgres process should trigger an automatic restart"): + machine.succeed("systemctl kill -s KILL postgresql") - machine.wait_until_succeeds("systemctl is-active postgresql.service") - machine.wait_until_succeeds("systemctl is-active postgresql.target") + machine.wait_until_succeeds("systemctl is-active postgresql.service") + machine.wait_until_succeeds("systemctl is-active postgresql.target") - with subtest("Backup service works"): - machine.succeed( - "systemctl start ${backupService}.service", - "zcat ${backupFileBase}.sql.gz | grep 'ok'", - "ls -hal /var/backup/postgresql/ >/dev/console", - "stat -c '%a' ${backupFileBase}.sql.gz | grep 600", - ) - with subtest("Backup service removes prev files"): - machine.succeed( - # Create dummy prev files. - "touch ${backupFileBase}.prev.sql{,.gz,.zstd}", - "chown postgres:postgres ${backupFileBase}.prev.sql{,.gz,.zstd}", + with subtest("Backup service works"): + machine.succeed( + "systemctl start ${backupService}.service", + "zcat ${backupFileBase}.sql.gz | grep 'ok'", + "ls -hal /var/backup/postgresql/ >/dev/console", + "stat -c '%a' ${backupFileBase}.sql.gz | grep 600", + ) + with subtest("Backup service removes prev files"): + machine.succeed( + # Create dummy prev files. + "touch ${backupFileBase}.prev.sql{,.gz,.zstd}", + "chown postgres:postgres ${backupFileBase}.prev.sql{,.gz,.zstd}", - # Run backup. - "systemctl start ${backupService}.service", - "ls -hal /var/backup/postgresql/ >/dev/console", + # Run backup. + "systemctl start ${backupService}.service", + "ls -hal /var/backup/postgresql/ >/dev/console", - # Since nothing has changed in the database, the cur and prev files - # should match. - "zcat ${backupFileBase}.sql.gz | grep 'ok'", - "cmp ${backupFileBase}.sql.gz ${backupFileBase}.prev.sql.gz", + # Since nothing has changed in the database, the cur and prev files + # should match. + "zcat ${backupFileBase}.sql.gz | grep 'ok'", + "cmp ${backupFileBase}.sql.gz ${backupFileBase}.prev.sql.gz", - # The prev files with unused suffix should be removed. - "[ ! -f '${backupFileBase}.prev.sql' ]", - "[ ! -f '${backupFileBase}.prev.sql.zstd' ]", + # The prev files with unused suffix should be removed. + "[ ! -f '${backupFileBase}.prev.sql' ]", + "[ ! -f '${backupFileBase}.prev.sql.zstd' ]", - # Both cur and prev file should only be accessible by the postgres user. - "stat -c '%a' ${backupFileBase}.sql.gz | grep 600", - "stat -c '%a' '${backupFileBase}.prev.sql.gz' | grep 600", - ) - with subtest("Backup service fails gracefully"): - # Sabotage the backup process - machine.succeed("rm /run/postgresql/.s.PGSQL.5432") - machine.fail( - "systemctl start ${backupService}.service", - ) - machine.succeed( - "ls -hal /var/backup/postgresql/ >/dev/console", - "zcat ${backupFileBase}.prev.sql.gz | grep 'ok'", - "stat ${backupFileBase}.in-progress.sql.gz", - ) - # In a previous version, the second run would overwrite prev.sql.gz, - # so we test a second run as well. - machine.fail( - "systemctl start ${backupService}.service", - ) - machine.succeed( - "stat ${backupFileBase}.in-progress.sql.gz", - "zcat ${backupFileBase}.prev.sql.gz | grep 'ok'", - ) + # Both cur and prev file should only be accessible by the postgres user. + "stat -c '%a' ${backupFileBase}.sql.gz | grep 600", + "stat -c '%a' '${backupFileBase}.prev.sql.gz' | grep 600", + ) + with subtest("Backup service fails gracefully"): + # Sabotage the backup process + machine.succeed("rm /run/postgresql/.s.PGSQL.5432") + machine.fail( + "systemctl start ${backupService}.service", + ) + machine.succeed( + "ls -hal /var/backup/postgresql/ >/dev/console", + "zcat ${backupFileBase}.prev.sql.gz | grep 'ok'", + "stat ${backupFileBase}.in-progress.sql.gz", + ) + # In a previous version, the second run would overwrite prev.sql.gz, + # so we test a second run as well. + machine.fail( + "systemctl start ${backupService}.service", + ) + machine.succeed( + "stat ${backupFileBase}.in-progress.sql.gz", + "zcat ${backupFileBase}.prev.sql.gz | grep 'ok'", + ) - with subtest("Initdb works"): - machine.succeed("sudo -u postgres initdb -D /tmp/testpostgres2") + with subtest("Initdb works"): + machine.succeed("sudo -u postgres initdb -D /tmp/testpostgres2") - machine.log(machine.execute("systemd-analyze security postgresql.service | grep -v ✓")[1]) + machine.log(machine.execute("systemd-analyze security postgresql.service | grep -v ✓")[1]) - machine.shutdown() - ''; - }; + machine.shutdown() + ''; + } + ); makeEnsureTestFor = package: - makeTest { - name = "postgresql-clauses-${package.name}"; - meta = with lib.maintainers; { - maintainers = [ zagy ]; - }; - - nodes.machine = - { ... }: - { - services.postgresql = { - inherit package; - enable = true; - ensureUsers = [ - { - name = "all-clauses"; - ensureClauses = { - superuser = true; - createdb = true; - createrole = true; - "inherit" = true; - login = true; - replication = true; - bypassrls = true; - # SCRAM-SHA-256 hashed password for "password" - password = "SCRAM-SHA-256$4096:SZEJF5Si4QZ6l4fedrZZWQ==$6u3PWVcz+dts+NdpByPIjKa4CaSnoXGG3M2vpo76bVU=:WSZ0iGUCmVtKYVvNX0pFOp/60IgsdJ+90Y67Eun+QE0="; - connection_limit = 5; - }; - } - { - name = "default-clauses"; - } - ]; - }; + runTest ( + { lib, ... }: + { + name = "postgresql-clauses-${package.name}"; + meta = with lib.maintainers; { + maintainers = [ zagy ]; }; - testScript = - let - getClausesQuery = - user: - lib.concatStringsSep " " [ - "SELECT row_to_json(row)" - "FROM (" - "SELECT" - "rolsuper," - "rolinherit," - "rolcreaterole," - "rolcreatedb," - "rolcanlogin," - "rolreplication," - "rolbypassrls," - "rolconnlimit," - "rolpassword" - "FROM pg_authid" - "WHERE rolname = '${user}'" - ") row;" - ]; - in - '' - import json - machine.start() - machine.wait_for_unit("postgresql.target") + nodes.machine = + { ... }: + { + services.postgresql = { + inherit package; + enable = true; + ensureUsers = [ + { + name = "all-clauses"; + ensureClauses = { + superuser = true; + createdb = true; + createrole = true; + "inherit" = true; + login = true; + replication = true; + bypassrls = true; + # SCRAM-SHA-256 hashed password for "password" + password = "SCRAM-SHA-256$4096:SZEJF5Si4QZ6l4fedrZZWQ==$6u3PWVcz+dts+NdpByPIjKa4CaSnoXGG3M2vpo76bVU=:WSZ0iGUCmVtKYVvNX0pFOp/60IgsdJ+90Y67Eun+QE0="; + connection_limit = 5; + }; + } + { + name = "default-clauses"; + } + ]; + }; + }; - with subtest("All user permissions are set according to the ensureClauses attr"): - clauses = json.loads( - machine.succeed( - "sudo -u postgres psql -tc \"${getClausesQuery "all-clauses"}\"" + testScript = + let + getClausesQuery = + user: + lib.concatStringsSep " " [ + "SELECT row_to_json(row)" + "FROM (" + "SELECT" + "rolsuper," + "rolinherit," + "rolcreaterole," + "rolcreatedb," + "rolcanlogin," + "rolreplication," + "rolbypassrls," + "rolconnlimit," + "rolpassword" + "FROM pg_authid" + "WHERE rolname = '${user}'" + ") row;" + ]; + in + '' + import json + machine.start() + machine.wait_for_unit("postgresql.target") + + with subtest("All user permissions are set according to the ensureClauses attr"): + clauses = json.loads( + machine.succeed( + "sudo -u postgres psql -tc \"${getClausesQuery "all-clauses"}\"" + ) ) - ) - print(clauses) - t.assertTrue(clauses["rolsuper"]) - t.assertTrue(clauses["rolinherit"]) - t.assertTrue(clauses["rolcreaterole"]) - t.assertTrue(clauses["rolcreatedb"]) - t.assertTrue(clauses["rolcanlogin"]) - t.assertTrue(clauses["rolreplication"]) - t.assertTrue(clauses["rolbypassrls"]) - t.assertTrue(clauses["rolconnlimit"] == 5) - t.assertTrue(clauses["rolpassword"]) - machine.succeed( - "PGPASSWORD='password' psql -h localhost -U all-clauses -d postgres -c \"SELECT 1\"" - ) - - with subtest("All user permissions default when ensureClauses is not provided"): - clauses = json.loads( + print(clauses) + t.assertTrue(clauses["rolsuper"]) + t.assertTrue(clauses["rolinherit"]) + t.assertTrue(clauses["rolcreaterole"]) + t.assertTrue(clauses["rolcreatedb"]) + t.assertTrue(clauses["rolcanlogin"]) + t.assertTrue(clauses["rolreplication"]) + t.assertTrue(clauses["rolbypassrls"]) + t.assertTrue(clauses["rolconnlimit"] == 5) + t.assertTrue(clauses["rolpassword"]) machine.succeed( - "sudo -u postgres psql -tc \"${getClausesQuery "default-clauses"}\"" + "PGPASSWORD='password' psql -h localhost -U all-clauses -d postgres -c \"SELECT 1\"" ) - ) - t.assertFalse(clauses["rolsuper"]) - t.assertTrue(clauses["rolinherit"]) - t.assertFalse(clauses["rolcreaterole"]) - t.assertFalse(clauses["rolcreatedb"]) - t.assertTrue(clauses["rolcanlogin"]) - t.assertFalse(clauses["rolreplication"]) - t.assertFalse(clauses["rolbypassrls"]) - t.assertFalse(clauses["rolconnlimit"] == 5) - t.assertFalse(clauses["rolpassword"]) - machine.shutdown() - ''; - }; + with subtest("All user permissions default when ensureClauses is not provided"): + clauses = json.loads( + machine.succeed( + "sudo -u postgres psql -tc \"${getClausesQuery "default-clauses"}\"" + ) + ) + t.assertFalse(clauses["rolsuper"]) + t.assertTrue(clauses["rolinherit"]) + t.assertFalse(clauses["rolcreaterole"]) + t.assertFalse(clauses["rolcreatedb"]) + t.assertTrue(clauses["rolcanlogin"]) + t.assertFalse(clauses["rolreplication"]) + t.assertFalse(clauses["rolbypassrls"]) + t.assertFalse(clauses["rolconnlimit"] == 5) + t.assertFalse(clauses["rolpassword"]) + + machine.shutdown() + ''; + } + ); in genTests { inherit makeTestFor; } diff --git a/nixos/tests/postgresql/wal2json.nix b/nixos/tests/postgresql/wal2json.nix index 708c24ebabd6..511b1a7a2e8c 100644 --- a/nixos/tests/postgresql/wal2json.nix +++ b/nixos/tests/postgresql/wal2json.nix @@ -1,47 +1,48 @@ { - pkgs, - makeTest, + runTest, genTests, + ... }: let - inherit (pkgs) lib; - makeTestFor = package: - makeTest { - name = "wal2json-${package.name}"; - meta.maintainers = with pkgs.lib.maintainers; [ euank ]; + runTest ( + { lib, pkgs, ... }: + { + name = "wal2json-${package.name}"; + meta.maintainers = with pkgs.lib.maintainers; [ euank ]; - nodes.machine = { - services.postgresql = { - inherit package; - enable = true; - extensions = with package.pkgs; [ wal2json ]; - settings = { - wal_level = "logical"; - max_replication_slots = "10"; - max_wal_senders = "10"; + nodes.machine = { + services.postgresql = { + inherit package; + enable = true; + extensions = with package.pkgs; [ wal2json ]; + settings = { + wal_level = "logical"; + max_replication_slots = "10"; + max_wal_senders = "10"; + }; }; }; - }; - testScript = '' - machine.wait_for_unit("postgresql.target") - machine.succeed( - "sudo -u postgres psql -qAt -f ${./wal2json/example2.sql} postgres > /tmp/example2.out" - ) - machine.succeed( - "diff ${./wal2json/example2.out} /tmp/example2.out" - ) - machine.succeed( - "sudo -u postgres psql -qAt -f ${./wal2json/example3.sql} postgres > /tmp/example3.out" - ) - machine.succeed( - "diff ${./wal2json/example3.out} /tmp/example3.out" - ) - ''; - }; + testScript = '' + machine.wait_for_unit("postgresql.target") + machine.succeed( + "sudo -u postgres psql -qAt -f ${./wal2json/example2.sql} postgres > /tmp/example2.out" + ) + machine.succeed( + "diff ${./wal2json/example2.out} /tmp/example2.out" + ) + machine.succeed( + "sudo -u postgres psql -qAt -f ${./wal2json/example3.sql} postgres > /tmp/example3.out" + ) + machine.succeed( + "diff ${./wal2json/example3.out} /tmp/example3.out" + ) + ''; + } + ); in genTests { inherit makeTestFor; diff --git a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix index 74248a1b7d40..469dabe79cc8 100644 --- a/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix +++ b/pkgs/applications/emulators/libretro/cores/dosbox-pure.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "dosbox-pure"; - version = "0-unstable-2026-01-20"; + version = "0-unstable-2026-01-25"; src = fetchFromGitHub { owner = "schellingb"; repo = "dosbox-pure"; - rev = "c69ecd250eb76cdceae1dbb962116f706e4fa661"; - hash = "sha256-cCUHTaHDNn7k5mK589RoNXiPgFvEBCxCSyp+8azUtpg="; + rev = "38c84798aac5239a06d75e85469225a2ad9c4707"; + hash = "sha256-3N2/v9yv44GdSEoPjC2yne43f4WqLTlWr8dYRrb+GxY="; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/by-name/ap/appium-inspector/package.nix b/pkgs/by-name/ap/appium-inspector/package.nix index d7bfdf16faef..14b4a78fc1de 100644 --- a/pkgs/by-name/ap/appium-inspector/package.nix +++ b/pkgs/by-name/ap/appium-inspector/package.nix @@ -11,7 +11,7 @@ let electron = electron_39; - version = "2026.1.2"; + version = "2026.1.3"; in buildNpmPackage { @@ -22,10 +22,10 @@ buildNpmPackage { owner = "appium"; repo = "appium-inspector"; tag = "v${version}"; - hash = "sha256-uNRm6XHgK55gayl4ab9atV4+i9uCnxEcl4C6HEOX6Ro="; + hash = "sha256-9WhSQq3is2qucL1cGQIYPuLM9VkCFIWq2XVU2QioRMo="; }; - npmDepsHash = "sha256-MraVLbKNgEhwT9sTyNhi4uDfyXOEAGOznvSs0B+mEUA="; + npmDepsHash = "sha256-2DNUTvZ6yFL9U8JKw4ZFR81a6Mv9rPXtRu/v/Il/Rhw="; npmFlags = [ "--ignore-scripts" ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/bl/blightmud/package.nix b/pkgs/by-name/bl/blightmud/package.nix index aa9341e472c3..a07ceb831dc5 100644 --- a/pkgs/by-name/bl/blightmud/package.nix +++ b/pkgs/by-name/bl/blightmud/package.nix @@ -55,9 +55,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "test_tls_init_no_verify" "test_tls_init_verify" ]; - skipFlag = test: "--skip " + test; in - builtins.concatStringsSep " " (map skipFlag skipList); + builtins.map (x: "--skip=" + x) skipList; meta = { description = "Terminal MUD client written in Rust"; diff --git a/pkgs/by-name/bu/bun/package.nix b/pkgs/by-name/bu/bun/package.nix index 760c670baae4..4fd66457f47b 100644 --- a/pkgs/by-name/bu/bun/package.nix +++ b/pkgs/by-name/bu/bun/package.nix @@ -17,7 +17,7 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { - version = "1.3.6"; + version = "1.3.7"; pname = "bun"; src = @@ -71,35 +71,29 @@ stdenvNoCC.mkDerivation (finalAttrs: { && !(stdenvNoCC.hostPlatform.isDarwin && stdenvNoCC.hostPlatform.isx86_64) ) '' - completions_dir=$(mktemp -d) - - SHELL="bash" $out/bin/bun completions $completions_dir - SHELL="zsh" $out/bin/bun completions $completions_dir - SHELL="fish" $out/bin/bun completions $completions_dir - - installShellCompletion --name bun \ - --bash $completions_dir/bun.completion.bash \ - --zsh $completions_dir/_bun \ - --fish $completions_dir/bun.fish + installShellCompletion --cmd bun \ + --bash <(SHELL="bash" $out/bin/bun completions) \ + --zsh <(SHELL="zsh" $out/bin/bun completions) \ + --fish <(SHELL="fish" $out/bin/bun completions) ''; passthru = { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-darwin-aarch64.zip"; - hash = "sha256-KvHshDd1mrBbOw6kIf6eIubHBctMsHUcMmmCZC2s6Po="; + hash = "sha256-FnAeSUmY5HZNSa8vvmLSXsWc88ee5pbrod7yz+kEnWQ="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-linux-aarch64.zip"; - hash = "sha256-Wv0Ss2a6LYKXJFzCnAOUFjNN2HIVLB2wLlyKqMZulrE="; + hash = "sha256-1cfWUUI8K8WuP5LTaDf/st3G7pGElnJQC3/o5aUVn7w="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-darwin-x64-baseline.zip"; - hash = "sha256-stiZTUz3BkE2bWm4dCC4BdHZhPTqfhajUt8VaUlHT6U="; + hash = "sha256-nCwa7m1y6WGVwwUfkSMlBHWVB6qusJPVtw+IaX4ajq8="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${finalAttrs.version}/bun-linux-x64.zip"; - hash = "sha256-m6mNITRVDWaQh1sjpPXEjnS3yyZ+jMG49SYFkhxsEe8="; + hash = "sha256-K9Lg4L3wlIO+Z6cEYHhI6+csKEIIJOTOdyzj2mLCPWU="; }; }; updateScript = writeShellScript "update-bun" '' diff --git a/pkgs/by-name/ca/cargo-bisect-rustc/package.nix b/pkgs/by-name/ca/cargo-bisect-rustc/package.nix index 6138db509936..6e90d5dda528 100644 --- a/pkgs/by-name/ca/cargo-bisect-rustc/package.nix +++ b/pkgs/by-name/ca/cargo-bisect-rustc/package.nix @@ -47,7 +47,7 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-SigRm2ZC7jH1iCEGRpka1G/e9kBEieFVU0YDBl2LfTM="; checkFlags = [ - "--skip test_github" # requires internet + "--skip=test_github" # requires internet ]; meta = { diff --git a/pkgs/by-name/ca/cargo-deadlinks/package.nix b/pkgs/by-name/ca/cargo-deadlinks/package.nix index 3e55dea4f82e..6ffb9137fab9 100644 --- a/pkgs/by-name/ca/cargo-deadlinks/package.nix +++ b/pkgs/by-name/ca/cargo-deadlinks/package.nix @@ -20,15 +20,16 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # uses internet - "--skip non_existent_http_link --skip working_http_check" + "--skip=non_existent_http_link" + "--skip=working_http_check" # makes assumption about HTML paths that changed in rust 1.82.0 - "--skip simple_project::it_checks_okay_project_correctly" - "--skip cli_args::it_passes_arguments_through_to_cargo" + "--skip=simple_project::it_checks_okay_project_correctly" + "--skip=cli_args::it_passes_arguments_through_to_cargo" ] - ++ - lib.optional (stdenv.hostPlatform.system != "x86_64-linux") - # assumes the target is x86_64-unknown-linux-gnu - "--skip simple_project::it_checks_okay_project_correctly"; + ++ lib.optionals (stdenv.hostPlatform.system != "x86_64-linux") [ + # assumes the target is x86_64-unknown-linux-gnu + "--skip=simple_project::it_checks_okay_project_correctly" + ]; meta = { description = "Cargo subcommand to check rust documentation for broken links"; diff --git a/pkgs/by-name/ca/cargo-geiger/package.nix b/pkgs/by-name/ca/cargo-geiger/package.nix index adb07a71445a..62b5a3b23da4 100644 --- a/pkgs/by-name/ca/cargo-geiger/package.nix +++ b/pkgs/by-name/ca/cargo-geiger/package.nix @@ -53,21 +53,21 @@ rustPlatform.buildRustPackage (finalAttrs: { # skip tests with networking or other failures checkFlags = [ # panics - "--skip serialize_test2_quick_report" - "--skip serialize_test3_quick_report" - "--skip serialize_test6_quick_report" - "--skip serialize_test2_report" - "--skip serialize_test3_report" - "--skip serialize_test6_report" + "--skip=serialize_test2_quick_report" + "--skip=serialize_test3_quick_report" + "--skip=serialize_test6_quick_report" + "--skip=serialize_test2_report" + "--skip=serialize_test3_report" + "--skip=serialize_test6_report" # requires networking - "--skip test_package::case_2" - "--skip test_package::case_3" - "--skip test_package::case_6" - "--skip test_package::case_9" + "--skip=test_package::case_2" + "--skip=test_package::case_3" + "--skip=test_package::case_6" + "--skip=test_package::case_9" # panics, snapshot assertions fails - "--skip test_package_update_readme::case_2" - "--skip test_package_update_readme::case_3" - "--skip test_package_update_readme::case_5" + "--skip=test_package_update_readme::case_2" + "--skip=test_package_update_readme::case_3" + "--skip=test_package_update_readme::case_5" ]; passthru.tests.version = testers.testVersion { diff --git a/pkgs/by-name/ca/cargo-sweep/package.nix b/pkgs/by-name/ca/cargo-sweep/package.nix index 03ae04c8b331..2ef3124650aa 100644 --- a/pkgs/by-name/ca/cargo-sweep/package.nix +++ b/pkgs/by-name/ca/cargo-sweep/package.nix @@ -19,9 +19,9 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # Requires a rustup toolchain to be installed. - "--skip check_toolchain_listing_on_multiple_projects" + "--skip=check_toolchain_listing_on_multiple_projects" # Does not work with a `--target` build in the environment - "--skip empty_project_output" + "--skip=empty_project_output" ]; meta = { diff --git a/pkgs/by-name/ca/cargo-valgrind/package.nix b/pkgs/by-name/ca/cargo-valgrind/package.nix index 7d99d1afc462..a9d021379ac8 100644 --- a/pkgs/by-name/ca/cargo-valgrind/package.nix +++ b/pkgs/by-name/ca/cargo-valgrind/package.nix @@ -33,9 +33,9 @@ rustPlatform.buildRustPackage rec { ''; checkFlags = [ - "--skip tests_are_runnable" - "--skip default_cargo_project_reports_no_violations" - "--skip empty_tests_not_leak_in_release_mode" + "--skip=tests_are_runnable" + "--skip=default_cargo_project_reports_no_violations" + "--skip=empty_tests_not_leak_in_release_mode" ]; meta = { diff --git a/pkgs/by-name/cl/claude-code-bin/manifest.json b/pkgs/by-name/cl/claude-code-bin/manifest.json index ce6494a756e8..7edfca54ea37 100644 --- a/pkgs/by-name/cl/claude-code-bin/manifest.json +++ b/pkgs/by-name/cl/claude-code-bin/manifest.json @@ -1,34 +1,34 @@ { - "version": "2.1.20", - "buildDate": "2026-01-27T00:41:34Z", + "version": "2.1.21", + "buildDate": "2026-01-28T01:39:36Z", "platforms": { "darwin-arm64": { - "checksum": "c5703596ed854ae8e5775cf38de5d71d8a56ecfe3f36904812870e9e34178c8c", - "size": 181661168 + "checksum": "e8265d8719f131ab8f2863e66ce69cc829c4f55387ae2286e45d4a06b802c6fd", + "size": 181892336 }, "darwin-x64": { - "checksum": "0d38292770c88bd9b13b0684afb0d2dc0028a1437d0c09be3449d2b3d369b045", - "size": 187958208 + "checksum": "1824c9a01e0266bef1c0da880503e49db08823cf7eb6a54fef2a385028c2bb05", + "size": 188189376 }, "linux-arm64": { - "checksum": "eb8801c7a4a8501b21c235f36674f17328e65e796cf8a6196b3bf9a23ae16f99", - "size": 216047898 + "checksum": "e043ed95e4df4282a9adb34eb51ee14d59a53f2feeeb19884a6b4edeccbe7f3a", + "size": 216288068 }, "linux-x64": { - "checksum": "f9d3698f5378a486db2d4eea5c80f95c2ceb410fbcea9ffc5703b5aac9574fcc", - "size": 223852550 + "checksum": "35fcccfced2e8669dc4aacf2bb76fab9816bcc5fc566e66b5ae42f4e7b4474b1", + "size": 224093184 }, "linux-arm64-musl": { - "checksum": "2a7d24d2b85068c5aca6c014dd5f3f94bd8d55803a06f0d39eea776ab3282d76", - "size": 211311930 + "checksum": "5e453c59b3c8fea4e6848e0972ab093e8eda4711e2be20b68dd4ebaea12db4e1", + "size": 211552100 }, "linux-x64-musl": { - "checksum": "0b392cc1c268f0e48ceedee384535451013f69887a61e23f989e3b743373796a", - "size": 216541126 + "checksum": "afa929dbccd23f746b01821699b1985eb7cc35018d0a8e9bbab678764ea58fb7", + "size": 216781760 }, "win32-x64": { - "checksum": "12e88d78570b6e979f5cf290652dc45ca8b9327f43bb27e275f87146190bef05", - "size": 233703072 + "checksum": "325abe8bb0b907c008e229085815c938037864411ced6c553dbb52e0be587efe", + "size": 233936544 } } } diff --git a/pkgs/by-name/de/deck/package.nix b/pkgs/by-name/de/deck/package.nix index 735936bd27f2..8be259cb3d5a 100644 --- a/pkgs/by-name/de/deck/package.nix +++ b/pkgs/by-name/de/deck/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "deck"; - version = "1.54.0"; + version = "1.55.0"; src = fetchFromGitHub { owner = "Kong"; repo = "deck"; tag = "v${version}"; - hash = "sha256-DVj4VHmU3yORL4zytWzXIPEjrS1P+WLE18Vdcdbibos="; + hash = "sha256-Xw8IROfseCo4e0yDC5Y6aD/aTu9JYsGYjeSzSVIXd+E="; }; nativeBuildInputs = [ installShellFiles ]; @@ -28,7 +28,7 @@ buildGoModule rec { ]; proxyVendor = true; # darwin/linux hash mismatch - vendorHash = "sha256-x+nL+bnwXio/z3XFC9A9G9T7mtB5BsnNgLWT54OJLCE="; + vendorHash = "sha256-LmYsPrHKTYu07jLkAo7UsIV74sVyLSdhAwUV6Cu0JNQ="; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd deck \ diff --git a/pkgs/by-name/de/deno/package.nix b/pkgs/by-name/de/deno/package.nix index 6c6707235f1c..c68775de7da8 100644 --- a/pkgs/by-name/de/deno/package.nix +++ b/pkgs/by-name/de/deno/package.nix @@ -29,17 +29,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "deno"; - version = "2.6.5"; + version = "2.6.6"; src = fetchFromGitHub { owner = "denoland"; repo = "deno"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; # required for tests - hash = "sha256-oNZXPBW61IQdA3MFS1gxNoInSCt6mUitedAXx+tuFaw="; + hash = "sha256-QqzV4Ikr5iWrOX+KJH/65S1HHhxOB0SmHj7yejVJp3M="; }; - cargoHash = "sha256-H1vX/aiB5inK6Fo0l3sEZnvqgRImTpjkxRZHLBPgz0U="; + cargoHash = "sha256-soJ2ZKpxlBskl2b3pz4pn6zMaWUXjYOBRKBuoxHokes="; patches = [ ./patches/0002-tests-replace-hardcoded-paths.patch diff --git a/pkgs/by-name/eg/ego/package.nix b/pkgs/by-name/eg/ego/package.nix index bffa1ea6ec8f..1c1ee7fdf561 100644 --- a/pkgs/by-name/eg/ego/package.nix +++ b/pkgs/by-name/eg/ego/package.nix @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec { # requires access to /root checkFlags = [ - "--skip tests::test_check_user_homedir" + "--skip=tests::test_check_user_homedir" ]; postInstall = '' diff --git a/pkgs/by-name/fl/flip-link/package.nix b/pkgs/by-name/fl/flip-link/package.nix index 20781ad67400..20cf4ba03f71 100644 --- a/pkgs/by-name/fl/flip-link/package.nix +++ b/pkgs/by-name/fl/flip-link/package.nix @@ -23,9 +23,9 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # requires embedded toolchains - "--skip should_link_example_firmware::case_1_normal" - "--skip should_link_example_firmware::case_2_custom_linkerscript" - "--skip should_verify_memory_layout" + "--skip=should_link_example_firmware::case_1_normal" + "--skip=should_link_example_firmware::case_2_custom_linkerscript" + "--skip=should_verify_memory_layout" ]; meta = { diff --git a/pkgs/by-name/gi/gitlab-clippy/package.nix b/pkgs/by-name/gi/gitlab-clippy/package.nix index 8ab667701379..afc3a0dfcbaf 100644 --- a/pkgs/by-name/gi/gitlab-clippy/package.nix +++ b/pkgs/by-name/gi/gitlab-clippy/package.nix @@ -17,10 +17,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-O3Pey0XwZITePTiVHrG5EVZpIp96sRWjUf1vzZ/JnCw="; - # TODO re-add theses tests once they get fixed in upstream + # TODO re-add these tests once they get fixed in upstream checkFlags = [ - "--skip cli::converts_error_from_pipe" - "--skip cli::converts_warnings_from_pipe" + "--skip=cli::converts_error_from_pipe" + "--skip=cli::converts_warnings_from_pipe" ]; meta = { diff --git a/pkgs/by-name/gr/grcov/package.nix b/pkgs/by-name/gr/grcov/package.nix index 2197d4fafd72..1444dea0bf22 100644 --- a/pkgs/by-name/gr/grcov/package.nix +++ b/pkgs/by-name/gr/grcov/package.nix @@ -30,9 +30,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "test_integration_zip_dir" "test_integration_zip_zip" ]; - skipFlag = test: "--skip " + test; in - builtins.concatStringsSep " " (map skipFlag skipList); + builtins.map (x: "--skip=" + x) skipList; meta = { description = "Rust tool to collect and aggregate code coverage data for multiple source files"; diff --git a/pkgs/by-name/gv/gvm-libs/package.nix b/pkgs/by-name/gv/gvm-libs/package.nix index cda5cebaec15..b6627bf56cfd 100644 --- a/pkgs/by-name/gv/gvm-libs/package.nix +++ b/pkgs/by-name/gv/gvm-libs/package.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "gvm-libs"; - version = "22.35.2"; + version = "22.35.4"; src = fetchFromGitHub { owner = "greenbone"; repo = "gvm-libs"; tag = "v${finalAttrs.version}"; - hash = "sha256-DVYU+6hUps2nwgkTWu228wVYtke4oDFUqXM73DEN6LM="; + hash = "sha256-fD8pi3eSmeSC0qPhX0DpATYMkblnat74VMzwBqWe5n4="; }; postPatch = '' diff --git a/pkgs/by-name/hu/hullcaster/package.nix b/pkgs/by-name/hu/hullcaster/package.nix index 7919a88a2630..c8e2775ada0d 100644 --- a/pkgs/by-name/hu/hullcaster/package.nix +++ b/pkgs/by-name/hu/hullcaster/package.nix @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec { # work around error: Could not create filepath: /homeless-shelter/.local/share checkFlags = [ - "--skip gpodder::tests::gpodder" + "--skip=gpodder::tests::gpodder" ]; meta = { diff --git a/pkgs/by-name/ka/karlender/package.nix b/pkgs/by-name/ka/karlender/package.nix index 09a183858dd2..072a5d8fa82b 100644 --- a/pkgs/by-name/ka/karlender/package.nix +++ b/pkgs/by-name/ka/karlender/package.nix @@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec { ]; checkFlags = [ - "--skip domain::time::tests::test_get_correct_offset_for_dst" # Need time + "--skip=domain::time::tests::test_get_correct_offset_for_dst" # Need time ]; preBuild = '' diff --git a/pkgs/by-name/li/libation/deps.json b/pkgs/by-name/li/libation/deps.json index 8475769658d2..21ae112a1a8f 100644 --- a/pkgs/by-name/li/libation/deps.json +++ b/pkgs/by-name/li/libation/deps.json @@ -1,13 +1,13 @@ [ { "pname": "AAXClean", - "version": "2.1.0.1", - "hash": "sha256-dQJKHzET1QXKwxXqEb6X/B+vN6f8tF5jchxSGxUVeTs=" + "version": "2.1.1.1", + "hash": "sha256-SjM74bfcqb3L6Ux+crofEsOWoHB0O78afNrld9WEFY0=" }, { "pname": "AAXClean.Codecs", - "version": "2.1.3.1", - "hash": "sha256-GeIQgSPzAhpNfulGWA9tJmnFDN1CsSnerq9rKaK8poE=" + "version": "2.1.3.2", + "hash": "sha256-la4yuCQi75bCRr700CDD2huNEjk5ZKrTzwrtuUjyWAk=" }, { "pname": "AudibleApi", diff --git a/pkgs/by-name/li/libation/package.nix b/pkgs/by-name/li/libation/package.nix index 05082cc8beda..4a100780ccfc 100644 --- a/pkgs/by-name/li/libation/package.nix +++ b/pkgs/by-name/li/libation/package.nix @@ -15,13 +15,13 @@ buildDotnetModule rec { pname = "libation"; - version = "13.1.3"; + version = "13.1.4"; src = fetchFromGitHub { owner = "rmcrackan"; repo = "Libation"; tag = "v${version}"; - hash = "sha256-gK0UZ+3EZGVEiy+O47GhU4wsHmdPIbrHWyHnUOtWrm8="; + hash = "sha256-KKdyDBT+EAqOVRxt3SH05Kd+u3g3O40MNZbrwc3GeFQ="; }; sourceRoot = "${src.name}/Source"; diff --git a/pkgs/by-name/li/libks/package.nix b/pkgs/by-name/li/libks/package.nix index 35d17fcd4efb..e2e30187b84c 100644 --- a/pkgs/by-name/li/libks/package.nix +++ b/pkgs/by-name/li/libks/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "libks"; - version = "2.0.8"; + version = "2.0.9"; src = fetchFromGitHub { owner = "signalwire"; repo = "libks"; tag = "v${version}"; - hash = "sha256-cBNNCOm+NcIvozN4Z4XnZWBBqq0LVELVqXubQB4JMTU="; + hash = "sha256-XnNyzH+VdBHligJ5+ct835Mekw2DbxMboC06Umm2Zak="; }; patches = [ @@ -63,6 +63,9 @@ stdenv.mkDerivation rec { # Something seems to go wrong with testwebsock2 when using parallelism enableParallelChecking = false; + # Some tests require this on Darwin + __darwinAllowLocalNetworking = true; + passthru = { tests.freeswitch = freeswitch; updateScript = nix-update-script { }; diff --git a/pkgs/by-name/li/lighthouse/package.nix b/pkgs/by-name/li/lighthouse/package.nix index b308db4f483c..fa09eb2b4509 100644 --- a/pkgs/by-name/li/lighthouse/package.nix +++ b/pkgs/by-name/li/lighthouse/package.nix @@ -67,10 +67,15 @@ rustPlatform.buildRustPackage rec { hash = "sha256-aeTeHRT3QtxBRSNMCITIWmx89vGtox2OzSff8vZ+RYY="; }; - LIGHTHOUSE_DEPOSIT_CONTRACT_SPEC_URL = "file://${depositContractSpec}"; - LIGHTHOUSE_DEPOSIT_CONTRACT_TESTNET_URL = "file://${testnetDepositContractSpec}"; + env = { + LIGHTHOUSE_DEPOSIT_CONTRACT_SPEC_URL = "file://${depositContractSpec}"; + LIGHTHOUSE_DEPOSIT_CONTRACT_TESTNET_URL = "file://${testnetDepositContractSpec}"; - OPENSSL_NO_VENDOR = true; + OPENSSL_NO_VENDOR = true; + + # This is needed by the unit tests. + FORK_NAME = "capella"; + }; cargoBuildFlags = [ "--package lighthouse" @@ -96,229 +101,229 @@ rustPlatform.buildRustPackage rec { # All of these tests require network access checkFlags = [ - "--skip tests::broadcast_should_send_to_all_bns" - "--skip tests::check_candidate_order" - "--skip tests::first_success_should_try_nodes_in_order" - "--skip tests::update_all_candidates_should_update_sync_status" - "--skip engine_api::http::test::forkchoice_updated_v1_request" - "--skip engine_api::http::test::forkchoice_updated_v1_with_payload_attributes_request" - "--skip engine_api::http::test::get_block_by_hash_request" - "--skip engine_api::http::test::get_block_by_number_request" - "--skip engine_api::http::test::get_payload_v1_request" - "--skip engine_api::http::test::geth_test_vectors" - "--skip engine_api::http::test::new_payload_v1_request" - "--skip test::finds_valid_terminal_block_hash" - "--skip test::produce_three_valid_pos_execution_blocks" - "--skip test::rejects_invalid_terminal_block_hash" - "--skip test::rejects_terminal_block_with_equal_timestamp" - "--skip test::rejects_unknown_terminal_block_hash" - "--skip test::test_forked_terminal_block" - "--skip test::verifies_valid_terminal_block_hash" - "--skip deposit_tree::cache_consistency" - "--skip deposit_tree::double_update" - "--skip deposit_tree::updating" - "--skip eth1_cache::big_skip" - "--skip eth1_cache::double_update" - "--skip eth1_cache::pruning" - "--skip eth1_cache::simple_scenario" - "--skip fast::deposit_cache_query" - "--skip http::incrementing_deposits" - "--skip persist::test_persist_caches" - "--skip can_read_finalized_block" - "--skip invalid_attestation_delayed_slot" - "--skip invalid_attestation_empty_bitfield" - "--skip invalid_attestation_future_block" - "--skip invalid_attestation_future_epoch" - "--skip invalid_attestation_inconsistent_ffg_vote" - "--skip invalid_attestation_past_epoch" - "--skip invalid_attestation_target_epoch" - "--skip invalid_attestation_unknown_beacon_block_root" - "--skip invalid_attestation_unknown_target_root" - "--skip invalid_block_finalized_descendant" - "--skip invalid_block_finalized_slot" - "--skip invalid_block_future_slot" - "--skip invalid_block_unknown_parent" - "--skip justified_and_finalized_blocks" - "--skip justified_balances" - "--skip justified_checkpoint_updates_with_descendent" - "--skip justified_checkpoint_updates_with_descendent_first_justification" - "--skip justified_checkpoint_updates_with_non_descendent" - "--skip progressive_balances_cache_attester_slashing" - "--skip progressive_balances_cache_proposer_slashing" - "--skip valid_attestation" - "--skip valid_attestation_skip_across_epoch" - "--skip weak_subjectivity_check_epoch_boundary_is_skip_slot" - "--skip weak_subjectivity_check_epoch_boundary_is_skip_slot_failure" - "--skip weak_subjectivity_check_fails_early_epoch" - "--skip weak_subjectivity_check_fails_incorrect_root" - "--skip weak_subjectivity_check_fails_late_epoch" - "--skip weak_subjectivity_check_passes" - "--skip weak_subjectivity_pass_on_startup" - "--skip basic" - "--skip returns_200_ok" - "--skip release_tests::attestation_aggregation_insert_get_prune" - "--skip release_tests::attestation_duplicate" - "--skip release_tests::attestation_get_max" - "--skip release_tests::attestation_pairwise_overlapping" - "--skip release_tests::attestation_rewards" - "--skip release_tests::cross_fork_attester_slashings" - "--skip release_tests::cross_fork_exits" - "--skip release_tests::cross_fork_proposer_slashings" - "--skip release_tests::duplicate_proposer_slashing" - "--skip release_tests::max_coverage_attester_proposer_slashings" - "--skip release_tests::max_coverage_different_indices_set" - "--skip release_tests::max_coverage_effective_balances" - "--skip release_tests::overlapping_max_cover_attester_slashing" - "--skip release_tests::prune_attester_slashing_noop" - "--skip release_tests::prune_proposer_slashing_noop" - "--skip release_tests::simple_max_cover_attester_slashing" - "--skip release_tests::sync_contribution_aggregation_insert_get_prune" - "--skip release_tests::sync_contribution_duplicate" - "--skip release_tests::sync_contribution_with_fewer_bits" - "--skip release_tests::sync_contribution_with_more_bits" - "--skip release_tests::test_earliest_attestation" - "--skip per_block_processing::tests::block_replayer_peeking_state_roots" - "--skip per_block_processing::tests::fork_spanning_exit" - "--skip per_block_processing::tests::invalid_attester_slashing_1_invalid" - "--skip per_block_processing::tests::invalid_attester_slashing_2_invalid" - "--skip per_block_processing::tests::invalid_attester_slashing_not_slashable" - "--skip per_block_processing::tests::invalid_bad_proposal_1_signature" - "--skip per_block_processing::tests::invalid_bad_proposal_2_signature" - "--skip per_block_processing::tests::invalid_block_header_state_slot" - "--skip per_block_processing::tests::invalid_block_signature" - "--skip per_block_processing::tests::invalid_deposit_bad_merkle_proof" - "--skip per_block_processing::tests::invalid_deposit_count_too_small" - "--skip per_block_processing::tests::invalid_deposit_deposit_count_too_big" - "--skip per_block_processing::tests::invalid_deposit_invalid_pub_key" - "--skip per_block_processing::tests::invalid_deposit_wrong_sig" - "--skip per_block_processing::tests::invalid_parent_block_root" - "--skip per_block_processing::tests::invalid_proposer_slashing_duplicate_slashing" - "--skip per_block_processing::tests::invalid_proposer_slashing_proposal_epoch_mismatch" - "--skip per_block_processing::tests::invalid_proposer_slashing_proposals_identical" - "--skip per_block_processing::tests::invalid_proposer_slashing_proposer_unknown" - "--skip per_block_processing::tests::invalid_randao_reveal_signature" - "--skip per_block_processing::tests::valid_4_deposits" - "--skip per_block_processing::tests::valid_block_ok" - "--skip per_block_processing::tests::valid_insert_attester_slashing" - "--skip per_block_processing::tests::valid_insert_proposer_slashing" - "--skip per_epoch_processing::tests::release_tests::altair_state_on_base_fork" - "--skip per_epoch_processing::tests::release_tests::base_state_on_altair_fork" - "--skip per_epoch_processing::tests::runs_without_error" - "--skip exit::custom_tests::valid" - "--skip exit::custom_tests::valid_three" - "--skip exit::tests::invalid_bad_signature" - "--skip exit::tests::invalid_duplicate" - "--skip exit::tests::invalid_exit_already_initiated" - "--skip exit::tests::invalid_future_exit_epoch" - "--skip exit::tests::invalid_not_active_after_exit_epoch" - "--skip exit::tests::invalid_not_active_before_activation_epoch" - "--skip exit::tests::invalid_too_young_by_a_lot" - "--skip exit::tests::invalid_too_young_by_one_epoch" - "--skip exit::tests::invalid_validator_unknown" - "--skip exit::tests::valid_genesis_epoch" - "--skip exit::tests::valid_previous_epoch" - "--skip exit::tests::valid_single_exit" - "--skip exit::tests::valid_three_exits" - "--skip iter::test::block_root_iter" - "--skip iter::test::state_root_iter" - "--skip beacon_state::committee_cache::tests::initializes_with_the_right_epoch" - "--skip beacon_state::committee_cache::tests::min_randao_epoch_correct" - "--skip beacon_state::committee_cache::tests::shuffles_for_the_right_epoch" - "--skip beacon_state::tests::beacon_proposer_index" - "--skip beacon_state::tests::cache_initialization" - "--skip beacon_state::tests::committees::current_epoch_committee_consistency" - "--skip beacon_state::tests::committees::next_epoch_committee_consistency" - "--skip beacon_state::tests::committees::previous_epoch_committee_consistency" - "--skip tests::hd_validator_creation" - "--skip tests::invalid_pubkey" - "--skip tests::keystore_validator_creation" - "--skip tests::keystores::check_get_set_fee_recipient" - "--skip tests::keystores::check_get_set_gas_limit" - "--skip tests::keystores::delete_concurrent_with_signing" - "--skip tests::keystores::delete_keystores_twice" - "--skip tests::keystores::delete_nonexistent_keystores" - "--skip tests::keystores::delete_nonexistent_remotekey" - "--skip tests::keystores::delete_remotekey_then_reimport_different_url" - "--skip tests::keystores::delete_remotekeys_twice" - "--skip tests::keystores::delete_then_reimport" - "--skip tests::keystores::delete_then_reimport_remotekeys" - "--skip tests::keystores::get_auth_no_token" - "--skip tests::keystores::get_empty_keystores" - "--skip tests::keystores::get_empty_remotekeys" - "--skip tests::keystores::get_web3_signer_keystores" - "--skip tests::keystores::import_and_delete_conflicting_web3_signer_keystores" - "--skip tests::keystores::import_invalid_slashing_protection" - "--skip tests::keystores::import_keystores_wrong_password" - "--skip tests::keystores::import_new_keystores" - "--skip tests::keystores::import_new_remotekeys" - "--skip tests::keystores::import_only_duplicate_keystores" - "--skip tests::keystores::import_only_duplicate_remotekeys" - "--skip tests::keystores::import_remote_and_local_keys" - "--skip tests::keystores::import_remotekey_web3signer" - "--skip tests::keystores::import_remotekey_web3signer_disabled" - "--skip tests::keystores::import_remotekey_web3signer_enabled" - "--skip tests::keystores::import_same_local_and_remote_keys" - "--skip tests::keystores::import_same_remote_and_local_keys" - "--skip tests::keystores::import_same_remotekey_different_url" - "--skip tests::keystores::import_some_duplicate_keystores" - "--skip tests::keystores::import_some_duplicate_remotekeys" - "--skip tests::keystores::import_wrong_number_of_passwords" - "--skip tests::keystores::migrate_all_with_slashing_protection" - "--skip tests::keystores::migrate_some_extra_slashing_protection" - "--skip tests::keystores::migrate_some_missing_slashing_protection" - "--skip tests::keystores::migrate_some_with_slashing_protection" - "--skip tests::prefer_builder_proposals_validator" - "--skip tests::routes_with_invalid_auth" - "--skip tests::simple_getters" - "--skip tests::validator_builder_boost_factor" - "--skip tests::validator_builder_boost_factor_global_builder_proposals_false" - "--skip tests::validator_builder_boost_factor_global_builder_proposals_true" - "--skip tests::validator_builder_boost_factor_global_prefer_builder_proposals_true" - "--skip tests::validator_builder_boost_factor_global_prefer_builder_proposals_true_override" - "--skip tests::validator_builder_proposals" - "--skip tests::validator_derived_builder_boost_factor_with_process_defaults" - "--skip tests::validator_enabling" - "--skip tests::validator_exit" - "--skip tests::validator_gas_limit" - "--skip tests::validator_graffiti" - "--skip tests::validator_graffiti_api" - "--skip tests::web3signer_validator_creation" - "--skip create_validators::tests::bogus_bn_url" - "--skip delete_validators::test::delete_multiple_validators" - "--skip import_validators::tests::create_one_validator" - "--skip import_validators::tests::create_one_validator_keystore_format" - "--skip import_validators::tests::create_one_validator_with_offset" - "--skip import_validators::tests::create_one_validator_with_offset_keystore_format" - "--skip import_validators::tests::create_three_validators" - "--skip import_validators::tests::create_three_validators_with_offset" - "--skip import_validators::tests::import_duplicates_when_allowed" - "--skip import_validators::tests::import_duplicates_when_allowed_keystore_format" - "--skip import_validators::tests::import_duplicates_when_disallowed" - "--skip import_validators::tests::import_duplicates_when_disallowed_keystore_format" - "--skip list_validators::test::list_all_validators" - "--skip move_validators::test::no_validators" - "--skip move_validators::test::one_validator_move_all" - "--skip move_validators::test::one_validator_move_all_with_password_files" - "--skip move_validators::test::one_validator_move_one" - "--skip move_validators::test::one_validator_to_non_empty_dest" - "--skip move_validators::test::one_validators_move_two_by_count" - "--skip move_validators::test::three_validators_move_all" - "--skip move_validators::test::three_validators_move_one" - "--skip move_validators::test::three_validators_move_one_by_count" - "--skip move_validators::test::three_validators_move_three" - "--skip move_validators::test::three_validators_move_two" - "--skip move_validators::test::three_validators_move_two_by_count" - "--skip move_validators::test::two_validator_move_all_and_back_again" - "--skip move_validators::test::two_validator_move_all_passwords_removed" - "--skip move_validators::test::two_validator_move_all_passwords_removed_failed_password_attempt" - "--skip move_validators::test::two_validators_move_all_where_one_is_a_duplicate" - "--skip move_validators::test::two_validators_move_one_where_one_is_a_duplicate" - "--skip move_validators::test::two_validators_move_one_with_identical_password_files" + "--skip=tests::broadcast_should_send_to_all_bns" + "--skip=tests::check_candidate_order" + "--skip=tests::first_success_should_try_nodes_in_order" + "--skip=tests::update_all_candidates_should_update_sync_status" + "--skip=engine_api::http::test::forkchoice_updated_v1_request" + "--skip=engine_api::http::test::forkchoice_updated_v1_with_payload_attributes_request" + "--skip=engine_api::http::test::get_block_by_hash_request" + "--skip=engine_api::http::test::get_block_by_number_request" + "--skip=engine_api::http::test::get_payload_v1_request" + "--skip=engine_api::http::test::geth_test_vectors" + "--skip=engine_api::http::test::new_payload_v1_request" + "--skip=test::finds_valid_terminal_block_hash" + "--skip=test::produce_three_valid_pos_execution_blocks" + "--skip=test::rejects_invalid_terminal_block_hash" + "--skip=test::rejects_terminal_block_with_equal_timestamp" + "--skip=test::rejects_unknown_terminal_block_hash" + "--skip=test::test_forked_terminal_block" + "--skip=test::verifies_valid_terminal_block_hash" + "--skip=deposit_tree::cache_consistency" + "--skip=deposit_tree::double_update" + "--skip=deposit_tree::updating" + "--skip=eth1_cache::big_skip" + "--skip=eth1_cache::double_update" + "--skip=eth1_cache::pruning" + "--skip=eth1_cache::simple_scenario" + "--skip=fast::deposit_cache_query" + "--skip=http::incrementing_deposits" + "--skip=persist::test_persist_caches" + "--skip=can_read_finalized_block" + "--skip=invalid_attestation_delayed_slot" + "--skip=invalid_attestation_empty_bitfield" + "--skip=invalid_attestation_future_block" + "--skip=invalid_attestation_future_epoch" + "--skip=invalid_attestation_inconsistent_ffg_vote" + "--skip=invalid_attestation_past_epoch" + "--skip=invalid_attestation_target_epoch" + "--skip=invalid_attestation_unknown_beacon_block_root" + "--skip=invalid_attestation_unknown_target_root" + "--skip=invalid_block_finalized_descendant" + "--skip=invalid_block_finalized_slot" + "--skip=invalid_block_future_slot" + "--skip=invalid_block_unknown_parent" + "--skip=justified_and_finalized_blocks" + "--skip=justified_balances" + "--skip=justified_checkpoint_updates_with_descendent" + "--skip=justified_checkpoint_updates_with_descendent_first_justification" + "--skip=justified_checkpoint_updates_with_non_descendent" + "--skip=progressive_balances_cache_attester_slashing" + "--skip=progressive_balances_cache_proposer_slashing" + "--skip=valid_attestation" + "--skip=valid_attestation_skip_across_epoch" + "--skip=weak_subjectivity_check_epoch_boundary_is_skip_slot" + "--skip=weak_subjectivity_check_epoch_boundary_is_skip_slot_failure" + "--skip=weak_subjectivity_check_fails_early_epoch" + "--skip=weak_subjectivity_check_fails_incorrect_root" + "--skip=weak_subjectivity_check_fails_late_epoch" + "--skip=weak_subjectivity_check_passes" + "--skip=weak_subjectivity_pass_on_startup" + "--skip=basic" + "--skip=returns_200_ok" + "--skip=release_tests::attestation_aggregation_insert_get_prune" + "--skip=release_tests::attestation_duplicate" + "--skip=release_tests::attestation_get_max" + "--skip=release_tests::attestation_pairwise_overlapping" + "--skip=release_tests::attestation_rewards" + "--skip=release_tests::cross_fork_attester_slashings" + "--skip=release_tests::cross_fork_exits" + "--skip=release_tests::cross_fork_proposer_slashings" + "--skip=release_tests::duplicate_proposer_slashing" + "--skip=release_tests::max_coverage_attester_proposer_slashings" + "--skip=release_tests::max_coverage_different_indices_set" + "--skip=release_tests::max_coverage_effective_balances" + "--skip=release_tests::overlapping_max_cover_attester_slashing" + "--skip=release_tests::prune_attester_slashing_noop" + "--skip=release_tests::prune_proposer_slashing_noop" + "--skip=release_tests::simple_max_cover_attester_slashing" + "--skip=release_tests::sync_contribution_aggregation_insert_get_prune" + "--skip=release_tests::sync_contribution_duplicate" + "--skip=release_tests::sync_contribution_with_fewer_bits" + "--skip=release_tests::sync_contribution_with_more_bits" + "--skip=release_tests::test_earliest_attestation" + "--skip=per_block_processing::tests::block_replayer_peeking_state_roots" + "--skip=per_block_processing::tests::fork_spanning_exit" + "--skip=per_block_processing::tests::invalid_attester_slashing_1_invalid" + "--skip=per_block_processing::tests::invalid_attester_slashing_2_invalid" + "--skip=per_block_processing::tests::invalid_attester_slashing_not_slashable" + "--skip=per_block_processing::tests::invalid_bad_proposal_1_signature" + "--skip=per_block_processing::tests::invalid_bad_proposal_2_signature" + "--skip=per_block_processing::tests::invalid_block_header_state_slot" + "--skip=per_block_processing::tests::invalid_block_signature" + "--skip=per_block_processing::tests::invalid_deposit_bad_merkle_proof" + "--skip=per_block_processing::tests::invalid_deposit_count_too_small" + "--skip=per_block_processing::tests::invalid_deposit_deposit_count_too_big" + "--skip=per_block_processing::tests::invalid_deposit_invalid_pub_key" + "--skip=per_block_processing::tests::invalid_deposit_wrong_sig" + "--skip=per_block_processing::tests::invalid_parent_block_root" + "--skip=per_block_processing::tests::invalid_proposer_slashing_duplicate_slashing" + "--skip=per_block_processing::tests::invalid_proposer_slashing_proposal_epoch_mismatch" + "--skip=per_block_processing::tests::invalid_proposer_slashing_proposals_identical" + "--skip=per_block_processing::tests::invalid_proposer_slashing_proposer_unknown" + "--skip=per_block_processing::tests::invalid_randao_reveal_signature" + "--skip=per_block_processing::tests::valid_4_deposits" + "--skip=per_block_processing::tests::valid_block_ok" + "--skip=per_block_processing::tests::valid_insert_attester_slashing" + "--skip=per_block_processing::tests::valid_insert_proposer_slashing" + "--skip=per_epoch_processing::tests::release_tests::altair_state_on_base_fork" + "--skip=per_epoch_processing::tests::release_tests::base_state_on_altair_fork" + "--skip=per_epoch_processing::tests::runs_without_error" + "--skip=exit::custom_tests::valid" + "--skip=exit::custom_tests::valid_three" + "--skip=exit::tests::invalid_bad_signature" + "--skip=exit::tests::invalid_duplicate" + "--skip=exit::tests::invalid_exit_already_initiated" + "--skip=exit::tests::invalid_future_exit_epoch" + "--skip=exit::tests::invalid_not_active_after_exit_epoch" + "--skip=exit::tests::invalid_not_active_before_activation_epoch" + "--skip=exit::tests::invalid_too_young_by_a_lot" + "--skip=exit::tests::invalid_too_young_by_one_epoch" + "--skip=exit::tests::invalid_validator_unknown" + "--skip=exit::tests::valid_genesis_epoch" + "--skip=exit::tests::valid_previous_epoch" + "--skip=exit::tests::valid_single_exit" + "--skip=exit::tests::valid_three_exits" + "--skip=iter::test::block_root_iter" + "--skip=iter::test::state_root_iter" + "--skip=beacon_state::committee_cache::tests::initializes_with_the_right_epoch" + "--skip=beacon_state::committee_cache::tests::min_randao_epoch_correct" + "--skip=beacon_state::committee_cache::tests::shuffles_for_the_right_epoch" + "--skip=beacon_state::tests::beacon_proposer_index" + "--skip=beacon_state::tests::cache_initialization" + "--skip=beacon_state::tests::committees::current_epoch_committee_consistency" + "--skip=beacon_state::tests::committees::next_epoch_committee_consistency" + "--skip=beacon_state::tests::committees::previous_epoch_committee_consistency" + "--skip=tests::hd_validator_creation" + "--skip=tests::invalid_pubkey" + "--skip=tests::keystore_validator_creation" + "--skip=tests::keystores::check_get_set_fee_recipient" + "--skip=tests::keystores::check_get_set_gas_limit" + "--skip=tests::keystores::delete_concurrent_with_signing" + "--skip=tests::keystores::delete_keystores_twice" + "--skip=tests::keystores::delete_nonexistent_keystores" + "--skip=tests::keystores::delete_nonexistent_remotekey" + "--skip=tests::keystores::delete_remotekey_then_reimport_different_url" + "--skip=tests::keystores::delete_remotekeys_twice" + "--skip=tests::keystores::delete_then_reimport" + "--skip=tests::keystores::delete_then_reimport_remotekeys" + "--skip=tests::keystores::get_auth_no_token" + "--skip=tests::keystores::get_empty_keystores" + "--skip=tests::keystores::get_empty_remotekeys" + "--skip=tests::keystores::get_web3_signer_keystores" + "--skip=tests::keystores::import_and_delete_conflicting_web3_signer_keystores" + "--skip=tests::keystores::import_invalid_slashing_protection" + "--skip=tests::keystores::import_keystores_wrong_password" + "--skip=tests::keystores::import_new_keystores" + "--skip=tests::keystores::import_new_remotekeys" + "--skip=tests::keystores::import_only_duplicate_keystores" + "--skip=tests::keystores::import_only_duplicate_remotekeys" + "--skip=tests::keystores::import_remote_and_local_keys" + "--skip=tests::keystores::import_remotekey_web3signer" + "--skip=tests::keystores::import_remotekey_web3signer_disabled" + "--skip=tests::keystores::import_remotekey_web3signer_enabled" + "--skip=tests::keystores::import_same_local_and_remote_keys" + "--skip=tests::keystores::import_same_remote_and_local_keys" + "--skip=tests::keystores::import_same_remotekey_different_url" + "--skip=tests::keystores::import_some_duplicate_keystores" + "--skip=tests::keystores::import_some_duplicate_remotekeys" + "--skip=tests::keystores::import_wrong_number_of_passwords" + "--skip=tests::keystores::migrate_all_with_slashing_protection" + "--skip=tests::keystores::migrate_some_extra_slashing_protection" + "--skip=tests::keystores::migrate_some_missing_slashing_protection" + "--skip=tests::keystores::migrate_some_with_slashing_protection" + "--skip=tests::prefer_builder_proposals_validator" + "--skip=tests::routes_with_invalid_auth" + "--skip=tests::simple_getters" + "--skip=tests::validator_builder_boost_factor" + "--skip=tests::validator_builder_boost_factor_global_builder_proposals_false" + "--skip=tests::validator_builder_boost_factor_global_builder_proposals_true" + "--skip=tests::validator_builder_boost_factor_global_prefer_builder_proposals_true" + "--skip=tests::validator_builder_boost_factor_global_prefer_builder_proposals_true_override" + "--skip=tests::validator_builder_proposals" + "--skip=tests::validator_derived_builder_boost_factor_with_process_defaults" + "--skip=tests::validator_enabling" + "--skip=tests::validator_exit" + "--skip=tests::validator_gas_limit" + "--skip=tests::validator_graffiti" + "--skip=tests::validator_graffiti_api" + "--skip=tests::web3signer_validator_creation" + "--skip=create_validators::tests::bogus_bn_url" + "--skip=delete_validators::test::delete_multiple_validators" + "--skip=import_validators::tests::create_one_validator" + "--skip=import_validators::tests::create_one_validator_keystore_format" + "--skip=import_validators::tests::create_one_validator_with_offset" + "--skip=import_validators::tests::create_one_validator_with_offset_keystore_format" + "--skip=import_validators::tests::create_three_validators" + "--skip=import_validators::tests::create_three_validators_with_offset" + "--skip=import_validators::tests::import_duplicates_when_allowed" + "--skip=import_validators::tests::import_duplicates_when_allowed_keystore_format" + "--skip=import_validators::tests::import_duplicates_when_disallowed" + "--skip=import_validators::tests::import_duplicates_when_disallowed_keystore_format" + "--skip=list_validators::test::list_all_validators" + "--skip=move_validators::test::no_validators" + "--skip=move_validators::test::one_validator_move_all" + "--skip=move_validators::test::one_validator_move_all_with_password_files" + "--skip=move_validators::test::one_validator_move_one" + "--skip=move_validators::test::one_validator_to_non_empty_dest" + "--skip=move_validators::test::one_validators_move_two_by_count" + "--skip=move_validators::test::three_validators_move_all" + "--skip=move_validators::test::three_validators_move_one" + "--skip=move_validators::test::three_validators_move_one_by_count" + "--skip=move_validators::test::three_validators_move_three" + "--skip=move_validators::test::three_validators_move_two" + "--skip=move_validators::test::three_validators_move_two_by_count" + "--skip=move_validators::test::two_validator_move_all_and_back_again" + "--skip=move_validators::test::two_validator_move_all_passwords_removed" + "--skip=move_validators::test::two_validator_move_all_passwords_removed_failed_password_attempt" + "--skip=move_validators::test::two_validators_move_all_where_one_is_a_duplicate" + "--skip=move_validators::test::two_validators_move_one_where_one_is_a_duplicate" + "--skip=move_validators::test::two_validators_move_one_with_identical_password_files" ] ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin) [ - "--skip subnet_service::tests::attestation_service::test_subscribe_same_subnet_several_slots_apart" - "--skip subnet_service::tests::sync_committee_service::same_subscription_with_lower_until_epoch" - "--skip subnet_service::tests::sync_committee_service::subscribe_and_unsubscribe" + "--skip=subnet_service::tests::attestation_service::test_subscribe_same_subnet_several_slots_apart" + "--skip=subnet_service::tests::sync_committee_service::same_subscription_with_lower_until_epoch" + "--skip=subnet_service::tests::sync_committee_service::subscribe_and_unsubscribe" ]; passthru = { @@ -332,9 +337,6 @@ rustPlatform.buildRustPackage rec { enableParallelBuilding = true; - # This is needed by the unit tests. - FORK_NAME = "capella"; - meta = { description = "Ethereum consensus client in Rust"; homepage = "https://lighthouse.sigmaprime.io/"; diff --git a/pkgs/by-name/ma/martin/package.nix b/pkgs/by-name/ma/martin/package.nix index 5a6e76ae2ce0..dd2596a01ffe 100644 --- a/pkgs/by-name/ma/martin/package.nix +++ b/pkgs/by-name/ma/martin/package.nix @@ -24,33 +24,33 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ]; checkFlags = [ - "--skip function_source_schemas" - "--skip function_source_tile" - "--skip function_source_tilejson" - "--skip pg_get_function_tiles" - "--skip pg_get_function_source_ok_rewrite" - "--skip pg_get_function_source_ok" - "--skip pg_get_composite_source_tile_minmax_zoom_ok" - "--skip pg_get_function_source_query_params_ok" - "--skip pg_get_composite_source_tile_ok" - "--skip pg_get_catalog" - "--skip pg_get_composite_source_ok" - "--skip pg_get_health_returns_ok" - "--skip pg_get_table_source_ok" - "--skip pg_get_table_source_rewrite" - "--skip pg_null_functions" - "--skip utils::test_utils::tests::test_bad_os_str" - "--skip utils::test_utils::tests::test_get_env_str" - "--skip pg_get_table_source_multiple_geom_tile_ok" - "--skip pg_get_table_source_tile_minmax_zoom_ok" - "--skip pg_tables_feature_id" - "--skip pg_get_table_source_tile_ok" - "--skip table_source_schemas" - "--skip tables_srid_ok" - "--skip tables_tile_ok" - "--skip table_source" - "--skip tables_tilejson" - "--skip tables_multiple_geom_ok" + "--skip=function_source_schemas" + "--skip=function_source_tile" + "--skip=function_source_tilejson" + "--skip=pg_get_function_tiles" + "--skip=pg_get_function_source_ok_rewrite" + "--skip=pg_get_function_source_ok" + "--skip=pg_get_composite_source_tile_minmax_zoom_ok" + "--skip=pg_get_function_source_query_params_ok" + "--skip=pg_get_composite_source_tile_ok" + "--skip=pg_get_catalog" + "--skip=pg_get_composite_source_ok" + "--skip=pg_get_health_returns_ok" + "--skip=pg_get_table_source_ok" + "--skip=pg_get_table_source_rewrite" + "--skip=pg_null_functions" + "--skip=utils::test_utils::tests::test_bad_os_str" + "--skip=utils::test_utils::tests::test_get_env_str" + "--skip=pg_get_table_source_multiple_geom_tile_ok" + "--skip=pg_get_table_source_tile_minmax_zoom_ok" + "--skip=pg_tables_feature_id" + "--skip=pg_get_table_source_tile_ok" + "--skip=table_source_schemas" + "--skip=tables_srid_ok" + "--skip=tables_tile_ok" + "--skip=table_source" + "--skip=tables_tilejson" + "--skip=tables_multiple_geom_ok" ]; meta = { diff --git a/pkgs/by-name/md/mdbook-pandoc/package.nix b/pkgs/by-name/md/mdbook-pandoc/package.nix index a5776acdf01e..51d25f543b6d 100644 --- a/pkgs/by-name/md/mdbook-pandoc/package.nix +++ b/pkgs/by-name/md/mdbook-pandoc/package.nix @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec { ] ++ lib.optional stdenv.buildPlatform.isDarwin "pandoc::tests::five_item_deep_list"; in - builtins.map (x: "--skip " + x) skippedTests; + builtins.map (x: "--skip=" + x) skippedTests; passthru = { wrapper = callPackage ./wrapper.nix { }; diff --git a/pkgs/by-name/md/mdserve/package.nix b/pkgs/by-name/md/mdserve/package.nix index 3e6ddf1b91c1..087e9ebae6f3 100644 --- a/pkgs/by-name/md/mdserve/package.nix +++ b/pkgs/by-name/md/mdserve/package.nix @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage (finalAttrs: { checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ # times out on darwin during nixpkgs-review - "--skip test_file_modification_updates_via_websocket" + "--skip=test_file_modification_updates_via_websocket" ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/mo/monado/package.nix b/pkgs/by-name/mo/monado/package.nix index 8aa4ad3ce5f8..c6485a846c2b 100644 --- a/pkgs/by-name/mo/monado/package.nix +++ b/pkgs/by-name/mo/monado/package.nix @@ -12,8 +12,7 @@ eigen, elfutils, glslang, - gst-plugins-base, - gstreamer, + gst_all_1, hidapi, libbsd, libdrm, @@ -94,8 +93,8 @@ stdenv.mkDerivation (finalAttrs: { dbus eigen elfutils - gst-plugins-base - gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gstreamer hidapi libbsd libdrm diff --git a/pkgs/by-name/mp/mprocs/package.nix b/pkgs/by-name/mp/mprocs/package.nix index 416f9c76f93c..a61d447d706d 100644 --- a/pkgs/by-name/mp/mprocs/package.nix +++ b/pkgs/by-name/mp/mprocs/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "mprocs"; - version = "0.8.2"; + version = "0.8.3"; src = fetchFromGitHub { owner = "pvolok"; repo = "mprocs"; tag = "v${finalAttrs.version}"; - hash = "sha256-77uXHlQjhIDbRbnkr3jvZKuLOcvbOIuum8FRsUv8cYw="; + hash = "sha256-8p8hPATAyc7ms2iXktrSEAmi6/ax85F5xwF6e7H4XRE="; }; - cargoHash = "sha256-T8zG2Z7UP4MZUGeUypG9ugO49rbicwYrdRZiGJN3H0E="; + cargoHash = "sha256-wQNUHiOaq5fgZbwUEEco5MjX8xH2NoQnKCtM1cHchUQ="; nativeInstallCheckInputs = [ versionCheckHook diff --git a/pkgs/by-name/na/naja/package.nix b/pkgs/by-name/na/naja/package.nix index 11235fa1cce7..19a9e0dc50fa 100644 --- a/pkgs/by-name/na/naja/package.nix +++ b/pkgs/by-name/na/naja/package.nix @@ -17,13 +17,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "naja"; - version = "0.3.4"; + version = "0.3.5"; src = fetchFromGitHub { owner = "najaeda"; repo = "naja"; tag = "v${finalAttrs.version}"; - hash = "sha256-Oh1rAS20bQRp8P/8qMPjoCTC9wghBRhmRRh7J/+NG0A="; + hash = "sha256-VD1ObfP6EbGUsqo0D4DLwBS1svLSsxhJB1iskybt/YI="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/nc/ncps/package.nix b/pkgs/by-name/nc/ncps/package.nix index ba228bc5c248..e857a342c383 100644 --- a/pkgs/by-name/nc/ncps/package.nix +++ b/pkgs/by-name/nc/ncps/package.nix @@ -33,13 +33,13 @@ let finalAttrs = { pname = "ncps"; - version = "0.7.2"; + version = "0.7.3"; src = fetchFromGitHub { owner = "kalbasit"; repo = "ncps"; tag = "v${finalAttrs.version}"; - hash = "sha256-qc6h1gnU7dFyb0GiBq++E2yf49K7mO86Vwdf8y3817U="; + hash = "sha256-6mpEe0i5NYQb5WK2/478VFkMNa6xqAIU1uwwhH2zc2M="; }; vendorHash = "sha256-nnt4HIG4Fs7RhHjVb7mYJ39UgvFKc46Cu42cURMmr1s="; diff --git a/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix b/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix index 42f9613df285..d01deb4f7902 100644 --- a/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix +++ b/pkgs/by-name/ni/nixseparatedebuginfod2/package.nix @@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec { passthru.tests = { inherit (nixosTests) nixseparatedebuginfod2; }; # flaky tests - checkFlags = [ "--skip substituter::http" ]; + checkFlags = [ "--skip=substituter::http" ]; meta = { description = "Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed"; diff --git a/pkgs/by-name/ox/oxker/package.nix b/pkgs/by-name/ox/oxker/package.nix index 07037c28429a..61c330f71359 100644 --- a/pkgs/by-name/ox/oxker/package.nix +++ b/pkgs/by-name/ox/oxker/package.nix @@ -20,9 +20,9 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-X5iNAwp0DcXoT82ZLq37geifztvJ/zZgOgM3SycAazA="; checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ - "--skip ui::draw_blocks::help::tests::test_draw_blocks_help_custom_keymap_one_definition" - "--skip ui::draw_blocks::help::tests::test_draw_blocks_help_custom_keymap_two_definitions" - "--skip ui::draw_blocks::help::tests::test_draw_blocks_help_one_and_two_definitions" + "--skip=ui::draw_blocks::help::tests::test_draw_blocks_help_custom_keymap_one_definition" + "--skip=ui::draw_blocks::help::tests::test_draw_blocks_help_custom_keymap_two_definitions" + "--skip=ui::draw_blocks::help::tests::test_draw_blocks_help_one_and_two_definitions" ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/ph/phira-unwrapped/package.nix b/pkgs/by-name/ph/phira-unwrapped/package.nix index 0aaeb78b1638..ee551e73766c 100644 --- a/pkgs/by-name/ph/phira-unwrapped/package.nix +++ b/pkgs/by-name/ph/phira-unwrapped/package.nix @@ -57,7 +57,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-6mRb3M56G20fA+px1cZyrGpel0v54qoVAQK2ZgTzkmI="; # The developer put assets necessary for this test in gitignore, so it cannot run. - checkFlags = [ "--skip test_parse_chart" ]; + checkFlags = [ "--skip=test_parse_chart" ]; desktopItems = [ (makeDesktopItem { diff --git a/pkgs/by-name/ph/phpstan/package.nix b/pkgs/by-name/ph/phpstan/package.nix index eb47f69e6e59..9caba6cca770 100644 --- a/pkgs/by-name/ph/phpstan/package.nix +++ b/pkgs/by-name/ph/phpstan/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "phpstan"; - version = "2.1.35"; + version = "2.1.37"; src = fetchFromGitHub { owner = "phpstan"; repo = "phpstan"; tag = finalAttrs.version; - hash = "sha256-1X+Z4z7VN36DbxWCOu1mvEWQaAJL9tbh3JWMAaHnT5c="; + hash = "sha256-Ov4wCIKHuVtVKCTLBR9d2W2yNw49U2gGZkygEPhXTRA="; }; nativeBuildInputs = [ @@ -49,6 +49,9 @@ stdenv.mkDerivation (finalAttrs: { ''; license = lib.licenses.mit; mainProgram = "phpstan"; - maintainers = [ lib.maintainers.patka ]; + maintainers = with lib.maintainers; [ + patka + piotrkwiecinski + ]; }; }) diff --git a/pkgs/by-name/ph/phpunit/package.nix b/pkgs/by-name/ph/phpunit/package.nix index a457b8c8356a..885ea20c2294 100644 --- a/pkgs/by-name/ph/phpunit/package.nix +++ b/pkgs/by-name/ph/phpunit/package.nix @@ -8,16 +8,16 @@ php.buildComposerProject2 (finalAttrs: { pname = "phpunit"; - version = "12.5.6"; + version = "12.5.8"; src = fetchFromGitHub { owner = "sebastianbergmann"; repo = "phpunit"; tag = finalAttrs.version; - hash = "sha256-F2/LMJwLzLz7YuJPq2J6ypgtY9ps5ExiHX6UGvtKh3E="; + hash = "sha256-93y2V+QgsjQb1is91kTbxcu1dY8MyM474qIpGRa0pp0="; }; - vendorHash = "sha256-YqDdlspt9hGMzSoC41pMZLucP/luv6Fo2VGQ7pPa5pk="; + vendorHash = "sha256-q5qTQRxxsiE+B22LU+npM4ada0ddAt2f7KNz+cb6yYY="; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/pr/prek/package.nix b/pkgs/by-name/pr/prek/package.nix index c4b42b2ce913..b3dd6ced7c50 100644 --- a/pkgs/by-name/pr/prek/package.nix +++ b/pkgs/by-name/pr/prek/package.nix @@ -54,125 +54,131 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoTestFlags = [ "--no-fail-fast" ]; - checkFlags = map (t: "--skip ${t}") [ - # these tests require internet access - "check_added_large_files_hook" - "check_json_hook" - "end_of_file_fixer_hook" - "mixed_line_ending_hook" - "install_hooks_only" - "install_with_hooks" - "golang" - "node" - "script" - "check_useless_excludes_remote" - "run_worktree" - "try_repo_relative_path" - "languages::tests::test_native_tls" - "rust::additional_dependencies_cli" - "rust::rustup_installer" - "rust::remote_hooks" - "rust::remote_hooks_with_lib_deps" - "unsupported::unsupported_language" - "remote_hook_non_workspace" - # "meta_hooks" - "reuse_env" - "docker::docker" - "docker::workspace_docker" - "docker_image::docker_image" - "pygrep::basic_case_sensitive" - "pygrep::case_insensitive" - "pygrep::case_insensitive_multiline" - "pygrep::complex_regex_patterns" - "pygrep::invalid_args" - "pygrep::invalid_regex" - "pygrep::multiline_mode" - "pygrep::negate_mode" - "pygrep::negate_multiline_mode" - "pygrep::pattern_not_found" - "pygrep::python_regex_quirks" - "python::additional_dependencies" - "python::can_not_download" - "python::hook_stderr" - "python::language_version" - "ruby::additional_gem_dependencies" - "ruby::environment_isolation" - "ruby::gemspec_workflow" - "ruby::language_version_default" - "ruby::local_hook_with_gemspec" - "ruby::native_gem_dependency" - "ruby::native_gem_dependency" - "ruby::process_files" - "ruby::specific_ruby_available" - "ruby::specific_ruby_unavailable" - "ruby::system_ruby" - # can't checkout pre-commit-hooks - "cjk_hook_name" - "fail_fast" - "file_types" - "files_and_exclude" - "git_commit_a" - "log_file" - "merge_conflicts" - "pass_env_vars" - "restore_on_interrupt" - "run_basic" - "run_last_commit" - "same_repo" - "skips" - "staged_files_only" - "subdirectory" - "check_yaml_hook" - "check_yaml_multiple_document" - "builtin_hooks_workspace_mode" - "fix_byte_order_marker_hook" - "fix_byte_order_marker" - "check_merge_conflict_hook" - "check_merge_conflict_without_assume_flag" - "check_symlinks_hook_unix" - "check_xml_hook" - "check_xml_with_features" - "detect_private_key_hook" - "no_commit_to_branch_hook" - "no_commit_to_branch_hook_with_custom_branches" - "no_commit_to_branch_hook_with_patterns" - "check_executables_have_shebangs_various_cases" - "check_executables_have_shebangs_hook" - # does not properly use TMP - "hook_impl" - # problems with environment - "try_repo_specific_hook" - "try_repo_specific_rev" - # lua path is hardcoded - "lua::additional_dependencies" - "lua::health_check" - "lua::hook_stderr" - "lua::lua_environment" - "lua::remote_hook" - # error message differs - "run_in_non_git_repo" - # depends on locale - "init_nonexistent_repo" - # https://github.com/astral-sh/uv/issues/8635 - "alternate_config_file" - "basic_discovery" - "color" - "cookiecutter_template_directories_are_skipped" - "empty_entry" - "git_dir_respected" - "git_env_vars_not_leaked_to_pip_install" - "gitignore_respected" - "invalid_entry" - "local_python_hook" - "orphan_projects" - "run_with_selectors" - "run_with_stdin_closed" - "show_diff_on_failure" - "submodule_discovery" - "workspace_install_hooks" - # We don't have git info; we run versionCheckHook instead - "version_info" - ]; + checkFlags = + lib.concatMap + (t: [ + "--skip" + "${t}" + ]) + [ + # these tests require internet access + "check_added_large_files_hook" + "check_json_hook" + "end_of_file_fixer_hook" + "mixed_line_ending_hook" + "install_hooks_only" + "install_with_hooks" + "golang" + "node" + "script" + "check_useless_excludes_remote" + "run_worktree" + "try_repo_relative_path" + "languages::tests::test_native_tls" + "rust::additional_dependencies_cli" + "rust::rustup_installer" + "rust::remote_hooks" + "rust::remote_hooks_with_lib_deps" + "unsupported::unsupported_language" + "remote_hook_non_workspace" + # "meta_hooks" + "reuse_env" + "docker::docker" + "docker::workspace_docker" + "docker_image::docker_image" + "pygrep::basic_case_sensitive" + "pygrep::case_insensitive" + "pygrep::case_insensitive_multiline" + "pygrep::complex_regex_patterns" + "pygrep::invalid_args" + "pygrep::invalid_regex" + "pygrep::multiline_mode" + "pygrep::negate_mode" + "pygrep::negate_multiline_mode" + "pygrep::pattern_not_found" + "pygrep::python_regex_quirks" + "python::additional_dependencies" + "python::can_not_download" + "python::hook_stderr" + "python::language_version" + "ruby::additional_gem_dependencies" + "ruby::environment_isolation" + "ruby::gemspec_workflow" + "ruby::language_version_default" + "ruby::local_hook_with_gemspec" + "ruby::native_gem_dependency" + "ruby::native_gem_dependency" + "ruby::process_files" + "ruby::specific_ruby_available" + "ruby::specific_ruby_unavailable" + "ruby::system_ruby" + # can't checkout pre-commit-hooks + "cjk_hook_name" + "fail_fast" + "file_types" + "files_and_exclude" + "git_commit_a" + "log_file" + "merge_conflicts" + "pass_env_vars" + "restore_on_interrupt" + "run_basic" + "run_last_commit" + "same_repo" + "skips" + "staged_files_only" + "subdirectory" + "check_yaml_hook" + "check_yaml_multiple_document" + "builtin_hooks_workspace_mode" + "fix_byte_order_marker_hook" + "fix_byte_order_marker" + "check_merge_conflict_hook" + "check_merge_conflict_without_assume_flag" + "check_symlinks_hook_unix" + "check_xml_hook" + "check_xml_with_features" + "detect_private_key_hook" + "no_commit_to_branch_hook" + "no_commit_to_branch_hook_with_custom_branches" + "no_commit_to_branch_hook_with_patterns" + "check_executables_have_shebangs_various_cases" + "check_executables_have_shebangs_hook" + # does not properly use TMP + "hook_impl" + # problems with environment + "try_repo_specific_hook" + "try_repo_specific_rev" + # lua path is hardcoded + "lua::additional_dependencies" + "lua::health_check" + "lua::hook_stderr" + "lua::lua_environment" + "lua::remote_hook" + # error message differs + "run_in_non_git_repo" + # depends on locale + "init_nonexistent_repo" + # https://github.com/astral-sh/uv/issues/8635 + "alternate_config_file" + "basic_discovery" + "color" + "cookiecutter_template_directories_are_skipped" + "empty_entry" + "git_dir_respected" + "git_env_vars_not_leaked_to_pip_install" + "gitignore_respected" + "invalid_entry" + "local_python_hook" + "orphan_projects" + "run_with_selectors" + "run_with_stdin_closed" + "show_diff_on_failure" + "submodule_discovery" + "workspace_install_hooks" + # We don't have git info; we run versionCheckHook instead + "version_info" + ]; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; diff --git a/pkgs/by-name/pr/prmt/package.nix b/pkgs/by-name/pr/prmt/package.nix index 390cb945f73f..ed694fd6be6d 100644 --- a/pkgs/by-name/pr/prmt/package.nix +++ b/pkgs/by-name/pr/prmt/package.nix @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-Vc2uCFD3A3huSFaYbgZHRWgiQnxXkz7BzvmdT7AsnoY="; # Fail to run in sandbox environment - checkFlags = map (t: "--skip ${t}") [ + checkFlags = map (t: "--skip=${t}") [ "modules::path::tests::relative_path_inside_home_renders_tilde" "modules::path::tests::relative_path_with_shared_prefix_is_not_tilde" "test_git_module" diff --git a/pkgs/by-name/ro/roc/package.nix b/pkgs/by-name/ro/roc/package.nix index 687a63744e9c..db7bd4492e71 100755 --- a/pkgs/by-name/ro/roc/package.nix +++ b/pkgs/by-name/ro/roc/package.nix @@ -86,12 +86,12 @@ rustPlatform.buildRustPackage { checkPhase = lib.optionalString stdenv.isLinux '' runHook preCheck - NIX_GLIBC_PATH=${glibc.out}/lib NIX_LIBGCC_S_PATH=${stdenv.cc.cc.lib}/lib cargo test --release --workspace --exclude test_mono --exclude uitest -- --skip glue_cli_tests --skip test_snapshots + NIX_GLIBC_PATH=${glibc.out}/lib NIX_LIBGCC_S_PATH=${stdenv.cc.cc.lib}/lib cargo test --release --workspace --exclude test_mono --exclude uitest -- --skip=glue_cli_tests --skip=test_snapshots runHook postCheck '' + lib.optionalString (!stdenv.isLinux) '' runHook preCheck - cargo test --release --workspace --exclude test_mono --exclude uitest -- --skip glue_cli_tests --skip test_snapshots + cargo test --release --workspace --exclude test_mono --exclude uitest -- --skip=glue_cli_tests --skip=test_snapshots runHook postCheck ''; diff --git a/pkgs/by-name/sh/sheldon/package.nix b/pkgs/by-name/sh/sheldon/package.nix index 43af10bad1e3..3bda66ec4afb 100644 --- a/pkgs/by-name/sh/sheldon/package.nix +++ b/pkgs/by-name/sh/sheldon/package.nix @@ -35,27 +35,27 @@ rustPlatform.buildRustPackage rec { # Needs network connection checkFlags = [ - "--skip lock::plugin::tests::external_plugin_lock_git_with_matches" - "--skip lock::plugin::tests::external_plugin_lock_git_with_matches_not_each" - "--skip lock::plugin::tests::external_plugin_lock_git_with_uses" - "--skip lock::plugin::tests::external_plugin_lock_remote" - "--skip lock::source::git::tests::git_checkout_resolve_branch" - "--skip lock::source::git::tests::git_checkout_resolve_rev" - "--skip lock::source::git::tests::git_checkout_resolve_tag" - "--skip lock::source::git::tests::lock_git_and_reinstall" - "--skip lock::source::git::tests::lock_git_https_with_checkout" - "--skip lock::source::local::tests::lock_local" - "--skip lock::source::remote::tests::lock_remote_and_reinstall" - "--skip lock::source::tests::lock_with_git" - "--skip lock::source::tests::lock_with_remote" - "--skip lock::tests::locked_config_clean" - "--skip directories_default" - "--skip directories_old" - "--skip directories_xdg_from_env" - "--skip lock_and_source_github" - "--skip lock_and_source_hooks" - "--skip lock_and_source_inline" - "--skip lock_and_source_profiles" + "--skip=lock::plugin::tests::external_plugin_lock_git_with_matches" + "--skip=lock::plugin::tests::external_plugin_lock_git_with_matches_not_each" + "--skip=lock::plugin::tests::external_plugin_lock_git_with_uses" + "--skip=lock::plugin::tests::external_plugin_lock_remote" + "--skip=lock::source::git::tests::git_checkout_resolve_branch" + "--skip=lock::source::git::tests::git_checkout_resolve_rev" + "--skip=lock::source::git::tests::git_checkout_resolve_tag" + "--skip=lock::source::git::tests::lock_git_and_reinstall" + "--skip=lock::source::git::tests::lock_git_https_with_checkout" + "--skip=lock::source::local::tests::lock_local" + "--skip=lock::source::remote::tests::lock_remote_and_reinstall" + "--skip=lock::source::tests::lock_with_git" + "--skip=lock::source::tests::lock_with_remote" + "--skip=lock::tests::locked_config_clean" + "--skip=directories_default" + "--skip=directories_old" + "--skip=directories_xdg_from_env" + "--skip=lock_and_source_github" + "--skip=lock_and_source_hooks" + "--skip=lock_and_source_inline" + "--skip=lock_and_source_profiles" ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' diff --git a/pkgs/by-name/so/sourcepawn-studio/package.nix b/pkgs/by-name/so/sourcepawn-studio/package.nix index d0ad1266047d..04cb0fc52393 100644 --- a/pkgs/by-name/so/sourcepawn-studio/package.nix +++ b/pkgs/by-name/so/sourcepawn-studio/package.nix @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: { checkFlags = [ # requires rustup and rustfmt - "--skip tests::sourcegen::generate_node_kinds" + "--skip=tests::sourcegen::generate_node_kinds" ]; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/su/supercell-wx/package.nix b/pkgs/by-name/su/supercell-wx/package.nix index 1f4f94076ee6..34e274c8c2c0 100644 --- a/pkgs/by-name/su/supercell-wx/package.nix +++ b/pkgs/by-name/su/supercell-wx/package.nix @@ -1,6 +1,7 @@ { lib, stdenv, + gcc14Stdenv, fetchFromGitHub, replaceVars, tracy, @@ -33,6 +34,8 @@ zlib, }: let + buildStdenv = if stdenv.cc.isGNU then gcc14Stdenv else stdenv; + gtestSkip = [ # Skip tests requiring network access "AwsLevel*DataProvider.FindKeyFixed" @@ -54,7 +57,7 @@ let "MarkerModelTest.*" ]; in -stdenv.mkDerivation (finalAttrs: { +buildStdenv.mkDerivation (finalAttrs: { pname = "supercell-wx"; version = "0.5.3"; diff --git a/pkgs/by-name/ta/tattoy/package.nix b/pkgs/by-name/ta/tattoy/package.nix index 1738d66ced11..c22678cb8163 100644 --- a/pkgs/by-name/ta/tattoy/package.nix +++ b/pkgs/by-name/ta/tattoy/package.nix @@ -40,16 +40,22 @@ rustPlatform.buildRustPackage (attrs: { watch ]; - checkFlags = [ - # e2e tests currently fail - # see https://github.com/tattoy-org/tattoy/pull/104/files for discussion - # re-enable after PR merged - "--skip e2e" - "--skip gpu" - ]; - useNextest = true; + checkFlags = + lib.concatMap + (t: [ + "--skip" + "${t}" + ]) + [ + # e2e tests currently fail + # see https://github.com/tattoy-org/tattoy/pull/104/files for discussion + # re-enable after PR merged + "e2e" + "gpu" + ]; + meta = { description = "Text-based compositor for modern terminals"; homepage = "https://github.com/tattoy-org/tattoy"; diff --git a/pkgs/by-name/tl/tldr/package.nix b/pkgs/by-name/tl/tldr/package.nix index d3ca9c8cd38b..5dce21705931 100644 --- a/pkgs/by-name/tl/tldr/package.nix +++ b/pkgs/by-name/tl/tldr/package.nix @@ -1,47 +1,42 @@ { - stdenv, lib, + stdenv, + python3Packages, fetchFromGitHub, installShellFiles, - python3Packages, }: -python3Packages.buildPythonApplication rec { +python3Packages.buildPythonApplication (finalAttrs: { pname = "tldr"; - version = "3.3.0"; + version = "3.4.3"; pyproject = true; src = fetchFromGitHub { owner = "tldr-pages"; repo = "tldr-python-client"; - tag = version; - hash = "sha256-lc0Jen8vW4BNg784td1AZa2GTYvXC1d83FnAe5RZqpY="; + tag = finalAttrs.version; + hash = "sha256-YdVmgV7N67XswcGlUN1hhXpRXGMHhY34VBxfr7i/MBs="; }; build-system = with python3Packages; [ - setuptools - wheel + hatchling ]; dependencies = with python3Packages; [ termcolor - colorama shtab ]; nativeBuildInputs = [ installShellFiles ]; nativeCheckInputs = with python3Packages; [ - pytest + pytestCheckHook ]; - checkPhase = '' - runHook preCheck - pytest -k 'not test_error_message' - runHook postCheck - ''; - - doCheck = true; + disabledTests = [ + # Requires internet access + "test_error_message" + ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd tldr \ @@ -56,7 +51,7 @@ python3Packages.buildPythonApplication rec { through a man page for the correct flags. ''; homepage = "https://tldr.sh"; - changelog = "https://github.com/tldr-pages/tldr-python-client/blob/${version}/CHANGELOG.md"; + changelog = "https://github.com/tldr-pages/tldr-python-client/blob/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ taeer @@ -65,4 +60,4 @@ python3Packages.buildPythonApplication rec { ]; mainProgram = "tldr"; }; -} +}) diff --git a/pkgs/by-name/ty/typescript-go/package.nix b/pkgs/by-name/ty/typescript-go/package.nix index 83ae24763093..90588477bcdc 100644 --- a/pkgs/by-name/ty/typescript-go/package.nix +++ b/pkgs/by-name/ty/typescript-go/package.nix @@ -10,13 +10,13 @@ let in buildGoModule { pname = "typescript-go"; - version = "0-unstable-2026-01-21"; + version = "0-unstable-2026-01-28"; src = fetchFromGitHub { owner = "microsoft"; repo = "typescript-go"; - rev = "01cac67dfdfcce7262431f282e6f515861897ed0"; - hash = "sha256-6Ukhujb0EVJr3PYVTuM3MKPMpzshMy1NphSsgXsHRgQ="; + rev = "463b6b461f23114073ccc0c4071a7f2a21477ac2"; + hash = "sha256-ozCm3O8ObaecE7TN7vYyeyjA3gGD8FprB93aJcDwSw0="; fetchSubmodules = false; }; diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 1a3f5a6bfd40..c0c96583bde9 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.9.26"; + version = "0.9.27"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-qvfMB62/0Hvc7m5h+QitvUcS6YZWAV1uGPg8JpCKPNU="; + hash = "sha256-2ArneGmQZhEcFlPm5hlQkHR8wnok7bEzTYBkeR+Gk6U="; }; - cargoHash = "sha256-3ncKhauappl1MR3EG1bwYVrwhM7gCFRcRyRvYrsDaok="; + cargoHash = "sha256-Qx1oEqmYVpf2M36dsDCIn+xbkjkxlcAHCC+Vlokybf0="; buildInputs = [ rust-jemalloc-sys diff --git a/pkgs/by-name/xw/xwin/package.nix b/pkgs/by-name/xw/xwin/package.nix index 210f71b342f3..d1cf0bcb63ad 100644 --- a/pkgs/by-name/xw/xwin/package.nix +++ b/pkgs/by-name/xw/xwin/package.nix @@ -36,8 +36,8 @@ rustPlatform.buildRustPackage (finalAttrs: { doCheck = true; # Requires network access checkFlags = [ - "--skip verify_compiles" - "--skip verify_deterministic" + "--skip=verify_compiles" + "--skip=verify_deterministic" ]; doInstallCheck = true; diff --git a/pkgs/by-name/ya/yaralyzer/package.nix b/pkgs/by-name/ya/yaralyzer/package.nix index a14e39ae1404..8484eb40fd9b 100644 --- a/pkgs/by-name/ya/yaralyzer/package.nix +++ b/pkgs/by-name/ya/yaralyzer/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "yaralyzer"; - version = "1.0.14"; + version = "1.3.10"; pyproject = true; src = fetchFromGitHub { owner = "michelcrypt4d4mus"; repo = "yaralyzer"; tag = "v${finalAttrs.version}"; - hash = "sha256-MhfZ/8JJaWDiDVUA4av32LzqfQmJr9L9x6AdCU0jo2c="; + hash = "sha256-OhZ1TG1dqxlUoW+OI+BFn0LsujLytqg6L7aNdYnfRPQ="; }; build-system = with python3.pkgs; [ poetry-core ]; diff --git a/pkgs/development/compilers/openjdk/25/source.json b/pkgs/development/compilers/openjdk/25/source.json index 26056e281d80..8b5ae1c9057e 100644 --- a/pkgs/development/compilers/openjdk/25/source.json +++ b/pkgs/development/compilers/openjdk/25/source.json @@ -1,6 +1,6 @@ { - "hash": "sha256-t5eUiWhAst3Aa16YVx7sMaHK6BHwLWyvxGfTq0C+Z4M=", + "hash": "sha256-MtvWyxN+4Dhv/VWYIYB0eH4LrsdvfGxoW3hkpikZSg0=", "owner": "openjdk", "repo": "jdk25u", - "rev": "refs/tags/jdk-25.0.1+8" + "rev": "refs/tags/jdk-25.0.2+10" } diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 3ce6b0acb111..b4aff30cb3c0 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -429,8 +429,8 @@ in }; openssl_3 = common { - version = "3.0.18"; - hash = "sha256-2Aw09c+QLczx8bXfXruG0DkuNwSeXXPfGzq65y5P/os="; + version = "3.0.19"; + hash = "sha256-+lpBQ7iq4YvlPvLzyvKaLgdHQwuLx00y2IM1uUq2MHI="; patches = [ # Support for NIX_SSL_CERT_FILE, motivation: diff --git a/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch b/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch index 2c98ccfa7ed0..1699cbfb20e5 100644 --- a/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch +++ b/pkgs/development/libraries/openssl/use-etc-ssl-certs-darwin.patch @@ -3,11 +3,11 @@ index 329ef62..9a8df64 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -56,7 +56,7 @@ DEFINE_LHASH_OF(MEM); - # ifndef OPENSSL_SYS_VMS - # define X509_CERT_AREA OPENSSLDIR - # define X509_CERT_DIR OPENSSLDIR "/certs" --# define X509_CERT_FILE OPENSSLDIR "/cert.pem" -+# define X509_CERT_FILE "/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt" - # define X509_PRIVATE_DIR OPENSSLDIR "/private" - # define CTLOG_FILE OPENSSLDIR "/ct_log_list.cnf" - # else + #ifndef OPENSSL_SYS_VMS + #define X509_CERT_AREA OPENSSLDIR + #define X509_CERT_DIR OPENSSLDIR "/certs" +-#define X509_CERT_FILE OPENSSLDIR "/cert.pem" ++#define X509_CERT_FILE "/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt" + #define X509_PRIVATE_DIR OPENSSLDIR "/private" + #define CTLOG_FILE OPENSSLDIR "/ct_log_list.cnf" + #else diff --git a/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch b/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch index 67d199681f96..7750efbe0083 100644 --- a/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch +++ b/pkgs/development/libraries/openssl/use-etc-ssl-certs.patch @@ -3,11 +3,11 @@ index 329ef62..9a8df64 100644 --- a/include/internal/cryptlib.h +++ b/include/internal/cryptlib.h @@ -56,7 +56,7 @@ DEFINE_LHASH_OF(MEM); - # ifndef OPENSSL_SYS_VMS - # define X509_CERT_AREA OPENSSLDIR - # define X509_CERT_DIR OPENSSLDIR "/certs" --# define X509_CERT_FILE OPENSSLDIR "/cert.pem" -+# define X509_CERT_FILE "/etc/ssl/certs/ca-certificates.crt" - # define X509_PRIVATE_DIR OPENSSLDIR "/private" - # define CTLOG_FILE OPENSSLDIR "/ct_log_list.cnf" - # else + #ifndef OPENSSL_SYS_VMS + #define X509_CERT_AREA OPENSSLDIR + #define X509_CERT_DIR OPENSSLDIR "/certs" +-#define X509_CERT_FILE OPENSSLDIR "/cert.pem" ++#define X509_CERT_FILE "/etc/ssl/certs/ca-certificates.crt" + #define X509_PRIVATE_DIR OPENSSLDIR "/private" + #define CTLOG_FILE OPENSSLDIR "/ct_log_list.cnf" + #else diff --git a/pkgs/development/ocaml-modules/eio/default.nix b/pkgs/development/ocaml-modules/eio/default.nix index f9714ee8fbf1..d666f11d4b45 100644 --- a/pkgs/development/ocaml-modules/eio/default.nix +++ b/pkgs/development/ocaml-modules/eio/default.nix @@ -42,13 +42,13 @@ let } ."${version}"; in -buildDunePackage rec { +buildDunePackage { pname = "eio"; inherit version; inherit (param) minimalOCamlVersion; src = fetchurl { - url = "https://github.com/ocaml-multicore/${pname}/releases/download/v${version}/${pname}-${version}.tbz"; + url = "https://github.com/ocaml-multicore/eio/releases/download/v${version}/eio-${version}.tbz"; inherit (param) hash; }; @@ -75,8 +75,8 @@ buildDunePackage rec { ]; meta = { - homepage = "https://github.com/ocaml-multicore/${pname}"; - changelog = "https://github.com/ocaml-multicore/${pname}/raw/v${version}/CHANGES.md"; + homepage = "https://github.com/ocaml-multicore/eio"; + changelog = "https://github.com/ocaml-multicore/eio/raw/v${version}/CHANGES.md"; description = "Effects-Based Parallel IO for OCaml"; license = with lib.licenses; [ isc ]; maintainers = with lib.maintainers; [ toastal ]; diff --git a/pkgs/development/python-modules/aioguardian/default.nix b/pkgs/development/python-modules/aioguardian/default.nix index 0950409b3c55..68eefa41a963 100644 --- a/pkgs/development/python-modules/aioguardian/default.nix +++ b/pkgs/development/python-modules/aioguardian/default.nix @@ -18,7 +18,7 @@ buildPythonPackage (finalAttrs: { pname = "aioguardian"; - version = "2026.01.0"; + version = "2026.01.1"; pyproject = true; disabled = pythonOlder "3.11"; @@ -27,7 +27,7 @@ buildPythonPackage (finalAttrs: { owner = "bachya"; repo = "aioguardian"; tag = finalAttrs.version; - hash = "sha256-p0rSN00CxTJsoo5iD3jsnTPUIl3G/fDc6tMjj0H0MuE="; + hash = "sha256-55jMGJ4pRMjvSAYsXIclzzMcz+PqS/334Fd7hoY8YTk="; }; postPatch = '' diff --git a/pkgs/development/python-modules/aiosmtplib/default.nix b/pkgs/development/python-modules/aiosmtplib/default.nix index d85337e2deef..b9f2e56b4f21 100644 --- a/pkgs/development/python-modules/aiosmtplib/default.nix +++ b/pkgs/development/python-modules/aiosmtplib/default.nix @@ -10,16 +10,16 @@ trustme, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "aiosmtplib"; - version = "5.0.0"; + version = "5.1.0"; pyproject = true; src = fetchFromGitHub { owner = "cole"; repo = "aiosmtplib"; - tag = "v${version}"; - hash = "sha256-ICG7yVH2UcvQAsVGbxu7LibWUj/NEPV/f5iDc25XuzU="; + tag = "v${finalAttrs.version}"; + hash = "sha256-+aMtU8ea8yy1jxPPQGSu4kW3PX9N9qYQ90CSduPPgYc="; }; build-system = [ hatchling ]; @@ -37,8 +37,8 @@ buildPythonPackage rec { meta = { description = "Module which provides a SMTP client"; homepage = "https://github.com/cole/aiosmtplib"; - changelog = "https://github.com/cole/aiosmtplib/releases/tag/v${version}"; + changelog = "https://github.com/cole/aiosmtplib/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/cpe-search/default.nix b/pkgs/development/python-modules/cpe-search/default.nix index 030cd7613c0d..803042148c44 100644 --- a/pkgs/development/python-modules/cpe-search/default.nix +++ b/pkgs/development/python-modules/cpe-search/default.nix @@ -13,14 +13,14 @@ buildPythonPackage (finalAttrs: { pname = "cpe-search"; - version = "0.2.4"; + version = "0.2.5"; pyproject = true; src = fetchFromGitHub { owner = "ra1nb0rn"; repo = "cpe_search"; tag = "v${finalAttrs.version}"; - hash = "sha256-wnUKLJUUj3idQLv3FSpcUZksa0FvwMxKDId6/hjpEZw="; + hash = "sha256-GZzMS1zmI7w8L2qVa57KtY3sb/quULyXrPQYTcPFxTI="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/mkdocstrings/default.nix b/pkgs/development/python-modules/mkdocstrings/default.nix index 03f5472230c2..04cf5cc0f818 100644 --- a/pkgs/development/python-modules/mkdocstrings/default.nix +++ b/pkgs/development/python-modules/mkdocstrings/default.nix @@ -13,21 +13,21 @@ dirty-equals, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "mkdocstrings"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "mkdocstrings"; repo = "mkdocstrings"; - tag = version; - hash = "sha256-dRDelPj2zO31gZzPDh7BxdBemGNaTPbzhlmWH1JYmaM="; + tag = finalAttrs.version; + hash = "sha256-fdWHcg6WijOXsE6+03iPRineUHtMDU/Yfra3S9lkMWs="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail 'dynamic = ["version"]' 'version = "${version}"' + --replace-fail 'dynamic = ["version"]' 'version = "${finalAttrs.version}"' ''; build-system = [ pdm-backend ]; @@ -65,8 +65,8 @@ buildPythonPackage rec { meta = { description = "Automatic documentation from sources for MkDocs"; homepage = "https://github.com/mkdocstrings/mkdocstrings"; - changelog = "https://github.com/mkdocstrings/mkdocstrings/blob/${src.tag}/CHANGELOG.md"; + changelog = "https://github.com/mkdocstrings/mkdocstrings/blob/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.isc; maintainers = with lib.maintainers; [ fab ]; }; -} +}) diff --git a/pkgs/development/python-modules/prophet/default.nix b/pkgs/development/python-modules/prophet/default.nix index e557f03774ed..d12564bae9b1 100644 --- a/pkgs/development/python-modules/prophet/default.nix +++ b/pkgs/development/python-modules/prophet/default.nix @@ -20,14 +20,14 @@ buildPythonPackage (finalAttrs: { pname = "prophet"; - version = "1.2.1"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { owner = "facebook"; repo = "prophet"; tag = "v${finalAttrs.version}"; - hash = "sha256-rG21Q4V0XQjReIHd7vV/aFOUvnLEw/dm8AobXRDUfuA="; + hash = "sha256-Bu+ztg6sj1jh2iair6v1CdbF0Fi4b+h8yLzB3xTMD3Y="; }; sourceRoot = "${finalAttrs.src.name}/python"; diff --git a/pkgs/development/python-modules/roadrecon/default.nix b/pkgs/development/python-modules/roadrecon/default.nix index 553fc6b515b2..315ad9e6094a 100644 --- a/pkgs/development/python-modules/roadrecon/default.nix +++ b/pkgs/development/python-modules/roadrecon/default.nix @@ -17,12 +17,12 @@ buildPythonPackage (finalAttrs: { pname = "roadrecon"; - version = "1.7.2"; + version = "1.7.3"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-fvfwgUqVr74JdL3dteX0UXbALva3vWQWEpotk8QQAiI="; + hash = "sha256-k800N0IN3I6liqgVbsgyywkg013/8GNWsShDPkK214w="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/scikit-base/default.nix b/pkgs/development/python-modules/scikit-base/default.nix index b40849b52738..cef15ad00a88 100644 --- a/pkgs/development/python-modules/scikit-base/default.nix +++ b/pkgs/development/python-modules/scikit-base/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "scikit-base"; - version = "0.13.0"; + version = "0.13.1"; pyproject = true; src = fetchFromGitHub { owner = "sktime"; repo = "skbase"; tag = "v${version}"; - hash = "sha256-fZytQprnp4WAxTJxXp+AAe7xDRfcxaCAELPS6eAfK4g="; + hash = "sha256-aprudD39bcQrCQbDU/IYcOZykKvSv6ZpakAwTCwCtGA="; }; build-system = [ setuptools ]; diff --git a/pkgs/servers/sql/postgresql/ext/pgmq.nix b/pkgs/servers/sql/postgresql/ext/pgmq.nix index 9fcf42afeea0..ca1ab9c44226 100644 --- a/pkgs/servers/sql/postgresql/ext/pgmq.nix +++ b/pkgs/servers/sql/postgresql/ext/pgmq.nix @@ -7,13 +7,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "pgmq"; - version = "1.8.1"; + version = "1.9.0"; src = fetchFromGitHub { owner = "tembo-io"; repo = "pgmq"; tag = "v${finalAttrs.version}"; - hash = "sha256-iPls5ABcpYUXd/Lqk0U8GFzM4iq0lqMbJO4v4z27tNI="; + hash = "sha256-Rgs3iZfnKAijz8mk9A2tM1WuL8uMFYE3IRa+JgWk0LE="; }; sourceRoot = "${finalAttrs.src.name}/pgmq-extension"; diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix index 90211ef1b393..613abfc30bde 100644 --- a/pkgs/tools/text/mdcat/default.nix +++ b/pkgs/tools/text/mdcat/default.nix @@ -41,14 +41,14 @@ rustPlatform.buildRustPackage rec { nativeCheckInputs = [ ansi2html ]; # Skip tests that use the network and that include files. checkFlags = [ - "--skip magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length" - "--skip magic::tests::detect_mimetype_of_magic_param_bytes_max_length" - "--skip magic::tests::detect_mimetype_of_png_image" - "--skip magic::tests::detect_mimetype_of_svg_image" - "--skip resources::tests::read_url_with_http_url_fails_when_size_limit_is_exceeded" - "--skip resources::tests::read_url_with_http_url_fails_when_status_404" - "--skip resources::tests::read_url_with_http_url_returns_content_when_status_200" - "--skip iterm2_tests_render_md_samples_images_md" + "--skip=magic::tests::detect_mimetype_of_larger_than_magic_param_bytes_max_length" + "--skip=magic::tests::detect_mimetype_of_magic_param_bytes_max_length" + "--skip=magic::tests::detect_mimetype_of_png_image" + "--skip=magic::tests::detect_mimetype_of_svg_image" + "--skip=resources::tests::read_url_with_http_url_fails_when_size_limit_is_exceeded" + "--skip=resources::tests::read_url_with_http_url_fails_when_status_404" + "--skip=resources::tests::read_url_with_http_url_returns_content_when_status_200" + "--skip=iterm2_tests_render_md_samples_images_md" ]; postInstall = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2438f6ffd2ad..a9367873dca2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1943,10 +1943,6 @@ with pkgs; mobilizon-frontend = callPackage ../servers/mobilizon/frontend.nix { }; }; - monado = callPackage ../by-name/mo/monado/package.nix { - inherit (gst_all_1) gstreamer gst-plugins-base; - }; - nltk-data = recurseIntoAttrs (callPackage ../tools/text/nltk-data { }); seabios-coreboot = seabios.override { ___build-type = "coreboot"; };