From 7ff16196de3716064cec12d1eeba39f320cab455 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Sat, 20 Sep 2025 17:55:59 +0200 Subject: [PATCH 1/3] nixos/tests/ipget: init Add a NixOS VM test for ipget. --- nixos/tests/all-tests.nix | 1 + nixos/tests/ipget.nix | 28 ++++++++++++++++++++++++++++ pkgs/by-name/ip/ipget/package.nix | 5 +++++ pkgs/by-name/ku/kubo/package.nix | 2 +- 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/ipget.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 79e93ce3b7b3..d38fd6b6e990 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -745,6 +745,7 @@ in invoiceplane = runTest ./invoiceplane.nix; iodine = runTest ./iodine.nix; iosched = runTest ./iosched.nix; + ipget = runTest ./ipget.nix; ipv6 = runTest ./ipv6.nix; iscsi-multipath-root = runTest ./iscsi-multipath-root.nix; iscsi-root = runTest ./iscsi-root.nix; diff --git a/nixos/tests/ipget.nix b/nixos/tests/ipget.nix new file mode 100644 index 000000000000..3c1f26ed348a --- /dev/null +++ b/nixos/tests/ipget.nix @@ -0,0 +1,28 @@ +{ lib, ... }: +{ + name = "ipget"; + meta.maintainers = with lib.maintainers; [ + Luflosi + ]; + + nodes.machine = + { config, pkgs, ... }: + { + services.kubo.enable = true; + environment.systemPackages = with pkgs; [ ipget ]; + }; + + testScript = '' + start_all() + + with subtest("Add file to IPFS"): + ipfs_hash = machine.succeed( + "echo -n fnord | ipfs add --quieter" + ) + + with subtest("Download the file with ipget"): + machine.succeed(f"ipget --output file.txt /ipfs/{ipfs_hash}") + contents = machine.succeed("cat file.txt") + assert contents == "fnord", f"Unexpected file contents: {contents}" + ''; +} diff --git a/pkgs/by-name/ip/ipget/package.nix b/pkgs/by-name/ip/ipget/package.nix index 1a91414abf21..05e2c62631e7 100644 --- a/pkgs/by-name/ip/ipget/package.nix +++ b/pkgs/by-name/ip/ipget/package.nix @@ -2,6 +2,7 @@ lib, buildGoModule, fetchFromGitHub, + nixosTests, }: buildGoModule rec { @@ -24,6 +25,10 @@ buildGoModule rec { doCheck = false; + passthru.tests = { + inherit (nixosTests) ipget; + }; + meta = with lib; { description = "Retrieve files over IPFS and save them locally"; homepage = "https://ipfs.io/"; diff --git a/pkgs/by-name/ku/kubo/package.nix b/pkgs/by-name/ku/kubo/package.nix index 4c887e9c1dc2..fc6930a8dfe7 100644 --- a/pkgs/by-name/ku/kubo/package.nix +++ b/pkgs/by-name/ku/kubo/package.nix @@ -32,7 +32,7 @@ buildGoModule rec { subPackages = [ "cmd/ipfs" ]; passthru.tests = { - inherit (nixosTests) kubo; + inherit (nixosTests) kubo ipget; repoVersion = callPackage ./test-repoVersion.nix { }; }; From f1bbc36717da61876f0f5880b91c88496871f669 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Wed, 17 Sep 2025 20:59:57 +0200 Subject: [PATCH 2/3] ipget: add updateScript --- pkgs/by-name/ip/ipget/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ip/ipget/package.nix b/pkgs/by-name/ip/ipget/package.nix index 05e2c62631e7..3f033a939c15 100644 --- a/pkgs/by-name/ip/ipget/package.nix +++ b/pkgs/by-name/ip/ipget/package.nix @@ -3,6 +3,7 @@ buildGoModule, fetchFromGitHub, nixosTests, + nix-update-script, }: buildGoModule rec { @@ -29,6 +30,8 @@ buildGoModule rec { inherit (nixosTests) ipget; }; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Retrieve files over IPFS and save them locally"; homepage = "https://ipfs.io/"; From c6ff101e205c0cb078c14106a69c23850aa6a2d9 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Wed, 17 Sep 2025 21:02:47 +0200 Subject: [PATCH 3/3] ipget: 0.11.3 -> 0.12.0 https://github.com/ipfs/ipget/releases/tag/v0.12.0 --- pkgs/by-name/ip/ipget/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ip/ipget/package.nix b/pkgs/by-name/ip/ipget/package.nix index 3f033a939c15..3d0b3f66dee9 100644 --- a/pkgs/by-name/ip/ipget/package.nix +++ b/pkgs/by-name/ip/ipget/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "ipget"; - version = "0.11.3"; + version = "0.12.0"; src = fetchFromGitHub { owner = "ipfs"; repo = "ipget"; rev = "v${version}"; - hash = "sha256-Q9rgbfPAdAulNuDQ1bXM08aK0IEerbsKqjK8aMnBwcM="; + hash = "sha256-7/wXrjnd7YD2qhVvP0yBMJDkDZjxJC1vZcQuqVd44rU="; }; - vendorHash = "sha256-2boqKf/7y/71ThNodUuZXaRHZadx+TU0d6swHHN1VyM="; + vendorHash = "sha256-b6Lulzi7zgO0VdWboxi5Vibx8cjuZ6r6O1PJvYubZu4="; postPatch = '' # main module (github.com/ipfs/ipget) does not contain package github.com/ipfs/ipget/sharness/dependencies