nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 82 lines 2.0 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 appimageTools, 6 undmg, 7 _7zz, 8}: 9let 10 pname = "paperlib"; 11 version = "3.1.10"; 12 src = 13 fetchurl 14 { 15 aarch64-darwin = { 16 url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}_arm.dmg"; 17 hash = "sha256-KNMPUeCNtODHzMJhCwI4SJPRfa87RmAe6CRRazgRZCQ="; 18 }; 19 x86_64-darwin = { 20 url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}.dmg"; 21 hash = "sha256-5QwF0+7Y4LzReHCj8yZrAJDAZVyY0ANC5gjAxdaVRkU="; 22 }; 23 x86_64-linux = { 24 url = "https://github.com/Future-Scholars/paperlib/releases/download/release-electron-${version}/Paperlib_${version}.AppImage"; 25 hash = "sha256-uBYhiUL4YWwnLLPvXMoXjlQqlqFep/OpwwnmPx7s5dY="; 26 }; 27 } 28 .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); 29 30 passthru = { 31 inherit pname version src; 32 }; 33 34 meta = { 35 homepage = "https://github.com/Future-Scholars/paperlib"; 36 description = "Open-source academic paper management tool"; 37 license = lib.licenses.gpl3Only; 38 maintainers = with lib.maintainers; [ ByteSudoer ]; 39 platforms = [ 40 "aarch64-darwin" 41 "x86_64-darwin" 42 "x86_64-linux" 43 ]; 44 mainProgram = "paperlib"; 45 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; 46 }; 47in 48if stdenv.hostPlatform.isDarwin then 49 stdenv.mkDerivation { 50 inherit 51 pname 52 version 53 src 54 meta 55 passthru 56 ; 57 58 sourceRoot = "."; 59 60 nativeBuildInputs = if stdenv.hostPlatform.isAarch64 then [ _7zz ] else [ undmg ]; 61 62 installPhase = '' 63 runHook preInstall 64 65 mkdir -p $out/Applications 66 mv Paperlib.app $out/Applications/ 67 68 runHook postInstall 69 ''; 70 } 71else 72 appimageTools.wrapType2 { 73 inherit 74 pname 75 version 76 src 77 meta 78 passthru 79 ; 80 81 extraPkgs = pkgs: [ pkgs.libsecret ]; 82 }