summary refs log tree commit diff
path: root/pkgs/development/libraries/glew/default.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2014-02-24 05:46:04 +0100
committeraszlig <aszlig@redmoonstudios.org>2014-02-24 07:26:24 +0100
commitb9bc42d0f33e5490e8e1fbbf6048f2fc641bc546 (patch)
tree2cc7dc44eeec61c0059fc9ff191bd0a947baa28f /pkgs/development/libraries/glew/default.nix
parentd0142e9b09ef8a30a26d4aad922c78bf8c83a7b7 (diff)
downloadnixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.tar
nixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.tar.gz
nixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.tar.bz2
nixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.tar.lz
nixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.tar.xz
nixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.tar.zst
nixpkgs-b9bc42d0f33e5490e8e1fbbf6048f2fc641bc546.zip
glew/cross: Fix building with mingw-w64.
This also cleans up the package expression a bit and we no longer
directly override the phases (except patchPhase).

Also for cross-builds we're using the stock mingw target and pass CC, LD
and STRIP to make, because the mingw-w64 targets of the upstream package
are outdated.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/development/libraries/glew/default.nix')
-rw-r--r--pkgs/development/libraries/glew/default.nix24
1 files changed, 18 insertions, 6 deletions
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index ef81f210d39..b79fa97047b 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, mesa_glu, x11, libXmu, libXi }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "glew-1.10.0";
 
@@ -8,23 +10,33 @@ stdenv.mkDerivation rec {
     sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r";
   };
 
-
-  buildInputs = [ x11 libXmu libXi ];
-  propagatedBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h
+  nativeBuildInputs = [ x11 libXmu libXi ];
+  propagatedNativeBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h
 
   patchPhase = ''
     sed -i 's|lib64|lib|' config/Makefile.linux
   '';
 
-buildPhase = "make all";
-  installPhase = ''
-    GLEW_DEST=$out make install.all
+  buildFlags = [ "all" ];
+  installFlags = [ "install.all" ];
+
+  preInstall = ''
+    export GLEW_DEST="$out"
+  '';
+
+  postInstall = ''
     mkdir -pv $out/share/doc/glew
     mkdir -p $out/lib/pkgconfig
     cp glew*.pc $out/lib/pkgconfig
     cp -r README.txt LICENSE.txt doc $out/share/doc/glew
   '';
 
+  crossAttrs.makeFlags = [
+    "CC=${stdenv.cross.config}-gcc"
+    "LD=${stdenv.cross.config}-gcc"
+    "STRIP="
+  ] ++ optional (stdenv.cross.config == "x86_64-w64-mingw32") "SYSTEM=mingw";
+
   meta = {
     description = "An OpenGL extension loading library for C(++)";
     homepage = http://glew.sourceforge.net/;