diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/0.8.nix similarity index 100% rename from pkgs/applications/networking/ipfs/default.nix rename to pkgs/applications/networking/ipfs/0.8.nix diff --git a/pkgs/applications/networking/ipfs/0.9.nix b/pkgs/applications/networking/ipfs/0.9.nix new file mode 100644 index 00000000000..1b648108e78 --- /dev/null +++ b/pkgs/applications/networking/ipfs/0.9.nix @@ -0,0 +1,45 @@ +{ lib, buildGoModule, fetchurl, nixosTests }: + +buildGoModule rec { + pname = "ipfs"; + version = "0.8.0"; + rev = "v${version}"; + + # go-ipfs makes changes to it's source tarball that don't match the git source. + src = fetchurl { + url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz"; + sha256 = "sha256-uK3+Ekr5AM6mmGmjFSj1Rotm5pbH657BYUlP9B39WEw="; + }; + + # tarball contains multiple files/directories + postUnpack = '' + mkdir ipfs-src + shopt -s extglob + mv !(ipfs-src) ipfs-src || true + cd ipfs-src + ''; + + sourceRoot = "."; + + subPackages = [ "cmd/ipfs" ]; + + passthru.tests.ipfs = nixosTests.ipfs; + + vendorSha256 = null; + + postInstall = '' + install --mode=444 -D misc/systemd/ipfs.service $out/etc/systemd/system/ipfs.service + install --mode=444 -D misc/systemd/ipfs-api.socket $out/etc/systemd/system/ipfs-api.socket + install --mode=444 -D misc/systemd/ipfs-gateway.socket $out/etc/systemd/system/ipfs-gateway.socket + substituteInPlace $out/etc/systemd/system/ipfs.service \ + --replace /usr/bin/ipfs $out/bin/ipfs + ''; + + meta = with lib; { + description = "A global, versioned, peer-to-peer filesystem"; + homepage = "https://ipfs.io/"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 25cb7fb4a94..9189d746894 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5802,7 +5802,7 @@ in iperf3 = callPackage ../tools/networking/iperf/3.nix { }; iperf = iperf3; - ipfs = callPackage ../applications/networking/ipfs { }; + ipfs = callPackage ../applications/networking/ipfs/0.8.nix { }; ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { }; ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { };