libguestfs-with-appliance: relax version check & use provided libguestfsCompatible

lukts30 cc608b02 9600480a

+19 -3
+19 -3
pkgs/by-name/li/libguestfs-with-appliance/package.nix
··· 4 libguestfs-appliance, 5 }: 6 7 # https://github.com/NixOS/nixpkgs/issues/280881 8 - lib.warnIf (builtins.compareVersions libguestfs.version libguestfs-appliance.version > 0) 9 - "libguestfs has a higher version than libguestfs-appliance (${libguestfs.version} > ${libguestfs-appliance.version}), runtime errors may occur!" 10 11 libguestfs.override 12 - { appliance = libguestfs-appliance; }
··· 4 libguestfs-appliance, 5 }: 6 7 + let 8 + appliance = libguestfs-appliance; 9 + # check explicit forward compatibility declaration: 10 + # then do not warn if older appliance if known to work fine with newer libguestfs 11 + libguestfsCompatible = 12 + if lib.hasAttr "libguestfsCompatible" appliance then 13 + appliance.libguestfsCompatible libguestfs 14 + else 15 + false; 16 + in 17 # https://github.com/NixOS/nixpkgs/issues/280881 18 + lib.warnIf 19 + ( 20 + builtins.compareVersions (lib.versions.majorMinor libguestfs.version) ( 21 + lib.versions.majorMinor appliance.version 22 + ) > 0 23 + && !libguestfsCompatible 24 + ) 25 + "libguestfs has a different version than ${appliance.pname} (${libguestfs.version} > ${appliance.version}), runtime errors may occur!" 26 27 libguestfs.override 28 + { inherit appliance; }