Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

83 lines
2.0 KiB
Nix
Raw Permalink Normal View History

2024-07-16 07:44:40 +01:00
{
lib,
stdenv,
fetchurl,
appimageTools,
undmg,
2025-02-11 19:08:18 +08:00
_7zz,
2024-07-16 07:44:40 +01:00
}:
let
pname = "paperlib";
2025-02-11 19:08:18 +08:00
version = "3.1.10";
2024-07-16 07:44:40 +01:00
src =
fetchurl
{
2025-02-11 19:08:18 +08:00
aarch64-darwin = {
url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}_arm.dmg";
hash = "sha256-KNMPUeCNtODHzMJhCwI4SJPRfa87RmAe6CRRazgRZCQ=";
};
2024-07-16 07:44:40 +01:00
x86_64-darwin = {
2024-11-25 22:19:44 +01:00
url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}.dmg";
2025-02-11 19:08:18 +08:00
hash = "sha256-5QwF0+7Y4LzReHCj8yZrAJDAZVyY0ANC5gjAxdaVRkU=";
2024-07-16 07:44:40 +01:00
};
x86_64-linux = {
url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}.AppImage";
2025-02-11 19:08:18 +08:00
hash = "sha256-uBYhiUL4YWwnLLPvXMoXjlQqlqFep/OpwwnmPx7s5dY=";
2024-07-16 07:44:40 +01:00
};
}
2025-02-11 11:42:05 +08:00
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
2024-07-16 07:44:40 +01:00
passthru = {
inherit pname version src;
};
meta = {
2025-02-11 11:42:05 +08:00
homepage = "https://github.com/Future-Scholars/paperlib";
2024-07-16 07:44:40 +01:00
description = "Open-source academic paper management tool";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ByteSudoer ];
platforms = [
2025-02-11 19:08:18 +08:00
"aarch64-darwin"
2024-07-16 07:44:40 +01:00
"x86_64-darwin"
"x86_64-linux"
];
mainProgram = "paperlib";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
in
if stdenv.hostPlatform.isDarwin then
stdenv.mkDerivation {
inherit
pname
version
src
meta
passthru
;
2024-11-25 22:19:44 +01:00
sourceRoot = ".";
2025-02-11 19:08:18 +08:00
nativeBuildInputs = if stdenv.hostPlatform.isAarch64 then [ _7zz ] else [ undmg ];
2024-07-16 07:44:40 +01:00
installPhase = ''
runHook preInstall
2025-02-11 11:42:05 +08:00
mkdir -p $out/Applications
2024-07-16 07:44:40 +01:00
mv Paperlib.app $out/Applications/
2025-02-11 11:42:05 +08:00
2024-07-16 07:44:40 +01:00
runHook postInstall
'';
}
else
appimageTools.wrapType2 {
inherit
pname
version
src
meta
passthru
;
extraPkgs = pkgs: [ pkgs.libsecret ];
}