Merge pull request #327886 from drupol/nixos-tika-module-add-options
nixos/tika: add `enableOcr` option
This commit is contained in:
@@ -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 ]; };
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user