2022-03-13 08:55:25 +01:00
|
|
|
{ fetchurl, fetchpatch, lib, stdenv, pkg-config, gettext, python3, SDL, SDL_image, SDL_gfx, SDL_mixer, libogg, libvorbis, lua5_3, libjpeg, libpng, zlib, libiconv }:
|
2018-03-05 05:57:47 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
version = "0.16.1";
|
2019-08-13 23:52:01 +02:00
|
|
|
in stdenv.mkDerivation {
|
2019-08-13 23:52:01 +02:00
|
|
|
pname = "freedroidrpg";
|
|
|
|
inherit version;
|
2018-03-05 05:57:47 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2021-01-15 05:31:39 +01:00
|
|
|
url = "ftp://ftp.osuosl.org/pub/freedroid/freedroidRPG-${lib.versions.majorMinor version}/freedroidRPG-${version}.tar.gz";
|
2018-03-05 05:57:47 +01:00
|
|
|
sha256 = "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2";
|
|
|
|
};
|
|
|
|
|
2022-03-13 08:55:25 +01:00
|
|
|
patches = [
|
|
|
|
# Pull upstream fix for -fno-common tolchains.
|
|
|
|
(fetchpatch {
|
|
|
|
name = "fno-common.patch";
|
|
|
|
url = "https://gitlab.com/freedroid/freedroid-src/-/commit/e610d427374226b79da5258d979936459f30c761.patch";
|
|
|
|
sha256 = "1s7sw4dkc7b6i72j6x47driq6v0k3wss48l9ivd4fw40n3iaxjb1";
|
|
|
|
})
|
2022-09-18 17:39:48 +02:00
|
|
|
|
|
|
|
# Do not embed build flags in the binary to reduce closure size.
|
|
|
|
./drop-build-deps.patch
|
2022-03-13 08:55:25 +01:00
|
|
|
];
|
|
|
|
|
2021-01-17 06:49:22 +01:00
|
|
|
nativeBuildInputs = [ pkg-config gettext python3 ];
|
2018-03-05 05:57:47 +01:00
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
SDL SDL_image SDL_gfx SDL_mixer libogg libvorbis lua5_3 libjpeg libpng zlib
|
2021-01-15 05:31:39 +01:00
|
|
|
] ++ lib.optional stdenv.isDarwin libiconv;
|
2018-03-05 05:57:47 +01:00
|
|
|
|
2021-01-11 08:54:33 +01:00
|
|
|
meta = with lib; {
|
2018-03-05 05:57:47 +01:00
|
|
|
description = "Isometric 3D RPG similar to game Diablo";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
<para>
|
|
|
|
FreedroidRPG is an original isometric 3D role playing game
|
|
|
|
taking place in the future, on Earth. It features action and
|
|
|
|
dialogs.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The game tells the story of a world destroyed by a conflict between
|
|
|
|
robots and their human masters. Play as Tux in a quest to save the
|
|
|
|
world from the murderous rebel bots who know no mercy. You get to
|
|
|
|
choose which path you wish to follow, and freedom of choice is
|
|
|
|
everywhere in the game.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
FreedroidRPG features a real time combat system with melee and
|
|
|
|
ranged weapons, fairly similar to the proprietary game Diablo.
|
|
|
|
There is an innovative system of programs that can be run in order
|
|
|
|
to take control of enemy robots, alter their behavior, or improve one's
|
|
|
|
characteristics. You can use over 50 different kinds of items and
|
|
|
|
fight countless enemies on your way to your destiny. An advanced
|
|
|
|
dialog system provides story background and immersive role
|
|
|
|
playing situations.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The game is complete, fully playable, and can provide about
|
|
|
|
12 hours of fun. It is still being actively developed, and
|
|
|
|
help is welcome in many areas. People having - or trying to acquire -
|
|
|
|
programming, map editing, or writing skills will find FreedroidRPG
|
|
|
|
to be an exciting, fast-moving project in which they can fully
|
|
|
|
express their creativity.
|
|
|
|
</para>
|
|
|
|
'';
|
|
|
|
|
2021-07-31 19:01:50 +02:00
|
|
|
homepage = "https://www.freedroid.org/";
|
2018-03-05 05:57:47 +01:00
|
|
|
|
|
|
|
license = licenses.gpl2Plus;
|
|
|
|
|
|
|
|
maintainers = with maintainers; [ jtojnar ];
|
|
|
|
platforms = platforms.unix;
|
2018-09-25 22:33:03 +02:00
|
|
|
hydraPlatforms = platforms.linux; # sdl-config times out on darwin
|
2018-03-05 05:57:47 +01:00
|
|
|
};
|
|
|
|
}
|