Add a binary distribution of ZXing 1D/2D code library

+56
+34
pkgs/tools/graphics/zxing/default.nix
··· 1 + {stdenv, fetchurl, openjre, jre ? openjre}: 2 + stdenv.mkDerivation rec { 3 + name = "zxing-${version}"; 4 + version = "3.1.0"; 5 + # Maven builds are hard to get right 6 + core_jar = fetchurl { 7 + url = "http://repo1.maven.org/maven2/com/google/zxing/core/${version}/core-${version}.jar"; 8 + sha256 = "199l4xvlcpafqn69r3k9qjpqkw9lvkl02hzpm0ackvdhl7vk42zh"; 9 + }; 10 + javase_jar = fetchurl { 11 + url = "http://repo1.maven.org/maven2/com/google/zxing/javase/${version}/javase-${version}.jar"; 12 + sha256 = "0fzxvvf5dqyrs5m9rqw4ffm9h1s27bi7q3jb1dam34s80q2rp2zq"; 13 + }; 14 + inherit jre; 15 + unpackPhase = ''true''; 16 + installPhase = '' 17 + mkdir -p "$out/lib/java" "$out/bin" 18 + cp "${core_jar}" "${javase_jar}" "$out/lib/java" 19 + substituteAll "${./java-zxing.sh}" "$out/bin/java-zxing" 20 + substituteAll "${./zxing-cmdline-runner.sh}" "$out/bin/zxing-cmdline-runner" 21 + substituteAll "${./zxing-cmdline-encoder.sh}" "$out/bin/zxing-cmdline-encoder" 22 + substituteAll "${./zxing.sh}" "$out/bin/zxing" 23 + chmod a+x "$out/bin"/* 24 + cd "$out/lib/java"; for i in *.jar; do mv "$i" "''${i#*-}"; done 25 + ''; 26 + meta = { 27 + inherit version; 28 + description = ''1D and 2D code reading library''; 29 + license = stdenv.lib.licenses.asl20; 30 + maintainers = [stdenv.lib.maintainers.raskin]; 31 + platforms = stdenv.lib.platforms.linux; 32 + homepage = "https://github.com/zxing/zxing"; 33 + }; 34 + }
+3
pkgs/tools/graphics/zxing/java-zxing.sh
··· 1 + #! /bin/sh 2 + 3 + @jre@/bin/java -cp @out@/lib/java/core-@version@.jar:@out@/lib/java/javase-@version@.jar "$@"
+3
pkgs/tools/graphics/zxing/zxing-cmdline-encoder.sh
··· 1 + #! /bin/sh 2 + 3 + java-zxing com.google.zxing.client.j2se.CommandLineEncoder "$@"
+3
pkgs/tools/graphics/zxing/zxing-cmdline-runner.sh
··· 1 + #! /bin/sh 2 + 3 + java-zxing com.google.zxing.client.j2se.CommandLineRunner "$@"
+11
pkgs/tools/graphics/zxing/zxing.sh
··· 1 + #! /bin/sh 2 + choice="$1"; 3 + shift 4 + case "$choice" in 5 + encode | create | write | CommandLineEncoder) 6 + zxing-cmdline-encoder "$@"; 7 + ;; 8 + decode | read | run | CommandLineRunner) 9 + zxing-cmdline-runner "$@"; 10 + ;; 11 + esac
+2
pkgs/top-level/all-packages.nix
··· 2855 2855 2856 2856 zsync = callPackage ../tools/compression/zsync { }; 2857 2857 2858 + zxing = callPackage ../tools/graphics/zxing {}; 2859 + 2858 2860 2859 2861 ### SHELLS 2860 2862