zxing: various fixes and improvements (#472926)
This commit is contained in:
@@ -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 "$@"
|
||||
|
||||
@@ -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 "$@"
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user