diff options
Diffstat (limited to 'nixpkgs/pkgs/games')
41 files changed, 246 insertions, 1347 deletions
diff --git a/nixpkgs/pkgs/games/aaaaxy/default.nix b/nixpkgs/pkgs/games/aaaaxy/default.nix deleted file mode 100644 index b6e5826be96a..000000000000 --- a/nixpkgs/pkgs/games/aaaaxy/default.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ lib -, fetchFromGitHub -, buildGoModule -, alsa-lib -, libglvnd -, libX11 -, libXcursor -, libXext -, libXi -, libXinerama -, libXrandr -, libXxf86vm -, go-licenses -, pkg-config -, zip -, advancecomp -, nixosTests -}: - -buildGoModule rec { - pname = "aaaaxy"; - version = "1.4.72"; - - src = fetchFromGitHub { - owner = "divVerent"; - repo = pname; - rev = "v${version}"; - hash = "sha256-wKnwyjgEV1M5CJR0uxs9vNbF3iJvDPWOqya0iLHXjGw="; - fetchSubmodules = true; - }; - - vendorHash = "sha256-hK5w3JhcYUW5bAUovv/ldHoYcY0oIh5q4LWxiGuP2NQ="; - - buildInputs = [ - alsa-lib - libglvnd - libX11 libXcursor libXext libXi libXinerama libXrandr - libXxf86vm - ]; - - nativeBuildInputs = [ - go-licenses - pkg-config - zip - advancecomp - ]; - - outputs = [ "out" "testing_infra" ]; - - postPatch = '' - # Without patching, "go run" fails with the error message: - # package github.com/google/go-licenses: no Go files in /build/source/vendor/github.com/google/go-licenses - substituteInPlace scripts/build-licenses.sh --replace \ - '$GO run ''${GO_FLAGS} github.com/google/go-licenses' 'go-licenses' - - patchShebangs scripts/ - substituteInPlace scripts/regression-test-demo.sh \ - --replace 'sh scripts/run-timedemo.sh' "$testing_infra/scripts/run-timedemo.sh" - ''; - - makeFlags = [ - "BUILDTYPE=release" - ]; - - buildPhase = '' - runHook preBuild - AAAAXY_BUILD_USE_VERSION_FILE=true make $makeFlags - runHook postBuild - ''; - - postInstall = '' - install -Dm755 'aaaaxy' -t "$out/bin/" - install -Dm444 'aaaaxy.svg' -t "$out/share/icons/hicolor/scalable/apps/" - install -Dm644 'aaaaxy.png' -t "$out/share/icons/hicolor/128x128/apps/" - install -Dm644 'aaaaxy.desktop' -t "$out/share/applications/" - install -Dm644 'io.github.divverent.aaaaxy.metainfo.xml' -t "$out/share/metainfo/" - - install -Dm755 'scripts/run-timedemo.sh' -t "$testing_infra/scripts/" - install -Dm755 'scripts/regression-test-demo.sh' -t "$testing_infra/scripts/" - install -Dm644 'assets/demos/benchmark.dem' -t "$testing_infra/assets/demos/" - ''; - - passthru.tests = { - aaaaxy = nixosTests.aaaaxy; - }; - - strictDeps = true; - - meta = with lib; { - description = "A nonlinear 2D puzzle platformer taking place in impossible spaces"; - homepage = "https://divverent.github.io/aaaaxy/"; - license = licenses.asl20; - maintainers = with maintainers; [ Luflosi ]; - platforms = platforms.linux; - }; -} diff --git a/nixpkgs/pkgs/games/alephone/apotheosis-x/default.nix b/nixpkgs/pkgs/games/alephone/apotheosis-x/default.nix deleted file mode 100644 index 16bed9fad97e..000000000000 --- a/nixpkgs/pkgs/games/alephone/apotheosis-x/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ alephone, requireFile }: - -alephone.makeWrapper rec { - pname = "apotheosis-x"; - version = "1.1"; - desktopName = "Marathon-Apotheosis-X"; - - zip = requireFile { - name = "Apotheosis_X_1.1.zip"; - url = "https://www.moddb.com/mods/apotheosis-x/downloads"; - sha256 = "sha256-4Y/RQQeN4VTpig8ZyxUpVHwzN8W8ciTBCkSzND8SMbs="; - }; - - sourceRoot = "Apotheosis X 1.1"; - - meta = { - description = "Total conversion for Marathon Infinity running on the Aleph One engine"; - homepage = "https://simplici7y.com/items/apotheosis-x-5"; - }; -} diff --git a/nixpkgs/pkgs/games/alephone/default.nix b/nixpkgs/pkgs/games/alephone/default.nix deleted file mode 100644 index 1bf732e446bf..000000000000 --- a/nixpkgs/pkgs/games/alephone/default.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ lib, stdenv, fetchurl, alsa-lib, boost, curl, ffmpeg_4, icoutils, libGLU -, libmad, libogg, libpng, libsndfile, libvorbis, lua, miniupnpc, pkg-config -, SDL2, SDL2_image, SDL2_net, SDL2_ttf, speex, zziplib, zlib, makeWrapper -, makeDesktopItem, unzip, alephone }: - -let - self = stdenv.mkDerivation rec { - outputs = [ "out" "icons" ]; - pname = "alephone"; - version = "1.6.2"; - - src = fetchurl { - url = let date = "20230529"; - in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2"; - sha256 = "sha256-UqhZvOMOxU4W0eLRRTQvGXaqTpWD5KIdXULClHW7Iyc="; - }; - - nativeBuildInputs = [ pkg-config icoutils ]; - - buildInputs = [ - alsa-lib - boost - curl - ffmpeg_4 - libGLU - libmad - libsndfile - libogg - libpng - libvorbis - lua - miniupnpc - SDL2 - SDL2_image - SDL2_net - SDL2_ttf - speex - zziplib - zlib - ]; - - configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]; - makeFlags = [ "AR:=$(AR)" ]; - - enableParallelBuilding = true; - - postInstall = '' - mkdir $icons - icotool -x -i 5 -o $icons Resources/Windows/*.ico - pushd $icons - for x in *_5_48x48x32.png; do - mv $x ''${x%_5_48x48x32.png}.png - done - popd - ''; - - meta = with lib; { - description = - "Aleph One is the open source continuation of Bungie’s Marathon 2 game engine"; - homepage = "https://alephone.lhowon.org/"; - license = with licenses; [ gpl3 ]; - maintainers = with maintainers; [ ehmry ]; - platforms = platforms.linux; - }; - }; - -in self // { - makeWrapper = { pname, desktopName, version, zip, meta - , icon ? alephone.icons + "/alephone.png", ... }@extraArgs: - stdenv.mkDerivation ({ - inherit pname version; - - desktopItem = makeDesktopItem { - name = desktopName; - exec = pname; - genericName = pname; - categories = [ "Game" ]; - comment = meta.description; - inherit desktopName icon; - }; - - src = zip; - - nativeBuildInputs = [ makeWrapper unzip ]; - - dontConfigure = true; - dontBuild = true; - - installPhase = '' - mkdir -p $out/bin $out/data/$pname $out/share/applications - cp -a * $out/data/$pname - cp $desktopItem/share/applications/* $out/share/applications - makeWrapper ${alephone}/bin/alephone $out/bin/$pname \ - --add-flags $out/data/$pname - ''; - } // extraArgs // { - meta = alephone.meta // { - license = lib.licenses.free; - hydraPlatforms = [ ]; - } // meta; - }); -} diff --git a/nixpkgs/pkgs/games/alephone/durandal/default.nix b/nixpkgs/pkgs/games/alephone/durandal/default.nix deleted file mode 100644 index cd7927d69a14..000000000000 --- a/nixpkgs/pkgs/games/alephone/durandal/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "durandal"; - desktopName = "Marathon-Durandal"; - version = "20230119"; - icon = alephone.icons + "/marathon2.png"; - - zip = fetchurl { - url = - "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon2-${version}-Data.zip"; - sha256 = "sha256-Vbfk5wLgvNEZW2BohMY5mPXaRbNlHxJdWLYTsE8CSwI="; - }; - - meta = { - description = "Second chapter of the Marathon trilogy"; - longDescription = '' - Fresh from your triumph on the starship Marathon, you are seized by the rogue computer Durandal to do his bidding in a distant part of the galaxy. Within the ruins of an ancient civilization, you must seek the remnants of a lost clan and uncover their long-buried secrets. Battle opponents ancient and terrible, with sophisticated weapons and devious strategies, all the while struggling to escape the alien nightmare… - - This release of Marathon 2: Durandal includes the classic graphics, and revamped high-definition textures and monsters from the Xbox Live Arcade edition. - ''; - homepage = "https://alephone.lhowon.org/games/marathon2.html"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/eternal/default.nix b/nixpkgs/pkgs/games/alephone/eternal/default.nix deleted file mode 100644 index c21284150618..000000000000 --- a/nixpkgs/pkgs/games/alephone/eternal/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ alephone, fetchurl, unrar }: - -alephone.makeWrapper rec { - pname = "marathon-eternal"; - version = "1.2.0"; - desktopName = "Marathon-Eternal"; - - zip = fetchurl { - url = "http://eternal.bungie.org/files/_releases/EternalXv120.zip"; - sha256 = "1qrvx0sp9xc8zbpp5yz8jdz458ajzmyv2si7hrppiyawc8dpcwck"; - }; - - sourceRoot = "Eternal 1.2.0"; - - meta = { - description = - "Picking up from the end of the Marathon trilogy, you find yourself suddenly ninety-four years in the future, in the year 2905"; - homepage = "http://eternal.bungie.org/"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/evil/default.nix b/nixpkgs/pkgs/games/alephone/evil/default.nix deleted file mode 100644 index a0120348c14e..000000000000 --- a/nixpkgs/pkgs/games/alephone/evil/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ alephone, fetchurl, unrar }: - -alephone.makeWrapper rec { - pname = "marathon-evil"; - version = "0"; - desktopName = "Marathon-Evil"; - - zip = fetchurl { - url = "http://files3.bungie.org/trilogy/MarathonEvil.zip"; - sha256 = "08nizbjp2rx10bpqrbhb76as0j2zynmy2c0qa5b482lz1szf9b95"; - }; - - meta = { - description = "The first conversion for Marathon Infinity"; - homepage = "https://alephone.lhowon.org/scenarios.html"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/infinity/default.nix b/nixpkgs/pkgs/games/alephone/infinity/default.nix deleted file mode 100644 index c49f9a8d2ac7..000000000000 --- a/nixpkgs/pkgs/games/alephone/infinity/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "marathon-infinity"; - desktopName = "Marathon-Infinity"; - version = "20230119"; - icon = alephone.icons + "/marathon-infinity.png"; - - zip = fetchurl { - url = - "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip"; - sha256 = "sha256-0+xokhzWdXM+L4DBjWnfNVXZve4n1X/Aq6rxNGAFb3Q="; - }; - - meta = { - description = "Third chapter of the Marathon trilogy"; - longDescription = '' - Marathon Infinity takes the closed universe of the Marathon series and blows it wide open. The solo/co-op campaign, “Blood Tides of Lh’owon,” is a 20-level scenario sporting new textures, weapons, and aliens. More than that, the scenario sheds a surprising new light on the story’s characters and the meaning of events. Having defeated the Pfhor and reawakened the ancient remnants of the S’pht, the player now faces a world where friends become enemies and all is not what it seems… - - Marathon Infinity is the most popular Marathon game in online play, and is compatible with hundreds of community-made maps. This release includes the classic graphics, and revamped high-definition textures and weapons. - ''; - homepage = "https://alephone.lhowon.org/games/infinity.html"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/marathon/default.nix b/nixpkgs/pkgs/games/alephone/marathon/default.nix deleted file mode 100644 index ea295b7dcdce..000000000000 --- a/nixpkgs/pkgs/games/alephone/marathon/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "marathon"; - desktopName = "Marathon"; - version = "20230119"; - icon = alephone.icons + "/marathon.png"; - - zip = fetchurl { - url = - "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip"; - sha256 = "sha256-uz/1ZW9epd1HP/pzTNN3d2EEbOzjj0qpdMkrVoxb8Aw="; - }; - - meta = { - description = "First chapter of the Marathon trilogy"; - longDescription = '' - Alien forces have boarded the interstellar colony ship Marathon. The situation is dire. As a security officer onboard, it is your duty to defend the ship and its crew. - - Experience the start of Bungie’s iconic trilogy with Marathon. This release uses the original Marathon data files for the most authentic experience outside of a classic Mac or emulator. - ''; - homepage = "https://alephone.lhowon.org/games/marathon.html"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/pathways-into-darkness/default.nix b/nixpkgs/pkgs/games/alephone/pathways-into-darkness/default.nix deleted file mode 100644 index 6c6de4b88e8f..000000000000 --- a/nixpkgs/pkgs/games/alephone/pathways-into-darkness/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "pathways-into-darkness"; - desktopName = "Pathways-Into-Darkness"; - version = "1.1.1"; - - zip = fetchurl { - url = "http://simplici7y.com/version/file/1185/AOPID_v1.1.1.zip"; - sha256 = "0x83xjcw5n5s7sw8z6rb6zzhihjkjgk7x7ynnqq917dcklr7bz4g"; - }; - - meta = { - description = '' - Port of the 1993 mac game "Pathways Into Darkness" by Bungie to the Aleph One engine''; - homepage = "http://simplici7y.com/items/aleph-one-pathways-into-darkness"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/pheonix/default.nix b/nixpkgs/pkgs/games/alephone/pheonix/default.nix deleted file mode 100644 index 90db1aa7c73d..000000000000 --- a/nixpkgs/pkgs/games/alephone/pheonix/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "marathon-pheonix"; - desktopName = "Marathon-Pheonix"; - version = "1.3"; - - zip = fetchurl { - url = "http://simplici7y.com/version/file/998/Marathon_Phoenix_1.3.zip"; - sha256 = "1r06k0z8km7l9d3njinsrci4jhk8hrnjdcmjd8n5z2qxkqvhn9qj"; - }; - - meta = { - description = "A 35-level single player major Marathon conversion"; - homepage = "http://www.simplici7y.com/items/marathon-phoenix-2"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/red/default.nix b/nixpkgs/pkgs/games/alephone/red/default.nix deleted file mode 100644 index f24c9010cd63..000000000000 --- a/nixpkgs/pkgs/games/alephone/red/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ alephone, fetchurl, unrar }: - -alephone.makeWrapper rec { - pname = "marathon-red"; - version = "0"; - desktopName = "Marathon-Red"; - - zip = fetchurl { - url = "http://files3.bungie.org/trilogy/MarathonRED.zip"; - sha256 = "1p13snlrvn39znvfkxql67crhysn71db2bwsfrkhjkq58wzs6qgw"; - }; - - meta = { - description = "Survival horror-esque Marathon conversion"; - homepage = "https://alephone.lhowon.org/scenarios.html"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/rubicon-x/default.nix b/nixpkgs/pkgs/games/alephone/rubicon-x/default.nix deleted file mode 100644 index b59fa4cfeb62..000000000000 --- a/nixpkgs/pkgs/games/alephone/rubicon-x/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "rubicon-x"; - version = "20150620"; - desktopName = "Marathon-Rubicon-X"; - - zip = fetchurl { - url = "http://files5.bungie.org/marathon/marathonRubiconX.zip"; - sha256 = "095si89wap76pvkvk90zqw7djhrhwb1anjm2s8i503jbcn5n4ipm"; - }; - - sourceRoot = "Rubicon X ƒ"; - - meta = { - description = "Unofficial forth chapter of the Marathon series"; - longDescription = '' - Rubicon X is a free, cross platform, first person shooter that continues the story of Bungie’s Marathon trilogy. First released as Marathon:Rubicon in 2001, Rubicon X is a complete overhaul of the original. It features all new high-resolution artwork, new and updated maps, and enough surprises to feel like a whole new game. - ''; - homepage = "http://www.marathonrubicon.com/"; - }; - -} diff --git a/nixpkgs/pkgs/games/alephone/yuge/default.nix b/nixpkgs/pkgs/games/alephone/yuge/default.nix deleted file mode 100644 index 6ae73f984a4f..000000000000 --- a/nixpkgs/pkgs/games/alephone/yuge/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ alephone, fetchurl }: - -alephone.makeWrapper rec { - pname = "yuge"; - version = "0"; - desktopName = "Marathon-Yuge"; - - zip = fetchurl { - url = "https://lochnits.com/marathon/yuge/files/Mararthon_Yuge.zip"; - sha256 = "sha256-dZHInYThB/4igpAXbUadXwPvh2Fl3XGZ4ficg7IEnNc="; - }; - - meta = { - description = - "30 level Marathon scenario, plus 225 secret levels for many extra hours of gameplay"; - homepage = "https://lochnits.com/marathon/yuge/"; - }; -} diff --git a/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix index 90f2ee9e53bf..158531172bd8 100644 --- a/nixpkgs/pkgs/games/anki/default.nix +++ b/nixpkgs/pkgs/games/anki/default.nix @@ -150,6 +150,7 @@ python3.pkgs.buildPythonApplication { buildInputs = [ qt6.qtbase + qt6.qtsvg ] ++ lib.optional stdenv.isLinux qt6.qtwayland; propagatedBuildInputs = with python3.pkgs; [ diff --git a/nixpkgs/pkgs/games/armagetronad/default.nix b/nixpkgs/pkgs/games/armagetronad/default.nix index 275b878d2619..fb0117f3e93e 100644 --- a/nixpkgs/pkgs/games/armagetronad/default.nix +++ b/nixpkgs/pkgs/games/armagetronad/default.nix @@ -82,7 +82,7 @@ let let # Split the version into the major and minor parts versionParts = lib.splitString "-" version; - splitVersion = lib.splitString "." (builtins.elemAt versionParts 0); + splitVersion = lib.splitVersion (builtins.elemAt versionParts 0); majorVersion = builtins.concatStringsSep "." (lib.lists.take 2 splitVersion); minorVersionPart = parts: sep: expectedSize: diff --git a/nixpkgs/pkgs/games/atlauncher/default.nix b/nixpkgs/pkgs/games/atlauncher/default.nix index da98159cde9e..77fcdaaf8721 100644 --- a/nixpkgs/pkgs/games/atlauncher/default.nix +++ b/nixpkgs/pkgs/games/atlauncher/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "atlauncher"; - version = "3.4.34.2"; + version = "3.4.35.3"; src = fetchurl { url = "https://github.com/ATLauncher/ATLauncher/releases/download/v${finalAttrs.version}/ATLauncher-${finalAttrs.version}.jar"; - hash = "sha256-l9OoHunK0xfY6xbNpjs9lfsVd3USM1GHgutTMMVq8S8="; + hash = "sha256-2080rVGBBM3YZmmBVBfMhnCErLzxuRDDi4zmCniJYFY="; }; env.ICON = fetchurl { diff --git a/nixpkgs/pkgs/games/deliantra/0003-swap.patch b/nixpkgs/pkgs/games/deliantra/0003-swap.patch new file mode 100644 index 000000000000..fa4e2bdec425 --- /dev/null +++ b/nixpkgs/pkgs/games/deliantra/0003-swap.patch @@ -0,0 +1,14 @@ +--- a/include/util.h ++++ b/include/util.h +@@ -449,6 +449,11 @@ struct slice_allocator + { + p->~Tp (); + } ++ ++ bool operator ==(const slice_allocator &) const ++ { ++ return true; ++ } + }; + + // basically a memory area, but refcounted diff --git a/nixpkgs/pkgs/games/deliantra/server.nix b/nixpkgs/pkgs/games/deliantra/server.nix index 4185a46120e5..08889dd2302d 100644 --- a/nixpkgs/pkgs/games/deliantra/server.nix +++ b/nixpkgs/pkgs/games/deliantra/server.nix @@ -35,8 +35,11 @@ stdenv.mkDerivation rec { patches = [ ./0001-abs.patch ./0002-datadir.patch + ./0003-swap.patch ]; + env.CXXFLAGS = "-std=c++11"; + postFixup = '' wrapProgram $out/bin/cfutil --prefix PERL5LIB : $PERL5LIB wrapProgram $out/bin/deliantra-server --prefix PERL5LIB : $PERL5LIB diff --git a/nixpkgs/pkgs/games/eboard/default.nix b/nixpkgs/pkgs/games/eboard/default.nix index 49721fd2ce1e..0250208fd48a 100644 --- a/nixpkgs/pkgs/games/eboard/default.nix +++ b/nixpkgs/pkgs/games/eboard/default.nix @@ -16,10 +16,6 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - preConfigure = '' - patchShebangs ./configure - ''; - env.NIX_CFLAGS_COMPILE = "-fpermissive"; meta = { diff --git a/nixpkgs/pkgs/games/gambatte/fix-scons-paths.patch b/nixpkgs/pkgs/games/gambatte/fix-scons-paths.patch deleted file mode 100644 index ea10ee4163b4..000000000000 --- a/nixpkgs/pkgs/games/gambatte/fix-scons-paths.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/libgambatte/SConstruct b/libgambatte/SConstruct -index e882514..87e1eaa 100644 ---- a/libgambatte/SConstruct -+++ b/libgambatte/SConstruct -@@ -5,7 +5,9 @@ vars = Variables() - vars.Add('CC') - vars.Add('CXX') - --env = Environment(CPPPATH = ['src', 'include', '../common'], -+import os -+env = Environment(ENV = os.environ, -+ CPPPATH = ['src', 'include', '../common'], - CFLAGS = global_cflags + global_defines, - CXXFLAGS = global_cxxflags + global_defines, - variables = vars) diff --git a/nixpkgs/pkgs/games/heroic/default.nix b/nixpkgs/pkgs/games/heroic/default.nix index 9aacc0856c4f..239d78f973c8 100644 --- a/nixpkgs/pkgs/games/heroic/default.nix +++ b/nixpkgs/pkgs/games/heroic/default.nix @@ -17,18 +17,18 @@ let appName = "heroic"; in stdenv.mkDerivation rec { pname = "heroic-unwrapped"; - version = "2.10.0"; + version = "2.11.0"; src = fetchFromGitHub { owner = "Heroic-Games-Launcher"; repo = "HeroicGamesLauncher"; rev = "v${version}"; - hash = "sha256-umPQIxwIahjbO4QbkKEoeSSeYT2UatsTGRPrLgw5KW8="; + hash = "sha256-N+9wNlDARE1zdXW/vka6whFNu5CF240zCJ00EDT1cM0="; }; offlineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - hash = "sha256-o5ztk4okH21Op1jqHZfranR12M8B1Y/K95aWb10tf5o="; + hash = "sha256-P7Mm9TMNjr2glLQppjJZRMeN9sYKyZWzRaerZIcY3Y8="; }; nativeBuildInputs = [ @@ -45,9 +45,6 @@ in stdenv.mkDerivation rec { ./remove-drm-support.patch # Make Heroic create Steam shortcuts (to non-steam games) with the correct path to heroic. ./fix-non-steam-shortcuts.patch - # Fix reg add infinite loop - # Submitted upstream: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/pull/3210 - ./fix-infinite-loop.patch ]; postPatch = '' diff --git a/nixpkgs/pkgs/games/heroic/fix-infinite-loop.patch b/nixpkgs/pkgs/games/heroic/fix-infinite-loop.patch deleted file mode 100644 index 99aae02c3a1a..000000000000 --- a/nixpkgs/pkgs/games/heroic/fix-infinite-loop.patch +++ /dev/null @@ -1,23 +0,0 @@ -From b698779053b7ba31bd8e69b230e86515e3019bf6 Mon Sep 17 00:00:00 2001 -From: K900 <me@0upti.me> -Date: Sun, 5 Nov 2023 22:04:32 +0300 -Subject: [PATCH] Force add the registry entry - -Otherwise, newer Wine versions will prompt to overwrite it and loop there forever. ---- - src/backend/storeManagers/legendary/setup.ts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/backend/storeManagers/legendary/setup.ts b/src/backend/storeManagers/legendary/setup.ts -index 1837106621..b5c2432435 100644 ---- a/src/backend/storeManagers/legendary/setup.ts -+++ b/src/backend/storeManagers/legendary/setup.ts -@@ -20,7 +20,7 @@ export const legendarySetup = async (appName: string) => { - - // Fixes games like Fallout New Vegas and Dishonored: Death of the Outsider - await runWineCommandOnGame(appName, { -- commandParts: ['reg', 'add', 'HKEY_CLASSES_ROOT\\com.epicgames.launcher'], -+ commandParts: ['reg', 'add', 'HKEY_CLASSES_ROOT\\com.epicgames.launcher', '/f'], - wait: true, - protonVerb: 'waitforexitandrun' - }) diff --git a/nixpkgs/pkgs/games/maptool/default.nix b/nixpkgs/pkgs/games/maptool/default.nix index eed8bac656be..d5fcbc47529b 100644 --- a/nixpkgs/pkgs/games/maptool/default.nix +++ b/nixpkgs/pkgs/games/maptool/default.nix @@ -13,15 +13,10 @@ let pname = "maptool"; version = "1.13.2"; - repoBase = "https://github.com/RPTools/${pname}"; + repoBase = "https://github.com/RPTools/maptool"; src = fetchurl { - url = "${repoBase}/releases/download/${version}/MapTool-${version}.jar"; - hash = "sha256-14ULI1OAk0V4DqiL5IF7DK6pw0NRfmU+omrFP72PblA="; - }; - - icon = fetchurl { - url = "https://raw.githubusercontent.com/RPTools/${pname}/${version}/package/linux/MapTool.png"; - hash = "sha256-xkVYjMprTanHu8r4b9PHORI8E1aJp+9KDSP5mqCE8ew="; + url = "${repoBase}/releases/download/${version}/maptool-${version}-x86_64.pkg.tar.zst"; + hash = "sha256-Ntmro+t4qpP5BXW20t97ki0wt2NKaK5yQarsxDEKbb0="; }; meta = with lib; { @@ -33,17 +28,20 @@ let ]; license = licenses.agpl3; maintainers = with maintainers; [ rhendric ]; + platforms = [ "x86_64-linux" ]; }; javafxModules = [ "base" "controls" "media" "swing" "web" "fxml" "graphics" ]; + appClasspath = "share/${pname}"; + classpath = lib.concatMap (mod: [ "${openjfx}/modules_src/javafx.${mod}/module-info.java" "${openjfx}/modules/javafx.${mod}" "${openjfx}/modules_libs/javafx.${mod}" ]) javafxModules ++ - [ src ]; + [ "$out/${appClasspath}/*" ]; jvmArgs = [ "-cp" (lib.concatStringsSep ":" classpath) @@ -76,6 +74,7 @@ stdenvNoCC.mkDerivation { inherit pname version src meta; dontUnpack = true; + dontConfigure = true; dontBuild = true; dontWrapGApps = true; @@ -99,15 +98,20 @@ stdenvNoCC.mkDerivation { installPhase = '' runHook preInstall - mkdir -p $out/bin - makeWrapper ${jre}/bin/java $out/bin/${binName} \ - "''${gappsWrapperArgs[@]}" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ ffmpeg ]} \ - --add-flags '${lib.concatStringsSep " " jvmArgs} net.rptools.maptool.client.LaunchInstructions' + dest=$out/${appClasspath} + install -dm755 "$dest" + bsdtar -xf "$src" -C "$dest" --strip-components 4 opt/maptool/lib/app/{'*.jar',readme} dest=$out/share/icons/hicolor/256x256/apps - mkdir -p "$dest" - ln -s ${icon} "$dest/${rdnsName}.png" + install -dm755 "$dest" + bsdtar -xOf "$src" opt/maptool/lib/MapTool.png > "$dest"/${rdnsName}.png + + dest=$out/bin + install -dm755 "$dest" + makeWrapper ${jre}/bin/java "$dest"/${binName} \ + "''${gappsWrapperArgs[@]}" \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ ffmpeg ]} \ + --add-flags "${lib.concatStringsSep " " jvmArgs} net.rptools.maptool.client.LaunchInstructions" runHook postInstall ''; diff --git a/nixpkgs/pkgs/games/mindustry/default.nix b/nixpkgs/pkgs/games/mindustry/default.nix index 2bf239579e4a..d901fba57af7 100644 --- a/nixpkgs/pkgs/games/mindustry/default.nix +++ b/nixpkgs/pkgs/games/mindustry/default.nix @@ -40,6 +40,8 @@ let version = "146"; buildVersion = makeBuildVersion version; + gradleWithJdk = gradle.override { java = jdk; }; + selectedGlew = if enableWayland then glew-egl else glew; Mindustry = fetchFromGitHub { @@ -114,7 +116,7 @@ let inherit version unpackPhase patches; postPatch = cleanupMindustrySrc; - nativeBuildInputs = [ gradle perl ]; + nativeBuildInputs = [ gradleWithJdk perl ]; # Here we download dependencies for both the server and the client so # we only have to specify one hash for 'deps'. Deps can be garbage # collected after the build, so this is not really an issue. @@ -149,7 +151,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config - gradle + gradleWithJdk makeWrapper jdk ] ++ lib.optionals enableClient [ diff --git a/nixpkgs/pkgs/games/minetest/default.nix b/nixpkgs/pkgs/games/minetest/default.nix index 550f088e8af0..fcea007ff598 100644 --- a/nixpkgs/pkgs/games/minetest/default.nix +++ b/nixpkgs/pkgs/games/minetest/default.nix @@ -38,106 +38,101 @@ , Carbon , Cocoa , withTouchSupport ? false +, buildClient ? true +, buildServer ? true }: -with lib; +stdenv.mkDerivation (finalAttrs: { + pname = "minetest"; + version = "5.8.0"; -let - boolToCMake = b: if b then "ON" else "OFF"; - - irrlichtmtInput = irrlichtmt.override { inherit withTouchSupport; }; - - generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let - sources = { - src = fetchFromGitHub { - owner = "minetest"; - repo = "minetest"; - inherit rev sha256; - }; - data = fetchFromGitHub { - owner = "minetest"; - repo = "minetest_game"; - rev = dataRev; - sha256 = dataSha256; - }; - }; - in stdenv.mkDerivation { - pname = "minetest"; - inherit version; - - src = sources.src; - - cmakeFlags = [ - "-G Ninja" - "-DBUILD_CLIENT=${boolToCMake buildClient}" - "-DBUILD_SERVER=${boolToCMake buildServer}" - "-DENABLE_GETTEXT=1" - "-DENABLE_SPATIAL=1" - "-DENABLE_SYSTEM_JSONCPP=1" - - # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed - "-DCMAKE_INSTALL_BINDIR=bin" - "-DCMAKE_INSTALL_DATADIR=share" - "-DCMAKE_INSTALL_DOCDIR=share/doc" - "-DCMAKE_INSTALL_DOCDIR=share/doc" - "-DCMAKE_INSTALL_MANDIR=share/man" - "-DCMAKE_INSTALL_LOCALEDIR=share/locale" - - ] ++ optionals buildServer [ - "-DENABLE_PROMETHEUS=1" - ] ++ optionals withTouchSupport [ - "-DENABLE_TOUCH=TRUE" - ]; - - env.NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3 - - nativeBuildInputs = [ cmake doxygen graphviz ninja ]; - - buildInputs = [ - irrlichtmtInput jsoncpp gettext freetype sqlite curl bzip2 ncurses - gmp libspatialindex - ] ++ [ (if lib.meta.availableOn stdenv.hostPlatform luajit then luajit else lua5_1) ] ++ [ - ] ++ optionals stdenv.isDarwin [ - libiconv OpenGL OpenAL Carbon Cocoa - ] ++ optionals buildClient [ - 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" - '' + lib.optionalString stdenv.isDarwin '' - sed -i '/pagezero_size/d;/fixup_bundle/d' src/CMakeLists.txt - ''; - - postInstall = lib.optionalString stdenv.isLinux '' - mkdir -pv $out/share/minetest/games/minetest_game/ - cp -rv ${sources.data}/* $out/share/minetest/games/minetest_game/ - patchShebangs $out - '' + lib.optionalString stdenv.isDarwin '' - mkdir -p $out/Applications - mv $out/minetest.app $out/Applications - ''; - - meta = with lib; { - homepage = "http://minetest.net/"; - description = "Infinite-world block sandbox game"; - license = licenses.lgpl21Plus; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ pyrolagus fpletz fgaz ]; - }; + src = fetchFromGitHub { + owner = "minetest"; + repo = "minetest"; + rev = finalAttrs.version; + hash = "sha256-Oct8nQORSH8PjYs+gHU9QrKObMfapjAlGvycj+AJnOs="; }; - v5 = { - version = "5.7.0"; - sha256 = "sha256-9AL6gTmy05yTeYfCq3EMK4gqpBWdHwvJ5Flpzj8hFAE="; - dataSha256 = "sha256-wWgeO8513N5jQdWvZrq357fPpAU5ik06mgZraWCQawo="; + cmakeFlags = [ + (lib.cmakeBool "BUILD_CLIENT" buildClient) + (lib.cmakeBool "BUILD_SERVER" buildServer) + (lib.cmakeBool "ENABLE_PROMETHEUS" buildServer) + (lib.cmakeBool "ENABLE_TOUCH" withTouchSupport) + # Ensure we use system libraries + (lib.cmakeBool "ENABLE_SYSTEM_GMP" true) + (lib.cmakeBool "ENABLE_SYSTEM_JSONCPP" true) + # Updates are handled by nix anyway + (lib.cmakeBool "ENABLE_UPDATE_CHECKER" false) + # ...but make it clear that this is a nix package + (lib.cmakeFeature "VERSION_EXTRA" "NixOS") + + # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed + (lib.cmakeFeature "CMAKE_INSTALL_BINDIR" "bin") + (lib.cmakeFeature "CMAKE_INSTALL_DATADIR" "share") + (lib.cmakeFeature "CMAKE_INSTALL_DOCDIR" "share/doc/minetest") + (lib.cmakeFeature "CMAKE_INSTALL_MANDIR" "share/man") + (lib.cmakeFeature "CMAKE_INSTALL_LOCALEDIR" "share/locale") + + ]; + + nativeBuildInputs = [ + cmake + doxygen + graphviz + ninja + ]; + + buildInputs = [ + irrlichtmt + jsoncpp + gettext + freetype + sqlite + curl + bzip2 + ncurses + gmp + libspatialindex + ] ++ lib.optional (lib.meta.availableOn stdenv.hostPlatform luajit) luajit + ++ lib.optionals stdenv.isDarwin [ + libiconv + OpenGL + OpenAL + Carbon + Cocoa + ] ++ lib.optionals buildClient [ + libpng + libjpeg + libGLU + openal + libogg + libvorbis + xorg.libX11 + ] ++ lib.optionals buildServer [ + leveldb + postgresql + hiredis + prometheus-cpp + ]; + + postPatch = '' + substituteInPlace src/filesys.cpp --replace "/bin/rm" "${coreutils}/bin/rm" + '' + lib.optionalString stdenv.isDarwin '' + sed -i '/pagezero_size/d;/fixup_bundle/d' src/CMakeLists.txt + ''; + + postInstall = lib.optionalString stdenv.isLinux '' + patchShebangs $out + '' + lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications + mv $out/minetest.app $out/Applications + ''; + + meta = with lib; { + homepage = "https://minetest.net/"; + description = "Infinite-world block sandbox game"; + license = licenses.lgpl21Plus; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ pyrolagus fpletz fgaz ]; }; - - mkClient = version: generic (version // { buildClient = true; buildServer = false; }); - mkServer = version: generic (version // { buildClient = false; buildServer = true; }); -in { - minetestclient_5 = mkClient v5; - minetestserver_5 = mkServer v5; -} +}) diff --git a/nixpkgs/pkgs/games/openclonk/default.nix b/nixpkgs/pkgs/games/openclonk/default.nix index 4b526975349b..2249ab213a22 100644 --- a/nixpkgs/pkgs/games/openclonk/default.nix +++ b/nixpkgs/pkgs/games/openclonk/default.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config +{ lib, stdenv, fetchurl, fetchDebianPatch, fetchpatch, cmake, pkg-config , SDL2, libvorbis, libogg, libjpeg, libpng, freetype, glew, tinyxml, openal -, freealut, readline, gcc-unwrapped +, freealut, readline, libb2, gcc-unwrapped , enableSoundtrack ? false # Enable the "Open Clonk Soundtrack - Explorers Journey" by David Oerther }: @@ -18,6 +18,21 @@ in stdenv.mkDerivation rec { sha256 = "0imkqjp8lww5p0cnqf4k4mb2v682mnsas63qmiz17rspakr7fxik"; }; + patches = [ + (fetchDebianPatch { + pname = "openclonk"; + version = "8.1"; + debianRevision = "3"; + patch = "system-libb2.patch"; + hash = "sha256-zuH6zxSQXRhnt75092Xwb6XYv8UG391E5Arbnr7ApiI="; + }) + (fetchpatch { + name = "fix-gcc-11-build.patch"; + url = "https://github.com/openclonk/openclonk/commit/e304efde2c8643bbc0fc1ad5e85024982744b233.patch"; + hash = "sha256-jfVCgeZuYo4x53zhljKcnMDMIBECTRsUSxkl6JaL6HA="; + }) + ]; + postInstall = '' mv -v $out/games/openclonk $out/bin/ '' + lib.optionalString enableSoundtrack '' @@ -28,7 +43,7 @@ in stdenv.mkDerivation rec { buildInputs = [ SDL2 libvorbis libogg libjpeg libpng freetype glew tinyxml openal freealut - readline + readline libb2 ]; cmakeFlags = [ "-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar" "-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib" ]; @@ -39,8 +54,8 @@ in stdenv.mkDerivation rec { description = "Free multiplayer action game in which you control clonks, small but witty and nimble humanoid beings"; homepage = "https://www.openclonk.org"; license = if enableSoundtrack then licenses.unfreeRedistributable else licenses.isc; + mainProgram = "openclonk"; maintainers = with maintainers; [ lheckemann ]; platforms = [ "x86_64-linux" "i686-linux" ]; - broken = true; }; } diff --git a/nixpkgs/pkgs/games/path-of-building/default.nix b/nixpkgs/pkgs/games/path-of-building/default.nix index 1fa07f92ccee..1d4c4a586cb7 100644 --- a/nixpkgs/pkgs/games/path-of-building/default.nix +++ b/nixpkgs/pkgs/games/path-of-building/default.nix @@ -2,13 +2,13 @@ let data = stdenv.mkDerivation(finalAttrs: { pname = "path-of-building-data"; - version = "2.34.1"; + version = "2.37.0"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-i6OCW5Vc9/LfNuiaEeelmXiqP7+WdIklRNRcgWb7L1w="; + hash = "sha256-XoDnTmlONloBP60WNY1c6Mfscu2bG5dFh5qUtgqrfrg="; }; nativeBuildInputs = [ unzip ]; diff --git a/nixpkgs/pkgs/games/rare/default.nix b/nixpkgs/pkgs/games/rare/default.nix index 5253d78be575..ac2970bd91e1 100644 --- a/nixpkgs/pkgs/games/rare/default.nix +++ b/nixpkgs/pkgs/games/rare/default.nix @@ -8,21 +8,24 @@ , python , qtawesome , requests +, setuptools , typing-extensions }: buildPythonApplication rec { pname = "rare"; - version = "1.10.3"; + version = "1.10.7"; + pyproject = true; src = fetchFromGitHub { - owner = "Dummerle"; + owner = "RareDevs"; repo = "Rare"; rev = "refs/tags/${version}"; - hash = "sha256-7KER9gCpqjEKikQTVHsvwX6efCb9L0ut6OBjjLBW2tI="; + hash = "sha256-rV6B9tCdwWK9yvEtVyLnv4Lo1WP5xW0f4JcsNZ7iBGI="; }; nativeBuildInputs = [ + setuptools qt5.wrapQtAppsHook ]; @@ -35,11 +38,6 @@ buildPythonApplication rec { typing-extensions ]; - patches = [ - # Not able to run pythonRelaxDepsHook because of https://github.com/NixOS/nixpkgs/issues/198342 - ./legendary-gl-version.patch - ]; - dontWrapQtApps = true; postInstall = '' @@ -56,9 +54,10 @@ buildPythonApplication rec { meta = with lib; { description = "GUI for Legendary, an Epic Games Launcher open source alternative"; - homepage = "https://github.com/Dummerle/Rare"; + homepage = "https://github.com/RareDevs/Rare"; maintainers = with maintainers; [ wolfangaukang ]; license = licenses.gpl3Only; platforms = platforms.linux; + mainProgram = "rare"; }; } diff --git a/nixpkgs/pkgs/games/rare/legendary-gl-version.patch b/nixpkgs/pkgs/games/rare/legendary-gl-version.patch deleted file mode 100644 index 1ed9659d2b25..000000000000 --- a/nixpkgs/pkgs/games/rare/legendary-gl-version.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2416360..08de818 100644 ---- a/setup.py -+++ b/setup.py -@@ -7,7 +7,7 @@ with open("README.md", "r") as fh: - - requirements = [ - "requests<3.0", -- "legendary-gl==0.20.32", -+ "legendary-gl~=0.20.32", - "setuptools", - "wheel", - "PyQt5", diff --git a/nixpkgs/pkgs/games/runelite/default.nix b/nixpkgs/pkgs/games/runelite/default.nix index 9d390292733f..88afc95d6085 100644 --- a/nixpkgs/pkgs/games/runelite/default.nix +++ b/nixpkgs/pkgs/games/runelite/default.nix @@ -11,13 +11,13 @@ maven.buildMavenPackage rec { pname = "runelite"; - version = "2.6.9"; + version = "2.6.11"; src = fetchFromGitHub { owner = "runelite"; repo = "launcher"; rev = version; - hash = "sha256-wU97uiotKZfui0ir7rmO1WLN3G6lTMxqF6vTyrlax1Q="; + hash = "sha256-tu3sEhmFZLMqPiBdPCiNYj5s08hMCo8mXpOCx/BP1EM="; }; mvnHash = "sha256-iGnoAZcJvaVoACi9ozG/f+A8tjvDuwn22bMRyuUU5Jg="; diff --git a/nixpkgs/pkgs/games/sgt-puzzles/default.nix b/nixpkgs/pkgs/games/sgt-puzzles/default.nix index 35f92f1457b3..a6d0bb52fb39 100644 --- a/nixpkgs/pkgs/games/sgt-puzzles/default.nix +++ b/nixpkgs/pkgs/games/sgt-puzzles/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "sgt-puzzles"; - version = "20231025.35f7965"; + version = "20231120.08365fb"; src = fetchurl { url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz"; - hash = "sha256-c9D8lr5V/1BrKQjBsj931uGpnpR5p80CgP0Y/HNc40E="; + hash = "sha256-V4OHkF0i3dnvRXmo2UKItibr4Dr8vG1CX2L2/9mL7p4="; }; sgt-puzzles-menu = fetchurl { diff --git a/nixpkgs/pkgs/games/shattered-pixel-dungeon/generic.nix b/nixpkgs/pkgs/games/shattered-pixel-dungeon/generic.nix index 92427674c18a..fdd87ba2bd19 100644 --- a/nixpkgs/pkgs/games/shattered-pixel-dungeon/generic.nix +++ b/nixpkgs/pkgs/games/shattered-pixel-dungeon/generic.nix @@ -13,6 +13,7 @@ , gradle , perl , jre +, libGL , libpulseaudio , makeDesktopItem , copyDesktopItems @@ -104,7 +105,7 @@ in stdenv.mkDerivation (cleanAttrs // { install -Dm644 desktop/build/libs/desktop-*.jar $out/share/${pname}.jar mkdir $out/bin makeWrapper ${jre}/bin/java $out/bin/${pname} \ - --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libpulseaudio ]} \ --add-flags "-jar $out/share/${pname}.jar" for s in 16 32 48 64 128 256; do diff --git a/nixpkgs/pkgs/games/shipwright/default.nix b/nixpkgs/pkgs/games/shipwright/default.nix index 182e2cf654ae..47487e7f7024 100644 --- a/nixpkgs/pkgs/games/shipwright/default.nix +++ b/nixpkgs/pkgs/games/shipwright/default.nix @@ -95,13 +95,13 @@ assert (lib.assertMsg (oot.enable || ootMq.enable) "At least one of 'oot.enable' stdenv.mkDerivation rec { pname = "shipwright"; - version = "7.0.2"; + version = "7.1.1"; src = fetchFromGitHub { owner = "harbourmasters"; repo = "shipwright"; rev = version; - hash = "sha256-2VCcczGWSvp6hk8FTA1/T1E1KkrrvWyOdkEw8eiYYnY="; + hash = "sha256-zgxJj65wKsQWvVxeCspyHG9YqoYqZxd6GrYptOA8Byk="; fetchSubmodules = true; }; @@ -137,12 +137,6 @@ stdenv.mkDerivation rec { libpng ]; - patches = [ - # These patches make soh look inside the nix store for data files (the controller database and the OTRs) - ./lus-install-paths.patch - ./soh-misc-otr-patches.patch - ]; - cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib" ]; diff --git a/nixpkgs/pkgs/games/shipwright/lus-install-paths.patch b/nixpkgs/pkgs/games/shipwright/lus-install-paths.patch deleted file mode 100644 index c14ecccfed0f..000000000000 --- a/nixpkgs/pkgs/games/shipwright/lus-install-paths.patch +++ /dev/null @@ -1,146 +0,0 @@ -Submodule libultraship contains modified content -diff --git a/libultraship/src/CMakeLists.txt b/libultraship/src/CMakeLists.txt -index f95c3c9..5b967b9 100644 ---- a/libultraship/src/CMakeLists.txt -+++ b/libultraship/src/CMakeLists.txt -@@ -74,7 +74,10 @@ target_sources(libultraship PRIVATE ${Source_Files__Controller}) - - #=================== Core =================== - -+configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/install_config.h.in ${CMAKE_BINARY_DIR}/install_config.h @ONLY) -+ - set(Source_Files__Core -+ ${CMAKE_BINARY_DIR}/install_config.h - ${CMAKE_CURRENT_SOURCE_DIR}/core/Window.h - ${CMAKE_CURRENT_SOURCE_DIR}/core/Window.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/ConsoleVariable.h -@@ -329,7 +332,7 @@ endif() - #=================== Packages & Includes =================== - - target_include_directories(libultraship -- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../extern -+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../extern ${CMAKE_BINARY_DIR} - PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../extern/spdlog/include ${CMAKE_CURRENT_SOURCE_DIR}/../extern/stb - ) - -diff --git a/libultraship/src/core/Context.cpp b/libultraship/src/core/Context.cpp -index 776333e..fa546e6 100644 ---- a/libultraship/src/core/Context.cpp -+++ b/libultraship/src/core/Context.cpp -@@ -14,6 +14,7 @@ - #elif defined(__WIIU__) - #include "port/wiiu/WiiUImpl.h" - #endif -+#include "install_config.h" - - namespace LUS { - std::weak_ptr<Context> Context::mContext; -@@ -281,6 +282,18 @@ std::string Context::GetShortName() { - } - - std::string Context::GetAppBundlePath() { -+#ifdef CMAKE_INSTALL_PREFIX -+ static const std::string fpath = CMAKE_INSTALL_PREFIX; -+ static int exists = -1; -+ -+ if (exists == -1) { -+ exists = fpath.size() > 0 && std::filesystem::is_directory(fpath); -+ } -+ -+ if (exists) { -+ return fpath; -+ } -+#else - #ifdef __APPLE__ - FolderManager folderManager; - return folderManager.getMainBundlePath(); -@@ -291,6 +304,7 @@ std::string Context::GetAppBundlePath() { - if (fpath != NULL) { - return std::string(fpath); - } -+#endif - #endif - - return "."; -@@ -304,6 +318,13 @@ std::string Context::GetAppDirectoryPath() { - } - #endif - -+ char *prefpath = SDL_GetPrefPath(NULL, "soh"); -+ if (prefpath != NULL) { -+ std::string ret(prefpath); -+ SDL_free(prefpath); -+ return ret; -+ } -+ - return "."; - } - -@@ -315,7 +336,24 @@ std::string Context::GetPathRelativeToAppDirectory(const char* path) { - return GetAppDirectoryPath() + "/" + path; - } - -+std::string Context::FindFileFromAllAppDirectories(const char* path) { -+ std::string fpath; -+ -+ // app configuration dir (eg. ~/.local/share) -+ fpath = GetPathRelativeToAppDirectory(path); -+ if (std::filesystem::exists(fpath)) { -+ return fpath; -+ } -+ // app install dir (eg. /usr/) -+ fpath = GetPathRelativeToAppBundle(path); -+ if (std::filesystem::exists(fpath)) { -+ return fpath; -+ } -+ // current dir -+ return "./" + std::string(path); -+} -+ - bool Context::DoesOtrFileExist() { - return mOtrFileExists; - } --} // namespace LUS -\ No newline at end of file -+} // namespace LUS -diff --git a/libultraship/src/core/Context.h b/libultraship/src/core/Context.h -index c32f4dd..a9f1639 100644 ---- a/libultraship/src/core/Context.h -+++ b/libultraship/src/core/Context.h -@@ -26,6 +26,7 @@ class Context { - static std::string GetAppDirectoryPath(); - static std::string GetPathRelativeToAppDirectory(const char* path); - static std::string GetPathRelativeToAppBundle(const char* path); -+ static std::string FindFileFromAllAppDirectories(const char* path); - - Context(std::string name, std::string shortName); - -diff --git a/libultraship/src/core/libultra/os.cpp b/libultraship/src/core/libultra/os.cpp -index 9058fe1..7d9387e 100644 ---- a/libultraship/src/core/libultra/os.cpp -+++ b/libultraship/src/core/libultra/os.cpp -@@ -21,8 +21,8 @@ int32_t osContInit(OSMesgQueue* mq, uint8_t* controllerBits, OSContStatus* statu - } - - #ifndef __SWITCH__ -- const char* controllerDb = "gamecontrollerdb.txt"; -- int mappingsAdded = SDL_GameControllerAddMappingsFromFile(controllerDb); -+ std::string controllerDb = LUS::Context::GetPathRelativeToAppBundle("gamecontrollerdb.txt"); -+ int mappingsAdded = SDL_GameControllerAddMappingsFromFile(controllerDb.c_str()); - if (mappingsAdded >= 0) { - SPDLOG_INFO("Added SDL game controllers from \"{}\" ({})", controllerDb, mappingsAdded); - } else { -@@ -90,4 +90,4 @@ int32_t osRecvMesg(OSMesgQueue* mq, OSMesg* msg, int32_t flag) { - mq->validCount--; - return 0; - } --} -\ No newline at end of file -+} -diff --git a/libultraship/src/install_config.h.in b/libultraship/src/install_config.h.in -new file mode 100644 -index 0000000..029753c ---- /dev/null -+++ b/libultraship/src/install_config.h.in -@@ -0,0 +1 @@ -+#cmakedefine CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" diff --git a/nixpkgs/pkgs/games/shipwright/soh-misc-otr-patches.patch b/nixpkgs/pkgs/games/shipwright/soh-misc-otr-patches.patch deleted file mode 100644 index 2be31092e285..000000000000 --- a/nixpkgs/pkgs/games/shipwright/soh-misc-otr-patches.patch +++ /dev/null @@ -1,119 +0,0 @@ -diff --git a/soh/soh/Extractor/Extract.cpp b/soh/soh/Extractor/Extract.cpp -index a9ddc4f4..f6d45fe2 100644 ---- a/soh/soh/Extractor/Extract.cpp -+++ b/soh/soh/Extractor/Extract.cpp -@@ -490,28 +490,27 @@ const char* Extractor::GetZapdVerStr() const { - - extern "C" int zapd_main(int argc, char** argv); - --bool Extractor::CallZapd() { -+bool Extractor::CallZapd(std::string &assetPath) { - constexpr int argc = 16; -- char xmlPath[100]; -- char confPath[100]; - std::array<const char*, argc> argv; - const char* version = GetZapdVerStr(); - -- snprintf(xmlPath, 100, "assets/extractor/xmls/%s", version); -- snprintf(confPath, 100, "assets/extractor/Config_%s.xml", version); -+ std::string xmlPath = assetPath + "/assets/extractor/xmls/" + version; -+ std::string confPath = assetPath + "/assets/extractor/Config_" + version + ".xml"; -+ std::string fileListsPath = assetPath + "/assets/extractor/filelists"; - - argv[0] = "ZAPD"; - argv[1] = "ed"; - argv[2] = "-i"; -- argv[3] = xmlPath; -+ argv[3] = xmlPath.c_str(); - argv[4] = "-b"; - argv[5] = mCurrentRomPath.c_str(); - argv[6] = "-fl"; -- argv[7] = "assets/extractor/filelists"; -+ argv[7] = fileListsPath.c_str(); - argv[8] = "-gsf"; -- argv[9] = "1"; -+ argv[9] = "0"; - argv[10] = "-rconf"; -- argv[11] = confPath; -+ argv[11] = confPath.c_str(); - argv[12] = "-se"; - argv[13] = "OTR"; - argv[14] = "--otrfile"; -diff --git a/soh/soh/Extractor/Extract.h b/soh/soh/Extractor/Extract.h -index e4eb2e5b..3c95b025 100644 ---- a/soh/soh/Extractor/Extract.h -+++ b/soh/soh/Extractor/Extract.h -@@ -57,7 +57,7 @@ class Extractor { - bool IsMasterQuest() const; - - bool Run(RomSearchMode searchMode = RomSearchMode::Both); -- bool CallZapd(); -+ bool CallZapd(std::string& assetPath); - const char* GetZapdStr(); - }; - #endif -diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp -index d192de6a..cc516085 100644 ---- a/soh/soh/OTRGlobals.cpp -+++ b/soh/soh/OTRGlobals.cpp -@@ -201,11 +201,11 @@ const char* constCameraStrings[] = { - - OTRGlobals::OTRGlobals() { - std::vector<std::string> OTRFiles; -- std::string mqPath = LUS::Context::GetPathRelativeToAppDirectory("oot-mq.otr"); -+ std::string mqPath = LUS::Context::FindFileFromAllAppDirectories("oot-mq.otr"); - if (std::filesystem::exists(mqPath)) { - OTRFiles.push_back(mqPath); - } -- std::string ootPath = LUS::Context::GetPathRelativeToAppDirectory("oot.otr"); -+ std::string ootPath = LUS::Context::FindFileFromAllAppDirectories("oot.otr"); - if (std::filesystem::exists(ootPath)) { - OTRFiles.push_back(ootPath); - } -@@ -213,7 +213,7 @@ OTRGlobals::OTRGlobals() { - if (std::filesystem::exists(sohOtrPath)) { - OTRFiles.push_back(sohOtrPath); - } -- std::string patchesPath = LUS::Context::GetPathRelativeToAppDirectory("mods"); -+ std::string patchesPath = LUS::Context::FindFileFromAllAppDirectories("mods"); - if (patchesPath.length() > 0 && std::filesystem::exists(patchesPath)) { - if (std::filesystem::is_directory(patchesPath)) { - for (const auto& p : std::filesystem::recursive_directory_iterator(patchesPath)) { -@@ -709,8 +709,10 @@ extern "C" void OTRExtScanner() { - - extern "C" void InitOTR() { - #if not defined (__SWITCH__) && not defined(__WIIU__) -- if (!std::filesystem::exists(LUS::Context::GetPathRelativeToAppDirectory("oot-mq.otr")) && -- !std::filesystem::exists(LUS::Context::GetPathRelativeToAppDirectory("oot.otr"))){ -+ if (!std::filesystem::exists(LUS::Context::FindFileFromAllAppDirectories("oot-mq.otr")) && -+ !std::filesystem::exists(LUS::Context::FindFileFromAllAppDirectories("oot.otr"))){ -+ std::string exporterAssetPath = LUS::Context::GetAppBundlePath(); -+ - bool generatedOtrIsMQ = false; - if (Extractor::ShowYesNoBox("No OTR Files", "No OTR files found. Generate one now?") == IDYES) { - Extractor extract; -@@ -718,7 +720,7 @@ extern "C" void InitOTR() { - Extractor::ShowErrorBox("Error", "An error occured, no OTR file was generated. Exiting..."); - exit(1); - } -- extract.CallZapd(); -+ extract.CallZapd(exporterAssetPath); - generatedOtrIsMQ = extract.IsMasterQuest(); - } else { - exit(1); -@@ -728,7 +730,7 @@ extern "C" void InitOTR() { - if (!extract.Run(generatedOtrIsMQ ? RomSearchMode::Vanilla : RomSearchMode::MQ)) { - Extractor::ShowErrorBox("Error", "An error occured, an OTR file may have been generated by a different step. Continuing..."); - } else { -- extract.CallZapd(); -+ extract.CallZapd(exporterAssetPath); - } - } - } -@@ -2018,4 +2020,4 @@ extern "C" void Gfx_RegisterBlendedTexture(const char* name, u8* mask, u8* repla - - extern "C" void SaveManager_ThreadPoolWait() { - SaveManager::Instance->ThreadPoolWait(); --} -\ No newline at end of file -+} diff --git a/nixpkgs/pkgs/games/steam/fhsenv.nix b/nixpkgs/pkgs/games/steam/fhsenv.nix index 8ba5087ef7fe..7bcc7976f1f9 100644 --- a/nixpkgs/pkgs/games/steam/fhsenv.nix +++ b/nixpkgs/pkgs/games/steam/fhsenv.nix @@ -3,11 +3,12 @@ , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs , extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs , extraProfile ? "" # string to append to profile -, extraBwrapArgs ? [ ] # extra arguments to pass to bubblewrap +, extraPreBwrapCmds ? "" # extra commands to run before calling bubblewrap (real default is at usage site) +, extraBwrapArgs ? [ ] # extra arguments to pass to bubblewrap (real default is at usage site) , extraArgs ? "" # arguments to always pass to steam , extraEnv ? { } # Environment variables to pass to Steam , withGameSpecificLibraries ? true # include game specific libraries -}: +}@args: let commonTargetPkgs = pkgs: with pkgs; [ @@ -16,6 +17,8 @@ let lsb-release # Errors in output without those pciutils + # run.sh wants ldconfig + glibc.bin # Games' dependencies xorg.xrandr which @@ -57,7 +60,10 @@ let fi ''; - envScript = lib.toShellVars extraEnv; + envScript = '' + # prevents various error messages + unset GIO_EXTRA_MODULES + '' + lib.toShellVars extraEnv; in buildFHSEnv rec { name = "steam"; @@ -279,7 +285,17 @@ in buildFHSEnv rec { exec steam ${extraArgs} "$@" ''; - inherit extraBwrapArgs; + # steamwebhelper deletes unrelated electron programs' singleton cookies from /tmp on startup: + # https://github.com/ValveSoftware/steam-for-linux/issues/9121 + privateTmp = true; + + extraPreBwrapCmds = '' + install -m 1777 -d /tmp/dumps + '' + args.extraPreBwrapCmds or ""; + + extraBwrapArgs = [ + "--bind-try /tmp/dumps /tmp/dumps" + ] ++ args.extraBwrapArgs or []; meta = if steam != null diff --git a/nixpkgs/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch b/nixpkgs/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch deleted file mode 100644 index 65686f5546c4..000000000000 --- a/nixpkgs/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 33d928c54f4b35f8877cacd1e2c77b68b4dddc06 Mon Sep 17 00:00:00 2001 -From: Zane van Iperen <zane@zanevaniperen.com> -Date: Sun, 7 Nov 2021 15:46:37 +1000 -Subject: [PATCH] fix build with ffmpeg 4 - ---- - src/arch/MovieTexture/MovieTexture_FFMpeg.cpp | 5 +---- - src/arch/MovieTexture/MovieTexture_FFMpeg.h | 22 +++++++++---------- - 2 files changed, 12 insertions(+), 15 deletions(-) - -diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp -index bdf2356..f79fea2 100644 ---- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp -+++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp -@@ -445,7 +445,7 @@ RString MovieDecoder_FFMpeg::Open( RString sFile ) - return "Couldn't find any video streams"; - m_pStream = m_fctx->streams[stream_idx]; - -- if( m_pStream->codec->codec_id == avcodec::CODEC_ID_NONE ) -+ if( m_pStream->codec->codec_id == avcodec::AV_CODEC_ID_NONE ) - return ssprintf( "Unsupported codec %08x", m_pStream->codec->codec_tag ); - - RString sError = OpenCodec(); -@@ -474,9 +474,6 @@ RString MovieDecoder_FFMpeg::OpenCodec() - m_pStream->codec->idct_algo = FF_IDCT_AUTO; - m_pStream->codec->error_concealment = 3; - -- if( pCodec->capabilities & CODEC_CAP_DR1 ) -- m_pStream->codec->flags |= CODEC_FLAG_EMU_EDGE; -- - LOG->Trace("Opening codec %s", pCodec->name ); - - int ret = avcodec::avcodec_open2( m_pStream->codec, pCodec, NULL ); -diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.h b/src/arch/MovieTexture/MovieTexture_FFMpeg.h -index f4d25ef..32564e5 100644 ---- a/src/arch/MovieTexture/MovieTexture_FFMpeg.h -+++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.h -@@ -64,7 +64,7 @@ private: - - avcodec::AVStream *m_pStream; - avcodec::AVFrame *m_Frame; -- avcodec::PixelFormat m_AVTexfmt; /* PixelFormat of output surface */ -+ avcodec::AVPixelFormat m_AVTexfmt; /* PixelFormat of output surface */ - avcodec::SwsContext *m_swsctx; - - avcodec::AVFormatContext *m_fctx; -@@ -90,7 +90,7 @@ static struct AVPixelFormat_t - { - int bpp; - uint32_t masks[4]; -- avcodec::PixelFormat pf; -+ avcodec::AVPixelFormat pf; - bool bHighColor; - bool bByteSwapOnLittleEndian; - MovieDecoderPixelFormatYCbCr YUV; -@@ -101,7 +101,7 @@ static struct AVPixelFormat_t - 0x00FF0000, - 0x0000FF00, - 0x000000FF }, -- avcodec::PIX_FMT_YUYV422, -+ avcodec::AV_PIX_FMT_YUYV422, - false, /* N/A */ - true, - PixelFormatYCbCr_YUYV422, -@@ -112,7 +112,7 @@ static struct AVPixelFormat_t - 0x00FF0000, - 0xFF000000, - 0x000000FF }, -- avcodec::PIX_FMT_BGRA, -+ avcodec::AV_PIX_FMT_BGRA, - true, - true, - PixelFormatYCbCr_Invalid, -@@ -123,7 +123,7 @@ static struct AVPixelFormat_t - 0x0000FF00, - 0x000000FF, - 0xFF000000 }, -- avcodec::PIX_FMT_ARGB, -+ avcodec::AV_PIX_FMT_ARGB, - true, - true, - PixelFormatYCbCr_Invalid, -@@ -135,7 +135,7 @@ static struct AVPixelFormat_t - 0x0000FF00, - 0x00FF0000, - 0xFF000000 }, -- avcodec::PIX_FMT_ABGR, -+ avcodec::AV_PIX_FMT_ABGR, - true, - true, - PixelFormatYCbCr_Invalid, -@@ -146,7 +146,7 @@ static struct AVPixelFormat_t - 0x00FF0000, - 0x0000FF00, - 0x000000FF }, -- avcodec::PIX_FMT_RGBA, -+ avcodec::AV_PIX_FMT_RGBA, - true, - true, - PixelFormatYCbCr_Invalid, -@@ -157,7 +157,7 @@ static struct AVPixelFormat_t - 0x00FF00, - 0x0000FF, - 0x000000 }, -- avcodec::PIX_FMT_RGB24, -+ avcodec::AV_PIX_FMT_RGB24, - true, - true, - PixelFormatYCbCr_Invalid, -@@ -168,7 +168,7 @@ static struct AVPixelFormat_t - 0x00FF00, - 0xFF0000, - 0x000000 }, -- avcodec::PIX_FMT_BGR24, -+ avcodec::AV_PIX_FMT_BGR24, - true, - true, - PixelFormatYCbCr_Invalid, -@@ -179,12 +179,12 @@ static struct AVPixelFormat_t - 0x03E0, - 0x001F, - 0x0000 }, -- avcodec::PIX_FMT_RGB555, -+ avcodec::AV_PIX_FMT_RGB555, - false, - false, - PixelFormatYCbCr_Invalid, - }, -- { 0, { 0,0,0,0 }, avcodec::PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid } -+ { 0, { 0,0,0,0 }, avcodec::AV_PIX_FMT_NB, true, false, PixelFormatYCbCr_Invalid } - }; - - #endif --- -2.31.1 - diff --git a/nixpkgs/pkgs/games/stepmania/default.nix b/nixpkgs/pkgs/games/stepmania/default.nix index 65b9bfff189e..bfd871a2a1c1 100644 --- a/nixpkgs/pkgs/games/stepmania/default.nix +++ b/nixpkgs/pkgs/games/stepmania/default.nix @@ -1,21 +1,40 @@ -{ stdenv, lib, fetchFromGitHub, cmake, nasm -, gtk2, glib, ffmpeg_4, alsa-lib, libmad, libogg, libvorbis -, glew, libpulseaudio, udev +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, cmake +, nasm +, alsa-lib +, ffmpeg_6 +, glew +, glib +, gtk2 +, libmad +, libogg +, libpulseaudio +, libvorbis +, udev +, xorg }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "stepmania"; - version = "5.1.0-b2"; + version = "5.1.0-b2-unstable-2022-11-14"; src = fetchFromGitHub { owner = "stepmania"; repo = "stepmania"; - rev = "v${version}"; - sha256 = "0a7y9l7xm510vgnpmj1is7p9m6d6yd0fcaxrjcickz295k5w3rdn"; + rev = "d55acb1ba26f1c5b5e3048d6d6c0bd116625216f"; + hash = "sha256-49H2Q61R4l/G0fWsjCjiAUXeWwG3lcsDpV5XvR3l3QE="; }; patches = [ - ./0001-fix-build-with-ffmpeg-4.patch + # https://github.com/stepmania/stepmania/pull/2247 + (fetchpatch { + name = "fix-building-with-ffmpeg6.patch"; + url = "https://github.com/stepmania/stepmania/commit/3fef5ef60b7674d6431f4e1e4ba8c69b0c21c023.patch"; + hash = "sha256-m+5sP+mIpcSjioRBdzChqja5zwNcwdSNAfvSJ2Lww+g="; + }) ]; postPatch = '' @@ -25,8 +44,17 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake nasm ]; buildInputs = [ - gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis - glew libpulseaudio udev + alsa-lib + ffmpeg_6 + glew + glib + gtk2 + libmad + libogg + libpulseaudio + libvorbis + udev + xorg.libXtst ]; cmakeFlags = [ @@ -38,6 +66,11 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/bin ln -s $out/stepmania-5.1/stepmania $out/bin/stepmania + + mkdir -p $out/share/ + cp -r $src/icons $out/share/ + + install -Dm444 $src/stepmania.desktop -t $out/share/applications ''; meta = with lib; { @@ -45,7 +78,7 @@ stdenv.mkDerivation rec { description = "Free dance and rhythm game for Windows, Mac, and Linux"; platforms = platforms.linux; license = licenses.mit; # expat version - maintainers = [ ]; + maintainers = with maintainers; [ h7x4 ]; # never built on aarch64-linux since first introduction in nixpkgs broken = stdenv.isLinux && stdenv.isAarch64; mainProgram = "stepmania"; diff --git a/nixpkgs/pkgs/games/tennix/fix_FTBFS.patch b/nixpkgs/pkgs/games/tennix/fix_FTBFS.patch deleted file mode 100644 index d58aa3a8129f..000000000000 --- a/nixpkgs/pkgs/games/tennix/fix_FTBFS.patch +++ /dev/null @@ -1,288 +0,0 @@ -From: Thomas Perl <m@thp.io> -Description: Fix FTBFS -Origin: upstream, https://repo.or.cz/w/tennix.git/commitdiff/6144cb7626dfdc0820a0036af83a531e8e68bae6 -Bug-Debian: https://bugs.debian.org/664907 - ---- tennix-1.1.orig/archivetool.cc -+++ tennix-1.1/archivetool.cc -@@ -24,6 +24,7 @@ - #include <assert.h> - #include <stdio.h> - #include <stdlib.h> -+#include <libgen.h> - #include <sys/stat.h> - - #include "archive.hh" ---- tennix-1.1.orig/game.c -+++ tennix-1.1/game.c -@@ -388,6 +388,9 @@ void step(GameState* s) { - s->ball.move_x = 4.0 + 3.0*PLAYER(s, p).power/PLAYER_POWER_MAX; - s->ball.move_z = 1.1*PLAYER(s, p).power/PLAYER_POWER_MAX; - break; -+ default: -+ assert(false); -+ break; - } - s->ball.move_y = get_move_y( s, p); - s->sound_events ^= SOUND_EVENT_RACKET; ---- tennix-1.1.orig/network.h -+++ tennix-1.1/network.h -@@ -103,19 +103,19 @@ void - net_serialize_ball(const Ball* src, NetworkBall* dest); - - void --net_unserialize_ball(const NetworkBall* src, Ball* dest); -+net_unserialize_ball(NetworkBall* src, Ball* dest); - - void - net_serialize_player(const Player* src, NetworkPlayer* dest); - - void --net_unserialize_player(const NetworkPlayer* src, Player* dest); -+net_unserialize_player(NetworkPlayer* src, Player* dest); - - void - net_serialize_gamestate(const GameState* src, NetworkGameState* dest); - - void --net_unserialize_gamestate(const NetworkGameState* src, GameState* dest); -+net_unserialize_gamestate(NetworkGameState* src, GameState* dest); - - #endif - ---- tennix-1.1.orig/locations.h -+++ tennix-1.1/locations.h -@@ -155,7 +155,7 @@ static Location locations[] = { - #endif - - /* End marker */ -- { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false } -+ { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false, false, 0, 0 } - }; - - unsigned int location_count() ---- tennix-1.1.orig/tennix.cc -+++ tennix-1.1/tennix.cc -@@ -461,7 +461,7 @@ int main( int argc, char** argv) { - start_fade(); - gameloop(current_game, connection); - SDL_Delay(150); -- while(SDL_PollEvent(&e)); -+ while (SDL_PollEvent(&e)) {}; - #ifdef ENABLE_FPS_LIMIT - frames = 0; - ft = SDL_GetTicks(); ---- tennix-1.1.orig/SDL_rotozoom.c -+++ tennix-1.1/SDL_rotozoom.c -@@ -365,6 +365,9 @@ int zoomSurfaceRGBA(SDL_Surface * src, S - - int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst, int flipx, int flipy) - { -+ (void)flipx; -+ (void)flipy; -+ - Uint32 x, y, sx, sy, *sax, *say, *csax, *csay, csx, csy; - Uint8 *sp, *dp, *csp; - int dgap; -@@ -393,7 +396,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ - */ - csx = 0; - csax = sax; -- for (x = 0; x < dst->w; x++) { -+ for (x = 0; x < (Uint32)dst->w; x++) { - csx += sx; - *csax = (csx >> 16); - csx &= 0xffff; -@@ -401,7 +404,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ - } - csy = 0; - csay = say; -- for (y = 0; y < dst->h; y++) { -+ for (y = 0; y < (Uint32)dst->h; y++) { - csy += sy; - *csay = (csy >> 16); - csy &= 0xffff; -@@ -410,13 +413,13 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ - - csx = 0; - csax = sax; -- for (x = 0; x < dst->w; x++) { -+ for (x = 0; x < (Uint32)dst->w; x++) { - csx += (*csax); - csax++; - } - csy = 0; - csay = say; -- for (y = 0; y < dst->h; y++) { -+ for (y = 0; y < (Uint32)dst->h; y++) { - csy += (*csay); - csay++; - } -@@ -432,10 +435,10 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ - * Draw - */ - csay = say; -- for (y = 0; y < dst->h; y++) { -+ for (y = 0; y < (Uint32)dst->h; y++) { - csax = sax; - sp = csp; -- for (x = 0; x < dst->w; x++) { -+ for (x = 0; x < (Uint32)dst->w; x++) { - /* - * Draw - */ -@@ -801,6 +804,8 @@ SDL_Surface* rotateSurface90Degrees(SDL_ - void rotozoomSurfaceSizeTrig(int width, int height, double angle, double zoomx, double zoomy, int *dstwidth, int *dstheight, - double *canglezoom, double *sanglezoom) - { -+ (void)zoomy; -+ - double x, y, cx, cy, sx, sy; - double radangle; - int dstwidthhalf, dstheighthalf; ---- tennix-1.1.orig/network.c -+++ tennix-1.1/network.c -@@ -183,7 +183,7 @@ net_serialize_ball(const Ball* src, Netw - } - - void --net_unserialize_ball(const NetworkBall* src, Ball* dest) -+net_unserialize_ball(NetworkBall* src, Ball* dest) - { - assert(src != NULL && dest != NULL); - dest->x = unpack_float(SDLNet_Read32(&(src->x)), -WIDTH, WIDTH*2); -@@ -213,7 +213,7 @@ net_serialize_player(const Player* src, - } - - void --net_unserialize_player(const NetworkPlayer* src, Player* dest) -+net_unserialize_player(NetworkPlayer* src, Player* dest) - { - assert(src != NULL && dest != NULL); - dest->x = unpack_float(SDLNet_Read32(&(src->x)), 0, WIDTH*1.2); -@@ -221,7 +221,7 @@ net_unserialize_player(const NetworkPlay - dest->power = unpack_float(SDLNet_Read32(&(src->power)), 0, 110); - dest->use_power = src->use_power; - dest->score = src->score; -- dest->desire = src->desire; -+ dest->desire = (PlayerDesire)src->desire; - dest->game = src->game; - memcpy(dest->sets, src->sets, sizeof(unsigned char)*(SETS_TO_WIN*2)); - dest->accelerate = unpack_float(SDLNet_Read32(&(src->accelerate)), 0, 200); -@@ -250,7 +250,7 @@ net_serialize_gamestate(const GameState* - } - - void --net_unserialize_gamestate(const NetworkGameState* src, GameState* dest) -+net_unserialize_gamestate(NetworkGameState* src, GameState* dest) - { - int p; - ---- tennix-1.1.orig/makefile -+++ tennix-1.1/makefile -@@ -27,24 +27,23 @@ ifeq ($(MKCALLGRAPH),1) - LD = nccld - endif - --RELEASE = 1.1 -- --UNAME = $(shell uname) -+RELEASE = 1.1.1 - - PREFIX ?= /usr/local - BINDIR ?= $(PREFIX)/bin - DATAROOTDIR ?= $(PREFIX)/share - DATADIR ?= $(DATAROOTDIR)/games - --LIBS = --CFLAGS += -W -Wall -ansi -pedantic -Wcast-qual -Wwrite-strings -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\" -g -+CFLAGS += -W -Wall -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\" - CXXFLAGS += $(CFLAGS) - - USE_PYTHON ?= 1 - - ifeq ($(USE_PYTHON),1) -- CFLAGS += `python-config --includes` -DTENNIX_PYTHON -- LIBS += `python-config --libs` -+ PYTHON_INCLUDES := $(shell python-config --includes) -+ PYTHON_LIBS := $(shell python-config --libs) -+ CFLAGS += $(PYTHON_INCLUDES) -DTENNIX_PYTHON -+ LIBS += $(PYTHON_LIBS) - endif - - ifeq ($(NONFREE_LOCATIONS),1) -@@ -67,17 +66,14 @@ ifeq ($(MAEMO),1) - CFLAGS += -DMAEMO - endif - --ifeq ($(UNAME),Darwin) -- SDLLIBS=$$(sdl-config --prefix)/lib -- LIBS += $$(sdl-config --static-libs) $(SDLLIBS)/libSDL_mixer.a $(SDLLIBS)/libSDL_image.a $(SDLLIBS)/libSDL_ttf.a $(SDLLIBS)/libSDL_net.a $$(freetype-config --prefix)/lib/libfreetype.a -- CFLAGS += $$(sdl-config --cflags) -lz --else -- LIBS += $$(sdl-config --libs) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net -- CFLAGS += $$(sdl-config --cflags) --endif -+SDL_LIBS := $(shell sdl-config --libs) -+SDL_CFLAGS := $(shell sdl-config --cflags) -+ -+LIBS += $(SDL_LIBS) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net -+CFLAGS += $(SDL_CFLAGS) - --SRC = tennix.cc game.c graphics.cc input.c util.c sound.cc animation.c network.c - OBJ = tennix.o game.o graphics.o input.o util.o sound.o animation.o archive.o SDL_rotozoom.o network.o -+ - ifeq ($(MSYSTEM),MINGW32) - OBJ += tennixres.o - endif ---- tennix-1.1.orig/game.h -+++ tennix-1.1/game.h -@@ -98,6 +98,13 @@ typedef struct { - bool inhibit_gravity; - } Ball; - -+enum PlayerDesire { -+ DESIRE_NORMAL, -+ DESIRE_TOPSPIN, -+ DESIRE_SMASH, -+ DESIRE_MAX -+}; -+ - typedef struct { - InputDevice* input; - char input_device_index; -@@ -106,9 +113,9 @@ typedef struct { - float power; - bool use_power; - unsigned char score; -- unsigned char desire; -+ PlayerDesire desire; - bool type; /* is this player ai-controlled or human? */ -- char game; /* score for the current game */ -+ int game; /* score for the current game */ - unsigned char sets[SETS_TO_WIN*2]; /* score for each set */ - float accelerate; /* a value [0..1] how fast the user accelerates */ - } Player; -@@ -118,13 +125,6 @@ enum { - PLAYER_TYPE_AI - }; - --enum { -- DESIRE_NORMAL, -- DESIRE_TOPSPIN, -- DESIRE_SMASH, -- DESIRE_MAX --}; -- - /* wait 2 seconds before we score the game */ - #define SCORING_DELAY 1000 - -@@ -161,7 +161,7 @@ enum { - - typedef struct { - const Location* location; -- char current_location; /* index of loc. in global location table */ -+ int current_location; /* index of loc. in global location table */ - Ball ball; - Player players[MAXPLAYERS]; - unsigned char serving_player; diff --git a/nixpkgs/pkgs/games/unciv/default.nix b/nixpkgs/pkgs/games/unciv/default.nix index 70971fb1ad37..5a5d61137190 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 = "4.8.13"; + version = "4.9.6"; src = fetchurl { url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; - hash = "sha256-16TpsKNLcm6lbi4exYxDZWfmRsvfAhT1ktP36zC9Psg="; + hash = "sha256-YF8lnICqTyPJWD0BqJ7GUu+ywGhPOhNUUzTPIq4QpPM="; }; dontUnpack = true; diff --git a/nixpkgs/pkgs/games/warzone2100/default.nix b/nixpkgs/pkgs/games/warzone2100/default.nix index 9979d16247c0..be2525c98716 100644 --- a/nixpkgs/pkgs/games/warzone2100/default.nix +++ b/nixpkgs/pkgs/games/warzone2100/default.nix @@ -46,11 +46,11 @@ in stdenv.mkDerivation rec { inherit pname; - version = "4.4.0"; + version = "4.4.2"; src = fetchurl { - url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz"; - hash = "sha256-Ul77OihJWIH9H6FUpibGDjqX1BY4DWDQ3bR4lRDY9+U="; + url = "mirror://sourceforge/project/warzone2100/releases/${version}/warzone2100_src.tar.xz"; + hash = "sha256-O5Yqxqp1vKYr8uvAZ1SdsI/kocOzg0KRCirCqqvLrN4="; }; buildInputs = [ @@ -88,9 +88,6 @@ stdenv.mkDerivation rec { --replace '"which "' '"${which}/bin/which "' substituteInPlace lib/exceptionhandler/exceptionhandler.cpp \ --replace "which %s" "${which}/bin/which %s" - # https://github.com/Warzone2100/warzone2100/pull/3353 - substituteInPlace lib/ivis_opengl/gfx_api_vk.cpp \ - --replace vk::throwResultException vk::detail::throwResultException ''; cmakeFlags = [ |