biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / koreader / default.nix
blob014bc216b40bc6ef74e9102ad6aeade859f1aaa7
1 { lib, stdenv
2 , fetchurl
3 , makeWrapper
4 , fetchFromGitHub
5 , dpkg
6 , glib
7 , gnutar
8 , gtk3-x11
9 , luajit
10 , sdcv
11 , SDL2 }:
12 let
13   luajit_lua52 = luajit.override { enable52Compat = true; };
15 stdenv.mkDerivation rec {
16   pname = "koreader";
17   version = "2024.04";
20   src = {
21     aarch64-linux = fetchurl {
22       url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-arm64.deb";
23       hash = "sha256-FwwB9slKOiYQ3eud2tiqov6yGNxmIicIe6nFpsH28Vk=";
24     };
25     armv7l-linux = fetchurl {
26       url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-armhf.deb";
27       hash = "sha256-LgeWQcHm5Qq/7MUuidjily0WsOFZAWGWeO52jNHWKMw=";
28     };
29     x86_64-linux = fetchurl {
30       url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
31       hash = "sha256-hqJRZDZqzPNLK/8Bb+Oay70JqKAMKB0Epbbzeu5npLw=";
32     };
33   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
35   src_repo = fetchFromGitHub {
36     repo = "koreader";
37     owner = "koreader";
38     rev = "v${version}";
39     fetchSubmodules = true;
40     sha256 = "sha256-gHn1xqBc7M9wkek1Ja1gry8TKIuUxQP8T45x3z2S4uc=";
41   };
43   sourceRoot = ".";
44   nativeBuildInputs = [ makeWrapper dpkg ];
45   buildInputs = [
46     glib
47     gnutar
48     gtk3-x11
49     luajit_lua52
50     sdcv
51     SDL2
52   ];
53   unpackCmd = "dpkg-deb -x ${src} .";
55   dontConfigure = true;
56   dontBuild = true;
58   installPhase = ''
59     mkdir -p $out
60     cp -R usr/* $out/
61     ln -sf ${luajit_lua52}/bin/luajit $out/lib/koreader/luajit
62     ln -sf ${sdcv}/bin/sdcv $out/lib/koreader/sdcv
63     ln -sf ${gnutar}/bin/tar $out/lib/koreader/tar
64     find ${src_repo}/resources/fonts -type d -execdir cp -r '{}' $out/lib/koreader/fonts \;
65     find $out -xtype l -print -delete
66     wrapProgram $out/bin/koreader --prefix LD_LIBRARY_PATH : ${
67       lib.makeLibraryPath [ gtk3-x11 SDL2 glib stdenv.cc.cc.lib ]
68     }
69   '';
71   meta = with lib; {
72     homepage = "https://github.com/koreader/koreader";
73     changelog = "https://github.com/koreader/koreader/releases/tag/v${version}";
74     description =
75       "An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices";
76     mainProgram = "koreader";
77     sourceProvenance = with sourceTypes; [ binaryNativeCode ];
78     platforms = [ "aarch64-linux" "armv7l-linux" "x86_64-linux" ];
79     license = licenses.agpl3Only;
80     maintainers = with maintainers; [ contrun neonfuz];
81   };