zbar: clean up (#68389)

zbar: clean up
This commit is contained in:
Jan Tojnar
2019-09-10 06:57:40 +02:00
committed by GitHub
5 changed files with 76 additions and 38 deletions
+56 -21
View File
@@ -1,15 +1,28 @@
{ stdenv, fetchFromGitHub, imagemagickBig, pkgconfig, python2Packages, perl
, libX11, libv4l, qt5, gtk2, xmlto, docbook_xsl, autoreconfHook, dbus
, enableVideo ? stdenv.isLinux, enableDbus ? stdenv.isLinux
{ stdenv
, lib
, fetchFromGitHub
, imagemagickBig
, pkgconfig
, libX11
, libv4l
, qtbase
, qtx11extras
, wrapQtAppsHook
, gtk3
, xmlto
, docbook_xsl
, autoreconfHook
, dbus
, enableVideo ? stdenv.isLinux
, enableDbus ? stdenv.isLinux
}:
with stdenv.lib;
let
inherit (python2Packages) pygtk python;
in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
pname = "zbar";
version = "0.23";
outputs = [ "out" "lib" "dev" "doc" "man" ];
src = fetchFromGitHub {
owner = "mchehab";
repo = "zbar";
@@ -17,27 +30,49 @@ in stdenv.mkDerivation rec {
sha256 = "0hlxakpyjg4q9hp7yp3har1n78341b4knwyll28hn48vykg28pza";
};
nativeBuildInputs = [ pkgconfig xmlto autoreconfHook docbook_xsl ];
nativeBuildInputs = [
pkgconfig
xmlto
autoreconfHook
docbook_xsl
wrapQtAppsHook
];
buildInputs = [
imagemagickBig python pygtk perl libX11
] ++ optional enableDbus dbus
++ optionals enableVideo [
libv4l gtk2 qt5.qtbase qt5.qtx11extras
imagemagickBig
libX11
] ++ lib.optionals enableDbus [
dbus
] ++ lib.optionals enableVideo [
libv4l
gtk3
qtbase
qtx11extras
];
configureFlags = (if enableDbus then [
"--with-dbusconfdir=$out/etc/dbus-1/system.d"
] else [ "--without-dbus" ])
++ optionals (!enableVideo) [
"--disable-video" "--without-gtk" "--without-qt"
];
configureFlags = [
"--without-python"
] ++ (if enableDbus then [
"--with-dbusconfdir=${placeholder "out"}/etc"
] else [
"--without-dbus"
]) ++ (if enableVideo then [
"--with-gtk=gtk3"
] else [
"--disable-video"
"--without-gtk"
"--without-qt"
]);
postInstall = optionalString enableDbus ''
install -Dm644 dbus/org.linuxtv.Zbar.conf $out/etc/dbus-1/system.d/org.linuxtv.Zbar.conf
dontWrapQtApps = true;
dontWrapGApps = true;
postFixup = lib.optionalString enableVideo ''
wrapProgram "$out/bin/zbarcam-gtk" "''${gappsWrapperArgs[@]}"
wrapQtApp "$out/bin/zbarcam-qt"
'';
meta = with stdenv.lib; {
meta = with lib; {
description = "Bar code reader";
longDescription = ''
ZBar is an open source software suite for reading bar codes from various