From 8e26d7ca856c055f7bf15b32ab9e94b1b4d3c917 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Tue, 16 Jul 2024 22:29:11 -0700 Subject: [PATCH] freebsd.mkDerivation: do not crash on packages not using FreeBSD src This includes drm-kmod and drm-kmod firmware. --- pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix | 3 +++ pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix index 42806392d217..c604ee573628 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix @@ -22,6 +22,9 @@ let fetchOptions = (lib.importJSON ./versions.json).${branch}; in mkDerivation { + # this derivation is tricky; it is not an in-tree FreeBSD build but it is meant to be built + # at the same time as the in-tree FreeBSD code, so it expects the same environment. Therefore, + # it is appropriate to use the freebsd mkDerivation. pname = "drm-kmod"; version = branch; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix index ec4b698116b9..c574d7dd80ec 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix @@ -107,7 +107,9 @@ lib.makeOverridable ( // { patches = (lib.optionals (attrs.autoPickPatches or true) ( - freebsd-lib.filterPatches patches (attrs.extraPaths or [ ] ++ [ attrs.path ]) + freebsd-lib.filterPatches patches ( + attrs.extraPaths or [ ] ++ (lib.optional (attrs ? path) attrs.path) + ) )) ++ attrs.patches or [ ]; }