diff --git a/pkgs/games/freedroid/default.nix b/pkgs/games/freedroid/default.nix new file mode 100644 index 000000000000..266407d17dba --- /dev/null +++ b/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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd3f5e27d31c..070b144339d6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4229,6 +4229,8 @@ in mkFranzDerivation = callPackage ../applications/networking/instant-messengers/franz/generic.nix { }; }; + freedroid = callPackage ../games/freedroid { }; + freedroidrpg = callPackage ../games/freedroidrpg { }; freenukum = callPackage ../games/freenukum { };