Merge remote-tracking branch 'origin/master' into staging-next

Conflicts:
  pkgs/applications/terminal-emulators/alacritty/default.nix
  pkgs/servers/clickhouse/default.nix
This commit is contained in:
Jonathan Ringer
2021-05-20 09:12:42 -07:00
120 changed files with 7535 additions and 2303 deletions
+32 -6
View File
@@ -1,5 +1,18 @@
{ lib, stdenv, fetchFromGitHub, qtbase, openscenegraph, mygui, bullet, ffmpeg_3
, boost, cmake, SDL2, unshield, openal, libXt, pkg-config }:
{ lib
, mkDerivation
, fetchFromGitHub
, cmake
, pkg-config
, openscenegraph
, mygui
, bullet
, ffmpeg
, boost
, SDL2
, unshield
, openal
, libXt
}:
let
openscenegraph_ = openscenegraph.overrideDerivation (self: {
@@ -11,9 +24,9 @@ let
sha256 = "0d74hijzmj82nx3jkv5qmr3pkgvplra0b8fbjx1y3vmzxamb0axd";
};
});
in
stdenv.mkDerivation rec {
in
mkDerivation rec {
version = "0.46.0";
pname = "openmw";
@@ -25,10 +38,23 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ boost ffmpeg_3 bullet mygui openscenegraph_ SDL2 unshield openal libXt qtbase ];
buildInputs = [
SDL2
boost
bullet
ffmpeg
libXt
mygui
openal
openscenegraph_
unshield
];
cmakeFlags = [
"-DDESIRED_QT_VERSION:INT=5"
# as of 0.46, openmw is broken with GLVND
"-DOpenGL_GL_PREFERENCE=LEGACY"
];
dontWrapQtApps = true;
@@ -37,7 +63,7 @@ stdenv.mkDerivation rec {
description = "An unofficial open source engine reimplementation of the game Morrowind";
homepage = "http://openmw.org";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
platforms = platforms.linux;
};
}
+115 -77
View File
@@ -1,96 +1,134 @@
{ lib, stdenv, cmake, openmw, fetchFromGitHub, luajit, makeWrapper, mygui }:
{ lib
, stdenv
, cmake
, openmw
, fetchFromGitHub
, formats
, luajit
, makeWrapper
, symlinkJoin
, mygui
, crudini
}:
# revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy
let
# TES3MP_STABLE_VERSION_FILE
compatHash = "292536439eeda58becdb7e441fe2e61ebb74529e";
rakNet = fetchFromGitHub {
owner = "TES3MP";
repo = "CrabNet";
# usually fixed:
# https://github.com/GrimKriegor/TES3MP-deploy/blob/d2a4a5d3acb64b16d9b8ca85906780aeea8d311b/tes3mp-deploy.sh#L589
rev = "4eeeaad2f6c11aeb82070df35169694b4fb7b04b";
sha256 = "0p0li9l1i5lcliswm5w9jql0zff9i6fwhiq0bl130m4i7vpr4cr3";
};
rakNetLibrary = stdenv.mkDerivation {
name = "RakNetLibrary";
src = rakNet;
nativeBuildInputs = [ cmake ];
installPhase = ''
install -Dm755 lib/libRakNetLibStatic.a $out/lib/libRakNetLibStatic.a
'';
};
coreScripts = fetchFromGitHub {
owner = "TES3MP";
repo = "CoreScripts";
# usually latest in stable branch (e.g. 0.7.0)
rev = "24aae91d9ddad38cdb3b0e0a13af59f142803e94";
sha256 = "1rfmxxr9ircfagdpbdrzl26msdhx1i3g974cblbv69078cradfh3";
};
# https://github.com/TES3MP/openmw-tes3mp/issues/555
mygui_ = mygui.overrideAttrs (oldAttrs: rec {
version = "3.2.2";
# raknet could also be split into dev and lib outputs
raknet = stdenv.mkDerivation {
pname = "raknet";
version = "unstable-2018-07-14";
src = fetchFromGitHub {
owner = "MyGUI";
repo = "mygui";
rev = "MyGUI${version}";
sha256 = "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw";
owner = "TES3MP";
repo = "CrabNet";
# usually fixed:
# https://github.com/GrimKriegor/TES3MP-deploy/blob/d2a4a5d3acb64b16d9b8ca85906780aeea8d311b/tes3mp-deploy.sh#L589
rev = "4eeeaad2f6c11aeb82070df35169694b4fb7b04b";
sha256 = "0p0li9l1i5lcliswm5w9jql0zff9i6fwhiq0bl130m4i7vpr4cr3";
};
nativeBuildInputs = [ cmake ];
installPhase = ''
install -Dm555 lib/libRakNetLibStatic.a $out/lib/libRakNetLibStatic.a
'';
};
coreScripts = stdenv.mkDerivation {
pname = "corescripts";
version = "unstable-2020-07-27";
src = fetchFromGitHub {
owner = "TES3MP";
repo = "CoreScripts";
# usually latest in stable branch (e.g. 0.7.1)
rev = "3c2d31595344db586d8585db0ef1fc0da89898a0";
sha256 = "sha256-m/pt2Et58HOMc1xqllGf4hjPLXNcc14+X0h84ouZDeg=";
};
buildCommand = ''
dir=$out/share/openmw-tes3mp
mkdir -p $dir
cp -r $src $dir/CoreScripts
'';
};
# build an unwrapped version so we don't have to rebuild it all over again in
# case the scripts or wrapper scripts change.
unwrapped = openmw.overrideAttrs (oldAttrs: rec {
pname = "openmw-tes3mp-unwrapped";
version = "unstable-2020-08-07";
src = fetchFromGitHub {
owner = "TES3MP";
repo = "openmw-tes3mp";
# usually latest in stable branch (e.g. 0.7.1)
rev = "ce5df6d18546e37aac9746d99c00d27a7f34b00d";
sha256 = "sha256-xLslShNA6rVFl9kt6BNGDpSYMpO25jBTCteLJoSTXdg=";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
buildInputs = oldAttrs.buildInputs ++ [ luajit ];
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF"
"-DRakNet_INCLUDES=${raknet.src}/include"
"-DRakNet_LIBRARY_RELEASE=${raknet}/lib/libRakNetLibStatic.a"
"-DRakNet_LIBRARY_DEBUG=${raknet}/lib/libRakNetLibStatic.a"
];
# https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [ ./tes3mp.patch ];
NIX_CFLAGS_COMPILE = "-fpermissive";
preConfigure = ''
substituteInPlace files/version.in \
--subst-var-by OPENMW_VERSION_COMMITHASH ${src.rev}
'';
# move everything that we wrap out of the way
postInstall = ''
mkdir -p $out/libexec
mv $out/bin/tes3mp-* $out/libexec
'';
meta = with lib; {
description = "Multiplayer for TES3:Morrowind based on OpenMW";
homepage = "https://tes3mp.com/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ peterhoeg ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
});
in openmw.overrideAttrs (oldAttrs: rec {
version = "2019-11-19";
name = "openmw-tes3mp-${version}";
src = fetchFromGitHub {
owner = "TES3MP";
repo = "openmw-tes3mp";
# usually latest in stable branch (e.g. 0.7.0)
rev = "ad9ee80641a3e22d0780daca051df7f4e90f3615";
sha256 = "03a1vldiv5lk7yq6lhicx3qz8hjfxhind2dj0w9lg5839ljyk6jv";
cfgFile = (formats.ini { }).generate "tes3mp-server.cfg" {
Plugins.home = "${coreScripts}/share/openmw-tes3mp/CoreScripts";
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
buildInputs = [ luajit mygui_ ] ++ oldAttrs.buildInputs;
in
symlinkJoin rec {
name = "openmw-tes3mp-${unwrapped.version}";
inherit (unwrapped) version meta;
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF"
"-DRakNet_INCLUDES=${rakNet}/include"
"-DRakNet_LIBRARY_RELEASE=${rakNetLibrary}/lib/libRakNetLibStatic.a"
"-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a"
];
nativeBuildInputs = [ makeWrapper ];
dontWrapQtApps = true;
paths = [ unwrapped ];
# https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [
./tes3mp.patch
];
NIX_CFLAGS_COMPILE = "-fpermissive";
# crudini --merge will create the file if it doesn't exist
postBuild = ''
mkdir -p $out/bin
preConfigure = ''
substituteInPlace files/version.in \
--subst-var-by OPENMW_VERSION_COMMITHASH ${compatHash}
'';
dir=\''${XDG_CONFIG_HOME:-\$HOME/.config}/openmw
postInstall = ''
# components/process/processinvoker.cpp: path.prepend(QLatin1String("./"))
wrapProgram $out/bin/tes3mp-browser \
makeWrapper ${unwrapped}/libexec/tes3mp-browser $out/bin/tes3mp-browser \
--run "cd $out/bin"
wrapProgram $out/bin/tes3mp-server \
--run "mkdir -p ~/.config/openmw" \
--run "cd ~/.config/openmw" \
--run "[ -d CoreScripts ] || cp --no-preserve=mode -r ${coreScripts} CoreScripts" \
--run "[ -f tes3mp-server.cfg ] || echo \"[Plugins] home = \$HOME/.config/openmw/CoreScripts\" > tes3mp-server.cfg" \
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"
'';
meta = with lib; {
description = "Multiplayer for TES3:Morrowind based on OpenMW";
homepage = "https://tes3mp.com/";
license = licenses.gpl3;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ ];
};
})
}
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "r2mod_cli";
version = "1.0.7";
version = "1.2.0";
src = fetchFromGitHub {
owner = "Foldex";
repo = "r2mod_cli";
rev = "v${version}";
sha256 = "13n2y9gsgb8hnr64y083x9c90j3b4awcmdn81mqmwcydpby3q848";
sha256 = "sha256-VNqdVDBR6+eNOeUthPXLfz+0VoaNfSj4f04HLvjg6/0=";
};
buildInputs = [ bashInteractive ];