diff options
Diffstat (limited to 'nixpkgs/pkgs/games/freedroid/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/freedroid/default.nix | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/freedroid/default.nix b/nixpkgs/pkgs/games/freedroid/default.nix new file mode 100644 index 000000000000..38eb60e7e045 --- /dev/null +++ b/nixpkgs/pkgs/games/freedroid/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv +, fetchFromGitHub +, makeDesktopItem, copyDesktopItems +, imagemagick +, autoreconfHook +, SDL, SDL_mixer, SDL_image, SDL_gfx +, libvorbis +, libjpeg, libpng +, zlib +}: + +stdenv.mkDerivation rec { + pname = "freedroid"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "ReinhardPrix"; + repo = "FreedroidClassic"; + rev = "release-${version}"; + sha256 = "027wns25nyyc8afyhyp5a8wn13x9nlzmnqzqyyma1055xjy5imis"; + }; + + nativeBuildInputs = [ copyDesktopItems imagemagick autoreconfHook ]; + buildInputs = [ SDL SDL_image SDL_gfx SDL_mixer libjpeg libpng libvorbis zlib ]; + + postPatch = '' + touch NEWS + ''; + + postInstall = '' + mkdir -p $out/share/icons/hicolor/32x32/apps + convert graphics/paraicon.bmp $out/share/icons/hicolor/32x32/apps/freedroid.png + ''; + + desktopItems = [ (makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + desktopName = "Freedroid Classic"; + comment = "A clone of the classic game 'Paradroid' on Commodore 64"; + categories = [ "Game" "ArcadeGame" ]; + }) ]; + + meta = with lib; { + description = "A clone of the classic game 'Paradroid' on Commodore 64"; + homepage = "https://github.com/ReinhardPrix/FreedroidClassic"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ iblech ]; + platforms = platforms.unix; + # Builds but fails to render to the screen at runtime. + broken = stdenv.isDarwin; + }; +} |