about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2020-09-28 03:48:46 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2020-09-28 22:39:18 -0300
commit66fac9a0bf59b64f8a6c6b3ad2974bd824e9e9ba (patch)
treec9e1018bef4e761ec696275d5d6f9d21c5e50cd6 /pkgs/applications/networking/browsers
parenta5c9ce767b1eba17da40a7cf952831fd3448329b (diff)
Netsurf libnsfb: 0.2.1 -> 0.2.2
Diffstat (limited to 'pkgs/applications/networking/browsers')
-rw-r--r--pkgs/applications/networking/browsers/netsurf/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsfb.nix32
2 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix
index 6f2569548ed5d..627a84df2be58 100644
--- a/pkgs/applications/networking/browsers/netsurf/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/default.nix
@@ -1,11 +1,27 @@
 { lib, pkgs }:
 
 lib.makeScope pkgs.newScope (self: with self; {
+  # ui can be: gtk2, gtk3, sixel, framebuffer. Note that console display (sixel)
+  # requires a terminal that supports `sixel` capabilities, such as mlterm
+  # or xterm -ti 340
+  ui = "gtk3";
+  uilib =
+    if ui == "gtk2" ||
+       ui == "gtk3" ||
+       ui == "framebuffer" then ui
+    else if ui == "sixel" then "framebuffer"
+    else null; # Never will happen
+  SDL =
+    if ui == "sixel" then pkgs.SDL_sixel
+    else if ui == "framebuffer" then pkgs.SDL
+    else null;
+
   buildsystem    = callPackage ./buildsystem.nix { };
   libcss         = callPackage ./libcss.nix { };
   libdom         = callPackage ./libdom.nix { };
   libhubbub      = callPackage ./libhubbub.nix { };
   libnsbmp       = callPackage ./libnsbmp.nix { };
+  libnsfb        = callPackage ./libnsfb.nix { };
   libnsgif       = callPackage ./libnsgif.nix { };
   libnslog       = callPackage ./libnslog.nix { };
   libnspsl       = callPackage ./libnspsl.nix { };
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsfb.nix b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix
new file mode 100644
index 0000000000000..d37766f5330f2
--- /dev/null
+++ b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig
+, uilib, SDL
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+  pname = "netsurf-${libname}";
+  libname = "libnsfb";
+  version = "0.2.2";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "sha256-vkRso+tU35A/LamDEdEH11dM0R9awHE+YZFW1NGeo5o=";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ SDL buildsystem ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+    "TARGET=${uilib}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+    description = "Netsurf framebuffer abstraction library";
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}