gtklock: add module compatibility check helper

+16
+16
pkgs/by-name/gt/gtklock/package.nix
··· 10 10 gtk3, 11 11 pam, 12 12 gtk-session-lock, 13 + runCommand, 13 14 }: 14 15 15 16 stdenv.mkDerivation (finalAttrs: { ··· 39 40 ]; 40 41 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 + ''; 42 58 43 59 meta = { 44 60 description = "GTK-based lockscreen for Wayland";