summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-01-28 15:31:01 +0100
committerGitHub <noreply@github.com>2021-01-28 15:31:01 +0100
commit8d2a780501b0b94e6775dcd2410e7cd2bae34883 (patch)
tree80baca2b12bcddbe001dd3cfe471732194528b6b /pkgs
parent9ce7db057cb9ba21edaa1a624e4586a83c2085e8 (diff)
parent85007d94fbf4837ab776c2c6cef6dd6d2e003b39 (diff)
downloadnixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.tar
nixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.tar.gz
nixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.tar.bz2
nixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.tar.lz
nixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.tar.xz
nixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.tar.zst
nixpkgs-8d2a780501b0b94e6775dcd2410e7cd2bae34883.zip
Merge pull request #110433 from iblech/patch-freedroid
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix10
-rw-r--r--pkgs/games/freedroid/default.nix53
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 62 insertions, 3 deletions
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index 7f5e38f39b8..291e9790e44 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, lib, fetchurl, SDL, libogg, libvorbis, smpeg, enableNativeMidi ? false, fluidsynth ? null }:
+{ stdenv, lib, fetchurl
+, SDL, libogg, libvorbis, smpeg, libmikmod
+, fluidsynth
+, enableNativeMidi ? false
+}:
 
 stdenv.mkDerivation rec {
   pname   = "SDL_mixer";
@@ -9,9 +13,9 @@ stdenv.mkDerivation rec {
     sha256 = "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n";
   };
 
-  buildInputs = [ SDL libogg libvorbis fluidsynth smpeg ];
+  buildInputs = [ SDL libogg libvorbis fluidsynth smpeg libmikmod ];
 
-  configureFlags = [ "--disable-music-ogg-shared" ]
+  configureFlags = [ "--disable-music-ogg-shared" "--disable-music-mod-shared" ]
     ++ lib.optional enableNativeMidi " --enable-music-native-midi-gpl"
     ++ lib.optionals stdenv.isDarwin [ "--disable-sdltest" "--disable-smpegtest" ];
 
diff --git a/pkgs/games/freedroid/default.nix b/pkgs/games/freedroid/default.nix
new file mode 100644
index 00000000000..266407d17db
--- /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 72269704ed1..0a863bac1a7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4233,6 +4233,8 @@ in
     mkFranzDerivation = callPackage ../applications/networking/instant-messengers/franz/generic.nix { };
   };
 
+  freedroid = callPackage ../games/freedroid { };
+
   freedroidrpg = callPackage ../games/freedroidrpg { };
 
   freenukum = callPackage ../games/freenukum { };