From d437f2c365a12fb3894eb87f52decf53c745f475 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 24 May 2018 10:43:14 -0400 Subject: [PATCH] lib: Fix `nix-env -qaP -f . --xml --meta` The function value cannot be serialized so nix-env was mad. Turns out we can just remove it like we do in `lib/systems/inspect.nix`. --- lib/systems/for-meta.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix index 9e85cea3ad11..88cb0101410b 100644 --- a/lib/systems/for-meta.nix +++ b/lib/systems/for-meta.nix @@ -3,6 +3,8 @@ let inherit (lib.systems) parse; inherit (lib.systems.inspect) patterns; + abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) parse.abis; + in rec { all = [ {} ]; # `{}` matches anything none = []; @@ -19,7 +21,7 @@ in rec { darwin = [ patterns.isDarwin ]; freebsd = [ patterns.isFreeBSD ]; # Should be better, but MinGW is unclear, and HURD is bit-rotted. - gnu = [ { kernel = parse.kernels.linux; abi = parse.abis.gnu; } ]; + gnu = [ { kernel = parse.kernels.linux; abi = abis.gnu; } ]; illumos = [ patterns.isSunOS ]; linux = [ patterns.isLinux ]; netbsd = [ patterns.isNetBSD ];