From 34ec28a9c0628dd3eab6e1e43851e4331b11d4fa Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Tue, 9 May 2023 12:00:00 +0000 Subject: [PATCH 1/2] koreader: fix startup koreader looks for fonts/NotoSans-Regular.ttf at startup but our version of noto fonts provide different files under different names (eg NotoSans[wdth,wght].ttf) so koreader crashes. Let's use the font files provided in the source repo instead. (they are not in the debian package it seems) --- pkgs/applications/misc/koreader/default.nix | 23 ++++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix index e1785065b0a8..e23b23167146 100644 --- a/pkgs/applications/misc/koreader/default.nix +++ b/pkgs/applications/misc/koreader/default.nix @@ -1,17 +1,15 @@ { lib, stdenv , fetchurl , makeWrapper +, fetchFromGitHub , dpkg , glib , gnutar , gtk3-x11 , luajit , sdcv -, SDL2 -, noto-fonts -, nerdfonts }: -let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; }; -in stdenv.mkDerivation rec { +, SDL2 }: +stdenv.mkDerivation rec { pname = "koreader"; version = "2022.08"; @@ -21,6 +19,14 @@ in stdenv.mkDerivation rec { sha256 = "sha256-+JBJNJTAnC5gpuo8cehfe/3YwGIW5iFA8bZ8nfz9qsk="; }; + src_repo = fetchFromGitHub { + repo = "koreader"; + owner = "koreader"; + rev = "v${version}"; + fetchSubmodules = true; + sha256 = "sha256-MHQYEzMyZMEQrzR8+Rvci8XjDK2DMUPxjsiWTrrKiAw="; + }; + sourceRoot = "."; nativeBuildInputs = [ makeWrapper dpkg ]; buildInputs = [ @@ -42,11 +48,8 @@ in stdenv.mkDerivation rec { ln -sf ${luajit}/bin/luajit $out/lib/koreader/luajit ln -sf ${sdcv}/bin/sdcv $out/lib/koreader/sdcv ln -sf ${gnutar}/bin/tar $out/lib/koreader/tar - find $out -xtype l -delete - for i in ${noto-fonts}/share/fonts/truetype/noto/*; do - ln -s "$i" $out/lib/koreader/fonts/noto/ - done - ln -s "${font-droid}/share/fonts/opentype/NerdFonts/Droid Sans Mono Nerd Font Complete Mono.otf" $out/lib/koreader/fonts/droid/DroidSansMono.ttf + find ${src_repo}/resources/fonts -type d -execdir cp -r '{}' $out/lib/koreader/fonts \; + find $out -xtype l -print -delete wrapProgram $out/bin/koreader --prefix LD_LIBRARY_PATH : ${ lib.makeLibraryPath [ gtk3-x11 SDL2 glib ] } From 4690a4f450dc9b022a1550cb441b2f63fec0013a Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Tue, 9 May 2023 12:00:00 +0000 Subject: [PATCH 2/2] koreader: 2022.08 -> 2023.04 changelogs: https://github.com/koreader/koreader/releases/tag/v2022.10 https://github.com/koreader/koreader/releases/tag/v2022.11 https://github.com/koreader/koreader/releases/tag/v2023.01 https://github.com/koreader/koreader/releases/tag/v2023.03 https://github.com/koreader/koreader/releases/tag/v2023.04 --- pkgs/applications/misc/koreader/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix index e23b23167146..222e56b56619 100644 --- a/pkgs/applications/misc/koreader/default.nix +++ b/pkgs/applications/misc/koreader/default.nix @@ -9,14 +9,17 @@ , luajit , sdcv , SDL2 }: +let + luajit_lua52 = luajit.override { enable52Compat = true; }; +in stdenv.mkDerivation rec { pname = "koreader"; - version = "2022.08"; + version = "2023.04"; src = fetchurl { url = "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb"; - sha256 = "sha256-+JBJNJTAnC5gpuo8cehfe/3YwGIW5iFA8bZ8nfz9qsk="; + sha256 = "sha256-tRUeRB1+UcWT49dchN0YDvd0L5n1YRdtMSFc8yy6m5o="; }; src_repo = fetchFromGitHub { @@ -24,7 +27,7 @@ stdenv.mkDerivation rec { owner = "koreader"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "sha256-MHQYEzMyZMEQrzR8+Rvci8XjDK2DMUPxjsiWTrrKiAw="; + sha256 = "sha256-c3j6hs0W0H2jDg6JVfU6ov7r7kucbqrQqf9PAvYBcJ0="; }; sourceRoot = "."; @@ -33,7 +36,7 @@ stdenv.mkDerivation rec { glib gnutar gtk3-x11 - luajit + luajit_lua52 sdcv SDL2 ]; @@ -45,7 +48,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out cp -R usr/* $out/ - ln -sf ${luajit}/bin/luajit $out/lib/koreader/luajit + ln -sf ${luajit_lua52}/bin/luajit $out/lib/koreader/luajit ln -sf ${sdcv}/bin/sdcv $out/lib/koreader/sdcv ln -sf ${gnutar}/bin/tar $out/lib/koreader/tar find ${src_repo}/resources/fonts -type d -execdir cp -r '{}' $out/lib/koreader/fonts \;