summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/misc/netsurf/buildsystem/default.nix24
-rw-r--r--pkgs/applications/misc/netsurf/libhubbub/default.nix35
-rw-r--r--pkgs/applications/misc/netsurf/libnsfb/default.nix32
-rw-r--r--pkgs/applications/misc/netsurf/nsgenbind/default.nix30
-rw-r--r--pkgs/applications/networking/browsers/netsurf/browser.nix (renamed from pkgs/applications/misc/netsurf/browser/default.nix)45
-rw-r--r--pkgs/applications/networking/browsers/netsurf/buildsystem.nix24
-rw-r--r--pkgs/applications/networking/browsers/netsurf/default.nix36
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libcss.nix (renamed from pkgs/applications/misc/netsurf/libcss/default.nix)29
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libdom.nix (renamed from pkgs/applications/misc/netsurf/libdom/default.nix)26
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libhubbub.nix44
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsbmp.nix (renamed from pkgs/applications/misc/netsurf/libnsbmp/default.nix)15
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsfb.nix32
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsgif.nix (renamed from pkgs/applications/misc/netsurf/libnsgif/default.nix)13
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnslog.nix (renamed from pkgs/applications/misc/netsurf/libnslog/default.nix)17
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnspsl.nix (renamed from pkgs/applications/misc/netsurf/libnspsl/default.nix)15
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsutils.nix (renamed from pkgs/applications/misc/netsurf/libnsutils/default.nix)15
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libparserutils.nix (renamed from pkgs/applications/misc/netsurf/libparserutils/default.nix)13
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix (renamed from pkgs/applications/misc/netsurf/libsvgtiny/default.nix)12
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libutf8proc.nix (renamed from pkgs/applications/misc/netsurf/libutf8proc/default.nix)13
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix (renamed from pkgs/applications/misc/netsurf/libwapcaplet/default.nix)13
-rw-r--r--pkgs/applications/networking/browsers/netsurf/nsgenbind.nix30
-rw-r--r--pkgs/top-level/all-packages.nix45
22 files changed, 274 insertions, 284 deletions
diff --git a/pkgs/applications/misc/netsurf/buildsystem/default.nix b/pkgs/applications/misc/netsurf/buildsystem/default.nix
deleted file mode 100644
index 9d690546102..00000000000
--- a/pkgs/applications/misc/netsurf/buildsystem/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-
-  pname = "netsurf-buildsystem";
-  version = "1.8";
-
-  src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz";
-    sha256 = "0ffdjwskxlnh8sk40qqfgksbb1nrdzfxsshrscra0p4nqpkj98z6";
-  };
-
-  makeFlags = [
-    "PREFIX=$(out)"
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
-    description = "Build system for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/misc/netsurf/libhubbub/default.nix b/pkgs/applications/misc/netsurf/libhubbub/default.nix
deleted file mode 100644
index 7cfd0a935f3..00000000000
--- a/pkgs/applications/misc/netsurf/libhubbub/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, perl
-, buildsystem
-, libparserutils
-}:
-
-stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
-  libname = "libhubbub";
-  version = "0.3.6";
-
-  src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "1x3v7xvagx85v9h3pypzc86rcxs4mij87mmcqkp8pq50q6awfmnp";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl
-    buildsystem
-    libparserutils
-  ];
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
-    description = "HTML5 parser library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/netsurf/libnsfb/default.nix b/pkgs/applications/misc/netsurf/libnsfb/default.nix
deleted file mode 100644
index 4e56ce7f5a1..00000000000
--- a/pkgs/applications/misc/netsurf/libnsfb/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, uilib? "framebuffer", SDL
-, buildsystem
-}:
-
-stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
-  libname = "libnsfb";
-  version = "0.2.1";
-
-  src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "09qag9lgn5ahanbcyf2rvfmsz15vazfwnl8xpn8f1iczd44b0bv0";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ buildsystem SDL ];
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
-    "TARGET=${uilib}"
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
-    description = "CSS parser and selection library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/netsurf/nsgenbind/default.nix b/pkgs/applications/misc/netsurf/nsgenbind/default.nix
deleted file mode 100644
index 2dd4b830102..00000000000
--- a/pkgs/applications/misc/netsurf/nsgenbind/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl
-, flex, bison
-, buildsystem
-}:
-
-stdenv.mkDerivation rec {
-
-  pname = "netsurf-nsgenbind";
-  version = "0.7";
-
-  src = fetchurl {
-    url = "http://download.netsurf-browser.org/libs/releases/nsgenbind-${version}-src.tar.gz";
-    sha256 = "0rplmky4afsjwiwh7grkmcdmzg86zksa55j93dvq92f91yljwqqq";
-  };
-
-  buildInputs = [ buildsystem flex bison ];
-
-  makeFlags = [
-    "PREFIX=$(out)"
-    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
-    description = "Generator for JavaScript bindings for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/netsurf/browser/default.nix b/pkgs/applications/networking/browsers/netsurf/browser.nix
index f2fdd01215d..407d94a4dc4 100644
--- a/pkgs/applications/misc/netsurf/browser/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/browser.nix
@@ -1,25 +1,21 @@
 { stdenv, fetchurl, fetchpatch, makeWrapper, wrapGAppsHook
 
 # Buildtime dependencies.
-
 , check, pkgconfig, xxd
 
 # Runtime dependencies.
-
 , curl, expat, libXcursor, libXrandr, libidn, libjpeg, libpng, libwebp, libxml2
 , openssl, perl, perlPackages
 
 # uilib-specific dependencies
-
 , gtk2 # GTK 2
+, gtk3 # GTK 3
 , SDL  # Framebuffer
 
 # Configuration
-
-, uilib ? "framebuffer"
+, uilib
 
 # Netsurf-specific dependencies
-
 , libcss, libdom, libhubbub, libnsbmp, libnsfb, libnsgif
 , libnslog, libnspsl, libnsutils, libparserutils, libsvgtiny, libutf8proc
 , libwapcaplet, nsgenbind
@@ -29,24 +25,14 @@ let
   inherit (stdenv.lib) optional optionals;
 in
 stdenv.mkDerivation rec {
-
   pname = "netsurf";
-  version = "3.9";
+  version = "3.10";
 
   src = fetchurl {
-    url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz";
-    sha256 = "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp";
+    url = "http://download.netsurf-browser.org/netsurf/releases/source/${pname}-${version}-src.tar.gz";
+    sha256 = "sha256-NkhEKeGTYUaFwv8kb1W9Cm3d8xoBi+5F4NH3wohRmV4=";
   };
 
-  patches = [
-    # GTK: prefer using curl's intrinsic defaults for CURLOPT_CA*
-    (fetchpatch {
-	  name = "0001-GTK-prefer-using-curl-s-intrinsic-defaults-for-CURLO.patch";
-      url = "http://source.netsurf-browser.org/netsurf.git/patch/?id=87177d8aa109206d131e0d80a2080ce55dab01c7";
-      sha256 = "08bc60pc5k5qpckqv21zgmgszj3rpwskfc84shs8vg92vkimv2ai";
-    })
-  ];
-
   nativeBuildInputs = [
     makeWrapper
     perl
@@ -54,10 +40,10 @@ stdenv.mkDerivation rec {
     pkgconfig
     xxd
   ]
-  ++ optional (uilib == "gtk") wrapGAppsHook
+  ++ optional (uilib == "gtk2" || uilib == "gtk3") wrapGAppsHook
   ;
 
-  buildInputs = [ 
+  buildInputs = [
     check curl libXcursor libXrandr libidn libjpeg libpng libwebp libxml2 openssl
     # Netsurf-specific libraries
     nsgenbind libnsfb libwapcaplet libparserutils libnslog libcss
@@ -65,7 +51,8 @@ stdenv.mkDerivation rec {
     libutf8proc
   ]
   ++ optionals (uilib == "framebuffer") [ expat SDL ]
-  ++ optional (uilib == "gtk") gtk2
+  ++ optional (uilib == "gtk2") gtk2
+  ++ optional (uilib == "gtk3") gtk3
   ;
 
   preConfigure = ''
@@ -81,10 +68,16 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
-    description = "Free opensource web browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    homepage = "https://www.netsurf-browser.org/";
+    description = "A free, open source, small web browser";
+    longDescription = ''
+      NetSurf is a free, open source web browser. It is written in C and
+      released under the GNU Public Licence version 2. NetSurf has its own
+      layout and rendering engine entirely written from scratch. It is small and
+      capable of handling many of the web standards in use today.
+    '';
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/buildsystem.nix b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
new file mode 100644
index 00000000000..2d625b72544
--- /dev/null
+++ b/pkgs/applications/networking/browsers/netsurf/buildsystem.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "netsurf-${libname}";
+  libname = "buildsystem";
+  version = "1.9";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}.tar.gz";
+    sha256 = "sha256-k4QeMUpoggmiC4dF8GU5PzqQ8Bvmj0Xpa8jS9KKqmio=";
+  };
+
+  makeFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.netsurf-browser.org/";
+    description = "NetSurf browser shared build system";
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/netsurf/default.nix b/pkgs/applications/networking/browsers/netsurf/default.nix
new file mode 100644
index 00000000000..409ab80ce3a
--- /dev/null
+++ b/pkgs/applications/networking/browsers/netsurf/default.nix
@@ -0,0 +1,36 @@
+{ 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;
+
+  browser = callPackage ./browser.nix { };
+
+  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 { };
+  libnsutils     = callPackage ./libnsutils.nix { };
+  libparserutils = callPackage ./libparserutils.nix { };
+  libsvgtiny     = callPackage ./libsvgtiny.nix { };
+  libutf8proc    = callPackage ./libutf8proc.nix { };
+  libwapcaplet   = callPackage ./libwapcaplet.nix { };
+  nsgenbind      = callPackage ./nsgenbind.nix { };
+})
diff --git a/pkgs/applications/misc/netsurf/libcss/default.nix b/pkgs/applications/networking/browsers/netsurf/libcss.nix
index 528b0d9b958..db907edd879 100644
--- a/pkgs/applications/misc/netsurf/libcss/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libcss.nix
@@ -1,26 +1,25 @@
 { stdenv, fetchurl, pkgconfig, perl
 , buildsystem
-, libwapcaplet
 , libparserutils
+, libwapcaplet
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libcss";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr";
+    sha256 = "sha256-0tzhbpM5Lo1qcglCDUfC1Wo4EXAaDoGnJPxUHGPTxtw=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl
-    buildsystem
-    libwapcaplet
+  buildInputs = [
+    perl
     libparserutils
-  ];
+    libwapcaplet
+    buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -30,10 +29,16 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE= "-Wno-error=implicit-fallthrough";
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "Cascading Style Sheets library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    longDescription = ''
+      LibCSS is a CSS parser and selection engine. It aims to parse the forward
+      compatible CSS grammar. It was developed as part of the NetSurf project
+      and is available for use by other software, under a more permissive
+      license.
+    '';
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libdom/default.nix b/pkgs/applications/networking/browsers/netsurf/libdom.nix
index 8dde3e336cd..3aa9e3a1878 100644
--- a/pkgs/applications/misc/netsurf/libdom/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libdom.nix
@@ -6,23 +6,22 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libdom";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy";
+    sha256 = "sha256-mO4HJHHlXiCMmHjlFcQQrUYso2+HtK/L7K0CPzos70o=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ expat
-    buildsystem
+  buildInputs = [
+    expat
+    libhubbub
     libparserutils
     libwapcaplet
-    libhubbub
-  ];
+    buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -30,10 +29,15 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "Document Object Model library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    longDescription = ''
+      LibDOM is an implementation of the W3C DOM, written in C. It is currently
+      in development for use with NetSurf and is intended to be suitable for use
+      in other projects under a more permissive license.
+    '';
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libhubbub.nix b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
new file mode 100644
index 00000000000..53b8d270d4f
--- /dev/null
+++ b/pkgs/applications/networking/browsers/netsurf/libhubbub.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, pkgconfig, perl
+, buildsystem
+, libparserutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "netsurf-${libname}";
+  libname = "libhubbub";
+  version = "0.3.7";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "sha256-nnriU+bJBp51frmtTkhG84tNtSwMoBUURqn6Spd3NbY=";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    perl
+    libparserutils
+    buildsystem ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.netsurf-browser.org/projects/hubbub/";
+    description = "HTML5 parser library for netsurf browser";
+    longDescription = ''
+      Hubbub is an HTML5 compliant parsing library, written in C. It was
+      developed as part of the NetSurf project and is available for use by other
+      software under the MIT licence.
+
+      The HTML5 specification defines a parsing algorithm, based on the
+      behaviour of mainstream browsers, which provides instructions for how to
+      parse all markup, both valid and invalid. As a result, Hubbub parses web
+      content well.
+    '';
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libnsbmp/default.nix b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
index 8a7e8b60741..95487eed00f 100644
--- a/pkgs/applications/misc/netsurf/libnsbmp/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsbmp.nix
@@ -3,20 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libnsbmp";
   version = "0.1.6";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r";
+    sha256 = "sha256-ecSTZfhg7UUb/EEJ7d7I3j6bfOWjvgaVlr0qoZJ5Mk8=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    buildsystem
-  ];
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -24,10 +21,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/";
     description = "BMP Decoder for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsfb.nix b/pkgs/applications/networking/browsers/netsurf/libnsfb.nix
new file mode 100644
index 00000000000..d37766f5330
--- /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;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libnsgif/default.nix b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
index 8bb67df70da..d8683280c4e 100644
--- a/pkgs/applications/misc/netsurf/libnsgif/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsgif.nix
@@ -3,18 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libnsgif";
   version = "0.2.1";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly";
+    sha256 = "sha256-nq6lNM1wtTxar0UxeulXcBaFprSojb407Sb0+q6Hmks=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ buildsystem];
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -22,10 +21,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "GIF Decoder for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libnslog/default.nix b/pkgs/applications/networking/browsers/netsurf/libnslog.nix
index 43b4622ab03..12fdcff50bd 100644
--- a/pkgs/applications/misc/netsurf/libnslog/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnslog.nix
@@ -3,20 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libnslog";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd";
+    sha256 = "sha256-/JjcqdfvpnCWRwpdlsAjFG4lv97AjA23RmHHtNsEU9A=";
   };
 
   nativeBuildInputs = [ pkgconfig bison flex ];
-  buildInputs = [
-    buildsystem
-  ];
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -24,10 +21,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/";
     description = "NetSurf Parametric Logging Library";
-    license = licenses.mit;
-    maintainers = [ maintainers.samueldr ];
+    license = licenses.isc;
+    maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libnspsl/default.nix b/pkgs/applications/networking/browsers/netsurf/libnspsl.nix
index 5ded38d974e..4338f78247c 100644
--- a/pkgs/applications/misc/netsurf/libnspsl/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnspsl.nix
@@ -3,20 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libnspsl";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd";
+    sha256 = "sha256-08WCBct40xC/gcpVNHotCYcZzsrHBGvDZ5g7E4tFAgs=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    buildsystem
-  ];
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -24,10 +21,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/";
     description = "NetSurf Public Suffix List - Handling library";
     license = licenses.mit;
-    maintainers = [ maintainers.samueldr ];
+    maintainers =  [ maintainers.samueldr maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libnsutils/default.nix b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
index 6d3a3d1f104..42c8b8b0621 100644
--- a/pkgs/applications/misc/netsurf/libnsutils/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
@@ -3,18 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libnsutils";
-  version = "0.0.5";
+  version = "0.1.0";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf";
+    sha256 = "sha256-eQxlFjRKvoL2KJ1lY5LpzOvkdbIMx+Hi2EMBE4X3rvA=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ buildsystem];
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -22,10 +21,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "Generalised utility library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libparserutils/default.nix b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
index 9fcd5cfebf6..b96018d92eb 100644
--- a/pkgs/applications/misc/netsurf/libparserutils/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libparserutils.nix
@@ -3,17 +3,16 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libparserutils";
   version = "0.2.4";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj";
+    sha256 = "sha256-MiuuYbMMzt4+MFv26uJBSSBkl3W8X/HRtogBKjxJR9g=";
   };
 
-  buildInputs = [ buildsystem perl ];
+  buildInputs = [ perl buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -21,10 +20,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "Parser building library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libsvgtiny/default.nix b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
index b6e1b5a1667..aef154bbc17 100644
--- a/pkgs/applications/misc/netsurf/libsvgtiny/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libsvgtiny.nix
@@ -7,24 +7,22 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libsvgtiny";
   version = "0.1.7";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c";
+    sha256 = "sha256-LA3PlS8c2ILD6VQB75RZ8W27U8XT5FEjObL563add4E=";
   };
 
   nativeBuildInputs = [ pkgconfig gperf ];
   buildInputs = [
-    buildsystem
     libdom
     libhubbub
     libparserutils
     libwapcaplet
-  ];
+    buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -32,10 +30,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "NetSurf SVG decoder";
     license = licenses.mit;
-    maintainers = [ maintainers.samueldr ];
+    maintainers = [ maintainers.samueldr maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libutf8proc/default.nix b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
index dcd56182e32..59bae9e941e 100644
--- a/pkgs/applications/misc/netsurf/libutf8proc/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
@@ -3,18 +3,17 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libutf8proc";
   version = "2.4.0-1";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "0wn409laqaqlqnz2d77419b5rya99vvc696vj187biy1i5livaq1";
+    sha256 = "sha256-AasdaYnBx3VQkNskw/ZOSflcVgrknCa+xRQrrGgCxHI=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ buildsystem];
+  buildInputs = [ buildsystem ];
 
   makeFlags = [
     "PREFIX=$(out)"
@@ -22,10 +21,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "UTF8 Processing library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/libwapcaplet/default.nix b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
index f3c7bcbd1a0..8c5af461fd0 100644
--- a/pkgs/applications/misc/netsurf/libwapcaplet/default.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libwapcaplet.nix
@@ -3,14 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-
-  name = "netsurf-${libname}-${version}";
+  pname = "netsurf-${libname}";
   libname = "libwapcaplet";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "1fjwzbn7j8bi1b9bvwxsy3i2cr6byq2s2d29866801pjnf528g86";
+    sha256 = "sha256-myqh3W1mRfjpkrNpf9vYfwwOHaVyH6VO0ptITRMWDFw=";
   };
 
   buildInputs = [ buildsystem ];
@@ -23,10 +22,10 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error=cast-function-type";
 
   meta = with stdenv.lib; {
-    homepage = "http://www.netsurf-browser.org/";
+    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
     description = "String internment library for netsurf browser";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.vrthra ];
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix b/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
new file mode 100644
index 00000000000..0be7adc4a59
--- /dev/null
+++ b/pkgs/applications/networking/browsers/netsurf/nsgenbind.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl
+, flex, bison
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+  pname = "netsurf-${libname}";
+  libname = "nsgenbind";
+  version = "0.8";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "sha256-TY1TrQAK2nEncjZeanPrj8XOl1hK+chlrFsmohh/HLM=";
+  };
+
+  buildInputs = [ flex bison buildsystem ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.netsurf-browser.org/";
+    description = "Generator for JavaScript bindings for netsurf browser";
+    license = licenses.mit;
+    maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index aa46809f242..4a455c9b5e5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5047,49 +5047,8 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreFoundation IOKit;
   };
 
-  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 { };
-
-    libwapcaplet = callPackage ../applications/misc/netsurf/libwapcaplet { };
-
-    nsgenbind = callPackage ../applications/misc/netsurf/nsgenbind { };
-
-    libparserutils = callPackage ../applications/misc/netsurf/libparserutils { };
-
-    libnslog = callPackage ../applications/misc/netsurf/libnslog { };
-
-    libcss = callPackage ../applications/misc/netsurf/libcss { };
-
-    libhubbub = callPackage ../applications/misc/netsurf/libhubbub { };
-
-    libdom = callPackage ../applications/misc/netsurf/libdom { };
-
-    libnsbmp = callPackage ../applications/misc/netsurf/libnsbmp { };
-
-    libnsgif = callPackage ../applications/misc/netsurf/libnsgif { };
-
-    libnsfb = callPackage ../applications/misc/netsurf/libnsfb { };
-
-    libnsutils = callPackage ../applications/misc/netsurf/libnsutils { };
-
-    libsvgtiny = callPackage ../applications/misc/netsurf/libsvgtiny { };
-
-    libnspsl = callPackage ../applications/misc/netsurf/libnspsl { };
-
-    libutf8proc = callPackage ../applications/misc/netsurf/libutf8proc { };
-
-    browser = callPackage ../applications/misc/netsurf/browser { };
-
-  });
+  netsurf = recurseIntoAttrs (callPackage ../applications/networking/browsers/netsurf { });
+  netsurf-browser = netsurf.browser;
 
   netperf = callPackage ../applications/networking/netperf { };