diff options
Diffstat (limited to 'pkgs/games')
23 files changed, 281 insertions, 89 deletions
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix index 09f92b0f848..26b29b9228e 100644 --- a/pkgs/games/anki/bin.nix +++ b/pkgs/games/anki/bin.nix @@ -43,6 +43,14 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // { exec ${unpacked}/bin/anki ''; + extraInstallCommands = '' + mkdir -p $out/share + cp -R ${unpacked}/share/applications \ + ${unpacked}/share/man \ + ${unpacked}/share/pixmaps \ + $out/share/ + ''; + inherit meta; }) else stdenv.mkDerivation { inherit pname version; diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix index 263d92dcea6..bd29c7b616c 100644 --- a/pkgs/games/blackshades/default.nix +++ b/pkgs/games/blackshades/default.nix @@ -1,30 +1,29 @@ { lib, stdenv, fetchFromSourcehut -, SDL, SDL_image, libGLU, libGL, openal, libvorbis, freealut }: +, SDL, stb, libGLU, libGL, openal, libvorbis, freealut }: stdenv.mkDerivation rec { pname = "blackshades"; - version = "1.1.1"; + version = "1.3.1"; src = fetchFromSourcehut { owner = "~cnx"; repo = pname; rev = version; - sha256 = "1gx43hcqahbd21ib8blhzmsrwqfzx4qy7f10ck0mh2zc4bfihz64"; + sha256 = "0yzp74ynkcp6hh5m4zmvrgx5gwm186hq7p3m7qkww54qdyijb3rv"; }; - buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ]; + buildInputs = [ SDL stb libGLU libGL openal libvorbis freealut ]; - patchPhase = '' + postPatch = '' sed -i -e s,Data/,$out/share/$pname/,g \ -e s,Data:,$out/share/$pname/,g \ src/*.cpp ''; installPhase = '' - mkdir -p $out/bin $out/share/doc/$pname + mkdir -p $out/bin $out/share cp build/blackshades $out/bin cp -R Data $out/share/$pname - cp README.md $out/share/doc/$pname ''; meta = { diff --git a/pkgs/games/cbonsai/default.nix b/pkgs/games/cbonsai/default.nix index 98b55729f0e..0425f4f56b3 100644 --- a/pkgs/games/cbonsai/default.nix +++ b/pkgs/games/cbonsai/default.nix @@ -13,6 +13,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ ncurses ]; + + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; installFlags = [ "PREFIX=$(out)" ]; passthru.updateScript = nix-update-script { attrPath = pname; }; diff --git a/pkgs/games/cdogs-sdl/default.nix b/pkgs/games/cdogs-sdl/default.nix index 30abb71a129..c34c9efb167 100644 --- a/pkgs/games/cdogs-sdl/default.nix +++ b/pkgs/games/cdogs-sdl/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "cdogs"; - version = "0.12.0"; + version = "0.13.0"; src = fetchFromGitHub { repo = "cdogs-sdl"; owner = "cxong"; rev = version; - sha256 = "sha256-qbMR7otsC+uz+9mwgFaD2Z5fC6rj8ueYG3KwpPiqL98="; + sha256 = "sha256-7wNiDA/gOpqzSFWw8Bn6suC/f5RXdDTxPV49nCvOxas="; }; postPatch = '' diff --git a/pkgs/games/cgoban/default.nix b/pkgs/games/cgoban/default.nix new file mode 100644 index 00000000000..162de112fb5 --- /dev/null +++ b/pkgs/games/cgoban/default.nix @@ -0,0 +1,38 @@ +{ lib +, stdenv +, writers +, adoptopenjdk-jre-bin +, fetchurl +, makeWrapper +}: +stdenv.mkDerivation rec { + pname = "cgoban"; + version = "3.5.23"; + + nativeBuildInputs = [ adoptopenjdk-jre-bin makeWrapper ]; + + src = fetchurl { + url = "https://web.archive.org/web/20210116034119/https://files.gokgs.com/javaBin/cgoban.jar"; + sha256 = "0srw1hqr9prgr9dagfbh2j6p9ivaj40kdpyhs6zjkg7lhnnrrrcv"; + }; + + dontConfigure = true; + dontUnpack = true; + dontBuild = true; + dontPatchELF = true; + + installPhase = '' + runHook preInstall + install -D $src $out/lib/cgoban.jar + makeWrapper ${adoptopenjdk-jre-bin}/bin/java $out/bin/cgoban --add-flags "-jar $out/lib/cgoban.jar" + runHook postInstall + ''; + + meta = with lib; { + description = "Client for the KGS Go Server"; + homepage = "https://www.gokgs.com/"; + license = licenses.free; + maintainers = with maintainers; [ savannidgerinel ]; + platforms = adoptopenjdk-jre-bin.meta.platforms; + }; +} diff --git a/pkgs/games/ecwolf/default.nix b/pkgs/games/ecwolf/default.nix new file mode 100644 index 00000000000..b7bb382db83 --- /dev/null +++ b/pkgs/games/ecwolf/default.nix @@ -0,0 +1,55 @@ +{stdenv, lib, fetchurl, makeDesktopItem, copyDesktopItems, cmake, pkg-config, zlib, bzip2, libjpeg, SDL, SDL_mixer, gtk2}: + +let + desktopItem = makeDesktopItem { + name = "ecwolf"; + exec = "ecwolf"; + comment = "Enhanced Wolfenstein 3D port"; + desktopName = "Wolfenstein 3D"; + categories = "Game;"; + }; +in +stdenv.mkDerivation rec { + pname = "ecwolf"; + version = "1.3.3"; + + src = fetchurl { + url = "https://maniacsvault.net/ecwolf/files/ecwolf/1.x/${pname}-${version}-src.tar.xz"; + sha256 = "1sbdv672dz47la5a5qwmdi1v258k9kc5dkx7cdj2b6gk8nbm2srl"; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ zlib bzip2 libjpeg SDL SDL_mixer gtk2 copyDesktopItems ]; + + desktopItems = [ desktopItem ]; + + # Change the location where the ecwolf executable looks for the ecwolf.pk3 + # file. + # + # By default, it expects the PK3 file to reside in the same directory as the + # executable, which is not desirable. + # We will adjust the code so that it can be retrieved from the share/ + # directory. + + preConfigure = '' + sed -i -e "s|ecwolf.pk3|$out/share/ecwolf/ecwolf.pk3|" src/version.h + '' + # Disable app bundle creation on Darwin. It fails, and it is not needed to run it from the Nix store + + lib.optionalString (stdenv.isDarwin) '' + sed -i -e "s|include(\''${CMAKE_CURRENT_SOURCE_DIR}/macosx/install.txt)||" src/CMakeLists.txt + ''; + + # Install the required PK3 file in the required data directory + postInstall = '' + mkdir -p $out/share/ecwolf + cp ecwolf.pk3 $out/share/ecwolf + ''; + + meta = with lib; { + description = "Enhanched SDL-based port of Wolfenstein 3D for various platforms"; + homepage = "https://maniacsvault.net/ecwolf/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ sander ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix index e15cf241f75..8c7a79ff982 100644 --- a/pkgs/games/eduke32/default.nix +++ b/pkgs/games/eduke32/default.nix @@ -16,13 +16,13 @@ let in stdenv.mkDerivation rec { pname = "eduke32"; - version = "20200907"; - rev = "9257"; - revExtra = "93f62bbad"; + version = "20210722"; + rev = "9484"; + revExtra = "f3fea8c15"; src = fetchurl { - url = "http://dukeworld.duke4.net/eduke32/synthesis/latest/eduke32_src_${version}-${rev}-${revExtra}.tar.xz"; - sha256 = "972630059be61ef9564a241b84ef2ee4f69fc85c19ee36ce46052ff2f1ce3bf9"; + url = "http://dukeworld.duke4.net/eduke32/synthesis/${version}-${rev}-${revExtra}/eduke32_src_${version}-${rev}-${revExtra}.tar.xz"; + sha256 = "0fdl2i465cl5x7129772ksx97lvim98m9009q5cfmf6scagj9pvz"; }; buildInputs = [ alsa-lib flac gtk2 libvorbis libvpx libGL libGLU SDL2 SDL2_mixer ]; diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json index 98c58191f16..500181ff70e 100644 --- a/pkgs/games/factorio/versions.json +++ b/pkgs/games/factorio/versions.json @@ -10,12 +10,12 @@ "version": "1.1.36" }, "stable": { - "name": "factorio_alpha_x64-1.1.35.tar.xz", + "name": "factorio_alpha_x64-1.1.36.tar.xz", "needsAuth": true, - "sha256": "1svjjpyffdrmll1b3icsrikfi4v2r1z6j7iqq0v36iq0zw7vw3bk", + "sha256": "1x9a2lv6zbqawqlxg8bcbx04hjy0pq40macfa4sqi8w6h14wgww8", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.35/alpha/linux64", - "version": "1.1.35" + "url": "https://factorio.com/get-download/1.1.36/alpha/linux64", + "version": "1.1.36" } }, "demo": { @@ -28,12 +28,12 @@ "version": "1.1.35" }, "stable": { - "name": "factorio_demo_x64-1.1.35.tar.xz", + "name": "factorio_demo_x64-1.1.36.tar.xz", "needsAuth": false, - "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f", + "sha256": "15fl4pza7n107rrmmdm26kkc12fnrmpn6rjb4ampgzqzn1fq854s", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.35/demo/linux64", - "version": "1.1.35" + "url": "https://factorio.com/get-download/1.1.36/demo/linux64", + "version": "1.1.36" } }, "headless": { @@ -46,12 +46,12 @@ "version": "1.1.36" }, "stable": { - "name": "factorio_headless_x64-1.1.35.tar.xz", + "name": "factorio_headless_x64-1.1.36.tar.xz", "needsAuth": false, - "sha256": "0xpiw89ad6cfpc576g5jpsyzwjncs3jrx01056p52wj01747fm94", + "sha256": "1s8g030xp5nrlmnn21frrd8n4nd7jjmb5hbpj1vhxjrk6vpijh24", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.35/headless/linux64", - "version": "1.1.35" + "url": "https://factorio.com/get-download/1.1.36/headless/linux64", + "version": "1.1.36" } } } diff --git a/pkgs/games/fairymax/default.nix b/pkgs/games/fairymax/default.nix index d7433950451..49a91e7a64d 100644 --- a/pkgs/games/fairymax/default.nix +++ b/pkgs/games/fairymax/default.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation rec { cp fmax.ini "$out/share/fairymax" ''; meta = { - inherit version; description = "A small chess engine supporting fairy pieces"; longDescription = '' A version of micro-Max that reads the piece description diff --git a/pkgs/games/fish-fillets-ng/default.nix b/pkgs/games/fish-fillets-ng/default.nix index aa93633906f..5ddad7fda4c 100644 --- a/pkgs/games/fish-fillets-ng/default.nix +++ b/pkgs/games/fish-fillets-ng/default.nix @@ -32,7 +32,6 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - inherit version; description = "A puzzle game"; license = licenses.gpl2Plus; maintainers = with maintainers; [ raskin ]; diff --git a/pkgs/games/gnonograms/default.nix b/pkgs/games/gnonograms/default.nix new file mode 100644 index 00000000000..7a696001a15 --- /dev/null +++ b/pkgs/games/gnonograms/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchFromGitHub +, vala +, meson +, ninja +, pkg-config +, desktop-file-utils +, appstream +, python3 +, shared-mime-info +, wrapGAppsHook +, gtk3 +, pantheon +, libgee +}: + +stdenv.mkDerivation rec { + pname = "gnonograms"; + version = "1.4.5"; + + src = fetchFromGitHub { + owner = "jeremypw"; + repo = "gnonograms"; + rev = "v${version}"; + sha256 = "1ly3inp6dvjrixdysz5hdfwlhbs49ks0lf8062z2iq6gaf8ivkb2"; + }; + + postPatch = '' + patchShebangs meson/post_install.py + ''; + + nativeBuildInputs = [ + vala + meson + ninja + pkg-config + desktop-file-utils + appstream + python3 + shared-mime-info + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + pantheon.granite + libgee + ]; + + meta = with lib; { + description = "Nonograms puzzle game"; + longDescription = '' + An implementation of the Japanese logic puzzle "Nonograms" written in + Vala, allowing the user to: + * Draw puzzles + * Generate random puzzles of chosen difficulty + ''; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ fgaz ]; + homepage = "https://github.com/jeremypw/gnonograms"; + platforms = platforms.all; + }; +} diff --git a/pkgs/games/grapejuice/default.nix b/pkgs/games/grapejuice/default.nix index 1cb27f7b8c5..586d93151e2 100644 --- a/pkgs/games/grapejuice/default.nix +++ b/pkgs/games/grapejuice/default.nix @@ -15,13 +15,13 @@ python3Packages.buildPythonApplication rec { pname = "grapejuice"; - version = "3.12.5"; + version = "3.40.14"; src = fetchFromGitLab { owner = "BrinkerVII"; repo = "grapejuice"; rev = "v${version}"; - sha256 = "1xgxyfwwghy9l17i6y40axdrpp4fgxgdr5y97flwmfivif01ifs1"; + sha256 = "1bmkkmi1gx5kc39cjnz5bzwqaicxs0zb6bcv4iny9qccbqf3icrd"; }; nativeBuildInputs = [ diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix index ee47a0ecdc2..e67506c10a8 100644 --- a/pkgs/games/minecraft-server/default.nix +++ b/pkgs/games/minecraft-server/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation { chmod +x $out/bin/minecraft-server ''; - phases = "installPhase"; + dontUnpack = true; passthru = { tests = { inherit (nixosTests) minecraft-server; }; diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix index e210efade03..9e79a9005dc 100644 --- a/pkgs/games/openrct2/default.nix +++ b/pkgs/games/openrct2/default.nix @@ -5,13 +5,13 @@ }: let - version = "0.3.3"; + version = "0.3.4"; openrct2-src = fetchFromGitHub { owner = "OpenRCT2"; repo = "OpenRCT2"; rev = "v${version}"; - sha256 = "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"; + sha256 = "051dm7bw3l8qnppk5b7xvavl29xfadqn8aa18q49qdy5mjy6qgk4"; }; objects-src = fetchFromGitHub { @@ -29,8 +29,8 @@ let }; in stdenv.mkDerivation { - inherit version; pname = "openrct2"; + inherit version; src = openrct2-src; @@ -58,22 +58,22 @@ stdenv.mkDerivation { zlib ]; - postUnpack = '' - cp -r ${objects-src} $sourceRoot/data/object - cp -r ${title-sequences-src} $sourceRoot/data/sequence - ''; - cmakeFlags = [ "-DDOWNLOAD_OBJECTS=OFF" "-DDOWNLOAD_TITLE_SEQUENCES=OFF" ]; + postUnpack = '' + cp -r ${objects-src} $sourceRoot/data/object + cp -r ${title-sequences-src} $sourceRoot/data/sequence + ''; + preFixup = "ln -s $out/share/openrct2 $out/bin/data"; meta = with lib; { - description = "An open source re-implementation of RollerCoaster Tycoon 2 (original game required)"; + description = "Open source re-implementation of RollerCoaster Tycoon 2 (original game required)"; homepage = "https://openrct2.io/"; - license = licenses.gpl3; + license = licenses.gpl3Only; platforms = platforms.linux; maintainers = with maintainers; [ oxzi ]; }; diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix index d4ae6046f1c..55f9bfb75c3 100644 --- a/pkgs/games/osu-lazer/default.nix +++ b/pkgs/games/osu-lazer/default.nix @@ -16,13 +16,13 @@ let in stdenv.mkDerivation rec { pname = "osu-lazer"; - version = "2021.707.0"; + version = "2021.720.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - sha256 = "UdsN/kvpqZrOiigxGttwrExlOkEFa2xWqDQS/d7y/0k="; + sha256 = "I7UkbyH2i218d5RCq4al9Gr1C0MX339jFOeyKrKQ3b0="; }; patches = [ ./bypass-tamper-detection.patch ]; diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix index 4684d79d95c..d2c19b08d03 100644 --- a/pkgs/games/osu-lazer/deps.nix +++ b/pkgs/games/osu-lazer/deps.nix @@ -26,8 +26,8 @@ }) (fetchNuGet { name = "Fody"; - version = "6.5.1"; - sha256 = "08zpyrniajjba5isjb09spggfh0af2z6x4h2zy5ilk3y5bb9vdch"; + version = "6.5.2"; + sha256 = "0vq97mkfk5ijinwnhpkm212y69ik6cd5x0n61ssyxmz50q1vp84f"; }) (fetchNuGet { name = "HidSharpCore"; @@ -781,13 +781,13 @@ }) (fetchNuGet { name = "ppy.LocalisationAnalyser"; - version = "2021.706.0"; - sha256 = "087x61vi1rv1slzr8hhcslngdd41p2d5r8yhpqm1kmls24csv556"; + version = "2021.716.0"; + sha256 = "0w45af0mlh4bkjxxhk5p4kb6z0na8fmm6xz10dfzs3b4i61h5x3z"; }) (fetchNuGet { name = "ppy.osu.Framework"; - version = "2021.707.0"; - sha256 = "1ai8yam6v67y9z8yipqjn578bk2qzqm05ncyqfgig3in6baxwpna"; + version = "2021.714.0"; + sha256 = "175i0hcbl01xy633zvij8185nj4g7ja1rsv2lmfz8qdykqj6g9kl"; }) (fetchNuGet { name = "ppy.osu.Framework.NativeLibs"; @@ -816,13 +816,13 @@ }) (fetchNuGet { name = "Realm"; - version = "10.2.1"; - sha256 = "14pi7vz7nl8ag0bmlbyds52z5nx9wbg154qkm6jai10rm02ws86l"; + version = "10.3.0"; + sha256 = "12zmp43cf2kilzq1yi9x2hy1jdh51c0kbnddw5s960k1kvyx2s2v"; }) (fetchNuGet { name = "Realm.Fody"; - version = "10.2.1"; - sha256 = "1zv57wb7zcgyigsxqikf2yq2h7an4c3dbydl9la5xdpa76dgmxdi"; + version = "10.3.0"; + sha256 = "0mhjkahi2ldxcizv08i70mrpwgrvljxdjlr81x3dmwgpxxfji18d"; }) (fetchNuGet { name = "Remotion.Linq"; diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix index fc2654fd8e9..60b2bc5faf7 100644 --- a/pkgs/games/simutrans/default.nix +++ b/pkgs/games/simutrans/default.nix @@ -11,28 +11,28 @@ let else map (name: pakSpec.${name}) (splitString " " paksets) ); - ver1 = "120"; - ver2 = "4"; - ver3 = "1"; - version = "${ver1}.${ver2}.${ver3}"; - ver_dash = "${ver1}-${ver2}-${ver3}"; + ver1 = "121"; + ver2 = "0"; + ver3 = ""; + version = "${ver1}.${ver2}${lib.optionalString (ver3 != "") ".${ver3}"}"; + ver_dash = "${ver1}-${ver2}${lib.optionalString (ver3 != "") "-${ver3}"}"; binary_src = fetchurl { url = "mirror://sourceforge/simutrans/simutrans/${ver_dash}/simutrans-src-${ver_dash}.zip"; - sha256 = "0yw7vjvmczp022mgk35swwhpbiszpz91mwsgicxglwivgc30vvic"; + sha256 = "1f463r6kr5ig0zd3mncc74k93xbjywsq3d06j5r17831jyc9bzb9"; }; - # As of 2015/03, many packsets still didn't have a release for version 120. + # As of 2021/07, many of these paksets have not been updated for years, so are on old versions. pakSpec = lib.mapAttrs (pakName: attrs: mkPak (attrs // {inherit pakName;})) { pak64 = { - srcPath = "121-0/simupak64-121-0"; + srcPath = "${ver_dash}/simupak64-${ver_dash}"; sha256 = "1k335kh8dhm1hdn5iwn3sdgnrlpk0rqxmmgqgqcwsi09cmw45m5c"; }; "pak64.japan" = { - # No release for 120.2 yet! + # No release for 121.0 yet! srcPath = "120-0/simupak64.japan-120-0-1"; sha256 = "14swy3h4ij74bgaw7scyvmivfb5fmp21nixmhlpk3mav3wr3167i"; }; diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix index 93286058b49..b2796225a6c 100644 --- a/pkgs/games/tcl2048/default.nix +++ b/pkgs/games/tcl2048/default.nix @@ -10,7 +10,7 @@ tcl.mkTclDerivation rec { }; buildInputs = [ tcllib ]; - phases = "installPhase fixupPhase"; + dontUnpack = true; installPhase = '' mkdir -pv $out/bin diff --git a/pkgs/games/the-powder-toy/default.nix b/pkgs/games/the-powder-toy/default.nix index 1dec8da537a..ba232097af6 100644 --- a/pkgs/games/the-powder-toy/default.nix +++ b/pkgs/games/the-powder-toy/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "the-powder-toy"; - version = "96.0.348"; + version = "96.1.349"; src = fetchFromGitHub { owner = "The-Powder-Toy"; repo = "The-Powder-Toy"; rev = "v${version}"; - sha256 = "sha256-PAnjNeqGJPW7TeoIsaOnuOb1loyKs8pjBseKoD0CvQU="; + sha256 = "sha256-MSN81kPaH8cWZO+QEOlMUQQghs1kn8CpsKA5SUC/RX8="; }; nativeBuildInputs = [ meson ninja pkg-config python3 ]; diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index feadcc7f8b2..6f31dcf9be9 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -39,11 +39,11 @@ in stdenv.mkDerivation rec { inherit pname; - version = "4.1.0"; + version = "4.1.1"; src = fetchurl { url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz"; - sha256 = "sha256-HQlphogK2jjTXV7cQ8lFNWjHMBnpStyvT3wKYjlDQW0="; + sha256 = "sha256-CnMt3FytpTDAtibU3V24i6EvWRc9UkAuvC9ingphCM8="; }; buildInputs = [ diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix index afeded792f2..246e1afc744 100644 --- a/pkgs/games/xmoto/default.nix +++ b/pkgs/games/xmoto/default.nix @@ -1,34 +1,65 @@ -{ lib, stdenv, fetchurl, chipmunk, sqlite, curl, zlib, bzip2, libjpeg -, libpng, freeglut, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_net -, SDL_ttf, lua5, ode, libxdg_basedir, libxml2 }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, gettext, makeWrapper, bzip2 +, curl, libjpeg, libxml2, xz, lua, ode, libGL, libpng, SDL, SDL_mixer, SDL_net +, SDL_ttf, sqlite, libxdg_basedir, zlib }: stdenv.mkDerivation rec { pname = "xmoto"; - version = "0.5.11"; + version = "0.6.1"; - src = fetchurl { - url = "https://download.tuxfamily.org/xmoto/xmoto/${version}/xmoto-${version}-src.tar.gz"; - sha256 = "1ci6r8zd0l7z28cy92ddf9dmqbdqwinz2y1cny34c61b57wsd155"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "00f5ha79lfa2iiaz66wl0hl5dapa1l15qdr7m7knzi0ll7j6z66n"; }; - buildInputs = [ - chipmunk sqlite curl zlib bzip2 libjpeg libpng - freeglut libGLU libGL SDL SDL_mixer SDL_image SDL_net SDL_ttf - lua5 ode libxdg_basedir libxml2 + patches = [ + # Fix build with Nix + (fetchpatch { + url = "https://github.com/xmoto/xmoto/commit/536dcc7ec77a4c4c454b86220e85b1cb3cd1c7f7.patch"; + sha256 = "0h9lld668jrbmrqva89zqwp63jiagjj86prkxzx6372p3kk9y7g7"; + }) ]; - CXXFLAGS = [ - "-fpermissive" - # Build using the old C++ ABI to fix issue with missing text; the issue - # should be fixed in the next stable release (if that ever does happen) - "-D_GLIBCXX_USE_CXX11_ABI=0" + nativeBuildInputs = [ + cmake + gettext + makeWrapper ]; + buildInputs = [ + bzip2 + curl + libjpeg + libxml2 + xz + lua + ode + libGL + libpng + SDL + SDL_mixer + SDL_net + SDL_ttf + sqlite + libxdg_basedir + zlib + ]; + + preFixup = '' + wrapProgram "$out/bin/xmoto" \ + --prefix XDG_DATA_DIRS : "$out/share/" + ''; + meta = with lib; { - description = "Obstacled race game"; + description = "A challenging 2D motocross platform game, where physics play an important role"; + longDescription = '' + X-Moto is a challenging 2D motocross platform game, where physics plays an all important role in the gameplay. + You need to control your bike to its limits, if you want to have a chance to finish the most difficult challenges. + ''; homepage = "http://xmoto.tuxfamily.org"; maintainers = with maintainers; [ raskin pSub ]; - platforms = platforms.linux; - license = licenses.gpl2; + platforms = platforms.all; + license = licenses.gpl2Plus; }; } diff --git a/pkgs/games/xsok/default.nix b/pkgs/games/xsok/default.nix index ddc43518de6..bb749b57d01 100644 --- a/pkgs/games/xsok/default.nix +++ b/pkgs/games/xsok/default.nix @@ -37,7 +37,6 @@ stdenv.mkDerivation rec { ''; meta = { - inherit version; description = "A generic Sokoban game for X11"; license = lib.licenses.gpl2Plus; maintainers = [lib.maintainers.raskin]; diff --git a/pkgs/games/zandronum/sqlite.nix b/pkgs/games/zandronum/sqlite.nix index c9baefcf0af..e38dedbb7f7 100644 --- a/pkgs/games/zandronum/sqlite.nix +++ b/pkgs/games/zandronum/sqlite.nix @@ -9,8 +9,6 @@ stdenv.mkDerivation { sha256 = "0p5cx7nbjxk7glcm277ypi5w4gv144qazw79ql47svlpccj62mrp"; }; - phases = [ "unpackPhase" "buildPhase" ]; - buildPhase = '' mkdir -p $out cp sqlite3.c $out/ |