about summary refs log tree commit diff
path: root/pkgs/by-name/pa
diff options
context:
space:
mode:
authorByteSudoer2024-07-16 07:44:40 +0100
committerSandro Jäckel2024-07-16 14:21:59 +0200
commitd4c29687cbd2488ab88c886422119ec91957649b (patch)
tree60ab200551231a78dde651b62a461a1ab7eeb335 /pkgs/by-name/pa
parent0f56e3221392452f2c38e3ddf2eba03abda6bf47 (diff)
paperlib: init at 3.1.6
Diffstat (limited to 'pkgs/by-name/pa')
-rw-r--r--pkgs/by-name/pa/paperlib/package.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/by-name/pa/paperlib/package.nix b/pkgs/by-name/pa/paperlib/package.nix
new file mode 100644
index 000000000000..c03f0434b3d8
--- /dev/null
+++ b/pkgs/by-name/pa/paperlib/package.nix
@@ -0,0 +1,72 @@
+{
+  lib,
+  stdenv,
+  fetchurl,
+  appimageTools,
+  undmg,
+}:
+let
+  pname = "paperlib";
+  version = "3.1.6";
+  src =
+    fetchurl
+      {
+        x86_64-darwin = {
+          url = "https://github.com/Future-Scholars/peperlib/releases/download/release-electron-${version}/Paperlib_${version}.dmg";
+          hash = "sha256-d9vEFx59K15PO7DJYJQ2fjiagqa8oJLtoawILDF9IKc=";
+        };
+        x86_64-linux = {
+          url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}.AppImage";
+          hash = "sha256-2xbn9UWlcf37n9jZdZKyyevzsag6SW9YuQH/bYCRmLQ=";
+        };
+      }
+      .${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
+
+  passthru = {
+    inherit pname version src;
+  };
+
+  meta = {
+    homepage = "https://github.com/Future-Scholars/paperlib?";
+    description = "Open-source academic paper management tool";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ ByteSudoer ];
+    platforms = [
+      "x86_64-darwin"
+      "x86_64-linux"
+    ];
+    mainProgram = "paperlib";
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+in
+if stdenv.isDarwin then
+  stdenv.mkDerivation {
+    inherit
+      pname
+      version
+      src
+      meta
+      passthru
+      ;
+
+    nativeBuildInputs = [ undmg ];
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p "$out/Applications"
+      mv Paperlib.app $out/Applications/
+      runHook postInstall
+    '';
+  }
+else
+  appimageTools.wrapType2 {
+    inherit
+      pname
+      version
+      src
+      meta
+      passthru
+      ;
+
+    extraPkgs = pkgs: [ pkgs.libsecret ];
+  }