diff --git a/pkgs/additional/koreader-from-src/default.nix b/pkgs/additional/koreader-from-src/default.nix index 2870e096..0916051d 100644 --- a/pkgs/additional/koreader-from-src/default.nix +++ b/pkgs/additional/koreader-from-src/default.nix @@ -25,14 +25,14 @@ }: let sources = import ./sources.nix; + version = "2023.10"; src = fetchFromGitHub { owner = "koreader"; repo = "koreader"; name = "koreader"; # needed because `srcs = ` in the outer derivation is a list fetchSubmodules = true; - # rev = "v${version}"; - rev = "f3520effd679eb24a352e7dec600c5b378c3d376"; # master - hash = "sha256-cPftNXKL9khQKH/DKXyl9YZAEa27T/n3ATErPZy8irY="; + rev = "v${version}"; + hash = "sha256-J8WNSkhPO0Y+m/h246w1GpowOVROOHVbmuDHFAniItk="; }; # XXX: for some inscrutable reason, `enable52Compat` is *partially* broken, only when cross compiling. # `table.unpack` is non-nil, but `table.pack` is nil. @@ -73,7 +73,7 @@ let in stdenv.mkDerivation rec { pname = "koreader-from-src"; - version = "unstable-2023-10-18"; + inherit version; srcs = [ src ] ++ (lib.mapAttrsToList (name: src: fetchgit ( { diff --git a/pkgs/additional/koreader-from-src/sources.nix b/pkgs/additional/koreader-from-src/sources.nix index cbc52fd6..8d439040 100644 --- a/pkgs/additional/koreader-from-src/sources.nix +++ b/pkgs/additional/koreader-from-src/sources.nix @@ -1,8 +1,10 @@ # to update: +# - first, figure the rev for `koreader-base`: +# - inside `koreader` repo: +# - `git submodule status base` +# - or `git log base` # - inside `koreader-base` repo: -# - note the git rev as `old-rev` -# - `git pull` in koreader-base -# - `git diff old-rev.. thirdparty` +# - `git diff old-rev..new-rev thirdparty` # - update `source.rev` everywhere here that changed upstream # - zero the hashes here and correct them based on build errors # - tweak ./vendor-external-projects.patch until it applies @@ -13,6 +15,11 @@ # the following build output may look like an error, but is safe to ignore: # - "awk: fatal: cannot open file `3.9' for reading: No such file or directory" # - this number comes from the luarocks version +# +# how to automate koreader updates? +# - it may be that koreader-base is more strongly decoupled from `koreader` than first appears: +# - most `koreader` commits which update base simply bump its rev and nothing more. +# - then, `koreader-base` could be its own package, updated independently from the main koreader. { thirdparty = { curl = {