lol

gtklock: add module compatibility check helper

+16
+16
pkgs/by-name/gt/gtklock/package.nix
··· 10 gtk3, 11 pam, 12 gtk-session-lock, 13 }: 14 15 stdenv.mkDerivation (finalAttrs: { ··· 39 ]; 40 41 strictDeps = true; 42 43 meta = { 44 description = "GTK-based lockscreen for Wayland";
··· 10 gtk3, 11 pam, 12 gtk-session-lock, 13 + runCommand, 14 }: 15 16 stdenv.mkDerivation (finalAttrs: { ··· 40 ]; 41 42 strictDeps = true; 43 + 44 + passthru.testModule = 45 + module: 46 + runCommand "${module.name}-test.sh" { } '' 47 + MODULE_PATH=$(find ${module}/lib/gtklock -maxdepth 1 -name '*.so') 48 + echo -e "[main]\nmodules=''${MODULE_PATH}" >./config.ini 49 + ${finalAttrs.finalPackage}/bin/gtklock --config ./config.ini >./log 2>&1 || true 50 + if grep incompatible ./log; then 51 + echo "${module.name} is incompatible with current ${finalAttrs.finalPackage.name}!" 52 + exit 1 53 + else 54 + echo "Successfully tested ${module.name} against ${finalAttrs.finalPackage.name}." 55 + fi 56 + touch $out 57 + ''; 58 59 meta = { 60 description = "GTK-based lockscreen for Wayland";