diff --git a/third_party/nixpkgs/patches/libgpiod-1-for-openocd.patch b/third_party/nixpkgs/patches/libgpiod-1-for-openocd.patch new file mode 100644 index 0000000000..f9e67a5537 --- /dev/null +++ b/third_party/nixpkgs/patches/libgpiod-1-for-openocd.patch @@ -0,0 +1,83 @@ +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 +--- /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/1.x.nix +copy from pkgs/development/libraries/libgpiod/default.nix +copy to pkgs/development/libraries/libgpiod/1.x.nix +--- a/pkgs/development/libraries/libgpiod/default.nix ++++ b/pkgs/development/libraries/libgpiod/1.x.nix +@@ -4,13 +4,19 @@ + + stdenv.mkDerivation rec { + pname = "libgpiod"; +- version = "2.0.1"; ++ version = "1.6.4"; + + src = fetchurl { + url = "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${version}.tar.gz"; +- hash = "sha256-tu2lU1YWCo5zkG49SOlZ74EpZ4fXZJdbEPJX6WYGaOk="; ++ sha256 = "sha256-gp1KwmjfB4U2CdZ8/H9HbpqnNssqaKYwvpno+tGXvgo="; + }; + ++ 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 +diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix +--- a/pkgs/top-level/all-packages.nix ++++ b/pkgs/top-level/all-packages.nix +@@ -19541,7 +19541,7 @@ with pkgs; + + opengrok = callPackage ../development/tools/misc/opengrok { }; + +- openocd = callPackage ../development/embedded/openocd { }; ++ openocd = callPackage ../development/embedded/openocd { libgpiod = libgpiod_1_x; }; + + oprofile = callPackage ../development/tools/profiling/oprofile { + libiberty_static = libiberty.override { staticBuild = true; }; +@@ -22618,6 +22618,7 @@ with pkgs; + libgphoto2 = callPackage ../development/libraries/libgphoto2 { }; + + libgpiod = callPackage ../development/libraries/libgpiod { }; ++ libgpiod_1_x = callPackage ../development/libraries/libgpiod/1.x.nix { }; + + libgpod = callPackage ../development/libraries/libgpod { + autoreconfHook = buildPackages.autoreconfHook269; diff --git a/third_party/nixpkgs/patches/series b/third_party/nixpkgs/patches/series index ec475fc936..06c3ede6fa 100644 --- a/third_party/nixpkgs/patches/series +++ b/third_party/nixpkgs/patches/series @@ -1 +1,2 @@ poetry2nix-cryptography39.0.1.patch +libgpiod-1-for-openocd.patch