about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/ultrastardx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games/ultrastardx/default.nix')
-rw-r--r--nixpkgs/pkgs/games/ultrastardx/default.nix35
1 files changed, 24 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/games/ultrastardx/default.nix b/nixpkgs/pkgs/games/ultrastardx/default.nix
index 63866d4bca98..1d6f199480de 100644
--- a/nixpkgs/pkgs/games/ultrastardx/default.nix
+++ b/nixpkgs/pkgs/games/ultrastardx/default.nix
@@ -31,28 +31,41 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "ultrastardx";
-  version = "2020.4.0";
+  version = "2021-04-03";
   src = fetchFromGitHub {
     owner = "UltraStar-Deluxe";
     repo = "USDX";
-    rev = "v${version}";
-    sha256 = "0vmfv8zpyf8ymx3rjydpd7iqis080lni94vb316vfxkgvjmqbhym";
+    rev = "d49e916705092f3d765d85d276b283b9e7e232a6";
+    sha256 = "0sdcz2vc8i2z50nj7zbkdpxx2mvx0m0927lfsj7d7qr0p8vkm0wa";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
   buildInputs = [ fpc libpng ] ++ sharedLibs;
 
-  patches = [
-    (fetchpatch {
-      name = "fpc-3.2-support.patch";
-      url = "https://github.com/UltraStar-Deluxe/USDX/commit/1b8e8714c1523ef49c2fd689a1545d097a3d76d7.patch";
-      sha256 = "02zmjymj9w1mkpf7armdpf067byvml6lprs1ca4lhpkv45abddp4";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace src/config.inc.in \
       --subst-var-by libpcre_LIBNAME libpcre.so.1
+
+    # ultrastardx binds to libffmpeg (and sublibs), specifying a very restrictive
+    # upper bounds on the minor versions of .so files.
+    # We can assume ffmpeg won’t break any major ABI compatibility, since their
+    # patch version seems to always stay at 100,
+    # and their minor version changes quite frequently.
+    sed \
+      -e 's/^  LIBAVCODEC_MAX_VERSION_MINOR.*$/  LIBAVCODEC_MAX_VERSION_MINOR = 1000;/' \
+      -i src/lib/ffmpeg-4.0/avcodec.pas
+    sed \
+      -e 's/^  LIBAVFORMAT_MAX_VERSION_MINOR.*$/  LIBAVFORMAT_MAX_VERSION_MINOR = 1000;/' \
+      -i src/lib/ffmpeg-4.0/avformat.pas
+    sed \
+      -e 's/^  LIBAVUTIL_MAX_VERSION_MINOR.*$/  LIBAVUTIL_MAX_VERSION_MINOR = 1000;/' \
+      -i src/lib/ffmpeg-4.0/avutil.pas
+    sed \
+      -e 's/^  LIBSWRESAMPLE_MAX_VERSION_MINOR.*$/  LIBSWRESAMPLE_MAX_VERSION_MINOR = 1000;/' \
+      -i src/lib/ffmpeg-4.0/swresample.pas
+    sed \
+      -e 's/^  LIBSWSCALE_MAX_VERSION_MINOR.*$/  LIBSWSCALE_MAX_VERSION_MINOR = 1000;/' \
+      -i src/lib/ffmpeg-4.0/swscale.pas
   '';
 
   preBuild = with lib;