packages/ipfs: 0.16.0 -> 0.23.0
This commit is contained in:
parent
15261f5aa8
commit
1df4295d48
4 changed files with 33 additions and 54 deletions
|
@ -1,51 +1,54 @@
|
||||||
{ lib, buildGo118Module, fetchurl, nixosTests, openssl, pkg-config }:
|
{ lib
|
||||||
|
, buildGoModule
|
||||||
|
, fetchurl
|
||||||
|
, nixosTests
|
||||||
|
, callPackage
|
||||||
|
}:
|
||||||
|
|
||||||
buildGo118Module rec {
|
buildGoModule rec {
|
||||||
pname = "ipfs";
|
pname = "kubo";
|
||||||
version = "0.16.0"; # When updating, also check if the repo version changed and adjust repoVersion below
|
version = "0.23.0"; # When updating, also check if the repo version changed and adjust repoVersion below
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
|
|
||||||
repoVersion = "12"; # Also update ipfs-migrator when changing the repo version
|
passthru.repoVersion = "15"; # Also update kubo-migrator when changing the repo version
|
||||||
|
|
||||||
# go-ipfs makes changes to it's source tarball that don't match the git source.
|
# Kubo makes changes to its source tarball that don't match the git source.
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ipfs/kubo/releases/download/${rev}/kubo-source.tar.gz";
|
url = "https://github.com/ipfs/kubo/releases/download/${rev}/kubo-source.tar.gz";
|
||||||
sha256 = "sha256-FS7lwQS7ybyoIKPkcUtPIe3srO1O/cZN+x1nzWUlF20=";
|
hash = "sha256-ycXn8h8sFGJXVMldneN51lZgXoPaZ/XeXLtqqJ4w6H0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# tarball contains multiple files/directories
|
# tarball contains multiple files/directories
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
mkdir ipfs-src
|
mkdir kubo-src
|
||||||
shopt -s extglob
|
shopt -s extglob
|
||||||
mv !(ipfs-src) ipfs-src || true
|
mv !(kubo-src) kubo-src || true
|
||||||
cd ipfs-src
|
cd kubo-src
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./ipfs-allow-publish-with-ipns-mounted.patch
|
||||||
|
./ipfs-fuse-nuke-getxattr.patch
|
||||||
|
];
|
||||||
|
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
|
|
||||||
subPackages = [ "cmd/ipfs" ];
|
subPackages = [ "cmd/ipfs" ];
|
||||||
|
|
||||||
buildInputs = [ openssl ];
|
passthru.tests = {
|
||||||
nativeBuildInputs = [ pkg-config ];
|
inherit (nixosTests) kubo;
|
||||||
tags = [ "openssl" ];
|
repoVersion = callPackage ./test-repoVersion.nix {};
|
||||||
|
};
|
||||||
|
|
||||||
passthru.tests.ipfs = nixosTests.ipfs;
|
vendorHash = null;
|
||||||
|
|
||||||
vendorSha256 = null;
|
|
||||||
|
|
||||||
outputs = [ "out" "systemd_unit" "systemd_unit_hardened" ];
|
outputs = [ "out" "systemd_unit" "systemd_unit_hardened" ];
|
||||||
|
|
||||||
patches = [
|
|
||||||
./ipfs-allow-publish-with-ipns-mounted.patch
|
|
||||||
./ipfs-fuse-nuke-getxattr.patch
|
|
||||||
./ipfs-unsafe-allow-all-paths-for-filestore.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace 'misc/systemd/ipfs.service' \
|
substituteInPlace 'misc/systemd/ipfs.service' \
|
||||||
--replace '/usr/bin/ipfs' "$out/bin/ipfs"
|
--replace '/usr/local/bin/ipfs' "$out/bin/ipfs"
|
||||||
substituteInPlace 'misc/systemd/ipfs-hardened.service' \
|
substituteInPlace 'misc/systemd/ipfs-hardened.service' \
|
||||||
--replace '/usr/bin/ipfs' "$out/bin/ipfs"
|
--replace '/usr/local/bin/ipfs' "$out/bin/ipfs"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -59,10 +62,11 @@ buildGo118Module rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A global, versioned, peer-to-peer filesystem";
|
description = "An IPFS implementation in Go";
|
||||||
homepage = "https://ipfs.io/";
|
homepage = "https://ipfs.io/";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ fpletz ];
|
mainProgram = "ipfs";
|
||||||
|
maintainers = with maintainers; [ Luflosi fpletz ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
diff --git a/core/coreapi/coreapi.go b/core/coreapi/coreapi.go
|
diff --git a/core/coreapi/coreapi.go b/core/coreapi/coreapi.go
|
||||||
index 5b638826b..32747fe53 100644
|
index 81d05b58d..66460326f 100644
|
||||||
--- a/core/coreapi/coreapi.go
|
--- a/core/coreapi/coreapi.go
|
||||||
+++ b/core/coreapi/coreapi.go
|
+++ b/core/coreapi/coreapi.go
|
||||||
@@ -191,9 +191,6 @@ func (api *CoreAPI) WithOptions(opts ...options.ApiOption) (coreiface.CoreAPI, e
|
@@ -205,9 +205,6 @@ func (api *CoreAPI) WithOptions(opts ...options.ApiOption) (coreiface.CoreAPI, e
|
||||||
}
|
}
|
||||||
|
|
||||||
subApi.checkPublishAllowed = func() error {
|
subAPI.checkPublishAllowed = func() error {
|
||||||
- if n.Mounts.Ipns != nil && n.Mounts.Ipns.IsActive() {
|
- if n.Mounts.Ipns != nil && n.Mounts.Ipns.IsActive() {
|
||||||
- return errors.New("cannot manually publish while IPNS is mounted")
|
- return errors.New("cannot manually publish while IPNS is mounted")
|
||||||
- }
|
- }
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/vendor/github.com/ipfs/go-filestore/fsrefstore.go b/vendor/github.com/ipfs/go-filestore/fsrefstore.go
|
|
||||||
index 9eb2b43..43e336c 100644
|
|
||||||
--- a/vendor/github.com/ipfs/go-filestore/fsrefstore.go
|
|
||||||
+++ b/vendor/github.com/ipfs/go-filestore/fsrefstore.go
|
|
||||||
@@ -291,9 +291,6 @@ func (f *FileManager) putTo(ctx context.Context, b *posinfo.FilestoreNode, to pu
|
|
||||||
return ErrFilestoreNotEnabled
|
|
||||||
}
|
|
||||||
//lint:ignore SA1019 // ignore staticcheck
|
|
||||||
- if !filepath.HasPrefix(b.PosInfo.FullPath, f.root) {
|
|
||||||
- return fmt.Errorf("cannot add filestore references outside ipfs root (%s)", f.root)
|
|
||||||
- }
|
|
||||||
|
|
||||||
p, err := filepath.Rel(f.root, b.PosInfo.FullPath)
|
|
||||||
if err != nil {
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/core/corehttp/webui.go 2020-05-09 04:58:18.000000000 +0200
|
|
||||||
+++ b/core/corehttp/webui.go 2020-07-15 00:22:00.439862559 +0200
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
package corehttp
|
|
||||||
|
|
||||||
// TODO: move to IPNS
|
|
||||||
-const WebUIPath = "/ipfs/bafybeibozpulxtpv5nhfa2ue3dcjx23ndh3gwr5vwllk7ptoyfwnfjjr4q" // v2.15.1
|
|
||||||
+const WebUIPath = "/ipns/webui.ipfs.privatevoid.net"
|
|
||||||
|
|
||||||
// this is a list of all past webUI paths.
|
|
||||||
var WebUIPaths = []string{
|
|
Loading…
Reference in a new issue