zxing: various fixes and improvements (#472926)

This commit is contained in:
7c6f434c
2025-12-22 09:17:10 +00:00
committed by GitHub
6 changed files with 43 additions and 37 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
#! /bin/sh
@jre@/bin/java -cp @out@/lib/java/core-@version@.jar:@out@/lib/java/javase-@version@.jar "$@"
@jre@/bin/java -cp @out@/lib/java/javase-@version@-jar-with-dependencies.jar "$@"
+28 -28
View File
@@ -1,55 +1,55 @@
{
lib,
stdenv,
fetchurl,
maven,
fetchFromGitHub,
jre,
}:
let
maven.buildMavenPackage rec {
pname = "zxing";
version = "3.5.4";
# Maven builds are hard to get right
core_jar = fetchurl {
url = "https://repo1.maven.org/maven2/com/google/zxing/core/${version}/core-${version}.jar";
hash = "sha256-cd5diTQbX89d2J2n9E6E2CXQ4ITN8+x3yaviaw8M6xM=";
inherit jre;
src = fetchFromGitHub {
owner = "zxing";
repo = "zxing";
tag = "zxing-${version}";
hash = "sha256-D+ZKfDa406RIaTRhH9yXxgP8EpGe0iQU9CqkOMC4UdE=";
};
javase_jar = fetchurl {
url = "https://repo1.maven.org/maven2/com/google/zxing/javase/${version}/javase-${version}.jar";
hash = "sha256-GWaDH0c9cv93IFeEGasRP2QXqXI0oXENK8zGUPWuDBI=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "zxing";
inherit version jre;
mvnHash = "sha256-wVkWbhi5b/rZ0EF5zlQr2BMVOm5nZ1DhI6SGksZO5Vg=";
dontUnpack = true;
sourceRoot = "${src.name}/javase";
mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z compile assembly:single";
installPhase = ''
runHook preInstall
mkdir -p "$out/lib/java" "$out/bin"
cp "${core_jar}" "${javase_jar}" "$out/lib/java"
substituteAll "${./java-zxing.sh}" "$out/bin/java-zxing"
substituteAll "${./zxing-cmdline-runner.sh}" "$out/bin/zxing-cmdline-runner"
substituteAll "${./zxing-cmdline-encoder.sh}" "$out/bin/zxing-cmdline-encoder"
substituteAll "${./zxing.sh}" "$out/bin/zxing"
chmod a+x "$out/bin"/*
pushd "$out/lib/java"
for i in *.jar; do
mv "$i" "''${i#*-}"
cp "target/javase-${version}-jar-with-dependencies.jar" "$out/lib/java"
for source in "${./java-zxing.sh}" "${./zxing-cmdline-encoder.sh}" "${./zxing-cmdline-runner.sh}" "${./zxing-gui-runner.sh}" "${./zxing.sh}"; do
target="''${source#*-}"
target="$out/bin/''${target%.sh}"
substituteAll "$source" "$target"
chmod a+x "$target"
done
popd
runHook postInstall
'';
meta = {
changelog = "https://github.com/zxing/zxing/releases/tag/zxing-${version}";
description = "1D and 2D code reading library";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
sourceProvenance = with lib.sourceTypes; [
binaryBytecode
fromSource
];
license = lib.licenses.asl20;
mainProgram = "zxing";
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
homepage = "https://github.com/zxing/zxing";
};
})
}
@@ -1,3 +1,3 @@
#! /bin/sh
java-zxing com.google.zxing.client.j2se.CommandLineEncoder "$@"
@out@/bin/java-zxing com.google.zxing.client.j2se.CommandLineEncoder "$@"
@@ -1,3 +1,3 @@
#! /bin/sh
java-zxing com.google.zxing.client.j2se.CommandLineRunner "$@"
@out@/bin/java-zxing com.google.zxing.client.j2se.CommandLineRunner "$@"
@@ -0,0 +1,3 @@
#! /bin/sh
@out@/bin/java-zxing com.google.zxing.client.j2se.GUIRunner "$@"
+9 -6
View File
@@ -1,18 +1,21 @@
#! /bin/sh
choice="$1";
shift
[ "$#" = "0" ] || shift;
case "$choice" in
encode | create | write | CommandLineEncoder)
zxing-cmdline-encoder "$@";
@out@/bin/zxing-cmdline-encoder "$@";
;;
decode | read | run | CommandLineRunner)
zxing-cmdline-runner "$@";
@out@/bin/zxing-cmdline-runner "$@";
;;
gui | GUIRunner)
@out@/bin/zxing-gui-runner "$@";
;;
help | usage | --help | --usage | -h)
zxing read;
zxing write;
@out@/bin/zxing read --help;
@out@/bin/zxing write --help;
;;
*)
zxing read "$choice" "$@"
@out@/bin/zxing read "$choice" "$@";
;;
esac