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
commit 8752ff2254
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 76 additions and 38 deletions

View file

@ -88,7 +88,7 @@ python3Packages.buildPythonApplication {
--replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
'' + (if enableQt then ''
substituteInPlace ./electrum/qrscanner.py \
--replace ${libzbar_name} ${zbar}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
--replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
'' else ''
sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
'');

View file

@ -19,14 +19,14 @@ in stdenv.mkDerivation rec {
sha256 = "1ng0x3wj3a1ckfd00yxa4za43xms92gdp7rdag060b7p39z7m4gf";
};
outputs = [ "out" "dev" ];
outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ];
configureFlags =
if withUtils then [
"--with-udevdir=${placeholder "out"}/lib/udev"
] else [
"--disable-v4l-utils"
];
configureFlags = (if withUtils then [
"--with-localedir=${placeholder "lib"}/share/locale"
"--with-udevdir=${placeholder "out"}/lib/udev"
] else [
"--disable-v4l-utils"
]);
postFixup = ''
# Create symlink for V4l1 compatibility
@ -39,10 +39,8 @@ in stdenv.mkDerivation rec {
propagatedBuildInputs = [ libjpeg ];
NIX_CFLAGS_COMPILE = lib.optional withQt "-std=c++11";
postPatch = ''
patchShebangs .
patchShebangs utils/cec-ctl/msg2ctl.pl
'';
meta = with stdenv.lib; {

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

View file

@ -15,15 +15,20 @@ stdenv.mkDerivation {
sha256 = "0yrc302a2fhbzryb10718ky4fymfcps3lk67ivis1qab5kbp6z8r";
};
buildInputs = [ imagemagick qrencode ] ++ stdenv.lib.optional testQR zbar;
dontBuild = true;
dontStrip = true;
dontPatchELF = true;
preInstall = ''
substituteInPlace asc-to-gif.sh \
--replace "convert" "${imagemagick}/bin/convert" \
--replace "qrencode" "${qrencode.bin}/bin/qrencode"
preInstall = let
substitutions = [
''--replace "convert" "${imagemagick}/bin/convert"''
''--replace "qrencode" "${qrencode.bin}/bin/qrencode"''
] ++ stdenv.lib.optional testQR [
''--replace "hash zbarimg" "true"'' # hash does not work on NixOS
''--replace "$(zbarimg --raw" "$(${zbar.out}/bin/zbarimg --raw"''
];
in ''
substituteInPlace asc-to-gif.sh ${stdenv.lib.concatStringsSep " " substitutions}
'';
installPhase = ''

View file

@ -7192,7 +7192,7 @@ in
zbackup = callPackage ../tools/backup/zbackup {};
zbar = callPackage ../tools/graphics/zbar { };
zbar = libsForQt5.callPackage ../tools/graphics/zbar { };
zdelta = callPackage ../tools/compression/zdelta { };