summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/w3m
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2015-08-18 20:37:49 +0000
committerJan Malakhovski <oxij@oxij.org>2015-11-26 00:34:09 +0000
commitcaed1528a3beb14b349bdfd76ce1caf7b7f9ea50 (patch)
tree336b58c560f86669fe669ba2f98b6cb2ba626e0a /pkgs/applications/networking/browsers/w3m
parent2b97070986967bab185af7a5a4f17f67e30af6f7 (diff)
downloadnixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.tar
nixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.tar.gz
nixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.tar.bz2
nixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.tar.lz
nixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.tar.xz
nixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.tar.zst
nixpkgs-caed1528a3beb14b349bdfd76ce1caf7b7f9ea50.zip
w3m: fix w3mimgdisplay, refactor the expression, make batch and nox versions, use batch version where appropriate
Diffstat (limited to 'pkgs/applications/networking/browsers/w3m')
-rw-r--r--pkgs/applications/networking/browsers/w3m/default.nix36
-rw-r--r--pkgs/applications/networking/browsers/w3m/no-x11.patch15
2 files changed, 37 insertions, 14 deletions
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index 32deafffe90..e71a733970e 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl
-, sslSupport ? true
-, graphicsSupport ? false
-, mouseSupport ? false
-, ncurses, openssl ? null, boehmgc, gettext, zlib
-, imlib2 ? null, xlibsWrapper ? null, fbcon ? null
-, gpm-ncurses ? null
+, ncurses, boehmgc, gettext, zlib
+, sslSupport ? true, openssl ? null
+, graphicsSupport ? true, imlib2 ? null
+, x11Support ? graphicsSupport, libX11 ? null
+, mouseSupport ? true, gpm-ncurses ? null
 }:
 
 assert sslSupport -> openssl != null;
-assert graphicsSupport -> imlib2 != null && (xlibsWrapper != null || fbcon != null);
+assert graphicsSupport -> imlib2 != null;
+assert x11Support -> graphicsSupport && libX11 != null;
 assert mouseSupport -> gpm-ncurses != null;
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   name = "w3m-0.5.3";
 
@@ -24,16 +26,19 @@ stdenv.mkDerivation rec {
   patches = [ ./glibc214.patch ]
     # Patch for the newer unstable boehm-gc 7.2alpha. Not all platforms use that
     # alpha. At the time of writing this, boehm-gc-7.1 is the last stable.
-    ++ stdenv.lib.optional (boehmgc.name != "boehm-gc-7.1") [ ./newgc.patch ]
-    ++ stdenv.lib.optional stdenv.isCygwin ./cygwin.patch;
+    ++ optional (boehmgc.name != "boehm-gc-7.1") [ ./newgc.patch ]
+    ++ optional stdenv.isCygwin ./cygwin.patch
+    # for frame buffer only version
+    ++ optional (graphicsSupport && !x11Support) [ ./no-x11.patch ];
 
   buildInputs = [ncurses boehmgc gettext zlib]
-    ++ stdenv.lib.optional sslSupport openssl
-    ++ stdenv.lib.optional mouseSupport gpm-ncurses
-    ++ stdenv.lib.optionals graphicsSupport [imlib2 xlibsWrapper fbcon];
+    ++ optional sslSupport openssl
+    ++ optional mouseSupport gpm-ncurses
+    ++ optional graphicsSupport imlib2
+    ++ optional x11Support libX11;
 
   configureFlags = "--with-ssl=${openssl} --with-gc=${boehmgc}"
-    + stdenv.lib.optionalString graphicsSupport " --enable-image=x11,fb";
+    + optionalString graphicsSupport " --enable-image=${optionalString x11Support "x11,"}fb";
 
   preConfigure = ''
     substituteInPlace ./configure --replace "/lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib /lib64 /usr/lib64" /no-such-path
@@ -42,7 +47,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = false;
 
-  meta = with stdenv.lib; {
+  # for w3mimgdisplay
+  LIBS = optionalString x11Support "-lX11";
+
+  meta = {
     homepage = http://w3m.sourceforge.net/;
     description = "A text-mode web browser";
     maintainers = [ maintainers.mornfall ];
diff --git a/pkgs/applications/networking/browsers/w3m/no-x11.patch b/pkgs/applications/networking/browsers/w3m/no-x11.patch
new file mode 100644
index 00000000000..83b3e96821f
--- /dev/null
+++ b/pkgs/applications/networking/browsers/w3m/no-x11.patch
@@ -0,0 +1,15 @@
+Forget about X11 in fb module.
+This breaks w3mimgdisplay under X11, but removes X11 dependency it in pure fb.
+diff --git a/w3mimg/fb/fb_imlib2.c b/w3mimg/fb/fb_imlib2.c
+index ea36637..d3d7bc3 100644
+--- a/w3mimg/fb/fb_imlib2.c
++++ b/w3mimg/fb/fb_imlib2.c
+@@ -3,7 +3,7 @@
+                 fb_imlib2.c 0.3 Copyright (C) 2002, hito
+  **************************************************************************/
+ 
+-#include <X11/Xlib.h>
++#define X_DISPLAY_MISSING
+ #include <Imlib2.h>
+ #include "fb.h"
+ #include "fb_img.h"