diff options
Diffstat (limited to 'nixpkgs/pkgs/games/ultrastardx/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/ultrastardx/default.nix | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/ultrastardx/default.nix b/nixpkgs/pkgs/games/ultrastardx/default.nix new file mode 100644 index 000000000000..b2d601df3498 --- /dev/null +++ b/nixpkgs/pkgs/games/ultrastardx/default.nix @@ -0,0 +1,46 @@ +{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig +, lua, fpc, pcre, portaudio, freetype, libpng +, SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf +, ffmpeg, sqlite, zlib, libX11, libGLU, libGL }: + +let + sharedLibs = [ + pcre portaudio freetype + SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf + sqlite lua zlib libX11 libGLU libGL ffmpeg + ]; + +in stdenv.mkDerivation rec { + pname = "ultrastardx"; + version = "unstable-2019-01-07"; + src = fetchFromGitHub { + owner = "UltraStar-Deluxe"; + repo = "USDX"; + rev = "3df142590f29db1505cc58746af9f8cf7cb4a6a5"; + sha256 = "0853rg7vppkmw37wm9xm0m0wab3r09ws6w04xs2wgwj1mwl0d70j"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ fpc libpng ] ++ sharedLibs; + + postPatch = '' + substituteInPlace src/config.inc.in \ + --subst-var-by libpcre_LIBNAME libpcre.so.1 + ''; + + preBuild = with stdenv.lib; + let items = concatMapStringsSep " " (x: "-rpath ${getLib x}/lib") sharedLibs; + in '' + export NIX_LDFLAGS="$NIX_LDFLAGS ${items}" + ''; + + # dlopened libgcc requires the rpath not to be shrinked + dontPatchELF = true; + + meta = with stdenv.lib; { + homepage = "http://ultrastardx.sourceforge.net/"; + description = "Free and open source karaoke game"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ Profpatsch ]; + }; +} |