summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2019-02-11 21:10:30 +0100
committerDaiderd Jordan <daiderd@gmail.com>2019-02-11 21:38:09 +0100
commitbe1291e11b3ab0b481471970bffd40385b55a0bf (patch)
tree35f02b6f144393ff4c0b690db9961f627cb52c54 /pkgs
parent1a88aa9e0cdcbc12acc5cbdc379c0804d208e913 (diff)
downloadnixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.tar
nixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.tar.gz
nixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.tar.bz2
nixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.tar.lz
nixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.tar.xz
nixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.tar.zst
nixpkgs-be1291e11b3ab0b481471970bffd40385b55a0bf.zip
luarocks: patch sw_vers and gcc on darwin
The sw_vers binary is not part of the stdenv and it would make builds
impure based on what macOS version they where built on.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/misc/luarocks/darwin.patch27
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix22
2 files changed, 39 insertions, 10 deletions
diff --git a/pkgs/development/tools/misc/luarocks/darwin.patch b/pkgs/development/tools/misc/luarocks/darwin.patch
new file mode 100644
index 00000000000..ec7f924987a
--- /dev/null
+++ b/pkgs/development/tools/misc/luarocks/darwin.patch
@@ -0,0 +1,27 @@
+diff --git a/src/luarocks/cfg.lua b/src/luarocks/cfg.lua
+index 55cd4c9..060a6f1 100644
+--- a/src/luarocks/cfg.lua
++++ b/src/luarocks/cfg.lua
+@@ -587,9 +587,9 @@ if cfg.platforms.macosx then
+    defaults.external_lib_extension = "dylib"
+    defaults.arch = "macosx-"..cfg.target_cpu
+    defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load"
+-   defaults.variables.STAT = "/usr/bin/stat"
++   defaults.variables.STAT = "stat"
+    defaults.variables.STATFLAG = "-f '%A'"
+-   local version = io.popen("sw_vers -productVersion"):read("*l")
++   local version = "10.10"
+    version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3
+    if version >= 10 then
+       version = 8
+@@ -598,8 +598,8 @@ if cfg.platforms.macosx then
+    else
+       defaults.gcc_rpath = false
+    end
+-   defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc"
+-   defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc"
++   defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang"
++   defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang"
+    defaults.web_browser = "open"
+ end
+ 
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 8b9bf453c46..ad50e7e8e6d 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -6,6 +6,7 @@
 # some packages need to be compiled with cmake
 , cmake
 }:
+
 let
   s = # Generated upstream information
   rec {
@@ -20,18 +21,20 @@ let
     lua curl makeWrapper which unzip
   ];
 in
+
 stdenv.mkDerivation {
   inherit (s) name version;
   inherit buildInputs;
   src = fetchurl {
     inherit (s) url sha256;
   };
+  patches = [ ./darwin.patch ];
   preConfigure = ''
     lua -e "" || {
         luajit -e "" && {
-	    export LUA_SUFFIX=jit
-	    configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX"
-	}
+            export LUA_SUFFIX=jit
+            configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX"
+        }
     }
     lua_inc="$(echo "${lua}/include"/*/)"
     if test -n "$lua_inc"; then
@@ -42,13 +45,12 @@ stdenv.mkDerivation {
     sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
     for i in "$out"/bin/*; do
         test -L "$i" || {
-	    wrapProgram "$i" \
-	      --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
-	      --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
-	      --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
-	      --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua"
-
-	}
+            wrapProgram "$i" \
+              --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
+              --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+              --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
+              --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua"
+        }
     done
   '';