From 473bca4bd27738f487d134e0b3f79305dca09ef0 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 4 Jun 2022 07:47:40 +0100 Subject: [PATCH] linuxPackages_hardkernel_latest.usbip: pull upstream fix for -fno-common toolchains Without the change builds fails on upstream -gcc-10 as: ld: tools/usb/usbip/libsrc/vhci_driver.c:18: multiple definition of `udev_context'; tools/usb/usbip/libsrc/usbip_host_common.c:38: first defined here --- .../os-specific/linux/kernel/linux-hardkernel-4.14.nix | 10 +++++++++- pkgs/os-specific/linux/usbip/default.nix | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix index 70ac299f1619..69bbdf648d22 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix @@ -1,4 +1,4 @@ -{ buildPackages, fetchFromGitHub, perl, buildLinux, libelf, util-linux, ... } @ args: +{ buildPackages, fetchFromGitHub, fetchurl, perl, buildLinux, libelf, util-linux, kernelPatches ? [], ... } @ args: buildLinux (args // rec { version = "4.14.180-176"; @@ -16,6 +16,14 @@ buildLinux (args // rec { sha256 = "0n7i7a2bkrm9p1wfr20h54cqm32fbjvwyn703r6zm1f6ivqhk43v"; }; + kernelPatches = args.kernelPatches ++ [{ + name = "usbip-tools-fno-common"; + patch = fetchurl { + url = "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=d5efc2e6b98fe661dbd8dd0d5d5bfb961728e57a"; + hash = "sha256-1CXYCV5zMLA4YdbCr8cO2N4CHEDzQChS9qbKYHPm3U4="; + }; + }]; + defconfig = "odroidxu4_defconfig"; # This extraConfig is (only) required because the gator module fails to build as-is. diff --git a/pkgs/os-specific/linux/usbip/default.nix b/pkgs/os-specific/linux/usbip/default.nix index 43c22a8fd12a..cadf38b106cc 100644 --- a/pkgs/os-specific/linux/usbip/default.nix +++ b/pkgs/os-specific/linux/usbip/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, kernel, udev, autoconf, automake, libtool, hwdata, kernelOlder }: +{ lib, stdenv, fetchpatch, kernel, udev, autoconf, automake, libtool, hwdata, kernelOlder }: stdenv.mkDerivation { name = "usbip-${kernel.name}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { ./fix-snprintf-truncation.patch # fixes build with gcc9 ./fix-strncpy-truncation.patch - ]; + ] ++ kernel.patches; nativeBuildInputs = [ autoconf automake libtool ]; buildInputs = [ udev ];