From cf360a109584d56f5acb974ccc4771f2975ec4d0 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 31 Aug 2022 18:59:23 +0300 Subject: sane-backends: fix cross pulled patch from void-linux MMAP is only on linux i think --- .../graphics/sane/backends/default.nix | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'pkgs/applications/graphics/sane') diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix index 02f5025a563fd..2364b45083583 100644 --- a/pkgs/applications/graphics/sane/backends/default.nix +++ b/pkgs/applications/graphics/sane/backends/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, runtimeShell +{ stdenv, lib, fetchurl, fetchpatch, runtimeShell, buildPackages , gettext, pkg-config, python3 , avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp , curl, systemd, libxml2, poppler, gawk @@ -29,8 +29,26 @@ stdenv.mkDerivation { sha256 = "055iicihxa6b28iv5fnz13n67frdr5nrydq2c846f9x7q0vw4a1s"; }; + patches = [ + # sane-desc will be used in postInstall so compile it for build + # https://github.com/void-linux/void-packages/blob/master/srcpkgs/sane/patches/sane-desc-cross.patch + (fetchpatch { + name = "compile-sane-desc-for-build.patch"; + url = "https://raw.githubusercontent.com/void-linux/void-packages/4b97cd2fb4ec38712544438c2491b6d7d5ab334a/srcpkgs/sane/patches/sane-desc-cross.patch"; + sha256 = "sha256-y6BOXnOJBSTqvRp6LwAucqaqv+OLLyhCS/tXfLpnAPI="; + }) + ]; + + postPatch = '' + # related to the compile-sane-desc-for-build + substituteInPlace tools/Makefile.in \ + --replace 'cc -I' '$(CC_FOR_BUILD) -I' + ''; + outputs = [ "out" "doc" "man" ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ gettext pkg-config @@ -62,6 +80,10 @@ stdenv.mkDerivation { ++ lib.optional (libusb1 != null) "--with-usb" ; + # autoconf check for HAVE_MMAP is never set on cross compilation. + # The pieusb backend fails compilation if HAVE_MMAP is not set. + buildFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "CFLAGS=-DHAVE_MMAP=${if stdenv.hostPlatform.isLinux then "1" else "0"}" ]; + postInstall = let compatFirmware = extraFirmware -- cgit 1.4.1