about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2024-02-23 20:12:41 +0100
committerGitHub <noreply@github.com>2024-02-23 20:12:41 +0100
commitf9ef0053c54f953f6420d6d7180059e23eaad90b (patch)
treeb773c709ac052583d4749ba50ad87a6b58751134 /pkgs/applications
parentbb21c060aad9021330da2931058855949f5a134e (diff)
parentce0a47cd2ce845d82fc85bae68c73101c73e31fb (diff)
downloadnixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.tar
nixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.tar.gz
nixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.tar.bz2
nixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.tar.lz
nixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.tar.xz
nixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.tar.zst
nixlib-f9ef0053c54f953f6420d6d7180059e23eaad90b.zip
Merge pull request #288401 from katexochen/bees/refactor
bee: refactor & update; bee{-unstable,-clef}: remove; maintainers: remove attila-lendvai
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch44
-rw-r--r--pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch25
-rw-r--r--pkgs/applications/networking/bee/bee-clef.nix57
-rw-r--r--pkgs/applications/networking/bee/bee.nix69
-rw-r--r--pkgs/applications/networking/bee/ensure-clef-account47
5 files changed, 25 insertions, 217 deletions
diff --git a/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch b/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
deleted file mode 100644
index fb551646b7c6..000000000000
--- a/pkgs/applications/networking/bee/0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 04933c578f51aa1f536991318dc5aede57f81c0d Mon Sep 17 00:00:00 2001
-From: Attila Lendvai <attila@lendvai.name>
-Date: Sat, 30 Jan 2021 14:02:02 +0100
-Subject: [PATCH 1/2] clef-service: accept default CONFIGDIR from the
- environment
-
----
- packaging/bee-clef-service | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service
-index 10bcd92..34c7edd 100755
---- a/packaging/bee-clef-service
-+++ b/packaging/bee-clef-service
-@@ -1,16 +1,21 @@
- #!/usr/bin/env sh
- 
- start() {
--    KEYSTORE=/var/lib/bee-clef/keystore
--    CONFIGDIR=/var/lib/bee-clef
-+    if [ -z "$CONFIGDIR" ]; then
-+        CONFIGDIR=/var/lib/bee-clef
-+    fi
-+    if [ -z "$PASSWORD_FILE" ]; then
-+        PASSWORD_FILE=${CONFIGDIR}/password
-+    fi
-+    KEYSTORE=${CONFIGDIR}/keystore
-+    SECRET=$(cat ${PASSWORD_FILE})
-     CHAINID=5
--    SECRET=$(cat /var/lib/bee-clef/password)
-     # clef with every start sets permissions back to 600
--    (sleep 4; chmod 660 /var/lib/bee-clef/clef.ipc) &
-+    (sleep 4; chmod 660 ${CONFIGDIR}/clef.ipc) &
-     ( sleep 2; cat << EOF
- { "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } }
- EOF
--) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath /var/lib/bee-clef
-+) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
- }
- 
- stop() {
--- 
-2.29.2
-
diff --git a/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch b/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch
deleted file mode 100644
index 611aed0b890a..000000000000
--- a/pkgs/applications/networking/bee/0002-nix-diff-for-substituteAll.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1a1ab986245e8b74648a1a0adb5d1c7019561d18 Mon Sep 17 00:00:00 2001
-From: Attila Lendvai <attila@lendvai.name>
-Date: Sat, 30 Jan 2021 15:24:57 +0100
-Subject: [PATCH 2/2] nix diff for substituteAll
-
----
- packaging/bee-clef-service | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service
-index 34c7edd..31e9d95 100755
---- a/packaging/bee-clef-service
-+++ b/packaging/bee-clef-service
-@@ -15,7 +15,7 @@ start() {
-     ( sleep 2; cat << EOF
- { "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } }
- EOF
--) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
-+) | @clefBinary@ --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules @out@/share/bee-clef/rules.js --nousb --4bytedb-custom @out@/share/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
- }
- 
- stop() {
--- 
-2.29.2
-
diff --git a/pkgs/applications/networking/bee/bee-clef.nix b/pkgs/applications/networking/bee/bee-clef.nix
deleted file mode 100644
index 9e36f8670d46..000000000000
--- a/pkgs/applications/networking/bee/bee-clef.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ version ? "release", stdenv, lib, fetchFromGitHub, go-ethereum }:
-
-stdenv.mkDerivation rec {
-  pname = "bee-clef";
-  version = "0.4.7";
-
-  src = fetchFromGitHub {
-    owner = "ethersphere";
-    repo = "bee-clef";
-    rev = "refs/tags/v${version}";
-    sha256 = "1sfwql0kvnir8b9ggpqcyc0ar995gxgfbhqb1xpfzp6wl0g3g4zz";
-  };
-
-  buildInputs = [ go-ethereum ];
-
-  clefBinary = "${go-ethereum}/bin/clef";
-
-  patches = [
-    ./0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
-    ./0002-nix-diff-for-substituteAll.patch
-  ];
-
-  dontBuild = true;
-
-  installPhase = ''
-    mkdir -p $out/bin/
-    mkdir -p $out/share/bee-clef/
-    mkdir -p $out/lib/systemd/system/
-    cp packaging/bee-clef.service $out/lib/systemd/system/
-    substituteAll packaging/bee-clef-service $out/share/bee-clef/bee-clef-service
-    substituteAll ${./ensure-clef-account} $out/share/bee-clef/ensure-clef-account
-    substituteAll packaging/bee-clef-keys $out/bin/bee-clef-keys
-    cp packaging/rules.js packaging/4byte.json $out/share/bee-clef/
-    chmod +x $out/bin/bee-clef-keys
-    chmod +x $out/share/bee-clef/bee-clef-service
-    chmod +x $out/share/bee-clef/ensure-clef-account
-    patchShebangs $out/
-  '';
-
-  meta = with lib; {
-    # homepage = "https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/bee-clef/";
-    homepage = "https://docs.ethswarm.org/docs/installation/bee-clef";
-    description = "External signer for Ethereum Swarm Bee";
-    longDescription = ''
-      clef is go-ethereum's external signer.
-
-      bee-clef is a package that starts up a vanilla clef instance as a systemd service,
-      but configured in such a way that is suitable for bee (relaxed security for
-      automated operation).
-
-      This package contains the files necessary to run the bee-clef service.
-    '';
-    license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ attila-lendvai ];
-    platforms = go-ethereum.meta.platforms;
-  };
-}
diff --git a/pkgs/applications/networking/bee/bee.nix b/pkgs/applications/networking/bee/bee.nix
index f2fe81e8379f..cca2e549c8b1 100644
--- a/pkgs/applications/networking/bee/bee.nix
+++ b/pkgs/applications/networking/bee/bee.nix
@@ -1,55 +1,34 @@
-{ version ? "release", lib, fetchFromGitHub, buildGoModule }:
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
 
-let
-
-  versionSpec = rec {
-    unstable = rec {
-      pname = "bee-unstable";
-      version = "2021-01-30";
-      rev = "824636a2c2629c329ab10275cef6a0b7395343ad";
-      goVersionString = "g" + builtins.substring 0 7 rev;     # this seems to be some kind of standard of git describe...
-      sha256 = "0ly1yqjq29arbak8lchdradf39l5bmxpbfir6ljjc7nyqdxz0sxg";
-      vendorHash = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA=";
-    };
-    release = rec {
-      pname = "bee";
-      version = "0.5.0";
-      rev = "refs/tags/v${version}";
-      sha256 = "sha256-3Oy9RhgMPRFjUs3Dj8XUhAqoxx5BTi32OiK4Y8YEG2Q=";
-      vendorHash = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA=";
-    };
-    "0.5.0" = release;
-    "0.4.1" = rec {
-      pname = "bee";
-      version = "0.4.1";
-      rev = "refs/tags/v${version}";
-      sha256 = "1bmgbav52pcb5p7cgq9756512fzfqhjybyr0dv538plkqx47mpv7";
-      vendorHash = "sha256-UGxiCXWlIfnhRZZBMYcWXFj77pqvJkb5wOllSdQeaUg=";
-    };
-  }.${version};
-
-in
-
-buildGoModule {
-  inherit (versionSpec) pname version vendorHash;
+buildGoModule rec {
+  pname = "bee";
+  version = "1.18.2";
 
   src = fetchFromGitHub {
     owner = "ethersphere";
     repo = "bee";
-    inherit (versionSpec) rev sha256;
+    rev = "v${version}";
+    sha256 = "sha256-LUOKF1073GmQWG2q4w0cTErSHw7ok5N6PQZ45xpjYx4=";
   };
 
+  vendorHash = "sha256-UdsF/otjXqS1NY3PkCimRiD93hGntHG3Xhw6avFtHog=";
+
   subPackages = [ "cmd/bee" ];
 
-  # no symbol table, no debug info, and pass the commit for the version string
-  ldflags = lib.optionals ( lib.hasAttr "goVersionString" versionSpec)
-    [ "-s" "-w" "-X=github.com/ethersphere/bee.commit=${versionSpec.goVersionString}" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/ethersphere/bee.version=${version}"
+    "-X github.com/ethersphere/bee/pkg/api.Version=5.2.0"
+    "-X github.com/ethersphere/bee/pkg/api.DebugVersion=4.1.0"
+    "-X github.com/ethersphere/bee/pkg/p2p/libp2p.reachabilityOverridePublic=false"
+    "-X github.com/ethersphere/bee/pkg/postage/listener.batchFactorOverridePublic=5"
+  ];
 
-  # Mimic the bee Makefile: without disabling CGO, two (transitive and
-  # unused) dependencies would fail to compile.
-  preBuild = ''
-    export CGO_ENABLED=0
-  '';
+  CGO_ENABLED = 0;
 
   postInstall = ''
     mkdir -p $out/lib/systemd/system
@@ -65,11 +44,13 @@ buildGoModule {
     longDescription = ''
       A decentralised storage and communication system for a sovereign digital society.
 
-      Swarm is a system of peer-to-peer networked nodes that create a decentralised storage and communication service. The system is economically self-sustaining due to a built-in incentive system enforced through smart contracts on the Ethereum blockchain.
+      Swarm is a system of peer-to-peer networked nodes that create a decentralised storage
+      and communication service. The system is economically self-sustaining due to a built-in
+      incentive system enforced through smart contracts on the Ethereum blockchain.
 
       Bee is a Swarm node implementation, written in Go.
     '';
     license = with licenses; [ bsd3 ];
-    maintainers = with maintainers; [ attila-lendvai ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/bee/ensure-clef-account b/pkgs/applications/networking/bee/ensure-clef-account
deleted file mode 100644
index def67ff9cc33..000000000000
--- a/pkgs/applications/networking/bee/ensure-clef-account
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env sh
-
-set -e
-
-# NOTE This file is called by the systemd service in its preStart
-# hook, but it's not Nix specific in any way. Ideally, the same file
-# should be called from the postinst scripts of the other packages,
-# but... the world is not ideal.
-
-# What follows was extracted from, and should be in sync with
-# https://github.com/ethersphere/bee-clef/tree/master/packaging
-
-DATA_DIR="$1"
-CONFIG_DIR="$2"
-PASSWORD_FILE=${DATA_DIR}/password
-MASTERSEED=${DATA_DIR}/masterseed.json
-KEYSTORE=${DATA_DIR}/keystore
-
-echo "ensure-clef-account $DATA_DIR $CONFIG_DIR"
-
-if ! test -f ${PASSWORD_FILE}; then
-    < /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${PASSWORD_FILE}
-    chmod 0400 ${PASSWORD_FILE}
-    echo "Initialized ${PASSWORD_FILE} from /dev/urandom"
-fi
-
-if ! test -f ${MASTERSEED}; then
-    parse_json() { echo $1|sed -e 's/[{}]/''/g'|sed -e 's/", "/'\",\"'/g'|sed -e 's/" ,"/'\",\"'/g'|sed -e 's/" , "/'\",\"'/g'|sed -e 's/","/'\"---SEPERATOR---\"'/g'|awk -F=':' -v RS='---SEPERATOR---' "\$1~/\"$2\"/ {print}"|sed -e "s/\"$2\"://"|tr -d "\n\t"|sed -e 's/\\"/"/g'|sed -e 's/\\\\/\\/g'|sed -e 's/^[ \t]*//g'|sed -e 's/^"//' -e 's/"$//' ; }
-    SECRET=$(cat ${PASSWORD_FILE})
-    CLEF="@clefBinary@ --configdir ${DATA_DIR} --keystore ${KEYSTORE} --stdio-ui"
-    $CLEF init >/dev/null << EOF
-$SECRET
-$SECRET
-EOF
-    $CLEF newaccount >/dev/null << EOF
-$SECRET
-EOF
-    $CLEF setpw 0x$(parse_json $(cat ${KEYSTORE}/*) address) >/dev/null << EOF
-$SECRET
-$SECRET
-$SECRET
-EOF
-    $CLEF attest $(sha256sum ${CONFIG_DIR}/rules.js | cut -d' ' -f1 | tr -d '\n') >/dev/null << EOF
-$SECRET
-EOF
-    echo "Clef data dir initialized"
-fi