2025-01-06 15:32:19 +00:00

68 lines
1.6 KiB
Nix

{
lib,
stdenvNoCC,
fetchzip,
jdk_headless,
makeWrapper,
buildPackages,
javaOpts ? "-XX:+UseZGC",
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "hentai-at-home";
version = "1.6.4";
src = fetchzip {
url = "https://repo.e-hentai.org/hath/HentaiAtHome_${finalAttrs.version}_src.zip";
hash = "sha512-dcHWZiU0ySLlEhZeK1n2T/dyO6Wk9eS7CpZRSfzY3KvHrPBthQnaFrarSopPXJan1+zWROu1pEff1WSr5+HO4Q==";
stripRoot = false;
};
nativeBuildInputs = [
jdk_headless
makeWrapper
];
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE = lib.optionalString (
stdenvNoCC.buildPlatform.libc == "glibc"
) "${buildPackages.glibcLocales}/lib/locale/locale-archive";
makeFlags = [ "all" ];
enableParallelBuilding = false;
installPhase = ''
runHook preInstall
mkdir -p $out/share/java
cp build/HentaiAtHome.jar $out/share/java
mkdir -p $out/bin
makeWrapper ${jdk_headless}/bin/java $out/bin/HentaiAtHome \
--add-flags "${javaOpts} -jar $out/share/java/HentaiAtHome.jar"
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
pushd $(mktemp -d)
$out/bin/HentaiAtHome
popd
runHook postInstallCheck
'';
strictDeps = true;
meta = with lib; {
homepage = "https://ehwiki.org/wiki/Hentai@Home";
description = "Open-source P2P gallery distribution system which reduces the load on the E-Hentai Galleries";
license = licenses.gpl3;
maintainers = with maintainers; [ terrorjack ];
mainProgram = "HentaiAtHome";
platforms = jdk_headless.meta.platforms;
};
})