memento: 1.6.0 -> 1.7.0 + moved to by-name + OCR (optional) support (#476399)

This commit is contained in:
Matthieu Coudron
2026-01-04 14:01:38 +00:00
committed by GitHub
3 changed files with 104 additions and 64 deletions
@@ -1,61 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
qt6,
wrapQtAppsHook,
# before that => zeal
sqlite,
json_c,
mecab,
libzip,
mpv,
yt-dlp,
# optional
makeWrapper,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "memento";
version = "1.6.0";
src = fetchFromGitHub {
owner = "ripose-jp";
repo = "Memento";
rev = "v${finalAttrs.version}";
hash = "sha256-IvzvlToSyA20FWU0x+wgE3rT0dYbuY6xyaGgz1D1f6Q=";
};
nativeBuildInputs = [
cmake
makeWrapper
wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
qt6.qtsvg
qt6.qtwayland
sqlite
json_c
libzip
mecab
];
propagatedBuildInputs = [ mpv ];
preFixup = ''
wrapProgram "$out/bin/memento" \
--prefix PATH : "${yt-dlp}/bin" \
'';
meta = {
description = "Mpv-based video player for studying Japanese";
homepage = "https://ripose-jp.github.io/Memento/";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ teto ];
platforms = lib.platforms.linux;
mainProgram = "memento";
};
})
+104
View File
@@ -0,0 +1,104 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
qt6Packages,
sqlite,
json_c,
libzip,
mpv,
yt-dlp,
makeWrapper,
withOcr ? false,
python3,
}:
let
libmocr = stdenv.mkDerivation {
pname = "libmocr";
version = "0-unstable-2023-11-15";
src = fetchFromGitHub {
owner = "ripose-jp";
repo = "libmocr";
rev = "24ec081102208d0ff6954c3003df2fb691713bd5";
hash = "sha256-58W/LBJ+wIxQtutoXqq6TzpExbUBV3NfAfXTIl43ARg=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
qt6Packages.qtbase
python3
];
dontWrapQtApps = true;
meta = {
description = "A library for Manga OCR";
homepage = "https://github.com/ripose-jp/libmocr";
license = lib.licenses.gpl2;
platforms = lib.platforms.linux;
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "memento";
version = "1.7.0";
src = fetchFromGitHub {
owner = "ripose-jp";
repo = "Memento";
tag = "v${finalAttrs.version}";
hash = "sha256-6ipzorykt9GoGTHTTLCyDf7vXx9mT5AITKA9pyQ3GwI=";
};
cmakeFlags = [
(lib.cmakeBool "SYSTEM_QCORO" true)
(lib.cmakeBool "SYSTEM_MOCR" true)
]
++ lib.optionals withOcr [
(lib.cmakeBool "OCR_SUPPORT" true)
];
nativeBuildInputs = [
cmake
makeWrapper
qt6Packages.wrapQtAppsHook
];
buildInputs = [
qt6Packages.qtbase
qt6Packages.qtsvg
qt6Packages.qtwayland
sqlite
json_c
libzip
qt6Packages.qcoro
]
++ lib.optionals withOcr [ libmocr ];
propagatedBuildInputs = [ mpv ];
preFixup =
let
pyEnv = python3.withPackages (p: [
p.manga-ocr
p.jaconv
]);
in
''
wrapProgram "$out/bin/memento" \
--prefix PATH : "${yt-dlp}/bin" ${lib.optionalString withOcr "--suffix PYTHONPATH : \"${pyEnv}/${python3.sitePackages}\""}
'';
passthru.libmocr = libmocr;
meta = {
description = "Mpv-based video player for studying Japanese";
homepage = "https://ripose-jp.github.io/Memento/";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ teto ];
platforms = lib.platforms.linux;
mainProgram = "memento";
};
})
-3
View File
@@ -11336,9 +11336,6 @@ with pkgs;
withConplay = false;
};
# a somewhat more maintained fork of ympd
memento = qt6Packages.callPackage ../applications/video/memento { };
mplayer = callPackage ../applications/video/mplayer (
{
libdvdnav = libdvdnav_4_2_1;