dotfiles/packages/flexbv.nix

55 lines
989 B
Nix

#
# flexbv board viewer
#
{
stdenv,
libGL,
SDL2,
makeWrapper,
buildFHSEnv,
libz,
fontconfig
}:
let
#
# The FlexBV provided binaries are static and self-unpacking, with a hardcoded next-stage
# dynamic loader path; and the format is an atypical variant of UPX.
#
# We'll create an inner package, and wrap it in an FHSEnv so we don't have to deal
# with patching the interpreter.
#
flexbv = stdenv.mkDerivation {
pname = "flexbv-unwrapped";
version = "5.0345";
src = ../proprietary/flexbv5/FlexBV-5.0436-linux-3N5871753H701314U.tgz;
dontBuild = true;
dontConfigure = true;
nativeBuildInputs = [
makeWrapper
];
buildInputs = [
libGL
SDL2.out
libz.out
fontconfig.lib
];
# Set up the env with our binaries.
installPhase = ''
mkdir -p $out/bin
cp * $out/bin
'';
};
in buildFHSEnv {
name = "flexbv";
targetPkgs = (pkgs: flexbv.buildInputs ++ [ flexbv ]);
runScript = ''
flexbv "$@"
'';
}