From b920bf3d618cb7e0e9b29db9774274b12b75a974 Mon Sep 17 00:00:00 2001 From: Richard Marko Date: Sat, 2 May 2020 18:05:07 +0200 Subject: [PATCH] libgpiod: add patch fixing cross-compilation Fixes "undefined reference to `rpl_malloc'". --- ...LOC-and-_REALLOC-and-check-for-them-.patch | 31 +++++++++++++++++++ .../libraries/libgpiod/default.nix | 6 ++++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch diff --git a/pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch b/pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch new file mode 100644 index 000000000000..f2ee8e8d3d73 --- /dev/null +++ b/pkgs/development/libraries/libgpiod/0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch @@ -0,0 +1,31 @@ +From 2cc80dc06ea42087788cf27b31821ffa99a22f89 Mon Sep 17 00:00:00 2001 +From: Johannes Lode +Date: Thu, 14 Nov 2019 10:44:00 +0100 +Subject: [PATCH] Drop AC_FUNC_MALLOC and _REALLOC and check for them as + regular functions. + +While cross-compiling there occurred "undefined reference to +`rpl_malloc'", the suggested change fixes the problem. + +Tested for native X86_64 and armv7a-unknown-linux-gnueabihf. +--- + configure.ac | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 008499d..b492dc4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -81,7 +81,8 @@ AC_DEFUN([HEADER_NOT_FOUND_CXX], + + # This is always checked (library needs this) + AC_HEADER_STDC +-AC_FUNC_MALLOC ++# AC_FUNC_MALLOC -- does not work while cross-compiling ++AC_CHECK_FUNC([malloc realloc]) + AC_CHECK_FUNC([ioctl], [], [FUNC_NOT_FOUND_LIB([ioctl])]) + AC_CHECK_FUNC([asprintf], [], [FUNC_NOT_FOUND_LIB([asprintf])]) + AC_CHECK_FUNC([scandir], [], [FUNC_NOT_FOUND_LIB([scandir])]) +-- +2.25.1 + diff --git a/pkgs/development/libraries/libgpiod/default.nix b/pkgs/development/libraries/libgpiod/default.nix index 6d77a28d55f3..9d8737d15be3 100644 --- a/pkgs/development/libraries/libgpiod/default.nix +++ b/pkgs/development/libraries/libgpiod/default.nix @@ -11,6 +11,12 @@ stdenv.mkDerivation rec { sha256 = "14iv8iwyvfznyifhkqz1bjh24dvb03gmpjn8v3fs6h734l93vvw5"; }; + patches = [ + # cross compiling fix + # https://github.com/brgl/libgpiod/pull/45 + ./0001-Drop-AC_FUNC_MALLOC-and-_REALLOC-and-check-for-them-.patch + ]; + buildInputs = [ kmod ] ++ lib.optionals enablePython [ python3 ncurses ]; nativeBuildInputs = [ autoconf-archive