58 lines
1.5 KiB
Nix
58 lines
1.5 KiB
Nix
|
{ 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-01-30";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "niklasf";
|
||
|
repo = pname;
|
||
|
rev = "b4fa30e57ec8976fb1c10bd36737bc784351b93e";
|
||
|
sha256 = "0gfs9lm4ih3h3fmgqylw05ii1h0d6mpjfxadnw3wymnjsspfb0m4";
|
||
|
};
|
||
|
|
||
|
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 ];
|
||
|
};
|
||
|
}
|