2019-09-09 10:07:46 +00:00
|
|
|
{ stdenv
|
|
|
|
, lib
|
|
|
|
, fetchFromGitHub
|
|
|
|
, imagemagickBig
|
2021-01-17 09:17:16 +00:00
|
|
|
, pkg-config
|
2022-12-05 00:15:20 +00:00
|
|
|
, withXorg ? true
|
2019-09-09 10:07:46 +00:00
|
|
|
, libX11
|
|
|
|
, libv4l
|
2019-09-10 03:54:35 +00:00
|
|
|
, qtbase
|
|
|
|
, qtx11extras
|
|
|
|
, wrapQtAppsHook
|
2019-09-10 06:13:10 +00:00
|
|
|
, wrapGAppsHook
|
2019-09-09 23:05:55 +00:00
|
|
|
, gtk3
|
2019-09-09 10:07:46 +00:00
|
|
|
, xmlto
|
|
|
|
, docbook_xsl
|
|
|
|
, autoreconfHook
|
|
|
|
, dbus
|
|
|
|
, enableVideo ? stdenv.isLinux
|
2021-10-26 10:53:38 +00:00
|
|
|
# The implementation is buggy and produces an error like
|
|
|
|
# Name Error (Connection ":1.4380" is not allowed to own the service "org.linuxtv.Zbar" due to security policies in the configuration file)
|
|
|
|
# for every scanned code.
|
|
|
|
# see https://github.com/mchehab/zbar/issues/104
|
|
|
|
, enableDbus ? false
|
2020-06-01 10:56:21 +00:00
|
|
|
, libintl
|
2022-12-05 22:27:51 +00:00
|
|
|
, libiconv
|
|
|
|
, Foundation
|
2023-04-19 01:15:08 +00:00
|
|
|
, bash
|
|
|
|
, python3
|
2023-04-26 12:35:55 +00:00
|
|
|
, argp-standalone
|
2015-04-03 09:35:10 +00:00
|
|
|
}:
|
2011-09-04 09:12:00 +00:00
|
|
|
|
2019-09-09 10:07:46 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2015-04-03 09:35:10 +00:00
|
|
|
pname = "zbar";
|
2023-04-19 00:34:07 +00:00
|
|
|
version = "0.23.92";
|
2019-03-25 08:59:21 +00:00
|
|
|
|
2019-09-09 22:35:05 +00:00
|
|
|
outputs = [ "out" "lib" "dev" "doc" "man" ];
|
2019-06-23 11:39:01 +00:00
|
|
|
|
2019-03-25 08:59:21 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "mchehab";
|
|
|
|
repo = "zbar";
|
|
|
|
rev = version;
|
2023-04-19 00:34:07 +00:00
|
|
|
sha256 = "sha256-VhVrngAX7pXZp+szqv95R6RGAJojp3svdbaRKigGb0w=";
|
2011-09-04 09:12:00 +00:00
|
|
|
};
|
|
|
|
|
2019-09-09 10:07:46 +00:00
|
|
|
nativeBuildInputs = [
|
2021-01-17 09:17:16 +00:00
|
|
|
pkg-config
|
2019-09-09 10:07:46 +00:00
|
|
|
xmlto
|
|
|
|
autoreconfHook
|
|
|
|
docbook_xsl
|
2022-12-05 01:02:12 +00:00
|
|
|
] ++ lib.optionals enableVideo [
|
2019-09-10 06:13:10 +00:00
|
|
|
wrapGAppsHook
|
2022-12-05 01:02:12 +00:00
|
|
|
wrapQtAppsHook
|
2023-05-07 19:18:58 +00:00
|
|
|
qtbase
|
2019-09-09 10:07:46 +00:00
|
|
|
];
|
2015-10-28 09:15:15 +00:00
|
|
|
|
2019-03-25 08:59:21 +00:00
|
|
|
buildInputs = [
|
2019-09-09 10:07:46 +00:00
|
|
|
imagemagickBig
|
2020-06-01 10:56:21 +00:00
|
|
|
libintl
|
2022-12-05 22:27:51 +00:00
|
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
|
|
libiconv
|
|
|
|
Foundation
|
2019-09-09 10:07:46 +00:00
|
|
|
] ++ lib.optionals enableDbus [
|
|
|
|
dbus
|
2022-12-05 00:15:20 +00:00
|
|
|
] ++ lib.optionals withXorg [
|
|
|
|
libX11
|
2019-09-09 10:07:46 +00:00
|
|
|
] ++ lib.optionals enableVideo [
|
|
|
|
libv4l
|
2019-09-09 23:05:55 +00:00
|
|
|
gtk3
|
2019-09-10 03:54:35 +00:00
|
|
|
qtbase
|
|
|
|
qtx11extras
|
2019-03-25 08:59:21 +00:00
|
|
|
];
|
2018-01-03 20:39:24 +00:00
|
|
|
|
2023-04-19 01:15:08 +00:00
|
|
|
nativeCheckInputs = [
|
|
|
|
bash
|
|
|
|
python3
|
|
|
|
];
|
|
|
|
|
2023-04-26 12:35:55 +00:00
|
|
|
checkInputs = lib.optionals stdenv.isDarwin [
|
|
|
|
argp-standalone
|
|
|
|
];
|
|
|
|
|
2023-04-19 01:15:08 +00:00
|
|
|
# Note: postConfigure instead of postPatch in order to include some
|
|
|
|
# autoconf-generated files. The template files for the autogen'd scripts are
|
|
|
|
# not chmod +x, so patchShebangs misses them.
|
|
|
|
postConfigure = ''
|
|
|
|
patchShebangs test
|
|
|
|
'';
|
|
|
|
|
2019-09-21 01:45:15 +00:00
|
|
|
# Disable assertions which include -dev QtBase file paths.
|
2023-02-19 19:23:32 +00:00
|
|
|
env.NIX_CFLAGS_COMPILE = "-DQT_NO_DEBUG";
|
2019-09-21 01:45:15 +00:00
|
|
|
|
2019-09-09 22:35:05 +00:00
|
|
|
configureFlags = [
|
|
|
|
"--without-python"
|
|
|
|
] ++ (if enableDbus then [
|
2019-09-16 02:57:26 +00:00
|
|
|
"--with-dbusconfdir=${placeholder "out"}/share"
|
2019-09-09 10:07:46 +00:00
|
|
|
] else [
|
|
|
|
"--without-dbus"
|
2019-09-09 23:05:55 +00:00
|
|
|
]) ++ (if enableVideo then [
|
|
|
|
"--with-gtk=gtk3"
|
|
|
|
] else [
|
2019-09-09 10:07:46 +00:00
|
|
|
"--disable-video"
|
|
|
|
"--without-gtk"
|
|
|
|
"--without-qt"
|
2019-09-09 23:05:55 +00:00
|
|
|
]);
|
2016-02-24 15:17:41 +00:00
|
|
|
|
2023-04-26 12:35:55 +00:00
|
|
|
doCheck = true;
|
|
|
|
|
|
|
|
preCheck = lib.optionalString stdenv.isDarwin ''
|
|
|
|
export NIX_LDFLAGS="$NIX_LDFLAGS -largp"
|
|
|
|
'';
|
2023-04-19 01:15:08 +00:00
|
|
|
|
2019-09-09 22:55:11 +00:00
|
|
|
dontWrapQtApps = true;
|
2019-09-09 23:05:55 +00:00
|
|
|
dontWrapGApps = true;
|
2019-09-09 22:55:11 +00:00
|
|
|
|
|
|
|
postFixup = lib.optionalString enableVideo ''
|
2019-09-10 06:13:10 +00:00
|
|
|
wrapGApp "$out/bin/zbarcam-gtk"
|
2019-09-09 22:55:11 +00:00
|
|
|
wrapQtApp "$out/bin/zbarcam-qt"
|
|
|
|
'';
|
|
|
|
|
2022-02-15 20:28:02 +00:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2019-09-09 10:07:46 +00:00
|
|
|
meta = with lib; {
|
2014-06-23 12:45:01 +00:00
|
|
|
description = "Bar code reader";
|
|
|
|
longDescription = ''
|
|
|
|
ZBar is an open source software suite for reading bar codes from various
|
|
|
|
sources, such as video streams, image files and raw intensity sensors. It
|
|
|
|
supports many popular symbologies (types of bar codes) including
|
|
|
|
EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR
|
|
|
|
Code.
|
|
|
|
'';
|
2019-03-25 08:59:21 +00:00
|
|
|
maintainers = with maintainers; [ delroth raskin ];
|
2018-01-03 20:39:24 +00:00
|
|
|
platforms = platforms.unix;
|
2015-04-03 09:35:10 +00:00
|
|
|
license = licenses.lgpl21;
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "https://github.com/mchehab/zbar";
|
2022-11-09 15:41:13 +00:00
|
|
|
mainProgram = "zbarimg";
|
2011-09-04 09:12:00 +00:00
|
|
|
};
|
2015-04-03 09:35:10 +00:00
|
|
|
}
|