fishnet: 2.2.6 -> 2.4.0, fix build
fishnet-assets has been archived in favor of a submodule-based approach where Stockfish and Fairy-Stockfish are built from source. This means we now need to fetch the NNUE file, similar to Stockfish's standalone derivation.
This commit is contained in:
parent
48bf1250a8
commit
f73f35b8c8
2 changed files with 13 additions and 70 deletions
|
@ -1,58 +0,0 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, xz
|
||||
, autoPatchelfHook }:
|
||||
|
||||
# Assets for fishnet: A collection of pre-built compressed stockfish binaries.
|
||||
# We have to decompress them, patch them using auto-patchelf and compress them
|
||||
# again so that a selection of them can be embedded into the fishnet binary.
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fishnet-assets";
|
||||
version = "unstable-2020-03-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "niklasf";
|
||||
repo = pname;
|
||||
rev = "a1fe3ec6074ad9dc43e6d46e0d42fab5d7cce12c";
|
||||
sha256 = "1548wj2bs89b5w42z3c98hpnbln5w8p1909wyl7a63d8vkvnyn5l";
|
||||
};
|
||||
|
||||
relAssetsPath = "share/${pname}";
|
||||
|
||||
nativeBuildInputs = [ xz autoPatchelfHook ];
|
||||
|
||||
postPatch = ''
|
||||
# Delete packed .exe files and all non .xz files (documentation and readme)
|
||||
rm *.exe.xz
|
||||
find \! -name "*.xz" -delete
|
||||
# Extract .xz files, except *.nnue.xz
|
||||
# We don't have to unpack the latter and it takes ages to repack
|
||||
find -name "*.xz" \! -name "*.nnue.xz" | xargs unxz -v
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/${relAssetsPath}
|
||||
cp ./* $out/${relAssetsPath}
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gatherLibraries '${stdenv.cc.cc.lib}'
|
||||
'';
|
||||
|
||||
doDist = true;
|
||||
distPhase = ''
|
||||
# repack assets
|
||||
find $out/${relAssetsPath} -type f \! -name "*.xz" | xargs xz -v
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Assets for fishnet, only required during build";
|
||||
homepage = "https://github.com/niklasf/fishnet-assets";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ tu-maurice ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
|
@ -2,33 +2,34 @@
|
|||
, stdenv
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, xz
|
||||
, autoPatchelfHook }:
|
||||
, fetchurl
|
||||
}:
|
||||
|
||||
let
|
||||
assets = import ./assets.nix {
|
||||
inherit lib stdenv fetchFromGitHub xz autoPatchelfHook;
|
||||
nnueFile = "nn-6762d36ad265.nnue";
|
||||
nnue = fetchurl {
|
||||
url = "https://tests.stockfishchess.org/api/nn/${nnueFile}";
|
||||
sha256 = "0727dsxfpns9fkyir95fybibqmigk5h45k154b2c5rk5s9md6qk7";
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fishnet";
|
||||
version = "2.2.6";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "niklasf";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0dmc58wzv758b82pjpfzcfi0hr14hqcr61cd9v5xlgk5w78cisjq";
|
||||
sha256 = "sha256-1Gl2vJFn9yVYH62yBJefAOBX/jJaFAdSZj2Lj3imcps=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoSha256 = "1s37b0w1aav6gz399zncfp0zqh5sfy0zmabhl7n8p5cwlmlvnlsj";
|
||||
|
||||
preBuild = ''
|
||||
rmdir ./assets
|
||||
ln -snf ${assets}/${assets.relAssetsPath} ./assets
|
||||
postPatch = ''
|
||||
cp -v '${nnue}' 'Stockfish/src/${nnueFile}'
|
||||
cp -v '${nnue}' 'Fairy-Stockfish/src/${nnueFile}'
|
||||
'';
|
||||
|
||||
passthru.assets = assets;
|
||||
cargoSha256 = "sha256-/s7Yyi2FUh+EDvgaHLgZ/FA6kk2FQrZr3L3B76fqTuc=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Distributed Stockfish analysis for lichess.org";
|
||||
|
|
Loading…
Reference in a new issue