about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/applications/networking/ssb/patchwork/default.nix46
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 53 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 6e6e04da0fb5a..ae83a98a09eff 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5017,6 +5017,11 @@
     github = "the-kenny";
     name = "Moritz Ulrich";
   };
+  thedavidmeister = {
+    email = "thedavidmeister@gmail.com";
+    github = "thedavidmeister";
+    name = "David Meister";
+  };
   thesola10 = {
     email = "thesola10@bobile.fr";
     github = "thesola10";
diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix
new file mode 100644
index 0000000000000..c8b8b5ef333cc
--- /dev/null
+++ b/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -0,0 +1,46 @@
+{
+ stdenv,
+ appimage-run,
+ fetchurl,
+ runtimeShell,
+ gsettings-desktop-schemas,
+ gtk3,
+ gobject-introspection,
+ wrapGAppsHook,
+}:
+
+stdenv.mkDerivation rec {
+  # latest version that runs without errors
+  # https://github.com/ssbc/patchwork/issues/972
+  version = "3.11.4";
+  pname = "patchwork";
+
+  src = fetchurl {
+    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/Patchwork-${version}-linux-x86_64.AppImage";
+    sha256 = "1blsprpkvm0ws9b96gb36f0rbf8f5jgmw4x6dsb1kswr4ysf591s";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+  buildInputs = [ appimage-run gtk3 gsettings-desktop-schemas gobject-introspection ];
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    mkdir -p $out/{bin,share}
+    cp $src $out/share/${pname}
+    echo "#!${runtimeShell}" > $out/bin/${pname}
+    echo "${appimage-run}/bin/appimage-run $out/share/${pname}" >> $out/bin/${pname}
+    chmod +x $out/bin/${pname} $out/share/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB).";
+    longDescription = ''
+      sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship.
+    '';
+    homepage = https://www.scuttlebutt.nz/;
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ thedavidmeister ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a08e913fcdf3c..31be955ce51db 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -12955,6 +12955,8 @@ in
 
   lvtk = callPackage ../development/libraries/audio/lvtk { };
 
+  patchwork = callPackage ../applications/networking/ssb/patchwork { };
+
   qradiolink = callPackage ../applications/radio/qradiolink { };
 
   qrupdate = callPackage ../development/libraries/qrupdate { };