Merge pull request #327886 from drupol/nixos-tika-module-add-options

nixos/tika: add `enableOcr` option
This commit is contained in:
Pol Dellaiera
2024-07-17 20:10:06 +02:00
committed by GitHub
2 changed files with 39 additions and 19 deletions
+21 -7
View File
@@ -51,6 +51,14 @@ in
example = literalExpression "./tika/tika-config.xml";
};
enableOcr = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable OCR support by adding the `tesseract` package as a dependency.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
@@ -69,14 +77,20 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "simple";
serviceConfig =
let
package = cfg.package.override { inherit (cfg) enableOcr; };
in
{
Type = "simple";
ExecStart = "${getExe cfg.package} --host ${cfg.listenAddress} --port ${toString cfg.port} ${lib.optionalString (cfg.configFile != null) "--config ${cfg.configFile}"}";
DynamicUser = true;
StateDirectory = "tika";
CacheDirectory = "tika";
};
ExecStart = "${getExe package} --host ${cfg.listenAddress} --port ${toString cfg.port} ${
lib.optionalString (cfg.configFile != null) "--config ${cfg.configFile}"
}";
DynamicUser = true;
StateDirectory = "tika";
CacheDirectory = "tika";
};
};
networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
+18 -12
View File
@@ -6,6 +6,8 @@
fetchFromGitHub,
makeWrapper,
mvnDepsHash ? null,
enableOcr ? true,
tesseract,
nixosTests,
}:
@@ -52,21 +54,25 @@ maven'.buildMavenPackage rec {
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
installPhase =
let
binPath = lib.makeBinPath ([ jdk8.jre ] ++ lib.optionals enableOcr [ tesseract ]);
in
''
runHook preInstall
# Note: using * instead of version would match multiple files
install -Dm644 tika-app/target/tika-app-${version}.jar $out/share/tika/tika-app.jar
install -Dm644 tika-server/tika-server-standard/target/tika-server-standard-${version}.jar $out/share/tika/tika-server.jar
# Note: using * instead of version would match multiple files
install -Dm644 tika-app/target/tika-app-${version}.jar $out/share/tika/tika-app.jar
install -Dm644 tika-server/tika-server-standard/target/tika-server-standard-${version}.jar $out/share/tika/tika-server.jar
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-app \
--add-flags "-jar $out/share/tika/tika-app.jar"
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-server \
--prefix PATH : ${lib.makeBinPath [ jdk8.jre ]} \
--add-flags "-jar $out/share/tika/tika-server.jar"
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-app \
--add-flags "-jar $out/share/tika/tika-app.jar"
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-server \
--prefix PATH : ${binPath} \
--add-flags "-jar $out/share/tika/tika-server.jar"
runHook postInstall
'';
runHook postInstall
'';
passthru.tests = {
inherit (nixosTests) tika;