From 79dd4deda5a5ee44359a88cdcbbc22a15ba26224 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Wed, 14 Jun 2017 11:29:31 +0200 Subject: Ultrastar (#26524) * ultrastardx-beta: init at 1.3.5 * libbass, libbass_fx: init at 24 * ultrastar-creator: init at 2017-04-12 * buildSupport/plugins.nix: add diffPlugins Helper function to compare expected plugin lists to the found plugins. * ultrastar-manager: init at 2017-05-24 The plugins are built in their own derivations, speeding up (re-)compilation. The `diffPlugins` function from `beets` is reused to test for changes in the plugin list on updates. * beets: switch to diffPlugins The function is basically just extracted for better reusability. --- pkgs/games/ultrastardx/1.1.nix | 32 ++++++++++++++++++++++++ pkgs/games/ultrastardx/1.3-beta.nix | 49 +++++++++++++++++++++++++++++++++++++ pkgs/games/ultrastardx/default.nix | 32 ------------------------ 3 files changed, 81 insertions(+), 32 deletions(-) create mode 100644 pkgs/games/ultrastardx/1.1.nix create mode 100644 pkgs/games/ultrastardx/1.3-beta.nix delete mode 100644 pkgs/games/ultrastardx/default.nix (limited to 'pkgs/games') diff --git a/pkgs/games/ultrastardx/1.1.nix b/pkgs/games/ultrastardx/1.1.nix new file mode 100644 index 00000000000..9810d5186b0 --- /dev/null +++ b/pkgs/games/ultrastardx/1.1.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, pkgconfig, lua, fpc, pcre, portaudio, freetype, libpng +, SDL, SDL_image, ffmpeg, sqlite, zlib, libX11 }: + +stdenv.mkDerivation rec { + name = "ultrastardx-1.1"; + src = fetchurl { + url = "mirror://sourceforge/ultrastardx/${name}-src.tar.gz"; + sha256 = "0sfj5rfgj302avcp6gj5hiypcxms1wc6h3qzjaf5i2a9kcvnibcd"; + }; + + buildInputs = [ pkgconfig fpc pcre portaudio freetype libpng SDL SDL_image ffmpeg + sqlite lua ]; + + + # The fpc is not properly wrapped to add -rpath. I add this manually. + # I even do a trick on lib/lib64 for libgcc, that I expect it will work. + preBuild = '' + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL.out}/lib -rpath ${SDL_image}/lib -rpath ${libpng.out}/lib -rpath ${freetype.out}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg.out}/lib -rpath ${zlib.out}/lib -rpath ${sqlite.out}/lib -rpath ${libX11.out}/lib -rpath ${pcre.out}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc.out}/lib64 -rpath ${stdenv.cc.cc.out}/lib" + + sed -i 414,424d Makefile + ''; + + # dlopened libgcc requires the rpath not to be shrinked + dontPatchELF = true; + + meta = { + homepage = http://ultrastardx.sourceforge.net/; + description = "Free and open source karaoke game"; + license = stdenv.lib.licenses.gpl2Plus; + broken = true; + }; +} diff --git a/pkgs/games/ultrastardx/1.3-beta.nix b/pkgs/games/ultrastardx/1.3-beta.nix new file mode 100644 index 00000000000..ca7d6b35a21 --- /dev/null +++ b/pkgs/games/ultrastardx/1.3-beta.nix @@ -0,0 +1,49 @@ +{ 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, mesa }: + +let + sharedLibs = [ + pcre portaudio freetype + SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf + sqlite lua zlib libX11 mesa ffmpeg + ]; + +in stdenv.mkDerivation rec { + name = "ultrastardx-${version}"; + version = "1.3.5-beta"; + src = fetchFromGitHub { + owner = "UltraStar-Deluxe"; + repo = "USDX"; + rev = "v${version}"; + sha256 = "0qp64qsj29a08cbv3i52jm1w2pcklw6ya5sniycs24zxggza5pkn"; + }; + + buildInputs = [ + pkgconfig autoreconfHook + fpc libpng + ] ++ sharedLibs; + + postPatch = '' + # autoconf substitutes strange things otherwise + 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 ]; + }; +} diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix deleted file mode 100644 index 9810d5186b0..00000000000 --- a/pkgs/games/ultrastardx/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{stdenv, fetchurl, pkgconfig, lua, fpc, pcre, portaudio, freetype, libpng -, SDL, SDL_image, ffmpeg, sqlite, zlib, libX11 }: - -stdenv.mkDerivation rec { - name = "ultrastardx-1.1"; - src = fetchurl { - url = "mirror://sourceforge/ultrastardx/${name}-src.tar.gz"; - sha256 = "0sfj5rfgj302avcp6gj5hiypcxms1wc6h3qzjaf5i2a9kcvnibcd"; - }; - - buildInputs = [ pkgconfig fpc pcre portaudio freetype libpng SDL SDL_image ffmpeg - sqlite lua ]; - - - # The fpc is not properly wrapped to add -rpath. I add this manually. - # I even do a trick on lib/lib64 for libgcc, that I expect it will work. - preBuild = '' - export NIX_LDFLAGS="$NIX_LDFLAGS -rpath ${SDL.out}/lib -rpath ${SDL_image}/lib -rpath ${libpng.out}/lib -rpath ${freetype.out}/lib -rpath ${portaudio}/lib -rpath ${ffmpeg.out}/lib -rpath ${zlib.out}/lib -rpath ${sqlite.out}/lib -rpath ${libX11.out}/lib -rpath ${pcre.out}/lib -rpath ${lua}/lib -rpath ${stdenv.cc.cc.out}/lib64 -rpath ${stdenv.cc.cc.out}/lib" - - sed -i 414,424d Makefile - ''; - - # dlopened libgcc requires the rpath not to be shrinked - dontPatchELF = true; - - meta = { - homepage = http://ultrastardx.sourceforge.net/; - description = "Free and open source karaoke game"; - license = stdenv.lib.licenses.gpl2Plus; - broken = true; - }; -} -- cgit 1.4.1