diff --git a/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch b/pkgs/games/stepmania/0001-fix-build-with-ffmpeg-4.patch deleted file mode 100644 index 65686f5546c4..000000000000 --- a/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 -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/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix index 65b9bfff189e..bfd871a2a1c1 100644 --- a/pkgs/games/stepmania/default.nix +++ b/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";