51 lines
1.4 KiB
Nix
51 lines
1.4 KiB
Nix
{ stdenv
|
|
, fetchFromGitHub
|
|
, lib
|
|
, subproject ? "library" # one of "library", "reader" or "writer"
|
|
, zlib
|
|
, libpng
|
|
, libtiff
|
|
, jabcode
|
|
}:
|
|
let
|
|
subdir = lib.getAttr subproject {
|
|
"library" = "jabcode";
|
|
"reader" = "jabcodeReader";
|
|
"writer" = "jabcodeWriter";
|
|
};
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "jabcode-${subproject}";
|
|
version = "unstable-2021-02-16";
|
|
src = fetchFromGitHub {
|
|
repo = "jabcode";
|
|
owner = "jabcode";
|
|
rev = "e342b647525fa294127930d836b54a6b21957cdc";
|
|
sha256 = "04ngw5aa43q7kxfn1v8drmir2i2qakvq0ni0lgf0zw8150mww52x";
|
|
};
|
|
|
|
nativeBuildInputs =
|
|
[ zlib libpng libtiff ]
|
|
++ lib.optionals (subproject != "library") [ jabcode ];
|
|
|
|
preConfigure = "cd src/${subdir}";
|
|
|
|
installPhase =
|
|
if subproject == "library" then ''
|
|
mkdir -p $out/lib
|
|
cp build/* $out/lib
|
|
'' else ''
|
|
mkdir -p $out/bin
|
|
cp -RT bin $out/bin
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A high-capacity 2D color bar code (${subproject})";
|
|
longDescription = "JAB Code (Just Another Bar Code) is a high-capacity 2D color bar code, which can encode more data than traditional black/white (QR) codes. This is the ${subproject} part.";
|
|
homepage = "https://jabcode.org/";
|
|
license = licenses.lgpl21;
|
|
maintainers = [ maintainers.xaverdh ];
|
|
platforms = platforms.unix;
|
|
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/jabcode.x86_64-darwin
|
|
};
|
|
}
|