nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, lib, fetchFromGitHub, cmake, nasm
2, gtk2, glib, ffmpeg_4, alsa-lib, libmad, libogg, libvorbis
3, glew, libpulseaudio, udev
4}:
5
6stdenv.mkDerivation rec {
7 pname = "stepmania";
8 version = "5.1.0-b2";
9
10 src = fetchFromGitHub {
11 owner = "stepmania";
12 repo = "stepmania";
13 rev = "v${version}";
14 sha256 = "0a7y9l7xm510vgnpmj1is7p9m6d6yd0fcaxrjcickz295k5w3rdn";
15 };
16
17 patches = [
18 ./0001-fix-build-with-ffmpeg-4.patch
19 ];
20
21 postPatch = ''
22 sed '1i#include <ctime>' -i src/arch/ArchHooks/ArchHooks.h # gcc12
23 '';
24
25 nativeBuildInputs = [ cmake nasm ];
26
27 buildInputs = [
28 gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis
29 glew libpulseaudio udev
30 ];
31
32 cmakeFlags = [
33 "-DWITH_SYSTEM_FFMPEG=1"
34 "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
35 "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
36 ];
37
38 postInstall = ''
39 mkdir -p $out/bin
40 ln -s $out/stepmania-5.1/stepmania $out/bin/stepmania
41 '';
42
43 meta = with lib; {
44 homepage = "https://www.stepmania.com/";
45 description = "Free dance and rhythm game for Windows, Mac, and Linux";
46 platforms = platforms.linux;
47 license = licenses.mit; # expat version
48 maintainers = [ ];
49 # never built on aarch64-linux since first introduction in nixpkgs
50 broken = stdenv.isLinux && stdenv.isAarch64;
51 };
52}