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} --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
'' + (if enableQt then '' '' + (if enableQt then ''
substituteInPlace ./electrum/qrscanner.py \ 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 '' '' else ''
sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
''); '');

View file

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

View file

@ -1,15 +1,28 @@
{ stdenv, fetchFromGitHub, imagemagickBig, pkgconfig, python2Packages, perl { stdenv
, libX11, libv4l, qt5, gtk2, xmlto, docbook_xsl, autoreconfHook, dbus , lib
, enableVideo ? stdenv.isLinux, enableDbus ? stdenv.isLinux , fetchFromGitHub
, imagemagickBig
, pkgconfig
, libX11
, libv4l
, qtbase
, qtx11extras
, wrapQtAppsHook
, gtk3
, xmlto
, docbook_xsl
, autoreconfHook
, dbus
, enableVideo ? stdenv.isLinux
, enableDbus ? stdenv.isLinux
}: }:
with stdenv.lib; stdenv.mkDerivation rec {
let
inherit (python2Packages) pygtk python;
in stdenv.mkDerivation rec {
pname = "zbar"; pname = "zbar";
version = "0.23"; version = "0.23";
outputs = [ "out" "lib" "dev" "doc" "man" ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mchehab"; owner = "mchehab";
repo = "zbar"; repo = "zbar";
@ -17,27 +30,49 @@ in stdenv.mkDerivation rec {
sha256 = "0hlxakpyjg4q9hp7yp3har1n78341b4knwyll28hn48vykg28pza"; sha256 = "0hlxakpyjg4q9hp7yp3har1n78341b4knwyll28hn48vykg28pza";
}; };
nativeBuildInputs = [ pkgconfig xmlto autoreconfHook docbook_xsl ]; nativeBuildInputs = [
pkgconfig
xmlto
autoreconfHook
docbook_xsl
wrapQtAppsHook
];
buildInputs = [ buildInputs = [
imagemagickBig python pygtk perl libX11 imagemagickBig
] ++ optional enableDbus dbus libX11
++ optionals enableVideo [ ] ++ lib.optionals enableDbus [
libv4l gtk2 qt5.qtbase qt5.qtx11extras dbus
] ++ lib.optionals enableVideo [
libv4l
gtk3
qtbase
qtx11extras
]; ];
configureFlags = (if enableDbus then [ configureFlags = [
"--with-dbusconfdir=$out/etc/dbus-1/system.d" "--without-python"
] else [ "--without-dbus" ]) ] ++ (if enableDbus then [
++ optionals (!enableVideo) [ "--with-dbusconfdir=${placeholder "out"}/etc"
"--disable-video" "--without-gtk" "--without-qt" ] else [
]; "--without-dbus"
]) ++ (if enableVideo then [
"--with-gtk=gtk3"
] else [
"--disable-video"
"--without-gtk"
"--without-qt"
]);
postInstall = optionalString enableDbus '' dontWrapQtApps = true;
install -Dm644 dbus/org.linuxtv.Zbar.conf $out/etc/dbus-1/system.d/org.linuxtv.Zbar.conf 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"; description = "Bar code reader";
longDescription = '' longDescription = ''
ZBar is an open source software suite for reading bar codes from various ZBar is an open source software suite for reading bar codes from various

View file

@ -15,15 +15,20 @@ stdenv.mkDerivation {
sha256 = "0yrc302a2fhbzryb10718ky4fymfcps3lk67ivis1qab5kbp6z8r"; sha256 = "0yrc302a2fhbzryb10718ky4fymfcps3lk67ivis1qab5kbp6z8r";
}; };
buildInputs = [ imagemagick qrencode ] ++ stdenv.lib.optional testQR zbar;
dontBuild = true; dontBuild = true;
dontStrip = true; dontStrip = true;
dontPatchELF = true; dontPatchELF = true;
preInstall = '' preInstall = let
substituteInPlace asc-to-gif.sh \ substitutions = [
--replace "convert" "${imagemagick}/bin/convert" \ ''--replace "convert" "${imagemagick}/bin/convert"''
--replace "qrencode" "${qrencode.bin}/bin/qrencode" ''--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 = '' installPhase = ''

View file

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