summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-08-11 20:14:25 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-08-11 20:14:25 +0000
commit51f6aec764ffb473508dcc8095ce68c20fdab48d (patch)
treef1f95a43b16fa47adaba3043520980cedcbd52c5 /pkgs/applications
parent039b660b5b712c7197c24ae1da3e3e417c27e42f (diff)
downloadnixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.tar
nixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.tar.gz
nixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.tar.bz2
nixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.tar.lz
nixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.tar.xz
nixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.tar.zst
nixlib-51f6aec764ffb473508dcc8095ce68c20fdab48d.zip
Fixing the gcc-cross-wrapper; it failed after some changes related to breaking
dependencies with it. (I should never link ld.so with a NIX_LDFLAGS -rpath
forced)

I made vim, scummvm cross-build. I added prboom (that cross-builds).
Mplayer and elinks don't cross-build fine still, but are on the way.
The mplayer fails to build in a weird way; nix does not show either a gcc
error message or even the 'make' error message.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23131
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/vim/default.nix15
-rw-r--r--pkgs/applications/networking/browsers/elinks/default.nix10
-rw-r--r--pkgs/applications/video/MPlayer/default.nix31
3 files changed, 49 insertions, 7 deletions
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index 6f6a592a02d8..65811a3dc8ff 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -11,6 +11,21 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
 
   postInstall = "ln -s $out/bin/vim $out/bin/vi";
+
+  crossAttrs = {
+    configureFlags = [
+      "vim_cv_toupper_broken=no"
+      "--with-tlib=ncurses"
+      "vim_cv_terminfo=yes"
+      "vim_cv_tty_group=tty"
+      "vim_cv_tty_mode=0660"
+      "vim_cv_getcwd_broken=no"
+      "vim_cv_stat_ignores_slash=yes"
+      "ac_cv_sizeof_int=4"
+      "vim_cv_memmove_handles_overlap=yes"
+      "STRIP=${stdenv.cross.config}-strip"
+    ];
+  };
   
   meta = {
     description = "The most popular clone of the VI editor";
diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix
index 9fb59fcdb86d..e06bfe538c00 100644
--- a/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/pkgs/applications/networking/browsers/elinks/default.nix
@@ -18,6 +18,16 @@ stdenv.mkDerivation rec {
       --enable-nntp --with-openssl=${openssl}
     '';
 
+  crossAttrs = {
+    propagatedBuildInputs = [ ncurses.hostDrv zlib.hostDrv openssl.hostDrv ];
+    configureFlags = ''
+      --enable-finger --enable-html-highlight
+      --enable-gopher --enable-cgi --enable-bittorrent --enable-nntp
+      --with-openssl=${openssl.hostDrv}
+      --with-bzip2=${bzip2.hostDrv}
+    '';
+  };
+
   meta = {
     description = "Full-featured text-mode web browser";
     homepage = http://elinks.or.cz;
diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix
index e2c25c3360ce..e65ba86200be 100644
--- a/pkgs/applications/video/MPlayer/default.nix
+++ b/pkgs/applications/video/MPlayer/default.nix
@@ -1,10 +1,11 @@
 { alsaSupport ? false, xvSupport ? true, theoraSupport ? false, cacaSupport ? false
 , xineramaSupport ? false, randrSupport ? false, dvdnavSupport ? true
 , stdenv, fetchurl, x11, freetype, fontconfig, zlib
-, alsa ? null, libX11, libXv ? null, libtheora ? null, libcaca ? null
+, alsa ? null, libXv ? null, libtheora ? null, libcaca ? null
 , libXinerama ? null, libXrandr ? null, libdvdnav ? null
 , cdparanoia ? null, cddaSupport ? true
 , amrnb ? null, amrwb ? null, amrSupport ? false
+, x11Support ? true, libX11 ? null
 , jackaudioSupport ? false, jackaudio ? null
 , x264Support ? false, x264 ? null
 , xvidSupport ? false, xvidcore ? null
@@ -13,11 +14,12 @@
 }:
 
 assert alsaSupport -> alsa != null;
-assert xvSupport -> libXv != null;
+assert x11Support -> libX11 != null;
+assert xvSupport -> (libXv != null && x11Support);
 assert theoraSupport -> libtheora != null;
 assert cacaSupport -> libcaca != null;
-assert xineramaSupport -> libXinerama != null;
-assert randrSupport -> libXrandr != null;
+assert xineramaSupport -> (libXinerama != null && x11Support);
+assert randrSupport -> (libXrandr != null && x11Support);
 assert dvdnavSupport -> libdvdnav != null;
 assert cddaSupport -> cdparanoia != null;
 assert jackaudioSupport -> jackaudio != null;
@@ -54,7 +56,8 @@ stdenv.mkDerivation {
   };
 
   buildInputs =
-    [ x11 libXv freetype zlib mesa pkgconfig yasm ]
+    [ freetype zlib pkgconfig ]
+    ++ stdenv.lib.optional x11Support [ libX11 mesa ]
     ++ stdenv.lib.optional alsaSupport alsa
     ++ stdenv.lib.optional xvSupport libXv
     ++ stdenv.lib.optional theoraSupport libtheora
@@ -69,18 +72,32 @@ stdenv.mkDerivation {
     ++ stdenv.lib.optional xvidSupport xvidcore
     ++ stdenv.lib.optional lameSupport lame;
 
+  buildNativeInputs = [ yasm ];
+
   configureFlags = ''
     ${if cacaSupport then "--enable-caca" else "--disable-caca"}
     ${if dvdnavSupport then "--enable-dvdnav --enable-dvdread --disable-dvdread-internal" else ""}
     ${if x264Support then "--enable-x264 --extra-libs=-lx264" else ""}
     --codecsdir=${codecs}
     --enable-runtime-cpudetection
-    --enable-x11
+    ${if x11Support then "--enable-x11" else ""}
     --disable-xanim
     --disable-ivtv
   '';
 
-  NIX_LDFLAGS = "-lX11 -lXext";
+  NIX_LDFLAGS = if x11Support then "-lX11 -lXext" else "";
+
+  crossAttrs = {
+    preConfigure = ''
+      configureFlags="`echo $configureFlags |
+        sed -e 's/--build[^ ]\+//' \
+        -e 's/--host[^ ]\+//' \
+        -e 's/--codecsdir[^ ]\+//' \
+        -e 's/--enable-runtime-cpudetection//' `"
+      configureFlags="$configureFlags --target=${stdenv.cross.arch}-linux
+        --cc=$crossConfig-gcc --as=$crossConfig-as"
+    '';
+  };
 
   meta = {
     description = "A movie player that supports many video formats";