Skip to content

Commit

Permalink
Merge pull request #16608 from vrthra/netsurf-framebuffer
Browse files Browse the repository at this point in the history
netsurf: enable sixel display
  • Loading branch information
jagajaga committed Jul 2, 2016
2 parents b5cacce + 0da53f8 commit 44a3eeb
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 16 deletions.
23 changes: 10 additions & 13 deletions pkgs/applications/misc/netsurf/browser/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{ stdenv, fetchurl, pkgconfig, libpng, openssl, curl, gtk2, check
{ stdenv, fetchurl, pkgconfig, libpng, openssl, curl, gtk2, check, SDL
, libxml2, libidn, perl, nettools, perlPackages
, libXcursor, libXrandr, makeWrapper
, uilib ? "framebuffer"
, buildsystem
, nsgenbind
, libnsfb
Expand All @@ -20,19 +21,15 @@ stdenv.mkDerivation rec {
name = "netsurf-${version}";
version = "3.5";

# UIS incldue Framebuffer, and gtk, but
# Framebuffer is buggy. To enable, make sure
# to also build netsurf-libnsfb with ui=framebuffer
# and switch the ui here to framebuffer
ui = "gtk";
# UI libs incldue Framebuffer, and gtk

src = fetchurl {
url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz";
sha256 = "1k0x8mzgavfy7q9kywl6kzsc084g1xlymcnsxi5v6jp279nsdwwq";
};

buildInputs = [ pkgconfig libpng openssl curl gtk2 check libxml2 libidn perl
nettools perlPackages.HTMLParser libXcursor libXrandr makeWrapper
nettools perlPackages.HTMLParser libXcursor libXrandr makeWrapper SDL
buildsystem
nsgenbind
libnsfb
Expand All @@ -49,23 +46,23 @@ stdenv.mkDerivation rec {

preConfigure = ''
cat <<EOF > Makefile.conf
override NETSURF_GTK_RESOURCES := $out/share/Netsurf/${ui}/res
override NETSURF_GTK_RESOURCES := $out/share/Netsurf/${uilib}/res
override NETSURF_USE_GRESOURCE := YES
EOF
'';

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
"TARGET=${ui}"
"TARGET=${uilib}"
];

installPhase = ''
mkdir -p $out/bin $out/share/Netsurf/${ui}
cmd=$(case "${ui}" in framebuffer) echo nsfb;; gtk) echo nsgtk;; esac)
mkdir -p $out/bin $out/share/Netsurf/${uilib}
cmd=$(case "${uilib}" in framebuffer) echo nsfb;; gtk) echo nsgtk;; esac)
cp $cmd $out/bin/netsurf
wrapProgram $out/bin/netsurf --set NETSURFRES $out/share/Netsurf/${ui}/res
tar -hcf - ${ui}/res | (cd $out/share/Netsurf/ && tar -xvpf -)
wrapProgram $out/bin/netsurf --set NETSURFRES $out/share/Netsurf/${uilib}/res
tar -hcf - ${uilib}/res | (cd $out/share/Netsurf/ && tar -xvpf -)
'';

meta = with stdenv.lib; {
Expand Down
6 changes: 3 additions & 3 deletions pkgs/applications/misc/netsurf/libnsfb/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, ui? "gtk"
{ stdenv, fetchurl, pkgconfig, uilib? "framebuffer", SDL
, buildsystem
}:

Expand All @@ -13,12 +13,12 @@ stdenv.mkDerivation rec {
sha256 = "176f8why9gzbaca9nnxjqasl02qzc6g507z5w3dzkcjifnkz4mzl";
};

buildInputs = [ pkgconfig buildsystem ];
buildInputs = [ pkgconfig buildsystem SDL ];

makeFlags = [
"PREFIX=$(out)"
"NSSHARED=${buildsystem}/share/netsurf-buildsystem"
"TARGET=${ui}"
"TARGET=${uilib}"
];

meta = with stdenv.lib; {
Expand Down
8 changes: 8 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2219,6 +2219,14 @@ in
netdata = callPackage ../tools/system/netdata { };

netsurf = recurseIntoAttrs (let callPackage = newScope pkgs.netsurf; in rec {
# ui could be gtk, sixel or framebuffer. Note that console display (sixel)
# requires a terminal that supports `sixel` capabilities such as mlterm
# or xterm -ti 340
ui = "sixel";

uilib = if ui == "gtk" then "gtk" else "framebuffer";

SDL = if ui == "gtk" then null else if ui == "sixel" then SDL_sixel else SDL;

buildsystem = callPackage ../applications/misc/netsurf/buildsystem { };

Expand Down

0 comments on commit 44a3eeb

Please sign in to comment.