3
0
Fork 0
forked from mirrors/nixpkgs

bootil: cleanup installation

A few changes needed here:

- We don’t want to guess what our platform is. We can patch location
  and targetdir to not put things in an unpredictable directory.
- Make premake4 a native build input.
- Set the premakefile variable.
This commit is contained in:
Matthew Bauer 2018-11-26 18:02:16 -06:00
parent fd78464de9
commit a06eb84705

View file

@ -23,21 +23,21 @@ stdenv.mkDerivation rec {
url = https://github.com/garrynewman/bootil/pull/22.patch;
name = "github-pull-request-22.patch";
sha256 = "1qf8wkv00pb9w1aa0dl89c8gm4rmzkxfl7hidj4gz0wpy7a24qa2";
})];
}) ];
platform =
if stdenv.isLinux then "linux"
else if stdenv.isDarwin then "macosx"
else throw "unrecognized system ${stdenv.hostPlatform.system}";
# Avoid guessing where files end up. Just use current directory.
postPatch = ''
substituteInPlace projects/premake4.lua \
--replace 'location ( os.get() .. "/" .. _ACTION )' 'location ( ".." )'
substituteInPlace projects/bootil.lua \
--replace 'targetdir ( "../lib/" .. os.get() .. "/" .. _ACTION )' 'targetdir ( ".." )'
'';
buildInputs = [ premake4 ];
configurePhase = "premake4 --file=projects/premake4.lua gmake";
makeFlags = "-C projects/${platform}/gmake";
nativeBuildInputs = [ premake4 ];
premakefile = "projects/premake4.lua";
installPhase = ''
mkdir -p $out/lib
cp lib/${platform}/gmake/libbootil_static.a $out/lib/
cp -r include $out/
install -D libbootil_static.a $out/lib/libbootil_static.a
cp -r include $out
'';
}