diff --git a/recipes/netsurf/01_redox.patch b/recipes/netsurf/01_redox.patch
index 1014d2b84dedb2e8f0317db28920c5cf124bd251..e4d14fcff6c29f03b1c873ae7702f4de4951d3fd 100644
--- a/recipes/netsurf/01_redox.patch
+++ b/recipes/netsurf/01_redox.patch
@@ -1,6 +1,6 @@
-diff -rupNw source/libnsfb/Makefile source_redox/libnsfb/Makefile
---- source/libnsfb/Makefile	2017-10-16 04:09:35.000000000 -0600
-+++ source_redox/libnsfb/Makefile	2018-02-27 20:06:03.318184866 -0700
+diff -rupNw source-original/libnsfb/Makefile source/libnsfb/Makefile
+--- source-original/libnsfb/Makefile	2017-10-16 12:09:35.000000000 +0200
++++ source/libnsfb/Makefile	2018-02-28 15:55:23.835716012 +0100
 @@ -43,10 +43,10 @@ endif
  NSFB_XCB_PKG_NAMES := xcb xcb-icccm xcb-image xcb-keysyms xcb-atom
  
@@ -15,9 +15,9 @@ diff -rupNw source/libnsfb/Makefile source_redox/libnsfb/Makefile
  
  # surfaces not detectable via pkg-config 
  NSFB_ABLE_AVAILABLE := no
-diff -rupNw source/libnsfb/src/plot/32bpp-xbgr8888.c source_redox/libnsfb/src/plot/32bpp-xbgr8888.c
---- source/libnsfb/src/plot/32bpp-xbgr8888.c	2017-10-16 04:09:35.000000000 -0600
-+++ source_redox/libnsfb/src/plot/32bpp-xbgr8888.c	2018-02-27 20:06:03.322184932 -0700
+diff -rupNw source-original/libnsfb/src/plot/32bpp-xbgr8888.c source/libnsfb/src/plot/32bpp-xbgr8888.c
+--- source-original/libnsfb/src/plot/32bpp-xbgr8888.c	2017-10-16 12:09:35.000000000 +0200
++++ source/libnsfb/src/plot/32bpp-xbgr8888.c	2018-02-28 15:55:23.847716494 +0100
 @@ -52,7 +52,7 @@ static inline nsfb_colour_t pixel_to_col
   */
  static inline uint32_t colour_to_pixel(UNUSED nsfb_t *nsfb, nsfb_colour_t c)
@@ -36,9 +36,9 @@ diff -rupNw source/libnsfb/src/plot/32bpp-xbgr8888.c source_redox/libnsfb/src/pl
  }
  
  #endif
-diff -rupNw source/libnsfb/src/plot/32bpp-xrgb8888.c source_redox/libnsfb/src/plot/32bpp-xrgb8888.c
---- source/libnsfb/src/plot/32bpp-xrgb8888.c	2017-10-16 04:09:35.000000000 -0600
-+++ source_redox/libnsfb/src/plot/32bpp-xrgb8888.c	2018-02-27 20:06:03.322184932 -0700
+diff -rupNw source-original/libnsfb/src/plot/32bpp-xrgb8888.c source/libnsfb/src/plot/32bpp-xrgb8888.c
+--- source-original/libnsfb/src/plot/32bpp-xrgb8888.c	2017-10-16 12:09:35.000000000 +0200
++++ source/libnsfb/src/plot/32bpp-xrgb8888.c	2018-02-28 15:55:23.847716494 +0100
 @@ -52,7 +52,7 @@ static inline nsfb_colour_t pixel_to_col
   */
  static inline uint32_t colour_to_pixel(UNUSED nsfb_t *nsfb, nsfb_colour_t c)
@@ -57,9 +57,9 @@ diff -rupNw source/libnsfb/src/plot/32bpp-xrgb8888.c source_redox/libnsfb/src/pl
  }
  
  #endif
-diff -rupNw source/libnsfb/src/plot.h source_redox/libnsfb/src/plot.h
---- source/libnsfb/src/plot.h	2017-10-16 04:09:35.000000000 -0600
-+++ source_redox/libnsfb/src/plot.h	2018-02-27 20:06:03.318184866 -0700
+diff -rupNw source-original/libnsfb/src/plot.h source/libnsfb/src/plot.h
+--- source-original/libnsfb/src/plot.h	2017-10-16 12:09:35.000000000 +0200
++++ source/libnsfb/src/plot.h	2018-02-28 15:55:23.847716494 +0100
 @@ -36,7 +36,7 @@
          #define NSFB_BE_BYTE_ORDER
      #endif
@@ -69,9 +69,9 @@ diff -rupNw source/libnsfb/src/plot.h source_redox/libnsfb/src/plot.h
      #if defined(__BYTE_ORDER__)
          #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
              #define NSFB_BE_BYTE_ORDER
-diff -rupNw source/libnsfb/src/surface/sdl.c source_redox/libnsfb/src/surface/sdl.c
---- source/libnsfb/src/surface/sdl.c	2017-10-16 04:09:35.000000000 -0600
-+++ source_redox/libnsfb/src/surface/sdl.c	2018-02-27 20:06:03.322184932 -0700
+diff -rupNw source-original/libnsfb/src/surface/sdl.c source/libnsfb/src/surface/sdl.c
+--- source-original/libnsfb/src/surface/sdl.c	2017-10-16 12:09:35.000000000 +0200
++++ source/libnsfb/src/surface/sdl.c	2018-02-28 15:55:23.847716494 +0100
 @@ -458,7 +458,7 @@ static int sdl_initialise(nsfb_t *nsfb)
          return -1;
  
@@ -121,9 +121,9 @@ diff -rupNw source/libnsfb/src/surface/sdl.c source_redox/libnsfb/src/surface/sd
  
      /* Do nothing if there was no event */
      if (got_event == 0) {
-diff -rupNw source/libparserutils/src/input/filter.c source_redox/libparserutils/src/input/filter.c
---- source/libparserutils/src/input/filter.c	2017-10-16 04:09:36.000000000 -0600
-+++ source_redox/libparserutils/src/input/filter.c	2018-02-27 20:06:03.346185325 -0700
+diff -rupNw source-original/libparserutils/src/input/filter.c source/libparserutils/src/input/filter.c
+--- source-original/libparserutils/src/input/filter.c	2017-10-16 12:09:36.000000000 +0200
++++ source/libparserutils/src/input/filter.c	2018-02-28 15:55:23.847716494 +0100
 @@ -10,7 +10,7 @@
  #include <stdlib.h>
  #include <string.h>
@@ -205,9 +205,9 @@ diff -rupNw source/libparserutils/src/input/filter.c source_redox/libparserutils
  	if (input->cd != (iconv_t) -1) {
  		iconv_close(input->cd);
  		input->cd = (iconv_t) -1;
-diff -rupNw source/netsurf/content/fetchers/file.c source_redox/netsurf/content/fetchers/file.c
---- source/netsurf/content/fetchers/file.c	2017-10-16 04:09:36.000000000 -0600
-+++ source_redox/netsurf/content/fetchers/file.c	2018-02-27 20:06:03.518188147 -0700
+diff -rupNw source-original/netsurf/content/fetchers/file.c source/netsurf/content/fetchers/file.c
+--- source-original/netsurf/content/fetchers/file.c	2017-10-16 12:09:36.000000000 +0200
++++ source/netsurf/content/fetchers/file.c	2018-02-28 15:55:23.851716655 +0100
 @@ -39,7 +39,7 @@
  #include <time.h>
  #include <stdio.h>
@@ -226,9 +226,9 @@ diff -rupNw source/netsurf/content/fetchers/file.c source_redox/netsurf/content/
  	fetch_msg msg;
  	char *buf = NULL;
  	size_t buf_size;
-diff -rupNw source/netsurf/content/urldb.c source_redox/netsurf/content/urldb.c
---- source/netsurf/content/urldb.c	2017-10-16 04:09:36.000000000 -0600
-+++ source_redox/netsurf/content/urldb.c	2018-02-27 20:06:03.510188016 -0700
+diff -rupNw source-original/netsurf/content/urldb.c source/netsurf/content/urldb.c
+--- source-original/netsurf/content/urldb.c	2017-10-16 12:09:36.000000000 +0200
++++ source/netsurf/content/urldb.c	2018-02-28 15:55:23.851716655 +0100
 @@ -630,7 +630,7 @@ static bool urldb__host_is_ip_address(co
  	size_t host_len = strlen(host);
  	const char *sane_host;
@@ -247,10 +247,24 @@ diff -rupNw source/netsurf/content/urldb.c source_redox/netsurf/content/urldb.c
  	if ((host_len < 6) ||
  	    (sane_host[0] != '[') ||
  	    (sane_host[host_len - 1] != ']')) {
-diff -rupNw source/netsurf/Makefile.config source_redox/netsurf/Makefile.config
---- source/netsurf/Makefile.config	1969-12-31 17:00:00.000000000 -0700
-+++ source_redox/netsurf/Makefile.config	2018-02-27 20:11:23.710834338 -0700
-@@ -0,0 +1,14 @@
+diff -rupNw source-original/netsurf/frontends/framebuffer/Makefile source/netsurf/frontends/framebuffer/Makefile
+--- source-original/netsurf/frontends/framebuffer/Makefile	2017-10-16 12:09:36.000000000 +0200
++++ source/netsurf/frontends/framebuffer/Makefile	2018-02-28 16:43:21.098712544 +0100
+@@ -35,8 +35,8 @@ LDFLAGS += -Wl,--no-whole-archive
+ 
+ # freetype is optional but does not use pkg-config
+ ifeq ($(NETSURF_FB_FONTLIB),freetype)
+-  CFLAGS += -DFB_USE_FREETYPE $(shell freetype-config --cflags)
+-  LDFLAGS += $(shell freetype-config --libs)
++  CFLAGS += -DFB_USE_FREETYPE $(shell $(PKG_CONFIG) --cflags freetype2)
++  LDFLAGS += $(shell $(PKG_CONFIG) --libs freetype2)
+ endif
+ 
+ 
+diff -rupNw source-original/netsurf/Makefile.config source/netsurf/Makefile.config
+--- source-original/netsurf/Makefile.config	1970-01-01 01:00:00.000000000 +0100
++++ source/netsurf/Makefile.config	2018-02-28 18:12:51.362698183 +0100
+@@ -0,0 +1,27 @@
 +override NETSURF_HOMEPAGE := "https://www.redox-os.org/"
 +override NETSURF_FB_FRONTEND := sdl
 +
@@ -258,16 +272,29 @@ diff -rupNw source/netsurf/Makefile.config source_redox/netsurf/Makefile.config
 +override NETSURF_USE_BMP := YES
 +override NETSURF_USE_OPENSSL := YES
 +override NETSURF_USE_CURL := YES
-+
 +override NETSURF_USE_PNG := YES
++
 +override NETSURF_USE_NSSVG := NO
 +override NETSURF_USE_RSVG := NO
 +override NETSURF_USE_DUKTAPE := NO
 +override NETSURF_USE_HARU_PDF := NO
 +override NETSURF_USE_VIDEO := NO
-diff -rupNw source/netsurf/utils/log.c source_redox/netsurf/utils/log.c
---- source/netsurf/utils/log.c	2017-10-16 04:09:36.000000000 -0600
-+++ source_redox/netsurf/utils/log.c	2018-02-27 20:06:03.622189853 -0700
++
++override NETSURF_FB_FONTLIB := freetype
++override NETSURF_FB_FONTPATH := /ui/fonts/
++override NETSURF_FB_FONT_SANS_SERIF := Sans/Fira/Regular.ttf
++override NETSURF_FB_FONT_SANS_SERIF_BOLD := Sans/Fira/Bold.ttf
++override NETSURF_FB_FONT_SANS_SERIF_ITALIC := Sans/Fira/Regular.ttf
++override NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD := Sans/Fira/Bold.ttf
++override NETSURF_FB_FONT_SERIF := Sans/Fira/Regular.ttf
++override NETSURF_FB_FONT_SERIF_BOLD := Sans/Fira/Bold.ttf
++override NETSURF_FB_FONT_MONOSPACE := Mono/Fira/Regular.ttf
++override NETSURF_FB_FONT_MONOSPACE_BOLD := Mono/Fira/Bold.ttf
++override NETSURF_FB_FONT_CURSIVE := Sans/Fira/Regular.ttf
++override NETSURF_FB_FONT_FANTASY := Sans/Fira/Regular.ttf
+diff -rupNw source-original/netsurf/utils/log.c source/netsurf/utils/log.c
+--- source-original/netsurf/utils/log.c	2017-10-16 12:09:36.000000000 +0200
++++ source/netsurf/utils/log.c	2018-02-28 15:55:23.855716815 +0100
 @@ -261,18 +261,18 @@ nserror nslog_init(nslog_ensure_t *ensur
  	/* sucessfull logging initialisation so log system info */
  	if (ret == NSERROR_OK) {
@@ -297,9 +324,9 @@ diff -rupNw source/netsurf/utils/log.c source_redox/netsurf/utils/log.c
  	}
  
  	return ret;
-diff -rupNw source/netsurf/utils/useragent.c source_redox/netsurf/utils/useragent.c
---- source/netsurf/utils/useragent.c	2017-10-16 04:09:36.000000000 -0600
-+++ source_redox/netsurf/utils/useragent.c	2018-02-27 20:06:03.622189853 -0700
+diff -rupNw source-original/netsurf/utils/useragent.c source/netsurf/utils/useragent.c
+--- source-original/netsurf/utils/useragent.c	2017-10-16 12:09:36.000000000 +0200
++++ source/netsurf/utils/useragent.c	2018-02-28 15:55:23.855716815 +0100
 @@ -44,9 +44,9 @@ user_agent_build_string(void)
          char *ua_string;
          int len;
@@ -313,9 +340,9 @@ diff -rupNw source/netsurf/utils/useragent.c source_redox/netsurf/utils/useragen
  
          len = snprintf(NULL, 0, NETSURF_UA_FORMAT_STRING,
                         netsurf_version_major,
-diff -rupNw source/netsurf/utils/utsname.h source_redox/netsurf/utils/utsname.h
---- source/netsurf/utils/utsname.h	2017-10-16 04:09:36.000000000 -0600
-+++ source_redox/netsurf/utils/utsname.h	2018-02-27 20:06:03.622189853 -0700
+diff -rupNw source-original/netsurf/utils/utsname.h source/netsurf/utils/utsname.h
+--- source-original/netsurf/utils/utsname.h	2017-10-16 12:09:36.000000000 +0200
++++ source/netsurf/utils/utsname.h	2018-02-28 15:55:23.855716815 +0100
 @@ -24,7 +24,7 @@
  #ifndef _NETSURF_UTILS_UTSNAME_H_
  #define _NETSURF_UTILS_UTSNAME_H_
diff --git a/recipes/netsurf/recipe.sh b/recipes/netsurf/recipe.sh
index cf64d1d2bfdf547df392733d7e2dc25633216f14..b092b9f9bbb25bee661e201d775772086c8388e3 100644
--- a/recipes/netsurf/recipe.sh
+++ b/recipes/netsurf/recipe.sh
@@ -1,6 +1,6 @@
 VERSION=3.7
 TAR=http://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-$VERSION.tar.gz
-BUILD_DEPENDS=(curl expat libjpeg libpng openssl sdl zlib)
+BUILD_DEPENDS=(curl expat libjpeg libpng openssl sdl zlib freetype)
 DEPENDS="ca-certificates"
 
 function recipe_version {