diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/games | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/games')
244 files changed, 3658 insertions, 1997 deletions
diff --git a/nixpkgs/pkgs/games/0ad/game.nix b/nixpkgs/pkgs/games/0ad/game.nix index 34a2cdddac82..e51aab519a49 100644 --- a/nixpkgs/pkgs/games/0ad/game.nix +++ b/nixpkgs/pkgs/games/0ad/game.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, perl, fetchurl, python3, fmt, libidn +{ stdenv, lib, fetchpatch, perl, fetchurl, python3, fmt, libidn , pkg-config, spidermonkey_78, boost, icu, libxml2, libpng, libsodium , libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc , openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2 @@ -50,7 +50,14 @@ stdenv.mkDerivation rec { "-I${fmt.dev}/include" ]; - patches = [ ./rootdir_env.patch ]; + patches = [ + ./rootdir_env.patch + (fetchpatch { + # fix build with gcc11 and glibc 2.35 + url = "https://github.com/0ad/0ad/commit/7df614338cbd41f5e254ce75f649490b2637e1d0.patch"; + hash = "sha256-QZvcNm8Zni3aJnMPueft0OITf8zeMDXWBjOLYoirJs0="; + }) + ]; configurePhase = '' # Delete shipped libraries which we don't need. diff --git a/nixpkgs/pkgs/games/0verkill/default.nix b/nixpkgs/pkgs/games/0verkill/default.nix index fa654832e2e2..8f6a5b123058 100644 --- a/nixpkgs/pkgs/games/0verkill/default.nix +++ b/nixpkgs/pkgs/games/0verkill/default.nix @@ -27,6 +27,9 @@ gccStdenv.mkDerivation rec { autoupdate ''; + # The code needs an update for gcc-10: + # https://github.com/hackndev/0verkill/issues/7 + NIX_CFLAGS_COMPILE = "-fcommon"; hardeningDisable = [ "all" ]; # Someday the upstream will update the code... meta = with lib; { diff --git a/nixpkgs/pkgs/games/2048-in-terminal/default.nix b/nixpkgs/pkgs/games/2048-in-terminal/default.nix index 8f527534bb44..59012227aeda 100644 --- a/nixpkgs/pkgs/games/2048-in-terminal/default.nix +++ b/nixpkgs/pkgs/games/2048-in-terminal/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "2048-in-terminal"; - version = "2021-09-12"; + version = "unstable-2021-09-12"; src = fetchFromGitHub { sha256 = "1jgacyimn59kxqhrk8jp13qayc2mncxhx393spqcxbz0sj6lxq9p"; @@ -35,6 +35,6 @@ stdenv.mkDerivation rec { inherit (src.meta) homepage; description = "Animated console version of the 2048 game"; license = licenses.mit; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/games/7kaa/default.nix b/nixpkgs/pkgs/games/7kaa/default.nix index 2b74306cd253..ad128d4e1270 100644 --- a/nixpkgs/pkgs/games/7kaa/default.nix +++ b/nixpkgs/pkgs/games/7kaa/default.nix @@ -15,17 +15,15 @@ }: let + pname = "7kaa"; + version = "2.15.4p1"; - name = "7kaa"; - versionMajor = "2.15"; - versionMinor = "4p1"; - - music = stdenv.mkDerivation rec { - pname = "${name}-music"; - version = "${versionMajor}"; + music = stdenv.mkDerivation { + pname = "7kaa-music"; + version = lib.versions.majorMinor version; src = fetchurl { - url = "https://www.7kfans.com/downloads/${name}-music-${versionMajor}.tar.bz2"; + url = "https://www.7kfans.com/downloads/7kaa-music-${lib.versions.majorMinor version}.tar.bz2"; sha256 = "sha256-sNdntuJXGaFPXzSpN0SoAi17wkr2YnW+5U38eIaVwcM="; }; @@ -41,8 +39,7 @@ let in gccStdenv.mkDerivation rec { - pname = "${name}"; - version = "v${versionMajor}.${versionMinor}"; + inherit pname version; src = fetchFromGitHub { owner = "the3dfxdude"; diff --git a/nixpkgs/pkgs/games/airstrike/default.nix b/nixpkgs/pkgs/games/airstrike/default.nix index 12b485764a5b..8441ac7a2fee 100644 --- a/nixpkgs/pkgs/games/airstrike/default.nix +++ b/nixpkgs/pkgs/games/airstrike/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { cp -r data airstrikerc $out/share wrapProgram $out/bin/airstrike \ - --run "cd $out/share" + --chdir "$out/share" ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/angband/default.nix b/nixpkgs/pkgs/games/angband/default.nix index 3f706b42c32c..28de108ca7fa 100644 --- a/nixpkgs/pkgs/games/angband/default.nix +++ b/nixpkgs/pkgs/games/angband/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, ncurses5 }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, ncurses5 +, enableSdl2 ? false, SDL2, SDL2_image, SDL2_sound, SDL2_mixer, SDL2_ttf +}: stdenv.mkDerivation rec { pname = "angband"; @@ -11,14 +13,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-Fp3BGCZYYdQCKXOLYsT4zzlibNRlbELZi26ofrbGGPQ="; }; + nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ ncurses5 ]; + buildInputs = [ ncurses5 ] + ++ lib.optionals enableSdl2 [ + SDL2 + SDL2_image + SDL2_sound + SDL2_mixer + SDL2_ttf + ]; + + configureFlags = lib.optional enableSdl2 "--enable-sdl2"; + installFlags = [ "bindir=$(out)/bin" ]; meta = with lib; { homepage = "https://angband.github.io/angband"; description = "A single-player roguelike dungeon exploration game"; - maintainers = [ maintainers.chattered ]; + maintainers = [ ]; license = licenses.gpl2; }; } diff --git a/nixpkgs/pkgs/games/anki/bin.nix b/nixpkgs/pkgs/games/anki/bin.nix index 7e62f006102f..82064325ab5f 100644 --- a/nixpkgs/pkgs/games/anki/bin.nix +++ b/nixpkgs/pkgs/games/anki/bin.nix @@ -1,24 +1,31 @@ -{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg }: +{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg, zstd }: let pname = "anki-bin"; # Update hashes for both Linux and Darwin! - version = "2.1.49"; + version = "2.1.54"; sources = { linux = fetchurl { - url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2"; - sha256 = "sha256-uG39g9CXnquArFsxtFHWWoDaNwu8y2KKh+SqGt8aqi0="; + url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst"; + sha256 = "sha256-NFhgVd4ctEsh7iaSZ9v0OMszd81H41eq+y+FRIhcCtE="; }; - darwin = fetchurl { - url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg"; - sha256 = "sha256-sEVWZQpICL7RYrOuPm1Y5XhzPxCwNk1WGP1rctTtE4Y="; + + # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version + darwin-x86_64 = fetchurl { + url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg"; + sha256 = "sha256-kus59Z9Oe4sbAlF4szeg751hlSEUR0ijKz4rjfHEWgA="; + }; + darwin-aarch64 = fetchurl { + url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg"; + sha256 = "sha256-ROIpGB3W21ttWj+cRkf0rpLFrO4LR6+ZyGRsalz5J+E="; }; }; unpacked = stdenv.mkDerivation { inherit pname version; + nativeBuildInputs = [ zstd ]; src = sources.linux; installPhase = '' @@ -37,7 +44,7 @@ let meta = with lib; { inherit (anki.meta) license homepage description longDescription; - platforms = [ "x86_64-linux" "x86_64-darwin" ]; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; maintainers = with maintainers; [ atemu ]; }; @@ -47,6 +54,9 @@ in if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // { name = "anki"; + # Dependencies of anki + targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]); + runScript = writeShellScript "anki-wrapper.sh" '' exec ${unpacked}/bin/anki ''; @@ -63,7 +73,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // { }) else stdenv.mkDerivation { inherit pname version passthru; - src = sources.darwin; + src = if stdenv.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64; nativeBuildInputs = [ undmg ]; sourceRoot = "."; diff --git a/nixpkgs/pkgs/games/asc/default.nix b/nixpkgs/pkgs/games/asc/default.nix index 4dc671f5c3c3..a6a1129acad7 100644 --- a/nixpkgs/pkgs/games/asc/default.nix +++ b/nixpkgs/pkgs/games/asc/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-paragui" "--disable-paraguitest" ]; - NIX_CFLAGS_COMPILE = "-fpermissive -Wno-error=narrowing"; # I'm too lazy to catch all gcc47-related problems + NIX_CFLAGS_COMPILE = "-fpermissive -Wno-error=narrowing -std=c++11"; # I'm too lazy to catch all gcc47-related problems hardeningDisable = [ "format" ]; buildInputs = [ diff --git a/nixpkgs/pkgs/games/assaultcube/default.nix b/nixpkgs/pkgs/games/assaultcube/default.nix index 1013be2694e9..7164e66feebf 100644 --- a/nixpkgs/pkgs/games/assaultcube/default.nix +++ b/nixpkgs/pkgs/games/assaultcube/default.nix @@ -1,42 +1,67 @@ -{ fetchFromGitHub, lib, stdenv, makeDesktopItem, openal, pkg-config, libogg, - libvorbis, SDL, SDL_image, makeWrapper, zlib, file, - client ? true, server ? true }: - -with lib; +{ lib +, stdenv +, fetchFromGitHub +, makeDesktopItem +, copyDesktopItems +, openal +, pkg-config +, libogg +, libvorbis +, SDL2 +, SDL2_image +, makeWrapper +, zlib +, file +, client ? true, server ? true +}: stdenv.mkDerivation rec { - - # master branch has legacy (1.2.0.2) protocol 1201 and gcc 6 fix. pname = "assaultcube"; - version = "unstable-2018-05-20"; + version = "1.3.0.2"; src = fetchFromGitHub { owner = "assaultcube"; repo = "AC"; - rev = "f58ea22b46b5013a520520670434b3c235212371"; - sha256 = "1vfn3d55vmmipdykrcfvgk6dddi9y95vlclsliirm7jdp20f15hd"; + rev = "v${version}"; + sha256 = "0qv339zw9q5q1y7bghca03gw7z4v89sl4lbr6h3b7siy08mcwiz9"; }; - nativeBuildInputs = [ makeWrapper pkg-config ]; - - buildInputs = [ file zlib ] ++ optionals client [ openal SDL SDL_image libogg libvorbis ]; - - targets = (optionalString server "server") + (optionalString client " client"); + nativeBuildInputs = [ + makeWrapper + pkg-config + copyDesktopItems + ]; + + buildInputs = [ + file + zlib + ] ++ lib.optionals client [ + openal + SDL2 + SDL2_image + libogg + libvorbis + ]; + + targets = (lib.optionalString server "server") + (lib.optionalString client " client"); makeFlags = [ "-C source/src" "CXX=${stdenv.cc.targetPrefix}c++" targets ]; - desktop = makeDesktopItem { - name = "AssaultCube"; - desktopName = "AssaultCube"; - comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay."; - genericName = "First-person shooter"; - categories = [ "Game" "ActionGame" "Shooter" ]; - icon = "assaultcube.png"; - exec = pname; - }; + desktopItems = [ + (makeDesktopItem { + name = pname; + desktopName = "AssaultCube"; + comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay."; + genericName = "First-person shooter"; + categories = [ "Game" "ActionGame" "Shooter" ]; + icon = "assaultcube"; + exec = pname; + }) + ]; gamedatadir = "/share/games/${pname}"; installPhase = '' + runHook preInstall bindir=$out/bin @@ -47,26 +72,27 @@ stdenv.mkDerivation rec { if (test -e source/src/ac_client) then cp source/src/ac_client $bindir mkdir -p $out/share/applications - cp ${desktop}/share/applications/* $out/share/applications install -Dpm644 packages/misc/icon.png $out/share/icons/assaultcube.png install -Dpm644 packages/misc/icon.png $out/share/pixmaps/assaultcube.png makeWrapper $out/bin/ac_client $out/bin/${pname} \ - --run "cd $out/$gamedatadir" --add-flags "--home=\$HOME/.assaultcube/v1.2next --init" + --chdir "$out/$gamedatadir" --add-flags "--home=\$HOME/.assaultcube/v1.2next --init" fi if (test -e source/src/ac_server) then cp source/src/ac_server $bindir makeWrapper $out/bin/ac_server $out/bin/${pname}-server \ - --run "cd $out/$gamedatadir" --add-flags "-Cconfig/servercmdline.txt" + --chdir "$out/$gamedatadir" --add-flags "-Cconfig/servercmdline.txt" fi - ''; - meta = { + runHook postInstall + ''; + + meta = with lib; { description = "Fast and fun first-person-shooter based on the Cube fps"; homepage = "https://assault.cubers.net"; - maintainers = [ ]; platforms = platforms.linux; # should work on darwin with a little effort. - license = lib.licenses.unfree; + license = licenses.unfree; + maintainers = with maintainers; [ darkonion0 ]; }; } diff --git a/nixpkgs/pkgs/games/azimuth/default.nix b/nixpkgs/pkgs/games/azimuth/default.nix index dcc67533fac1..301fa231122d 100644 --- a/nixpkgs/pkgs/games/azimuth/default.nix +++ b/nixpkgs/pkgs/games/azimuth/default.nix @@ -14,8 +14,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ which ]; buildInputs = [ SDL ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ]; + preConfigure = '' - cat Makefile substituteInPlace data/azimuth.desktop \ --replace Exec=azimuth "Exec=$out/bin/azimuth" \ --replace "Version=%AZ_VERSION_NUMBER" "Version=${version}" diff --git a/nixpkgs/pkgs/games/black-hole-solver/default.nix b/nixpkgs/pkgs/games/black-hole-solver/default.nix index e859e72d96b1..601aaeb1d90d 100644 --- a/nixpkgs/pkgs/games/black-hole-solver/default.nix +++ b/nixpkgs/pkgs/games/black-hole-solver/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "black-hole-solver"; - version = "1.10.1"; + version = "1.12.0"; meta = with lib; { homepage = "https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://fc-solve.shlomifish.org/downloads/fc-solve/${pname}-${version}.tar.xz"; - sha256 = "1qhihmk4fwz6n16c7bnxnh3v7jhbb7xhkc9wk9484bp0k4x9bq9n"; + sha256 = "sha256-0y8yU291cykliPQbsNha5C1WE3bCGNxKtrrf5JBKN6c="; }; nativeBuildInputs = [ cmake perl pkg-config python3 ]; diff --git a/nixpkgs/pkgs/games/blightmud/default.nix b/nixpkgs/pkgs/games/blightmud/default.nix index 2e177f169fab..43feb8b7c2a8 100644 --- a/nixpkgs/pkgs/games/blightmud/default.nix +++ b/nixpkgs/pkgs/games/blightmud/default.nix @@ -75,5 +75,7 @@ rustPlatform.buildRustPackage rec { license = licenses.gpl3Plus; maintainers = with maintainers; [ cpu ]; platforms = platforms.linux; + # See https://github.com/NixOS/nixpkgs/pull/160120 + broken = withTTS; }; } diff --git a/nixpkgs/pkgs/games/brogue/default.nix b/nixpkgs/pkgs/games/brogue/default.nix index d4f1f8faeeba..e5b0f838be1a 100644 --- a/nixpkgs/pkgs/games/brogue/default.nix +++ b/nixpkgs/pkgs/games/brogue/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, SDL, ncurses, libtcod, makeDesktopItem }: +{ lib, stdenv, fetchurl, fetchpatch, SDL, ncurses, libtcod, makeDesktopItem }: stdenv.mkDerivation rec { pname = "brogue"; @@ -8,10 +8,19 @@ stdenv.mkDerivation rec { url = "https://sites.google.com/site/broguegame/brogue-${version}-linux-amd64.tbz2"; sha256 = "0i042zb3axjf0cpgpdh8hvfn66dbfizidyvw0iymjk2n760z2kx7"; }; + patches = [ + # Pull upstream fix for -fno-common toolchains: + # https://github.com/tmewett/BrogueCE/pull/63 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/tmewett/BrogueCE/commit/2c7ed0c48d9efd06bf0a2589ba967c0a22a8fa87.patch"; + sha256 = "19lr2fa25dh79klm4f4kqyyqq7w5xmw9z0fvylkcckqvcv7dwhp3"; + }) + ]; prePatch = '' sed -i Makefile -e 's,LIBTCODDIR=.*,LIBTCODDIR=${libtcod},g' \ - -e 's,sdl-config,${SDL.dev}/bin/sdl-config,g' + -e 's,sdl-config,${lib.getDev SDL}/bin/sdl-config,g' sed -i src/platform/tcod-platform.c -e "s,fonts/font,$out/share/brogue/fonts/font,g" make clean rm -rf src/libtcod* diff --git a/nixpkgs/pkgs/games/bugdom/default.nix b/nixpkgs/pkgs/games/bugdom/default.nix new file mode 100644 index 000000000000..75bcad2f0db1 --- /dev/null +++ b/nixpkgs/pkgs/games/bugdom/default.nix @@ -0,0 +1,65 @@ +{ lib, stdenv, fetchFromGitHub, SDL2, IOKit, Foundation, cmake, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "bugdom"; + version = "1.3.2"; + + src = fetchFromGitHub { + owner = "jorio"; + repo = pname; + rev = version; + sha256 = "sha256-pgms2mipW1zol35LVCuU5+7mN7CBiVGFvu1CJ3CrGU0="; + fetchSubmodules = true; + }; + + postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Expects SDL2.framework in specific location, which we don't have + # Passing this in cmakeFlags doesn't work because the path is hard-coded for Darwin + substituteInPlace cmake/FindSDL2.cmake \ + --replace 'set(SDL2_LIBRARIES' 'set(SDL2_LIBRARIES "${SDL2}/lib/libSDL2.dylib") #' + ''; + + buildInputs = [ + SDL2 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + Foundation + ]; + + nativeBuildInputs = [ + cmake + makeWrapper + ]; + + cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "-DCMAKE_OSX_ARCHITECTURES=${stdenv.hostPlatform.darwinArch}" + # Expects SDL2.framework in specific location, which we don't have + "-DSDL2_INCLUDE_DIRS=${SDL2.dev}/include/SDL2" + ]; + + installPhase = '' + runHook preInstall + + '' + (if stdenv.hostPlatform.isDarwin then '' + mkdir -p $out/{bin,Applications} + mv {,$out/Applications/}Bugdom.app + ln -s $out/{Applications/Bugdom.app/Contents/MacOS,bin}/Bugdom + '' else '' + mkdir -p $out/share/bugdom + mv Data $out/share/bugdom + install -Dm755 {.,$out/bin}/Bugdom + wrapProgram $out/bin/Bugdom --run "cd $out/share/bugdom" + '') + '' + + runHook postInstall + ''; + + meta = with lib; { + description = "A port of Bugdom, a 1999 Macintosh game by Pangea Software, for modern operating systems"; + homepage = "https://github.com/jorio/Bugdom"; + license = with licenses; [ cc-by-sa-40 ]; + maintainers = with maintainers; [ lux ]; + mainProgram = "Bugdom"; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/games/bzflag/default.nix b/nixpkgs/pkgs/games/bzflag/default.nix index 35a481fb2f42..db144a147f6d 100644 --- a/nixpkgs/pkgs/games/bzflag/default.nix +++ b/nixpkgs/pkgs/games/bzflag/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "bzflag"; - version = "2.4.22"; + version = "2.4.24"; src = fetchurl { url = "https://download.bzflag.org/${pname}/source/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-nmRlMwK2V72LX5b+EVCp/4Ch1Tptfoo1E4xrGwIAak0="; + sha256 = "sha256-X4Exvrf8i6UeMjoG7NfY6rkVN8NCzoehE+XrbqmM48Q="; }; nativeBuildInputs = [ pkg-config ]; @@ -20,6 +20,6 @@ stdenv.mkDerivation rec { homepage = "https://bzflag.org/"; license = licenses.lgpl21Plus; platforms = platforms.unix; - maintainers = with maintainers; [ fpletz ]; + maintainers = with maintainers; [ ]; }; } diff --git a/nixpkgs/pkgs/games/cataclysm-dda/common.nix b/nixpkgs/pkgs/games/cataclysm-dda/common.nix index 1701d84e8df7..4e39a64c4001 100644 --- a/nixpkgs/pkgs/games/cataclysm-dda/common.nix +++ b/nixpkgs/pkgs/games/cataclysm-dda/common.nix @@ -40,16 +40,11 @@ stdenv.mkDerivation { buildInputs = cursesDeps ++ optionals tiles tilesDeps; postPatch = '' - patchShebangs . - - # Locale patch required for Darwin builds, see: - # https://github.com/NixOS/nixpkgs/pull/74064#issuecomment-560083970 - sed -i src/translations.cpp \ - -e 's@#elif (defined(__linux__) || (defined(MACOSX) && !defined(TILES)))@#elif 1@' + patchShebangs lang/compile_mo.sh ''; makeFlags = [ - "PREFIX=$(out)" "LANGUAGES=all" + "PREFIX=$(out)" "LANGUAGES=all" "RUNTESTS=0" (if useXdgDir then "USE_XDG_DIR=1" else "USE_HOME_DIR=1") ] ++ optionals (!debug) [ "RELEASE=1" diff --git a/nixpkgs/pkgs/games/cataclysm-dda/git.nix b/nixpkgs/pkgs/games/cataclysm-dda/git.nix index 3dc0e944b5ef..9578480b7940 100644 --- a/nixpkgs/pkgs/games/cataclysm-dda/git.nix +++ b/nixpkgs/pkgs/games/cataclysm-dda/git.nix @@ -1,4 +1,4 @@ -{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA, attachPkgs +{ stdenv, lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA, attachPkgs , tiles ? true, Cocoa , debug ? false , useXdgDir ? false @@ -29,6 +29,8 @@ let meta = common.meta // { maintainers = with lib.maintainers; common.meta.maintainers ++ [ rardiol ]; + # /nix/store/s8xaq3x7mcysvd752in2nihb1nr6svsl-SDL2-2.0.20-dev/include/SDL2/SDL_events.h:645:65: error: use of old-style cast [-Werror,-Wold-style-cast] + broken = (stdenv.isDarwin && stdenv.isx86_64); }; }); in diff --git a/nixpkgs/pkgs/games/cataclysm-dda/locale-path-stable.patch b/nixpkgs/pkgs/games/cataclysm-dda/locale-path-stable.patch new file mode 100644 index 000000000000..db8592646f0d --- /dev/null +++ b/nixpkgs/pkgs/games/cataclysm-dda/locale-path-stable.patch @@ -0,0 +1,20 @@ +diff --git a/src/translations.cpp b/src/translations.cpp +index fa0ee479b2..0e470098dc 100644 +--- a/src/translations.cpp ++++ b/src/translations.cpp +@@ -141,15 +141,11 @@ void select_language() + std::string locale_dir() + { + std::string loc_dir; +-#if !defined(__ANDROID__) && ((defined(__linux__) || defined(BSD) || (defined(MACOSX) && !defined(TILES)))) + if( !PATH_INFO::base_path().empty() ) { + loc_dir = PATH_INFO::base_path() + "share/locale"; + } else { + loc_dir = PATH_INFO::langdir(); + } +-#else +- loc_dir = PATH_INFO::langdir(); +-#endif + return loc_dir; + } + diff --git a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix index 453f5ceacae1..52f3ca41f480 100644 --- a/nixpkgs/pkgs/games/cataclysm-dda/stable.nix +++ b/nixpkgs/pkgs/games/cataclysm-dda/stable.nix @@ -19,6 +19,11 @@ let sha256 = "sha256-2su1uQaWl9WG41207dRvOTdVKcQsEz/y0uTi9JX52uI="; }; + patches = [ + # Unconditionally look for translation files in $out/share/locale + ./locale-path-stable.patch + ]; + makeFlags = common.makeFlags ++ [ # Makefile declares version as 0.F, with no minor release number "VERSION=${version}" diff --git a/nixpkgs/pkgs/games/cdogs-sdl/default.nix b/nixpkgs/pkgs/games/cdogs-sdl/default.nix index 2b072a447523..3a7f4ff63eba 100644 --- a/nixpkgs/pkgs/games/cdogs-sdl/default.nix +++ b/nixpkgs/pkgs/games/cdogs-sdl/default.nix @@ -13,20 +13,23 @@ stdenv.mkDerivation rec { pname = "cdogs"; - version = "0.13.0"; + version = "1.3.1"; src = fetchFromGitHub { repo = "cdogs-sdl"; owner = "cxong"; rev = version; - sha256 = "sha256-7wNiDA/gOpqzSFWw8Bn6suC/f5RXdDTxPV49nCvOxas="; + sha256 = "sha256-fKqipk1kiPC6HrkNzxHK2aYe5WDZ3hEbPCwsqK5uQ2s="; }; postPatch = '' patchShebangs src/proto/nanopb/generator/* ''; - cmakeFlags = [ "-DCDOGS_DATA_DIR=${placeholder "out"}/" ]; + cmakeFlags = [ + "-DCDOGS_DATA_DIR=${placeholder "out"}/" + "-DCMAKE_C_FLAGS=-Wno-error=array-bounds" + ]; nativeBuildInputs = [ pkg-config diff --git a/nixpkgs/pkgs/games/cgoban/default.nix b/nixpkgs/pkgs/games/cgoban/default.nix index 162de112fb55..3d202985f1b0 100644 --- a/nixpkgs/pkgs/games/cgoban/default.nix +++ b/nixpkgs/pkgs/games/cgoban/default.nix @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Client for the KGS Go Server"; homepage = "https://www.gokgs.com/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.free; maintainers = with maintainers; [ savannidgerinel ]; platforms = adoptopenjdk-jre-bin.meta.platforms; diff --git a/nixpkgs/pkgs/games/chocolate-doom/default.nix b/nixpkgs/pkgs/games/chocolate-doom/default.nix index 28ef9b6417ea..fabb12fa71fa 100644 --- a/nixpkgs/pkgs/games/chocolate-doom/default.nix +++ b/nixpkgs/pkgs/games/chocolate-doom/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, autoreconfHook, pkg-config, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub }: +{ lib, stdenv, autoreconfHook, pkg-config, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, fetchpatch }: stdenv.mkDerivation rec { pname = "chocolate-doom"; @@ -11,6 +11,16 @@ stdenv.mkDerivation rec { sha256 = "1zlcqhd49c5n8vaahgaqrc2y10z86xng51sbd82xm3rk2dly25jp"; }; + patches = [ + # Pull upstream patch to fix builx against gcc-10: + # https://github.com/chocolate-doom/chocolate-doom/pull/1257 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/chocolate-doom/chocolate-doom/commit/a8fd4b1f563d24d4296c3e8225c8404e2724d4c2.patch"; + sha256 = "1dmbygn952sy5n8qqp0asg11pmygwgygl17lrj7i0fxa0nrhixhj"; + }) + ]; + postPatch = '' sed -e 's#/games#/bin#g' -i src{,/setup}/Makefile.am ''; diff --git a/nixpkgs/pkgs/games/ckan/default.nix b/nixpkgs/pkgs/games/ckan/default.nix index 3649369aeaad..88d13b9b6f8d 100644 --- a/nixpkgs/pkgs/games/ckan/default.nix +++ b/nixpkgs/pkgs/games/ckan/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "ckan"; - version = "1.30.4"; + version = "1.31.0"; src = fetchurl { url = "https://github.com/KSP-CKAN/CKAN/releases/download/v${version}/ckan.exe"; - sha256 = "sha256-IgPqUEDpaIuGoaGoH2GCEzh3KxF3pkJC3VjTYXwSiQE="; + sha256 = "sha256-+Tm1aQUibRNn1jfewowOTBHt1OngJKD+Jeh9meg0YxA="; }; dontUnpack = true; diff --git a/nixpkgs/pkgs/games/cl-wordle/default.nix b/nixpkgs/pkgs/games/cl-wordle/default.nix index 1ad3487c3fed..505c5166e42a 100644 --- a/nixpkgs/pkgs/games/cl-wordle/default.nix +++ b/nixpkgs/pkgs/games/cl-wordle/default.nix @@ -1,15 +1,17 @@ -{ lib, rustPlatform, fetchCrate }: +{ lib, rustPlatform, fetchFromGitHub }: rustPlatform.buildRustPackage rec { pname = "cl-wordle"; - version = "0.4.0"; + version = "0.5.0"; - src = fetchCrate { - inherit pname version; - sha256 = "sha256-z2XpXgOviBRcberwpxQ4ml1T04k5kMhG7wA0PAYWENg="; + src = fetchFromGitHub { + owner = "conradludgate"; + repo = "wordle"; + rev = "v${version}"; + sha256 = "sha256-wFTvzAzboUFQg3fauIwIdRChK7rmLES92jK+8ff1D3s="; }; - cargoSha256 = "sha256-C7UMkhgez2CtddftARlwN1TjZ1N26NnZfpRiX1KkMEA="; + cargoSha256 = "sha256-PtJbLpAUH44alupFY6wX++t/QsKknn5bXvnXzdYsd9o="; meta = with lib; { description = "Wordle TUI in Rust"; diff --git a/nixpkgs/pkgs/games/crack-attack/default.nix b/nixpkgs/pkgs/games/crack-attack/default.nix index fb13ce8c1638..69395e1c44aa 100644 --- a/nixpkgs/pkgs/games/crack-attack/default.nix +++ b/nixpkgs/pkgs/games/crack-attack/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { homepage = "https://www.nongnu.org/crack-attack/"; license = lib.licenses.gpl2; platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.piotr ]; + maintainers = [ ]; }; } diff --git a/nixpkgs/pkgs/games/crossfire/crossfire-arch.nix b/nixpkgs/pkgs/games/crossfire/crossfire-arch.nix index ff9e0f9dea6d..c09f474e70c7 100644 --- a/nixpkgs/pkgs/games/crossfire/crossfire-arch.nix +++ b/nixpkgs/pkgs/games/crossfire/crossfire-arch.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "crossfire-arch"; - version = "r${toString rev}"; + version = rev; src = fetchsvn { url = "http://svn.code.sf.net/p/crossfire/code/arch/trunk/"; - sha256 = sha256; - rev = rev; + inherit sha256; + rev = "r${rev}"; }; installPhase = '' diff --git a/nixpkgs/pkgs/games/crossfire/crossfire-client.nix b/nixpkgs/pkgs/games/crossfire/crossfire-client.nix index 799ae4ab6ee7..0d335b4f529a 100644 --- a/nixpkgs/pkgs/games/crossfire/crossfire-client.nix +++ b/nixpkgs/pkgs/games/crossfire/crossfire-client.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { pname = "crossfire-client"; - version = "r${toString rev}"; + version = rev; src = fetchsvn { url = "http://svn.code.sf.net/p/crossfire/code/client/trunk/"; - sha256 = sha256; - rev = rev; + inherit sha256; + rev = "r${rev}"; }; nativeBuildInputs = [ cmake pkg-config perl vala ]; diff --git a/nixpkgs/pkgs/games/crossfire/crossfire-maps.nix b/nixpkgs/pkgs/games/crossfire/crossfire-maps.nix index 0521b038d361..cb514a90d169 100644 --- a/nixpkgs/pkgs/games/crossfire/crossfire-maps.nix +++ b/nixpkgs/pkgs/games/crossfire/crossfire-maps.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "crossfire-maps"; - version = "r${toString rev}"; + version = rev; src = fetchsvn { url = "http://svn.code.sf.net/p/crossfire/code/maps/trunk/"; - sha256 = sha256; - rev = rev; + inherit sha256; + rev = "r${rev}"; }; installPhase = '' diff --git a/nixpkgs/pkgs/games/crossfire/crossfire-server.nix b/nixpkgs/pkgs/games/crossfire/crossfire-server.nix index 9259e8e52faa..f99e08a5a46f 100644 --- a/nixpkgs/pkgs/games/crossfire/crossfire-server.nix +++ b/nixpkgs/pkgs/games/crossfire/crossfire-server.nix @@ -4,12 +4,12 @@ stdenv.mkDerivation rec { pname = "crossfire-server"; - version = "r${toString rev}"; + version = rev; src = fetchsvn { url = "http://svn.code.sf.net/p/crossfire/code/server/trunk/"; - sha256 = sha256; - rev = rev; + inherit sha256; + rev = "r${rev}"; }; nativeBuildInputs = [ autoconf automake libtool flex perl check pkg-config python3 ]; diff --git a/nixpkgs/pkgs/games/crossfire/default.nix b/nixpkgs/pkgs/games/crossfire/default.nix index bc74c00bcce4..7d0716df3d9b 100644 --- a/nixpkgs/pkgs/games/crossfire/default.nix +++ b/nixpkgs/pkgs/games/crossfire/default.nix @@ -3,26 +3,26 @@ rec { crossfire-client = callPackage ./crossfire-client.nix { version = "1.75.0"; - rev = 21760; + rev = "21760"; sha256 = "0b42sak8hj60nywfswkps777asy9p8r9wsn7pmj2nqbd29ng1p9d"; }; crossfire-server = callPackage ./crossfire-server.nix { version = "latest"; - rev = 22111; + rev = "22111"; sha256 = "04fjif6zv642n2zlw27cgzkak2kknwrxqzg42bvzl7q901bsr9l7"; maps = crossfire-maps; arch = crossfire-arch; }; crossfire-arch = callPackage ./crossfire-arch.nix { version = "latest"; - rev = 22111; + rev = "22111"; sha256 = "0l4rp3idvbhknpxxs0w4i4nqfg01wblzm4v4j375xwxxbf00j0ms"; }; crossfire-maps = callPackage ./crossfire-maps.nix { version = "latest"; - rev = 22111; + rev = "22111"; sha256 = "1dwfc84acjvbjgjakkb8z8pdlksbsn90j0z8z8rq37lqx0kx1sap"; }; } diff --git a/nixpkgs/pkgs/games/cutemaze/default.nix b/nixpkgs/pkgs/games/cutemaze/default.nix index 44c48af5c29e..ae6ade155f25 100644 --- a/nixpkgs/pkgs/games/cutemaze/default.nix +++ b/nixpkgs/pkgs/games/cutemaze/default.nix @@ -1,17 +1,34 @@ -{ lib, stdenv, fetchurl, qmake, qttools, qtsvg, mkDerivation }: +{ lib +, stdenv +, fetchurl +, cmake +, qttools +, wrapQtAppsHook +, qtbase +, qtwayland +, qtsvg +}: -mkDerivation rec { +stdenv.mkDerivation rec { pname = "cutemaze"; - version = "1.3.0"; + version = "1.3.1"; src = fetchurl { url = "https://gottcode.org/cutemaze/${pname}-${version}-src.tar.bz2"; - sha256 = "sha256-h7+H2E37ZVSnlPa6ID+lNEvFtU5PfdMSlBjqBumojoU="; + sha256 = "6944931cd39e9ef202c11483b7b2b7409a068c52fa5fd4419ff938b1158c72ab"; }; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ + cmake + qttools + wrapQtAppsHook + ]; - buildInputs = [ qtsvg ]; + buildInputs = [ + qtbase + qtwayland + qtsvg + ]; postInstall = lib.optionalString stdenv.isDarwin '' mkdir -p $out/Applications diff --git a/nixpkgs/pkgs/games/darkplaces/default.nix b/nixpkgs/pkgs/games/darkplaces/default.nix new file mode 100644 index 000000000000..e7b70036cdff --- /dev/null +++ b/nixpkgs/pkgs/games/darkplaces/default.nix @@ -0,0 +1,58 @@ +{ lib +, stdenv +, fetchFromGitHub +, zlib +, libjpeg +, SDL2 +, libvorbis +}: +stdenv.mkDerivation rec { + name = "darkplaces"; + version = "unstable-2022-05-10"; + + src = fetchFromGitHub { + owner = "DarkPlacesEngine"; + repo = "darkplaces"; + rev = "f16954a9d40168253ac5d9890dabcf7dbd266cd9"; + hash = "sha256-5KsUcgHbuzFUE6LcclqI8VPSFbXZzBnxzOBB9Kf8krI="; + }; + + buildInputs = [ + zlib + libjpeg + SDL2 + ]; + + buildFlags = "release"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + install -m755 darkplaces-sdl $out/bin/darkplaces + install -m755 darkplaces-dedicated $out/bin/darkplaces-dedicated + + runHook postInstall + ''; + + postFixup = '' + patchelf \ + --add-needed ${libvorbis}/lib/libvorbisfile.so \ + --add-needed ${libvorbis}/lib/libvorbis.so \ + $out/bin/darkplaces + ''; + + meta = with lib; { + homepage = "https://www.icculus.org/twilight/darkplaces/"; + description = "A quake 1 engine implementation by LadyHavoc"; + longDescription = '' + A game engine based on the Quake 1 engine by id Software. + It improves and builds upon the original 1996 engine by adding modern + rendering features, and expanding upon the engine's native game code + language QuakeC, as well as supporting additional map and model formats. + ''; + maintainers = with maintainers; [ necrophcodr ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/games/ddnet/default.nix b/nixpkgs/pkgs/games/ddnet/default.nix index 1663e17b14d2..33b8ca4f0e9d 100644 --- a/nixpkgs/pkgs/games/ddnet/default.nix +++ b/nixpkgs/pkgs/games/ddnet/default.nix @@ -16,17 +16,23 @@ , SDL2 , sqlite , wavpack +, ffmpeg +, x264 +, vulkan-headers +, vulkan-loader +, glslang +, spirv-tools }: stdenv.mkDerivation rec { pname = "ddnet"; - version = "15.9.1"; + version = "16.2.2"; src = fetchFromGitHub { owner = "ddnet"; repo = pname; rev = version; - sha256 = "sha256-QGtXI4Dbua5LBXSvB17tnSTGEvCCoopvg1XKBuDIEoQ="; + sha256 = "sha256-MrCPMtWdEsWUuvKaPWZK4Mh6nhPcKpsxkFKkWugdz8A="; }; nativeBuildInputs = [ cmake ninja pkg-config ]; @@ -44,6 +50,12 @@ stdenv.mkDerivation rec { SDL2 sqlite wavpack + ffmpeg + x264 + vulkan-loader + vulkan-headers + glslang + spirv-tools ]; cmakeFlags = [ diff --git a/nixpkgs/pkgs/games/deliantra/deliantra-arch.nix b/nixpkgs/pkgs/games/deliantra/arch.nix index 2201ca2d1f5f..2201ca2d1f5f 100644 --- a/nixpkgs/pkgs/games/deliantra/deliantra-arch.nix +++ b/nixpkgs/pkgs/games/deliantra/arch.nix diff --git a/nixpkgs/pkgs/games/deliantra/deliantra-data.nix b/nixpkgs/pkgs/games/deliantra/data.nix index 31ed7d0f0118..31ed7d0f0118 100644 --- a/nixpkgs/pkgs/games/deliantra/deliantra-data.nix +++ b/nixpkgs/pkgs/games/deliantra/data.nix diff --git a/nixpkgs/pkgs/games/deliantra/default.nix b/nixpkgs/pkgs/games/deliantra/default.nix deleted file mode 100644 index 76a06c960187..000000000000 --- a/nixpkgs/pkgs/games/deliantra/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -pkgs: - -let - callPackage = pkgs.callPackage; -in { - deliantra-server = callPackage ./deliantra-server.nix {}; - deliantra-arch = callPackage ./deliantra-arch.nix {}; - deliantra-maps = callPackage ./deliantra-maps.nix {}; - deliantra-data = callPackage ./deliantra-data.nix {}; -} diff --git a/nixpkgs/pkgs/games/deliantra/deliantra-maps.nix b/nixpkgs/pkgs/games/deliantra/maps.nix index 1f87178102a0..1f87178102a0 100644 --- a/nixpkgs/pkgs/games/deliantra/deliantra-maps.nix +++ b/nixpkgs/pkgs/games/deliantra/maps.nix diff --git a/nixpkgs/pkgs/games/deliantra/deliantra-server.nix b/nixpkgs/pkgs/games/deliantra/server.nix index e333b7a472f5..4185a46120e5 100644 --- a/nixpkgs/pkgs/games/deliantra/deliantra-server.nix +++ b/nixpkgs/pkgs/games/deliantra/server.nix @@ -23,16 +23,20 @@ stdenv.mkDerivation rec { autoconf perl gperf optipng pngnq rsync imagemagick pkg-config makeWrapper ]; + propagatedBuildInputs = perl-deps; + buildInputs = [ blitz boost glib ]; hardeningDisable = [ "format" ]; + patches = [ ./0001-abs.patch ./0002-datadir.patch ]; + postFixup = '' wrapProgram $out/bin/cfutil --prefix PERL5LIB : $PERL5LIB wrapProgram $out/bin/deliantra-server --prefix PERL5LIB : $PERL5LIB diff --git a/nixpkgs/pkgs/games/devilutionx/default.nix b/nixpkgs/pkgs/games/devilutionx/default.nix index ac76ab5ad189..c7943b24c95e 100644 --- a/nixpkgs/pkgs/games/devilutionx/default.nix +++ b/nixpkgs/pkgs/games/devilutionx/default.nix @@ -3,11 +3,13 @@ , fetchFromGitHub , fetchpatch , fetchurl -, fetchzip +, bzip2 , cmake , pkg-config , gettext +, libsodium , SDL2 +, SDL_audiolib , SDL2_image , fmt , libpng @@ -16,40 +18,56 @@ let # TODO: submit a PR upstream to allow system copies of these libraries where possible + + # fork with patches, far behind upstream asio = fetchurl { url = "https://github.com/diasurgical/asio/archive/ebeff99f539da23d27c2e8d4bdbc1ee011968644.tar.gz"; sha256 = "0vhb4cig40mm0a98i74grpmfkcmby8zxg6vqa38dpryxpgvp5fw8"; }; - SDL_audiolib = fetchurl { - url = "https://github.com/realnc/SDL_audiolib/archive/aa79660eba4467a44f9dcaecf26b0f0a000abfd7.tar.gz"; - sha256 = "0z4rizncp6gqsy72b3709zc9fr915wgcwnlx1fhhy7mrczsly630"; + # fork with patches, upstream seems to be dead + libmpq = fetchurl { + url = "https://github.com/diasurgical/libmpq/archive/0f10bd1600f406b13932bf5351ba713361262184.tar.gz"; + sha256 = "sha256-7hc/Xtsg8WJIJljLydS7hLZA9lEEHWhsCteyrxK68qE="; + }; + + # not "real" package with pkg-config or cmake file, just collection of source files + libsmackerdec = fetchurl { + url = "https://github.com/diasurgical/libsmackerdec/archive/2997ee0e41e91bb723003bc09234be553b190e38.tar.gz"; + sha256 = "sha256-QMDcIZQ94i4VPVanmSxiGkKgxWx82DP4uE+Q5I2nU+o="; + }; + + # fork with patches, far behind upstream + libzt = fetchFromGitHub { + owner = "diasurgical"; + repo = "libzt"; + fetchSubmodules = true; + rev = "a34ba7f1cc2e41b05badd25d1b01fdc5fd2f4e02"; + sha256 = "sha256-tyIPt+7OTi5W+5X/ixQP1puOKdhrqRZtpwXlWFBFpc8="; }; - simpleini = fetchzip { - url = "https://github.com/brofield/simpleini/archive/7bca74f6535a37846162383e52071f380c99a43a.zip"; - sha256 = "07kf1jjbc9v04hsysa6v2wh1m9csf5qz0b1wmlkf9sj00kf47zj7"; + # missing pkg-config and/or cmake file + simpleini = fetchurl { + url = "https://github.com/brofield/simpleini/archive/9b3ed7ec815997bc8c5b9edf140d6bde653e1458.tar.gz"; + sha256 = "sha256-93kuyp8/ew7okW/6ThJMtLMZsR1YSeFcXu9Y65ELBFE=="; }; in stdenv.mkDerivation rec { pname = "devilutionx"; - version = "1.3.0"; + version = "1.4.0"; src = fetchFromGitHub { owner = "diasurgical"; repo = "devilutionX"; rev = version; - sha256 = "0acrkqi0pr3cbr5i1a1vfrnxv1n3xmql5d86bm2gywvpdb94xads"; + sha256 = "sha256-uuIPTdgGpHA8j1M8b+kfnBuiJ5mdS9rckvEfn2h7lmo="; }; patches = [ - # allow building with system SDL2_image instead of vendored version - # this patch can be removed on the next release of devilutionx - # see https://github.com/diasurgical/devilutionX/pull/3386 (fetchpatch { - url = "https://github.com/diasurgical/devilutionX/commit/41ff03e94c02477bffb2d62764e8624c0e06854d.patch"; - sha256 = "1lrnb9d0dcdyd78rix5rl4p8kkwbnl91llr9fgb86ysm3q58qkvj"; + url = "https://github.com/diasurgical/devilutionX/commit/03b22352fc9e1ecb88b20a053c90c04a50717267.patch"; + sha256 = "sha256-5aAwi1NV8P+nLLbEEnlwLGNQCQBb0nQkIVe5tR5Shsw="; }) ]; @@ -57,16 +75,18 @@ stdenv.mkDerivation rec { substituteInPlace Source/init.cpp --replace "/usr/share/diasurgical/devilutionx/" "${placeholder "out"}/share/diasurgical/devilutionx/" # download dependencies ahead of time - substituteInPlace 3rdParty/asio/CMakeLists.txt --replace "https://github.com/diasurgical/asio/archive/ebeff99f539da23d27c2e8d4bdbc1ee011968644.tar.gz" "${asio}" - substituteInPlace 3rdParty/SDL_audiolib/CMakeLists.txt --replace "https://github.com/realnc/SDL_audiolib/archive/aa79660eba4467a44f9dcaecf26b0f0a000abfd7.tar.gz" "${SDL_audiolib}" - substituteInPlace 3rdParty/simpleini/CMakeLists.txt --replace "https://github.com/brofield/simpleini/archive/7bca74f6535a37846162383e52071f380c99a43a.zip" "${simpleini}" + substituteInPlace 3rdParty/asio/CMakeLists.txt --replace "${asio.url}" "${asio}" + substituteInPlace 3rdParty/libmpq/CMakeLists.txt --replace "${libmpq.url}" "${libmpq}" + substituteInPlace 3rdParty/libsmackerdec/CMakeLists.txt --replace "${libsmackerdec.url}" "${libsmackerdec}" + substituteInPlace 3rdParty/libzt/CMakeLists.txt \ + --replace "GIT_REPOSITORY https://github.com/diasurgical/libzt.git" "" \ + --replace "GIT_TAG ${libzt.rev}" "SOURCE_DIR ${libzt}" + substituteInPlace 3rdParty/simpleini/CMakeLists.txt --replace "${simpleini.url}" "${simpleini}" ''; cmakeFlags = [ "-DBINARY_RELEASE=ON" "-DVERSION_NUM=${version}" - "-DPACKET_ENCRYPTION=OFF" # FIXME: build with libsodium - "-DDISABLE_ZERO_TIER=ON" # FIXME: build with libzt ]; nativeBuildInputs = [ @@ -77,9 +97,12 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + bzip2 fmt libpng + libsodium SDL2 + SDL_audiolib SDL2_image ]; diff --git a/nixpkgs/pkgs/games/domination/default.nix b/nixpkgs/pkgs/games/domination/default.nix index b7eae5e5acd6..919d22b41dae 100644 --- a/nixpkgs/pkgs/games/domination/default.nix +++ b/nixpkgs/pkgs/games/domination/default.nix @@ -6,6 +6,7 @@ , ant , makeWrapper , makeDesktopItem +, copyDesktopItems , nixosTests }: @@ -25,7 +26,7 @@ let in stdenv.mkDerivation { pname = "domination"; - version = "1.2.4"; + version = "1.2.5"; # The .zip releases do not contain the build.xml file src = fetchsvn { @@ -33,22 +34,31 @@ in stdenv.mkDerivation { # There are no tags in the repository. # Look for commits like "new version x.y.z info on website" # or "website update for x.y.z". - rev = "2109"; - sha256 = "sha256-awTaEkv0zUXgrKVKuFzi5sgHgrfiNmAFMODO5U0DL6I="; + rev = "2212"; + sha256 = "sha256-XuPMxGDap8x7I+U7+1C+DlkQkoV/u2FCwYyTZFWmYHM="; }; nativeBuildInputs = [ jdk8 ant makeWrapper + copyDesktopItems ]; buildPhase = '' + runHook preBuild cd swingUI ant + runHook postBuild ''; + desktopItems = [ + desktopItem + editorDesktopItem + ]; + installPhase = '' + runHook preInstall # Remove unnecessary files and launchers (they'd need to be wrapped anyway) rm -r \ build/game/src.zip \ @@ -63,19 +73,14 @@ in stdenv.mkDerivation { # Reimplement the two launchers mentioned in Unix_shortcutSpec.xml with makeWrapper mkdir -p $out/bin makeWrapper ${jre}/bin/java $out/bin/domination \ - --run "cd $out/share/domination" \ + --chdir "$out/share/domination" \ --add-flags "-jar $out/share/domination/Domination.jar" makeWrapper ${jre}/bin/java $out/bin/domination-map-editor \ - --run "cd $out/share/domination" \ + --chdir "$out/share/domination" \ --add-flags "-cp $out/share/domination/Domination.jar net.yura.domination.ui.swinggui.SwingGUIFrame" - install -Dm644 \ - ${desktopItem}/share/applications/Domination.desktop \ - $out/share/applications/Domination.desktop - install -Dm644 \ - "${editorDesktopItem}/share/applications/Domination Map Editor.desktop" \ - "$out/share/applications/Domination Map Editor.desktop" install -Dm644 build/game/resources/icon.png $out/share/pixmaps/domination.png + runHook postInstall ''; passthru.tests = { @@ -92,6 +97,10 @@ in stdenv.mkDerivation { It includes a map editor, a simple map format, multiplayer network play, single player, hotseat, 5 user interfaces and many more features. ''; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # source bundles dependencies as jars + ]; license = licenses.gpl3; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; diff --git a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix index 80fa1de18e4e..49e8fabd45e4 100644 --- a/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/nixpkgs/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -131,6 +131,9 @@ let patches = [ ./fix-stonesense.patch ]; + # gcc 11 fix + NIX_CFLAGS_COMPILE = "-fpermissive"; + # As of # https://github.com/DFHack/dfhack/commit/56e43a0dde023c5a4595a22b29d800153b31e3c4, # dfhack gets its goodies from the directory above the Dwarf_Fortress @@ -154,10 +157,6 @@ let touch .git/index .git/modules/library/xml/index ''; - preBuild = '' - export LD_LIBRARY_PATH="$PWD/depends/protobuf''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" - ''; - cmakeFlags = [ "-DDFHACK_BUILD_ARCH=${arch}" "-DDOWNLOAD_RUBY=OFF" ] ++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ]; diff --git a/nixpkgs/pkgs/games/dwarf-fortress/legends-browser/default.nix b/nixpkgs/pkgs/games/dwarf-fortress/legends-browser/default.nix index 2a3da233b450..3484db0cc8ff 100644 --- a/nixpkgs/pkgs/games/dwarf-fortress/legends-browser/default.nix +++ b/nixpkgs/pkgs/games/dwarf-fortress/legends-browser/default.nix @@ -29,6 +29,7 @@ buildEnv { meta = with lib; { description = "A multi-platform, open source, java-based legends viewer for dwarf fortress"; maintainers = with maintainers; [ Baughn ]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mit; platforms = platforms.all; homepage = "https://github.com/robertjanetzko/LegendsBrowser"; diff --git a/nixpkgs/pkgs/games/easyrpg-player/default.nix b/nixpkgs/pkgs/games/easyrpg-player/default.nix index 4476c0a7a532..c95ca576ecac 100644 --- a/nixpkgs/pkgs/games/easyrpg-player/default.nix +++ b/nixpkgs/pkgs/games/easyrpg-player/default.nix @@ -3,6 +3,7 @@ , liblcf, libpng, libsndfile ? null, libvorbis ? null, libxmp ? null , libXcursor, libXext, libXi, libXinerama, libXrandr, libXScrnSaver, libXxf86vm , mpg123 ? null, opusfile ? null, pcre, pixman, SDL2, speexdsp ? null, wildmidi ? null, zlib +, libdecor }: stdenv.mkDerivation rec { @@ -43,6 +44,7 @@ stdenv.mkDerivation rec { speexdsp wildmidi zlib + libdecor ]; meta = with lib; { diff --git a/nixpkgs/pkgs/games/egoboo/default.nix b/nixpkgs/pkgs/games/egoboo/default.nix index 506868efe312..32678ecdf093 100644 --- a/nixpkgs/pkgs/games/egoboo/default.nix +++ b/nixpkgs/pkgs/games/egoboo/default.nix @@ -45,6 +45,11 @@ stdenv.mkDerivation rec { ''; */ + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: mad.o:(.bss+0x233800): multiple definition of `tile_dict'; camera.o:(.bss+0x140): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + NIX_LDFLAGS = "-lm"; meta = { @@ -54,7 +59,7 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; # I take it out of hydra as it does not work as well as I'd like - # maintainers = [ lib.maintainers.bjg ]; + # maintainers = [ ]; # platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/games/enigma/default.nix b/nixpkgs/pkgs/games/enigma/default.nix index 131bd00e1857..247d7b9dee19 100644 --- a/nixpkgs/pkgs/games/enigma/default.nix +++ b/nixpkgs/pkgs/games/enigma/default.nix @@ -1,20 +1,33 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, gettext, imagemagick, curl, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, xercesc, xdg-utils, hicolor-icon-theme }: +{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, pkg-config, gettext, imagemagick, curl, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, xercesc, xdg-utils, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "enigma"; - version = "1.30-alpha"; + version = "1.30"; src = fetchurl { - url = "https://github.com/Enigma-Game/Enigma/releases/download/${version}/${pname}-${version}.tar.gz"; - sha256 = "1zyk3j43gzfr1lhc6g13j7qai5f33fv5xm5735nnznaqvaz17949"; + url = "https://github.com/Enigma-Game/Enigma/releases/download/${version}/Enigma-${version}-src.tar.gz"; + sha256 = "rmS5H7wrEJcAcdDXjtW07enuOGjeLm6VaVRvxYQ3+K8="; }; + patches = [ + # fix format string security warning (turned into error) + (fetchpatch { + url = "https://github.com/Enigma-Game/Enigma/pull/70/commits/d25051eb6228c885e779a9674f8ee3979da30663.patch"; + sha256 = "L5C4NCZDDUKji9Tg4geKaiw3CkSY6rCoawqGKqR4dFM="; + }) + ]; + nativeBuildInputs = [ pkg-config gettext makeWrapper imagemagick ]; buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf libpng xercesc curl xdg-utils ]; - # For some reason (might be related to the alpha status), some includes - # which are required by lib-src/enigma-core are not picked up by the - # configure script. Hence we add them manually. - CPPFLAGS = "-I${SDL2.dev}/include/SDL2 -I${SDL2_ttf}/include/SDL2 -I${SDL2_image}/include/SDL2 -I${SDL2_mixer}/include/SDL2"; + # The configure script of enigma uses pkg-config to determine the header + # directories of SDL2. However, pkg-config only returns the path to the core + # SDL2 library, not to the additional libraries SDL2_ttf, SDL2_image and + # SDL2_mixer. In contrast, sdl2-config does return the correct list of paths. + # We don't use configureFlags here so that the shell can correctly carry + # out the interpolation. + preConfigure = '' + export SDL_CFLAGS=$(sdl2-config --cflags) + ''; postInstall = '' rm -r $out/include diff --git a/nixpkgs/pkgs/games/extremetuxracer/default.nix b/nixpkgs/pkgs/games/extremetuxracer/default.nix index d114ed848000..416a3ac913ea 100644 --- a/nixpkgs/pkgs/games/extremetuxracer/default.nix +++ b/nixpkgs/pkgs/games/extremetuxracer/default.nix @@ -5,12 +5,12 @@ }: stdenv.mkDerivation rec { - version = "0.8.1"; + version = "0.8.2"; pname = "extremetuxracer"; src = fetchurl { url = "mirror://sourceforge/extremetuxracer/etr-${version}.tar.xz"; - sha256 = "sha256-ktqWPtMqub/xJjRu37lUnocdfDzsdT9KxQmODVPDg0E="; + sha256 = "sha256-HIdJZeniSVM78VwI2rxh5gwFuz/VeJF4gBF/+KkQzU4="; }; buildInputs = [ diff --git a/nixpkgs/pkgs/games/factorio/default.nix b/nixpkgs/pkgs/games/factorio/default.nix index 4cf335a61378..17f9947b4982 100644 --- a/nixpkgs/pkgs/games/factorio/default.nix +++ b/nixpkgs/pkgs/games/factorio/default.nix @@ -85,7 +85,7 @@ let (lib.overrideDerivation (fetchurl { inherit name url sha256; - curlOpts = [ + curlOptsList = [ "--get" "--data-urlencode" "username@username" "--data-urlencode" "token@token" @@ -166,6 +166,7 @@ let version 1.0 in mid 2020. ''; homepage = "https://www.factorio.com/"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ Baughn elitak erictapen priegger lukegb ]; platforms = [ "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/games/factorio/versions.json b/nixpkgs/pkgs/games/factorio/versions.json index 3c083c555d27..37abb4aed03a 100644 --- a/nixpkgs/pkgs/games/factorio/versions.json +++ b/nixpkgs/pkgs/games/factorio/versions.json @@ -2,56 +2,56 @@ "x86_64-linux": { "alpha": { "experimental": { - "name": "factorio_alpha_x64-1.1.56.tar.xz", + "name": "factorio_alpha_x64-1.1.65.tar.xz", "needsAuth": true, - "sha256": "1i9mcq8m48ar0b3x53zgi5x9rsaddmlm2wqaphyf81xampl7ivcx", + "sha256": "0rzifli06s3k3gyzxpzzisxkvnvcidw4njkibrld2n5pwhjg8qbb", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.56/alpha/linux64", - "version": "1.1.56" + "url": "https://factorio.com/get-download/1.1.65/alpha/linux64", + "version": "1.1.65" }, "stable": { - "name": "factorio_alpha_x64-1.1.53.tar.xz", + "name": "factorio_alpha_x64-1.1.61.tar.xz", "needsAuth": true, - "sha256": "1l5sk9rhf4pq9l87w5sv4a1ikqx8rpby5hf4xn7sdsm9mshd3wyw", + "sha256": "1rgb3i6l9v5vv3qw0ngfxryamql2fhhqymv4dr86rxjy863rpx65", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.53/alpha/linux64", - "version": "1.1.53" + "url": "https://factorio.com/get-download/1.1.61/alpha/linux64", + "version": "1.1.61" } }, "demo": { "experimental": { - "name": "factorio_demo_x64-1.1.56.tar.xz", + "name": "factorio_demo_x64-1.1.60.tar.xz", "needsAuth": false, - "sha256": "0g1gphysh79h1frcjpfd5i3fpi05y8mq9gwmgnmalmr56w5n4qlz", + "sha256": "1sckcc8dndml2ahka96qlhyjqinbgzh2sns2qfphsph9x26q1vxn", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.56/demo/linux64", - "version": "1.1.56" + "url": "https://factorio.com/get-download/1.1.60/demo/linux64", + "version": "1.1.60" }, "stable": { - "name": "factorio_demo_x64-1.1.53.tar.xz", + "name": "factorio_demo_x64-1.1.59.tar.xz", "needsAuth": false, - "sha256": "0m3mk296w4azma2v5z6pay1caqql2jfnlcyyd120laxl4rdg2k76", + "sha256": "1nddk8184kgq4ni0y9j2l8sa3szvcbsq9l90b35l9jb6sqflgki0", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.53/demo/linux64", - "version": "1.1.53" + "url": "https://factorio.com/get-download/1.1.59/demo/linux64", + "version": "1.1.59" } }, "headless": { "experimental": { - "name": "factorio_headless_x64-1.1.56.tar.xz", + "name": "factorio_headless_x64-1.1.65.tar.xz", "needsAuth": false, - "sha256": "174fvi9slpdp3y8j46w0w0ays7i7gy98il74xx5wxh7s94zb1b68", + "sha256": "1h5ziip9jbqr03ci2fvf3zqwmy0l7m25br3rm5xv0af9wig9wvh1", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.56/headless/linux64", - "version": "1.1.56" + "url": "https://factorio.com/get-download/1.1.65/headless/linux64", + "version": "1.1.65" }, "stable": { - "name": "factorio_headless_x64-1.1.53.tar.xz", + "name": "factorio_headless_x64-1.1.61.tar.xz", "needsAuth": false, - "sha256": "18ra52h32nhdqxz6vagp9nw3an5pgamariy0ny050xr2xpidw3v1", + "sha256": "0ndnc0f22bqjg1v6ah7i4nzghvk7cn73sgm22lf715di6f6srr38", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.53/headless/linux64", - "version": "1.1.53" + "url": "https://factorio.com/get-download/1.1.61/headless/linux64", + "version": "1.1.61" } } } diff --git a/nixpkgs/pkgs/games/fairymax/default.nix b/nixpkgs/pkgs/games/fairymax/default.nix index 49a91e7a64d4..b493f4dcfa27 100644 --- a/nixpkgs/pkgs/games/fairymax/default.nix +++ b/nixpkgs/pkgs/games/fairymax/default.nix @@ -1,39 +1,49 @@ -{lib, stdenv, fetchurl}: +{ lib +, stdenv +, fetchurl +}: + stdenv.mkDerivation rec { pname = "fairymax"; version = "4.8"; + src = fetchurl { url = "http://home.hccnet.nl/h.g.muller/fmax4_8w.c"; - sha256 = "01vxhpa4z0613mkgkzmsln293wxmyp5kdzil93cd1ik51q4gwjca"; + hash = "sha256-ikn+CA5lxtDYSDT+Nsv1tfORhKW6/vlmHcGAT9SFfQc="; }; + ini = fetchurl { url = "http://home.hccnet.nl/h.g.muller/fmax.ini"; - sha256 = "1zwx70g3gspbqx1zf9gm1may8jrli9idalvskxbdg33qgjys47cn"; + hash = "sha256-lh2ivXx4jNdWn3pT1WKKNEvkVQ31JfdDx+vqNx44nf8="; }; + unpackPhase = '' cp ${src} fairymax.c cp ${ini} fmax.ini ''; + buildPhase = '' - $CC *.c -Wno-return-type -o fairymax -DINI_FILE='"'"$out/share/fairymax/fmax.ini"'"' + cc *.c -Wno-return-type \ + -o fairymax \ + -DINI_FILE='"'"$out/share/fairymax/fmax.ini"'"' ''; + installPhase = '' mkdir -p "$out"/{bin,share/fairymax} cp fairymax "$out/bin" cp fmax.ini "$out/share/fairymax" ''; - meta = { + + meta = with lib; { + homepage = "http://home.hccnet.nl/h.g.muller/dwnldpage.html"; description = "A small chess engine supporting fairy pieces"; longDescription = '' - A version of micro-Max that reads the piece description - from a file fmax.ini, so that arbitrary fairy pieces can be - implemented. This version (4.8J) supports up to 15 piece types, - and board sizes up to 12x8. A Linux port exists in the - format of a debian package. + A version of micro-Max that reads the piece description from a file + fmax.ini, so that arbitrary fairy pieces can be implemented. This version + (4.8J) supports up to 15 piece types, and board sizes up to 12x8. ''; - license = lib.licenses.free ; - maintainers = [lib.maintainers.raskin]; - platforms = lib.platforms.all; - homepage = "http://home.hccnet.nl/h.g.muller/dwnldpage.html"; + license = licenses.free; + maintainers = [ maintainers.raskin ]; + platforms = platforms.all; }; } diff --git a/nixpkgs/pkgs/games/ferium/default.nix b/nixpkgs/pkgs/games/ferium/default.nix new file mode 100644 index 000000000000..2d21d5dc523a --- /dev/null +++ b/nixpkgs/pkgs/games/ferium/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchFromGitHub, rustPlatform, Security, installShellFiles }: + +rustPlatform.buildRustPackage rec { + pname = "ferium"; + version = "4.1.10"; + + src = fetchFromGitHub { + owner = "gorilla-devs"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-dHubI5IaPAjn+vcHvT1t4HqBraO0QztZnp3sdzpYBJo="; + }; + + buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + + cargoSha256 = "sha256-r3QLCh/TXOoXh72AjyV1Ng6nYNCEV9/JggBmd2Gu7j8="; + + # Disable the GUI file picker so that GTK/XDG dependencies aren't used + buildNoDefaultFeatures = true; + + # Requires an internet connection + doCheck = false; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + for shell in bash fish zsh; do + $out/bin/ferium complete $shell > ferium.$shell + installShellCompletion ferium.$shell + done + ''; + + meta = with lib; { + description = "Fast and multi-source CLI program for managing Minecraft mods and modpacks from Modrinth, CurseForge, and GitHub Releases"; + homepage = "https://github.com/gorilla-devs/ferium"; + license = licenses.mpl20; + maintainers = with maintainers; [ leo60228 imsofi ]; + }; +} diff --git a/nixpkgs/pkgs/games/fheroes2/default.nix b/nixpkgs/pkgs/games/fheroes2/default.nix index 10d7a23aca4e..454430276b8a 100644 --- a/nixpkgs/pkgs/games/fheroes2/default.nix +++ b/nixpkgs/pkgs/games/fheroes2/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub -, gettext, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, zlib +, gettext, glibcLocalesUtf8, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, zlib # updater only , nix-update-script @@ -7,28 +7,38 @@ stdenv.mkDerivation rec { pname = "fheroes2"; - version = "0.9.13"; + version = "0.9.18"; src = fetchFromGitHub { owner = "ihhub"; repo = "fheroes2"; rev = version; - sha256 = "sha256-+VAgS7NR/D0HD/Fy7idSUTMJPp2ctpirMpcFooo+bEg="; + sha256 = "sha256-I79PoNE6GFvYD4jnsxKo7MsoPgVow8b8fTIiClOGnAI="; }; - buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ]; + buildInputs = [ gettext glibcLocalesUtf8 libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ]; makeFlags = [ "FHEROES2_STRICT_COMPILATION=1" + "FHEROES2_DATA=\"${placeholder "out"}/share/fheroes2\"" ]; enableParallelBuilding = true; + postBuild = '' + # Pick guaranteed to be present UTF-8 locale. + # Otherwise `iconv` calls fail to produce valid translations. + LANG=en_US.UTF_8 make -C files/lang + ''; + installPhase = '' runHook preInstall install -Dm755 $PWD/src/dist/fheroes2 $out/bin/fheroes2 + install -Dm644 -t $out/share/fheroes2/files/lang $PWD/files/lang/*.mo + install -Dm644 -t $out/share/fheroes2/files/data $PWD/files/data/resurrection.h2d + runHook postInstall ''; diff --git a/nixpkgs/pkgs/games/fishfight/use-system-sdl2.patch b/nixpkgs/pkgs/games/fishfight/use-system-sdl2.patch deleted file mode 100644 index fcae36ce68b0..000000000000 --- a/nixpkgs/pkgs/games/fishfight/use-system-sdl2.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -96,15 +96,6 @@ version = "1.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - --[[package]] --name = "cmake" --version = "0.1.46" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b7b858541263efe664aead4a5209a4ae5c5d2811167d4ed4ee0944503f8d2089" --dependencies = [ -- "cc", --] -- - [[package]] - name = "color_quant" - version = "1.1.0" -@@ -605,7 +596,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "94cb479353c0603785c834e2307440d83d196bf255f204f7f6741358de8d6a2f" - dependencies = [ - "cfg-if", -- "cmake", - "libc", - "version-compare", - ] -diff --git a/Cargo.toml b/Cargo.toml -index d2af29e..a813f30 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -14,7 +14,7 @@ macroquad-profiler = "0.1" - - ff-particles = { version = "0.1", features = ["serde"] } - --fishsticks = { version = "0.2.0", features = ["bundled-sdl2"] } -+fishsticks = "0.2.0" - - stunclient = { git = "https://github.com/not-fl3/rust-stunclient", default-features = false } - diff --git a/nixpkgs/pkgs/games/flare/default.nix b/nixpkgs/pkgs/games/flare/default.nix index 3567a5886055..c849b879ea32 100644 --- a/nixpkgs/pkgs/games/flare/default.nix +++ b/nixpkgs/pkgs/games/flare/default.nix @@ -11,7 +11,7 @@ buildEnv { nativeBuildInputs = [ makeWrapper ]; postBuild = '' mkdir -p $out/bin - makeWrapper $out/games/flare $out/bin/flare --run "cd $out/share/games/flare" + makeWrapper $out/games/flare $out/bin/flare --chdir "$out/share/games/flare" ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/flightgear/default.nix b/nixpkgs/pkgs/games/flightgear/default.nix index d46ee685607b..c927bc9fb431 100644 --- a/nixpkgs/pkgs/games/flightgear/default.nix +++ b/nixpkgs/pkgs/games/flightgear/default.nix @@ -6,7 +6,7 @@ }: let - version = "2020.3.12"; + version = "2020.3.13"; shortVersion = builtins.substring 0 6 version; data = stdenv.mkDerivation rec { pname = "flightgear-data"; @@ -14,7 +14,7 @@ let src = fetchurl { url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.txz"; - sha256 = "sha256-gCsW9e8IuXwmJfAfxJ/nORF5W/PwCka+O8Chwm26OnY="; + sha256 = "sha256-C3iUVA7IJQ77OdXcaBnSpDphMFjmFZmn0nozQvdxSJM="; }; dontUnpack = true; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-wPeZIAiGU0zPBkzeBCO1xEgm+iZd/hWvBEr2ZcsX0Qc="; + sha256 = "sha256-Zhq/r0davIz9G6tXVZRp76ZivG0D9Y6Nl3OFAD/lqow="; }; # Of all the files in the source and data archives, there doesn't seem to be diff --git a/nixpkgs/pkgs/games/freeciv/default.nix b/nixpkgs/pkgs/games/freeciv/default.nix index f5c1ff0ea3f4..abe8aff15806 100644 --- a/nixpkgs/pkgs/games/freeciv/default.nix +++ b/nixpkgs/pkgs/games/freeciv/default.nix @@ -1,7 +1,8 @@ { lib, stdenv, fetchFromGitHub, autoreconfHook, lua5_3, pkg-config, python3 -, zlib, bzip2, curl, xz, gettext, libiconv -, sdlClient ? true, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, freetype, fluidsynth -, gtkClient ? false, gtk3, wrapGAppsHook +, zlib, bzip2, curl, xz, gettext, libiconv, icu +, SDL2, SDL2_mixer, SDL2_image, SDL2_ttf, SDL2_gfx, freetype, fluidsynth +, sdl2Client ? false +, gtkClient ? true, gtk3, wrapGAppsHook , qtClient ? false, qt5 , server ? true, readline , enableSqlite ? true, sqlite @@ -9,13 +10,13 @@ stdenv.mkDerivation rec { pname = "freeciv"; - version = "2.6.6"; + version = "3.0.3"; src = fetchFromGitHub { owner = "freeciv"; repo = "freeciv"; rev = "R${lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "sha256-D5t6sMpm09jbixs5MCghBeDbeuRbGmrrfWR91VNolRM="; + sha256 = "sha256-WIp1R27UahbkLZZuF0nbX/XHVDc2OJukPKgoQ+qnjMc="; }; postPatch = '' @@ -29,8 +30,8 @@ stdenv.mkDerivation rec { ++ lib.optional qtClient [ qt5.wrapQtAppsHook ] ++ lib.optional gtkClient [ wrapGAppsHook ]; - buildInputs = [ lua5_3 zlib bzip2 curl xz gettext libiconv ] - ++ lib.optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ] + buildInputs = [ lua5_3 zlib bzip2 curl xz gettext libiconv icu ] + ++ [ SDL2 SDL2_mixer SDL2_image SDL2_ttf SDL2_gfx freetype fluidsynth ] ++ lib.optionals gtkClient [ gtk3 ] ++ lib.optionals qtClient [ qt5.qtbase ] ++ lib.optional server readline @@ -39,8 +40,16 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; dontWrapGApps = true; + # configure is not smart enough to look for SDL2 headers under + # .../SDL2, but thankfully $SDL2_PATH is almost exactly what we want + preConfigure = '' + export CPPFLAGS="$(echo $SDL2_PATH | sed 's#/nix/store/#-I/nix/store/#g')" + ''; configureFlags = [ "--enable-shared" ] - ++ lib.optional sdlClient "--enable-client=sdl" + ++ lib.optionals sdl2Client [ + "--enable-client=sdl2" + "--enable-sdl-mixer=sdl2" + ] ++ lib.optionals qtClient [ "--enable-client=qt" "--with-qt5-includes=${qt5.qtbase.dev}/include" diff --git a/nixpkgs/pkgs/games/freedink/default.nix b/nixpkgs/pkgs/games/freedink/default.nix index 75c50669421d..b48d7e52cf39 100644 --- a/nixpkgs/pkgs/games/freedink/default.nix +++ b/nixpkgs/pkgs/games/freedink/default.nix @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { homepage = "https://www.gnu.org/software/freedink/"; # Formerly http://www.freedink.org license = lib.licenses.gpl3Plus; - maintainers = [ lib.maintainers.bjg ]; + maintainers = [ ]; platforms = lib.platforms.all; hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin }; diff --git a/nixpkgs/pkgs/games/frogatto/data.nix b/nixpkgs/pkgs/games/frogatto/data.nix index 3ca955a09c39..00e43582f6e1 100644 --- a/nixpkgs/pkgs/games/frogatto/data.nix +++ b/nixpkgs/pkgs/games/frogatto/data.nix @@ -2,14 +2,13 @@ stdenv.mkDerivation { pname = "frogatto-data"; - version = "unstable-2021-05-24"; + version = "unstable-2022-04-13"; src = fetchFromGitHub { owner = "frogatto"; repo = "frogatto"; - # master branch as of 2021-11-29 - rev = "82d3dafa0cfeaad016a427bdbc729eb9509748f1"; - sha256 = "0fmwn584xl0vafcsh72b4xnryfqyjxk5zhmymg5i8rzp6h03n8xq"; + rev = "655493961c4ad57ba9cccdc24d23a2ded294b5f2"; + sha256 = "0irn7p61cs8nm7dxsx84b2c3wryf2h12k2kclywdhy6xmh53w8k1"; }; installPhase = '' diff --git a/nixpkgs/pkgs/games/frogatto/default.nix b/nixpkgs/pkgs/games/frogatto/default.nix index f987992858da..fa6b46e0751f 100644 --- a/nixpkgs/pkgs/games/frogatto/default.nix +++ b/nixpkgs/pkgs/games/frogatto/default.nix @@ -30,7 +30,7 @@ in buildEnv { postBuild = '' wrapProgram $out/bin/frogatto \ - --run "cd $out/share/frogatto" + --chdir "$out/share/frogatto" ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/frogatto/engine.nix b/nixpkgs/pkgs/games/frogatto/engine.nix index 9e8ee6fe8dd8..b848c414b7a3 100644 --- a/nixpkgs/pkgs/games/frogatto/engine.nix +++ b/nixpkgs/pkgs/games/frogatto/engine.nix @@ -1,18 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, which +{ lib, stdenv, fetchFromGitHub, fetchurl, which , boost, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf , glew, zlib, icu, pkg-config, cairo, libvpx }: stdenv.mkDerivation { pname = "anura-engine"; - version = "unstable-2021-11-23"; + version = "unstable-2022-04-09"; src = fetchFromGitHub { owner = "anura-engine"; repo = "anura"; - rev = "816425df31624066e2815e26a25b1c5d3d355cb4"; - sha256 = "1k7fnfgz003gcbyygv4aakhkkz3w3z9nyz7dlwz01xa6122zqyir"; + rev = "5ac7f6fe63114274f0da7dad4c1ed673651e6424"; + sha256 = "1yrcbvzgxdvn893qk1qcpb53pjns366fdls5qjal7lhq71kkfc67"; fetchSubmodules = true; }; + patches = [ + # https://github.com/anura-engine/anura/issues/321 + (fetchurl { + url = "https://github.com/anura-engine/anura/commit/627d08fb5254b5c66d315f1706089905c2704059.patch"; + sha256 = "052m58qb3lg0hnxacpnjz2sz89dk0x6b5qi2q9bkzkvg38f237rr"; + }) + ]; nativeBuildInputs = [ which pkg-config diff --git a/nixpkgs/pkgs/games/gamehub/default.nix b/nixpkgs/pkgs/games/gamehub/default.nix new file mode 100644 index 000000000000..87796d58c732 --- /dev/null +++ b/nixpkgs/pkgs/games/gamehub/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, lib +, fetchFromGitHub +, meson +, ninja +, vala +, pkg-config +, desktop-file-utils +, glib +, gtk3 +, glib-networking +, libgee +, libsoup +, json-glib +, sqlite +, webkitgtk +, libmanette +, libXtst +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "GameHub"; + version = "0.16.3-2"; + + src = fetchFromGitHub { + owner = "tkashkin"; + repo = pname; + rev = "${version}-master"; + hash = "sha256-dBGzXwDO9BvnEIcdfqlGnMzUdBqaVA96Ds0fY6eukes="; + }; + + nativeBuildInputs = [ + desktop-file-utils + meson + ninja + pkg-config + vala + wrapGAppsHook + ]; + + buildInputs = [ + glib + glib-networking + gtk3 + json-glib + libgee + libmanette + libsoup + libXtst + sqlite + webkitgtk + ]; + + meta = with lib; { + homepage = "https://tkashkin.github.io/projects/gamehub"; + description = "Unified library for all your games"; + longDescription = '' + GameHub is a unified library for all your games. It allows you to store + your games from different platforms into one program to make it easier + for you to manage your games. + ''; + maintainers = with maintainers; [ pasqui23 ]; + license = with licenses; [ gpl3Only ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/games/garden-of-coloured-lights/default.nix b/nixpkgs/pkgs/games/garden-of-coloured-lights/default.nix index d38d8936c1a9..9f9e85905a0a 100644 --- a/nixpkgs/pkgs/games/garden-of-coloured-lights/default.nix +++ b/nixpkgs/pkgs/games/garden-of-coloured-lights/default.nix @@ -4,7 +4,8 @@ stdenv.mkDerivation rec { pname = "garden-of-coloured-lights"; version = "1.0.9"; - buildInputs = [ allegro autoconf automake ]; + nativeBuildInputs = [ autoconf automake ]; + buildInputs = [ allegro ]; prePatch = '' noInline='s/inline //' @@ -17,6 +18,11 @@ stdenv.mkDerivation rec { sha256 = "1qsj4d7r22m5f9f5f6cyvam1y5q5pbqvy5058r7w0k4s48n77y6s"; }; + # Workaround build failure on -fno-common toolchains: + # ld: main.o:src/main.c:58: multiple definition of + # `eclass'; eclass.o:src/eclass.c:21: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + meta = with lib; { description = "Old-school vertical shoot-em-up / bullet hell"; homepage = "http://garden.sourceforge.net/drupal/"; diff --git a/nixpkgs/pkgs/games/gargoyle/default.nix b/nixpkgs/pkgs/games/gargoyle/default.nix index bd592dbc55d9..f5d23091b482 100644 --- a/nixpkgs/pkgs/games/gargoyle/default.nix +++ b/nixpkgs/pkgs/games/gargoyle/default.nix @@ -6,7 +6,7 @@ let jamenv = '' unset AR '' + (if stdenv.isDarwin then '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL.dev}/include/SDL" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${lib.getDev SDL}/include/SDL" export GARGLKINI="$out/Applications/Gargoyle.app/Contents/Resources/garglk.ini" '' else '' export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/libexec/gargoyle" @@ -35,6 +35,12 @@ stdenv.mkDerivation rec { buildInputs = [ SDL SDL_mixer SDL_sound gtk2 ] ++ lib.optionals stdenv.isDarwin [ smpeg libvorbis ]; + # Workaround build failure on -fno-common toolchains: + # ld: build/linux.release/alan3/Location.o:(.bss+0x0): multiple definition of + # `logFile'; build/linux.release/alan3/act.o:(.bss+0x0): first defined here + # TODO: drop once updated to 2022.1 or later. + NIX_CFLAGS_COMPILE = "-fcommon"; + buildPhase = jamenv + "jam -j$NIX_BUILD_CORES"; installPhase = @@ -59,6 +65,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with lib; { + broken = stdenv.isDarwin; homepage = "http://ccxvii.net/gargoyle/"; license = licenses.gpl2Plus; description = "Interactive fiction interpreter GUI"; diff --git a/nixpkgs/pkgs/games/gcompris/default.nix b/nixpkgs/pkgs/games/gcompris/default.nix index 5343bae4a6cb..99ee63ed057f 100644 --- a/nixpkgs/pkgs/games/gcompris/default.nix +++ b/nixpkgs/pkgs/games/gcompris/default.nix @@ -18,11 +18,11 @@ mkDerivation rec { pname = "gcompris"; - version = "2.3"; + version = "2.4"; src = fetchurl { url = "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz"; - sha256 = "sha256-UgWLp5IVqbeFFCO/PRFJ/X1sPm7nSkagVcgEp5SdzGI="; + sha256 = "sha256-/QZub48rarVHcD0PgOPc6NTlOKrsEzVK/qjHb5CjWS0="; }; cmakeFlags = [ diff --git a/nixpkgs/pkgs/games/gcs/default.nix b/nixpkgs/pkgs/games/gcs/default.nix index 9d8d74921e54..be8bb7017863 100644 --- a/nixpkgs/pkgs/games/gcs/default.nix +++ b/nixpkgs/pkgs/games/gcs/default.nix @@ -70,6 +70,10 @@ in stdenv.mkDerivation rec { meta = with lib; { description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system"; homepage = "https://gurpscharactersheet.com/"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # source bundles dependencies as jars + ]; license = licenses.mpl20; platforms = platforms.all; maintainers = with maintainers; []; diff --git a/nixpkgs/pkgs/games/gemrb/default.nix b/nixpkgs/pkgs/games/gemrb/default.nix index 947957bc3af6..b29eed160cde 100644 --- a/nixpkgs/pkgs/games/gemrb/default.nix +++ b/nixpkgs/pkgs/games/gemrb/default.nix @@ -18,7 +18,7 @@ let # the GLES backend on rpi is untested as I don't have the hardware backend = - if (stdenv.isx86_32 || stdenv.isx86_64) then "OpenGL" else "GLES"; + if stdenv.hostPlatform.isx86 then "OpenGL" else "GLES"; withVLC = stdenv.isDarwin; diff --git a/nixpkgs/pkgs/games/gimx/default.nix b/nixpkgs/pkgs/games/gimx/default.nix index 132169b711d7..2728afe2c492 100644 --- a/nixpkgs/pkgs/games/gimx/default.nix +++ b/nixpkgs/pkgs/games/gimx/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, xorg, libxml2 -, ncurses5, bluez, libmhash, gimxPDP ? false }: +, ncurses5, bluez, libmhash, gimxPdpGamepad ? false }: let gimx-config = fetchFromGitHub { @@ -11,14 +11,14 @@ let in stdenv.mkDerivation rec { pname = "gimx"; - version = "8.0"; + version = "unstable-2021-08-31"; src = fetchFromGitHub { owner = "matlo"; repo = "GIMX"; - rev = "v${version}"; + rev = "58d2098dce75ed4c90ae649460d3a7a150f4ef0a"; fetchSubmodules = true; - sha256 = "0265gg6q7ymg76fb4pjrfdwjd280b3zzry96qy92w0h411slph85"; + sha256 = "05kdv2qqr311c2p76hdlgvrq7b04vcpps5c80zn8b8l7p831ilgz"; }; patches = [ ./conf.patch ]; @@ -28,7 +28,7 @@ in stdenv.mkDerivation rec { xorg.libX11 xorg.libXi xorg.libXext ]; - postPatch = lib.optionals gimxPDP '' + postPatch = lib.optionals gimxPdpGamepad '' substituteInPlace ./shared/gimxcontroller/include/x360.h \ --replace "0x045e" "0x0e6f" --replace "0x028e" "0x0213" substituteInPlace ./loader/firmware/EMU360.hex \ @@ -61,10 +61,6 @@ in stdenv.mkDerivation rec { makeWrapper $out/bin/gimx $out/bin/gimx-dualshock4 \ --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \ - --add-flags "-c $out/share/config/Dualshock4.xml" - - makeWrapper $out/bin/gimx $out/bin/gimx-dualshock4-noff \ - --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \ --add-flags "-c $out/share/custom/Dualshock4.xml" makeWrapper $out/bin/gimx $out/bin/gimx-xboxonepad \ diff --git a/nixpkgs/pkgs/games/gl-117/default.nix b/nixpkgs/pkgs/games/gl-117/default.nix index 0acabb4a55f3..f135c93ff04f 100644 --- a/nixpkgs/pkgs/games/gl-117/default.nix +++ b/nixpkgs/pkgs/games/gl-117/default.nix @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4"; }; - buildInputs = [ libGLU libGL SDL freeglut SDL_mixer autoconf automake libtool ]; + nativeBuildInputs = [ automake autoconf ]; + buildInputs = [ libGLU libGL SDL freeglut SDL_mixer libtool ]; meta = with lib; { description = "An air combat simulator"; diff --git a/nixpkgs/pkgs/games/gmad/default.nix b/nixpkgs/pkgs/games/gmad/default.nix index 8f43c75f06a8..97538679ee59 100644 --- a/nixpkgs/pkgs/games/gmad/default.nix +++ b/nixpkgs/pkgs/games/gmad/default.nix @@ -2,21 +2,21 @@ stdenv.mkDerivation rec { pname = "gmad"; - version = "unstable-2015-04-16"; + version = "unstable-2020-02-24"; meta = { description = "Garry's Mod Addon Creator and Extractor"; - homepage = "https://github.com/garrynewman/gmad"; + homepage = "https://github.com/Facepunch/gmad"; license = lib.licenses.unfree; maintainers = [ lib.maintainers.abigailbuccaneer ]; platforms = lib.platforms.all; }; src = fetchFromGitHub { - owner = "garrynewman"; + owner = "Facepunch"; repo = "gmad"; - rev = "377f3458bf1ecb8a1a2217c2194773e3c2a2dea0"; - sha256="0myi9njr100gxhxk1vrzr2sbij5kxl959sq0riiqgg01div338g0"; + rev = "5236973a2fcbb3043bdd3d4529ce68b6d938ad93"; + sha256="04an17nvnj38mpi0w005v41ib8ynb5qhgrdkmsda4hq7l1gn276s"; }; buildInputs = [ premake4 bootil ]; diff --git a/nixpkgs/pkgs/games/gnonograms/default.nix b/nixpkgs/pkgs/games/gnonograms/default.nix index 21f522d3418f..2446384ff719 100644 --- a/nixpkgs/pkgs/games/gnonograms/default.nix +++ b/nixpkgs/pkgs/games/gnonograms/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , vala , meson , ninja @@ -19,24 +18,15 @@ stdenv.mkDerivation rec { pname = "gnonograms"; - version = "2.0.0"; + version = "2.1.2"; src = fetchFromGitHub { owner = "jeremypw"; repo = "gnonograms"; rev = "v${version}"; - sha256 = "sha256-2uXaybpCAm9cr0o7bqfhgD7mMNPwtv1X/PgnFnSDOl0="; + sha256 = "sha256-TkEVjrwlr4Q5FsfcdY+9fxwaMq+DFs0RwGI2E+GT5Mk="; }; - patches = [ - # Fix build with meson 0.61, can be removed on next release - # https://github.com/jeremypw/gnonograms/pull/45 - (fetchpatch { - url = "https://github.com/jeremypw/gnonograms/commit/0e90d8ff42d64a94002ec8500889bc4d7e06c1b6.patch"; - sha256 = "sha256-G/yqsZFmOA69A3E2CROMYAS5vmok/K5l1S/M2m8DMh4="; - }) - ]; - postPatch = '' patchShebangs meson/post_install.py ''; diff --git a/nixpkgs/pkgs/games/gnubg/default.nix b/nixpkgs/pkgs/games/gnubg/default.nix index 6f50869e6c69..727626790529 100644 --- a/nixpkgs/pkgs/games/gnubg/default.nix +++ b/nixpkgs/pkgs/games/gnubg/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, python3, gtk2, readline }: +{ lib, stdenv, fetchurl, pkg-config, glib, python2, gtk2, readline }: stdenv.mkDerivation rec { pname = "gnubg"; @@ -9,8 +9,9 @@ stdenv.mkDerivation rec { sha256 = "11xwhcli1h12k6rnhhyq4jphzrhfik7i8ah3k32pqw803460n6yf"; }; - nativeBuildInputs = [ pkg-config python3 glib ]; - buildInputs = [ gtk2 readline ]; + nativeBuildInputs = [ pkg-config python2 glib ]; + + buildInputs = [ gtk2 readline ]; strictDeps = true; diff --git a/nixpkgs/pkgs/games/gnugo/default.nix b/nixpkgs/pkgs/games/gnugo/default.nix index e33c27bf9eb4..3b8449ab4c7f 100644 --- a/nixpkgs/pkgs/games/gnugo/default.nix +++ b/nixpkgs/pkgs/games/gnugo/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl }: +{ lib, stdenv, fetchurl, fetchpatch }: stdenv.mkDerivation rec { pname = "gnugo"; @@ -9,6 +9,16 @@ stdenv.mkDerivation rec { sha256 = "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s"; }; + patches = [ + # Pull patch pending upstream inclusion for -fno-common toolchain support: + # https://savannah.gnu.org/patch/index.php?10208 + (fetchpatch { + name = "fno-common.patch"; + url = "https://savannah.gnu.org/patch/download.php?file_id=53240"; + sha256 = "0s96qvmx244vq5pv2nzf7x863kq2y5skzjhbpyzaajfkldbj0sw4"; + }) + ]; + hardeningDisable = [ "format" ]; meta = { diff --git a/nixpkgs/pkgs/games/grapejuice/default.nix b/nixpkgs/pkgs/games/grapejuice/default.nix index 4ddb58c81482..23e245149ad7 100644 --- a/nixpkgs/pkgs/games/grapejuice/default.nix +++ b/nixpkgs/pkgs/games/grapejuice/default.nix @@ -1,6 +1,7 @@ { lib , fetchFromGitLab , gobject-introspection +, pciutils , python3Packages , gtk3 , wrapGAppsHook @@ -9,43 +10,46 @@ , desktop-file-utils , xdg-utils , xdg-user-dirs -, wine +, gettext , winetricks -, pciutils +, wine , glxinfo }: python3Packages.buildPythonApplication rec { pname = "grapejuice"; - version = "4.10.2"; + version = "5.2.2"; src = fetchFromGitLab { owner = "BrinkerVII"; repo = "grapejuice"; - rev = "9a7cf806d35b4d53b3d3762339eba7d861b5043d"; - sha256 = "sha256-cKZv9qPCnl7i4kb6PG8RYx3HNLcwgI4d2zkw899MA6E="; + rev = "v${version}"; + sha256 = "sha256-YEAYoZF1Lf0ykB13cuRf5sOR1HIxwdcibyJLgP3g4Jk="; }; nativeBuildInputs = [ gobject-introspection desktop-file-utils glib - gtk3 wrapGAppsHook ]; buildInputs = [ cairo + gettext + gtk3 ]; propagatedBuildInputs = with python3Packages; [ - requests - pygobject3 + psutil dbus-python + pygobject3 packaging - psutil + wheel setuptools + requests unidecode + click ]; dontWrapGApps = true; @@ -58,6 +62,7 @@ python3Packages.buildPythonApplication rec { postPatch = '' substituteInPlace src/grapejuice_common/assets/desktop/grapejuice.desktop \ --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \ + --replace \$GRAPEJUICE_GUI_EXECUTABLE "$out/bin/grapejuice-gui" \ --replace \$GRAPEJUICE_ICON grapejuice substituteInPlace src/grapejuice_common/assets/desktop/roblox-player.desktop \ @@ -71,6 +76,12 @@ python3Packages.buildPythonApplication rec { substituteInPlace src/grapejuice_common/assets/desktop/roblox-studio.desktop \ --replace \$GRAPEJUICE_EXECUTABLE "$out/bin/grapejuice" \ --replace \$STUDIO_ICON "grapejuice-roblox-studio" + + substituteInPlace src/grapejuice_common/paths.py \ + --replace 'return local_share() / "locale"' 'return Path("${placeholder "out"}/share/locale")' + + substituteInPlace src/grapejuice_common/features/settings.py \ + --replace 'k_default_wine_home: "",' 'k_default_wine_home: "${wine}",' ''; postInstall = '' @@ -78,6 +89,23 @@ python3Packages.buildPythonApplication rec { cp -r src/grapejuice_common/assets/desktop/* $out/share/applications/ cp -r src/grapejuice_common/assets/icons $out/share/ cp src/grapejuice_common/assets/mime_xml/*.xml $out/share/mime/packages/ + + # compile locales (*.po -> *.mo) + # from https://gitlab.com/brinkervii/grapejuice/-/blob/master/src/grapejuice_common/util/mo_util.py + LOCALE_DIR="$out/share/locale" + PO_DIR="src/grapejuice_common/assets/po" + LINGUAS_FILE="src/grapejuice_common/assets/po/LINGUAS" + + for lang in $(<"$LINGUAS_FILE") # extract langs from LINGUAS_FILE + do + po_file="$PO_DIR/$lang.po" + mo_file_dir="$LOCALE_DIR/$lang/LC_MESSAGES" + + mkdir -p $mo_file_dir + + mo_file="$mo_file_dir/grapejuice.mo" + msgfmt $po_file -o $mo_file # msgfmt from gettext + done ''; # No tests @@ -87,9 +115,9 @@ python3Packages.buildPythonApplication rec { meta = with lib; { homepage = "https://gitlab.com/brinkervii/grapejuice"; - description = "A wine+Roblox management application"; + description = "Simple Wine+Roblox management tool"; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ artturin ]; + maintainers = with maintainers; [ artturin helium ]; }; } diff --git a/nixpkgs/pkgs/games/graphwar/default.nix b/nixpkgs/pkgs/games/graphwar/default.nix new file mode 100644 index 000000000000..3586979292e6 --- /dev/null +++ b/nixpkgs/pkgs/games/graphwar/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, copyDesktopItems +, jdk +, makeDesktopItem +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "graphwar"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "catabriga"; + repo = "graphwar"; + rev = version; + sha256 = "sha256-t3Y576dXWp2Mj6OSQN5cm9FuNBWNqKq6xxkVRbjIBgE="; + }; + + nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + buildInputs = [ jdk ]; + + buildPhase = '' + runHook preBuild + + mkdir -p out/ + javac -d out/ -sourcepath src/ -classpath out/ -encoding utf8 src/**/*.java + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/ + mv out $out/lib/graphwar + cp -r rsc $out/lib/graphwar/rsc + + makeWrapper ${jdk}/bin/java $out/bin/graphwar \ + --add-flags "-classpath $out/lib/graphwar Graphwar.Graphwar" + makeWrapper ${jdk}/bin/java $out/bin/graphwar-roomserver \ + --add-flags "-classpath $out/lib/graphwar RoomServer.RoomServer" + makeWrapper ${jdk}/bin/java $out/bin/graphwar-globalserver \ + --add-flags "-classpath $out/lib/graphwar GlobalServer.GlobalServer" + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "graphwar"; + exec = "graphwar"; + desktopName = "Graphwar"; + categories = [ "Game" ]; + }) + ]; + + meta = with lib; { + homepage = "http://www.graphwar.com/"; + description = "An artillery game in which you must hit your enemies using mathematical functions"; + license = licenses.gpl3Plus; + platforms = jdk.meta.platforms; + maintainers = with maintainers; [ yrd ]; + }; +} diff --git a/nixpkgs/pkgs/games/gscrabble/default.nix b/nixpkgs/pkgs/games/gscrabble/default.nix index f0e4121d8f2c..b21cdadac1e0 100644 --- a/nixpkgs/pkgs/games/gscrabble/default.nix +++ b/nixpkgs/pkgs/games/gscrabble/default.nix @@ -4,13 +4,13 @@ buildPythonApplication { pname = "gscrabble"; - version = "unstable-2019-03-11"; + version = "unstable-2020-04-21"; src = fetchFromGitHub { owner = "RaaH"; repo = "gscrabble"; - rev = "4b6e4e151a4cd4a4f66a5be2c8616becac3f2a29"; - sha256 = "0a89kqh04x52q7qyv1rfa7xif0pdw3zc0dw5a24msala919g90q2"; + rev = "aba37f062a6b183dcc084c453f395af1dc437ec8"; + sha256 = "sha256-rYpPHgOlPRnlA+Nkvo/J+/8/vl24/Ssk55fTq9oNCz4="; }; doCheck = false; @@ -31,10 +31,14 @@ buildPythonApplication { ''; meta = with lib; { + # Fails to build, propably incompatible with latest Python + # error: Multiple top-level packages discovered in a flat-layout + # https://github.com/RaaH/gscrabble/issues/13 + broken = true; description = "Golden Scrabble crossword puzzle game"; homepage = "https://github.com/RaaH/gscrabble/"; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = [ ]; + maintainers = with maintainers; [ onny ]; }; } diff --git a/nixpkgs/pkgs/games/gshogi/default.nix b/nixpkgs/pkgs/games/gshogi/default.nix index c3479f6758af..4b674ac129df 100644 --- a/nixpkgs/pkgs/games/gshogi/default.nix +++ b/nixpkgs/pkgs/games/gshogi/default.nix @@ -1,8 +1,12 @@ -{ lib, buildPythonApplication, fetchFromGitHub -, gtk3, gobject-introspection -, wrapGAppsHook, python3Packages }: +{ lib +, fetchFromGitHub +, gobject-introspection +, gtk3 +, python3 +, wrapGAppsHook +}: -buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "gshogi"; version = "0.5.1"; @@ -10,7 +14,7 @@ buildPythonApplication rec { owner = "johncheetham"; repo = "gshogi"; rev = "v${version}"; - sha256 = "06vgndfgwyfi50wg3cw92zspc9z0k7xn2pp6qsjih0l5yih8iwqh"; + hash = "sha256-EPOIYPSFAhilxuZeYfuZ4Cd29ReJs/E4KNF5/lyzbxs="; }; doCheck = false; # no tests available @@ -22,15 +26,15 @@ buildPythonApplication rec { nativeBuildInputs = [ wrapGAppsHook ]; - propagatedBuildInputs = with python3Packages; [ + propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ]; meta = with lib; { - description = "A graphical implementation of the Shogi board game, also known as Japanese Chess"; homepage = "http://johncheetham.com/projects/gshogi/"; - license = licenses.gpl3; + description = "A graphical implementation of the Shogi board game, also known as Japanese Chess"; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = [ maintainers.ciil ]; }; diff --git a/nixpkgs/pkgs/games/hedgewars/default.nix b/nixpkgs/pkgs/games/hedgewars/default.nix index 9062af5be383..7ea8257e192a 100644 --- a/nixpkgs/pkgs/games/hedgewars/default.nix +++ b/nixpkgs/pkgs/games/hedgewars/default.nix @@ -1,7 +1,7 @@ -{ mkDerivation, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut +{ stdenv, SDL2_image, SDL2_ttf, SDL2_net, fpc, ghcWithPackages, ffmpeg, freeglut , lib, fetchurl, cmake, pkg-config, lua5_1, SDL2, SDL2_mixer , zlib, libpng, libGL, libGLU, physfs -, qtbase, qttools +, qtbase, qttools, wrapQtAppsHook , llvm , withServer ? true }: @@ -14,7 +14,7 @@ let ]); in -mkDerivation rec { +stdenv.mkDerivation rec { pname = "hedgewars"; version = "1.0.0"; @@ -23,7 +23,7 @@ mkDerivation rec { sha256 = "0nqm9w02m0xkndlsj6ys3wr0ik8zc14zgilq7k6fwjrf3zk385i1"; }; - nativeBuildInputs = [ cmake pkg-config qttools ]; + nativeBuildInputs = [ cmake pkg-config qttools wrapQtAppsHook ]; buildInputs = [ SDL2_ttf SDL2_net SDL2 SDL2_mixer SDL2_image @@ -33,6 +33,10 @@ mkDerivation rec { qtbase ] ++ lib.optional withServer ghc; + patches = [ + ./qt515.patch + ]; + postPatch = '' substituteInPlace gameServer/CMakeLists.txt \ --replace mask evaluate diff --git a/nixpkgs/pkgs/games/hedgewars/qt515.patch b/nixpkgs/pkgs/games/hedgewars/qt515.patch new file mode 100644 index 000000000000..a8dc9907f405 --- /dev/null +++ b/nixpkgs/pkgs/games/hedgewars/qt515.patch @@ -0,0 +1,10 @@ +--- a/QTfrontend/ui/page/pagegamestats.cpp ++++ b/QTfrontend/ui/page/pagegamestats.cpp +@@ -22,6 +22,7 @@ + #include <QGraphicsScene> + #include <QGroupBox> + #include <QSizePolicy> ++#include <QPainterPath> + + #include "pagegamestats.h" + #include "team.h" diff --git a/nixpkgs/pkgs/games/heroic/default.nix b/nixpkgs/pkgs/games/heroic/default.nix index c0416d0dd7e8..044d159cde1d 100644 --- a/nixpkgs/pkgs/games/heroic/default.nix +++ b/nixpkgs/pkgs/games/heroic/default.nix @@ -1,12 +1,12 @@ -{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }: +{ lib, fetchurl, appimageTools }: let pname = "heroic"; - version = "2.2.1"; + version = "2.2.6"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage"; - sha256 = "sha256-zzxf3eM1fUWTVtzzABcwlmptNuCVQafvotnbOiCzu0c="; + sha256 = "sha256-kL30/G4DpDPwGN7PvbWest7TcgL4Rd1c2OM4nRCT3bg="; }; appimageContents = appimageTools.extractType2 { inherit name src; }; @@ -29,10 +29,6 @@ appimageTools.wrapType2 { --replace 'Exec=AppRun' 'Exec=heroic' ''; - profile = '' - export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS - ''; - meta = with lib; { description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac"; homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher"; diff --git a/nixpkgs/pkgs/games/holdingnuts/default.nix b/nixpkgs/pkgs/games/holdingnuts/default.nix deleted file mode 100644 index 2bda18209280..000000000000 --- a/nixpkgs/pkgs/games/holdingnuts/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchurl, cmake, SDL, qt4 }: - -let mirror = "http://download.holdingnuts.net"; -in stdenv.mkDerivation rec { - pname = "holdingnuts"; - version = "0.0.5"; - - src = fetchurl { - url = "${mirror}/release/${version}/${pname}-${version}.tar.bz2"; - sha256 = "0iw25jmnqzscg34v66d4zz70lvgjp4l7gi16nna6491xnqha5a8g"; - }; - - patches = [ - (fetchurl { - url = "${mirror}/patches/holdingnuts-0.0.5-wheel.patch"; - sha256 = "0hap5anxgc19s5qi64mjpi3wpgphy4dqdxqw34q19dw3gwxw5g8n"; - }) - (fetchurl { - url = "${mirror}/patches/holdingnuts-qpixmapcache-workaround.patch"; - sha256 = "15cf9j9mdm85f0h7w5f5852ic7xpim0243yywkd2qrfp37mi93pd"; - }) - ]; - - postPatch = '' - substituteInPlace src/system/SysAccess.c --replace /usr/share $out/share - ''; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ SDL qt4 ]; - - meta = with lib; { - homepage = "http://www.holdingnuts.net/"; - description = "Open Source Poker client and server"; - license = licenses.gpl3; - maintainers = with maintainers; [ obadz ]; - platforms = platforms.all; - }; -} diff --git a/nixpkgs/pkgs/games/hyperrogue/default.nix b/nixpkgs/pkgs/games/hyperrogue/default.nix index 0397bb474da3..c1a3eddd25f4 100644 --- a/nixpkgs/pkgs/games/hyperrogue/default.nix +++ b/nixpkgs/pkgs/games/hyperrogue/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0bijgbqpc867pq8lbwwvcnc713gm51mmz625xb5br0q2qw09nkyh"; }; - CPPFLAGS = "-I${SDL.dev}/include/SDL"; + CPPFLAGS = "-I${lib.getDev SDL}/include/SDL"; buildInputs = [ autoreconfHook SDL SDL_ttf SDL_gfx SDL_mixer libpng glew ]; diff --git a/nixpkgs/pkgs/games/infra-arcana/default.nix b/nixpkgs/pkgs/games/infra-arcana/default.nix new file mode 100644 index 000000000000..e48c69a2cf33 --- /dev/null +++ b/nixpkgs/pkgs/games/infra-arcana/default.nix @@ -0,0 +1,60 @@ +{ lib +, stdenv +, fetchFromGitLab +, cmake +, makeWrapper +, SDL2 +, SDL2_image +, SDL2_mixer +}: + +stdenv.mkDerivation rec { + pname = "infra-arcana"; + version = "21.0.1"; + + src = fetchFromGitLab { + owner = "martin-tornqvist"; + repo = "ia"; + rev = "v${version}"; + sha256 = "sha256-E2ssxdYa27qRk5cCmM7A5VqXGExwXHblR34y+rOUBRI="; + }; + + nativeBuildInputs = [ cmake makeWrapper ]; + buildInputs = [ SDL2 SDL2_image SDL2_mixer ]; + + # Some parts of the game don't compile with glibc 2.34. As soon as + # this is fixed upstream we can switch to the default build flags. + buildFlags = [ "ia" ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{opt/ia,bin} + + # Remove build artifacts + rm -rf CMake* cmake* compile_commands.json CTest* Makefile + cp -ra * $out/opt/ia + + # Uses relative paths when looking for assets + wrapProgram $out/opt/ia/ia --run "cd $out/opt/ia" + ln -s $out/opt/ia/ia $out/bin/infra-arcana + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://sites.google.com/site/infraarcana"; + description = "A Lovecraftian single-player roguelike game"; + longDescription = '' + Infra Arcana is a Roguelike set in the early 20th century. The goal is to + explore the lair of a dreaded cult called The Church of Starry Wisdom. + + Buried deep beneath their hallowed grounds lies an artifact called The + Shining Trapezohedron - a window to all secrets of the universe. Your + ultimate goal is to unearth this artifact. + ''; + platforms = platforms.linux; + maintainers = [ maintainers.kenran ]; + license = licenses.agpl3Plus; + }; +} diff --git a/nixpkgs/pkgs/games/iortcw/default.nix b/nixpkgs/pkgs/games/iortcw/default.nix index 8af3dfe31f68..9da055acc218 100644 --- a/nixpkgs/pkgs/games/iortcw/default.nix +++ b/nixpkgs/pkgs/games/iortcw/default.nix @@ -17,7 +17,7 @@ in buildEnv { # so we can launch sp from mp game and vice versa postBuild = '' for i in `find -L $out/opt/iortcw -maxdepth 1 -type f -executable`; do - makeWrapper $i $out/bin/`basename $i` --run "cd $out/opt/iortcw" + makeWrapper $i $out/bin/`basename $i` --chdir "$out/opt/iortcw" done ''; diff --git a/nixpkgs/pkgs/games/iortcw/sp.nix b/nixpkgs/pkgs/games/iortcw/sp.nix index fa6f73a177b2..d9faa177c17d 100644 --- a/nixpkgs/pkgs/games/iortcw/sp.nix +++ b/nixpkgs/pkgs/games/iortcw/sp.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { postInstall = '' for i in `find $out/opt/iortcw -maxdepth 1 -type f -executable`; do - makeWrapper $i $out/bin/`basename $i` --run "cd $out/opt/iortcw" + makeWrapper $i $out/bin/`basename $i` --chdir "$out/opt/iortcw" done ''; diff --git a/nixpkgs/pkgs/games/itch-setup/default.nix b/nixpkgs/pkgs/games/itch-setup/default.nix deleted file mode 100644 index 55d488bcaac0..000000000000 --- a/nixpkgs/pkgs/games/itch-setup/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ lib, writeShellScriptBin, steam-run, fetchurl }: -let - - pname = "itch-setup"; - version = "1.26.0"; - - src = fetchurl { - url = "https://broth.itch.ovh/itch-setup/linux-amd64/${version}/unpacked/default"; - hash = "sha256-bcJKqhgZK42Irx12BIvbTDMb/DHEOEXljetlDokF7x8="; - executable = true; - }; - -in -(writeShellScriptBin pname ''exec ${steam-run}/bin/steam-run ${src} "$@"'') // { - - passthru = { inherit pname version src; }; - meta = with lib; { - description = "An installer for the itch.io desktop app"; - homepage = "https://github.com/itchio/itch-setup"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ pasqui23 ]; - }; -} diff --git a/nixpkgs/pkgs/games/itch/butler.nix b/nixpkgs/pkgs/games/itch/butler.nix new file mode 100644 index 000000000000..68f1bac49e90 --- /dev/null +++ b/nixpkgs/pkgs/games/itch/butler.nix @@ -0,0 +1,29 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "butler"; + version = "15.21.0"; + + src = fetchFromGitHub { + owner = "itchio"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-vciSmXR3wI3KcnC+Uz36AgI/WUfztA05MJv1InuOjJM="; + }; + + proxyVendor = true; + + vendorSha256 = "sha256-EIl0ZFDKbZopUR22hp5a2vRUu0O1h1O953NrtoNa2x8="; + + doCheck = false; + + meta = with lib; { + description = "Command-line itch.io helper"; + homepage = "https://github.com/itchio/butler"; + license = licenses.mit; + maintainers = with maintainers; [ martfont ]; + }; +} diff --git a/nixpkgs/pkgs/games/itch/default.nix b/nixpkgs/pkgs/games/itch/default.nix index 34a2775c3c80..6f6dbde15d63 100644 --- a/nixpkgs/pkgs/games/itch/default.nix +++ b/nixpkgs/pkgs/games/itch/default.nix @@ -1,30 +1,55 @@ { lib , stdenvNoCC -, fetchurl -, libnotify -, nss -, gtk3 +, fetchpatch +, fetchzip , fetchFromGitHub +, butler +, electron_11 +, steam-run +, makeWrapper +, copyDesktopItems , makeDesktopItem -, itch-setup -, runtimeShell }: -stdenvNoCC.mkDerivation rec{ +stdenvNoCC.mkDerivation rec { pname = "itch"; version = "25.5.1"; - src = fetchFromGitHub { + src = fetchzip { + url = "https://broth.itch.ovh/${pname}/linux-amd64/${version}/itch.zip"; + stripRoot = false; + sha256 = "sha256-ejfS+sqhacW2h8u96W4fout3V8xrBs0SrW5w/7X83m4="; + }; + + patches = [ + # Fixes crash while browsing the store. + (fetchpatch { + name = "itch.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/itch.patch?h=itch-bin&id=0b181454567029141749f870880b10093216e133"; + sha256 = "sha256-gmLL/BMondSflERm0z+DuGDP56JhDXiyxEwLUavTD8Q="; + }) + ]; + + itch-setup = fetchzip { + url = "https://broth.itch.ovh/itch-setup/linux-amd64/1.26.0/itch-setup.zip"; + stripRoot = false; + sha256 = "sha256-5MP6X33Jfu97o5R1n6Og64Bv4ZMxVM0A8lXeQug+bNA="; + }; + + icons = fetchFromGitHub { owner = "itchio"; repo = pname; rev = "v${version}"; - hash = "sha256-Pi3l3uK4kr+N3p7fGQuqckYIzycRqJHDVX00reoSbp4="; + hash = "sha256-DZBmf8fe0zw5uiQjNKXw8g/vU2hjNDa87z/7XuhyXog="; + sparseCheckout = "release/images/itch-icons"; }; + nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + desktopItems = [ (makeDesktopItem { name = pname; - exec = pname; - tryExec = "itch %U"; + exec = "itch %U"; + tryExec = pname; icon = pname; desktopName = pname; mimeTypes = [ "x-scheme-handler/itchio" "x-scheme-handler/itch" ]; @@ -33,23 +58,33 @@ stdenvNoCC.mkDerivation rec{ }) ]; - itchBin = '' - #!${runtimeShell} - exec ${itch-setup}/bin/itch-setup --prefer-launch -- "$@" - ''; + # As taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch-bin + installPhase = '' + runHook preInstall - passAsFile = [ "itchBin" ]; + mkdir -p $out/bin $out/share/${pname}/resources/app + cp -r resources/app "$out/share/${pname}/resources/" - # as taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch - installPhase = '' - install -Dm0777 $itchBinPath $out/bin/itch - for icon in release/images/itch-icons/icon*.png + install -Dm644 LICENSE -t "$out/share/licenses/$pkgname/" + install -Dm644 LICENSES.chromium.html -t "$out/share/licenses/$pkgname/" + + for icon in $icons/release/images/itch-icons/icon*.png do - iconsize="''${icon#release/images/itch-icons/icon}" + iconsize="''${icon#$icons/icon}" iconsize="''${iconsize%.png}" icondir="$out/share/icons/hicolor/''${iconsize}x''${iconsize}/apps/" install -Dm644 "$icon" "$icondir/itch.png" done + + runHook postInstall + ''; + + postFixup = '' + makeWrapper ${steam-run}/bin/steam-run $out/bin/${pname} \ + --add-flags ${electron_11}/bin/electron \ + --add-flags $out/share/${pname}/resources/app \ + --set BROTH_USE_LOCAL butler,itch-setup \ + --prefix PATH : ${butler}/bin/:${itch-setup} ''; meta = with lib; { @@ -57,6 +92,7 @@ stdenvNoCC.mkDerivation rec{ homepage = "https://github.com/itchio/itch"; license = licenses.mit; platforms = platforms.linux; + sourceProvenance = lib.sourceTypes.binaryBytecode; maintainers = with maintainers; [ pasqui23 ]; }; } diff --git a/nixpkgs/pkgs/games/julius/default.nix b/nixpkgs/pkgs/games/julius/default.nix index 84970d110550..df1ff2bd1a06 100644 --- a/nixpkgs/pkgs/games/julius/default.nix +++ b/nixpkgs/pkgs/games/julius/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchFromGitHub, cmake, SDL2, SDL2_mixer, libpng }: +{ lib +, stdenv +, fetchFromGitHub +, SDL2 +, SDL2_mixer +, cmake +, libpng +}: stdenv.mkDerivation rec { pname = "julius"; @@ -8,18 +15,18 @@ stdenv.mkDerivation rec { owner = "bvschaik"; repo = "julius"; rev = "v${version}"; - sha256 = "0w7kmgz9ya0ck9cxhsyralarg7y6ydx4plmh33r4mkxkamlr7493"; + hash = "sha256-I5GTaVWzz0ryGLDSS3rzxp+XFVXZa9hZmgwon/6r83A="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 SDL2_mixer libpng ]; meta = with lib; { - description = "An open source re-implementation of Caesar III"; homepage = "https://github.com/bvschaik/julius"; + description = "An open source re-implementation of Caesar III"; license = licenses.agpl3; + maintainers = with maintainers; [ Thra11 ]; platforms = platforms.all; broken = stdenv.isDarwin; - maintainers = with maintainers; [ Thra11 ]; }; } diff --git a/nixpkgs/pkgs/games/fishfight/default.nix b/nixpkgs/pkgs/games/jumpy/default.nix index 422901fd9864..2afba817fc00 100644 --- a/nixpkgs/pkgs/games/fishfight/default.nix +++ b/nixpkgs/pkgs/games/jumpy/default.nix @@ -2,54 +2,53 @@ , rustPlatform , fetchFromGitHub , stdenv -, SDL2 +, pkg-config , alsa-lib , libGL , libX11 , libXi -, AudioToolbox +, udev , Cocoa -, CoreAudio , OpenGL }: rustPlatform.buildRustPackage rec { - pname = "fishfight"; - version = "0.3"; + pname = "jumpy"; + version = "0.4.3"; src = fetchFromGitHub { - owner = "fishfight"; + owner = "fishfolks"; repo = pname; rev = "v${version}"; - sha256 = "sha256-kLdk7zTICZ8iawNttTsWUVKGvh2zykXVsMqUyYoGrBs="; + sha256 = "sha256-01zhiQi6v/8ZajsdBU+4hKUCj+PRJ/vUHluOIzy/Gi8="; }; - # use system sdl2 instead of bundled sdl2 - cargoPatches = [ ./use-system-sdl2.patch ]; + cargoSha256 = "sha256-AXaGuRqSFiq+Uiy+UaqPdPVyDhCogC64KZZ0Ah1Yo7A="; - cargoSha256 = "sha256-KQiqUzdsVMIjDmmreihekrrFoXeyNzd6ZbqApwH8B4Q="; + nativeBuildInputs = lib.optionals stdenv.isLinux [ + pkg-config + ]; - buildInputs = [ - SDL2 - ] ++ lib.optionals stdenv.isLinux [ + buildInputs = lib.optionals stdenv.isLinux [ alsa-lib libGL libX11 libXi + udev ] ++ lib.optionals stdenv.isDarwin [ - AudioToolbox Cocoa - CoreAudio OpenGL ]; postPatch = '' - substituteInPlace src/main.rs --replace ./assets $out/share/assets + substituteInPlace src/main.rs \ + --replace ./assets $out/share/assets \ + --replace ./mods $out/share/mods ''; postInstall = '' mkdir $out/share - cp -r assets $out/share + cp -r assets mods $out/share ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/kabeljau/default.nix b/nixpkgs/pkgs/games/kabeljau/default.nix new file mode 100644 index 000000000000..0b5b1167ead3 --- /dev/null +++ b/nixpkgs/pkgs/games/kabeljau/default.nix @@ -0,0 +1,40 @@ +{ stdenvNoCC, lib, fetchFromGitea, just, inkscape, makeWrapper, bash, dialog }: + +stdenvNoCC.mkDerivation rec { + pname = "kabeljau"; + version = "1.2.0"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "annaaurora"; + repo = "kabeljau"; + rev = "v${version}"; + sha256 = "sha256-RedVItgfr6vgqXHA3bOiHXDpfGuHI+sX4jCHL9G5jYk="; + }; + + # Inkscape is needed in a just recipe where it is used to export the SVG icon to several different sized PNGs. + nativeBuildInputs = [ just inkscape makeWrapper ]; + postPatch = '' + patchShebangs --host ${pname} + substituteInPlace ./justfile \ + --replace " /bin" " $out/bin" \ + --replace " /usr" " $out" + ''; + installPhase = '' + runHook preInstall + + just install + wrapProgram $out/bin/${pname} --suffix PATH : ${ + lib.makeBinPath [ dialog ] + } + + runHook postInstall + ''; + + meta = with lib; { + description = "Survive as a stray cat in an ncurses game"; + homepage = "https://codeberg.org/annaaurora/kabeljau"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ annaaurora ]; + }; +} diff --git a/nixpkgs/pkgs/games/katago/default.nix b/nixpkgs/pkgs/games/katago/default.nix index 3265f3d63382..a3d7ed5cba9d 100644 --- a/nixpkgs/pkgs/games/katago/default.nix +++ b/nixpkgs/pkgs/games/katago/default.nix @@ -1,8 +1,7 @@ { stdenv , boost , cmake -, cudatoolkit -, cudnn +, cudaPackages , eigen , fetchFromGitHub , gperftools @@ -52,7 +51,8 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (!enableGPU) [ eigen ] ++ lib.optionals (enableGPU && enableCuda) [ - cudnn + cudaPackages.cudnn + cudaPackages.cudatoolkit mesa.drivers ] ++ lib.optionals (enableGPU && !enableCuda) [ opencl-headers @@ -86,7 +86,7 @@ stdenv.mkDerivation rec { preConfigure = '' cd cpp/ '' + lib.optionalString enableCuda '' - export CUDA_PATH="${cudatoolkit}" + export CUDA_PATH="${cudaPackages.cudatoolkit}" export EXTRA_LDFLAGS="-L/run/opengl-driver/lib" ''; diff --git a/nixpkgs/pkgs/games/keeperrl/default.nix b/nixpkgs/pkgs/games/keeperrl/default.nix index bd49b821f9e1..f1c0f1712629 100644 --- a/nixpkgs/pkgs/games/keeperrl/default.nix +++ b/nixpkgs/pkgs/games/keeperrl/default.nix @@ -68,8 +68,8 @@ stdenv.mkDerivation rec { description = "A dungeon management rogue-like"; homepage = "https://keeperrl.com/"; license = licenses.gpl2; - maintainers = with maintainers; [ chattered ]; + maintainers = with maintainers; [ ]; # TODO: Add OS X - platforms = with platforms; [ "i686-linux" "x86_64-linux" ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/nixpkgs/pkgs/games/koules/default.nix b/nixpkgs/pkgs/games/koules/default.nix new file mode 100644 index 000000000000..360415dc2e1d --- /dev/null +++ b/nixpkgs/pkgs/games/koules/default.nix @@ -0,0 +1,77 @@ +{ stdenv +, lib +, fetchurl +, fetchzip +, copyDesktopItems +, gccmakedep +, imake +, installShellFiles +, libX11 +, libXext +, makeDesktopItem +}: + +let + debian-extras = fetchzip { + url = "mirror://debian/pool/main/k/koules/koules_1.4-27.debian.tar.xz"; + hash = "sha256-g0Z6C1YSZL6N2eYUuZgXkPDoOLc4e9jAFL3ivk3OAS8="; + }; +in +stdenv.mkDerivation rec { + pname = "koules"; + version = "1.4"; + + src = fetchurl { + url = "https://www.ucw.cz/~hubicka/koules/packages/${pname}${version}-src.tar.gz"; + hash = "sha256-w2+T/q/uvVmYO/RBACQOZ6hKi6yr1+5SjJMEbe/kohs="; + }; + + nativeBuildInputs = [ imake gccmakedep installShellFiles copyDesktopItems ]; + buildInputs = [ libX11 libXext ]; + + # Debian maintains lots of patches for koules. Let's include all of them. + prePatch = '' + patches="$patches $(cat ${debian-extras}/patches/series | sed 's|^|${debian-extras}/patches/|')" + ''; + + postPatch = '' + # We do not want to depend on that particular font to be available in the + # xserver, hence substitute it by a font which is always available + sed -ie 's:-schumacher-clean-bold-r-normal--8-80-75-75-c-80-\*iso\*:fixed:' xlib/init.c + ''; + + preBuild = '' + cp xkoules.6 xkoules.man # else "make" will not succeed + sed -ie "s:^SOUNDDIR\s*=.*:SOUNDDIR=$out/lib:" Makefile + sed -ie "s:^KOULESDIR\s*=.*:KOULESDIR=$out:" Makefile + ''; + + installPhase = '' + runHook preInstall + install -Dm755 xkoules $out/bin/xkoules + install -Dm755 koules.sndsrv.linux $out/lib/koules.sndsrv.linux + install -m644 sounds/* $out/lib/ + install -Dm644 Koules.xpm $out/share/pixmaps/koules.xpm + installManPage xkoules.6 + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + desktopName = "Koules"; + name = "koules"; + exec = "xkoules"; + icon = "koules"; + comment = "Push your enemies away, but stay away from obstacles"; + categories = [ "Game" "ArcadeGame" ]; + }) + ]; + + meta = with lib; { + homepage = "https://www.ucw.cz/~hubicka/koules/English/"; + description = "Fast arcade game based on the fundamental law of body attraction"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.iblech ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/games/leela-zero/default.nix b/nixpkgs/pkgs/games/leela-zero/default.nix index 13b423832e67..e7b6c7934188 100644 --- a/nixpkgs/pkgs/games/leela-zero/default.nix +++ b/nixpkgs/pkgs/games/leela-zero/default.nix @@ -1,5 +1,13 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost -, opencl-headers, ocl-icd, qtbase , zlib }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, boost +, opencl-headers +, ocl-icd +, qtbase +, zlib +}: stdenv.mkDerivation rec { pname = "leela-zero"; @@ -9,7 +17,7 @@ stdenv.mkDerivation rec { owner = "gcp"; repo = "leela-zero"; rev = "v${version}"; - sha256 = "1k04ld1ysabxb8ivci3ji5by9vb3yvnflkf2fscs1x0bp7d6j101"; + sha256 = "sha256-AQRp2rkL9KCZdsJN6uz2Y+3kV4lyRLYjWn0p7UOjBMw="; fetchSubmodules = true; }; @@ -21,9 +29,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Go engine modeled after AlphaGo Zero"; - homepage = "https://github.com/gcp/leela-zero"; - license = licenses.gpl3; + homepage = "https://github.com/gcp/leela-zero"; + license = licenses.gpl3Plus; maintainers = [ maintainers.averelld maintainers.omnipotententity ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/games/legendary-gl/default.nix b/nixpkgs/pkgs/games/legendary-gl/default.nix index 082b9220c0e8..6b81593c8af1 100644 --- a/nixpkgs/pkgs/games/legendary-gl/default.nix +++ b/nixpkgs/pkgs/games/legendary-gl/default.nix @@ -7,13 +7,13 @@ buildPythonApplication rec { pname = "legendary-gl"; # Name in pypi - version = "0.20.25"; + version = "0.20.27"; src = fetchFromGitHub { owner = "derrod"; repo = "legendary"; - rev = version; - sha256 = "07z5ffi7lnvs64pksy30fbfv2i11dkkycyh31vyc4y7fsn1vd0vf"; + rev = "refs/tags/${version}"; + sha256 = "sha256-h9WmeVONX19/pUBfE1T/OSMI/HkTKJiTfyyEJV/noB8="; }; propagatedBuildInputs = [ requests ]; diff --git a/nixpkgs/pkgs/games/lgames/barrage/default.nix b/nixpkgs/pkgs/games/lgames/barrage/default.nix new file mode 100644 index 000000000000..70f97b591001 --- /dev/null +++ b/nixpkgs/pkgs/games/lgames/barrage/default.nix @@ -0,0 +1,31 @@ +{ lib +, stdenv +, fetchurl +, SDL +, SDL_mixer +}: + +stdenv.mkDerivation rec { + pname = "barrage"; + version = "1.0.5"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-p4iXq2qM9tU9QJO7irriBN36OiLFyrnnYiDkmH3naQQ="; + }; + + buildInputs = [ + SDL + SDL_mixer + ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + homepage = "https://lgames.sourceforge.io/Barrage/"; + description = "A destructive action game"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (SDL.meta) platforms; + }; +} diff --git a/nixpkgs/pkgs/games/lbreakout2/default.nix b/nixpkgs/pkgs/games/lgames/lbreakout2/default.nix index 818cd31fa59a..4645baf06244 100644 --- a/nixpkgs/pkgs/games/lbreakout2/default.nix +++ b/nixpkgs/pkgs/games/lgames/lbreakout2/default.nix @@ -1,19 +1,34 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer, zlib, libpng, libintl }: +{ lib +, stdenv +, fetchurl +, SDL +, SDL_mixer +, libintl +, libpng +, zlib +}: stdenv.mkDerivation rec { pname = "lbreakout2"; version = "2.6.5"; - buildInputs = [ SDL SDL_mixer zlib libpng libintl ]; src = fetchurl { url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; sha256 = "0vwdlyvh7c4y80q5vp7fyfpzbqk9lq3w8pvavi139njkalbxc14i"; }; + buildInputs = [ + SDL + SDL_mixer + libintl + libpng + zlib + ]; + meta = with lib; { - description = "Breakout clone from the LGames series"; homepage = "http://lgames.sourceforge.net/LBreakout2/"; - license = licenses.gpl2; + description = "Breakout clone from the LGames series"; + license = licenses.gpl2Plus; maintainers = [ maintainers.ciil ]; platforms = platforms.unix; hydraPlatforms = lib.platforms.linux; # sdl-config times out on darwin diff --git a/nixpkgs/pkgs/games/lgames/lbreakouthd/default.nix b/nixpkgs/pkgs/games/lgames/lbreakouthd/default.nix new file mode 100644 index 000000000000..bfe8eecc95b8 --- /dev/null +++ b/nixpkgs/pkgs/games/lgames/lbreakouthd/default.nix @@ -0,0 +1,36 @@ +{ lib +, stdenv +, fetchurl +, SDL2 +, SDL2_image +, SDL2_mixer +, SDL2_ttf +}: + +stdenv.mkDerivation rec { + pname = "lbreakouthd"; + version = "1.0.10"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-hlGhPa91u6pOaZoFJSDcXYQdizTFjuuTLnx9fcrXUhA="; + }; + + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + broken = stdenv.isDarwin; + homepage = "https://lgames.sourceforge.io/LBreakoutHD/"; + description = "A widescreen Breakout clone"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (SDL2.meta) platforms; + }; +} diff --git a/nixpkgs/pkgs/games/lgames/lpairs2/default.nix b/nixpkgs/pkgs/games/lgames/lpairs2/default.nix new file mode 100644 index 000000000000..394b690b63dd --- /dev/null +++ b/nixpkgs/pkgs/games/lgames/lpairs2/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchurl +, SDL2 +, SDL2_image +, SDL2_mixer +, SDL2_ttf +}: + +stdenv.mkDerivation rec { + pname = "lpairs2"; + version = "2.2"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-swe/cB9RqxHSNSShiryJ8XfwZk2X6qIDxFURbwNOd58="; + }; + + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + ]; + + meta = with lib; { + broken = stdenv.isDarwin; + homepage = "http://lgames.sourceforge.net/LPairs/"; + description = "Matching the pairs - a typical Memory Game"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/games/lgames/ltris/default.nix b/nixpkgs/pkgs/games/lgames/ltris/default.nix new file mode 100644 index 000000000000..618e86561f03 --- /dev/null +++ b/nixpkgs/pkgs/games/lgames/ltris/default.nix @@ -0,0 +1,26 @@ +{ lib, stdenv, fetchurl, SDL, SDL_mixer }: + +stdenv.mkDerivation rec { + pname = "ltris"; + version = "1.2.5"; + + src = fetchurl { + url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; + hash = "sha256-Ksb5TdQMTEzaJfjHVhgq27dSFvZxUnNUQ6OpAU+xwzM="; + }; + + buildInputs = [ + SDL + SDL_mixer + ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + homepage = "https://lgames.sourceforge.io/LTris/"; + description = "Tetris clone from the LGames series"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ciil ]; + inherit (SDL.meta) platforms; + }; +} diff --git a/nixpkgs/pkgs/games/lgogdownloader/default.nix b/nixpkgs/pkgs/games/lgogdownloader/default.nix index 0c40d537fcec..ab029e055aa9 100644 --- a/nixpkgs/pkgs/games/lgogdownloader/default.nix +++ b/nixpkgs/pkgs/games/lgogdownloader/default.nix @@ -11,7 +11,7 @@ , rhash , tinyxml-2 , help2man -, testVersion +, testers , lgogdownloader }: @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { ]; passthru.tests = { - version = testVersion { package = lgogdownloader; }; + version = testers.testVersion { package = lgogdownloader; }; }; meta = with lib; { diff --git a/nixpkgs/pkgs/games/liberal-crime-squad/default.nix b/nixpkgs/pkgs/games/liberal-crime-squad/default.nix index d8048b01d21e..f46bd3b50a38 100644 --- a/nixpkgs/pkgs/games/liberal-crime-squad/default.nix +++ b/nixpkgs/pkgs/games/liberal-crime-squad/default.nix @@ -23,6 +23,7 @@ stdenv.mkDerivation { ''; homepage = "https://github.com/Kamal-Sadek/Liberal-Crime-Squad"; maintainers = [ maintainers.rardiol ]; + mainProgram = "crimesquad"; license = licenses.gpl2; platforms = platforms.all; }; diff --git a/nixpkgs/pkgs/games/liberation-circuit/default.nix b/nixpkgs/pkgs/games/liberation-circuit/default.nix index c1f03e036c9f..365fbb2983eb 100644 --- a/nixpkgs/pkgs/games/liberation-circuit/default.nix +++ b/nixpkgs/pkgs/games/liberation-circuit/default.nix @@ -1,52 +1,23 @@ -{ stdenv, lib, fetchFromGitHub, fetchurl, cmake, git, makeWrapper, allegro5, libGL }: +{ stdenv, lib, fetchFromGitHub, fetchurl, pkg-config, makeWrapper, allegro5, libGL }: stdenv.mkDerivation rec { pname = "liberation-circuit"; - version = "1.3"; + version = "unstable-2022-01-02"; src = fetchFromGitHub { owner = "linleyh"; repo = pname; - rev = "v${version}"; - sha256 = "BAv0wEJw4pK77jV+1bWPHeqyU/u0HtZLBF3ETUoQEAk="; + rev = "19e3363547793e931fd9419b61ebc2cd8e257714"; + sha256 = "zIwjh4CBSmKz7pF7GM5af+VslWho5jHOLsulbW4C8TY="; }; - patches = [ - # Linux packaging assets - (fetchurl { - url = "https://github.com/linleyh/liberation-circuit/commit/72c1f6f4100bd227540aca14a535e7f4ebdeb851.patch"; - sha256 = "0sad1z1lls0hanv88g1q6x5qr4s8f5p42s8j8v55bmwsdc0s5qys"; - }) - ]; - - # Hack to make binary diffs work - prePatch = '' - function patch { - git apply --whitespace=nowarn "$@" - } - ''; - - postPatch = '' - unset -f patch - substituteInPlace bin/launcher.sh --replace ./libcirc ./liberation-circuit - ''; - - nativeBuildInputs = [ cmake git makeWrapper ]; + nativeBuildInputs = [ pkg-config makeWrapper ]; buildInputs = [ allegro5 libGL ]; - cmakeFlags = [ - "-DALLEGRO_LIBRARY=${lib.getDev allegro5}" - "-DALLEGRO_INCLUDE_DIR=${lib.getDev allegro5}/include" - ]; - - NIX_CFLAGS_LINK = "-lallegro_image -lallegro_primitives -lallegro_color -lallegro_acodec -lallegro_audio -lallegro_dialog -lallegro_font -lallegro_main -lallegro -lm"; - hardeningDisable = [ "format" ]; - installPhase = '' runHook preInstall mkdir -p $out/opt - cd .. cp -r bin $out/opt/liberation-circuit chmod +x $out/opt/liberation-circuit/launcher.sh makeWrapper $out/opt/liberation-circuit/launcher.sh $out/bin/liberation-circuit diff --git a/nixpkgs/pkgs/games/lincity/default.nix b/nixpkgs/pkgs/games/lincity/default.nix index 397ca0cfe8ef..c2ce8f3d82b2 100644 --- a/nixpkgs/pkgs/games/lincity/default.nix +++ b/nixpkgs/pkgs/games/lincity/default.nix @@ -25,9 +25,18 @@ stdenv.mkDerivation rec { }) ]; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: modules/.libs/libmodules.a(rocket_pad.o):/build/lincity-1.13.1/modules/../screen.h:23: + # multiple definition of `monthgraph_style'; ldsvguts.o:/build/lincity-1.13.1/screen.h:23: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + meta = with lib; { description = "City simulation game"; license = licenses.gpl2Plus; homepage = "https://sourceforge.net/projects/lincity"; + maintainers = with maintainers; [ ]; + # ../lcintl.h:14:10: fatal error: 'libintl.h' file not found + broken = stdenv.isDarwin; }; } diff --git a/nixpkgs/pkgs/games/lincity/ng.nix b/nixpkgs/pkgs/games/lincity/ng.nix index 1fe2223886a7..9901255be4dc 100644 --- a/nixpkgs/pkgs/games/lincity/ng.nix +++ b/nixpkgs/pkgs/games/lincity/ng.nix @@ -1,28 +1,57 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, jam, pkg-config -, zlib, libxml2, libxslt, xorgproto, libX11, libGLU, libGL, SDL -, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs +{ stdenv +, SDL2 +, SDL2_gfx +, SDL2_image +, SDL2_mixer +, SDL2_ttf +, autoreconfHook +, fetchFromGitHub +, jam +, lib +, libGL +, libGLU +, libX11 +, libxml2 +, libxslt +, physfs +, pkg-config +, xorgproto +, zlib }: stdenv.mkDerivation { pname = "lincity-ng"; - version = "2.9beta.20170715"; + version = "2.9beta.20211125"; src = fetchFromGitHub { - owner = "lincity-ng"; - repo = "lincity-ng"; - rev = "0c19714b811225238f310633e59f428934185e6b"; - sha256 = "1gaj9fq97zmb0jsdw4rzrw34pimkmkwbfqps0glpqij4w3srz5f3"; + owner = "lincity-ng"; + repo = "lincity-ng"; + rev = "b9062bec252632ca5d26b98d71453b8762c63173"; + sha256 = "0l07cn8rmpmlqdppjc2ikh5c7xmwib27504zpmn3n9pryp394r46"; }; hardeningDisable = [ "format" ]; nativeBuildInputs = [ - autoreconfHook jam pkg-config + autoreconfHook + jam + pkg-config ]; buildInputs = [ - zlib libxml2 libxslt xorgproto libX11 libGLU libGL SDL SDL_mixer SDL_image - SDL_ttf SDL_gfx physfs + SDL2 + SDL2_gfx + SDL2_image + SDL2_mixer + SDL2_ttf + libGL + libGLU + libX11 + libxml2 + libxslt + physfs + xorgproto + zlib ]; autoreconfPhase = '' diff --git a/nixpkgs/pkgs/games/liquidwar/5.nix b/nixpkgs/pkgs/games/liquidwar/5.nix index e95371ec5eaf..eab7941cbd1c 100644 --- a/nixpkgs/pkgs/games/liquidwar/5.nix +++ b/nixpkgs/pkgs/games/liquidwar/5.nix @@ -13,7 +13,14 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - NIX_CFLAGS_COMPILE = [ "-lm" ]; + NIX_CFLAGS_COMPILE = [ + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: random.o:(.bss+0x0): multiple definition of `LW_RANDOM_ON'; game.o:(.bss+0x4): first defined here + "-fcommon" + + "-lm" + ]; meta = with lib; { description = "The classic version of a quick tactics game LiquidWar"; diff --git a/nixpkgs/pkgs/games/liquidwar/default.nix b/nixpkgs/pkgs/games/liquidwar/default.nix index 827c7d696c77..e012886c884d 100644 --- a/nixpkgs/pkgs/games/liquidwar/default.nix +++ b/nixpkgs/pkgs/games/liquidwar/default.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { ; # To avoid problems finding SDL_types.h. - configureFlags = [ "CFLAGS=-I${SDL.dev}/include/SDL" ]; + configureFlags = [ "CFLAGS=-I${lib.getDev SDL}/include/SDL" ]; meta = with lib; { description = "Quick tactics game"; diff --git a/nixpkgs/pkgs/games/ltris/default.nix b/nixpkgs/pkgs/games/ltris/default.nix deleted file mode 100644 index d128f6c6c017..000000000000 --- a/nixpkgs/pkgs/games/ltris/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer }: - -stdenv.mkDerivation rec { - pname = "ltris"; - version = "1.0.19"; - buildInputs = [ SDL SDL_mixer ]; - - src = fetchurl { - url = "mirror://sourceforge/lgames/${pname}-${version}.tar.gz"; - sha256 = "1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"; - }; - - patchPhase = "patch -p0 < ${./gcc5_compliance.diff}"; - - meta = with lib; { - description = "Tetris clone from the LGames series"; - homepage = "http://lgames.sourceforge.net/LBreakout2/"; - license = licenses.gpl2; - maintainers = [ maintainers.ciil ]; - platforms = platforms.linux; - }; -} diff --git a/nixpkgs/pkgs/games/ltris/gcc5_compliance.diff b/nixpkgs/pkgs/games/ltris/gcc5_compliance.diff deleted file mode 100644 index bf53fcf8467b..000000000000 --- a/nixpkgs/pkgs/games/ltris/gcc5_compliance.diff +++ /dev/null @@ -1,299 +0,0 @@ -Index: ChangeLog -=================================================================== ---- ChangeLog (revision 163) -+++ ChangeLog (revision 164) -@@ -1,3 +1,5 @@ -+- removed all inline keywords to work with GCC 5 (2015/05/16 MS) -+ - 1.0.19: - - removed link to lib math as not needed (2013/10/29 MS) - - reset key states when unpausing to prevent unwanted movement (2013/10/29 MS) -Index: src/bowl.c -=================================================================== ---- src/bowl.c (revision 163) -+++ src/bowl.c (revision 164) -@@ -333,7 +333,7 @@ - Set a tile contents and pixel contents. - ==================================================================== - */ --inline void bowl_set_tile( Bowl *bowl, int x, int y, int tile_id ) -+void bowl_set_tile( Bowl *bowl, int x, int y, int tile_id ) - { - int i, j = y * bowl->block_size; - bowl->contents[x][y] = tile_id; -Index: src/sdl.c -=================================================================== ---- src/sdl.c (revision 163) -+++ src/sdl.c (revision 164) -@@ -244,7 +244,7 @@ - #endif - - /* return full path of bitmap */ --inline void get_full_bmp_path( char *full_path, char *file_name ) -+void get_full_bmp_path( char *full_path, char *file_name ) - { - sprintf(full_path, "%s/gfx/%s", SRC_DIR, file_name ); - } -@@ -330,7 +330,7 @@ - /* - lock surface - */ --inline void lock_surf(SDL_Surface *sur) -+void lock_surf(SDL_Surface *sur) - { - if (SDL_MUSTLOCK(sur)) - SDL_LockSurface(sur); -@@ -339,7 +339,7 @@ - /* - unlock surface - */ --inline void unlock_surf(SDL_Surface *sur) -+void unlock_surf(SDL_Surface *sur) - { - if (SDL_MUSTLOCK(sur)) - SDL_UnlockSurface(sur); -@@ -666,7 +666,7 @@ - /* - lock font surface - */ --inline void lock_font(Font *fnt) -+void lock_font(Font *fnt) - { - if (SDL_MUSTLOCK(fnt->pic)) - SDL_LockSurface(fnt->pic); -@@ -675,7 +675,7 @@ - /* - unlock font surface - */ --inline void unlock_font(Font *fnt) -+void unlock_font(Font *fnt) - { - if (SDL_MUSTLOCK(fnt->pic)) - SDL_UnlockSurface(fnt->pic); -@@ -905,7 +905,7 @@ - /* - update rectangle (0,0,0,0)->fullscreen - */ --inline void refresh_screen(int x, int y, int w, int h) -+void refresh_screen(int x, int y, int w, int h) - { - SDL_UpdateRect(sdl.screen, x, y, w, h); - } -@@ -1055,7 +1055,7 @@ - /* - lock surface - */ --inline void lock_screen() -+void lock_screen() - { - if (SDL_MUSTLOCK(sdl.screen)) - SDL_LockSurface(sdl.screen); -@@ -1064,7 +1064,7 @@ - /* - unlock surface - */ --inline void unlock_screen() -+void unlock_screen() - { - if (SDL_MUSTLOCK(sdl.screen)) - SDL_UnlockSurface(sdl.screen); -@@ -1073,7 +1073,7 @@ - /* - flip hardware screens (double buffer) - */ --inline void flip_screen() -+void flip_screen() - { - SDL_Flip(sdl.screen); - } -@@ -1132,7 +1132,7 @@ - /* - get milliseconds since last call - */ --inline int get_time() -+int get_time() - { - int ms; - cur_time = SDL_GetTicks(); -@@ -1148,7 +1148,7 @@ - /* - reset timer - */ --inline void reset_timer() -+void reset_timer() - { - last_time = SDL_GetTicks(); - } -Index: src/sdl.h -=================================================================== ---- src/sdl.h (revision 163) -+++ src/sdl.h (revision 164) -@@ -41,8 +41,8 @@ - SDL_Surface* load_surf(char *fname, int f); - SDL_Surface* create_surf(int w, int h, int f); - void free_surf( SDL_Surface **surf ); --inline void lock_surf(SDL_Surface *sur); --inline void unlock_surf(SDL_Surface *sur); -+void lock_surf(SDL_Surface *sur); -+void unlock_surf(SDL_Surface *sur); - void blit_surf(void); - void alpha_blit_surf(int alpha); - void fill_surf(int c); -@@ -86,8 +86,8 @@ - Font* load_fixed_font(char *fname, int off, int len, int w); - void free_font(Font **sfnt); - int write_text(Font *sfnt, SDL_Surface *dest, int x, int y, char *str, int alpha); --inline void lock_font(Font *sfnt); --inline void unlock_font(Font *sfnt); -+void lock_font(Font *sfnt); -+void unlock_font(Font *sfnt); - SDL_Rect last_write_rect(Font *fnt); - int text_width(Font *fnt, char *str); - -@@ -132,14 +132,14 @@ - char** get_mode_names( int *count ); - int set_video_mode( Video_Mode mode ); - void hardware_cap(); --inline void refresh_screen( int x, int y, int w, int h ); -+void refresh_screen( int x, int y, int w, int h ); - void refresh_rects(); - void add_refresh_rect(int x, int y, int w, int h); - int wait_for_key(); - void wait_for_click(); --inline void lock_screen(); --inline void unlock_screen(); --inline void flip_screen(); -+void lock_screen(); -+void unlock_screen(); -+void flip_screen(); - void fade_screen( int type, int ms ); - void take_screenshot( int i ); - -@@ -148,8 +148,8 @@ - SDL_Cursor* create_cursor( int width, int height, int hot_x, int hot_y, char *source ); - - /* timer */ --inline int get_time(); --inline void reset_timer(); -+int get_time(); -+void reset_timer(); - - #ifdef __cplusplus - }; -Index: src/tools.c -=================================================================== ---- src/tools.c (revision 163) -+++ src/tools.c (revision 164) -@@ -23,7 +23,7 @@ - #include "ltris.h" - - /* compares to strings and returns true if their first strlen(str1) chars are equal */ --inline int strequal( char *str1, char *str2 ) -+int strequal( char *str1, char *str2 ) - { - if ( strlen( str1 ) != strlen( str2 ) ) return 0; - return ( !strncmp( str1, str2, strlen( str1 ) ) ); -@@ -30,7 +30,7 @@ - } - - /* set delay to ms milliseconds */ --inline void delay_set( Delay *delay, int ms ) -+void delay_set( Delay *delay, int ms ) - { - delay->limit = ms; - delay->cur = 0; -@@ -37,13 +37,13 @@ - } - - /* reset delay ( cur = 0 )*/ --inline void delay_reset( Delay *delay ) -+void delay_reset( Delay *delay ) - { - delay->cur = 0; - } - - /* check if times out and reset */ --inline int delay_timed_out( Delay *delay, int ms ) -+int delay_timed_out( Delay *delay, int ms ) - { - delay->cur += ms; - if ( delay->cur >= delay->limit ) { -@@ -56,12 +56,12 @@ - } - - /* set timer so that we have a time out next call of delay_timed_out() */ --inline void delay_force_time_out( Delay *delay ) -+void delay_force_time_out( Delay *delay ) - { - delay->cur = delay->limit; - } - --inline void goto_tile( int *x, int *y, int d ) -+void goto_tile( int *x, int *y, int d ) - { - /* 0 -up, clockwise, 5 - left up */ - switch ( d ) { -@@ -326,24 +326,24 @@ - the target value until reached when counter_update() is called. - ==================================================================== - */ --inline void counter_set( Counter *counter, double value ) -+void counter_set( Counter *counter, double value ) - { - counter->value = value; - counter->approach = value; - } --inline void counter_add( Counter *counter, double add ) -+void counter_add( Counter *counter, double add ) - { - counter->value += add; - } --inline double counter_get_approach( Counter counter ) -+double counter_get_approach( Counter counter ) - { - return counter.approach; - } --inline double counter_get( Counter counter ) -+double counter_get( Counter counter ) - { - return counter.value; - } --inline void counter_update( Counter *counter, int ms ) -+void counter_update( Counter *counter, int ms ) - { - double change; - if ( counter->approach == counter->value ) return; -Index: src/tools.h -=================================================================== ---- src/tools.h (revision 163) -+++ src/tools.h (revision 164) -@@ -33,7 +33,7 @@ - #define VEC_DIST( vec1, vec2 ) ( sqrt( ( vec1.x - vec2.x ) * ( vec1.x - vec2.x ) + ( vec1.y - vec2.y ) * ( vec1.y - vec2.y ) ) ) - - /* compares to strings and returns true if their first strlen(str1) chars are equal */ --inline int strequal( char *str1, char *str2 ); -+int strequal( char *str1, char *str2 ); - - /* delete lines */ - void delete_lines( char **lines, int line_number ); -@@ -45,16 +45,16 @@ - } Delay; - - /* set delay to ms milliseconds */ --inline void delay_set( Delay *delay, int ms ); -+void delay_set( Delay *delay, int ms ); - - /* reset delay ( cur = 0 )*/ --inline void delay_reset( Delay *delay ); -+void delay_reset( Delay *delay ); - - /* check if time's out ( add ms milliseconds )and reset */ --inline int delay_timed_out( Delay *delay, int ms ); -+int delay_timed_out( Delay *delay, int ms ); - - /* set timer so that we have a time out next call of delay_timed_out() */ --inline void delay_force_time_out( Delay *delay ); -+void delay_force_time_out( Delay *delay ); - - /* return distance betwteen to map positions */ - int get_dist( int x1, int y1, int x2, int y2 ); diff --git a/nixpkgs/pkgs/games/macopix/default.nix b/nixpkgs/pkgs/games/macopix/default.nix index 8f226f3cef06..5541b3b9d0fa 100644 --- a/nixpkgs/pkgs/games/macopix/default.nix +++ b/nixpkgs/pkgs/games/macopix/default.nix @@ -19,6 +19,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + # Workaround build failure on -fno-common toolchains: + # ld: dnd.o:src/main.h:136: multiple definition of + # `MENU_EXT'; main.o:src/main.h:136: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + NIX_LDFLAGS = "-lX11"; meta = { diff --git a/nixpkgs/pkgs/games/mar1d/default.nix b/nixpkgs/pkgs/games/mar1d/default.nix index 1715a68f5d8a..6b3fe5feb2de 100644 --- a/nixpkgs/pkgs/games/mar1d/default.nix +++ b/nixpkgs/pkgs/games/mar1d/default.nix @@ -12,10 +12,10 @@ stdenv.mkDerivation rec { pname = "MAR1D"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { - sha256 = "sha256-/QZH2H0PFCLeweXUE11vimLnJTt86PjnTnHC9vWkKsk="; + sha256 = "sha256-c48azBGdnzhEQGUeRJWlNLJhtrYjnpiORuWvowcQK5Y="; rev = "v${version}"; repo = "MAR1D"; owner = "Radvendii"; diff --git a/nixpkgs/pkgs/games/mars/default.nix b/nixpkgs/pkgs/games/mars/default.nix index 0fa744677d83..9b715b02ae09 100644 --- a/nixpkgs/pkgs/games/mars/default.nix +++ b/nixpkgs/pkgs/games/mars/default.nix @@ -1,27 +1,22 @@ { lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, sfml, fribidi, taglib }: stdenv.mkDerivation rec { pname = "mars"; - version = "0.7.5"; + version = "unstable-17.10.2021"; src = fetchFromGitHub { owner = "thelaui"; repo = "M.A.R.S."; - rev = "c855d044094a1d92317e38935d81ba938946132e"; - sha256 = "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh"; + rev = "84664cda094efe6e49d9b1550e4f4f98c33eefa2"; + sha256 = "sha256-SWLP926SyVTjn+UT1DCaJSo4Ue0RbyzImVnlNJQksS0="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ libGLU libGL sfml fribidi taglib ]; - patches = [ - ./unbind_fix.patch - ./fix-gluortho2d.patch - ]; installPhase = '' cd .. - find -name '*.svn' -exec rm -rf {} \; mkdir -p "$out/share/mars/" mkdir -p "$out/bin/" cp -rv data resources credits.txt license.txt "$out/share/mars/" - cp -v mars "$out/bin/mars.bin" + cp -v marsshooter "$out/bin/mars.bin" cat << EOF > "$out/bin/mars" #! ${stdenv.shell} cd "$out/share/mars/" diff --git a/nixpkgs/pkgs/games/mars/fix-gluortho2d.patch b/nixpkgs/pkgs/games/mars/fix-gluortho2d.patch deleted file mode 100644 index 15a5c07060e2..000000000000 --- a/nixpkgs/pkgs/games/mars/fix-gluortho2d.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 33d5affabf8ff84f2c028b9303c6a9e83cc824ad Mon Sep 17 00:00:00 2001 -From: James Cowgill <james410@cowgill.org.uk> -Date: Sat, 9 May 2015 01:54:14 +0100 -Subject: [PATCH] Remove dependency on GLU - fixes build with SFML 2.3 - ---- - premake4.lua | 8 ++++---- - src/Shaders/postFX.cpp | 2 +- - src/System/window.cpp | 12 ++++++------ - 3 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/premake4.lua b/premake4.lua -index 023dddd..5af4495 100755 ---- a/premake4.lua -+++ b/premake4.lua -@@ -11,11 +11,11 @@ project "mars" - defines { "NDEBUG" } - flags { "Optimize" } - if os.get() == "windows" then -- links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" } -+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" } - elseif os.get() == "macosx" then - links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" } - else -- links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" } -+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" } - libdirs { "/usr/lib", "/usr/local/lib" } - end - -@@ -23,10 +23,10 @@ project "mars" - defines { "_DEBUG", "DEBUG" } - flags { "Symbols" } - if os.get() == "windows" then -- links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" } -+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" } - elseif os.get() == "macosx" then - links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" } - else -- links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" } -+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" } - libdirs { "/usr/lib", "/usr/local/lib" } - end -diff --git a/src/Shaders/postFX.cpp b/src/Shaders/postFX.cpp -index 987f411..f767a47 100644 ---- a/src/Shaders/postFX.cpp -+++ b/src/Shaders/postFX.cpp -@@ -78,7 +78,7 @@ namespace postFX { - postFX_.loadFromFile(settings::C_dataPath + "shaders/bump.frag", sf::Shader::Fragment); - bumpMap_.create(SPACE_X_RESOLUTION*0.5f, SPACE_Y_RESOLUTION*0.5f); - glViewport(0,0,SPACE_X_RESOLUTION*0.5f,SPACE_Y_RESOLUTION*0.5f); -- gluOrtho2D(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0); -+ glOrtho(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0, -1, 1); - glEnable(GL_BLEND); - glMatrixMode(GL_MODELVIEW); - postFX_.setParameter("BumpMap", bumpMap_.getTexture()); -diff --git a/src/System/window.cpp b/src/System/window.cpp -index e9a099a..8e12dcc 100644 ---- a/src/System/window.cpp -+++ b/src/System/window.cpp -@@ -222,7 +222,7 @@ namespace window { - glLoadIdentity(); - - // Setup translation (according to left-upper corner) -- gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f); -+ glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1); - - // probably improves performance... - glDisable(GL_LIGHTING); -@@ -247,7 +247,7 @@ namespace window { - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); -- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); -+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - -@@ -255,7 +255,7 @@ namespace window { - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); -- gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f); -+ glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - } -@@ -270,7 +270,7 @@ namespace window { - glLoadIdentity(); - setViewPort(); - -- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); -+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); - - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); -@@ -284,7 +284,7 @@ namespace window { - glLoadIdentity(); - setViewPort(); - -- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); -+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); - - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); -@@ -294,7 +294,7 @@ namespace window { - else { - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); -- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f); -+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1); - glMatrixMode(GL_MODELVIEW); - glLoadIdentity(); - } diff --git a/nixpkgs/pkgs/games/mars/unbind_fix.patch b/nixpkgs/pkgs/games/mars/unbind_fix.patch deleted file mode 100644 index 2aef6eb5cf66..000000000000 --- a/nixpkgs/pkgs/games/mars/unbind_fix.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/src/System/window.cpp b/src/System/window.cpp -index e9a099a..e3f6de9 100644 ---- a/src/System/window.cpp -+++ b/src/System/window.cpp -@@ -308,12 +308,12 @@ namespace window { - glEnable(GL_TEXTURE_2D); - - if (shader) -- shader->bind(); -+ sf::Shader::bind(shader); - - window_.draw(toBeDrawn, states); - - if (shader) -- shader->unbind(); -+ sf::Shader::bind(NULL); - - window_.popGLStates(); - glPopMatrix(); diff --git a/nixpkgs/pkgs/games/megaglest/default.nix b/nixpkgs/pkgs/games/megaglest/default.nix index 30383e5f4067..6a21a74f70b4 100644 --- a/nixpkgs/pkgs/games/megaglest/default.nix +++ b/nixpkgs/pkgs/games/megaglest/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, cmake, pkg-config, git, curl, SDL2, xercesc, openal, lua, libvlc , libjpeg, wxGTK, cppunit, ftgl, glew, libogg, libvorbis, buildEnv, libpng , fontconfig, freetype, xorg, makeWrapper, bash, which, gnome, libGLU, glib -, fetchFromGitHub +, fetchFromGitHub, fetchpatch }: let version = "3.13.0"; @@ -28,6 +28,15 @@ stdenv.mkDerivation { sha256 = "0fb58a706nic14ss89zrigphvdiwy5s9dwvhscvvgrfvjpahpcws"; }; + patches = [ + # Pull upstream fix for -fno-common toolchains + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/MegaGlest/megaglest-source/commit/5a3520540276a6fd06f7c88e571b6462978e3eab.patch"; + sha256 = "0y554kjw56dikq87vs709pmq97hdx9hvqsk27f81v4g90m3b3qhi"; + }) + ]; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ git curl SDL2 xercesc openal lua libpng libjpeg libvlc wxGTK glib cppunit fontconfig freetype ftgl glew libogg libvorbis makeWrapper libGLU ]; diff --git a/nixpkgs/pkgs/games/meritous/default.nix b/nixpkgs/pkgs/games/meritous/default.nix index e7dd1bee70c9..c7631f2370db 100644 --- a/nixpkgs/pkgs/games/meritous/default.nix +++ b/nixpkgs/pkgs/games/meritous/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { prePatch = '' substituteInPlace Makefile \ --replace "CPPFLAGS +=" "CPPFLAGS += -DSAVES_IN_HOME -DDATADIR=\\\"$out/share/meritous\\\"" \ - --replace sld-config ${SDL.dev}/bin/sdl-config + --replace sld-config ${lib.getDev SDL}/bin/sdl-config substituteInPlace src/audio.c \ --replace "filename[64]" "filename[256]" ''; diff --git a/nixpkgs/pkgs/games/mindustry/default.nix b/nixpkgs/pkgs/games/mindustry/default.nix index 82df3710c577..680d341d335b 100644 --- a/nixpkgs/pkgs/games/mindustry/default.nix +++ b/nixpkgs/pkgs/games/mindustry/default.nix @@ -13,6 +13,7 @@ , stb , ant , alsa-lib +, alsa-plugins , glew # Make the build version easily overridable. @@ -127,15 +128,6 @@ stdenv.mkDerivation rec { rm Arc/backends/backend-sdl/libs/linux64/libsdl-arc*.so '' + cleanupMindustrySrc; - # Propagate glew to prevent it from being cleaned up. - # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there, - # and will assume that it's not actually needed. - # This can cause issues. - # See https://github.com/NixOS/nixpkgs/issues/109798. - propagatedBuildInputs = lib.optionals enableClient [ - glew.out - ]; - buildInputs = lib.optionals enableClient [ SDL2 glew @@ -180,7 +172,19 @@ stdenv.mkDerivation rec { install -Dm644 desktop/build/libs/Mindustry.jar $out/share/mindustry.jar mkdir -p $out/bin makeWrapper ${jdk}/bin/java $out/bin/mindustry \ - --add-flags "-jar $out/share/mindustry.jar" + --add-flags "-jar $out/share/mindustry.jar" \ + --set ALSA_PLUGIN_DIR ${alsa-plugins}/lib/alsa-lib/ + + # Retain runtime depends to prevent them from being cleaned up. + # Since a jar is a compressed archive, nix can't figure out that the dependency is actually in there, + # and will assume that it's not actually needed. + # This can cause issues. + # See https://github.com/NixOS/nixpkgs/issues/109798. + echo "# Retained runtime dependencies: " >> $out/bin/mindustry + for dep in ${SDL2.out} ${alsa-lib.out} ${glew.out}; do + echo "# $dep" >> $out/bin/mindustry + done + install -Dm644 core/assets/icons/icon_64.png $out/share/icons/hicolor/64x64/apps/mindustry.png '' + optionalString enableServer '' install -Dm644 server/build/libs/server-release.jar $out/share/mindustry-server.jar @@ -195,8 +199,12 @@ stdenv.mkDerivation rec { homepage = "https://mindustrygame.github.io/"; downloadPage = "https://github.com/Anuken/Mindustry/releases"; description = "A sandbox tower defense game"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # deps + ]; license = licenses.gpl3Plus; - maintainers = with maintainers; [ fgaz petabyteboy ]; + maintainers = with maintainers; [ fgaz ]; platforms = platforms.x86_64; # Hash mismatch on darwin: # https://github.com/NixOS/nixpkgs/pull/105590#issuecomment-737120293 diff --git a/nixpkgs/pkgs/games/minecraft-servers/derivation.nix b/nixpkgs/pkgs/games/minecraft-servers/derivation.nix index eda7da943ca5..e5f11f71f211 100644 --- a/nixpkgs/pkgs/games/minecraft-servers/derivation.nix +++ b/nixpkgs/pkgs/games/minecraft-servers/derivation.nix @@ -29,6 +29,7 @@ stdenv.mkDerivation { meta = with lib; { description = "Minecraft Server"; homepage = "https://minecraft.net"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfreeRedistributable; platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice tomberek costrouc jyooru ]; diff --git a/nixpkgs/pkgs/games/minecraft-servers/versions.json b/nixpkgs/pkgs/games/minecraft-servers/versions.json index af1b032bd781..8dce87bb301d 100644 --- a/nixpkgs/pkgs/games/minecraft-servers/versions.json +++ b/nixpkgs/pkgs/games/minecraft-servers/versions.json @@ -1,4 +1,10 @@ { + "1.19": { + "url": "https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar", + "sha1": "f69c284232d7c7580bd89a5a4931c3581eae1378", + "version": "1.19.2", + "javaVersion": 17 + }, "1.18": { "url": "https://launcher.mojang.com/v1/objects/c8f83c5655308435b3dcf03c06d9fe8740a77469/server.jar", "sha1": "c8f83c5655308435b3dcf03c06d9fe8740a77469", @@ -81,24 +87,24 @@ "url": "https://launcher.mojang.com/v1/objects/f9ae3f651319151ce99a0bfad6b34fa16eb6775f/server.jar", "sha1": "f9ae3f651319151ce99a0bfad6b34fa16eb6775f", "version": "1.5.2", - "javaVersion": null + "javaVersion": 8 }, "1.4": { "url": "https://launcher.mojang.com/v1/objects/2f0ec8efddd2f2c674c77be9ddb370b727dec676/server.jar", "sha1": "2f0ec8efddd2f2c674c77be9ddb370b727dec676", "version": "1.4.7", - "javaVersion": null + "javaVersion": 8 }, "1.3": { "url": "https://launcher.mojang.com/v1/objects/3de2ae6c488135596e073a9589842800c9f53bfe/server.jar", "sha1": "3de2ae6c488135596e073a9589842800c9f53bfe", "version": "1.3.2", - "javaVersion": null + "javaVersion": 8 }, "1.2": { "url": "https://launcher.mojang.com/v1/objects/d8321edc9470e56b8ad5c67bbd16beba25843336/server.jar", "sha1": "d8321edc9470e56b8ad5c67bbd16beba25843336", "version": "1.2.5", - "javaVersion": null + "javaVersion": 8 } } diff --git a/nixpkgs/pkgs/games/minecraft/default.nix b/nixpkgs/pkgs/games/minecraft/default.nix index 08104310faa3..a8e883acae37 100644 --- a/nixpkgs/pkgs/games/minecraft/default.nix +++ b/nixpkgs/pkgs/games/minecraft/default.nix @@ -139,7 +139,7 @@ stdenv.mkDerivation rec { --prefix LD_LIBRARY_PATH : ${envLibPath} \ --prefix PATH : ${lib.makeBinPath [ jre ]} \ --set JAVA_HOME ${lib.getBin jre} \ - --run "cd /tmp" \ + --chdir /tmp \ "''${gappsWrapperArgs[@]}" ''; @@ -149,6 +149,7 @@ stdenv.mkDerivation rec { description = "Official launcher for Minecraft, a sandbox-building game"; homepage = "https://minecraft.net"; maintainers = with maintainers; [ cpages ryantm infinisil ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = [ "x86_64-linux" ]; }; diff --git a/nixpkgs/pkgs/games/minetest/default.nix b/nixpkgs/pkgs/games/minetest/default.nix index e607fbc71134..36ab2bfe58d3 100644 --- a/nixpkgs/pkgs/games/minetest/default.nix +++ b/nixpkgs/pkgs/games/minetest/default.nix @@ -1,9 +1,42 @@ -{ lib, stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp -, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit -, freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex -, leveldb, postgresql, hiredis, libiconv, zlib, libXrandr, libX11, ninja, prometheus-cpp -, OpenGL, OpenAL ? openal, Carbon, Cocoa -, Kernel +{ lib +, stdenv +, fetchFromGitHub +, cmake +, irrlichtmt +, coreutils +, libpng +, bzip2 +, curl +, libogg +, jsoncpp +, libjpeg +, libGLU +, openal +, libvorbis +, sqlite +, luajit +, freetype +, gettext +, doxygen +, ncurses +, graphviz +, xorg +, gmp +, libspatialindex +, leveldb +, postgresql +, hiredis +, libiconv +, zlib +, libXrandr +, libX11 +, ninja +, prometheus-cpp +, OpenGL +, OpenAL ? openal +, Carbon +, Cocoa +, withTouchSupport ? false }: with lib; @@ -11,21 +44,7 @@ with lib; let boolToCMake = b: if b then "ON" else "OFF"; - irrlichtMt = stdenv.mkDerivation rec { - pname = "irrlichtMt"; - version = "1.9.0mt4"; - src = fetchFromGitHub { - owner = "minetest"; - repo = "irrlicht"; - rev = version; - sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw="; - }; - nativeBuildInputs = [ cmake ]; - buildInputs = [ zlib libjpeg libpng libGLU libGL libXrandr libX11 libXxf86vm ] - ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ]; - outputs = [ "out" "dev" ]; - meta = irrlicht.meta; - }; + irrlichtmtInput = irrlichtmt.override { inherit withTouchSupport; }; generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let sources = { @@ -54,7 +73,6 @@ let "-DENABLE_GETTEXT=1" "-DENABLE_SPATIAL=1" "-DENABLE_SYSTEM_JSONCPP=1" - "-DIRRLICHT_INCLUDE_DIR=${irrlichtMt.dev}/include/irrlicht" # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed "-DCMAKE_INSTALL_BINDIR=bin" @@ -64,10 +82,10 @@ let "-DCMAKE_INSTALL_MANDIR=share/man" "-DCMAKE_INSTALL_LOCALEDIR=share/locale" - ] ++ optionals buildClient [ - "-DOpenGL_GL_PREFERENCE=GLVND" ] ++ optionals buildServer [ "-DENABLE_PROMETHEUS=1" + ] ++ optionals withTouchSupport [ + "-DENABLE_TOUCH=TRUE" ]; NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3 @@ -75,19 +93,24 @@ let nativeBuildInputs = [ cmake doxygen graphviz ninja ]; buildInputs = [ - irrlichtMt luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses + irrlichtmtInput luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses gmp libspatialindex ] ++ optionals stdenv.isDarwin [ libiconv OpenGL OpenAL Carbon Cocoa ] ++ optionals buildClient [ - libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm + libpng libjpeg libGLU openal libogg libvorbis xorg.libX11 ] ++ optionals buildServer [ leveldb postgresql hiredis prometheus-cpp ]; + postPatch = '' + substituteInPlace src/filesys.cpp --replace "/bin/rm" "${coreutils}/bin/rm" + ''; + postInstall = '' mkdir -pv $out/share/minetest/games/minetest_game/ cp -rv ${sources.data}/* $out/share/minetest/games/minetest_game/ + patchShebangs $out ''; meta = with lib; { @@ -104,12 +127,14 @@ let }; v5 = { - version = "5.5.0"; - sha256 = "sha256-V+ggqvZibSQrJbrtNCEkmRYHhgSKTQsdBh3c8+t6WeA="; - dataSha256 = "sha256-6ZS3EET3nm09eL0czCGadwzon35/EBfAg2KjPX3ZP/0="; + version = "5.6.0"; + sha256 = "sha256-wcbYcVHs4L0etOwUBjKvzsmZtnpOxpFgLV8nx3UfJQI="; + dataSha256 = "sha256-TVaDHYstFEuT0nBExwLE1PtM1CZh71t9CRxC9rEYTd4="; }; + mkClient = version: generic (version // { buildClient = true; buildServer = false; }); + mkServer = version: generic (version // { buildClient = false; buildServer = true; }); in { - minetestclient_5 = generic (v5 // { buildClient = true; buildServer = false; }); - minetestserver_5 = generic (v5 // { buildClient = false; buildServer = true; }); + minetestclient_5 = mkClient v5; + minetestserver_5 = mkServer v5; } diff --git a/nixpkgs/pkgs/games/mudlet/default.nix b/nixpkgs/pkgs/games/mudlet/default.nix index 46ae45b2202b..b2696d727887 100644 --- a/nixpkgs/pkgs/games/mudlet/default.nix +++ b/nixpkgs/pkgs/games/mudlet/default.nix @@ -62,6 +62,11 @@ stdenv.mkDerivation rec { yajl ]; + cmakeFlags = [ + # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ]; + WITH_FONTS = "NO"; WITH_UPDATER = "NO"; @@ -85,7 +90,7 @@ stdenv.mkDerivation rec { --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ --prefix LUA_PATH : "$NIX_LUA_PATH" \ --prefix LD_LIBRARY_PATH : "${libsForQt5.qtkeychain}/lib/" \ - --run "cd $out"; + --chdir "$out"; runHook postInstall ''; diff --git a/nixpkgs/pkgs/games/nanosaur/default.nix b/nixpkgs/pkgs/games/nanosaur/default.nix index d5ebee755da6..0d5ea528a92d 100644 --- a/nixpkgs/pkgs/games/nanosaur/default.nix +++ b/nixpkgs/pkgs/games/nanosaur/default.nix @@ -12,9 +12,9 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 - cmake makeWrapper ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { installPhase = '' mv build $out - makeWrapper $out/Nanosaur $out/bin/Nanosaur --run "cd $out" + makeWrapper $out/Nanosaur $out/bin/Nanosaur --chdir "$out" ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/nethack/default.nix b/nixpkgs/pkgs/games/nethack/default.nix index 2b29bddad93c..f6de3d57c130 100644 --- a/nixpkgs/pkgs/games/nethack/default.nix +++ b/nixpkgs/pkgs/games/nethack/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison +{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison, fetchpatch , less , buildPackages , x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkg-config, qt5 @@ -24,6 +24,15 @@ in stdenv.mkDerivation rec { else if qtMode then "nethack-qt" else "nethack"; + patches = [ + # Don't unset `__warn_unused_result__`, breaks on glibc-2.34 + (fetchpatch { + url = "https://github.com/NetHack/NetHack/commit/81d73ce417dda6a98e2e918e06922e68b67c53f7.patch"; + sha256 = "sha256-PX9XtJTEE3K1yg/IwIzEIT+EZWi02gU+9msrsG9ZWQY="; + revert = true; + }) + ]; + src = fetchurl { url = "https://nethack.org/download/${version}/nethack-${lib.replaceStrings ["."] [""] version}-src.tgz"; sha256 = "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng"; diff --git a/nixpkgs/pkgs/games/neverball/default.nix b/nixpkgs/pkgs/games/neverball/default.nix index ba1d403207a9..5e8e3f41c784 100644 --- a/nixpkgs/pkgs/games/neverball/default.nix +++ b/nixpkgs/pkgs/games/neverball/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, SDL2, libGL, libpng, libjpeg, SDL2_ttf, libvorbis, gettext +{ lib, stdenv, fetchurl, fetchpatch, SDL2, libGL, libpng, libjpeg, SDL2_ttf, libvorbis, gettext , physfs }: stdenv.mkDerivation rec { @@ -8,12 +8,21 @@ stdenv.mkDerivation rec { url = "https://neverball.org/neverball-${version}.tar.gz"; sha256 = "184gm36c6p6vaa6gwrfzmfh86klhnb03pl40ahsjsvprlk667zkk"; }; + patches = [ + # Pull upstream fix for -fno-common toolchains + # https://github.com/Neverball/neverball/pull/198 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/Neverball/neverball/commit/a42492b8db06934c7a794630db92e3ff6ebaadaa.patch"; + sha256 = "0sqyxfwpl4xxra8iz87j5rxzwani16xra2xl4l5z61shvq30308h"; + }) + ]; buildInputs = [ libpng SDL2 libGL libjpeg SDL2_ttf libvorbis gettext physfs ]; dontPatchELF = true; - patchPhase = '' + postPatch = '' sed -i -e 's@\./data@'$out/share/neverball/data@ share/base_config.h Makefile sed -i -e 's@\./locale@'$out/share/neverball/locale@ share/base_config.h Makefile sed -i -e 's@-lvorbisfile@-lvorbisfile -lX11 -lgcc_s@' Makefile diff --git a/nixpkgs/pkgs/games/npush/default.nix b/nixpkgs/pkgs/games/npush/default.nix index d4124557f6e6..25748a9983c8 100644 --- a/nixpkgs/pkgs/games/npush/default.nix +++ b/nixpkgs/pkgs/games/npush/default.nix @@ -38,6 +38,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + broken = stdenv.isDarwin; homepage = "http://npush.sourceforge.net/"; description = "A Sokoban-like game"; license = licenses.gpl2Plus; diff --git a/nixpkgs/pkgs/games/oh-my-git/default.nix b/nixpkgs/pkgs/games/oh-my-git/default.nix index 57fbad34057b..cd4fd216eaa6 100644 --- a/nixpkgs/pkgs/games/oh-my-git/default.nix +++ b/nixpkgs/pkgs/games/oh-my-git/default.nix @@ -19,19 +19,20 @@ , libXrender , libglvnd , libpulseaudio +, perl , zlib , udev # for libudev }: stdenv.mkDerivation rec { pname = "oh-my-git"; - version = "0.6.4"; + version = "0.6.5"; src = fetchFromGitHub { owner = "git-learning-game"; repo = "oh-my-git"; rev = version; - sha256 = "sha256-GQLHyBUXF+yqEZ/LYutAn6TBCXFX8ViOaERQEm2J6CY="; + sha256 = "sha256-XqxliMVU55D5JSt7Yo5btvZnnTlagSukyhXv6Akgklo="; }; nativeBuildInputs = [ @@ -54,6 +55,7 @@ stdenv.mkDerivation rec { libXrender libglvnd libpulseaudio + perl zlib udev ]; @@ -70,6 +72,13 @@ stdenv.mkDerivation rec { }) ]; + # patch shebangs so that e.g. the fake-editor script works: + # error: /usr/bin/env 'perl': No such file or directory + # error: There was a problem with the editor + postPatch = '' + patchShebangs scripts + ''; + buildPhase = '' runHook preBuild diff --git a/nixpkgs/pkgs/games/onscripter-en/default.nix b/nixpkgs/pkgs/games/onscripter-en/default.nix index 82de61e41893..a1a2d4ed7d9f 100644 --- a/nixpkgs/pkgs/games/onscripter-en/default.nix +++ b/nixpkgs/pkgs/games/onscripter-en/default.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation { ''; meta = with lib; { + broken = stdenv.isDarwin; description = "Japanese visual novel scripting engine"; homepage = "http://unclemion.com/onscripter/"; license = licenses.gpl2; diff --git a/nixpkgs/pkgs/games/opendungeons/default.nix b/nixpkgs/pkgs/games/opendungeons/default.nix index 734be8e999ae..9afcbd898785 100644 --- a/nixpkgs/pkgs/games/opendungeons/default.nix +++ b/nixpkgs/pkgs/games/opendungeons/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { sha256 = "0xf7gkpy8ll1h59wyaljf0hr8prg7p4ixz80mxqwcnm9cglpgn63"; }; - patches = [ ./cmakepaths.patch ]; + patches = [ + ./cmakepaths.patch + ./fix_link_date_time.patch + ]; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ ogre cegui boost sfml openal ois ]; diff --git a/nixpkgs/pkgs/games/opendungeons/fix_link_date_time.patch b/nixpkgs/pkgs/games/opendungeons/fix_link_date_time.patch new file mode 100644 index 000000000000..884aa9901ba7 --- /dev/null +++ b/nixpkgs/pkgs/games/opendungeons/fix_link_date_time.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f8ff3c2..689c463 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -538,7 +538,7 @@ endif() + #This has to cover the versions not already known by CMake + set(Boost_ADDITIONAL_VERSIONS 1.47 1.47.0 1.47.1 1.55.0) + +-set(OD_BOOST_COMPONENTS system filesystem locale program_options thread) ++set(OD_BOOST_COMPONENTS system date_time filesystem locale program_options thread) + + if(BUILD_TESTING AND OD_BUILD_TESTING) + set(OD_BOOST_COMPONENTS ${OD_BOOST_COMPONENTS} unit_test_framework) diff --git a/nixpkgs/pkgs/games/openjk/default.nix b/nixpkgs/pkgs/games/openjk/default.nix index d2844809eea8..092f442669a6 100644 --- a/nixpkgs/pkgs/games/openjk/default.nix +++ b/nixpkgs/pkgs/games/openjk/default.nix @@ -19,15 +19,24 @@ let genericName = "Jedi Academy"; categories = [ "Game" ]; }; + josp = makeDesktopItem rec { + name = "josp"; + exec = name; + icon = "OpenJK_Icon_128"; + comment = "Open Source Jedi Outcast game released by Raven Software"; + desktopName = "Jedi Outcast (Single Player)"; + genericName = "Jedi Outcast"; + categories = [ "Game" ]; + }; in stdenv.mkDerivation { pname = "OpenJK"; - version = "2020-07-03"; + version = "unstable-2022-01-30"; src = fetchFromGitHub { owner = "JACoders"; repo = "OpenJK"; - rev = "0a336ce4dffe6505e3f754b59732402a1db95752"; - sha256 = "1xagbz42hi3ivs208mnay2dbgh90pmwwbar2p1yfhj3zl3cghcs8"; + rev = "235fb9e1a9c4537a603b2e54e444327d20d198a3"; + sha256 = "sha256-DqP6wnu5sE7lQJGEdsEPOc6FIaJjqxt5ANKZ5eiabC4="; }; dontAddPrefix = true; @@ -35,22 +44,39 @@ in stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper cmake ]; buildInputs = [ libjpeg zlib libpng libGL SDL2 ]; + outputs = [ "out" "openjo" "openja" ]; + # move from $out/JediAcademy to $out/opt/JediAcademy preConfigure = '' cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$out/opt") ''; + cmakeFlags = ["-DBuildJK2SPEngine:BOOL=ON" + "-DBuildJK2SPGame:BOOL=ON" + "-DBuildJK2SPRdVanilla:BOOL=ON"]; postInstall = '' - mkdir -p $out/bin $out/share/applications $out/share/icons/hicolor/128x128/apps - prefix=$out/opt/JediAcademy + mkdir -p $out/bin $openja/bin $openjo/bin + mkdir -p $openja/share/applications $openjo/share/applications + mkdir -p $openja/share/icons/hicolor/128x128/apps $openjo/share/icons/hicolor/128x128/apps + mkdir -p $openja/opt $openjo/opt + mv $out/opt/JediAcademy $openja/opt/ + mv $out/opt/JediOutcast $openjo/opt/ + jaPrefix=$openja/opt/JediAcademy + joPrefix=$openjo/opt/JediOutcast - makeWrapper $prefix/openjk.* $out/bin/jamp --run "cd $prefix" - makeWrapper $prefix/openjk_sp.* $out/bin/jasp --run "cd $prefix" - makeWrapper $prefix/openjkded.* $out/bin/openjkded --run "cd $prefix" + makeWrapper $jaPrefix/openjk.* $openja/bin/jamp --chdir "$jaPrefix" + makeWrapper $jaPrefix/openjk_sp.* $openja/bin/jasp --chdir "$jaPrefix" + makeWrapper $jaPrefix/openjkded.* $openja/bin/openjkded --chdir "$jaPrefix" + makeWrapper $joPrefix/openjo_sp.* $openjo/bin/josp --chdir "$joPrefix" - cp $src/shared/icons/OpenJK_Icon_128.png $out/share/icons/hicolor/128x128/apps - ln -s ${jamp}/share/applications/* $out/share/applications - ln -s ${jasp}/share/applications/* $out/share/applications + cp $src/shared/icons/OpenJK_Icon_128.png $openjo/share/icons/hicolor/128x128/apps + cp $src/shared/icons/OpenJK_Icon_128.png $openja/share/icons/hicolor/128x128/apps + ln -s ${jamp}/share/applications/* $openja/share/applications + ln -s ${jasp}/share/applications/* $openja/share/applications + ln -s ${josp}/share/applications/* $openjo/share/applications + ln -s $openja/bin/* $out/bin + ln -s $openjo/bin/* $out/bin + rm -rf $out/opt ''; meta = with lib; { @@ -58,6 +84,6 @@ in stdenv.mkDerivation { homepage = "https://github.com/JACoders/OpenJK"; license = licenses.gpl2; platforms = platforms.linux; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ tgunnoe ]; }; } diff --git a/nixpkgs/pkgs/games/openmw/default.nix b/nixpkgs/pkgs/games/openmw/default.nix index edc8147a2b77..389f59f91a6a 100644 --- a/nixpkgs/pkgs/games/openmw/default.nix +++ b/nixpkgs/pkgs/games/openmw/default.nix @@ -1,6 +1,7 @@ { lib , mkDerivation , fetchFromGitHub +, fetchpatch , cmake , pkg-config , wrapQtAppsHook @@ -55,6 +56,13 @@ mkDerivation rec { sha256 = "sha256-Xq9hDUTCQr79Zzjk0CsiXclVTHK6nrSowukIQqVdrKY="; }; + patches = [ + (fetchpatch { + url = "https://gitlab.com/OpenMW/openmw/-/merge_requests/1239.diff"; + sha256 = "sha256-RhbIGeE6GyqnipisiMTwWjcFnIiR055hUPL8IkjPgZw="; + }) + ]; + nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; buildInputs = [ diff --git a/nixpkgs/pkgs/games/openmw/tes3mp.nix b/nixpkgs/pkgs/games/openmw/tes3mp.nix index 37ad603d7cf5..0f91a3c0028b 100644 --- a/nixpkgs/pkgs/games/openmw/tes3mp.nix +++ b/nixpkgs/pkgs/games/openmw/tes3mp.nix @@ -87,7 +87,7 @@ let ''; # https://github.com/TES3MP/openmw-tes3mp/issues/552 - patches = [ ./tes3mp.patch ]; + patches = oldAttrs.patches ++ [ ./tes3mp.patch ]; NIX_CFLAGS_COMPILE = "-fpermissive"; @@ -108,6 +108,7 @@ let license = licenses.gpl3Only; maintainers = with maintainers; [ peterhoeg ]; platforms = [ "x86_64-linux" "i686-linux" ]; + broken = true; }; }); @@ -131,11 +132,11 @@ symlinkJoin rec { dir=\''${XDG_CONFIG_HOME:-\$HOME/.config}/openmw makeWrapper ${unwrapped}/libexec/tes3mp-browser $out/bin/tes3mp-browser \ - --run "cd $out/bin" + --chdir "$out/bin" makeWrapper ${unwrapped}/libexec/tes3mp-server $out/bin/tes3mp-server \ --run "mkdir -p $dir" \ --run "${crudini}/bin/crudini --merge $dir/${cfgFile.name} < ${cfgFile}" \ - --run "cd $out/bin" + --chdir "$out/bin" ''; } diff --git a/nixpkgs/pkgs/games/openra/common.nix b/nixpkgs/pkgs/games/openra/common.nix index 01bd44ee244a..67060f9ef388 100644 --- a/nixpkgs/pkgs/games/openra/common.nix +++ b/nixpkgs/pkgs/games/openra/common.nix @@ -34,7 +34,7 @@ in { --set TERM xterm makeWrapper $out/lib/openra${openraSuffix}/launch-game.sh $(mkdirp $out/bin)/openra${openraSuffix} \ - --run "cd $out/lib/openra${openraSuffix}" + --chdir "$out/lib/openra${openraSuffix}" ''; packageAttrs = { diff --git a/nixpkgs/pkgs/games/openra/default.nix b/nixpkgs/pkgs/games/openra/default.nix index 22d3c6c879ed..d99663091474 100644 --- a/nixpkgs/pkgs/games/openra/default.nix +++ b/nixpkgs/pkgs/games/openra/default.nix @@ -43,7 +43,7 @@ let callWithName = name: value: if isFunction value then value name else value; buildOpenRASet = f: args: pkgs.recurseIntoAttrs (mapAttrs callWithName (f ({ inherit (pkgs) fetchFromGitHub; - extraPostFetch = '' + postFetch = '' sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh $out/thirdparty/fetch-thirdparty-deps.sh ''; diff --git a/nixpkgs/pkgs/games/openra/engines.nix b/nixpkgs/pkgs/games/openra/engines.nix index 933f8411f75a..bbb4947acd23 100644 --- a/nixpkgs/pkgs/games/openra/engines.nix +++ b/nixpkgs/pkgs/games/openra/engines.nix @@ -1,4 +1,4 @@ -{ buildOpenRAEngine, fetchFromGitHub, extraPostFetch }: +{ buildOpenRAEngine, fetchFromGitHub, postFetch }: let buildUpstreamOpenRAEngine = { version, rev, sha256 }: name: (buildOpenRAEngine { @@ -9,7 +9,7 @@ let src = fetchFromGitHub { owner = "OpenRA"; repo = "OpenRA" ; - inherit rev sha256 extraPostFetch; + inherit rev sha256 postFetch; }; } name).overrideAttrs (origAttrs: { postInstall = '' diff --git a/nixpkgs/pkgs/games/openra/mods.nix b/nixpkgs/pkgs/games/openra/mods.nix index cf8cd433c294..47e86fd09a7d 100644 --- a/nixpkgs/pkgs/games/openra/mods.nix +++ b/nixpkgs/pkgs/games/openra/mods.nix @@ -1,4 +1,4 @@ -{ buildOpenRAMod, fetchFromGitHub, extraPostFetch }: +{ buildOpenRAMod, fetchFromGitHub, postFetch }: let unsafeBuildOpenRAMod = attrs: name: (buildOpenRAMod attrs name).overrideAttrs (_: { @@ -25,7 +25,7 @@ in { rev = "b8a7dd52ff893ed8225726d4ed4e14ecad748404"; sha256 = "0dyk861qagibx8ldshz7d2nrki9q550f6f0wy8pvayvf1gv1dbxj"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -50,7 +50,7 @@ in { rev = version; sha256 = "0p0izykjnz7pz02g2khp7msqa00jhjsrzk9y0g29dirmdv75qa4r"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; assetsError = '' @@ -78,7 +78,7 @@ in { rev = "f91d3f2603bbf51afaa89357e4defcdc36138102"; sha256 = "05g900ri6q0zrkrk8rmjaz576vjggmi2y6jm0xz3cwli54prn11w"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -102,7 +102,7 @@ in { rev = version; sha256 = "1x6byz37s8qcpqj902zvkvbv95rv2mv2kj35c12gbpyc92xkqkq0"; name = "generals-alpha-engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -127,7 +127,7 @@ in { rev = "4e8eab4ca00d1910203c8a103dfd2c002714daa8"; sha256 = "1yyqparf93x8yzy1f46gsymgkj5jls25v2yc7ighr3f7mi3igdvq"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; } name).overrideAttrs (origAttrs: { @@ -156,7 +156,7 @@ in { rev = "52109c0910f479753704c46fb19e8afaab353c83"; sha256 = "0ga3855j6bc7h81q03cw6laiaiz12915zg8aqah1idvxbzicfy7l"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -180,7 +180,7 @@ in { rev = version; sha256 = "1pgi3zaq9fwwdq6yh19bwxscslqgabjxkvl9bcn1a5agy4bfbqk5"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; assetsError = '' @@ -208,7 +208,7 @@ in { rev = version; sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -233,7 +233,7 @@ in { rev = "f3873ae242803051285994d77eb26f4b951594b5"; sha256 = "02rv29wja0p5d083pd087daz7x7pp5b9ym7sci2fhg3mrnaqgwkp"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; assetsError = '' @@ -262,7 +262,7 @@ in { rev = "bb0930008a57c07f3002421023f6b446e3e3af69"; sha256 = "1jvgpbf56hd02ikhklv49br4d1jiv5hphc5kl79qnjlaacnj222x"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -286,7 +286,7 @@ in { rev = "6de92de8d982094a766eab97a92225c240d85493"; sha256 = "0ps9x379plrrj1hnj4fpr26lc46mzgxknv5imxi0bmrh5y4781ql"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -310,7 +310,7 @@ in { rev = version; sha256 = "1p5hgxxvxlz8480vj0qkmnxjh7zj3hahk312m0zljxfdb40652w1"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; }; @@ -334,7 +334,7 @@ in { rev = version; sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr"; name = "engine"; - inherit extraPostFetch; + inherit postFetch; }; }; assetsError = '' diff --git a/nixpkgs/pkgs/games/openra/packages.nix b/nixpkgs/pkgs/games/openra/packages.nix index 2f4c83c7d5a3..e98ebcaee44f 100644 --- a/nixpkgs/pkgs/games/openra/packages.nix +++ b/nixpkgs/pkgs/games/openra/packages.nix @@ -32,7 +32,7 @@ let */ buildOpenRASet = f: args: builtins.mapAttrs (name: value: if builtins.isFunction value then value name else value) (f ({ inherit (pkgs) fetchFromGitHub; - extraPostFetch = '' + postFetch = '' sed -i 's/curl/curl --insecure/g' $out/thirdparty/{fetch-thirdparty-deps,noget}.sh $out/thirdparty/fetch-thirdparty-deps.sh ''; diff --git a/nixpkgs/pkgs/games/openrct2/default.nix b/nixpkgs/pkgs/games/openrct2/default.nix index 4e07148761b7..b9ffec66bcc1 100644 --- a/nixpkgs/pkgs/games/openrct2/default.nix +++ b/nixpkgs/pkgs/games/openrct2/default.nix @@ -1,36 +1,57 @@ { lib, stdenv, fetchFromGitHub -, SDL2, cmake, curl, duktape, fontconfig, freetype, icu, jansson, libGLU -, libiconv, libpng, libpthreadstubs, libzip, nlohmann_json, openssl, pkg-config -, speexdsp, zlib + +, SDL2 +, cmake +, curl +, discord-rpc +, duktape +, flac +, fontconfig +, freetype +, gbenchmark +, icu +, jansson +, libGLU +, libiconv +, libogg +, libpng +, libpthreadstubs +, libvorbis +, libzip +, nlohmann_json +, openssl +, pkg-config +, speexdsp +, zlib }: let - openrct2-version = "0.3.5.1"; + openrct2-version = "0.4.1"; # Those versions MUST match the pinned versions within the CMakeLists.txt # file. The REPLAYS repository from the CMakeLists.txt is not necessary. - objects-version = "1.0.21"; - title-sequences-version = "0.1.2c"; + objects-version = "1.3.2"; + title-sequences-version = "0.4.0"; openrct2-src = fetchFromGitHub { owner = "OpenRCT2"; repo = "OpenRCT2"; rev = "v${openrct2-version}"; - sha256 = "01v9nsabqjq8hjmyshcp7f5liagfq8sxx9i3yqqab7zk4iixag1h"; + sha256 = "sha256-fMs0zrMzv9jXreZE4QyYIdvWUU/FUFVPuo4EzAF/2rU="; }; objects-src = fetchFromGitHub { owner = "OpenRCT2"; repo = "objects"; rev = "v${objects-version}"; - sha256 = "0r2vp2y67jc1mpfl4j83sx5khvvaddx7xs26ppkigmr2d1xpxgr7"; + sha256 = "sha256-BG0IRiNb2l6/3P7tvuUqMoYNh1zkOS0lCFDDh7m9Q7Y="; }; title-sequences-src = fetchFromGitHub { owner = "OpenRCT2"; repo = "title-sequences"; rev = "v${title-sequences-version}"; - sha256 = "1qdrm4q75bznmgdrpjdaiqvbf3q4vwbkkmls45izxvyg1djrpsdf"; + sha256 = "sha256-anqCZkhYoaxPu3MYCYSsFFngOmPp2wnx2MGb0hj6W5U="; }; in stdenv.mkDerivation { @@ -47,15 +68,20 @@ stdenv.mkDerivation { buildInputs = [ SDL2 curl + discord-rpc duktape + flac fontconfig freetype + gbenchmark icu jansson libGLU libiconv + libogg libpng libpthreadstubs + libvorbis libzip nlohmann_json openssl diff --git a/nixpkgs/pkgs/games/soldat-unstable/default.nix b/nixpkgs/pkgs/games/opensoldat/default.nix index b3ae3b58cfe7..625fc0dce5ae 100644 --- a/nixpkgs/pkgs/games/soldat-unstable/default.nix +++ b/nixpkgs/pkgs/games/opensoldat/default.nix @@ -5,12 +5,12 @@ let base = stdenv.mkDerivation rec { - pname = "soldat-base"; + pname = "opensoldat-base"; version = "unstable-2021-09-05"; src = fetchFromGitHub { name = "base"; - owner = "Soldat"; + owner = "opensoldat"; repo = "base"; rev = "6c74d768d511663e026e015dde788006c74406b5"; sha256 = "175gmkdccy8rnkd95h2zqldqfydyji1hfby8b1qbnl8wz4dh08mz"; @@ -28,7 +28,7 @@ let ''; meta = with lib; { - description = "Soldat's base game content"; + description = "Opensoldat's base game content"; license = licenses.cc-by-40; platforms = platforms.all; inherit (src.meta) homepage; @@ -38,27 +38,22 @@ let in stdenv.mkDerivation rec { - pname = "soldat"; - version = "unstable-2021-11-01"; + pname = "opensoldat"; + version = "unstable-2022-07-02"; src = fetchFromGitHub { - name = "soldat"; - owner = "Soldat"; - repo = "soldat"; - rev = "7780d2948b724970af9f2aaf4fb4e4350d5438d9"; - sha256 = "0r39d1394q7kabsgq6vpdlzwsajxafsg23i0r273nggfvs3m805z"; + name = "opensoldat"; + owner = "opensoldat"; + repo = "opensoldat"; + rev = "9574f5791b7993067f03d2df03d625908bc3762f"; + sha256 = "0kyxzikd4ngx3nshjw0411x61zqq1b7l01lxw41rlcy4nad3r0vi"; }; - patches = [ - # Don't build GameNetworkingSockets as an ExternalProject, - # see https://github.com/Soldat/soldat/issues/73 - ./gamenetworkingsockets-no-external.patch - ]; - nativeBuildInputs = [ fpc makeWrapper autoPatchelfHook cmake ]; cmakeFlags = [ "-DADD_ASSETS=OFF" # We provide base's smods via nix + "-DBUILD_GNS=OFF" # Don't build GameNetworkingSockets as an ExternalProject ]; buildInputs = [ SDL2 freetype physfs openal gamenetworkingsockets ]; @@ -69,6 +64,7 @@ stdenv.mkDerivation rec { # let them write their state and configuration files # to $XDG_CONFIG_HOME/soldat/soldat{,server} unless # the user specifies otherwise. + # TODO(@sternenseemann): rename config dir to opensoldat postInstall = '' for p in $out/bin/soldatserver $out/bin/soldat; do configDir="\''${XDG_CONFIG_HOME:-\$HOME/.config}/soldat/$(basename "$p")" @@ -82,7 +78,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Soldat is a unique 2D (side-view) multiplayer action game"; + description = "Opensoldat is a unique 2D (side-view) multiplayer action game"; license = [ licenses.mit base.meta.license ]; inherit (src.meta) homepage; maintainers = [ maintainers.sternenseemann ]; @@ -90,6 +86,6 @@ stdenv.mkDerivation rec { # portability currently mainly limited by fpc # in nixpkgs which doesn't work on darwin, # aarch64 and arm support should be possible: - # https://github.com/Soldat/soldat/issues/45 + # https://github.com/opensoldat/opensoldat/issues/45 }; } diff --git a/nixpkgs/pkgs/games/openspades/default.nix b/nixpkgs/pkgs/games/openspades/default.nix index 58ac3f8df799..488301a1b555 100644 --- a/nixpkgs/pkgs/games/openspades/default.nix +++ b/nixpkgs/pkgs/games/openspades/default.nix @@ -58,6 +58,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_LINK = "-lopenal"; meta = with lib; { + broken = stdenv.isDarwin; description = "A compatible client of Ace of Spades 0.75"; homepage = "https://github.com/yvt/openspades/"; license = licenses.gpl3; diff --git a/nixpkgs/pkgs/games/opensupaplex/default.nix b/nixpkgs/pkgs/games/opensupaplex/default.nix index d3f8155f546c..dc5d9aae690c 100644 --- a/nixpkgs/pkgs/games/opensupaplex/default.nix +++ b/nixpkgs/pkgs/games/opensupaplex/default.nix @@ -4,7 +4,7 @@ , fetchurl , makeDesktopItem , copyDesktopItems -, testVersion +, testers , opensupaplex , SDL2 , SDL2_mixer @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { runHook postInstall ''; - passthru.tests.version = testVersion { + passthru.tests.version = testers.testVersion { package = opensupaplex; command = "opensupaplex --help"; version = "v${version}"; diff --git a/nixpkgs/pkgs/games/openttd/default.nix b/nixpkgs/pkgs/games/openttd/default.nix index 3219ec50760d..7aac53ae9403 100644 --- a/nixpkgs/pkgs/games/openttd/default.nix +++ b/nixpkgs/pkgs/games/openttd/default.nix @@ -29,11 +29,11 @@ let in stdenv.mkDerivation rec { pname = "openttd"; - version = "12.1"; + version = "12.2"; src = fetchurl { url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz"; - sha256 = "sha256-JYv1uZgwEIkLoQUYtQa8SrgPfAjM7FlJfpulWkqj5+M="; + hash = "sha256-gVCPDek6DCZLIW71agX4OB//e/+m0BASGiFJC02s6Vw="; }; nativeBuildInputs = [ cmake makeWrapper ]; diff --git a/nixpkgs/pkgs/games/openttd/jgrpp.nix b/nixpkgs/pkgs/games/openttd/jgrpp.nix index 19f50ab780e3..a0c70e463b20 100644 --- a/nixpkgs/pkgs/games/openttd/jgrpp.nix +++ b/nixpkgs/pkgs/games/openttd/jgrpp.nix @@ -1,13 +1,15 @@ -{ fetchFromGitHub, openttd, ... }: +{ fetchFromGitHub, openttd, zstd, ... }: openttd.overrideAttrs (oldAttrs: rec { pname = "openttd-jgrpp"; - version = "0.44.0"; + version = "0.47.1"; src = fetchFromGitHub rec { owner = "JGRennison"; repo = "OpenTTD-patches"; rev = "jgrpp-${version}"; - sha256 = "sha256-/kqwMZGXUYWlCnjk6uShJ5UARtvBSZWPExVel5o4xA8="; + hash = "sha256-AMd2KXy/ODByeV9CkEd51KbE/+fZ8Us3WzsWCnn7nh0="; }; + + buildInputs = oldAttrs.buildInputs ++ [ zstd ]; }) diff --git a/nixpkgs/pkgs/games/openttd/nml.nix b/nixpkgs/pkgs/games/openttd/nml.nix index bb44d9eee0b6..2f7405725ab9 100644 --- a/nixpkgs/pkgs/games/openttd/nml.nix +++ b/nixpkgs/pkgs/games/openttd/nml.nix @@ -1,6 +1,10 @@ -{ stdenv, lib, fetchFromGitHub, python3Packages }: +{ stdenv +, lib +, fetchFromGitHub +, python3 +}: -python3Packages.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "openttd-nml"; version = "0.6.1"; @@ -8,15 +12,18 @@ python3Packages.buildPythonApplication rec { owner = "OpenTTD"; repo = "nml"; rev = version; - sha256 = "0z0n4lqvnqigfjjhmmz7mvis7iivd4a8d287ya2yscfg5hznnqh2"; + hash = "sha256-AmJrPyzPMe2F8geJhhRpO8aj467n1wqldC9iuzElFnw="; }; - propagatedBuildInputs = with python3Packages; [ply pillow]; + propagatedBuildInputs = with python3.pkgs; [ + pillow + ply + ]; meta = with lib; { + homepage = "http://openttdcoop.org/"; description = "Compiler for OpenTTD NML files"; - homepage = "http://openttdcoop.org/"; - license = licenses.gpl2; + license = licenses.gpl2; maintainers = with maintainers; [ ToxicFrog ]; }; } diff --git a/nixpkgs/pkgs/games/opentyrian/default.nix b/nixpkgs/pkgs/games/opentyrian/default.nix index 43c8e08c79f5..5d386bce6db9 100644 --- a/nixpkgs/pkgs/games/opentyrian/default.nix +++ b/nixpkgs/pkgs/games/opentyrian/default.nix @@ -1,35 +1,43 @@ -{ lib, stdenv, fetchurl, fetchzip, SDL, SDL_net }: +{ lib +, stdenv +, fetchFromGitHub +, fetchzip +, SDL2 +, SDL2_net +, pkg-config +}: stdenv.mkDerivation rec { pname = "opentyrian"; - version = "2.1.20130907"; + version = "2.1.20220318"; - src = fetchurl { - url = "https://bitbucket.org/opentyrian/opentyrian/get/${version}.tar.gz"; - sha256 = "1jnrkq616pc4dhlbd4n30d65vmn25q84w6jfv9383l9q20cqf2ph"; + src = fetchFromGitHub { + owner = "opentyrian"; + repo = "opentyrian"; + rev = "v${version}"; + sha256 = "01z1zxpps4ils0bnwazl9lmqdbfhfd8fkacahnh6kqyczavg40xg"; }; data = fetchzip { - url = "http://sites.google.com/a/camanis.net/opentyrian/tyrian/tyrian21.zip"; + url = "https://camanis.net/tyrian/tyrian21.zip"; sha256 = "1biz6hf6s7qrwn8ky0g6p8w7yg715w7yklpn6258bkks1s15hpdb"; }; - buildInputs = [SDL SDL_net]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ SDL2 SDL2_net ]; - patchPhase = " - substituteInPlace src/file.c --replace /usr/share $out/share - "; - buildPhase = "make release"; - installPhase = " - mkdir -p $out/bin - cp ./opentyrian $out/bin - mkdir -p $out/share/opentyrian/data - cp -r $data/* $out/share/opentyrian/data - "; + enableParallelBuilding = true; + + makeFlags = [ "prefix=${placeholder "out"}" ]; + + postInstall = '' + mkdir -p $out/share/games/tyrian + cp -r $data/* $out/share/games/tyrian/ + ''; meta = { description = ''Open source port of the game "Tyrian"''; - homepage = "https://bitbucket.org/opentyrian/opentyrian"; + homepage = "https://github.com/opentyrian/opentyrian"; # This does not account of Tyrian data. # license = lib.licenses.gpl2; }; diff --git a/nixpkgs/pkgs/games/openxcom/default.nix b/nixpkgs/pkgs/games/openxcom/default.nix index b877c3aac2fd..61f209aae4dc 100644 --- a/nixpkgs/pkgs/games/openxcom/default.nix +++ b/nixpkgs/pkgs/games/openxcom/default.nix @@ -1,26 +1,38 @@ -{lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib, openssl, libyamlcpp, boost -, SDL, SDL_image, SDL_mixer, SDL_gfx }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, libGLU +, libGL +, zlib +, openssl +, libyamlcpp +, boost +, SDL +, SDL_image +, SDL_mixer +, SDL_gfx +}: -let version = "1.0.0.2019.10.18"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "openxcom"; - inherit version; + version = "1.0.0.2019.10.18"; + src = fetchFromGitHub { owner = "OpenXcom"; repo = "OpenXcom"; rev = "f9853b2cb8c8f741ac58707487ef493416d890a3"; - sha256 = "0kbfawj5wsp1mwfcm5mwpkq6s3d13pailjm5w268gqpxjksziyq0"; + hash = "sha256-APv49ZT94oeM4KVKGtUdoQ1t8Ly8lsocr+FqXiRXbk0="; }; nativeBuildInputs = [ cmake ]; buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU libGL openssl zlib ]; - meta = { + meta = with lib; { description = "Open source clone of UFO: Enemy Unknown"; homepage = "https://openxcom.org"; - maintainers = [ lib.maintainers.cpages ]; - platforms = lib.platforms.linux; - license = lib.licenses.gpl3; + maintainers = with maintainers; [ cpages ]; + platforms = platforms.linux; + license = licenses.gpl3; }; - } diff --git a/nixpkgs/pkgs/games/openxray/default.nix b/nixpkgs/pkgs/games/openxray/default.nix index 58c82aec3659..aef6c0c2e92a 100644 --- a/nixpkgs/pkgs/games/openxray/default.nix +++ b/nixpkgs/pkgs/games/openxray/default.nix @@ -1,68 +1,53 @@ -{ lib, stdenv, fetchFromGitHub, cmake, glew, freeimage, liblockfile -, openal, libtheora, SDL2, lzo, libjpeg, libogg, tbb -, pcre, makeWrapper, fetchpatch }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +, glew +, freeimage +, liblockfile +, openal +, libtheora +, SDL2 +, lzo +, libjpeg +, libogg +, pcre +, makeWrapper +}: -let - version = "822-december-preview"; +stdenv.mkDerivation rec { + pname = "openxray"; + version = "1144-december-2021-rc1"; src = fetchFromGitHub { owner = "OpenXRay"; repo = "xray-16"; rev = version; fetchSubmodules = true; - sha256 = "06f3zjnib7hipyl3hnc6mwcj9f50kbwn522wzdjydz8qgdg60h3m"; + sha256 = "07qj1lpp21g4p583gvz5h66y2q71ymbsz4g5nr6dcys0vm7ph88v"; }; - # https://github.com/OpenXRay/xray-16/issues/518 - cryptopp = stdenv.mkDerivation { - pname = "cryptopp"; - version = "5.6.5"; - - inherit src; - - sourceRoot = "source/Externals/cryptopp"; - - makeFlags = [ "PREFIX=${placeholder "out"}" ]; - enableParallelBuilding = true; - - doCheck = true; - - meta = with lib; { - description = "Crypto++, a free C++ class library of cryptographic schemes"; - homepage = "https://cryptopp.com/"; - license = with licenses; [ boost publicDomain ]; - platforms = platforms.all; - }; - }; -in stdenv.mkDerivation rec { - pname = "openxray"; - inherit version src; - - # TODO https://github.com/OpenXRay/GameSpy/pull/6, check if merged in version > 822 - # Fixes format hardening - patches = [ - (fetchpatch { - url = "https://github.com/OpenXRay/GameSpy/pull/6/commits/155af876281f5d94f0142886693314d97deb2d4c.patch"; - sha256 = "1l0vcgvzzx8n56shpblpfdhvpr6c12fcqf35r0mflaiql8q7wn88"; - stripLen = 1; - extraPrefix = "Externals/GameSpy/"; - }) + nativeBuildInputs = [ + cmake + makeWrapper ]; - cmakeFlags = [ "-DCMAKE_INCLUDE_PATH=${cryptopp}/include/cryptopp" ]; - buildInputs = [ - glew freeimage liblockfile openal cryptopp libtheora SDL2 lzo - libjpeg libogg tbb pcre + glew + freeimage + liblockfile + openal + libtheora + SDL2 + lzo + libjpeg + libogg + pcre ]; - nativeBuildInputs = [ cmake makeWrapper ]; - - # https://github.com/OpenXRay/xray-16/issues/786 - preConfigure = '' - substituteInPlace src/xrCore/xrCore.cpp \ - --replace /usr/share $out/share - ''; + # Crashes can happen, we'd like them to be reasonably debuggable + cmakeBuildType = "RelWithDebInfo"; + dontStrip = true; postInstall = '' # needed because of SDL_LoadObject library loading code @@ -71,10 +56,11 @@ in stdenv.mkDerivation rec { ''; meta = with lib; { + mainProgram = "xray-16"; description = "Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World"; - homepage = src.meta.homepage; + homepage = "https://github.com/OpenXRay/xray-16/"; license = licenses.unfree // { - url = "https://github.com/OpenXRay/xray-16/blob/xd_dev/License.txt"; + url = "https://github.com/OpenXRay/xray-16/blob/${version}/License.txt"; }; maintainers = with maintainers; [ OPNA2608 ]; platforms = [ "x86_64-linux" "i686-linux" ]; diff --git a/nixpkgs/pkgs/games/osu-lazer/default.nix b/nixpkgs/pkgs/games/osu-lazer/default.nix index 2b1a2f044fa0..262df2e853a6 100644 --- a/nixpkgs/pkgs/games/osu-lazer/default.nix +++ b/nixpkgs/pkgs/games/osu-lazer/default.nix @@ -9,17 +9,18 @@ , SDL2 , lttng-ust , numactl +, dotnetCorePackages }: buildDotnetModule rec { pname = "osu-lazer"; - version = "2022.205.0"; + version = "2022.723.0"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - sha256 = "sha256-CzXgj3990qWOwIjhbU8vO29nDO/7HrGDtsc67VIenPI="; + sha256 = "sha256-j3NxT/WCOCSB62JUO8hYCRUoF+GL1QAdaUaynY7aGj8="; }; projectFile = "osu.Desktop/osu.Desktop.csproj"; @@ -27,11 +28,9 @@ buildDotnetModule rec { nativeBuildInputs = [ copyDesktopItems ]; - preConfigure = '' - dotnetFlags+=( - --runtime linux-x64 - ) - ''; + dotnetFlags = [ + "--runtime linux-x64" + ]; runtimeDeps = [ ffmpeg @@ -74,7 +73,7 @@ buildDotnetModule rec { cc-by-nc-40 unfreeRedistributable # osu-framework contains libbass.so in repository ]; - maintainers = with maintainers; [ oxalica ]; + maintainers = with maintainers; [ oxalica thiagokokada ]; platforms = [ "x86_64-linux" ]; mainProgram = "osu!"; }; diff --git a/nixpkgs/pkgs/games/osu-lazer/deps.nix b/nixpkgs/pkgs/games/osu-lazer/deps.nix index 6ff9f6dfaf80..52c3b6f7a921 100644 --- a/nixpkgs/pkgs/games/osu-lazer/deps.nix +++ b/nixpkgs/pkgs/games/osu-lazer/deps.nix @@ -1,150 +1,137 @@ { fetchNuGet }: [ - (fetchNuGet { pname = "AutoMapper"; version = "11.0.0"; sha256 = "1ni9mmrqfbspwf7xz6by5415ci5zhg15z3f7596qqpmbn8bqg7wq"; }) - (fetchNuGet { pname = "DeltaCompressionDotNet"; version = "2.0.0.0"; sha256 = "0zhj7m3zaf9wcg51385in9qg1xgkvp8yyzgq3r5k4sagm7y68aqy"; }) - (fetchNuGet { pname = "DiffPlex"; version = "1.7.0"; sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00"; }) + (fetchNuGet { pname = "AutoMapper"; version = "11.0.1"; sha256 = "1z1x5c1dkwk6142km5q6jglhpq9x82alwjjy5a72c8qnq9ppdfg3"; }) + (fetchNuGet { pname = "Clowd.Squirrel"; version = "2.9.42"; sha256 = "1xxrr9jmgn343d467nz40569mkybinnmxaxyc4fhgy6yddvzk1y0"; }) + (fetchNuGet { pname = "DiffPlex"; version = "1.7.1"; sha256 = "1q78r70pirgb7j5wkh454ws237lihh0fig212cpbj02cz53c2h6j"; }) (fetchNuGet { pname = "DiscordRichPresence"; version = "1.0.175"; sha256 = "180sax976327d70qbinv07f65g3w2zbw80n49hckg8wd4rw209vd"; }) (fetchNuGet { pname = "FFmpeg.AutoGen"; version = "4.3.0.1"; sha256 = "0n6x57mnnvcjnrs8zyvy07h5zm4bcfy9gh4n4bvd9fx5ys4pxkvv"; }) - (fetchNuGet { pname = "Fody"; version = "6.6.0"; sha256 = "0cx708ah61cxmvpaq040mhqwrv937rvlmskwihg1w118729k9yv0"; }) + (fetchNuGet { pname = "Fody"; version = "6.6.2"; sha256 = "1jnpvqzi7bdk96skqax82765q1kjpx921yqakqawkx5b3bhqpihs"; }) (fetchNuGet { pname = "HidSharpCore"; version = "1.2.1.1"; sha256 = "1zkndglmz0s8rblfhnqcvv90rkq2i7lf4bc380g7z8h1avf2ikll"; }) - (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.40"; sha256 = "0k1cpkfgz4v5qigvmmvlk8lv2a731kqkmx6acf3rzr8rlj3cfnc4"; }) - (fetchNuGet { pname = "Humanizer"; version = "2.13.14"; sha256 = "155g2700x6sbym2jd4dshm4rf3jjr8flx6w9xnw28zrrv7r2rdy8"; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.13.14"; sha256 = "1ni4mcyhcs46ih9b8c8l3xq3iai56rdlcw0afwhji3hxwbxqbk7i"; }) - (fetchNuGet { pname = "Humanizer.Core"; version = "2.2.0"; sha256 = "08mzg65y9d3zvq16rsmpapcdan71ggq2mpks6k777h3wlm2sh3p5"; }) - (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.13.14"; sha256 = "0w7n9qfxlqayw2dwgajqjks5b2qxcy2853v5h0rbaq5r5yb84874"; }) - (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.13.14"; sha256 = "1nxdh3hg9hkvi7q0ffaflb738kkdl0kmpry9jxdkkvg4mhrmfs2i"; }) - (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.13.14"; sha256 = "1rjhpbzy49rrf0mypkf7ksjlmx6iywdbra1caj1mr970gfm1j4zb"; }) - (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.13.14"; sha256 = "101zwkys4w7dwwa7dzsc10gdrk6bnfmm3hqc09a4jvxj2p8i6hds"; }) - (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.13.14"; sha256 = "1d0flbhk4f0kc1dqzgqnimlp3gcj490qchrbl4yb4ilmsyaws0gm"; }) - (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.13.14"; sha256 = "11hfxdpncbrbj9d779b24hw43sfpbjynmkxlv636sg532j5vd58g"; }) - (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.13.14"; sha256 = "0bfl1zx6x58i75l57k8xfky264hh2ziv068yx9w0zshil0d74iw5"; }) - (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.13.14"; sha256 = "1bhhmp9rza2p4j5zs11sk2xvrbbvckr1v8d97aramqzqmv4x20pd"; }) - (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.13.14"; sha256 = "1kym97876jspj72y9fhpc2y1jn3j12y5l95222r53mbrrpwz1m6p"; }) - (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.13.14"; sha256 = "0v5fmy7cjdk3bs13pi09v3g7sbmdnvijn0w8gnif0krmg2rdm2z7"; }) - (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.13.14"; sha256 = "12m3d0cr9qa0f7sx58rqw835awi01j0frvbp1q796s6amlvhrcyc"; }) - (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.13.14"; sha256 = "0j8gl6kajazjw64xpf4ws5v6hv5dz43gnm0vcnfm5l2kizd87wxh"; }) - (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.13.14"; sha256 = "053jcc9rdxxnwiccqmcxnvq40a4fm6h6lr0mlqdxjdfdj07s29i9"; }) - (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.13.14"; sha256 = "00xff7shwclns2v8mknwnh2y6ycfa9zj7ssgrkdyqa9k8ppq26dh"; }) - (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.13.14"; sha256 = "10qhxb6fin6w595f7h7nnfvvh5xi0vmca9ynsggq74rpjzgmvyzr"; }) - (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.13.14"; sha256 = "1xgd3had8gsfy4l5835vn9ngr5i5ys38mggzmm4s6j1id49920g4"; }) - (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.13.14"; sha256 = "0gfrkjp9c38c671d8rc468hphkixarjzss754rqsk4j5x1p13wml"; }) - (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.13.14"; sha256 = "01691rwvrh6spks5jc1vcg961p1awy34ynkaxqlhr5d49dw5qgdd"; }) - (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.13.14"; sha256 = "177vbbn8q0xl2cdak4xyk38w4w8c1y2vlq9i2fm7va4x6awdyxjk"; }) - (fetchNuGet { pname = "Humanizer.Core.is"; version = "2.13.14"; sha256 = "08d8zknnxlvbshlvlnj1m954ddf7khw1n24pphsa9i0brww9wxfv"; }) - (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.13.14"; sha256 = "0873ijf8cxm7skwp622ddnh8pdl30nlrwmil89icf67z3flis60d"; }) - (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.13.14"; sha256 = "1bshhkiv57010zij7pcmm1709n0y4pk3kp9xx7ar3gnra3jmm6za"; }) - (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.13.14"; sha256 = "0rhq6471pjaypnh4k08y124i7sa6cj3i71v2frv66qpynl6hi0y0"; }) - (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.13.14"; sha256 = "1ircd4lw3ryl3zzdv85wpk8by44rzhn4ln85ycml2b6a21arq1rw"; }) - (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.13.14"; sha256 = "0y7m6zvns8wr0sy5ksjb51wrypgplfdwprz96xw1ajmdj4fjh9sr"; }) - (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.13.14"; sha256 = "1cpnjjgybh9dp9snq3r6wm3l4zy1ssjyb64bayjnd8770lpvyfjs"; }) - (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.13.14"; sha256 = "0n5zjsq71nvxnhghsk321cqrwz7kf1jzfcq4vhsksyv7q9na74ak"; }) - (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.13.14"; sha256 = "07b1fj3ac2wcj7ql1gc7vaa4q4dmyd0prj7bxr52z04ar3nxjlsc"; }) - (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.13.14"; sha256 = "0v1vljlzjlslj5y3c5xd2pbp1g29ghjd02s0z2bri5zk9zcgysvq"; }) - (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.13.14"; sha256 = "15imi9m1lvfrx0fvfmlx74p8y59na2rkgdrbfyy3dvgvd74b9k5v"; }) - (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.13.14"; sha256 = "06ix2xilgi7w7306hs4v41ai6jwank384cyz0885b53dic5kgq7r"; }) - (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.13.14"; sha256 = "1qd1w1xrxap7nwmfl9yjx6z71r03p53kw8y4dnjn7xdn85xc7z4b"; }) - (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.13.14"; sha256 = "1qifvw6y6g7014q0s8xaprsk79bqlgg0rmvbyn21qalc0ayab97v"; }) - (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.13.14"; sha256 = "0wg4p84m9r6slbz9gxrjnidc1j7xfmwncpp14x3f86a37791rz61"; }) - (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.13.14"; sha256 = "1qm0nsbw3z9n011fnnhyhzgpxyz41f01dxl13bs8mjzy0f1v3gvj"; }) - (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.13.14"; sha256 = "1fhkjyxjk9icj705qysk8yc11hpdml2cjcxm7mfdv5z2f93sa4hz"; }) - (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.13.14"; sha256 = "02f15q3i9npvvxwjyp14rxd8rlhd9qricrah3cmc8lw9fca26bb4"; }) - (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.13.14"; sha256 = "0mnycpjl51cd4nz9kwijr66zrgxqjbcsp5jqgr660l4bq16yxjad"; }) - (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.13.14"; sha256 = "13vdyrg1jp2al96w08vfkw5yjdqdnp7pksxz907i89w6cp9wbfvm"; }) - (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.13.14"; sha256 = "0ganp6zjjj07lcpy9h88q2441f1lfv3a7mgncrqw36bliv37pr8m"; }) - (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.13.14"; sha256 = "1sgfzh9dabdhhk5i97c0d13rz5yghcp2qpjidqsizpi2k8h8rl0r"; }) - (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.13.14"; sha256 = "1ns33byx9p6fv6gffdxly3fm3wvjl6ndscribwr37134pa6nvqc9"; }) - (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.13.14"; sha256 = "1qm27qz989nwnkpg26phi60qqahivssx906znwkldml2h2rz8k0g"; }) - (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.13.14"; sha256 = "1hd2d7js8cng50ir56l8lhc9qc1rwzjvqrv98ly9ggnv8n63iiws"; }) - (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.13.14"; sha256 = "0xh33ml7aspslj4gnbd7anjvp3463djhcc51bh2ji67rbw1an6rw"; }) - (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.13.14"; sha256 = "062wgs0qnhvikvfz37jmqw6sx7xwzs24ncl89paq3640id32aivd"; }) - (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.13.14"; sha256 = "0s01h733ihxjg64bznjvnij76lflqfcmwznjwmd8p2axmn8688s0"; }) - (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; }) + (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.43"; sha256 = "08xh6fm5l9f8lhhkk0h9vrp8qa60qmiq8k6wyip8lqn810jld50m"; }) + (fetchNuGet { pname = "Humanizer"; version = "2.14.1"; sha256 = "18cycx9gvbc3735chdi2r583x73m2fkz1ws03yi3g640j9zv00fp"; }) + (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; }) + (fetchNuGet { pname = "Humanizer.Core"; version = "2.8.26"; sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; }) + (fetchNuGet { pname = "Humanizer.Core.af"; version = "2.14.1"; sha256 = "197lsky6chbmrixgsg6dvxbdbbpis0an8mn6vnwjcydhncis087h"; }) + (fetchNuGet { pname = "Humanizer.Core.ar"; version = "2.14.1"; sha256 = "03rz12mxrjv5afm1hn4rrpimkkb8wdzp17634dcq10fhpbwhy6i5"; }) + (fetchNuGet { pname = "Humanizer.Core.az"; version = "2.14.1"; sha256 = "138kdhy86afy5n72wy12qlb25q4034z73lz5nbibmkixxdnj9g5r"; }) + (fetchNuGet { pname = "Humanizer.Core.bg"; version = "2.14.1"; sha256 = "0scwzrvv8332prijkbp4y11n172smjb4sf7ygia6bi3ibhzq7zjy"; }) + (fetchNuGet { pname = "Humanizer.Core.bn-BD"; version = "2.14.1"; sha256 = "1322kn7ym46mslh32sgwkv07l3jkkx7cw5wjphql2ziphxw536p8"; }) + (fetchNuGet { pname = "Humanizer.Core.cs"; version = "2.14.1"; sha256 = "1zl3vsdd2pw3nm05qpnr6c75y7gacgaghg9sj07ksvsjmklgqqih"; }) + (fetchNuGet { pname = "Humanizer.Core.da"; version = "2.14.1"; sha256 = "10rmrvzwp212fpxv0sdq8f0sjymccsdn71k99f845kz0js83r70s"; }) + (fetchNuGet { pname = "Humanizer.Core.de"; version = "2.14.1"; sha256 = "0j7kld0jdiqwin83arais9gzjj85mpshmxls64yi58qhl7qjzk0j"; }) + (fetchNuGet { pname = "Humanizer.Core.el"; version = "2.14.1"; sha256 = "143q1321qh5506wwvcpy0fj7hpbd9i1k75247mqs2my05x9vc8n0"; }) + (fetchNuGet { pname = "Humanizer.Core.es"; version = "2.14.1"; sha256 = "011kscy671mgyx412h55b0x9a1ngmdsgqzqq1w0l10xhf90y4hc8"; }) + (fetchNuGet { pname = "Humanizer.Core.fa"; version = "2.14.1"; sha256 = "184dxwkf251c27h7gg9y5zciixgcwy1cmdrs0bqrph7gg69kp6yq"; }) + (fetchNuGet { pname = "Humanizer.Core.fi-FI"; version = "2.14.1"; sha256 = "144jlnlipr3pnbcyhbgrd2lxibx8vy00lp2zn60ihxppgbisircc"; }) + (fetchNuGet { pname = "Humanizer.Core.fr"; version = "2.14.1"; sha256 = "0klnfy8n659sp8zngd87gy7qakd56dwr1axjjzk0zph1zvww09jq"; }) + (fetchNuGet { pname = "Humanizer.Core.fr-BE"; version = "2.14.1"; sha256 = "0b70illi4m58xvlqwcvar0smh6292zadzk2r8c25ryijh6d5a9qv"; }) + (fetchNuGet { pname = "Humanizer.Core.he"; version = "2.14.1"; sha256 = "08xkiv88qqd1b0frpalb2npq9rvz2q1yz48k6dikrjvy6amggirh"; }) + (fetchNuGet { pname = "Humanizer.Core.hr"; version = "2.14.1"; sha256 = "12djmwxfg03018j2bqq5ikwkllyma8k7zmvpw61vxs7cv4izc6wh"; }) + (fetchNuGet { pname = "Humanizer.Core.hu"; version = "2.14.1"; sha256 = "0lw13p9b2kbqf96lif5kx59axxiahd617h154iswjfka9kxdw65x"; }) + (fetchNuGet { pname = "Humanizer.Core.hy"; version = "2.14.1"; sha256 = "1bgm0yabhvsv70amzmkvf3mls32lvd7yyr59yxf3xc96msqczgjh"; }) + (fetchNuGet { pname = "Humanizer.Core.id"; version = "2.14.1"; sha256 = "1w0bnyac46f2321l09ckb6vz66s1bxl27skfww1iwrmf03i7m2cw"; }) + (fetchNuGet { pname = "Humanizer.Core.is"; version = "2.14.1"; sha256 = "10w1fprlhxm1qy3rh0qf6z86ahrv8fcza3wrsx55idlmar1x9jyz"; }) + (fetchNuGet { pname = "Humanizer.Core.it"; version = "2.14.1"; sha256 = "1msrmih8cp7r4yj7r85kr0l5h4yln80450mivliy1x322dav8xz2"; }) + (fetchNuGet { pname = "Humanizer.Core.ja"; version = "2.14.1"; sha256 = "04ry6z0v85y4y5vzbqlbxppfdm04i02dxbxaaykbps09rwqaa250"; }) + (fetchNuGet { pname = "Humanizer.Core.ko-KR"; version = "2.14.1"; sha256 = "156641v0ilrpbzprscvbzfha57pri4y1i66n9v056nc8bm10ggbg"; }) + (fetchNuGet { pname = "Humanizer.Core.ku"; version = "2.14.1"; sha256 = "1scz21vgclbm1xhaw89f0v8s0vx46yv8yk3ij0nr6shsncgq9f7h"; }) + (fetchNuGet { pname = "Humanizer.Core.lv"; version = "2.14.1"; sha256 = "1909dsbxiv2sgj6myfhn8lbbmvkp2hjahj0knawypyq3jw9sq86g"; }) + (fetchNuGet { pname = "Humanizer.Core.ms-MY"; version = "2.14.1"; sha256 = "1dmjrxb0kb297ycr8xf7ni3l7y4wdqrdhqbhy8xnm8dx90nmj9x5"; }) + (fetchNuGet { pname = "Humanizer.Core.mt"; version = "2.14.1"; sha256 = "0b183r1apzfa1hasimp2f27yfjkfp87nfbd8qdyrqdigw6nzcics"; }) + (fetchNuGet { pname = "Humanizer.Core.nb"; version = "2.14.1"; sha256 = "12rd75f83lv6z12b5hbwnarv3dkk29pvc836jpg2mzffm0g0kxj2"; }) + (fetchNuGet { pname = "Humanizer.Core.nb-NO"; version = "2.14.1"; sha256 = "1n033yfw44sjf99mv51c53wggjdffz8b9wv7gwm3q7i6g7ck4vv1"; }) + (fetchNuGet { pname = "Humanizer.Core.nl"; version = "2.14.1"; sha256 = "0q4231by40bsr6mjy93n0zs365pz6da32pwkxcz1cc2hfdlkn0vd"; }) + (fetchNuGet { pname = "Humanizer.Core.pl"; version = "2.14.1"; sha256 = "0h2wbwrlcmjk8b2mryyd8rbb1qmripvg0zyg61gg0hifiqfg3cr2"; }) + (fetchNuGet { pname = "Humanizer.Core.pt"; version = "2.14.1"; sha256 = "0pg260zvyhqz8h1c96px1vs9q5ywvd0j2ixsq21mj96dj7bl5fay"; }) + (fetchNuGet { pname = "Humanizer.Core.ro"; version = "2.14.1"; sha256 = "04mr28bjcb9hs0wmpb4nk2v178i0fjr0ymc78dv9bbqkmrzfsmcn"; }) + (fetchNuGet { pname = "Humanizer.Core.ru"; version = "2.14.1"; sha256 = "060abvk7mrgawipjgw0h4hrvizby7acmj58w2g35fv54g43isgcl"; }) + (fetchNuGet { pname = "Humanizer.Core.sk"; version = "2.14.1"; sha256 = "182xiqf71kiqp42b8yqrag6z57wzqraqi10bnhx0crrc1gxq8v0j"; }) + (fetchNuGet { pname = "Humanizer.Core.sl"; version = "2.14.1"; sha256 = "12ygvzyqa0km7a0wz42zssq8qqakvghh96x1ng7qvwcrna3v2rdi"; }) + (fetchNuGet { pname = "Humanizer.Core.sr"; version = "2.14.1"; sha256 = "1ggj15qksyr16rilq2w76x38bxp6a6z75b30c9b7w5ni88nkgc7x"; }) + (fetchNuGet { pname = "Humanizer.Core.sr-Latn"; version = "2.14.1"; sha256 = "0lwr0gnashirny8lgaw0qnbb7x0qrjg8fs11594x8l7li3mahzz3"; }) + (fetchNuGet { pname = "Humanizer.Core.sv"; version = "2.14.1"; sha256 = "1c7yx59haikdqx7k7vqll6223jjmikgwbl3dzmrcs3laywgfnmgn"; }) + (fetchNuGet { pname = "Humanizer.Core.th-TH"; version = "2.14.1"; sha256 = "0kyyi5wc23i2lcag3zvrhga9gsnba3ahl4kdlaqvvg2jhdfarl4m"; }) + (fetchNuGet { pname = "Humanizer.Core.tr"; version = "2.14.1"; sha256 = "0rdvp0an263b2nj3c5v11hvdwgmj86ljf2m1h3g1x28pygbcx6am"; }) + (fetchNuGet { pname = "Humanizer.Core.uk"; version = "2.14.1"; sha256 = "0a2p6mhh0ajn0y7x98zbfasln1l04iiknd50sgf3svna99wybnxd"; }) + (fetchNuGet { pname = "Humanizer.Core.uz-Cyrl-UZ"; version = "2.14.1"; sha256 = "1jfzfgnk6wz5na2md800vq0djm6z194x618yvwxbnk2c7wikbjj2"; }) + (fetchNuGet { pname = "Humanizer.Core.uz-Latn-UZ"; version = "2.14.1"; sha256 = "0vimhw500rq60naxfari8qm6gjmjm8h9j6c04k67fs447djy8ndi"; }) + (fetchNuGet { pname = "Humanizer.Core.vi"; version = "2.14.1"; sha256 = "1yr0l73cy2qypkssmmjwfbbqgdplam62dqnzk9vx6x47dzpys077"; }) + (fetchNuGet { pname = "Humanizer.Core.zh-CN"; version = "2.14.1"; sha256 = "1k6nnawd016xpwgzdzy84z1lcv2vc1cygcksw19wbgd8dharyyk7"; }) + (fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.14.1"; sha256 = "0zn99311zfn602phxyskfjq9vly0w5712z6fly8r4q0h94qa8c85"; }) + (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.14.1"; sha256 = "0qxjnbdj645l5sd6y3100yyrq1jy5misswg6xcch06x8jv7zaw1p"; }) (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; }) + (fetchNuGet { pname = "managed-midi"; version = "1.9.14"; sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h"; }) (fetchNuGet { pname = "ManagedBass"; version = "3.1.0"; sha256 = "0p4kzpq86h00z7rwzmwxyk1yg627mm5376ssjv1wgqgls0dl7gkh"; }) (fetchNuGet { pname = "ManagedBass.Fx"; version = "3.1.0"; sha256 = "130rrf6sb64dcq58mr1gigma3pzr7hg5mxn5fbryg375x3vphbs8"; }) (fetchNuGet { pname = "ManagedBass.Mix"; version = "3.1.0"; sha256 = "1ppxczh1i67k5xicr0q4n0k7zdzghs99wwkcpjmh726hkdsshnib"; }) - (fetchNuGet { pname = "managed-midi"; version = "1.9.14"; sha256 = "025jh146zy98699y4civ7nxlkx312lwkl4sr8pha626q7q1kg89h"; }) (fetchNuGet { pname = "Markdig"; version = "0.23.0"; sha256 = "1bwn885w7balwncmr764vidyyp9bixqlq6r3lhsapj8ykrpxxa70"; }) - (fetchNuGet { pname = "MessagePack"; version = "2.3.85"; sha256 = "0n7kv4i6knhv1dd35cv45sfpidsiy9albfdmbrdschykd1mzxmiy"; }) - (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.3.85"; sha256 = "0axjgy9r533bw00lflnc6acjyza76mf2x1nn6fw7qacvak9rqxm3"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1asph5v7kgmscfgsyv9gg7cwvg52gnm6m0ldm2m4pfkpsxqyp2mi"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "5.0.11"; sha256 = "0x6c6m8s4mq1j21sys8j1xp8sqvy5n3shcpcm0yyx4r2ld2cpdkr"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "5.0.11"; sha256 = "1b60rhlbn8s4c39nl2kb1xfq0m3kzy407hdvz2s5r9qc8y9p55ps"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "5.0.11"; sha256 = "1rq6lildicnz6ngrf1m46ynya0hbn0hzazdqp6c3lkmkw3pgd8wp"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Features"; version = "5.0.11"; sha256 = "0n09fldmy60ggffznfwzr99hfpa0p9qxq4hp2zy4j94cmqkqm1pg"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client"; version = "5.0.11"; sha256 = "1iyxkr2lks5xfay4h70z94dnjm5dpbygyyi9krrx1lin1na235ly"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "5.0.11"; sha256 = "13hpp6sq0ad56v1l09gq4mnmj5y1f9lykd2x12hjrdpk3g7gqdix"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Common"; version = "5.0.11"; sha256 = "1vsskslaz7428f13q0hjf81hvfxip9wsc53z5j37ysk9qmixlnyd"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "5.0.11"; sha256 = "0vdr2n9lfjybkv0m21lhpnxv0shlyfnyffv32vziiglhssdza15g"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; version = "5.0.11"; sha256 = "0w60z54wxv1nndv7mz9rqswdh8k4rxmgihnxkirp4gr0idr7ln7j"; }) - (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; version = "5.0.11"; sha256 = "1qrmrkdrzm4bn5zq6a1dk88rpb6pajcs6jh23h43yny68y80jcnr"; }) - (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "1.0.0"; sha256 = "00dx5armvkqjxvkldz3invdlck9nj7w21dlsr2aqp1rqbyrbsbbh"; }) + (fetchNuGet { pname = "MessagePack"; version = "2.4.35"; sha256 = "0y8pz073ync51cv39lxldc797nmcm39r4pdhy2il6r95rppjqg5h"; }) + (fetchNuGet { pname = "MessagePack.Annotations"; version = "2.4.35"; sha256 = "1jny2r6rwq7xzwymm779w9x8a5rhyln97mxzplxwd53wwbb0wbzd"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0ndah9cqkgswhi60wrnni10j1d2hdg8jljij83lk1wbfqbng86jm"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "6.0.6"; sha256 = "1xdck1rg6flfh8l4gsfcq72yk0vh81k646i503s73573qhlc3hr4"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Client"; version = "6.0.6"; sha256 = "0jkr96x382hdcjnfw6m8lglamcnrmaxi3pjc6w8si7lgacn6h0jz"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "6.0.6"; sha256 = "19hsxybw189v07d618pf7n8ib3sgwl6rd3r9dyincbp4qfgp20zr"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client"; version = "6.0.6"; sha256 = "1cnyw4cx4pvw2086anlz734c60iqb5j9y6xwx26ppgimrm54py3h"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Client.Core"; version = "6.0.6"; sha256 = "0snmcxssxaig920g7vj5hj79f2hyisxj6npy8hgg8v3rh0948iia"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Common"; version = "6.0.6"; sha256 = "0js5n6chb9vrmrn5rxip3d241ml9f091k50k0cak8yvmz7v531x0"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "6.0.6"; sha256 = "197dx2311dxm1fl22b9x7a8kbsjjgq5r88qk487d337clsbbq4gc"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack"; version = "6.0.6"; sha256 = "1lq2l95m1x9xsw8a9dh7dp0pxs4kjjwa6v8l485bj4yx1icb8w0k"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson"; version = "6.0.6"; sha256 = "1ihg09dqsx03z90im0nwyypakz3hla79mjy7mas5rdymnm6k0lbw"; }) (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "5.0.0"; sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf"; }) - (fetchNuGet { pname = "Microsoft.Build.Framework"; version = "16.5.0"; sha256 = "1xgr02r7s9i6s70n237hss4yi9zicssia3zd2ny6s8vyxb7jpdyb"; }) - (fetchNuGet { pname = "Microsoft.Build.Locator"; version = "1.4.1"; sha256 = "0j119rri7a401rca67cxdyrn3rprzdl1b2wrblqc23xsff1xvlrx"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.2"; sha256 = "162vb5894zxps0cf5n9gc08an7gwybzz87allx3lsszvllr9ldx4"; }) + (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; }) (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "3.11.0"; sha256 = "0pwidgg4ifm7cirdy3hf61dyvg6lk4vgb6q7lyb4y0h0b6mvkrcl"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "3.11.0"; sha256 = "1h16b7dsp1mq7d7picyfhkssqr6xiyywi5x1fd4jwclyrvanyl81"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "3.11.0"; sha256 = "16myshcix4a37c4vlig4gi9jnhb6p6py171xgn6b0ab6wz020r71"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "5.0.3"; sha256 = "1l0zg9wl8yapjq9g2d979zhsmdkr8kfybmxnl7kvgkgldf114fbg"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "3.11.0"; sha256 = "07iaqjdhp55cw3y159i3h4j30l9s69gn5q6rv08bkizv8yk7yhls"; }) - (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.MSBuild"; version = "3.11.0"; sha256 = "0jmcjx37b3649b16kisg9pjmz3m86pba9b1p1y0vlq1r4hyzvn3m"; }) - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; }) (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; }) - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "2.2.6"; sha256 = "0fx8698k71vzr8pdc6q8bsbzg6r8a42s4hkzmiyv13ibmyb5q68k"; }) + (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "5.0.14"; sha256 = "0zh5g6275sx0zrlyqxymcw9rd78ygisc4wqzvrq5gkh557nrqr0n"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.NETCore.Client"; version = "0.2.61701"; sha256 = "1ic1607jj4ln8dbibf1fz5v9svk9x2kqlgvhndc6ijaqnbc4wcr1"; }) (fetchNuGet { pname = "Microsoft.Diagnostics.Runtime"; version = "2.0.161401"; sha256 = "02qcm8nv1ch07g8b0i60ynrjn33b8y5ivyk4rxal3vd9zfi6pvwi"; }) - (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "2.1.0"; sha256 = "1qydvyyinj3b5mraazjal3n2k7jqhn05b6n1a2f3qjkqkxi63dmy"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "2.2.6"; sha256 = "18j2cr50wsikwv7gy3vrjvmpdxckvv537qma8afdpr3yn2klayh5"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "2.2.6"; sha256 = "1dyxb5ibx24frlgbqy7zch0falq9p1189zvlbxgl94m0hvpml5j3"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "2.2.6"; sha256 = "10f2lxxmh0xrdjvnam31fqfnjkaick23mpfvahj3ca5l07bph0rc"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "2.2.6"; sha256 = "0kjjkh1yfb56wnkmciqzfn9vymqfjap364y5amia0lmqmhfz8g7f"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "2.2.6"; sha256 = "0c0z4mrqldjfslyxywb2ydk8hn9ybhkvz6lxx3idrfalq3ni5f1z"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "2.2.6"; sha256 = "0z8k5ns841imaqha5abb1ka0rsfzy90k6qkrvix11sp6k9i7lsam"; }) - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "2.2.6"; sha256 = "0jzqw4672mzxjvzas09sl0zyzzayfgkv003a7bw5g2gjyiphf630"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "2.2.0"; sha256 = "0hhxc5dp52faha1bdqw0k426zicsv6x1kfqi30m9agr0b2hixj52"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "2.2.0"; sha256 = "0bzrsn5vas86w66bd04xilnlb21nx4l6lz7d3acvy6y8ir2vb5dv"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.2.0"; sha256 = "02250qrs3jqqbggfvd0mkim82817f79x6jh8fx2i7r58d0m66qkl"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.2.0"; sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674"; }) + (fetchNuGet { pname = "Microsoft.DotNet.PlatformAbstractions"; version = "3.1.6"; sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "5.0.14"; sha256 = "0r2a2lk11g2qx6s1nns3jnxhpifg60qs4lqz6qfcjfg24nw2lp2b"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "5.0.14"; sha256 = "1sbv1bysybbn5s7kzmxy0rc4khwxj598ajdgz533d6vj66y7v4f2"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "5.0.14"; sha256 = "0vfc5dv1bc1ghv87rpq581jxy4vyfscdw943jrb0gbgcsbbbkw5s"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "5.0.14"; sha256 = "0lbbj3lixrplq01kgg5i7siayh7jqrld0cmmylhkgncj45jkk4d5"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "5.0.14"; sha256 = "08008jsk46a6lvz2jjj5rjp6g69r1d4zfdwnff9z1nyi99hnsm5h"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "5.0.14"; sha256 = "0x02b0x7gwgq2dymkxcw8qs6fcaxbkv3xckqfhc0amsi6ygcia8f"; }) + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "5.0.14"; sha256 = "0ps8f58nw0xl3mh49a772fc38nsiv7jicg8rbr70rdpls02i3biq"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "5.0.0"; sha256 = "0j83zapqhgqb4v5f6kn891km095pfhvsqha357a86ccclmv2czvb"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "5.0.0"; sha256 = "0l8spndl3kvccjlay202msm31iy5iig0i9ddbsdy92wbcjr97lca"; }) (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "5.0.0"; sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.2.0"; sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "2.2.0"; sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; }) (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "5.0.2"; sha256 = "0db6d1b076nfqfn5mhy63l3gkfn5kr29hwcrx81ldr7y062r1b9y"; }) + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0"; sha256 = "1wlhb2vygzfdjbdzy7waxblmrx0q3pdcqvpapnpmq9fcx5m8r6w1"; }) (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; }) (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; }) + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; }) (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; }) - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "2.1.0"; sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.2.0"; sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm"; }) + (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "5.0.0"; sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Features"; version = "6.0.6"; sha256 = "0w94hm2r2dsqhd1q8xqf0v9cbf4sxash7pmw9f2pjr91c34lrvw0"; }) (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.2.0"; sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "6.0.0"; sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi"; }) (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.1"; sha256 = "17w4x7iakwpn7crg4yk5qkkv5gkx0lfl6anwwhb1554pwak5cwdz"; }) (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "5.0.11"; sha256 = "0i7li76gmk6hml12aig4cvyvja9mgl16qr8pkwvx5vm6lc9a3nn4"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.2.0"; sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0"; }) (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; }) (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; }) - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.1"; sha256 = "01ar5ba2sal9wnpa1xnnikhgb37vzhg2cspz45wf760jflpai2vv"; }) - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "5.0.12"; sha256 = "1fdbrjrmjd31y1amp0inlmki9w3fwzv8nz41pqmc943g3cpmyg9f"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; }) + (fetchNuGet { pname = "Microsoft.NET.StringTools"; version = "1.0.0"; sha256 = "06yakiyzgss399giivfx6xdrnfxqfsvy5fzm90scjanvandv0sdj"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0fjbjh7yxqc9h47ix37y963xi9f9y99jvl26cw3x3kvjlb8x0bgj"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "3.1.0"; sha256 = "04cc2wl90p7g9zscnxgyj55vzl7srrrjwadl2dxgicfb2x2499ca"; }) - (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "5.0.0"; sha256 = "0z3qyv7qal5irvabc8lmkh58zsl42mrzd1i0sssvzhv4q4kl3cg6"; }) - (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) + (fetchNuGet { pname = "Microsoft.Toolkit.HighPerformance"; version = "7.1.2"; sha256 = "18l950mq0l8s1z771l9p332ni7jryidjh4hi9p37l6p8frcnccxb"; }) (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) + (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; }) (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; }) (fetchNuGet { pname = "MongoDB.Bson"; version = "2.11.3"; sha256 = "0fn900i51rwgk3ywpcp4dsf7c9v5glch7hia9l9w8aj8s10qjf1r"; }) - (fetchNuGet { pname = "Mono.Cecil"; version = "0.9.6.1"; sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; }) (fetchNuGet { pname = "Mono.Posix.NETStandard"; version = "1.0.0"; sha256 = "0xlja36hwpjm837haq15mjh2prcf68lyrmn72nvgpz8qnf9vappw"; }) - (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; }) (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; }) (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; }) (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; }) - (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; }) (fetchNuGet { pname = "NuGet.Common"; version = "5.11.0"; sha256 = "1amf6scr5mcjdvd1fflag6i4qjwmydq5qwp6g3f099n901zq0dr3"; }) (fetchNuGet { pname = "NuGet.Configuration"; version = "5.11.0"; sha256 = "1s9pbrh7xy9jz7npz0sahdsj1cw8gfx1fwf3knv0ms1n0c9bk53l"; }) (fetchNuGet { pname = "NuGet.DependencyResolver.Core"; version = "5.11.0"; sha256 = "0yllxfv8lx1b7zj114mpxw03186q5ynsdvza6llp3wypxp367inr"; }) @@ -154,31 +141,43 @@ (fetchNuGet { pname = "NuGet.ProjectModel"; version = "5.11.0"; sha256 = "1i0dcak9qdj8s68c5f3zhrjs5sc4rsim92dy1qw4x9cavv5jrp05"; }) (fetchNuGet { pname = "NuGet.Protocol"; version = "5.11.0"; sha256 = "041pva6ykc5h6az7bb87mkg32c95cvxlixgspnd34zbdldr4ypdb"; }) (fetchNuGet { pname = "NuGet.Versioning"; version = "5.11.0"; sha256 = "041351n1rbyqpfxqyxbvjgfrcbbawymbq96givz5pvdbabvyf5vq"; }) - (fetchNuGet { pname = "NUnit"; version = "3.13.2"; sha256 = "00bkjgarkwbj497da9d7lajala1ns67h1kx53w4bapwkf32jlcvn"; }) - (fetchNuGet { pname = "OpenTabletDriver"; version = "0.6.0.2"; sha256 = "0blwfs1cacxq0vs6fy7zjnsny8qdsr5jlxix3icmphyqgz0g4g39"; }) - (fetchNuGet { pname = "OpenTabletDriver.Configurations"; version = "0.6.0.2"; sha256 = "18q6gjayqrwk6n1kf359z94z8zyb3yz4hr1dpgglk51sq6wi2z84"; }) - (fetchNuGet { pname = "OpenTabletDriver.Native"; version = "0.6.0.2"; sha256 = "12hf4v8j8asc9wlywpykajb8yrzx10w6h11qbykckmrfxvz8pc0a"; }) - (fetchNuGet { pname = "OpenTabletDriver.Plugin"; version = "0.6.0.2"; sha256 = "0z2n5jysw06zp2cxmfqddbg3g88jdm1irr2hv04q8valq0plaq5c"; }) - (fetchNuGet { pname = "ppy.LocalisationAnalyser"; version = "2021.1210.0"; sha256 = "0dn6fc31yllr5nizylvkfl2b603b5m9694nsn5mmkh8w43h0rkbq"; }) - (fetchNuGet { pname = "ppy.osu.Framework"; version = "2022.204.0"; sha256 = "1dwg45k1qhxj4mhxw49djmab800yi7z7qnvl8ipicli4lg9k5lvf"; }) - (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2021.1221.0"; sha256 = "1ffxp4nsgbqw1f6nypirmc0a3h203qikbmxm2x8w3kgcfga5dx3k"; }) - (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2022.204.0"; sha256 = "1v4kfphjbkcxswx11c7xh93jwpsyvnskc0zia91d5bp5d11y3z32"; }) - (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.187"; sha256 = "0ididsxn3005dvs0hvx7bz2xzjsfpa8kmnyfqq4c2ybjxlx15gkw"; }) - (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.501-alpha"; sha256 = "03ixv0nhszsyyf0bvyd25nkyn3c3cndzbxnva19lagvf0l9gnvjg"; }) - (fetchNuGet { pname = "ppy.squirrel.windows"; version = "1.9.0.5"; sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl"; }) - (fetchNuGet { pname = "Realm"; version = "10.8.0"; sha256 = "1ixpms8x9z5ia9yiqvhmgdlcrjvqrhbqnr8b9z6mlxwcms1z2f45"; }) - (fetchNuGet { pname = "Realm.Fody"; version = "10.8.0"; sha256 = "0hj3cqan96y01k5qgs0knkqzg3rlr2794az68xqffd2vqphvqvqq"; }) + (fetchNuGet { pname = "NUnit"; version = "3.13.3"; sha256 = "0wdzfkygqnr73s6lpxg5b1pwaqz9f414fxpvpdmf72bvh4jaqzv6"; }) + (fetchNuGet { pname = "OpenTabletDriver"; version = "0.6.0.4"; sha256 = "1fk0029b1183pxd6qvzkmy8byx5dhjka3f8x20sd7drbzvqpn6am"; }) + (fetchNuGet { pname = "OpenTabletDriver.Configurations"; version = "0.6.0.4"; sha256 = "0ahxg4mckzljav5y9g7c1795wgyx2banysg5l7ix3xrl4xmjfmp3"; }) + (fetchNuGet { pname = "OpenTabletDriver.Native"; version = "0.6.0.4"; sha256 = "1zz9afqbaif6sl7gzayl0ww9jhysi4q06jicmx4g35yk82w07vzn"; }) + (fetchNuGet { pname = "OpenTabletDriver.Plugin"; version = "0.6.0.4"; sha256 = "0lim2aqw42c1cc73fbbw0h41wcwaxa5d89srzalgg8dpi3bds1mp"; }) + (fetchNuGet { pname = "ppy.LocalisationAnalyser"; version = "2022.607.0"; sha256 = "07rf10lpnly9d8wf7mwys3jsr4kh0rkf86rjck1hmb73b8524jq9"; }) + (fetchNuGet { pname = "ppy.osu.Framework"; version = "2022.722.0"; sha256 = "1ps8cfny35hyairw32bjz3cvkdhqch27yfzz83zbv6rdbk687zjq"; }) + (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2022.525.0"; sha256 = "1zsqj3xng06bb46vg79xx35n2dsh3crqg951r1ga2gxqzgzy4nk0"; }) + (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2022.722.0"; sha256 = "0ilzm9cfvhzxwlv1irzcsbwnm3p5qjbc3hzh5ss992s0y5v6xray"; }) + (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.192"; sha256 = "0k6nlsxdl6qa5kbn66nbxh5x43hkgpnz8h3zjlbr5siqdjcrvcvg"; }) + (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.563-alpha"; sha256 = "09bk81nibfwicjmy8bg4h14myp3x0a7yz4axwdfnk33pj5dsn953"; }) + (fetchNuGet { pname = "Realm"; version = "10.14.0"; sha256 = "0pbnqp2z27lm6i8j8pbb2500gyyv8gb73kskv49ympvpa09mzcrv"; }) + (fetchNuGet { pname = "Realm.Fody"; version = "10.14.0"; sha256 = "0k182hsz4b4z61p4hh4ac7l9rg11xhk1r5p0ylhv6qggyq1p2zjj"; }) (fetchNuGet { pname = "Remotion.Linq"; version = "2.2.0"; sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) + (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; }) (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) - (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) - (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; }) (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) - (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; }) (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) - (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0"; sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9"; }) (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) @@ -189,102 +188,83 @@ (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) - (fetchNuGet { pname = "Sentry"; version = "3.13.0"; sha256 = "0wnivy7rhzghr94pdczv7kw72y1hv5kp6hw0fkmw1nfgnsh4qjfm"; }) - (fetchNuGet { pname = "SharpCompress"; version = "0.17.1"; sha256 = "1ffiacghbcnr3fkgvdcad7b1nky54nhmmn2sm43sks9zm8grvva4"; }) - (fetchNuGet { pname = "SharpCompress"; version = "0.30.1"; sha256 = "1hib2hxjrlikwsczym1qn2slaapgjw8qzd8gmid8bryaz8hv044h"; }) + (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) + (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) + (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) + (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) + (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) + (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) + (fetchNuGet { pname = "Sentry"; version = "3.19.0"; sha256 = "0nkkzy7xzaij2cbj7y6v227f2s26fs1i1arbmg8i48q4gllb4pr0"; }) + (fetchNuGet { pname = "SharpCompress"; version = "0.31.0"; sha256 = "01az7amjkxjbya5rdcqwxzrh2d3kybf1gsd3617rsxvvxadyra1r"; }) + (fetchNuGet { pname = "SharpCompress"; version = "0.32.1"; sha256 = "0n7iv6kp7gzgqrxxvwdxklvhia3ngpydc6l2nw7hzw637v4bjfl6"; }) (fetchNuGet { pname = "SharpFNT"; version = "2.0.0"; sha256 = "1bgacgh9hbck0qvji6frbb50sdiqfdng2fvvfgfw8b9qaql91mx0"; }) - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; }) - (fetchNuGet { pname = "Splat"; version = "1.6.2"; sha256 = "154w9q0z8697rcpqs4x233crx5ap1z4pl4xc21hsd3csbhw13ykf"; }) - (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "1.1.12"; sha256 = "0jbyd25ag15fyn9nawjikv0v5ylk2zh5pxgr6gm4kpbpqys86sq9"; }) - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "1.1.12"; sha256 = "03gflsn2wl6v0a8zvh6y5xdhx0xxmfrn6jfldiy829x3fx74zgdl"; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3.linux"; version = "1.1.12"; sha256 = "10mlq914d3zggdjf4bv27w6jx0gqqjf6f91y5ri6pbvaqyhi28h5"; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3.osx"; version = "1.1.12"; sha256 = "1hixg6n9sqllfrcihj145lh1l38inv827808difvazd4zr3mi0z1"; }) - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3.v110_xp"; version = "1.1.12"; sha256 = "107sivk5p38dg1kyvqrxgp67dj89s8l6brf9l52k6s4vrn4hrrk7"; }) - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3.netstandard11"; version = "1.1.12"; sha256 = "0qr2d7ka6f5c7bybdhiyq7nl90c9575szmi0nfpknd9c0w024if4"; }) - (fetchNuGet { pname = "StbiSharp"; version = "1.0.13"; sha256 = "0yaspwlh4x93d7xnqj5w5pxlwzlv9lixvksyvdh176krfa4mjw3q"; }) - (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; }) + (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.0"; sha256 = "0lmj3qs39v5jcf2rjwav43nqnc7g6sd4l226l2jw85nidzmpvkwr"; }) + (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.4"; sha256 = "1l3vbkwismsx5jcy3d5bj4bzh8bni8bk2gq4lqplz82pz5phjpxm"; }) + (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.4"; sha256 = "0lb5vwfl1hd24xzzdaj2p4k2hv2k0i3mgdri6fjj0ssb37mcyir1"; }) + (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.4"; sha256 = "0kmx1w5qllmwxldr8338qxwmpfzc6g2lmyrah7wfaxd3mvfzky5c"; }) + (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.0.4"; sha256 = "084r98kilpm0q1aw41idq8slncpd7cz65g0m1wr0p8d12x8z5g6j"; }) + (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.0.4"; sha256 = "1vm8w8xvqi11sihdz5s6y4w7ghq4pp5f2ksixdhlbycvs6m4h7i7"; }) + (fetchNuGet { pname = "StbiSharp"; version = "1.1.0"; sha256 = "0wbw20m7nyhxj32k153l668sxigamlwig0qpz8l8d0jqz35vizm0"; }) (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) - (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; }) (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; }) (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; }) (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) - (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; }) (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) - (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.5.0"; sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06"; }) (fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; }) (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) - (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; }) - (fetchNuGet { pname = "System.Composition"; version = "1.0.31"; sha256 = "0aa27jz73qb0xm6dyxv22qhfrmyyqjyn2dvvsd9asi82lcdh9i61"; }) - (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "1.0.31"; sha256 = "1ipyb86hvw754kmk47vjmzyilvj5hymg9nqabz70sbgsz1fygrdv"; }) - (fetchNuGet { pname = "System.Composition.Convention"; version = "1.0.31"; sha256 = "00gqcdrql7vhynxh4xq0s9j5nw27kghmn2n773v7lhzjh3ash18r"; }) - (fetchNuGet { pname = "System.Composition.Hosting"; version = "1.0.31"; sha256 = "1f1bnk3j7ndx9r7zpzibmrhw78clys1pspl20j2dhnmkiwhl23vy"; }) - (fetchNuGet { pname = "System.Composition.Runtime"; version = "1.0.31"; sha256 = "1shfybfzsn4g6aim4pggb5ha31g0fz2kkk0519c4vj6m166g39ws"; }) - (fetchNuGet { pname = "System.Composition.TypedParts"; version = "1.0.31"; sha256 = "1m4j19zx50lbbdx1xxbgpsd1dai2r3kzkyapw47kdvkb89qjkl63"; }) - (fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; }) (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; }) (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; }) (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.5.0"; sha256 = "1y8m0p3127nak5yspapfnz25qc9x53gqpvwr3hdpsvrcd2r1pgyj"; }) - (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "5.0.0"; sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga"; }) - (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "5.0.1"; sha256 = "0mzw44wsm87vpslb9sn7rirxynpq9m3b00l7gl0q71m8shfh66qs"; }) + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.0"; sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5"; }) (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) - (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; }) (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) - (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) (fetchNuGet { pname = "System.Formats.Asn1"; version = "5.0.0"; sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; }) (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) - (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1"; sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh"; }) (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) - (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; }) (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) - (fetchNuGet { pname = "System.Interactive.Async"; version = "3.2.0"; sha256 = "0y5r5y7dlccjpgg17rjrrzi3jya4ysyydamxs33qckkv4jb3534d"; }) (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) - (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; }) (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) - (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; }) (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; }) - (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; }) (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) - (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) - (fetchNuGet { pname = "System.IO.Packaging"; version = "5.0.0"; sha256 = "08l85pi8jy65las973szqdnir2awxp0r16h21c0bgrz19gxhs11n"; }) - (fetchNuGet { pname = "System.IO.Pipelines"; version = "5.0.1"; sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v"; }) + (fetchNuGet { pname = "System.IO.Packaging"; version = "6.0.0"; sha256 = "112nq0k2jc4vh71rifqqmpjxkaanxfapk7g8947jkfgq3lmfmaac"; }) + (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; }) (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; }) (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; }) (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) (fetchNuGet { pname = "System.Linq.Queryable"; version = "4.0.1"; sha256 = "11jn9k34g245yyf260gr3ldzvaqa9477w2c5nhb1p8vjx4xm3qaw"; }) - (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) - (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; }) (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) - (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11"; sha256 = "10xzzaynkzkakp7jai1ik3r805zrqjxiz7vcagchyxs2v26a516r"; }) + (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; }) (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) - (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0"; sha256 = "1385fvh8h29da5hh58jm1v78fzi9fi5vj93vhlm2kvqpfahvpqls"; }) (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; }) (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; }) (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) + (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; }) (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; }) (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) - (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.6.0"; sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; }) (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; }) (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; }) (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) - (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.6.0"; sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; }) (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; }) (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.8.1"; sha256 = "17xxl3m99wa4hcpqy42vl8qb1jk2jfq32rj3sfjc1a46hi2si5jj"; }) @@ -297,68 +277,57 @@ (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0-rc.1.21451.13"; sha256 = "0v5bc80p35jj5b5xdgsn5r1v4w68gqz0sahi214rprrrlr3sl206"; }) (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; }) (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) - (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; }) (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; }) (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) - (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0"; sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6"; }) (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; }) - (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; }) (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) - (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) + (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; }) (fetchNuGet { pname = "System.Security.AccessControl"; version = "5.0.0"; sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; }) + (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; }) (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; }) (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "5.0.0"; sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; }) (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; }) (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) - (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0"; sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q"; }) (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "5.0.0"; sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; }) - (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; }) (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; }) - (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; }) (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) + (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; }) - (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; }) (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) + (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "5.0.0"; sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1"; }) (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "5.0.1"; sha256 = "00yg63qnp94q2qryxxggzigi276bibb8b3b96gcvsyrxy7b703n9"; }) - (fetchNuGet { pname = "System.Text.Json"; version = "4.7.0"; sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr"; }) + (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; }) + (fetchNuGet { pname = "System.Text.Json"; version = "5.0.0"; sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks"; }) (fetchNuGet { pname = "System.Text.Json"; version = "5.0.2"; sha256 = "0vd0wd29cdhgcjngl9sw391sn2s8xm974y15zvym0whsdgjwiqfx"; }) - (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; }) + (fetchNuGet { pname = "System.Text.Json"; version = "6.0.5"; sha256 = "12fg196sdq3gcjcz365kypfkkmdrprpcw2fvjnww9jqa4yn8v99l"; }) (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; }) (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) - (fetchNuGet { pname = "System.Threading.Channels"; version = "5.0.0"; sha256 = "11z28x3cawry60l5phkqrvavm0mshz84n4c79hrz0p65lq8jpxgs"; }) + (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; }) (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; }) (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; }) - (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.3"; sha256 = "0g7r6hm572ax8v28axrdxz1gnsblg6kszq17g51pj14a5rn2af7i"; }) (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) - (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0"; sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc"; }) - (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; }) + (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; }) (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; }) - (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; }) (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) - (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) (fetchNuGet { pname = "TagLibSharp"; version = "2.2.0"; sha256 = "0jb0f84p4jd59ha36spyk9q08g6fjap3xywq32rcs2xwzhhqiq0y"; }) ] diff --git a/nixpkgs/pkgs/games/osu-lazer/osu.runtimeconfig.json b/nixpkgs/pkgs/games/osu-lazer/osu.runtimeconfig.json index a1a197b1b671..4148c494fbc7 100644 --- a/nixpkgs/pkgs/games/osu-lazer/osu.runtimeconfig.json +++ b/nixpkgs/pkgs/games/osu-lazer/osu.runtimeconfig.json @@ -1,9 +1,9 @@ { "runtimeOptions": { - "tfm": "net5.0", + "tfm": "net6.0", "framework": { "name": "Microsoft.NETCore.App", - "version": "5.0.0" + "version": "6.0.0" } } } diff --git a/nixpkgs/pkgs/games/osu-lazer/update.sh b/nixpkgs/pkgs/games/osu-lazer/update.sh index 21f9eb80f452..ae130e187ccf 100755 --- a/nixpkgs/pkgs/games/osu-lazer/update.sh +++ b/nixpkgs/pkgs/games/osu-lazer/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk_5 +#!nix-shell -I nixpkgs=../../../. -i bash -p curl jq common-updater-scripts nuget-to-nix dotnet-sdk set -eo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" @@ -13,7 +13,11 @@ if [[ "$new_version" == "$old_version" ]]; then fi cd ../../.. -update-source-version osu-lazer "$new_version" + +if [[ "$1" != "--deps-only" ]]; then + update-source-version osu-lazer "$new_version" +fi + store_src="$(nix-build . -A osu-lazer.src --no-out-link)" src="$(mktemp -d /tmp/osu-src.XXX)" echo "Temp src dir: $src" @@ -26,6 +30,7 @@ export DOTNET_NOLOGO=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1 mkdir ./nuget_tmp.packages +dotnet --info dotnet restore osu.Desktop --packages ./nuget_tmp.packages --runtime linux-x64 nuget-to-nix ./nuget_tmp.packages > "$deps_file" diff --git a/nixpkgs/pkgs/games/otto-matic/default.nix b/nixpkgs/pkgs/games/otto-matic/default.nix index e213deabe859..2257b50e0c8d 100644 --- a/nixpkgs/pkgs/games/otto-matic/default.nix +++ b/nixpkgs/pkgs/games/otto-matic/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { owner = "jorio"; repo = pname; rev = version; - sha256 = "sha256:1yd4clks7kr2hn69c4q1ykc92sw6axbspambm03viapr834bjz3q"; + sha256 = "sha256-eHy5yED5qrgHqKuqq1dXhmuR2PQBE5aMhSLPoydlpPk="; fetchSubmodules = true; }; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { mkdir -p $out/share/OttoMatic mv Data $out/share/OttoMatic install -Dm755 {.,$out/bin}/OttoMatic - wrapProgram $out/bin/OttoMatic --run "cd $out/share/OttoMatic" + wrapProgram $out/bin/OttoMatic --chdir "$out/share/OttoMatic" runHook postInstall ''; diff --git a/nixpkgs/pkgs/games/papermc/default.nix b/nixpkgs/pkgs/games/papermc/default.nix index 09dbfb6c3c83..31c9467109e9 100644 --- a/nixpkgs/pkgs/games/papermc/default.nix +++ b/nixpkgs/pkgs/games/papermc/default.nix @@ -1,10 +1,10 @@ { lib, stdenv, fetchurl, bash, jre }: let - mcVersion = "1.18.1"; - buildNum = "132"; + mcVersion = "1.18.2"; + buildNum = "313"; jar = fetchurl { url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar"; - sha256 = "af26babef1e9134804bdf61e14eed7677d603516638f5a2ffe97e176ebd9839b"; + sha256 = "sha256-wotk0Pu1wKomj83nMCyzzPZ+Y9RkQUbfeWjRGaSt7lE="; }; in stdenv.mkDerivation { pname = "papermc"; @@ -29,8 +29,10 @@ in stdenv.mkDerivation { meta = { description = "High-performance Minecraft Server"; homepage = "https://papermc.io/"; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.gpl3Only; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ aaronjanse neonfuz ]; + mainProgram = "minecraft-server"; }; } diff --git a/nixpkgs/pkgs/games/performous/default.nix b/nixpkgs/pkgs/games/performous/default.nix index c4af373cdcdd..10ce4dd06fcd 100644 --- a/nixpkgs/pkgs/games/performous/default.nix +++ b/nixpkgs/pkgs/games/performous/default.nix @@ -1,32 +1,57 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gettext -, glibmm, libxmlxx, pango, librsvg -, SDL2, glew, boost, ffmpeg, portaudio, libepoxy +{ lib +, stdenv +, fetchFromGitHub +, SDL2 +, boost +, cmake +, ffmpeg +, gettext +, glew +, glibmm +, libepoxy +, librsvg +, libxmlxx +, pango +, pkg-config +, portaudio }: stdenv.mkDerivation rec { pname = "performous"; version = "1.1"; - meta = with lib; { - description = "Karaoke, band and dancing game"; - homepage = "http://performous.org/"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; - src = fetchFromGitHub { owner = "performous"; repo = "performous"; rev = version; - sha256 = "08j0qhr65l7qnd5vxl4l07523qpvdwi31h4vzl3lfiinx1zcgr4x"; + hash = "sha256-neTHfug2RkcH/ZvAMCJv++IhygGU0L5Ls/jQYjLEQCI="; }; patches = [ ./performous-cmake.patch ]; - nativeBuildInputs = [ cmake pkg-config gettext ]; + nativeBuildInputs = [ + cmake + gettext + pkg-config + ]; buildInputs = [ - glibmm libxmlxx pango librsvg - SDL2 glew boost ffmpeg portaudio libepoxy + SDL2 + boost + ffmpeg + glew + glibmm + libepoxy + librsvg + libxmlxx + pango + portaudio ]; + + meta = with lib; { + homepage = "http://performous.org/"; + description = "Karaoke, band and dancing game"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; } diff --git a/nixpkgs/pkgs/games/planetaryannihilation/default.nix b/nixpkgs/pkgs/games/planetaryannihilation/default.nix index 2debd15f814e..73adffab475a 100644 --- a/nixpkgs/pkgs/games/planetaryannihilation/default.nix +++ b/nixpkgs/pkgs/games/planetaryannihilation/default.nix @@ -23,12 +23,12 @@ stdenv.mkDerivation rec { ln -s ${systemd}/lib/libudev.so.1 $out/lib/libudev.so.0 patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/PA" - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib xorg.libXdamage xorg.libXfixes gtk2 glib stdenv.glibc.out "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsa-lib atk nspr fontconfig cairo pango nss freetype gnome2.GConf gdk-pixbuf xorg.libXrender ]}:{stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" "$out/host/CoherentUI_Host" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib xorg.libXdamage xorg.libXfixes gtk2 glib stdenv.cc.libc "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsa-lib atk nspr fontconfig cairo pango nss freetype gnome2.GConf gdk-pixbuf xorg.libXrender ]}:{stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" "$out/host/CoherentUI_Host" - wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib stdenv.glibc.out xorg.libX11 xorg.libXcursor gtk2 glib curl "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" + wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib stdenv.cc.libc xorg.libX11 xorg.libXcursor gtk2 glib curl "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" for f in $out/lib/*; do - patchelf --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib curl xorg.libX11 stdenv.glibc.out xorg.libXcursor "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" $f + patchelf --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib curl xorg.libX11 stdenv.cc.libc xorg.libXcursor "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" $f done ''; diff --git a/nixpkgs/pkgs/games/pokerth/default.nix b/nixpkgs/pkgs/games/pokerth/default.nix index ffae1b5cd8f6..f07b2a614d48 100644 --- a/nixpkgs/pkgs/games/pokerth/default.nix +++ b/nixpkgs/pkgs/games/pokerth/default.nix @@ -59,7 +59,7 @@ mkDerivation rec { "pokerth.pro" ]; - NIX_CFLAGS_COMPILE = "-I${SDL.dev}/include/SDL"; + NIX_CFLAGS_COMPILE = "-I${lib.getDev SDL}/include/SDL"; meta = with lib; { homepage = "https://www.pokerth.net"; diff --git a/nixpkgs/pkgs/games/pokete/default.nix b/nixpkgs/pkgs/games/pokete/default.nix new file mode 100644 index 000000000000..391faaa52b76 --- /dev/null +++ b/nixpkgs/pkgs/games/pokete/default.nix @@ -0,0 +1,54 @@ +{ lib +, python3 +, fetchFromGitHub +, testers +, pokete +}: + +python3.pkgs.buildPythonApplication rec { + pname = "pokete"; + version = "0.8.2"; + + format = "other"; + + src = fetchFromGitHub { + owner = "lxgr-linux"; + repo = "pokete"; + rev = "v${version}"; + sha256 = "sha256-carQ/m7akdXLO4h5o0cE0EiQmsAyarMAV4AtG3KATYQ="; + }; + + pythonPath = with python3.pkgs; [ + scrap-engine + pynput + ]; + + buildPhase = '' + ${python3.interpreter} -O -m compileall . + ''; + + installPhase = '' + mkdir -p $out/share/pokete + cp -r assets pokete_classes pokete_data mods *.py $out/share/pokete/ + mkdir -p $out/bin + ln -s $out/share/pokete/pokete.py $out/bin/pokete + ''; + + postFixup = '' + wrapPythonProgramsIn $out/share/pokete "$pythonPath" + ''; + + passthru.tests = { + pokete-version = testers.testVersion { + package = pokete; + command = "pokete --help"; + }; + }; + + meta = with lib; { + description = "A terminal based Pokemon like game"; + homepage = "https://lxgr-linux.github.io/pokete"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fgaz ]; + }; +} diff --git a/nixpkgs/pkgs/games/polymc/default.nix b/nixpkgs/pkgs/games/polymc/default.nix index 0ec60d617f02..e2ceec0e970b 100644 --- a/nixpkgs/pkgs/games/polymc/default.nix +++ b/nixpkgs/pkgs/games/polymc/default.nix @@ -1,45 +1,40 @@ { lib -, mkDerivation +, stdenv , fetchFromGitHub , cmake , jdk8 , jdk , zlib , file -, makeWrapper +, wrapQtAppsHook , xorg , libpulseaudio , qtbase , libGL +, quazip , glfw , openal , msaClientID ? "" +, jdks ? [ jdk jdk8 ] +, extra-cmake-modules }: -mkDerivation rec { +stdenv.mkDerivation rec { pname = "polymc"; - version = "1.1.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "PolyMC"; repo = "PolyMC"; rev = version; - sha256 = "sha256-p5vbpNZI/JiQJclEo/Pu/46qVul+3DAzaoow8jabHrI="; + sha256 = "sha256-Pu2Eb3g6gwCZjJN0N6S/N82eBMLduQQUzXo8nMmtE+Y="; fetchSubmodules = true; }; - nativeBuildInputs = [ cmake file makeWrapper ]; - buildInputs = [ qtbase jdk8 zlib ]; + nativeBuildInputs = [ extra-cmake-modules cmake file jdk wrapQtAppsHook ]; + buildInputs = [ qtbase zlib quazip ]; - postPatch = '' - # hardcode jdk paths - substituteInPlace launcher/java/JavaUtils.cpp \ - --replace 'scanJavaDir("/usr/lib/jvm")' 'javas.append("${jdk}/lib/openjdk/bin/java")' \ - --replace 'scanJavaDir("/usr/lib32/jvm")' 'javas.append("${jdk8}/lib/openjdk/bin/java")' - ''; - - cmakeFlags = [ "-DLauncher_PORTABLE=0" ] ++ - lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]; + cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]; dontWrapQtApps = true; @@ -54,12 +49,13 @@ mkDerivation rec { libGL glfw openal + stdenv.cc.cc.lib ]; in '' # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 - wrapProgram $out/bin/polymc \ - "''${qtWrapperArgs[@]}" \ - --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \ + wrapQtApp $out/bin/polymc \ + --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \ + --prefix POLYMC_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \ --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]} ''; @@ -73,7 +69,7 @@ mkDerivation rec { ''; platforms = platforms.linux; changelog = "https://github.com/PolyMC/PolyMC/releases/tag/${version}"; - license = licenses.gpl3Plus; + license = licenses.gpl3Only; maintainers = with maintainers; [ cleverca22 starcraft66 ]; }; } diff --git a/nixpkgs/pkgs/games/prboom-plus/default.nix b/nixpkgs/pkgs/games/prboom-plus/default.nix new file mode 100644 index 000000000000..a249a4585bd8 --- /dev/null +++ b/nixpkgs/pkgs/games/prboom-plus/default.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, SDL2 +, SDL2_mixer +, SDL2_image +, SDL2_net +, fluidsynth +, soundfont-fluid +, portmidi +, dumb +, libvorbis +, libmad +, pcre +}: + +stdenv.mkDerivation rec { + pname = "prboom-plus"; + version = "2.6.2"; + + src = fetchFromGitHub { + owner = "coelckers"; + repo = "prboom-plus"; + rev = "v${version}"; + sha256 = "iK70PMRLJiZHcK1jCQ2s88LgEMbcfG2pXjwCDVG7zUM="; + }; + + sourceRoot = "source/prboom2"; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + SDL2 + SDL2_mixer + SDL2_image + SDL2_net + fluidsynth + portmidi + dumb + libvorbis + libmad + pcre + ]; + + # Fixes impure path to soundfont + prePatch = '' + substituteInPlace src/m_misc.c --replace \ + "/usr/share/sounds/sf3/default-GM.sf3" \ + "${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2" + ''; + + meta = with lib; { + homepage = "https://github.com/coelckers/prboom-plus"; + description = "An advanced, Vanilla-compatible Doom engine based on PrBoom"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = [ maintainers.ashley ]; + }; +} diff --git a/nixpkgs/pkgs/games/prboom/default.nix b/nixpkgs/pkgs/games/prboom/default.nix deleted file mode 100644 index 8adc9645b7ae..000000000000 --- a/nixpkgs/pkgs/games/prboom/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchurl, SDL, SDL_mixer, SDL_net -, libGLU ? null -, libGL ? null -, useOpenGL ? stdenv.hostPlatform == stdenv.buildPlatform -}: - -assert useOpenGL -> libGL != null && libGLU != null; - -stdenv.mkDerivation rec { - pname = "prboom"; - version = "2.5.0"; - src = fetchurl { - url = "mirror://sourceforge/prboom/prboom-${version}.tar.gz"; - sha256 = "1bjb04q8dk232956k30qlpq6q0hxb904yh1nflr87jcc1x3iqv12"; - }; - - buildInputs = [ SDL SDL_mixer SDL_net ] - ++ lib.optionals useOpenGL [ libGL libGLU ]; - - doCheck = stdenv.hostPlatform == stdenv.buildPlatform; - - configureFlags = [ - (lib.enableFeature useOpenGL "gl") - (lib.enableFeature doCheck "sdltest") - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "--disable-cpu-opt" - "--without-x" - "ac_cv_type_uid_t=yes" - "ac_cv_type_gid_t=yes" - ]; - - postInstall = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - mv $out/games/ $out/bin - ''; -} diff --git a/nixpkgs/pkgs/games/purpur/default.nix b/nixpkgs/pkgs/games/purpur/default.nix index b12c54449a48..e28106183e85 100644 --- a/nixpkgs/pkgs/games/purpur/default.nix +++ b/nixpkgs/pkgs/games/purpur/default.nix @@ -34,8 +34,10 @@ stdenv.mkDerivation rec { gameplay features, and performance built on top of Airplane. ''; homepage = "https://purpurmc.org/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mit; platforms = platforms.unix; maintainers = with maintainers; [ jyooru ]; + mainProgram = "minecraft-server"; }; } diff --git a/nixpkgs/pkgs/games/qqwing/default.nix b/nixpkgs/pkgs/games/qqwing/default.nix index 3fadd73ce18e..244a826cb165 100644 --- a/nixpkgs/pkgs/games/qqwing/default.nix +++ b/nixpkgs/pkgs/games/qqwing/default.nix @@ -21,7 +21,8 @@ stdenv.mkDerivation rec { --replace "sudo " "" ''; - buildInputs = [ perl autoconf automake libtool ]; + nativeBuildInputs = [ autoconf automake ]; + buildInputs = [ perl libtool ]; makeFlags = [ "prefix=$(out)" "tgz" ]; diff --git a/nixpkgs/pkgs/games/quake2/yquake2/default.nix b/nixpkgs/pkgs/games/quake2/yquake2/default.nix index d251c48d3823..7d75b4cc1d8e 100644 --- a/nixpkgs/pkgs/games/quake2/yquake2/default.nix +++ b/nixpkgs/pkgs/games/quake2/yquake2/default.nix @@ -1,63 +1,55 @@ -{ stdenv, lib, fetchFromGitHub, buildEnv, cmake, makeWrapper +{ stdenv, lib, fetchFromGitHub, buildEnv, makeWrapper , SDL2, libGL, curl -, oggSupport ? true, libogg, libvorbis , openalSupport ? true, openal -, zipSupport ? true, zlib , Cocoa, OpenAL }: let - mkFlag = b: if b then "ON" else "OFF"; + mkFlag = b: if b then "yes" else "no"; - games = import ./games.nix { inherit stdenv lib fetchFromGitHub cmake; }; + games = import ./games.nix { inherit stdenv lib fetchFromGitHub; }; wrapper = import ./wrapper.nix { inherit stdenv lib buildEnv makeWrapper yquake2; }; yquake2 = stdenv.mkDerivation rec { pname = "yquake2"; - version = "8.00"; + version = "8.01"; src = fetchFromGitHub { owner = "yquake2"; repo = "yquake2"; rev = "QUAKE2_${builtins.replaceStrings ["."] ["_"] version}"; - sha256 = "0xnpmh0pl1095dykhc76rp242x587yh9zh6wayqzaam6cn3xlz3w"; + sha256 = "1dll5lx4bnls5w5f2zwjhwpcpxa97rjn6ymb2v3vrjm19jbd16yd"; }; postPatch = '' - substituteInPlace src/common/filesystem.c \ - --replace /usr/share/games/quake2 $out/share/games/quake2 + substituteInPlace src/client/curl/qcurl.c \ + --replace "\"libcurl.so.3\", \"libcurl.so.4\"" "\"${curl.out}/lib/libcurl.so\", \"libcurl.so.3\", \"libcurl.so.4\"" + '' + lib.optionalString (openalSupport && !stdenv.isDarwin) '' + substituteInPlace Makefile \ + --replace "\"libopenal.so.1\"" "\"${openal}/lib/libopenal.so.1\"" ''; - nativeBuildInputs = [ cmake ]; - buildInputs = [ SDL2 libGL curl ] ++ lib.optionals stdenv.isDarwin [ Cocoa OpenAL ] - ++ lib.optionals oggSupport [ libogg libvorbis ] - ++ lib.optional openalSupport openal - ++ lib.optional zipSupport zlib; - - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - "-DOGG_SUPPORT=${mkFlag oggSupport}" - "-DOPENAL_SUPPORT=${mkFlag openalSupport}" - "-DZIP_SUPPORT=${mkFlag zipSupport}" - "-DSYSTEMWIDE_SUPPORT=ON" + ++ lib.optional openalSupport openal; + + makeFlags = [ + "WITH_OPENAL=${mkFlag openalSupport}" + "WITH_SYSTEMWIDE=yes" + "WITH_SYSTEMDIR=$\{out}/share/games/quake2" ]; - preConfigure = '' - # Since we can't expand $out in `cmakeFlags` - cmakeFlags="$cmakeFlags -DSYSTEMDIR=$out/share/games/quake2" - ''; + enableParallelBuilding = true; installPhase = '' # Yamagi Quake II expects all binaries (executables and libs) to be in the # same directory. - mkdir -p $out/bin $out/lib/yquake2 $out/share/games/quake2 + mkdir -p $out/bin $out/lib/yquake2 $out/share/games/quake2/baseq2 cp -r release/* $out/lib/yquake2 ln -s $out/lib/yquake2/quake2 $out/bin/yquake2 ln -s $out/lib/yquake2/q2ded $out/bin/yq2ded - cp $src/stuff/yq2.cfg $out/share/games/quake2 + cp $src/stuff/yq2.cfg $out/share/games/quake2/baseq2 ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/quake2/yquake2/games.nix b/nixpkgs/pkgs/games/quake2/yquake2/games.nix index 0c9b24963ba7..c78689971a63 100644 --- a/nixpkgs/pkgs/games/quake2/yquake2/games.nix +++ b/nixpkgs/pkgs/games/quake2/yquake2/games.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, cmake }: +{ stdenv, lib, fetchFromGitHub }: let games = { @@ -37,11 +37,9 @@ let rev = "${lib.toUpper id}_${builtins.replaceStrings ["."] ["_"] version}"; }; - nativeBuildInputs = [ cmake ]; - installPhase = '' mkdir -p $out/lib/yquake2/${id} - cp Release/* $out/lib/yquake2/${id} + cp release/* $out/lib/yquake2/${id} ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/quake3/quake3e/default.nix b/nixpkgs/pkgs/games/quake3/quake3e/default.nix index 7a1da6f6398c..2346e6022d94 100644 --- a/nixpkgs/pkgs/games/quake3/quake3e/default.nix +++ b/nixpkgs/pkgs/games/quake3/quake3e/default.nix @@ -1,31 +1,44 @@ -{ lib, stdenv, curl, libGL, libX11, libXxf86dga, alsa-lib, libXrandr, libXxf86vm, libXext, fetchFromGitHub }: +{ lib, stdenv, fetchFromGitHub, makeWrapper +, curl, libGL, libX11, libXxf86dga, alsa-lib, libXrandr, libXxf86vm, libXext, SDL2, glibc +}: stdenv.mkDerivation rec { pname = "Quake3e"; - version = "2020-04-04"; + version = "2022-04-01-dev"; src = fetchFromGitHub { owner = "ec-"; repo = pname; - rev = version; - sha256 = "1jvk8qd0mi0x8lslknhkfd8h6ridwca34c6qahsbmmpcgsvdv16s"; + rev = "c6cec00b858aa5955eb1d6eb65b9bfd41fd869cb"; + sha256 = "0qd13fndbhgkkmhxbprpzmj2l2v9ihacxagpdqi9sg9nrzvahr9h"; }; - buildInputs = [ curl libGL libX11 libXxf86dga alsa-lib libXrandr libXxf86vm libXext ]; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ curl libGL libX11 libXxf86dga alsa-lib libXrandr libXxf86vm libXext SDL2 glibc ]; + NIX_CFLAGS_COMPILE = "-I${SDL2.dev}/include/SDL2"; enableParallelBuilding = true; postPatch = '' sed -i -e 's#OpenGLLib = dlopen( dllname#OpenGLLib = dlopen( "${libGL}/lib/libGL.so"#' code/unix/linux_qgl.c + sed -i -e 's#Sys_LoadLibrary( "libpthread.so.0" )#Sys_LoadLibrary( "${glibc}/lib/libpthread.so.0" )#' code/unix/linux_snd.c sed -i -e 's#Sys_LoadLibrary( "libasound.so.2" )#Sys_LoadLibrary( "${alsa-lib}/lib/libasound.so.2" )#' code/unix/linux_snd.c + sed -i -e 's#Sys_LoadLibrary( "libXxf86dga.so.1" )#Sys_LoadLibrary( "${libXxf86dga}/lib/libXxf86dga.so.1" )#' code/unix/x11_dga.c sed -i -e 's#Sys_LoadLibrary( "libXrandr.so.2" )#Sys_LoadLibrary( "${libXrandr}/lib/libXrandr.so.2" )#' code/unix/x11_randr.c sed -i -e 's#Sys_LoadLibrary( "libXxf86vm.so.1" )#Sys_LoadLibrary( "${libXxf86vm}/lib/libXxf86vm.so.1" )#' code/unix/x11_randr.c - sed -i -e 's#Sys_LoadLibrary( "libXxf86dga.so.1" )#Sys_LoadLibrary( "${libXxf86dga}/lib/libXxf86dga.so.1" )#' code/unix/x11_dga.c + sed -i -e 's#Sys_LoadLibrary( "libXxf86vm.so.1" )#Sys_LoadLibrary( "${libXxf86vm}/lib/libXxf86vm.so.1" )#' code/unix/x11_vidmode.c sed -i -e 's#"libcurl.so.4"#"${curl.out}/lib/libcurl.so.4"#' code/client/cl_curl.h ''; + # Default value for `USE_SDL` changed (from 0 to 1) in 5f8ce6d (2020-12-26) + # Setting `USE_SDL=0` in `makeFlags` doesn't work + preConfigure = '' + sed -i 's/USE_SDL *= 1/USE_SDL = 0/' Makefile + ''; + installPhase = '' - mkdir -p $out/bin - cp build/*/*x64 $out/bin + make install DESTDIR=$out/lib + makeWrapper $out/lib/quake3e.x64 $out/bin/quake3e + makeWrapper $out/lib/quake3e.ded.x64 $out/bin/quake3e.ded ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/quakespasm/default.nix b/nixpkgs/pkgs/games/quakespasm/default.nix index 137b86f57b6b..d130df696b45 100644 --- a/nixpkgs/pkgs/games/quakespasm/default.nix +++ b/nixpkgs/pkgs/games/quakespasm/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "quakespasm"; - version = "0.94.3"; + version = "0.94.7"; src = fetchurl { url = "mirror://sourceforge/quakespasm/quakespasm-${version}.tar.gz"; - sha256 = "sha256-PpX20+XHIF4aRosErKGnylXIqdMtG3Ubsi70zNG9Dq0="; + sha256 = "sha256-xkXG+PBCCM+vzSZESgP2kOsD0rSg6pRupJdH5Y+fc/4="; }; sourceRoot = "${pname}-${version}/Quake"; @@ -93,6 +93,7 @@ stdenv.mkDerivation rec { ''; platforms = platforms.unix; - maintainers = with maintainers; [ mikroskeem m3tti ]; + maintainers = with maintainers; [ mikroskeem ]; + mainProgram = "quake"; }; } diff --git a/nixpkgs/pkgs/games/quakespasm/vulkan.nix b/nixpkgs/pkgs/games/quakespasm/vulkan.nix index f3a5c67ba13d..eedab296ce93 100644 --- a/nixpkgs/pkgs/games/quakespasm/vulkan.nix +++ b/nixpkgs/pkgs/games/quakespasm/vulkan.nix @@ -1,14 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, SDL2, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader }: +{ lib, stdenv, fetchFromGitHub, makeWrapper +, SDL2, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader, moltenvk +}: stdenv.mkDerivation rec { pname = "vkquake"; - version = "1.12.2"; + version = "1.13.0"; src = fetchFromGitHub { owner = "Novum"; repo = "vkQuake"; rev = version; - sha256 = "sha256-+AUSsqarDW40JKgDUIF3G9RNOKqQLuQHOGF23L8anPQ="; + sha256 = "sha256-dRPeUsBLliBevjMOSMU+uPSAivrQ0tbuh4QeLmowrAI="; }; sourceRoot = "source/Quake"; @@ -24,7 +26,7 @@ stdenv.mkDerivation rec { libvorbis libmad vulkan-loader - ]; + ] ++ lib.optional stdenv.isDarwin moltenvk; buildFlags = [ "DO_USERDIRS=1" ]; @@ -53,7 +55,7 @@ stdenv.mkDerivation rec { specialization constants, CPU/GPU parallelism and memory pooling. ''; - platforms = platforms.linux; - maintainers = with maintainers; [ ]; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ ylh ]; }; } diff --git a/nixpkgs/pkgs/games/quantumminigolf/default.nix b/nixpkgs/pkgs/games/quantumminigolf/default.nix index 26a327dd3f52..d0e50a361582 100644 --- a/nixpkgs/pkgs/games/quantumminigolf/default.nix +++ b/nixpkgs/pkgs/games/quantumminigolf/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { ]; preBuild = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${SDL.dev}/include/SDL -I${SDL_ttf}/include/SDL" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${lib.getDev SDL}/include/SDL -I${SDL_ttf}/include/SDL" sed -re 's@"(gfx|fonts|tracks)/@"'"$out"'/share/quantumminigolf/\1/@g' -i *.cpp ''; diff --git a/nixpkgs/pkgs/games/r2mod_cli/default.nix b/nixpkgs/pkgs/games/r2mod_cli/default.nix index 607a53579c7e..eb1dd25811aa 100644 --- a/nixpkgs/pkgs/games/r2mod_cli/default.nix +++ b/nixpkgs/pkgs/games/r2mod_cli/default.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { homepage = "https://github.com/foldex/r2mod_cli"; license = licenses.gpl3Only; maintainers = [ maintainers.reedrw ]; + mainProgram = "r2mod"; platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/games/rare/default.nix b/nixpkgs/pkgs/games/rare/default.nix index 9bf3aca75422..d23645242fdf 100644 --- a/nixpkgs/pkgs/games/rare/default.nix +++ b/nixpkgs/pkgs/games/rare/default.nix @@ -1,23 +1,23 @@ -{ lib, fetchPypi, buildPythonApplication, makeDesktopItem, copyDesktopItems, qt5 -, pillow, psutil, pypresence, pyqt5, python, qtawesome, requests }: +{ lib, fetchFromGitHub, buildPythonApplication, qt5 +, psutil, pypresence, pyqt5, python, qtawesome, requests }: buildPythonApplication rec { pname = "rare"; - version = "1.8.8"; - - src = fetchPypi { - inherit version; - pname = "Rare"; - sha256 = "sha256-00CtvBqSrT9yJUHZ5529VrIQtCOYkHRc8+rJHmrTSpg="; + version = "1.8.9"; + + src = fetchFromGitHub { + owner = "Dummerle"; + repo = "Rare"; + rev = version; + sha256 = "sha256-2l8Id+bA5Ugb8+3ioiZ78dUtDusU8cvZEAMhmYBcJFc="; + fetchSubmodules = true; }; nativeBuildInputs = [ - copyDesktopItems qt5.wrapQtAppsHook ]; propagatedBuildInputs = [ - pillow psutil pypresence pyqt5 @@ -25,17 +25,6 @@ buildPythonApplication rec { requests ]; - desktopItems = [ - (makeDesktopItem { - name = pname; - exec = "rare"; - icon = "Rare"; - comment = meta.description; - desktopName = "Rare"; - genericName = "Rare (Epic Games Launcher Open Source Alternative)"; - }) - ]; - dontWrapQtApps = true; preBuild = '' @@ -44,7 +33,8 @@ buildPythonApplication rec { ''; postInstall = '' - install -Dm644 $out/${python.sitePackages}/rare/resources/images/Rare.png -t $out/share/pixmaps/ + install -Dm644 misc/rare.desktop -t $out/share/applications/ + install -Dm644 $out/${python.sitePackages}/rare/resources/images/Rare.png $out/share/pixmaps/rare.png ''; preFixup = '' diff --git a/nixpkgs/pkgs/games/rili/default.nix b/nixpkgs/pkgs/games/rili/default.nix index a0082d28d506..9c6252a6dda3 100644 --- a/nixpkgs/pkgs/games/rili/default.nix +++ b/nixpkgs/pkgs/games/rili/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, SDL_mixer, SDL, autoreconfHook }: +{ lib, stdenv, fetchurl, fetchpatch, SDL_mixer, SDL, autoreconfHook }: stdenv.mkDerivation rec { pname = "ri_li"; @@ -9,9 +9,19 @@ stdenv.mkDerivation rec { sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd"; }; - patches = [ ./moderinze_cpp.patch ]; + patches = [ + ./moderinze_cpp.patch - CPPFLAGS = "-I${SDL.dev}/include -I${SDL.dev}/include/SDL -I${SDL_mixer}/include"; + # Build fix for gcc-11 pending upstream inclusion: + # https://sourceforge.net/p/ri-li/bugs/2/ + (fetchpatch { + name = "gcc-11.patch"; + url = "https://sourceforge.net/p/ri-li/bugs/2/attachment/0001-Fix-build-on-gcc-11.patch"; + sha256 = "01il9lm3amwp3b435ka9q63p0jwlzajwnbshyazx6n9vcnrr17yw"; + }) + ]; + + CPPFLAGS = "-I${lib.getDev SDL}/include -I${lib.getDev SDL}/include/SDL -I${SDL_mixer}/include"; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ SDL SDL_mixer ]; diff --git a/nixpkgs/pkgs/games/rocksndiamonds/default.nix b/nixpkgs/pkgs/games/rocksndiamonds/default.nix index b01d616452bb..39df9615154c 100644 --- a/nixpkgs/pkgs/games/rocksndiamonds/default.nix +++ b/nixpkgs/pkgs/games/rocksndiamonds/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, makeDesktopItem, SDL2, SDL2_image, SDL2_mixer, SDL2_net }: +{ lib, stdenv, fetchurl, fetchpatch, makeDesktopItem, SDL2, SDL2_image, SDL2_mixer, SDL2_net }: stdenv.mkDerivation rec { pname = "rocksndiamonds"; @@ -9,6 +9,20 @@ stdenv.mkDerivation rec { sha256 = "1k0m6l5g886d9mwwh6q0gw75qsb85mpf8i0rglh047app56nsk72"; }; + patches = [ + # Pull upstream fix for -fno-common toolchain. + (fetchpatch { + name = "fno-common-p1.patch"; + url = "https://git.artsoft.org/?p=rocksndiamonds.git;a=patch;h=b4271393b10b7c664a58f3db7349a3875c1676fe"; + sha256 = "0bdy4d2ril917radmm0c2yh2gqfyh7q1c8kahig5xknn2rkf2iac"; + }) + (fetchpatch { + name = "fno-common-p2.patch"; + url = "https://git.artsoft.org/?p=rocksndiamonds.git;a=patch;h=81dbde8a570a94dd2e938eff2f52dc5a3ecced21"; + sha256 = "1mk5yb8pxrpxvvsxw3pjcbgx2c658baq9vmqqipbj5byhkkw7v2l"; + }) + ]; + desktopItem = makeDesktopItem { name = "rocksndiamonds"; exec = "rocksndiamonds"; diff --git a/nixpkgs/pkgs/games/rott/default.nix b/nixpkgs/pkgs/games/rott/default.nix index b3a517dab02b..131745ac03eb 100644 --- a/nixpkgs/pkgs/games/rott/default.nix +++ b/nixpkgs/pkgs/games/rott/default.nix @@ -1,5 +1,26 @@ -{stdenv, lib, fetchurl, SDL, SDL_mixer, makeDesktopItem, copyDesktopItems, runtimeShell, buildShareware ? false}: +{ stdenv +, lib +, fetchurl +, writeShellScript +, SDL +, SDL_mixer +, makeDesktopItem +, copyDesktopItems +, runtimeShell +, buildShareware ? false +}: +let + # Allow the game to be launched from a user's PATH and load the game data from the user's home directory. + launcher = writeShellScript "rott" '' + set -eEuo pipefail + dir=$HOME/.rott/data + test -e $dir || mkdir -p $dir + cd $dir + exec @out@/libexec/rott "$@" + ''; + +in stdenv.mkDerivation rec { pname = "rott"; version = "1.1.2"; @@ -10,27 +31,27 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ copyDesktopItems ]; + buildInputs = [ SDL SDL_mixer ]; - preBuild = '' - cd rott - make clean - make SHAREWARE=${if buildShareware then "1" else "0"} - ''; + sourceRoot = "rott-${version}/rott"; - # Include a wrapper script to allow the game to be launched from a user's PATH and load the game data from the user's home directory. + makeFlags = [ + "SHAREWARE=${if buildShareware then "1" else "0"}" + ]; - installPhase = '' - mkdir -p $out/bin - cp rott $out/bin + # when using SDL_compat instead of SDL_classic, SDL_mixer isn't correctly + # detected, but there is no harm just specifying it + NIX_CFLAGS_COMPILE = [ + "-I${lib.getDev SDL_mixer}/include/SDL" + ]; - cat > $out/bin/launch-rott <<EOF - #! ${runtimeShell} -e - cd ~/.rott/data - exec $out/bin/rott - EOF + installPhase = '' + runHook preInstall - chmod +x $out/bin/launch-rott + install -Dm555 -t $out/libexec rott + install -Dm555 ${launcher} $out/bin/${launcher.name} + substituteInPlace $out/bin/rott --subst-var out runHook postInstall ''; @@ -38,7 +59,7 @@ stdenv.mkDerivation rec { desktopItems = [ (makeDesktopItem { name = "rott"; - exec = "launch-rott"; + exec = "rott"; desktopName = "Rise of the Triad: ${if buildShareware then "The HUNT Begins" else "Dark War"}"; categories = [ "Game" ]; }) diff --git a/nixpkgs/pkgs/games/runelite/default.nix b/nixpkgs/pkgs/games/runelite/default.nix index d342d543e2fc..a3c686eee9fe 100644 --- a/nixpkgs/pkgs/games/runelite/default.nix +++ b/nixpkgs/pkgs/games/runelite/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { # RuneLite looks for `.so` files in $PWD/natives, so ensure that we set the PWD to the right place makeWrapper ${jre}/bin/java $out/bin/runelite \ - --run "cd $out" \ + --chdir "$out" \ --prefix LD_LIBRARY_PATH : "${xorg.libXxf86vm}/lib" \ --add-flags "-jar $out/share/runelite/RuneLite.jar" ''; @@ -58,6 +58,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open source Old School RuneScape client"; homepage = "https://runelite.net/"; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; license = licenses.bsd2; maintainers = with maintainers; [ kmeakin ]; platforms = [ "x86_64-linux" ]; diff --git a/nixpkgs/pkgs/games/runescape-launcher/default.nix b/nixpkgs/pkgs/games/runescape-launcher/default.nix index 8b678d792fcb..e671e5589b82 100644 --- a/nixpkgs/pkgs/games/runescape-launcher/default.nix +++ b/nixpkgs/pkgs/games/runescape-launcher/default.nix @@ -10,9 +10,11 @@ let pname = "runescape-launcher"; version = "2.2.9"; + # Packages: https://content.runescape.com/downloads/ubuntu/dists/trusty/non-free/binary-amd64/Packages + # upstream is https://content.runescape.com/downloads/ubuntu/pool/non-free/r/${pname}/${pname}_${version}_amd64.deb src = fetchurl { - url = "https://content.runescape.com/downloads/ubuntu/pool/non-free/r/${pname}/${pname}_${version}_amd64.deb"; - sha256 = "0r5v1pwh0aas31b1d3pkrc8lqmqz9b4fml2b4kxmg5xzp677h271"; + url = "https://archive.org/download/${pname}_${version}_amd64/${pname}_${version}_amd64.deb"; + sha256 = "1zilpxh8k8baylbl9nqq9kgjiv2xzw4lizbgcmzky5rhmych8n4g"; }; nativeBuildInputs = [ @@ -75,8 +77,9 @@ let meta = with lib; { description = "Launcher for RuneScape 3, the current main RuneScape"; homepage = "https://www.runescape.com/"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; - maintainers = with lib.maintainers; [ grburst ]; + maintainers = with maintainers; [ grburst ]; platforms = [ "x86_64-linux" ]; }; }; @@ -89,15 +92,23 @@ in * FHS simulates a classic linux shell */ buildFHSUserEnv { - name = "RuneScape"; - targetPkgs = pkgs: [ - runescape - dpkg glibc gcc-unwrapped - libSM libXxf86vm libX11 glib pango cairo gtk2-x11 zlib openssl - libpulseaudio - xorg.libX11 - SDL2 xorg_sys_opengl libGL - ]; - multiPkgs = pkgs: [ libGL ]; - runScript = "runescape-launcher"; -} + name = "RuneScape"; + targetPkgs = pkgs: [ + runescape + dpkg glibc gcc-unwrapped + libSM libXxf86vm libX11 glib pango cairo gtk2-x11 zlib openssl + libpulseaudio + xorg.libX11 + SDL2 xorg_sys_opengl libGL + ]; + multiPkgs = pkgs: [ libGL ]; + runScript = "runescape-launcher"; + + meta = with lib; { + description = "RuneScape Game Client (NXT) - Launcher for RuneScape 3"; + homepage = "https://www.runescape.com/"; + license = licenses.unfree; + maintainers = with maintainers; [ grburst ]; + platforms = [ "x86_64-linux" ]; + }; + } diff --git a/nixpkgs/pkgs/games/sauerbraten/default.nix b/nixpkgs/pkgs/games/sauerbraten/default.nix index 1d2e39d4164e..934c590138d9 100644 --- a/nixpkgs/pkgs/games/sauerbraten/default.nix +++ b/nixpkgs/pkgs/games/sauerbraten/default.nix @@ -56,9 +56,9 @@ stdenv.mkDerivation rec { ln -s $out/share/sauerbraten/cube.png $out/share/icon/sauerbraten.png makeWrapper $out/share/sauerbraten/sauer_server $out/bin/sauerbraten_server \ - --run "cd $out/share/sauerbraten" + --chdir "$out/share/sauerbraten" makeWrapper $out/share/sauerbraten/sauer_client $out/bin/sauerbraten_client \ - --run "cd $out/share/sauerbraten" \ + --chdir "$out/share/sauerbraten" \ --add-flags "-q\''${HOME}/.config/sauerbraten" runHook postInstall diff --git a/nixpkgs/pkgs/games/sgt-puzzles/default.nix b/nixpkgs/pkgs/games/sgt-puzzles/default.nix index 1c0b7aeda493..4c537d4dd372 100644 --- a/nixpkgs/pkgs/games/sgt-puzzles/default.nix +++ b/nixpkgs/pkgs/games/sgt-puzzles/default.nix @@ -1,39 +1,41 @@ { lib, stdenv, fetchurl, desktop-file-utils -, gtk3, libX11 -, makeWrapper, pkg-config, perl, autoreconfHook, wrapGAppsHook +, gtk3, libX11, cmake, imagemagick +, pkg-config, perl, wrapGAppsHook +, isMobile ? false }: stdenv.mkDerivation rec { pname = "sgt-puzzles"; - version = "20200610.9aa7b7c"; + version = "20220802.8399cff"; src = fetchurl { url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz"; - sha256 = "0rrd1c77ar91zqy4rr4xp1z7x3ywnshlac99cga4hnrgwb7vwl3f"; + hash = "sha256-f68Nj8P8oIJj1LWyq8Iamv32ex+boPH/lsV5t+YhM9o="; }; sgt-puzzles-menu = fetchurl { - url = "https://raw.githubusercontent.com/Oleh-Kravchenko/portage/master/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu"; + url = "https://raw.githubusercontent.com/gentoo/gentoo/720e614d0107e86fc1e520bac17726578186843d/games-puzzle/sgt-puzzles/files/sgt-puzzles.menu"; sha256 = "088w0x9g3j8pn725ix8ny8knhdsfgjr3hpswsh9fvfkz5vlg2xkm"; }; - nativeBuildInputs = [ autoreconfHook desktop-file-utils makeWrapper - pkg-config perl wrapGAppsHook ]; + nativeBuildInputs = [ + cmake + desktop-file-utils + imagemagick + perl + pkg-config + wrapGAppsHook + ]; - buildInputs = [ gtk3 libX11 ]; - - makeFlags = [ "prefix=$(out)" "gamesdir=$(out)/bin"]; + NIX_CFLAGS_COMPILE = if isMobile then "-DSTYLUS_BASED" else ""; - preInstall = '' - mkdir -p "$out"/{bin,share/doc/sgtpuzzles} - cp gamedesc.txt LICENCE README "$out/share/doc/sgtpuzzles" - ''; + buildInputs = [ gtk3 libX11 ]; postInstall = '' for i in $(basename -s $out/bin/*); do ln -s $out/bin/$i $out/bin/sgt-puzzle-$i - install -Dm644 icons/$i-48d24.png -t $out/share/icons/hicolor/48x48/apps/ + install -Dm644 icons/$i-96d24.png -t $out/share/icons/hicolor/96x96/apps/ # Generate/validate/install .desktop files. echo "[Desktop Entry]" > $i.desktop @@ -43,7 +45,7 @@ stdenv.mkDerivation rec { --set-key Name --set-value $i \ --set-key Comment --set-value "${meta.description}" \ --set-key Categories --set-value "Game;LogicGame;X-sgt-puzzles;" \ - --set-key Icon --set-value $out/share/icons/hicolor/48x48/apps/$i-48d24 \ + --set-key Icon --set-value $out/share/icons/hicolor/96x96/apps/$i-96d24.png \ $i.desktop done @@ -57,16 +59,10 @@ stdenv.mkDerivation rec { install -Dm644 ${sgt-puzzles-menu} -t $out/etc/xdg/menus/applications-merged/ ''; - preConfigure = '' - perl mkfiles.pl - export NIX_LDFLAGS="$NIX_LDFLAGS -lX11" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error" - cp Makefile.gtk Makefile - ''; meta = with lib; { description = "Simon Tatham's portable puzzle collection"; license = licenses.mit; - maintainers = [ maintainers.raskin ]; + maintainers = with maintainers; [ raskin tomfitzhenry ]; platforms = platforms.linux; homepage = "https://www.chiark.greenend.org.uk/~sgtatham/puzzles/"; }; diff --git a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix index d8bf9d5f3235..81baf3b664ba 100644 --- a/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix +++ b/nixpkgs/pkgs/games/shattered-pixel-dungeon/default.nix @@ -80,6 +80,10 @@ in stdenv.mkDerivation rec { homepage = "https://shatteredpixel.com/"; downloadPage = "https://github.com/00-Evan/shattered-pixel-dungeon/releases"; description = "Traditional roguelike game with pixel-art graphics and simple interface"; + sourceProvenance = with sourceTypes; [ + fromSource + binaryBytecode # deps + ]; license = licenses.gpl3Plus; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; diff --git a/nixpkgs/pkgs/games/sil-q/default.nix b/nixpkgs/pkgs/games/sil-q/default.nix new file mode 100644 index 000000000000..e4299bd8aca7 --- /dev/null +++ b/nixpkgs/pkgs/games/sil-q/default.nix @@ -0,0 +1,73 @@ +{ pkgs, lib, stdenv, fetchFromGitHub, writeScript, makeWrapper, ncurses, libX11 }: + +let + setup = writeScript "setup" '' + mkdir -p "$ANGBAND_PATH" + # copy all the data files into place + cp -ar $1/* "$ANGBAND_PATH" + # the copied files need to be writable + chmod +w -R "$ANGBAND_PATH" + ''; +in stdenv.mkDerivation rec { + pname = "sil-q"; + version = "1.5.0"; + + src = fetchFromGitHub { + owner = "sil-quirk"; + repo = "sil-q"; + rev = "v${version}"; + sha256 = "sha256-v/sWhPWF9cCKD8N0RHpwzChMM1t9G2yrMDmi1cZxdOs="; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ ncurses libX11 ]; + + # Makefile(s) and config are not top-level + sourceRoot = "source/src"; + + postPatch = '' + # allow usage of ANGBAND_PATH + substituteInPlace config.h --replace "#define FIXED_PATHS" "" + + # change Makefile.std for ncurses according to its own comment + substituteInPlace Makefile.std --replace "-lcurses" "-lncurses" + ''; + + makefile = "Makefile.std"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp sil $out/bin/sil-q + wrapProgram $out/bin/sil-q \ + --run "export ANGBAND_PATH=\$HOME/.sil" \ + --run "${setup} ${src}/lib" + + runHook postInstall + ''; + + passthru.tests = { + saveDirCreation = pkgs.runCommand "save-dir-creation" {} '' + HOME=$(pwd) ${lib.getExe pkgs.sil-q} --help + test -d .sil && touch $out + ''; + }; + + meta = { + description = "A roguelike game set in the First Age of Middle-earth"; + longDescription = '' + A game of adventure set in the First Age of Middle-earth, when the world still + rang with Elven song and gleamed with Dwarven mail. + + Walk the dark halls of Angband. Slay creatures black and fell. Wrest a shining + Silmaril from Morgoth’s iron crown. + + A fork of Sil that's still actively developed. + ''; + homepage = "https://github.com/sil-quirk/sil-q"; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.kenran ]; + platforms = lib.platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/games/sil/default.nix b/nixpkgs/pkgs/games/sil/default.nix index 5f589ede2bc4..7d446a684aae 100644 --- a/nixpkgs/pkgs/games/sil/default.nix +++ b/nixpkgs/pkgs/games/sil/default.nix @@ -1,4 +1,6 @@ -{ lib, stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu, makeWrapper, writeScript, ... }: +{ pkgs, lib, stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu +, makeWrapper, writeScript }: + let setup = writeScript "setup" '' mkdir -p "$ANGBAND_PATH" @@ -15,7 +17,7 @@ stdenv.mkDerivation rec { src = fetchzip { url = "http://www.amirrorclear.net/flowers/game/sil/Sil-130-src.zip"; sha256 = "1amp2mr3fxascra0k76sdsvikjh8g76nqh46kka9379zd35lfq8w"; - stripRoot=false; + stripRoot = false; }; nativeBuildInputs = [ makeWrapper ]; @@ -25,7 +27,7 @@ stdenv.mkDerivation rec { makefile = "Makefile.std"; - prePatch = '' + postPatch = '' # Allow usage of ANGBAND_PATH substituteInPlace config.h --replace "#define FIXED_PATHS" "" ''; @@ -34,31 +36,49 @@ stdenv.mkDerivation rec { buildFlagsArray+=("LIBS=-lXaw -lXext -lSM -lICE -lXmu -lXt -lX11 -lncurses") ''; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: main.o:/build/source/Sil/src/externs.h:57: multiple definition of + # `mini_screenshot_char'; variable.o:/build/source/Sil/src/externs.h:57: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + installPhase = '' - # the makefile doesn't have a sensible install target, so we hav to do it ourselves + runHook preInstall + + # the makefile doesn't have a sensible install target, so we have to do it ourselves mkdir -p $out/bin cp sil $out/bin/sil - # Wrap the program to set a user-local ANGBAND_PATH, and run the setup script to copy files into place + + # Wrap the program to set a user-local ANGBAND_PATH, and run the setup script to copy files into place. # We could just use the options for a user-local save and scores dir, but it tried to write to the # lib directory anyway, so we might as well give everyone a copy wrapProgram $out/bin/sil \ - --run "set -u" \ --run "export ANGBAND_PATH=\$HOME/.sil" \ --run "${setup} ${src}/Sil/lib" + + runHook postInstall ''; + passthru.tests = { + saveDirCreation = pkgs.runCommand "save-dir-creation" {} '' + HOME=$(pwd) ${lib.getExe pkgs.sil} --help + test -d .sil && touch $out + ''; + }; + meta = { - description = "A rouge-like game set in the first age of Middle-earth"; + description = "A rogue-like game set in the First Age of Middle-earth"; longDescription = '' - A game of adventure set in the first age of Middle-earth, when the world still - rang with elven song and gleamed with dwarven mail. + A game of adventure set in the First Age of Middle-earth, when the world still + rang with Elven song and gleamed with Dwarven mail. Walk the dark halls of Angband. Slay creatures black and fell. Wrest a shining Silmaril from Morgoth’s iron crown. ''; homepage = "http://www.amirrorclear.net/flowers/game/sil/index.html"; license = lib.licenses.gpl2; - maintainers = [ lib.maintainers.michaelpj ]; + maintainers = with lib.maintainers; [ michaelpj kenran ]; platforms = lib.platforms.linux; + mainProgram = "sil"; }; } diff --git a/nixpkgs/pkgs/games/simutrans/default.nix b/nixpkgs/pkgs/games/simutrans/default.nix index 60b2bc5faf77..1f051242ad90 100644 --- a/nixpkgs/pkgs/games/simutrans/default.nix +++ b/nixpkgs/pkgs/games/simutrans/default.nix @@ -163,7 +163,7 @@ let homepage = "http://www.simutrans.com/"; license = with licenses; [ artistic1 gpl1Plus ]; - maintainers = with maintainers; [ kkallio vcunat phile314 ]; + maintainers = with maintainers; [ phile314 ]; platforms = with platforms; linux; # TODO: ++ darwin; }; }; diff --git a/nixpkgs/pkgs/games/sm64ex/default.nix b/nixpkgs/pkgs/games/sm64ex/default.nix index c6df2099d3ce..a6bf7202adcf 100644 --- a/nixpkgs/pkgs/games/sm64ex/default.nix +++ b/nixpkgs/pkgs/games/sm64ex/default.nix @@ -1,71 +1,55 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub -, python3 -, pkg-config -, audiofile -, SDL2 -, hexdump -, requireFile -, compileFlags ? [ ] -, region ? "us" -, baseRom ? requireFile { - name = "baserom.${region}.z64"; - message = '' - This nix expression requires that baserom.${region}.z64 is - already part of the store. To get this file you can dump your Super Mario 64 cartridge's contents - and add it to the nix store with nix-store --add-fixed sha256 <FILE>. - Note that if you are not using a US baserom, you must overwrite the "region" attribute with either "eu" or "jp". - ''; - sha256 = { - "us" = "17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91"; - "eu" = "c792e5ebcba34c8d98c0c44cf29747c8ee67e7b907fcc77887f9ff2523f80572"; - "jp" = "9cf7a80db321b07a8d461fe536c02c87b7412433953891cdec9191bfad2db317"; - }.${region}; - } +, callPackage +, autoPatchelfHook +, branch }: -stdenv.mkDerivation rec { - pname = "sm64ex"; - version = "unstable-2021-11-30"; - - src = fetchFromGitHub { - owner = "sm64pc"; - repo = "sm64ex"; - rev = "db9a6345baa5acb41f9d77c480510442cab26025"; - sha256 = "sha256-q7JWDvNeNrDpcKVtIGqB1k7I0FveYwrfqu7ZZK7T8F8="; +{ + sm64ex = callPackage ./generic.nix { + pname = "sm64ex"; + version = "0.pre+date=2021-11-30"; + + src = fetchFromGitHub { + owner = "sm64pc"; + repo = "sm64ex"; + rev = "db9a6345baa5acb41f9d77c480510442cab26025"; + sha256 = "sha256-q7JWDvNeNrDpcKVtIGqB1k7I0FveYwrfqu7ZZK7T8F8="; + }; + + extraMeta = { + homepage = "https://github.com/sm64pc/sm64ex"; + description = "Super Mario 64 port based off of decompilation"; + }; }; - nativeBuildInputs = [ python3 pkg-config ]; - buildInputs = [ audiofile SDL2 hexdump ]; - - makeFlags = [ "VERSION=${region}" ] ++ compileFlags - ++ lib.optionals stdenv.isDarwin [ "OSX_BUILD=1" ]; - - inherit baseRom; - - preBuild = '' - patchShebangs extract_assets.py - cp $baseRom ./baserom.${region}.z64 - ''; - - installPhase = '' - mkdir -p $out/bin - cp build/${region}_pc/sm64.${region}.f3dex2e $out/bin/sm64ex - ''; - - enableParallelBuilding = true; - - meta = with lib; { - homepage = "https://github.com/sm64pc/sm64ex"; - description = "Super Mario 64 port based off of decompilation"; - longDescription = '' - Super Mario 64 port based off of decompilation. - Note that you must supply a baserom yourself to extract assets from. - If you are not using an US baserom, you must overwrite the "region" attribute with either "eu" or "jp". - If you would like to use patches sm64ex distributes as makeflags, add them to the "compileFlags" attribute. + sm64ex-coop = callPackage ./generic.nix { + pname = "sm64ex-coop"; + version = "0.pre+date=2022-05-14"; + + src = fetchFromGitHub { + owner = "djoslin0"; + repo = "sm64ex-coop"; + rev = "8200b175607fe2939f067d496627c202a15fe24c"; + sha256 = "sha256-c1ZmMBtvYYcaJ/WxkZBVvNGVCeSXfm8NKe/BiAIJtks="; + }; + + extraNativeBuildInputs = [ + autoPatchelfHook + ]; + + postInstall = let + sharedLib = stdenv.hostPlatform.extensions.sharedLibrary; + in '' + mkdir -p $out/lib + cp $src/lib/bass/libbass{,_fx}${sharedLib} $out/lib + cp $src/lib/discordsdk/libdiscord_game_sdk${sharedLib} $out/lib ''; - license = licenses.unfree; - maintainers = with maintainers; [ ivar ]; - platforms = platforms.unix; + + extraMeta = { + homepage = "https://github.com/djoslin0/sm64ex-coop"; + description = "Super Mario 64 online co-op mod, forked from sm64ex"; + }; }; -} +}.${branch} diff --git a/nixpkgs/pkgs/games/sm64ex/generic.nix b/nixpkgs/pkgs/games/sm64ex/generic.nix new file mode 100644 index 000000000000..ab75ac70b9c5 --- /dev/null +++ b/nixpkgs/pkgs/games/sm64ex/generic.nix @@ -0,0 +1,83 @@ +{ pname +, version +, src +, extraNativeBuildInputs ? [ ] +, extraMeta ? {} +, compileFlags ? [ ] +, postInstall ? "" +, region ? "us" + +, lib +, stdenv +, fetchFromGitHub +, python3 +, pkg-config +, audiofile +, SDL2 +, hexdump +, requireFile +, baseRom ? requireFile { + name = "baserom.${region}.z64"; + message = '' + This nix expression requires that baserom.${region}.z64 is + already part of the store. To get this file you can dump your Super Mario 64 cartridge's contents + and add it to the nix store with nix-store --add-fixed sha256 <FILE>. + Note that if you are not using a US baserom, you must overwrite the "region" attribute with either "eu" or "jp". + ''; + sha256 = { + "us" = "17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91"; + "eu" = "c792e5ebcba34c8d98c0c44cf29747c8ee67e7b907fcc77887f9ff2523f80572"; + "jp" = "9cf7a80db321b07a8d461fe536c02c87b7412433953891cdec9191bfad2db317"; + }.${region}; + } +}: + +stdenv.mkDerivation rec { + inherit pname version src postInstall; + + nativeBuildInputs = [ + python3 + pkg-config + hexdump + ] ++ extraNativeBuildInputs; + + buildInputs = [ + audiofile + SDL2 + ]; + + enableParallelBuilding = true; + + makeFlags = [ + "VERSION=${region}" + ] ++ lib.optionals stdenv.isDarwin [ + "OSX_BUILD=1" + ] ++ compileFlags; + + preBuild = '' + patchShebangs extract_assets.py + ln -s ${baseRom} ./baserom.${region}.z64 + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp build/${region}_pc/sm64.${region}.f3dex2e $out/bin/sm64ex + + runHook postInstall + ''; + + meta = with lib; { + longDescription = + extraMeta.description or "Super Mario 64 port based off of decompilation" + "\n" + '' + Note that you must supply a baserom yourself to extract assets from. + If you are not using an US baserom, you must overwrite the "region" attribute with either "eu" or "jp". + If you would like to use patches sm64ex distributes as makeflags, add them to the "compileFlags" attribute. + ''; + mainProgram = "sm64ex"; + license = licenses.unfree; + maintainers = with maintainers; [ ivar ]; + platforms = platforms.unix; + } // extraMeta; +} diff --git a/nixpkgs/pkgs/games/solarus/default.nix b/nixpkgs/pkgs/games/solarus/default.nix index c42464feaed2..9dc0e1863cfa 100644 --- a/nixpkgs/pkgs/games/solarus/default.nix +++ b/nixpkgs/pkgs/games/solarus/default.nix @@ -35,7 +35,7 @@ mkDerivation rec { ''; homepage = "http://www.solarus-games.org"; license = licenses.gpl3; - maintainers = [ maintainers.Nate-Devv ]; + maintainers = [ ]; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/games/soldat-unstable/gamenetworkingsockets-no-external.patch b/nixpkgs/pkgs/games/soldat-unstable/gamenetworkingsockets-no-external.patch deleted file mode 100644 index 629ca6c67518..000000000000 --- a/nixpkgs/pkgs/games/soldat-unstable/gamenetworkingsockets-no-external.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1084048..1ea4c84 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -143,7 +143,8 @@ if(BUILD_CLIENT OR BUILD_SERVER) - file(WRITE ${PROJECT_BINARY_DIR}/bin/steam_appid.txt "638490") - else() - # GameNetworkingSockets -- add_subdirectory(shared/libs/GameNetworkingSockets) -+ # add_subdirectory(shared/libs/GameNetworkingSockets) -+ find_package(GameNetworkingSockets REQUIRED) - endif() - endif() - diff --git a/nixpkgs/pkgs/games/space-cadet-pinball/default.nix b/nixpkgs/pkgs/games/space-cadet-pinball/default.nix index 312b2e32823b..0c991d727e28 100644 --- a/nixpkgs/pkgs/games/space-cadet-pinball/default.nix +++ b/nixpkgs/pkgs/games/space-cadet-pinball/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, fetchzip -, cmake, SDL2, SDL2_mixer +, cmake, SDL2, SDL2_mixer, Cocoa , unrar-wrapper, makeWrapper , fetchpatch }: @@ -33,12 +33,21 @@ stdenv.mkDerivation rec { }) ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 SDL2_mixer - cmake makeWrapper - ]; + ] ++ lib.optional stdenv.isDarwin Cocoa; + + # Darwin needs a custom installphase since it is excluded from the cmake install + # https://github.com/k4zmu2a/SpaceCadetPinball/blob/0f88e43ba261bc21fa5c3ef9d44969a2a079d0de/CMakeLists.txt#L221 + installPhase = lib.optionalString stdenv.isDarwin '' + runHook preInstall + mkdir -p $out/bin + install ../bin/SpaceCadetPinball $out/bin + runHook postInstall + ''; postInstall = '' mkdir -p $out/lib/SpaceCadetPinball @@ -57,5 +66,6 @@ stdenv.mkDerivation rec { license = with licenses; [ unfree mit ]; maintainers = [ maintainers.hqurve ]; platforms = platforms.all; + mainProgram = "SpaceCadetPinball"; }; } diff --git a/nixpkgs/pkgs/games/space-orbit/default.nix b/nixpkgs/pkgs/games/space-orbit/default.nix index 6794a340310a..7e51d7a4b290 100644 --- a/nixpkgs/pkgs/games/space-orbit/default.nix +++ b/nixpkgs/pkgs/games/space-orbit/default.nix @@ -38,6 +38,7 @@ EOF ''; meta = with lib; { + broken = stdenv.isDarwin; description = "A space combat simulator"; license = licenses.gpl2; platforms = platforms.all; diff --git a/nixpkgs/pkgs/games/speed-dreams/default.nix b/nixpkgs/pkgs/games/speed-dreams/default.nix index c0bb7b67e04b..b97e755b2753 100644 --- a/nixpkgs/pkgs/games/speed-dreams/default.nix +++ b/nixpkgs/pkgs/games/speed-dreams/default.nix @@ -3,7 +3,7 @@ libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, ex libpng, zlib, bash, SDL2, enet, libjpeg, cmake, pkg-config, libvorbis, runtimeShell, curl }: let - version = "2.2.2-r6553"; + version = "2.2.3-r7616"; shortVersion = builtins.substring 0 5 version; in stdenv.mkDerivation rec { @@ -12,22 +12,22 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-base-${version}.tar.xz"; - sha256 = "1l47d2619kpfkvdwbkwr311qss6jjfwvgl5h9z2w3bwdgz0mbaij"; + sha256 = "sha256-GvB8SDZB9UivJSsQfMMon9N5MURdxTOwsaN4F0XQUCE="; }; cars-and-tracks = fetchurl { url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-hq-cars-and-tracks-${version}.tar.xz"; - sha256 = "0l8ba5pzqqcfy4inyxy2lrrhhgfs43xab7fy751xz2xqpqpfksyq"; + sha256 = "sha256-BuryCUvBD7rKmApCNsTkRN0UJ1q6P3sdYrSzpTqdTHc="; }; more-cars-and-tracks = fetchurl { url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-more-hq-cars-and-tracks-${version}.tar.xz"; - sha256 = "10w180mhhk6dw4cza6mqa0hp5qgym9lcizfwykqbgcvs01yl2yqb"; + sha256 = "sha256-GSCHYbJS352yAMczzss7tYSQXwLQV68rv/XkyGy+GoY="; }; wip-cars-and-tracks = fetchurl { url = "mirror://sourceforge/speed-dreams/${shortVersion}/speed-dreams-src-wip-cars-and-tracks-${version}.tar.xz"; - sha256 = "1wad9yaydaryhyi7ckyaii124h0z7kziqgcl475a5jr7ggbxc24q"; + sha256 = "sha256-r/IOSf+UZg2e+WIHn2QNDO6qQUhpIJvh7EF2jQ7lyyA="; }; sourceRoot = "."; diff --git a/nixpkgs/pkgs/games/srb2/default.nix b/nixpkgs/pkgs/games/srb2/default.nix new file mode 100644 index 000000000000..1a4862904abe --- /dev/null +++ b/nixpkgs/pkgs/games/srb2/default.nix @@ -0,0 +1,93 @@ +{ lib +, stdenv +, fetchurl +, fetchFromGitHub +, substituteAll +, cmake +, curl +, nasm +, libopenmpt +, p7zip +, libgme +, libpng +, SDL2 +, SDL2_mixer +, zlib +}: + +let + +assets_version = "2.2.5"; + +assets = fetchurl { + url = "https://github.com/mazmazz/SRB2/releases/download/SRB2_assets_220/srb2-${assets_version}-assets.7z"; + sha256 = "1m9xf3vraq9nipsi09cyvvfa4i37gzfxg970rnqfswd86z9v6v00"; +}; + +assets_optional = fetchurl { + url = "https://github.com/mazmazz/SRB2/releases/download/SRB2_assets_220/srb2-${assets_version}-optional-assets.7z"; + sha256 = "1j29jrd0r1k2bb11wyyl6yv9b90s2i6jhrslnh77qkrhrwnwcdz4"; +}; + +in stdenv.mkDerivation rec { + pname = "srb2"; + version = "2.2.10"; + + src = fetchFromGitHub { + owner = "STJr"; + repo = "SRB2"; + rev = "SRB2_release_${version}"; + sha256 = "03388n094d2yr5si6ngnggbqhm8b2l0s0qvfnkz49li9bd6a81gg"; + }; + + nativeBuildInputs = [ + cmake + nasm + p7zip + ]; + + buildInputs = [ + curl + libgme + libpng + libopenmpt + SDL2 + SDL2_mixer + zlib + ]; + + cmakeFlags = [ + "-DSRB2_ASSET_DIRECTORY=/build/source/assets" + "-DGME_INCLUDE_DIR=${libgme}/include" + "-DOPENMPT_INCLUDE_DIR=${libopenmpt.dev}/include" + "-DSDL2_MIXER_INCLUDE_DIR=${SDL2_mixer}/include/SDL2" + "-DSDL2_INCLUDE_DIR=${SDL2.dev}/include/SDL2" + ]; + + patches = [ + ./wadlocation.patch + ]; + + postPatch = '' + substituteInPlace src/sdl/i_system.c \ + --replace '@wadlocation@' $out + ''; + + preConfigure = '' + 7z x ${assets} -o"/build/source/assets" -aos + 7z x ${assets_optional} -o"/build/source/assets" -aos + ''; + + postInstall = '' + mkdir $out/bin + mv $out/lsdlsrb2-${version} $out/bin/srb2 + ''; + + meta = with lib; { + description = "Sonic Robo Blast 2 is a 3D Sonic the Hedgehog fangame based on a modified version of Doom Legacy"; + homepage = "https://www.srb2.org/"; + platforms = platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ zeratax ]; + }; +} diff --git a/nixpkgs/pkgs/games/srb2/wadlocation.patch b/nixpkgs/pkgs/games/srb2/wadlocation.patch new file mode 100644 index 000000000000..ee3e1111e6f0 --- /dev/null +++ b/nixpkgs/pkgs/games/srb2/wadlocation.patch @@ -0,0 +1,72 @@ +diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c +index 10c0747bf..861f00728 100644 +--- a/src/sdl/i_system.c ++++ b/src/sdl/i_system.c +@@ -145,13 +145,7 @@ int TimeFunction(int requested_frequency); + + // Locations for searching the srb2.pk3 + #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) +-#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2" +-#define DEFAULTWADLOCATION2 "/usr/local/games/SRB2" +-#define DEFAULTWADLOCATION3 "/usr/share/games/SRB2" +-#define DEFAULTWADLOCATION4 "/usr/games/SRB2" +-#define DEFAULTSEARCHPATH1 "/usr/local/games" +-#define DEFAULTSEARCHPATH2 "/usr/games" +-#define DEFAULTSEARCHPATH3 "/usr/local" ++#define DEFAULTWADLOCATION1 "@wadlocation@" + #elif defined (_WIN32) + #define DEFAULTWADLOCATION1 "c:\\games\\srb2" + #define DEFAULTWADLOCATION2 "\\games\\srb2" +@@ -2812,34 +2806,6 @@ static const char *locateWad(void) + if (((envstr = I_GetEnv("SRB2WADDIR")) != NULL) && isWadPathOk(envstr)) + return envstr; + +-#ifndef NOCWD +- I_OutputMsg(",."); +- // examine current dir +- strcpy(returnWadPath, "."); +- if (isWadPathOk(returnWadPath)) +- return NULL; +-#endif +- +- +-#ifdef CMAKECONFIG +-#ifndef NDEBUG +- I_OutputMsg(","CMAKE_ASSETS_DIR); +- strcpy(returnWadPath, CMAKE_ASSETS_DIR); +- if (isWadPathOk(returnWadPath)) +- { +- return returnWadPath; +- } +-#endif +-#endif +- +-#ifdef __APPLE__ +- OSX_GetResourcesPath(returnWadPath); +- I_OutputMsg(",%s", returnWadPath); +- if (isWadPathOk(returnWadPath)) +- { +- return returnWadPath; +- } +-#endif + + // examine default dirs + #ifdef DEFAULTWADLOCATION1 +@@ -2884,16 +2850,7 @@ static const char *locateWad(void) + if (isWadPathOk(returnWadPath)) + return returnWadPath; + #endif +-#ifndef NOHOME +- // find in $HOME +- I_OutputMsg(",HOME"); +- if ((envstr = I_GetEnv("HOME")) != NULL) +- { +- WadPath = searchWad(envstr); +- if (WadPath) +- return WadPath; +- } +-#endif ++ + #ifdef DEFAULTSEARCHPATH1 + // find in /usr/local + I_OutputMsg(", in:"DEFAULTSEARCHPATH1); diff --git a/nixpkgs/pkgs/games/srb2kart/default.nix b/nixpkgs/pkgs/games/srb2kart/default.nix new file mode 100644 index 000000000000..62f2915098de --- /dev/null +++ b/nixpkgs/pkgs/games/srb2kart/default.nix @@ -0,0 +1,88 @@ +{ lib +, stdenv +, fetchurl +, fetchFromGitHub +, substituteAll +, cmake +, curl +, nasm +, unzip +, libgme +, libpng +, SDL2 +, SDL2_mixer +, zlib +}: + +let + +release_tag = "v1.3"; + +installer = fetchurl { + url = "https://github.com/STJr/Kart-Public/releases/download/${release_tag}/srb2kart-v13-Installer.exe"; + sha256 = "0bk36y7wf6xfdg6j0b8qvk8671hagikzdp5nlfqg478zrj0qf6cs"; +}; + +in stdenv.mkDerivation rec { + pname = "srb2kart"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "STJr"; + repo = "Kart-Public"; + rev = release_tag; + sha256 = "131g9bmc9ihvz0klsc3yzd0pnkhx3mz1vzm8y7nrrsgdz5278y49"; + }; + + nativeBuildInputs = [ + cmake + nasm + unzip + ]; + + buildInputs = [ + curl + libgme + libpng + SDL2 + SDL2_mixer + zlib + ]; + + cmakeFlags = [ + #"-DSRB2_ASSET_DIRECTORY=/build/source/assets" + "-DGME_INCLUDE_DIR=${libgme}/include" + "-DSDL2_MIXER_INCLUDE_DIR=${SDL2_mixer}/include/SDL2" + "-DSDL2_INCLUDE_DIR=${SDL2.dev}/include/SDL2" + ]; + + patches = [ + ./wadlocation.patch + ]; + + postPatch = '' + substituteInPlace src/sdl/i_system.c \ + --replace '@wadlocation@' $out + ''; + + preConfigure = '' + mkdir assets/installer + pushd assets/installer + unzip ${installer} "*.kart" srb2.srb + popd + ''; + + postInstall = '' + mkdir -p $out/bin $out/share/games/SRB2Kart + mv $out/srb2kart* $out/bin/ + mv $out/*.kart $out/share/games/SRB2Kart + ''; + + meta = with lib; { + description = "SRB2Kart is a classic styled kart racer"; + homepage = "https://mb.srb2.org/threads/srb2kart.25868/"; + platforms = platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ viric ]; + }; +} diff --git a/nixpkgs/pkgs/games/srb2kart/wadlocation.patch b/nixpkgs/pkgs/games/srb2kart/wadlocation.patch new file mode 100644 index 000000000000..1923cda041d2 --- /dev/null +++ b/nixpkgs/pkgs/games/srb2kart/wadlocation.patch @@ -0,0 +1,61 @@ +diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c +index 51f708d0..c4d971f7 100644 +--- a/src/sdl/i_system.c ++++ b/src/sdl/i_system.c +@@ -139,7 +139,7 @@ typedef LPVOID (WINAPI *p_MapViewOfFile) (HANDLE, DWORD, DWORD, DWORD, SIZE_T); + + // Locations for searching the srb2.srb + #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON) +-#define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2Kart" ++#define DEFAULTWADLOCATION1 "@wadlocation@" + #define DEFAULTWADLOCATION2 "/usr/local/games/SRB2Kart" + #define DEFAULTWADLOCATION3 "/usr/share/games/SRB2Kart" + #define DEFAULTWADLOCATION4 "/usr/games/SRB2Kart" +@@ -3646,47 +3646,6 @@ static const char *locateWad(void) + if (((envstr = I_GetEnv("SRB2WADDIR")) != NULL) && isWadPathOk(envstr)) + return envstr; + +-#ifndef NOCWD +- I_OutputMsg(",."); +- // examine current dir +- strcpy(returnWadPath, "."); +- if (isWadPathOk(returnWadPath)) +- return NULL; +-#endif +- +- +-#ifdef DEFAULTDIR +- I_OutputMsg(",HOME/" DEFAULTDIR); +- // examine user jart directory +- if ((envstr = I_GetEnv("HOME")) != NULL) +- { +- sprintf(returnWadPath, "%s" PATHSEP DEFAULTDIR, envstr); +- if (isWadPathOk(returnWadPath)) +- return returnWadPath; +- } +-#endif +- +- +-#ifdef CMAKECONFIG +-#ifndef NDEBUG +- I_OutputMsg(","CMAKE_ASSETS_DIR); +- strcpy(returnWadPath, CMAKE_ASSETS_DIR); +- if (isWadPathOk(returnWadPath)) +- { +- return returnWadPath; +- } +-#endif +-#endif +- +-#ifdef __APPLE__ +- OSX_GetResourcesPath(returnWadPath); +- I_OutputMsg(",%s", returnWadPath); +- if (isWadPathOk(returnWadPath)) +- { +- return returnWadPath; +- } +-#endif +- + // examine default dirs + #ifdef DEFAULTWADLOCATION1 + I_OutputMsg(","DEFAULTWADLOCATION1); diff --git a/nixpkgs/pkgs/games/starsector/default.nix b/nixpkgs/pkgs/games/starsector/default.nix index 95fb3988f28e..e929ef98fbf6 100644 --- a/nixpkgs/pkgs/games/starsector/default.nix +++ b/nixpkgs/pkgs/games/starsector/default.nix @@ -57,7 +57,8 @@ stdenv.mkDerivation rec { wrapProgram $out/starsector.sh \ --prefix PATH : ${lib.makeBinPath [ openjdk ]} \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} \ - --run 'mkdir -p ''${XDG_DATA_HOME:-~/.local/share}/starsector; cd '"$out" + --run 'mkdir -p ''${XDG_DATA_HOME:-~/.local/share}/starsector' \ + --chdir "$out" ln -s $out/starsector.sh $out/bin/starsector runHook postInstall @@ -74,6 +75,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Open-world single-player space-combat, roleplaying, exploration, and economic game"; homepage = "https://fractalsoftworks.com"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; maintainers = with maintainers; [ bbigras ]; }; diff --git a/nixpkgs/pkgs/games/steam/default.nix b/nixpkgs/pkgs/games/steam/default.nix index 430a2b3a67de..395980e8ee6f 100644 --- a/nixpkgs/pkgs/games/steam/default.nix +++ b/nixpkgs/pkgs/games/steam/default.nix @@ -29,7 +29,7 @@ let selfBuildHost = pkgsBuildHost.${steamPackagesAttr}; selfBuildTarget = pkgsBuildTarget.${steamPackagesAttr}; selfHostHost = pkgsHostHost.${steamPackagesAttr}; - selfTargetTarget = pkgsTargetTarget.${steamPackagesAttr}; + selfTargetTarget = pkgsTargetTarget.${steamPackagesAttr} or {}; # might be missing; }; keep = self: { }; extra = spliced0: { }; diff --git a/nixpkgs/pkgs/games/steam/fhsenv.nix b/nixpkgs/pkgs/games/steam/fhsenv.nix index c5fba68b22a1..f32f46f1f145 100644 --- a/nixpkgs/pkgs/games/steam/fhsenv.nix +++ b/nixpkgs/pkgs/games/steam/fhsenv.nix @@ -95,9 +95,11 @@ in buildFHSUserEnv rec { json-glib # paradox launcher (Stellaris) libdrm libxkbcommon # paradox launcher + libvorbis # Dead Cells mono xorg.xkeyboardconfig xorg.libpciaccess + xorg.libXScrnSaver # Dead Cells udev # shadow of the tomb raider icu # dotnet runtime, e.g. stardew valley @@ -155,7 +157,7 @@ in buildFHSUserEnv rec { xorg.libSM xorg.libICE gnome2.GConf - (curl.override { gnutlsSupport = true; opensslSupport = false; }) + curlWithGnuTls nspr nss cups @@ -182,6 +184,7 @@ in buildFHSUserEnv rec { flac freeglut libjpeg + libpng libpng12 libsamplerate libmikmod @@ -195,6 +198,8 @@ in buildFHSUserEnv rec { SDL2_ttf SDL2_mixer libappindicator-gtk2 + libdbusmenu-gtk2 + libindicator-gtk2 libcaca libcanberra libgcrypt @@ -206,12 +211,6 @@ in buildFHSUserEnv rec { ++ steamPackages.steam-runtime-wrapped.overridePkgs ++ extraLibraries pkgs; - extraBuildCommands = '' - ln -s /usr/lib/libbz2.so usr/lib/libbz2.so.1.0 - '' + lib.optionalString (steam-runtime-wrapped-i686 != null) '' - ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0 - ''; - extraInstallCommands = '' mkdir -p $out/share/applications ln -s ${steam}/share/icons $out/share @@ -269,7 +268,7 @@ in buildFHSUserEnv rec { name = "steam-run"; targetPkgs = commonTargetPkgs; - inherit multiPkgs extraBuildCommands profile extraInstallCommands; + inherit multiPkgs profile extraInstallCommands; inherit unshareIpc unsharePid; diff --git a/nixpkgs/pkgs/games/steam/runtime.nix b/nixpkgs/pkgs/games/steam/runtime.nix index 8f2398255a41..c8c67e94b4a4 100644 --- a/nixpkgs/pkgs/games/steam/runtime.nix +++ b/nixpkgs/pkgs/games/steam/runtime.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation rec { pname = "steam-runtime"; # from https://repo.steampowered.com/steamrt-images-scout/snapshots/latest-steam-client-general-availability/VERSION.txt - version = "0.20211102.0"; + version = "0.20220601.1"; src = fetchurl { url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz"; - sha256 = "sha256-/ve4oVxKQ4uTaTiTg8Qc0Kyb4GRJKGZ5SQVLIyeJSpI="; + sha256 = "sha256-uYauNtbUlvrnATGks7hWy1zt4Y7AEeADrCr1eVylPbY="; name = "scout-runtime-${version}.tar.gz"; }; diff --git a/nixpkgs/pkgs/games/stockfish/default.nix b/nixpkgs/pkgs/games/stockfish/default.nix index 5a35ac51754c..2f40b2a34697 100644 --- a/nixpkgs/pkgs/games/stockfish/default.nix +++ b/nixpkgs/pkgs/games/stockfish/default.nix @@ -11,23 +11,23 @@ let if stdenv.isAarch64 then "armv8" else "unknown"; - nnueFile = "nn-13406b1dcbe0.nnue"; + nnueFile = "nn-6877cd24400e.nnue"; nnue = fetchurl { name = nnueFile; url = "https://tests.stockfishchess.org/api/nn/${nnueFile}"; - sha256 = "sha256-E0BrHcvgo238XgfaUdjbOLekXX2kMHjsJadiTCuDI28="; + sha256 = "sha256-aHfNJEAOAbGf8SrjBoriQhUoAr3TMOZve2cDhlJR1uM="; }; in stdenv.mkDerivation rec { pname = "stockfish"; - version = "14.1"; + version = "15"; src = fetchFromGitHub { owner = "official-stockfish"; repo = "Stockfish"; rev = "sf_${version}"; - sha256 = "sha256-bb62yezHKXu0J7NKavX8xhHghaUjUFYNG5U6dh/D+Co="; + sha256 = "sha256-sK4Jw9BPGRvlm9oIcgGcmHe8G4GR4cEuD8MtDrHZKew="; }; # This addresses a linker issue with Darwin diff --git a/nixpkgs/pkgs/games/stuntrally/default.nix b/nixpkgs/pkgs/games/stuntrally/default.nix index 64e2dcc379b1..537a3f83a036 100644 --- a/nixpkgs/pkgs/games/stuntrally/default.nix +++ b/nixpkgs/pkgs/games/stuntrally/default.nix @@ -18,25 +18,21 @@ stdenv.mkDerivation rec { pname = "stunt-rally"; - version = "2.6.1"; + version = "2.6.2"; src = fetchFromGitHub { owner = "stuntrally"; repo = "stuntrally"; rev = version; - hash = "sha256-1+Cc9I6TTa3b++/7Z2V+vAXcmFb2+wX7TnXEH6CRDWU="; + hash = "sha256-9I6hXsosqx+yYiEOEnPXQJHZkGtSU+JqThorwjemlc0="; }; tracks = fetchFromGitHub { owner = "stuntrally"; repo = "tracks"; rev = version; - hash = "sha256-FbZc87j/9cp4LxNaEO2wNTvwk1Aq/IWcKD3rTGkzqj0="; + hash = "sha256-eZJAvkKe3PrXDzxTa5WFBHfltB3jhQh8puzOFDO9lso="; }; - # include/OGRE/OgreException.h:265:126: error: invalid conversion from - # 'int' to 'Ogre::Exception::ExceptionCodes' [-fpermissive] - NIX_CFLAGS_COMPILE = "-fpermissive"; - preConfigure = '' ln -s ${tracks} data/tracks ''; diff --git a/nixpkgs/pkgs/games/system-syzygy/default.nix b/nixpkgs/pkgs/games/system-syzygy/default.nix index 67bb6b716616..bdaded982add 100644 --- a/nixpkgs/pkgs/games/system-syzygy/default.nix +++ b/nixpkgs/pkgs/games/system-syzygy/default.nix @@ -1,4 +1,4 @@ -{lib, rustPlatform, fetchFromGitHub, fetchurl, SDL2, makeWrapper, makeDesktopItem}: +{ stdenv, lib, rustPlatform, fetchFromGitHub, fetchurl, SDL2, makeWrapper, makeDesktopItem}: let desktopFile = makeDesktopItem { @@ -35,6 +35,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { + broken = stdenv.isDarwin; description = "A story and a puzzle game, where you solve a variety of puzzle"; homepage = "https://mdsteele.games/syzygy"; license = licenses.gpl3Plus; diff --git a/nixpkgs/pkgs/games/t4kcommon/default.nix b/nixpkgs/pkgs/games/t4kcommon/default.nix index 74757c236c51..4a7a2e92b106 100644 --- a/nixpkgs/pkgs/games/t4kcommon/default.nix +++ b/nixpkgs/pkgs/games/t4kcommon/default.nix @@ -19,6 +19,13 @@ stdenv.mkDerivation rec { }) ]; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: CMakeFiles/t4k_common.dir/t4k_throttle.c.o:(.bss+0x0): multiple definition of + # `wrapped_lines'; CMakeFiles/t4k_common.dir/t4k_audio.c.o:(.bss+0x0): first defined here + # TODO: revisit https://github.com/tux4kids/t4kcommon/pull/10 when merged. + NIX_CFLAGS_COMPILE = "-fcommon"; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf libpng librsvg libxml2 ]; diff --git a/nixpkgs/pkgs/games/taisei/default.nix b/nixpkgs/pkgs/games/taisei/default.nix index 4bc04a336f83..886768786c10 100644 --- a/nixpkgs/pkgs/games/taisei/default.nix +++ b/nixpkgs/pkgs/games/taisei/default.nix @@ -3,16 +3,16 @@ , docutils, meson, ninja, pkg-config, python3 # Runtime depends , glfw, SDL2, SDL2_mixer -, freetype, libpng, libwebp, libzip, zlib +, cglm, freetype, libpng, libwebp, libzip, zlib }: stdenv.mkDerivation rec { pname = "taisei"; - version = "1.3.1"; + version = "1.3.2"; src = fetchurl { url = "https://github.com/taisei-project/${pname}/releases/download/v${version}/${pname}-v${version}.tar.xz"; - sha256 = "11f9mlqmzy1lszwcc1nsbar9q1hs4ml6pbm52hqfd4q0f4x3ln46"; + sha256 = "1g53fcyrlzmvlsb40pw90gaglysv6n1w42hk263iv61ibhdmzh6v"; }; nativeBuildInputs = [ @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ glfw SDL2 SDL2_mixer - freetype libpng libwebp libzip zlib + cglm freetype libpng libwebp libzip zlib ]; patches = [ ./0001-lto-fix.patch ]; @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + broken = stdenv.isDarwin; description = "A free and open-source Touhou Project clone and fangame"; longDescription = '' Taisei is an open clone of the Tōhō Project series. Tōhō is a one-man @@ -43,4 +44,3 @@ stdenv.mkDerivation rec { platforms = platforms.all; }; } - diff --git a/nixpkgs/pkgs/games/tcl2048/default.nix b/nixpkgs/pkgs/games/tcl2048/default.nix index b2796225a6c7..b74d3630e0e6 100644 --- a/nixpkgs/pkgs/games/tcl2048/default.nix +++ b/nixpkgs/pkgs/games/tcl2048/default.nix @@ -21,7 +21,8 @@ tcl.mkTclDerivation rec { homepage = "https://github.com/dbohdan/2048.tcl"; description = "The game of 2048 implemented in Tcl"; license = lib.licenses.mit; - platforms = lib.platforms.all; maintainers = with lib.maintainers; [ dbohdan ]; + mainProgram = "2048"; + platforms = lib.platforms.all; }; } diff --git a/nixpkgs/pkgs/games/the-butterfly-effect/default.nix b/nixpkgs/pkgs/games/the-butterfly-effect/default.nix index f5330485eddc..cc753783f035 100644 --- a/nixpkgs/pkgs/games/the-butterfly-effect/default.nix +++ b/nixpkgs/pkgs/games/the-butterfly-effect/default.nix @@ -13,8 +13,9 @@ mkDerivation rec { postPatch = "sed '1i#include <vector>' -i src/model/World.h"; + nativeBuildInputs = [ cmake ]; buildInputs = [ - qt5.qtbase qt5.qtsvg qt5.qttranslations box2d which cmake + qt5.qtbase qt5.qtsvg qt5.qttranslations box2d which gettext ]; diff --git a/nixpkgs/pkgs/games/the-powder-toy/default.nix b/nixpkgs/pkgs/games/the-powder-toy/default.nix index ba2112617bbb..6b739c8049d5 100644 --- a/nixpkgs/pkgs/games/the-powder-toy/default.nix +++ b/nixpkgs/pkgs/games/the-powder-toy/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A free 2D physics sandbox game"; homepage = "http://powdertoy.co.uk/"; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + platforms = platforms.unix; license = licenses.gpl3Plus; maintainers = with maintainers; [ abbradar siraben ]; mainProgram = "powder"; diff --git a/nixpkgs/pkgs/games/tintin/default.nix b/nixpkgs/pkgs/games/tintin/default.nix index 2388158a36ac..7add5af64fc7 100644 --- a/nixpkgs/pkgs/games/tintin/default.nix +++ b/nixpkgs/pkgs/games/tintin/default.nix @@ -1,24 +1,21 @@ -{ stdenv, fetchurl, lib, zlib, pcre +{ stdenv, fetchFromGitHub, lib, zlib, pcre , memorymappingHook, memstreamHook -, tlsSupport ? true, gnutls ? null -# ^ set { tlsSupport = false; } to reduce closure size by ~= 18.6 MB +, gnutls }: -assert tlsSupport -> gnutls != null; - stdenv.mkDerivation rec { pname = "tintin"; - version = "2.02.12"; + version = "2.02.20"; - src = fetchurl { - url = "mirror://sourceforge/tintin/tintin-${version}.tar.gz"; - sha256 = "sha256-tvn9TywefNyM/0Fy16gAFJYbA5Q4DO2RgiCdw014GgA="; + src = fetchFromGitHub { + owner = "scandum"; + repo = "tintin"; + rev = version; + hash = "sha256-H9Cjg/GkyV50pgewv77zOJ8/Op78P9sQmZ5LorO4L+A="; }; - nativeBuildInputs = lib.optional tlsSupport gnutls.dev; - buildInputs = [ zlib pcre ] - ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ] - ++ lib.optional tlsSupport gnutls; + buildInputs = [ zlib pcre gnutls ] + ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ]; preConfigure = '' cd src @@ -26,9 +23,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A free MUD client for macOS, Linux and Windows"; - homepage = "http://tintin.sourceforge.net"; - license = licenses.gpl2; - maintainers = with maintainers; [ lovek323 ]; + homepage = "https://tintin.mudhalla.net/index.php"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ abathur ]; + mainProgram = "tt++"; platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/games/tinyfugue/default.nix b/nixpkgs/pkgs/games/tinyfugue/default.nix index 763241f2909d..e75d2f12b945 100644 --- a/nixpkgs/pkgs/games/tinyfugue/default.nix +++ b/nixpkgs/pkgs/games/tinyfugue/default.nix @@ -23,6 +23,12 @@ stdenv.mkDerivation rec { [ ncurses zlib ] ++ optional sslSupport openssl; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: world.o:/build/tf-50b8/src/socket.h:24: multiple definition of + # `world_decl'; command.o:/build/tf-50b8/src/socket.h:24: first defined here + NIX_CFLAGS_COMPILE="-fcommon"; + meta = { homepage = "http://tinyfugue.sourceforge.net/"; description = "A terminal UI, screen-oriented MUD client"; diff --git a/nixpkgs/pkgs/games/titanion/default.nix b/nixpkgs/pkgs/games/titanion/default.nix new file mode 100644 index 000000000000..47db68aa483e --- /dev/null +++ b/nixpkgs/pkgs/games/titanion/default.nix @@ -0,0 +1,91 @@ +{ lib +, stdenv +, fetchpatch +, fetchurl +, unzip +, gdc +, SDL +, SDL_mixer +, bulletml +}: + +let +debianPatch = patchname: hash: fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/t/titanion/0.3.dfsg1-7/debian/patches/${patchname}"; + sha256 = hash; +}; + +in stdenv.mkDerivation rec { + pname = "titanion"; + version = "0.3"; + + src = fetchurl { + url = "http://abagames.sakura.ne.jp/windows/ttn${lib.replaceStrings ["."] ["_"] version}.zip"; + sha256 = "sha256-fR0cufi6dU898wP8KGl/vxbfQJzMmMxlYZ3QNGLajfM="; + }; + + patches = [ + (debianPatch + "imports.patch" + "sha256-kSXpaTpYq6w9e0yLES2QGNQ8+vFIiOpw2P9MA8gZr8s=") + (debianPatch + "fix.diff" + "sha256-0WkkfuhJaAMY46VVyc3ldMQwgOVoQJDw/8zbm6H2sHU=") + (debianPatch + "directories.patch" + "sha256-fhQJuy2+r0YOQNwMqG85Gr7fJehmf00Scran+NPYQrw=") + (debianPatch + "windowed.patch" + "sha256-xouXIuIKfKFGsoOEJqL9jdsdnkX4nqwPGcoB+32Wvgo=") + (debianPatch + "dotfile.patch" + "sha256-sAml53Hh0ltbqN8xZDZuUJcaPfjK56jf4ymFXYD38v0=") + (debianPatch + "window-resize.patch" + "sha256-WwAi1aU4CmaX+O8fw0TfLhNSXFaObExrn7nuhesVkKM=") + (debianPatch + "makefile.patch" + "sha256-g0jDPmc0SWXkTLhiczeTse/WGCtgMUsbyPNZzwK3U+o=") + (debianPatch + "dlang_v2.patch" + "sha256-tfTAAKlPFSjbfAK1EjeB3unj9tbMlNaajJ+VVSMMiYw=") + (debianPatch + "gdc-8.patch" + "sha256-BxkPfSEymq7TDA+yjJHaYsjtGr0Tuu1/sWLwRBAMga4=") + ]; + + postPatch = '' + rm *.dll ttn.exe + rm -r lib + for f in src/abagames/ttn/screen.d src/abagames/util/sdl/sound.d src/abagames/util/sdl/texture.d; do + substituteInPlace $f \ + --replace "/usr/" "$out/" + done + ''; + + nativeBuildInputs = [ + unzip + gdc + ]; + + buildInputs = [ + SDL + SDL_mixer + bulletml + ]; + + installPhase = '' + install -Dm755 titanion $out/bin/titanion + mkdir -p $out/share/games/titanion + cp -r sounds images $out/share/games/titanion/ + ''; + + meta = with lib; { + homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/windows/ttn_e.html"; + description = "Strike down super high-velocity swooping insects"; + license = licenses.bsd2; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/games/tome4/default.nix b/nixpkgs/pkgs/games/tome4/default.nix index 70fbebe084c7..704d09d72de9 100644 --- a/nixpkgs/pkgs/games/tome4/default.nix +++ b/nixpkgs/pkgs/games/tome4/default.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { install -Dm755 t-engine $dir/t-engine cp -r bootstrap game $dir makeWrapper $dir/t-engine $out/bin/${pname} \ - --run "cd $dir" + --chdir "$dir" install -Dm755 ${desktop}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop substituteInPlace $out/share/applications/${pname}.desktop \ @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { description = "Tales of Maj'eyal (rogue-like game)"; homepage = "https://te4.org/"; license = licenses.gpl3; - maintainers = with maintainers; [ chattered peterhoeg ]; - platforms = with platforms; [ "i686-linux" "x86_64-linux" ]; + maintainers = with maintainers; [ peterhoeg ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/nixpkgs/pkgs/games/tr-patcher/default.nix b/nixpkgs/pkgs/games/tr-patcher/default.nix index 68e3eb608954..0336ed1ac02f 100644 --- a/nixpkgs/pkgs/games/tr-patcher/default.nix +++ b/nixpkgs/pkgs/games/tr-patcher/default.nix @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Allow to update dependancies of the Tamriel-Data mod for morrowind"; homepage = "https://gitlab.com/bmwinger/tr-patcher"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.gpl3; maintainers = [ maintainers.marius851000 ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/games/tremulous/default.nix b/nixpkgs/pkgs/games/tremulous/default.nix deleted file mode 100644 index e07697f7c0e1..000000000000 --- a/nixpkgs/pkgs/games/tremulous/default.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ lib, stdenv, fetchurl, unzip, libGLU, libGL, libX11, SDL, openal, runtimeShell }: -stdenv.mkDerivation rec { - pname = "tremulous"; - version = "1.1.0"; - src1 = fetchurl { - url = "mirror://sourceforge/tremulous/${pname}-${version}.zip"; - sha256 = "11w96y7ggm2sn5ncyaffsbg0vy9pblz2av71vqp9725wbbsndfy7"; - }; - # http://tremulous.net/wiki/Client_versions - src2 = fetchurl { - url = "http://releases.mercenariesguild.net/client/mgclient_source_Release_1.011.tar.gz"; - sha256 = "1vrsi7va7hdp8k824663s1pyw9zpsd4bwwr50j7i1nn72b0v9a26"; - }; - src3 = fetchurl { - url = "http://releases.mercenariesguild.net/tremded/mg_tremded_source_1.01.tar.gz"; - sha256 = "1njrqlhzjvy9myddzkagszwdcf3m4h08wip888w2rmbshs6kz6ql"; - }; - nativeBuildInputs = [ unzip ]; - buildInputs = [ libGLU libGL libX11 SDL openal ]; - unpackPhase = '' - unzip $src1 - cd tremulous - tar xvf $src2 - mkdir mg_tremded_source - cd mg_tremded_source - tar xvf $src3 - cd .. - ''; - patches = [ ./parse.patch ]; - patchFlags = [ "-p" "0" ]; - NIX_LD_FLAGS = '' - -rpath ${stdenv.cc}/lib - -rpath ${stdenv.cc}/lib64 - ''; - buildPhase = '' - cd Release_1.011 - make - cd .. - cd mg_tremded_source - make - cd .. - ''; - installPhase = '' - arch=$(uname -m | sed -e s/i.86/x86/) - mkdir -p $out/opt/tremulous - cp -v Release_1.011/build/release-linux-$arch/tremulous.$arch $out/opt/tremulous/ - cp -v mg_tremded_source/build/release-linux-$arch/tremded.$arch $out/opt/tremulous/ - cp -rv base $out/opt/tremulous - mkdir -p $out/bin - for b in tremulous tremded - do - cat << EOF > $out/bin/$b - #!${runtimeShell} - cd $out/opt/tremulous - exec ./$b.$arch "\$@" - EOF - chmod +x $out/bin/$b - done - ''; - dontPatchELF = true; - meta = with lib; { - description = "A game that blends a team based FPS with elements of an RTS"; - longDescription = '' - Tremulous is a free, open source game that blends a team based FPS with - elements of an RTS. Players can choose from 2 unique races, aliens and - humans. Players on both teams are able to build working structures - in-game like an RTS. These structures provide many functions, the most - important being spawning. The designated builders must ensure there are - spawn structures or other players will not be able to rejoin the game - after death. Other structures provide automated base defense (to some - degree), healing functions and much more... - ''; - homepage = "http://www.tremulous.net"; - license = with licenses; [ - gpl2 - cc-by-sa-25 /* media */ - ]; - maintainers = with maintainers; [ astsmtl ]; - platforms = platforms.linux; - broken = true; - }; -} diff --git a/nixpkgs/pkgs/games/tremulous/parse.patch b/nixpkgs/pkgs/games/tremulous/parse.patch deleted file mode 100644 index 12a73138c099..000000000000 --- a/nixpkgs/pkgs/games/tremulous/parse.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ruN Release_1.011-old/src/qcommon/parse.c Release_1.011/src/qcommon/parse.c ---- Release_1.011-old/src/qcommon/parse.c 2011-12-02 19:11:49.307368651 -0500 -+++ Release_1.011/src/qcommon/parse.c 2011-12-02 19:13:27.556836387 -0500 -@@ -981,7 +981,7 @@ - { - if (*string == '\"') - { -- strcpy(string, string+1); -+ memmove(string, string+1, strlen(string)); - } - if (string[strlen(string)-1] == '\"') - { -@@ -1784,7 +1784,7 @@ - if ((*ptr == '\\' || *ptr == '/') && - (*(ptr+1) == '\\' || *(ptr+1) == '/')) - { -- strcpy(ptr, ptr+1); -+ memmove(ptr, ptr+1, strlen(ptr)); - } - else - { diff --git a/nixpkgs/pkgs/games/tworld2/default.nix b/nixpkgs/pkgs/games/tworld2/default.nix index 1db1dcf5f065..158d494fb32d 100644 --- a/nixpkgs/pkgs/games/tworld2/default.nix +++ b/nixpkgs/pkgs/games/tworld2/default.nix @@ -1,8 +1,8 @@ { stdenv , lib , fetchurl -, qt4 , SDL +, qt4 }: stdenv.mkDerivation rec { @@ -11,10 +11,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://tw2.bitbusters.club/downloads/tworld-${version}-src.tar.gz"; - sha256 = "sha256:1y55v2shk2xxcds7bdwdjaq9lka31sgdp2469zqnvldchwbvcb2i"; + hash = "sha256-USy2F4es0W3xT4aI254OQ02asJKNt3V0Y72LCbXYpfg="; }; - buildInputs = [ qt4 SDL ]; + buildInputs = [ SDL qt4 ]; + enableParallelBuilding = true; postConfigure = '' @@ -36,10 +37,10 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "Tile World 2: Tile World is a reimplementation of the game Chip's Challenge"; homepage = "https://tw2.bitbusters.club/"; + description = "Tile World 2: Tile World is a reimplementation of the game Chip's Challenge"; license = licenses.gpl2Plus; - platforms = platforms.linux; maintainers = with maintainers; [ drperceptron ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/games/typespeed/default.nix b/nixpkgs/pkgs/games/typespeed/default.nix index 1581ab138945..0c2d928dd5ea 100644 --- a/nixpkgs/pkgs/games/typespeed/default.nix +++ b/nixpkgs/pkgs/games/typespeed/default.nix @@ -11,6 +11,12 @@ stdenv.mkDerivation rec { patches = [ ./typespeed-config-in-home.patch ]; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: typespeed-typespeed.o:/build/typespeed-0.6.5/src/typespeed.h:69: multiple definition of + # `opt'; typespeed-file.o:/build/typespeed-0.6.5/src/typespeed.h:69: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + configureFlags = [ "--datadir=\${out}/share/" ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; diff --git a/nixpkgs/pkgs/games/ue4/default.nix b/nixpkgs/pkgs/games/ue4/default.nix index 95f0d64f1975..0260e4f2e20d 100644 --- a/nixpkgs/pkgs/games/ue4/default.nix +++ b/nixpkgs/pkgs/games/ue4/default.nix @@ -76,7 +76,8 @@ stdenv.mkDerivation rec { homepage = "https://www.unrealengine.com/what-is-unreal-engine-4"; license = lib.licenses.unfree; platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.puffnfresh ]; + maintainers = [ ]; + # See issue https://github.com/NixOS/nixpkgs/issues/17162 broken = true; }; } diff --git a/nixpkgs/pkgs/games/ue4demos/default.nix b/nixpkgs/pkgs/games/ue4demos/default.nix index 51148e42e8e1..ce3f3ad38f8d 100644 --- a/nixpkgs/pkgs/games/ue4demos/default.nix +++ b/nixpkgs/pkgs/games/ue4demos/default.nix @@ -24,7 +24,7 @@ let cd $out unzip $src - interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2) + interpreter=$(echo ${stdenv.cc.libc}/lib/ld-linux*.so.2) binary=$(find . -executable -type f) patchelf \ --set-interpreter $interpreter \ diff --git a/nixpkgs/pkgs/games/ufoai/default.nix b/nixpkgs/pkgs/games/ufoai/default.nix index 1dc2abbf7624..f596ac2756b6 100644 --- a/nixpkgs/pkgs/games/ufoai/default.nix +++ b/nixpkgs/pkgs/games/ufoai/default.nix @@ -14,6 +14,13 @@ stdenv.mkDerivation rec { sha256 = "1drhh08cqqkwv1yz3z4ngkplr23pqqrdx6cp8c3isy320gy25cvb"; }; + # Workaround build failure on -fno-common toolchains: + # ld: r_gl.h:52: multiple definition of `qglGenBuffers'; + # r_gl.h:52: first defined here + # TODO: drop once release contains upstream fix: + # https://github.com/ufoai/ufoai/commit/8a3075fffdad294e + NIX_CFLAGS_COMPILE = "-fcommon"; + preConfigure = ''tar xvf "${srcData}"''; configureFlags = [ "--enable-release" "--enable-sse" ] diff --git a/nixpkgs/pkgs/games/uhexen2/default.nix b/nixpkgs/pkgs/games/uhexen2/default.nix index 78c38753f790..c76dd9ec2524 100644 --- a/nixpkgs/pkgs/games/uhexen2/default.nix +++ b/nixpkgs/pkgs/games/uhexen2/default.nix @@ -51,6 +51,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + broken = stdenv.isDarwin; description = "A cross-platform port of Hexen II game"; longDescription = '' Hammer of Thyrion (uHexen2) is a cross-platform port of Raven Software's Hexen II source. diff --git a/nixpkgs/pkgs/games/umoria/default.nix b/nixpkgs/pkgs/games/umoria/default.nix new file mode 100644 index 000000000000..13ec037afba7 --- /dev/null +++ b/nixpkgs/pkgs/games/umoria/default.nix @@ -0,0 +1,78 @@ +{ lib +, gcc9Stdenv +, fetchFromGitHub +, autoreconfHook +, cmake +, ncurses6 +, runtimeShell +}: + +let + savesDir = "~/.umoria"; +in +gcc9Stdenv.mkDerivation rec { + pname = "umoria"; + version = "5.7.15"; + + src = fetchFromGitHub { + owner = "dungeons-of-moria"; + repo = "umoria"; + rev = "v${version}"; + sha256 = "sha256-1j4QkE33UcTzM06qAjk1/PyK5uNA7E/kyDe3bZcFKUM="; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ ncurses6 ]; + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/data $out/bin + cp -r umoria/data/* $out/data + cp umoria/umoria $out/.umoria-unwrapped + + mkdir -p $out/bin + cat <<EOF >$out/bin/umoria + #! ${runtimeShell} -e + + RUNDIR=\$(mktemp -d) + + # Print the directory, so users have access to dumps, and let the system + # take care of cleaning up temp files. + echo "Running umoria in \$RUNDIR" + + cd \$RUNDIR + ln -sn $out/data \$RUNDIR/data + + mkdir -p ${savesDir} + [[ ! -f ${savesDir}/scores.dat ]] && touch ${savesDir}/scores.dat + ln -s ${savesDir}/scores.dat scores.dat + + if [ \$# -eq 0 ]; then + $out/.umoria-unwrapped ${savesDir}/game.sav + else + $out/.umoria-unwrapped "\$@" + fi + EOF + + chmod +x $out/bin/umoria + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://umoria.org/"; + description = "The Dungeons of Moria - the original roguelike"; + longDescription = '' + The Dungeons of Moria is a single player dungeon simulation originally written + by Robert Alan Koeneke, with its first public release in 1983. + The game was originally developed using VMS Pascal before being ported to the C + language by James E. Wilson in 1988, and released a Umoria. + ''; + platforms = platforms.unix; + badPlatforms = [ "aarch64-darwin" ]; + maintainers = with maintainers; [ aciceri kenran ]; + license = licenses.gpl3Plus; + }; +} diff --git a/nixpkgs/pkgs/games/unciv/default.nix b/nixpkgs/pkgs/games/unciv/default.nix index 50db51b4e89e..49b07f3ad654 100644 --- a/nixpkgs/pkgs/games/unciv/default.nix +++ b/nixpkgs/pkgs/games/unciv/default.nix @@ -25,11 +25,11 @@ let in stdenv.mkDerivation rec { pname = "unciv"; - version = "3.19.12"; + version = "3.19.14"; src = fetchurl { url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; - sha256 = "sha256-PALrOyaUYXyNH+QdE8oy1TM5U4SZjw1N0NJ2BKiqjtU="; + sha256 = "sha256-Q0OiXjqZ6RmQg3Ob6k4NjaHsc+K50a0bAGBaaaUcP3I="; }; dontUnpack = true; @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { description = "An open-source Android/Desktop remake of Civ V"; homepage = "https://github.com/yairm210/Unciv"; maintainers = with maintainers; [ tex ]; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mpl20; platforms = [ "x86_64-linux" ]; }; diff --git a/nixpkgs/pkgs/games/unvanquished/default.nix b/nixpkgs/pkgs/games/unvanquished/default.nix index 191d8c218070..8b0ff1ca989d 100644 --- a/nixpkgs/pkgs/games/unvanquished/default.nix +++ b/nixpkgs/pkgs/games/unvanquished/default.nix @@ -1,8 +1,35 @@ -{ lib, stdenv, fetchzip, fetchFromGitHub, buildFHSUserEnv, makeDesktopItem -, copyDesktopItems, gcc, cmake, gmp , libGL, zlib, ncurses, geoip, lua5 -, nettle, curl, SDL2, freetype, glew , openal, libopus, opusfile, libogg -, libvorbis, libjpeg, libwebp, libpng -, cacert, aria2 # to download assets +{ lib +, stdenv +, fetchzip +, fetchFromGitHub +, fetchpatch +, SDL2 +, buildFHSUserEnv +, cmake +, copyDesktopItems +, curl +, freetype +, gcc +, geoip +, glew +, gmp +, libGL +, libjpeg +, libogg +, libopus +, libpng +, libvorbis +, libwebp +, lua5 +, makeDesktopItem +, ncurses +, nettle +, openal +, opusfile +, zlib +# to download assets +, aria2 +, cacert }: let @@ -14,18 +41,21 @@ let repo = "Unvanquished"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "1fiqn9f6nsh4cfjy7gfsv950hphwi9ca0ddgsjvn77g7yc0arp6c"; + sha256 = "sha256-zNysAPPnnWO31K81oFiKHF4IStraveOlYwRqa1yyOLo="; }; unvanquished-binary-deps = stdenv.mkDerivation rec { # DISCLAIMER: this is selected binary crap from the NaCl SDK name = "unvanquished-binary-deps"; version = binary-deps-version; + src = fetchzip { url = "https://dl.unvanquished.net/deps/linux64-${version}.tar.bz2"; - sha256 = "08bpyavbh5lmyprvqqi59gnm8s1fjmlk9f1785wlv7f52d9f9z1p"; + sha256 = "sha256-N/zkUhPFnU15QSe4NGmVLmhU7UslYrzz9ZUWuLbydyE="; }; + dontPatchELF = true; + preFixup = '' # We are not using the autoPatchelfHook, because it would make # nacl_bootstrap_helper unable to load nacl_loader: @@ -38,7 +68,12 @@ let fi done ''; - preCheck = "pnacl/bin/clang -v"; # check it links correctly + + preCheck = '' + # check it links correctly + pnacl/bin/clang -v + ''; + installPhase = '' runHook preInstall @@ -51,15 +86,18 @@ let libstdcpp-preload-for-unvanquished-nacl = stdenv.mkDerivation { name = "libstdcpp-preload-for-unvanquished-nacl"; + + propagatedBuildInputs = [ gcc.cc.lib ]; + buildCommand = '' mkdir $out/etc -p echo ${gcc.cc.lib}/lib/libstdc++.so.6 > $out/etc/ld-nix.so.preload ''; - propagatedBuildInputs = [ gcc.cc.lib ]; }; fhsEnv = buildFHSUserEnv { name = "unvanquished-fhs-wrapper"; + targetPkgs = pkgs: [ libstdcpp-preload-for-unvanquished-nacl ]; }; @@ -81,10 +119,14 @@ let pname = "unvanquished-assets"; inherit version src; - outputHash = "sha256:084jdisb48xyk9agjifn0nlnsdnjgg32si8zd1khsywd0kffplzx"; + outputHash = "sha256-/dPr3ASNew1naB9FLcZ70jZtqQXWRflUmr4jsnRskiA="; outputHashMode = "recursive"; + nativeBuildInputs = [ aria2 cacert ]; - buildCommand = "bash $src/download-paks --cache=$(pwd) --version=${version} $out"; + + buildCommand = '' + bash $src/download-paks --cache=$(pwd) --version=${version} $out + ''; }; # this really is the daemon game engine, the game itself is in the assets @@ -98,7 +140,30 @@ in stdenv.mkDerivation rec { chmod +w -R daemon/external_deps/linux64-${binary-deps-version}/ ''; - nativeBuildInputs = [ cmake unvanquished-binary-deps copyDesktopItems ]; + patches = [ + (fetchpatch { + name = "fix-sdl-eventqueue-part1.patch"; + url = "https://github.com/DaemonEngine/Daemon/commit/3a978c485f2a7e02c0bc5aeed2c7c4378026cb33.patch"; + sha256 = "sha256-wVDscGf5zOOmivItNK913l0cfNFR6RpApewrxbmfG8s="; + stripLen = 1; + extraPrefix = "daemon/"; + }) + (fetchpatch { + name = "fix-sdl-eventqueue-part2.patch"; + url = "https://github.com/DaemonEngine/Daemon/commit/54f98909c8871a57efb40263b215b81f22010b22.patch"; + sha256 = "sha256-9qlyJnUEyZgFaclpXthKHm3qq+cW4E4LMOpLukcwBCU="; + stripLen = 1; + extraPrefix = "daemon/"; + excludes = [ "*/CMakeLists.txt" ]; + }) + ]; + + nativeBuildInputs = [ + cmake + unvanquished-binary-deps + copyDesktopItems + ]; + buildInputs = [ gmp libGL @@ -168,17 +233,22 @@ in stdenv.mkDerivation rec { runHook postInstall ''; + meta = { - platforms = [ "x86_64-linux" ]; homepage = "https://unvanquished.net/"; downloadPage = "https://unvanquished.net/download/"; description = "A fast paced, first person strategy game"; - maintainers = with lib.maintainers; [ afontain ]; # don't replace the following lib.licenses.zlib with just "zlib", # or you would end up with the package instead license = with lib.licenses; [ mit gpl3Plus lib.licenses.zlib bsd3 # engine cc-by-sa-25 cc-by-sa-30 cc-by-30 cc-by-sa-40 cc0 # assets ]; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryNativeCode # unvanquished-binary-deps + ]; + maintainers = with lib.maintainers; [ afontain ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/nixpkgs/pkgs/games/uqm/default.nix b/nixpkgs/pkgs/games/uqm/default.nix index 5b67b9bce94e..797c41916f1c 100644 --- a/nixpkgs/pkgs/games/uqm/default.nix +++ b/nixpkgs/pkgs/games/uqm/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchFromGitHub, pkg-config, libGLU, libGL -, SDL, SDL_image, libpng, libvorbis, libogg, libmikmod +, SDL2, libpng, libvorbis, libogg, libmikmod , use3DOVideos ? false, requireFile ? null, writeText ? null , haskellPackages ? null @@ -28,37 +28,37 @@ let in stdenv.mkDerivation rec { pname = "uqm"; - version = "0.7.0"; + version = "0.8.0"; src = fetchurl { - url = "mirror://sourceforge/sc2/uqm-${version}-source.tgz"; - sha256 = "08dj7fsvflxx69an6vpf3wx050mk0ycmdv401yffrrqbgxgmqsd3"; + url = "mirror://sourceforge/sc2/uqm-${version}-src.tgz"; + sha256 = "JPL325z3+vU7lfniWA5vWWIFqY7QwzXP6DTGR4WtT1o="; }; content = fetchurl { url = "mirror://sourceforge/sc2/uqm-${version}-content.uqm"; - sha256 = "1gx39ns698hyczd4nx73mr0z86bbi4q3h8sw3pxjh1lzla5xpxmq"; + sha256 = "d9dawl5vt1WjPEujs4p7e8Qfy8AolokbDMmskhS3Lu8="; }; voice = fetchurl { url = "mirror://sourceforge/sc2/uqm-${version}-voice.uqm"; - sha256 = "0yf9ff5sxk229202gsa7ski6wn7a8hkjjyr1yr7mjdxsnh0zik5w"; + sha256 = "ntv1HXfYtTM5nF86+1STFKghDXqrccosUbTySDIzekU="; }; music = fetchurl { url = "mirror://sourceforge/sc2/uqm-${version}-3domusic.uqm"; - sha256 = "10nbvcrr0lc0mxivxfkcbxnibwk3vwmamabrlvwdsjxd9pk8aw65"; + sha256 = "RM087H6VabQRettNd/FSKJCXJWYmc5GuCWMUhdIx2Lk="; }; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU libGL ]; + buildInputs = [ SDL2 libpng libvorbis libogg libmikmod libGLU libGL ]; postUnpack = '' mkdir -p uqm-${version}/content/packages mkdir -p uqm-${version}/content/addons - ln -s "$content" "uqm-${version}/content/packages/uqm-0.7.0-content.uqm" - ln -s "$music" "uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm" - ln -s "$voice" "uqm-${version}/content/addons/uqm-0.7.0-voice.uqm" + ln -s "$content" "uqm-${version}/content/packages/uqm-${version}-content.uqm" + ln -s "$music" "uqm-${version}/content/addons/uqm-${version}-3domusic.uqm" + ln -s "$voice" "uqm-${version}/content/addons/uqm-${version}-voice.uqm" '' + lib.optionalString useRemixPacks (lib.concatMapStrings (disc: '' ln -s "${disc}" "uqm-$version/content/addons/${disc.name}" '') remixPacks) + lib.optionalString use3DOVideos '' diff --git a/nixpkgs/pkgs/games/urbanterror/default.nix b/nixpkgs/pkgs/games/urbanterror/default.nix index dfbad29fa9e0..fbb633bb657b 100644 --- a/nixpkgs/pkgs/games/urbanterror/default.nix +++ b/nixpkgs/pkgs/games/urbanterror/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { ''; homepage = "http://www.urbanterror.info"; license = licenses.unfreeRedistributable; - maintainers = with maintainers; [ astsmtl fpletz ]; + maintainers = with maintainers; [ astsmtl ]; platforms = platforms.linux; hydraPlatforms = []; }; diff --git a/nixpkgs/pkgs/games/ut2004/wrapper.nix b/nixpkgs/pkgs/games/ut2004/wrapper.nix index bf344372933d..cc5b0e400bc1 100644 --- a/nixpkgs/pkgs/games/ut2004/wrapper.nix +++ b/nixpkgs/pkgs/games/ut2004/wrapper.nix @@ -38,7 +38,7 @@ in runCommand "ut2004" { for i in ${game}/System/*-bin; do name="$(basename "$i")" makeWrapper $i $out/bin/''${name%-bin} \ - --run "cd ${game}/System" + --chdir "${game}/System" done mkdir -p $out/share/applications diff --git a/nixpkgs/pkgs/games/vassal/default.nix b/nixpkgs/pkgs/games/vassal/default.nix index 905d51438b68..fd3df36bdb51 100644 --- a/nixpkgs/pkgs/games/vassal/default.nix +++ b/nixpkgs/pkgs/games/vassal/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "VASSAL"; - version = "3.6.5"; + version = "3.6.7"; src = fetchzip { url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2"; - sha256 = "sha256-wnaT0+r599/RboeUfpCZTNd/M2kaCsckI9F+7r7leEE="; + sha256 = "sha256-WTYMbVtAciscnBzR4uHmVVXpuge53e32uLmUF8/w6I0="; }; nativeBuildInputs = [ makeWrapper ]; @@ -33,6 +33,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A free, open-source boardgame engine"; homepage = "https://vassalengine.org/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.lgpl21Only; maintainers = with maintainers; [ tvestelind ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/games/vectoroids/default.nix b/nixpkgs/pkgs/games/vectoroids/default.nix index 765f21465805..82c157104439 100644 --- a/nixpkgs/pkgs/games/vectoroids/default.nix +++ b/nixpkgs/pkgs/games/vectoroids/default.nix @@ -1,14 +1,25 @@ -{lib, stdenv, fetchurl, SDL, SDL_image, SDL_mixer}: +{ lib +, stdenv +, fetchurl +, SDL +, SDL_image +, SDL_mixer +}: stdenv.mkDerivation rec { pname = "vectoroids"; version = "1.1.0"; + src = fetchurl { url = "ftp://ftp.tuxpaint.org/unix/x/vectoroids/src/vectoroids-${version}.tar.gz"; sha256 = "0bkvd4a1v496w0vlvqyi1a6p25ssgpkchxxxi8899sb72wlds54d"; }; - buildInputs = [ SDL SDL_image SDL_mixer]; + buildInputs = [ + SDL + SDL_image + SDL_mixer + ]; preConfigure = '' sed -i s,/usr/local,$out, Makefile diff --git a/nixpkgs/pkgs/games/vintagestory/default.nix b/nixpkgs/pkgs/games/vintagestory/default.nix index e6e7d28e17bd..4c94fa4f1ae3 100644 --- a/nixpkgs/pkgs/games/vintagestory/default.nix +++ b/nixpkgs/pkgs/games/vintagestory/default.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { pname = "vintagestory"; - version = "1.16.4"; + version = "1.16.5"; src = fetchurl { url = "https://cdn.vintagestory.at/gamefiles/stable/vs_archive_${version}.tar.gz"; - sha256 = "sha256-wdwQ1Dv0872nEOYIB+rEzYtG5rnSw8DZgoSlSvCvtrI="; + sha256 = "sha256-qqrQ+cs/ujzeXAa0xX5Yee3l5bo9DaH+kS1pkCt/UoU="; }; nativeBuildInputs = [ makeWrapper copyDesktopItems ]; diff --git a/nixpkgs/pkgs/games/wargus/default.nix b/nixpkgs/pkgs/games/wargus/default.nix index fda4f792c7b2..ca4b70923eca 100644 --- a/nixpkgs/pkgs/games/wargus/default.nix +++ b/nixpkgs/pkgs/games/wargus/default.nix @@ -1,11 +1,30 @@ { stdenv, lib, callPackage, fetchFromGitHub +, fetchurl, runCommand, unzip, bchunk, p7zip , cmake, pkg-config, makeWrapper , zlib, bzip2, libpng -, dialog, python3, cdparanoia +, dialog, python3, cdparanoia, ffmpeg }: let stratagus = callPackage ./stratagus.nix {}; + + dataDownload = fetchurl { + url = "https://archive.org/download/warcraft-ii-tides-of-darkness_202105/Warcess.zip"; + sha256 = "0yxgvf8xpv1w2bjmny4a38pa3xcdgqckk9abj21ilkc5zqzqmm9b"; + }; + + data = runCommand "warcraft2" { + buildInputs = [ unzip bchunk p7zip ]; + meta.license = lib.licenses.unfree; + } '' + unzip ${dataDownload} "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} + bchunk "Warcraft.II.Tides.of.Darkness/Warcraft II - Tides of Darkness (1995)/games/WarcrafD/cd/"{WC2BTDP.img,WC2BTDP.cue} WC2BTDP + rm -r Warcraft.II.Tides.of.Darkness + 7z x WC2BTDP01.iso + rm WC2BTDP*.{iso,cdr} + cp -r DATA $out + ''; + in stdenv.mkDerivation rec { pname = "wargus"; @@ -15,10 +34,10 @@ stdenv.mkDerivation rec { owner = "wargus"; repo = "wargus"; rev = "v${version}"; - sha256 = "0dibm68jxaqzgzcyblfj2bmwyz9v5ax0njnnbvak7xjk1zlh11sx"; + sha256 = "sha256-yJeMFxCD0ikwVPQApf+IBuMQ6eOjn1fVKNmqh6r760c="; }; - nativeBuildInputs = [ cmake pkg-config makeWrapper ]; + nativeBuildInputs = [ cmake pkg-config makeWrapper ffmpeg ]; buildInputs = [ zlib bzip2 libpng ]; cmakeFlags = [ "-DSTRATAGUS=${stratagus}/games/stratagus" @@ -26,7 +45,12 @@ stdenv.mkDerivation rec { ]; postInstall = '' makeWrapper $out/games/wargus $out/bin/wargus \ - --prefix PATH : ${lib.makeBinPath [ "$out" cdparanoia python3 ]} + --prefix PATH : ${lib.makeBinPath [ "$out" ]} + substituteInPlace $out/share/applications/wargus.desktop \ + --replace $out/games/wargus $out/bin/wargus + + $out/bin/wartool -v -r ${data} $out/share/games/stratagus/wargus + ln -s $out/share/games/stratagus/wargus/{contrib/black_title.png,graphics/ui/black_title.png} ''; meta = with lib; { diff --git a/nixpkgs/pkgs/games/wargus/stratagus.nix b/nixpkgs/pkgs/games/wargus/stratagus.nix index f029e284f336..fc4f23427994 100644 --- a/nixpkgs/pkgs/games/wargus/stratagus.nix +++ b/nixpkgs/pkgs/games/wargus/stratagus.nix @@ -1,25 +1,25 @@ { lib, stdenv, fetchFromGitHub , cmake, pkg-config, makeWrapper , zlib, bzip2, libpng, lua5_1, toluapp -, SDL, SDL_mixer, SDL_image, libGL +, SDL2, SDL2_mixer, SDL2_image, libGL }: stdenv.mkDerivation rec { pname = "stratagus"; - version = "2.4.3"; + version = "3.3.1"; src = fetchFromGitHub { owner = "wargus"; repo = "stratagus"; rev = "v${version}"; - sha256 = "128m5n9axq007xi8a002ig7d4dyw8j060542x220ld66ibfprhcn"; + sha256 = "sha256-q8AvIWr/bOzI0wV0D2emxIXYEKDYmFxbtwr2BS+xYfA="; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ zlib bzip2 libpng lua5_1 toluapp - SDL.dev SDL_image SDL_mixer libGL + (lib.getDev SDL2) SDL2_image SDL2_mixer libGL ]; cmakeFlags = [ "-DCMAKE_CXX_FLAGS=-Wno-error=format-overflow" diff --git a/nixpkgs/pkgs/games/warsow/default.nix b/nixpkgs/pkgs/games/warsow/default.nix index 81c467dd9db7..007b124ba58c 100644 --- a/nixpkgs/pkgs/games/warsow/default.nix +++ b/nixpkgs/pkgs/games/warsow/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin for i in ${warsow-engine}/bin/*; do - makeWrapper "$i" "$out/bin/$(basename "$i")" --run "cd $out/share/warsow" + makeWrapper "$i" "$out/bin/$(basename "$i")" --chdir "$out/share/warsow" done ''; diff --git a/nixpkgs/pkgs/games/warsow/engine.nix b/nixpkgs/pkgs/games/warsow/engine.nix index e796c589290a..51974034b3f0 100644 --- a/nixpkgs/pkgs/games/warsow/engine.nix +++ b/nixpkgs/pkgs/games/warsow/engine.nix @@ -25,6 +25,11 @@ stdenv.mkDerivation rec { libpng ]; + # Workaround build failure on -fno-common toolchains: + # ld: CMakeFiles/wswtv_server.dir/__/unix/unix_time.c.o:(.bss+0x8): multiple definition of + # `c_pointcontents'; CMakeFiles/wswtv_server.dir/__/null/ascript_null.c.o:(.bss+0x8): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + cmakeFlags = [ "-DQFUSION_GAME=Warsow" ]; preConfigure = '' diff --git a/nixpkgs/pkgs/games/warzone2100/default.nix b/nixpkgs/pkgs/games/warzone2100/default.nix index a44f965b0e55..2df306d686f2 100644 --- a/nixpkgs/pkgs/games/warzone2100/default.nix +++ b/nixpkgs/pkgs/games/warzone2100/default.nix @@ -26,7 +26,7 @@ , vulkan-loader , shaderc -, testVersion +, testers , warzone2100 , withVideos ? false @@ -104,7 +104,7 @@ stdenv.mkDerivation rec { ''; passthru.tests = { - version = testVersion { + version = testers.testVersion { package = warzone2100; # The command always exits with code 1 command = "(warzone2100 --version || [ $? -eq 1 ])"; diff --git a/nixpkgs/pkgs/games/wesnoth/default.nix b/nixpkgs/pkgs/games/wesnoth/default.nix index fa6b8cb631fc..b6ee5ac7d7b2 100644 --- a/nixpkgs/pkgs/games/wesnoth/default.nix +++ b/nixpkgs/pkgs/games/wesnoth/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "wesnoth"; - version = "1.16.1"; + version = "1.16.5"; src = fetchFromGitHub { rev = version; owner = "wesnoth"; repo = "wesnoth"; - sha256 = "sha256-eRegE+Q5dEtuT2XRKAK0sycRuK6sdSXKS6aLCsBDU8g="; + sha256 = "sha256-U01dMrbPRBliag/RKnwG1G2YEv7fiTh6+S+S5cO1Fx8="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/nixpkgs/pkgs/games/xboard/default.nix b/nixpkgs/pkgs/games/xboard/default.nix index 663207bd23c4..eefbb90114ff 100644 --- a/nixpkgs/pkgs/games/xboard/default.nix +++ b/nixpkgs/pkgs/games/xboard/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchurl +, fetchpatch , libX11 , xorgproto , libXt @@ -28,6 +29,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-Ky5T6EKK2bbo3IpVs6UYM4GRGk2uLABy+pYpa7sZcNY="; }; + patches = [ + # Pull patch pending upstream inclusion for -fno-common toolchain support: + # https://savannah.gnu.org/patch/index.php?10211 + (fetchpatch { + name = "fno-common.patch"; + url = "https://savannah.gnu.org/patch/download.php?file_id=53275"; + sha256 = "sha256-ZOo9jAy1plFjhC5HXJQvXL+Zf7FL14asV3G4AwfgqTY="; + }) + ]; + buildInputs = [ libX11 xorgproto diff --git a/nixpkgs/pkgs/games/xconq/default.nix b/nixpkgs/pkgs/games/xconq/default.nix index 10a959a676b4..2d28090c595c 100644 --- a/nixpkgs/pkgs/games/xconq/default.nix +++ b/nixpkgs/pkgs/games/xconq/default.nix @@ -19,6 +19,8 @@ stdenv.mkDerivation rec { "--with-tkconfig=${tk}/lib" ]; + CXXFLAGS = " --std=c++11 "; + hardeningDisable = [ "format" ]; patchPhase = '' diff --git a/nixpkgs/pkgs/games/xivlauncher/default.nix b/nixpkgs/pkgs/games/xivlauncher/default.nix new file mode 100644 index 000000000000..1da8e4838956 --- /dev/null +++ b/nixpkgs/pkgs/games/xivlauncher/default.nix @@ -0,0 +1,70 @@ +{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages, SDL2, libsecret, glib, gnutls, aria2, steam-run +, copyDesktopItems, makeDesktopItem +, useSteamRun ? true }: + +let + rev = "6a1a59f687ac7b98698e2ebb97d82a94865e50f6"; +in + buildDotnetModule rec { + pname = "XIVLauncher"; + version = "1.0.0.9"; + + src = fetchFromGitHub { + owner = "goatcorp"; + repo = "FFXIVQuickLauncher"; + inherit rev; + sha256 = "sha256-jRyYeTg73W58OH2fWmuVkjxEdyPNqDGRbEZwxBMfdCo="; + }; + + nativeBuildInputs = [ copyDesktopItems ]; + + projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj"; + nugetDeps = ./deps.nix; # File generated with `nuget-to-nix path/to/src > deps.nix` + + dotnetFlags = [ + "--runtime linux-x64" + "-p:BuildHash=${rev}" + ]; + + dotnetBuildFlags = [ + "--no-self-contained" + ]; + + postPatch = '' + substituteInPlace src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/AriaHttpPatchAcquisition.cs \ + --replace 'ariaPath = "aria2c"' 'ariaPath = "${aria2}/bin/aria2c"' + ''; + + postInstall = '' + mkdir -p $out/share/pixmaps + cp src/XIVLauncher.Core/Resources/logo.png $out/share/pixmaps/xivlauncher.png + ''; + + postFixup = lib.optionalString useSteamRun '' + substituteInPlace $out/bin/XIVLauncher.Core \ + --replace 'exec' 'exec ${steam-run}/bin/steam-run' + ''; + + executables = [ "XIVLauncher.Core" ]; + + runtimeDeps = [ SDL2 libsecret glib gnutls ]; + + desktopItems = [ + (makeDesktopItem { + name = "xivlauncher"; + exec = "XIVLauncher.Core"; + icon = "xivlauncher"; + desktopName = "XIVLauncher"; + comment = meta.description; + categories = [ "Game" ]; + }) + ]; + + meta = with lib; { + description = "Custom launcher for FFXIV"; + homepage = "https://github.com/goatcorp/FFXIVQuickLauncher"; + license = licenses.gpl3; + maintainers = with maintainers; [ ashkitten ]; + platforms = [ "x86_64-linux" ]; + }; + } diff --git a/nixpkgs/pkgs/games/xivlauncher/deps.nix b/nixpkgs/pkgs/games/xivlauncher/deps.nix new file mode 100644 index 000000000000..9e1f7f17c2ff --- /dev/null +++ b/nixpkgs/pkgs/games/xivlauncher/deps.nix @@ -0,0 +1,197 @@ +{ fetchNuGet }: [ + (fetchNuGet { pname = "Castle.Core"; version = "4.4.1"; sha256 = "13dja1jxl5zwhi0ghkgvgmqdrixn57f9hk52jy5vpaaakzr550r7"; }) + (fetchNuGet { pname = "CheapLoc"; version = "1.1.6"; sha256 = "1m6cgx9yh7h3vrq2d4f99xyvsxc9jvz8zjq1q14qgylfmyq4hx4l"; }) + (fetchNuGet { pname = "Config.Net"; version = "4.19.0"; sha256 = "17iv0vy0693s6d8626lbz3w1ppn5abn77aaki7h4qi4izysizgim"; }) + (fetchNuGet { pname = "Downloader"; version = "2.2.8"; sha256 = "0farwh3pc6m8hsgqywigdpcb4gr2m9myyxm2idzjmhhkzfqghj28"; }) + (fetchNuGet { pname = "Facepunch.Steamworks"; version = "2.3.3"; sha256 = "1r3m7cyzfy8ms9xxfa13xcwha02yk22givkaamw166im89m8wqyc"; }) + (fetchNuGet { pname = "goaaats.NativeLibraryLoader"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1bjjgsw4ry9cz8dzsgwx428hn06wms194pqz8nclwrqcwfx7gmxk"; }) + (fetchNuGet { pname = "goaaats.Veldrid"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "0b35bn4190hxbvrwsygpbpg00gnrj6crxyk8b0d7ian611v4jj0m"; }) + (fetchNuGet { pname = "goaaats.Veldrid.ImageSharp"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1zihi2n9qz18kfkz4qnj3412bfsqvx49809hqkknixdrgn8323i2"; }) + (fetchNuGet { pname = "goaaats.Veldrid.MetalBindings"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "13cs5jr8bpkrkzziz8b71l3npr14shxryrpsiw0zm7jcx69vg2qf"; }) + (fetchNuGet { pname = "goaaats.Veldrid.OpenGLBindings"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1p7gv2234r3f1pskcr1ah7p3ak6zn1rrmvxy5xqc9d5y4zdrnzlb"; }) + (fetchNuGet { pname = "goaaats.Veldrid.SDL2"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "14xj3z0yc25vq17bvv2193cbqxj7k9iimxbaqk2rpvlpmrbg20xi"; }) + (fetchNuGet { pname = "goaaats.Veldrid.StartupUtilities"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "03r3x9h0fyb07d6d28ny6r5s688m50xc0lgc6zf2cy684kfnvmp5"; }) + (fetchNuGet { pname = "ImGui.NET"; version = "1.87.2"; sha256 = "0rv0n18fvz1gbh45crhzn1f8xw8zkc8qyiyj91vajjcry8mq1x7q"; }) + (fetchNuGet { pname = "KeySharp"; version = "1.0.5"; sha256 = "1ic10v0a174fw6w89iyg4yzji36bsj15573y676cj5n09n6s75d4"; }) + (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0ndah9cqkgswhi60wrnni10j1d2hdg8jljij83lk1wbfqbng86jm"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.0.1"; sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.0.1"; sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb"; }) + (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "6.0.0"; sha256 = "06zy947m5lrbwb684g42ijb07r5jsqycvfnphc6cqfdrfnzqv6k9"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.6"; sha256 = "0fjbjh7yxqc9h47ix37y963xi9f9y99jvl26cw3x3kvjlb8x0bgj"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) + (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) + (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "6.0.0-preview.5.21301.5"; sha256 = "02712s86n2i8s5j6vxdayqwcc7r538yw3frhf1gfrc6ah6hvqnzc"; }) + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) + (fetchNuGet { pname = "Mono.Cecil"; version = "0.9.6.1"; sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; }) + (fetchNuGet { pname = "Mono.Nat"; version = "3.0.1"; sha256 = "1xy3c9wsiz8k3rx8v60y6gnps337rsb5jpyj0r6g384prg6z4vh0"; }) + (fetchNuGet { pname = "MonoTorrent"; version = "2.0.0"; sha256 = "016cbjsy1gp60g6w0mdya11ky3lfr3scg20k1p7lglbnzv7ixycq"; }) + (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) + (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) + (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; }) + (fetchNuGet { pname = "ReusableTasks"; version = "2.0.0"; sha256 = "0qag69n8kx164minz3h50g6f7cdq15r89vikcd1llbkdwq4qldaa"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) + (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; }) + (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) + (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) + (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) + (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) + (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) + (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) + (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) + (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) + (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) + (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) + (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) + (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) + (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) + (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) + (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) + (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) + (fetchNuGet { pname = "Serilog"; version = "2.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; }) + (fetchNuGet { pname = "Serilog"; version = "2.9.0"; sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6"; }) + (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; }) + (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.4.0"; sha256 = "00kqrn3xmfzg469y155vihsiby8dbbs382fi6qg8p2zg3i5dih1d"; }) + (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "3.1.1"; sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; }) + (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.0.1"; sha256 = "080vh9kcyn9lx4j7p34146kp9byvhqlaz5jn9wzx70ql9cwd0hlz"; }) + (fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "1.0.1"; sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22"; }) + (fetchNuGet { pname = "Serilog.Sinks.File"; version = "4.1.0"; sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca"; }) + (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) + (fetchNuGet { pname = "SharedMemory"; version = "2.3.2"; sha256 = "078qaab0j8p2fjcc9n7r4sr5pr7567a9bspfiikkc85bsx7vfm8w"; }) + (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.0.0-beta.10"; sha256 = "0yxq0b4m96z71afc7sywfrlwz2pgr5nilacmssjk803v70f0ydr1"; }) + (fetchNuGet { pname = "SharpGen.Runtime.COM"; version = "2.0.0-beta.10"; sha256 = "1qvpphja72x9r3yi96bnmwwy30b1n155v2yy2gzlxjil6qg3xjmb"; }) + (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; }) + (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.4.0"; sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; }) + (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; }) + (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; }) + (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; }) + (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; }) + (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; }) + (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "6.0.0"; sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; }) + (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) + (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) + (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; }) + (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) + (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) + (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) + (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) + (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) + (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) + (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; }) + (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; }) + (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) + (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) + (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; }) + (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) + (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.5.0"; sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) + (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) + (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.7.0"; sha256 = "0l8jpxhpgjlf1nkz5lvp61r4kfdbhr29qi8aapcxn3izd9wd0j8r"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; }) + (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) + (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; }) + (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0-preview.5.21301.5"; sha256 = "131f3z3ikv3n8442chr11nj4x46amq00mb53pb2ds42dabldkdgy"; }) + (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) + (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) + (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "6.0.0"; sha256 = "05kd3a8w7658hjxq9vvszxip30a479fjmfq4bq1r95nrsvs4hbss"; }) + (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) + (fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; }) + (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "6.0.0-preview.5.21301.5"; sha256 = "1q3iikvjcfrm5p89p1j7qlw1szvryq680qypk023wgy9phmlwi57"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) + (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; }) + (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; }) + (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; }) + (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; }) + (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; }) + (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) + (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) + (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; }) + (fetchNuGet { pname = "Vk"; version = "1.0.25"; sha256 = "18kx3g088215803yznnmf6621wgwvgakj8hlmrb726b7zwb3x53l"; }) + (fetchNuGet { pname = "Vortice.D3DCompiler"; version = "2.1.0"; sha256 = "1ikw4k40m1vhl6q3v4lacbvmz09prqkk8zz0dms49hxjrpi0gfdh"; }) + (fetchNuGet { pname = "Vortice.Direct3D11"; version = "2.1.0"; sha256 = "05hzmkk32agbk2617yhv3wm1zjkv25w57395an4vkp14rvsz82vf"; }) + (fetchNuGet { pname = "Vortice.DirectX"; version = "2.1.0"; sha256 = "0mv3p7rs2p9rh4vylz24gmiqj0q63rmfa7mjvsqk1j1zlrkyyhlk"; }) + (fetchNuGet { pname = "Vortice.DXGI"; version = "2.1.0"; sha256 = "1d7rmqf7q287w3l7clfvp66kd0giy4n6087n9r8jj0w5r65416ls"; }) + (fetchNuGet { pname = "Vortice.Mathematics"; version = "1.3.24"; sha256 = "1fqni3lhaxddpdz060zbjjhkn5fgg7458ajxfrj3df3wjbld3bc3"; }) +] diff --git a/nixpkgs/pkgs/games/xmage/default.nix b/nixpkgs/pkgs/games/xmage/default.nix index 7552ce700f32..cc359f78822e 100644 --- a/nixpkgs/pkgs/games/xmage/default.nix +++ b/nixpkgs/pkgs/games/xmage/default.nix @@ -32,6 +32,7 @@ EOS meta = with lib; { description = "Magic Another Game Engine"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.mit; maintainers = with maintainers; [ matthiasbeyer ]; homepage = "http://xmage.de/"; diff --git a/nixpkgs/pkgs/games/xonotic/default.nix b/nixpkgs/pkgs/games/xonotic/default.nix index 46b0b594d724..8865e8f992de 100644 --- a/nixpkgs/pkgs/games/xonotic/default.nix +++ b/nixpkgs/pkgs/games/xonotic/default.nix @@ -16,7 +16,7 @@ let pname = "xonotic"; - version = "0.8.2"; + version = "0.8.5"; name = "${pname}-${version}"; variant = if withSDL && withGLX then @@ -41,7 +41,7 @@ let ''; homepage = "https://www.xonotic.org/"; license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ astsmtl zalakain petabyteboy ]; + maintainers = with lib.maintainers; [ astsmtl zalakain ]; platforms = lib.platforms.linux; }; @@ -61,7 +61,7 @@ let src = fetchurl { url = "https://dl.xonotic.org/xonotic-${version}-source.zip"; - sha256 = "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay"; + sha256 = "sha256-oagbpVqxUb8JdY5/WWFLLlFQ6EIkdT53lQvNB6KC6l0="; }; nativeBuildInputs = [ unzip ]; @@ -137,8 +137,8 @@ in rec { xonotic-data = fetchzip { name = "xonotic-data"; url = "https://dl.xonotic.org/xonotic-${version}.zip"; - sha256 = "15caj11v9hhr7w55w3rs1rspblzr9lg1crqivbn9pyyq0rif8cpl"; - extraPostFetch = '' + sha256 = "sha256-/malKGbDdUnqG+bJOJ2f3zHb7hAGiNZdprczr2Fgb5E="; + postFetch = '' cd $out rm -rf $(ls | grep -v "^data$" | grep -v "^key_0.d0pk$") ''; diff --git a/nixpkgs/pkgs/games/zandronum/sqlite.nix b/nixpkgs/pkgs/games/zandronum/sqlite.nix index e38dedbb7f73..c7687f89589d 100644 --- a/nixpkgs/pkgs/games/zandronum/sqlite.nix +++ b/nixpkgs/pkgs/games/zandronum/sqlite.nix @@ -1,4 +1,7 @@ -{ lib, stdenv, fetchurl }: +{ lib +, stdenv +, fetchurl +}: stdenv.mkDerivation { pname = "sqlite-zandronum"; @@ -6,7 +9,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz"; - sha256 = "0p5cx7nbjxk7glcm277ypi5w4gv144qazw79ql47svlpccj62mrp"; + hash = "sha256-N1dhJGOXbn0IxenwrzAhYT/CS7z+HFEZfWd2uezprFw="; }; buildPhase = '' diff --git a/nixpkgs/pkgs/games/zangband/default.nix b/nixpkgs/pkgs/games/zangband/default.nix deleted file mode 100644 index e8daa9a20251..000000000000 --- a/nixpkgs/pkgs/games/zangband/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ lib, stdenv, fetchurl, ncurses, flex, bison, autoconf, automake, m4, coreutils }: - -stdenv.mkDerivation rec { - pname = "zangband"; - version = "2.7.4b"; - - src = fetchurl { - url = "mirror://sourceforge/project/${pname}/${pname}-src/${version}/${pname}-${version}.tar.gz"; - sha256 = "0kkz6f9myhjnr3308sdab8q186rd55lapvcp38w8qmakdbhc828j"; - }; - - buildInputs = [ - ncurses flex bison autoconf automake m4 - ]; - - preConfigure = '' - sed -re 's/ch(own|grp|mod)/true/' -i lib/*/makefile.zb makefile.in - sed -e '/FIXED_PATHS/d' -i src/z-config.h - autoconf - ''; - - preInstall = '' - mkdir -p $out/share/games/zangband - mkdir -p $out/share/man - mkdir -p $out/bin - ''; - - postInstall = '' - mv $out/bin/zangband $out/bin/.zangband.real - echo '#! ${stdenv.shell} - PATH="$PATH:${coreutils}/bin" - - ZANGBAND_PATH="$HOME/.zangband" - ORIG_PATH="'$out'"/share/games/zangband - mkdir -p "$ZANGBAND_PATH" - cd "$ZANGBAND_PATH" - for i in $(find "$ORIG_PATH" -type f); do - REL_PATH="''${i#$ORIG_PATH/}" - mkdir -p "$(dirname "$REL_PATH")" - ln -s "$i" "$REL_PATH" &>/dev/null - done - mkdir -p lib/user lib/save - for i in lib/*/*.raw; do - test -L "$i" && rm "$i"; - done - for i in $(find lib -type l); do if ! test -e $(readlink "$i"); then rm "$i"; fi; done; - export ANGBAND_PATH="$PWD" - "'$out'/bin/.zangband.real" "$@" - ' > $out/bin/zangband - chmod +x $out/bin/zangband - ''; - - meta = { - description = "Rogue-like game"; - license = lib.licenses.unfree; - broken = true; # broken in runtime, will not get pass character generation - }; -} diff --git a/nixpkgs/pkgs/games/zaz/default.nix b/nixpkgs/pkgs/games/zaz/default.nix index 1925d6417175..81d42b1b2941 100644 --- a/nixpkgs/pkgs/games/zaz/default.nix +++ b/nixpkgs/pkgs/games/zaz/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { pkg-config ]; buildInputs = [ - SDL.dev + (lib.getDev SDL) SDL_image mesa libtheora @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ]; # Fix SDL include problems - NIX_CFLAGS_COMPILE="-I${SDL.dev}/include/SDL -I${SDL_image}/include/SDL"; + NIX_CFLAGS_COMPILE="-I${lib.getDev SDL}/include/SDL -I${SDL_image}/include/SDL"; # Fix linking errors makeFlags = [ "ZAZ_LIBS+=-lSDL" @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { ]; meta = with lib; { + broken = stdenv.isDarwin; description = "A puzzle game about arranging balls in triplets, like Luxor, Zuma, or Puzzle Bobble"; homepage = "http://zaz.sourceforge.net/"; license = licenses.gpl3; diff --git a/nixpkgs/pkgs/games/zdoom/zdbsp.nix b/nixpkgs/pkgs/games/zdoom/zdbsp.nix index e688b908e126..d18eb144292f 100644 --- a/nixpkgs/pkgs/games/zdoom/zdbsp.nix +++ b/nixpkgs/pkgs/games/zdoom/zdbsp.nix @@ -1,4 +1,9 @@ -{ lib, stdenv, fetchzip, cmake, zlib }: +{ lib +, stdenv +, fetchzip +, cmake +, zlib +}: stdenv.mkDerivation rec { pname = "zdbsp"; @@ -6,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchzip { url = "https://zdoom.org/files/utils/zdbsp/zdbsp-${version}-src.zip"; - sha256 = "1j6k0appgjjj3ffbll9hy9nnbqr17szd1s66q08zrbkfqf6g8f0d"; + sha256 = "sha256-DTj0jMNurvwRwMbo0L4+IeNlbfIwUbqcG1LKd68C08g="; stripRoot = false; }; @@ -23,8 +28,8 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "ZDoom's internal node builder for DOOM maps"; homepage = "https://zdoom.org/wiki/ZDBSP"; + description = "ZDoom's internal node builder for DOOM maps"; license = licenses.gpl2Plus; maintainers = with maintainers; [ lassulus siraben ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/games/zod/default.nix b/nixpkgs/pkgs/games/zod/default.nix index 6bf24ed6cb9f..ad576b464243 100644 --- a/nixpkgs/pkgs/games/zod/default.nix +++ b/nixpkgs/pkgs/games/zod/default.nix @@ -44,7 +44,7 @@ let installPhase = '' mkdir -p $out/bin install -m755 zod $out/bin/ - wrapProgram $out/bin/zod --run "cd ${zod_assets}/usr/lib/commander-zod" + wrapProgram $out/bin/zod --chdir "${zod_assets}/usr/lib/commander-zod" ''; }; zod_map_editor = stdenv.mkDerivation { @@ -56,7 +56,7 @@ let installPhase = '' mkdir -p $out/bin install -m755 zod_map_editor $out/bin - wrapProgram $out/bin/zod_map_editor --run "cd ${zod_assets}/usr/lib/commander-zod" + wrapProgram $out/bin/zod_map_editor --chdir "${zod_assets}/usr/lib/commander-zod" ''; }; zod_launcher = stdenv.mkDerivation { diff --git a/nixpkgs/pkgs/games/zoom/default.nix b/nixpkgs/pkgs/games/zoom/default.nix index 02cfc28ebeef..e281caee72a2 100644 --- a/nixpkgs/pkgs/games/zoom/default.nix +++ b/nixpkgs/pkgs/games/zoom/default.nix @@ -1,4 +1,11 @@ -{ lib, stdenv, fetchurl, perl, expat, xlibsWrapper, freetype }: +{ lib +, stdenv +, fetchurl +, perl +, expat +, xlibsWrapper +, freetype +}: # !!! assert freetype == xorg.freetype @@ -8,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://www.logicalshift.co.uk/unix/zoom/zoom-${version}.tar.gz"; - sha256 = "1g6van7f7sg3zfcz80mncnnbccyg2hnm0hq4x558vpsm0lf7z5pj"; + hash = "sha256-8pZ/HAVV341K6QRDUC0UzzO2rGW2AvSZ++Pp445V27w="; }; buildInputs = [ perl expat xlibsWrapper freetype ]; @@ -16,6 +23,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2 -fgnu89-inline"; meta = with lib; { + homepage = "https://www.logicalshift.co.uk/unix/zoom/"; description = "Player for Z-Code, TADS and HUGO stories or games"; longDescription = '' Zoom is a player for Z-Code, TADS and HUGO stories or games. These are |