about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/plik
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/plik')
-rw-r--r--nixpkgs/pkgs/servers/plik/default.nix26
-rw-r--r--nixpkgs/pkgs/servers/plik/programs.nix50
2 files changed, 76 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/plik/default.nix b/nixpkgs/pkgs/servers/plik/default.nix
new file mode 100644
index 000000000000..bcd5ca8c87c8
--- /dev/null
+++ b/nixpkgs/pkgs/servers/plik/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, makeWrapper, runCommand, callPackage }:
+
+let
+  version = "1.3.7";
+
+  programs = callPackage ./programs.nix { };
+
+  webapp = fetchurl {
+    url = "https://github.com/root-gg/plik/releases/download/${version}/plik-${version}-linux-amd64.tar.gz";
+    hash = "sha256-Uj3I/ohgMr/Ud5xAZiBjsIW8bSdUeXXv9NYKLu8Aym8=";
+  };
+
+in
+{
+
+  inherit (programs) plik plikd-unwrapped;
+
+  plikd = runCommand "plikd-${version}" { nativeBuildInputs = [ makeWrapper ]; } ''
+    mkdir -p $out/libexec/plikd/{bin,webapp} $out/bin
+    tar xf ${webapp} plik-${version}-linux-amd64/webapp/dist/
+    mv plik-*/webapp/dist $out/libexec/plikd/webapp
+    cp ${programs.plikd-unwrapped}/bin/plikd $out/libexec/plikd/bin/plikd
+    makeWrapper $out/libexec/plikd/bin/plikd $out/bin/plikd \
+      --chdir "$out/libexec/plikd/bin"
+  '';
+}
diff --git a/nixpkgs/pkgs/servers/plik/programs.nix b/nixpkgs/pkgs/servers/plik/programs.nix
new file mode 100644
index 000000000000..1ab4342f6c31
--- /dev/null
+++ b/nixpkgs/pkgs/servers/plik/programs.nix
@@ -0,0 +1,50 @@
+{ lib, buildGoModule, fetchFromGitHub, fetchurl, makeWrapper, runCommand }:
+
+let
+  version = "1.3.8";
+
+  src = fetchFromGitHub {
+    owner = "root-gg";
+    repo = "plik";
+    rev = version;
+    hash = "sha256-WCtfkzlZnyzZDwNDBrW06bUbLYTL2C704Y7aXbiVi5c=";
+  };
+
+  vendorHash = null;
+
+  meta = with lib; {
+    homepage = "https://plik.root.gg/";
+    description = "Scalable & friendly temporary file upload system";
+    maintainers = with maintainers; [ freezeboy ];
+    license = licenses.mit;
+    mainProgram = "plik";
+  };
+
+  postPatch = ''
+    substituteInPlace server/common/version.go \
+      --replace '"0.0.0"' '"${version}"'
+  '';
+
+in
+{
+
+  plik = buildGoModule {
+    pname = "plik";
+    inherit version meta src vendorHash postPatch;
+
+    subPackages = [ "client" ];
+    postInstall = ''
+      mv $out/bin/client $out/bin/plik
+    '';
+  };
+
+  plikd-unwrapped = buildGoModule {
+    pname = "plikd-unwrapped";
+    inherit version src vendorHash postPatch;
+
+    subPackages = [ "server" ];
+    postFixup = ''
+      mv $out/bin/server $out/bin/plikd
+    '';
+  };
+}