diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix new file mode 100644 index 000000000000..a54d3a45ae81 --- /dev/null +++ b/pkgs/games/openrct2/default.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchurl, fetchFromGitHub, + SDL2, cmake, curl, fontconfig, freetype, jansson, libiconv, libpng, + libpthreadstubs, libzip, mesa_glu, openssl, pkgconfig, speexdsp, zlib +}: + +let + name = "openrct2-${version}"; + version = "0.1.1"; + + openrct2-src = fetchFromGitHub { + owner = "OpenRCT2"; + repo = "OpenRCT2"; + rev = "v${version}"; + sha256 = "1xxwqx2gzvsdrsy76rz3sys9m4pyn9q25nbnkba3cw1z4l2b73lg"; + }; + + title-sequences-src = fetchFromGitHub { + owner = "OpenRCT2"; + repo = "title-sequences"; + rev = "v0.1.0"; + sha256 = "17c926lhby90ilvyyl6jsiy0df8dw5jws97xigp3x8hddhvv7c16"; + }; +in +stdenv.mkDerivation rec { + inherit name; + + srcs = [ openrct2-src title-sequences-src ]; + sourceRoot = "."; + + buildInputs = [ + SDL2 + cmake + curl + fontconfig + freetype + jansson + libiconv + libpng + libpthreadstubs + libzip + mesa_glu + openssl + pkgconfig + speexdsp + zlib + ]; + + postUnpack = '' + cp -r ${openrct2-src}/* ${sourceRoot} + cp -r ${title-sequences-src} ${sourceRoot}/title + + # creating temporary files in fixCmakeFiles fails otherwise + chmod -R u+w ${sourceRoot} + ''; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO" "-DDOWNLOAD_TITLE_SEQUENCES=OFF"]; + + makeFlags = ["all" "g2"]; + + preFixup = "ln -s $out/share/openrct2 $out/bin/data"; + + meta = with stdenv.lib; { + description = "An open source re-implementation of RollerCoaster Tycoon 2 (original game required)"; + homepage = https://openrct2.website/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ geistesk ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 86998d80eb2b..08ee4755793b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10090,6 +10090,8 @@ with pkgs; ortp = callPackage ../development/libraries/ortp { }; + openrct2 = callPackage ../games/openrct2/default.nix { }; + osm-gps-map = callPackage ../development/libraries/osm-gps-map { }; p11_kit = callPackage ../development/libraries/p11-kit { };