Merge pull request #140804 from OPNA2608/update/supertuxkart/21.11

This commit is contained in:
Sandro 2021-10-08 00:03:21 +02:00 committed by GitHub
commit e963c591a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 84 additions and 48 deletions

View file

@ -1,20 +1,17 @@
{ lib, stdenv, fetchurl, unzip, cmake }:
let
s = # Generated upstream information
rec {
baseName="angelscript";
version = "2.35.0";
name="${baseName}-${version}";
url="http://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
sha256 = "sha256-AQ3UXiPnNNRvWJHXDiaGB6EsuasSUD3aQvhC2dt+iFc=";
};
{ lib
, stdenv
, fetchurl
, unzip
, cmake
}:
in
stdenv.mkDerivation {
inherit (s) name version;
stdenv.mkDerivation rec {
pname = "angelscript";
version = "2.35.1";
src = fetchurl {
inherit (s) url sha256;
url = "https://www.angelcode.com/angelscript/sdk/files/angelscript_${version}.zip";
sha256 = "12x12fs2bjkbh73n2w84wnqhg6xn6mnp6g79gbkwfl6gssv9c42w";
};
nativeBuildInputs = [ unzip cmake ];
@ -32,7 +29,6 @@ stdenv.mkDerivation {
'';
meta = with lib; {
inherit (s) version;
description = "Light-weight scripting library";
license = licenses.zlib;
maintainers = with maintainers; [ raskin ];

View file

@ -1,4 +0,0 @@
url http://www.angelcode.com/angelscript/downloads.html
version_link '[.]zip$'
version '.*_([0-9.]+)[.].*' '\1'
do_overwrite () { do_overwrite_just_version ; }

View file

@ -0,0 +1,46 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
, libjpeg
, libvpx
, openh264
, withPulse ? stdenv.hostPlatform.isLinux
, libpulseaudio
, libvorbis
}:
stdenv.mkDerivation rec {
pname = "libopenglrecorder";
version = "unstable-2020-08-13";
src = fetchFromGitHub {
owner = "Benau";
repo = "libopenglrecorder";
rev = "c1b81ce26e62fae1aaa086b5cd337cb12361ea3d";
sha256 = "13s2d7qs8z4w0gb3hx03n97xmwl07d4s473m4gw90qcvmz217kiz";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libjpeg
libvpx
openh264
] ++ lib.optionals withPulse [
libpulseaudio
libvorbis
];
meta = with lib; {
description = "Library allowing Optional async readback OpenGL frame buffer with optional audio recording";
homepage = "https://github.com/Benau/libopenglrecorder";
license = licenses.bsd3;
maintainers = with maintainers; [ OPNA2608 ];
platforms = with platforms; windows ++ linux;
};
}

View file

@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, fetchsvn
, cmake
, pkg-config
@ -20,15 +19,17 @@
, mcpp
, wiiuse
, angelscript
, libopenglrecorder
, sqlite
, Cocoa
, IOKit
, libsamplerate
}:
let
dir = "stk-code";
assets = fetchsvn {
url = "https://svn.code.sf.net/p/supertuxkart/code/stk-assets";
rev = "18218";
sha256 = "11iv3cqzvbjg33zz5i5gkl2syn6mlw9wqv0jc7h36vjnjqjv17xw";
rev = "18464";
sha256 = "1a84j3psl4cxzkn5ynakpjill7i2f9ki2p729bpmbrvg8fki95aa";
name = "stk-assets";
};
@ -44,45 +45,35 @@ let
# has been fixed to support it.
"enet"
# Internal library of STK, nothing to do about it
"graphics_engine"
# Internal library of STK, nothing to do about it
"graphics_utils"
# This irrlicht is bundled with cmake
# whereas upstream irrlicht still uses
# archaic Makefiles, too complicated to switch to.
"irrlicht"
# Not packaged to this date
"libraqm"
# Not packaged to this date
"libsquish"
# Not packaged to this date
"sheenbidi"
]
# Our system angelscript causes linking error on ARM
# ld: libangelscript.so: undefined reference to
# `CallSystemFunctionNative(asCContext*, asCScriptFunction*, void*, unsigned int*, void*, unsigned long&, void*)'
# Bundled angelscript compiles fine
++ lib.optional stdenv.hostPlatform.isAarch64 "angelscript";
# Not packaged to this date
"tinygettext"
# Not packaged to this date (needed on Darwin)
"mojoal"
];
in
stdenv.mkDerivation rec {
pname = "supertuxkart";
version = "1.2";
version = "1.3";
src = fetchFromGitHub {
owner = "supertuxkart";
repo = "stk-code";
rev = version;
sha256 = "1f98whk0v45jgwcsbdsb1qfambvrnbbgwq0w28kjz4278hinwzq6";
name = dir;
sha256 = "1llyxkdc4m9gnjxqaxlpwvv3ayvpw2bfjzfkkrljaxhznq811g0l";
};
patches = [
(fetchpatch {
# Fix build with SDL 2.0.14
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/games-action/supertuxkart/files/supertuxkart-1.2-new-sdl.patch?id=288360dc7ce2f968a2f12099edeace3f3ed1a705";
sha256 = "1jgab9393qan8qbqf5bf8cgw4mynlr5a6pggqhybzsmaczgnns3n";
})
];
postPatch = ''
# Deletes all bundled libs in stk-code/lib except those
# That couldn't be replaced with system packages
@ -93,7 +84,11 @@ stdenv.mkDerivation rec {
--replace 'NOT (APPLE OR HAIKU)) AND USE_SYSTEM_WIIUSE' 'NOT (HAIKU)) AND USE_SYSTEM_WIIUSE'
'';
nativeBuildInputs = [ cmake pkg-config makeWrapper ];
nativeBuildInputs = [
cmake
pkg-config
makeWrapper
];
buildInputs = [
SDL2
@ -107,15 +102,16 @@ stdenv.mkDerivation rec {
harfbuzz
mcpp
wiiuse
angelscript
sqlite
]
++ lib.optional (!stdenv.hostPlatform.isAarch64) angelscript
++ lib.optional (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isLinux) libopenglrecorder
++ lib.optional stdenv.hostPlatform.isLinux openal
++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenAL IOKit Cocoa ];
++ lib.optionals stdenv.hostPlatform.isDarwin [ OpenAL IOKit Cocoa libsamplerate ];
cmakeFlags = [
"-DBUILD_RECORDER=OFF" # libopenglrecorder is not in nixpkgs
# doesn't work with our 2.35.0 on aarch64-linux
"-DUSE_SYSTEM_ANGELSCRIPT=${if !stdenv.hostPlatform.isAarch64 then "ON" else "OFF"}"
"-DBUILD_RECORDER=${if (stdenv.hostPlatform.isWindows || stdenv.hostPlatform.isLinux) then "ON" else "OFF"}"
"-DUSE_SYSTEM_ANGELSCRIPT=ON"
"-DCHECK_ASSETS=OFF"
"-DUSE_SYSTEM_WIIUSE=ON"
"-DOpenGL_GL_PREFERENCE=GLVND"

View file

@ -17704,6 +17704,8 @@ with pkgs;
libopenaptx = callPackage ../development/libraries/libopenaptx { };
libopenglrecorder = callPackage ../development/libraries/libopenglrecorder { };
libopus = callPackage ../development/libraries/libopus { };
libopusenc = callPackage ../development/libraries/libopusenc { };