From a06eb847058584480487e840a1c9b78cb7828e84 Mon Sep 17 00:00:00 2001
From: Matthew Bauer <mjbauer95@gmail.com>
Date: Mon, 26 Nov 2018 18:02:16 -0600
Subject: [PATCH] bootil: cleanup installation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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.
---
 pkgs/development/libraries/bootil/default.nix | 24 +++++++++----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/pkgs/development/libraries/bootil/default.nix b/pkgs/development/libraries/bootil/default.nix
index b64cdd5245fd..0ed223832b6c 100644
--- a/pkgs/development/libraries/bootil/default.nix
+++ b/pkgs/development/libraries/bootil/default.nix
@@ -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
   '';
 }