1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-09-11 15:08:33 +01:00

Merge pull request #316823 from numinit/armagetronad-fix-install-check

armagetronad: update 0.4; fix possible problem in installCheckPhase
This commit is contained in:
Masum Reza 2024-07-31 10:20:18 +05:30 committed by GitHub
commit 324f3f75f3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 21 additions and 14 deletions

View file

@ -13,7 +13,7 @@ let
{ imports = [ ./common/user-account.nix ./common/x11.nix ];
hardware.graphics.enable = true;
virtualisation.memorySize = 256;
virtualisation.memorySize = 384;
environment = {
systemPackages = [ pkgs.armagetronad ];
variables.XAUTHORITY = "/home/${user}/.Xauthority";
@ -208,7 +208,7 @@ makeTest {
barrier.wait()
# Get to the Server Bookmarks screen on both clients. This takes a while so do it asynchronously.
barrier = threading.Barrier(3, timeout=120)
barrier = threading.Barrier(len(clients) + 1, timeout=240)
for client in clients:
threading.Thread(target=client_setup, args=(client, servers, barrier)).start()
barrier.wait()

View file

@ -22,6 +22,8 @@
, libxml2
, protobuf
, xvfb-run
, gnugrep
, nixosTests
, dedicatedServer ? false
}:
@ -54,22 +56,21 @@ let
# https://gitlab.com/armagetronad/armagetronad/-/commits/trunk/?ref_type=heads
${unstableVersionMajor} =
let
rev = "e7f41fd26363e7c6a72f0c673470ed06ab54ae08";
hash = "sha256-Uxxk6L7WPxKYQ4CNxWwEtvbZjK8BqYNTuwwdleZ44Ro=";
rev = "391a74625c1222dd180f069f1b61c3e069a3ba8c";
hash = "sha256-fUY0dBj85k0QhnAoDzyBmmKmRh9oCYC6r6X4ukt7/L0=";
in dedicatedServer: {
version = "${unstableVersionMajor}-${builtins.substring 0 8 rev}";
src = fetchArmagetron rev hash;
extraBuildInputs = [ protobuf boost ]
++ lib.optionals (!dedicatedServer) [ glew ftgl freetype SDL2 SDL2_image SDL2_mixer ];
extraNativeBuildInputs = [ bison ];
extraNativeInstallCheckInputs = lib.optionals (!dedicatedServer) [ xvfb-run ];
};
# https://gitlab.com/armagetronad/armagetronad/-/commits/hack-0.2.8-sty+ct+ap/?ref_type=heads
"${latestVersionMajor}-sty+ct+ap" =
let
rev = "a5bffe9dda2b43d330433f76f14eb374701f326a";
hash = "sha256-cNABxfg3MSmbxU/R78QyPOMwXGqJEamaFOPNw5yhDGE=";
rev = "5a17cc9fb6e1e27a358711afbd745ae54d4a8c60";
hash = "sha256-111C1j/hSaASGcvYy3//TyHs4Z+3fuiOvCmtcWLdFd4=";
in dedicatedServer: {
version = "${latestVersionMajor}-sty+ct+ap-${builtins.substring 0 8 rev}";
src = fetchArmagetron rev hash;
@ -130,13 +131,15 @@ let
] ++ lib.optional dedicatedServer "--enable-dedicated"
++ lib.optional (!dedicatedServer) "--enable-music";
buildInputs = [ libxml2 ]
buildInputs = lib.singleton (libxml2.override { enableHttp = true; })
++ (resolvedParams.extraBuildInputs or []);
nativeBuildInputs = [ autoconf automake gnum4 pkg-config which python3 ]
++ (resolvedParams.extraNativeBuildInputs or []);
nativeInstallCheckInputs = resolvedParams.extraNativeInstallCheckInputs or [];
nativeInstallCheckInputs = [ gnugrep ]
++ lib.optional (!dedicatedServer) xvfb-run
++ (resolvedParams.extraNativeInstallCheckInputs or []);
postInstall = lib.optionalString (!dedicatedServer) ''
mkdir -p $out/share/{applications,icons/hicolor}
@ -154,18 +157,21 @@ let
else
run="$bin"
fi
echo "Checking game info:" >&2
version="$($run --version || true)"
echo " - Version: $version" >&2
prefix="$($run --prefix || true)"
rubber="$($run --doc | grep -m1 CYCLE_RUBBER)"
echo "Version: $version" >&2
echo "Prefix: $prefix" >&2
echo "Docstring: $rubber" >&2
echo " - Prefix: $prefix" >&2
rubber="$(($run --doc || true) | grep -m1 CYCLE_RUBBER)"
echo " - Docstring: $rubber" >&2
if [[ "$version" != *"${resolvedParams.version}"* ]] || \
[ "$prefix" != "$out" ] || \
[[ ! "$rubber" =~ ^CYCLE_RUBBER[[:space:]]+Niceness[[:space:]]factor ]]; then
echo "Something didn't match. :-(" >&2
exit 1
else
echo "Everything is ok." >&2
fi
'';
@ -186,6 +192,7 @@ let
{
# Allow both a "dedicated" passthru and a passthru for all the options other than the latest version, which this is.
dedicated = mkArmagetron fn true;
tests.armagetronad = nixosTests.armagetronad;
};
meta = with lib; {