Use upstream utf8proc package, as suggested in http://source.netsurf-browser.org/libutf8proc.git/commit/?id=770e329cceaf0620c7b482589a9b17ed1d19c16d Work around upstream's lack of a pkg-config file and update API. --- netsurf-3.6/Makefile +++ netsurf-3.6/Makefile @@ -527,10 +527,9 @@ $(eval $(call pkg_config_find_and_add,libcss,CSS)) $(eval $(call pkg_config_find_and_add,libdom,DOM)) $(eval $(call pkg_config_find_and_add,libnsutils,nsutils)) -$(eval $(call pkg_config_find_and_add,libutf8proc,utf8proc)) # Common libraries without pkg-config support -LDFLAGS += -lz +LDFLAGS += -lz -lutf8proc # Optional libraries with pkgconfig --- netsurf-3.6/utils/idna.c +++ netsurf-3.6/utils/idna.c @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include "utils/errors.h" #include "utils/idna.h" @@ -250,7 +250,7 @@ return NSERROR_NOMEM; } - nfc_size = utf8proc_normalise(nfc_label, nfc_size, + nfc_size = utf8proc_normalize_utf32(nfc_label, nfc_size, UTF8PROC_STABLE | UTF8PROC_COMPOSE); if (nfc_size < 0) { return NSERROR_NOMEM; @@ -565,7 +565,7 @@ } /* Perform NFC normalisation */ - ucs4_len = utf8proc_normalise(ucs4, u_ucs4_len, + ucs4_len = utf8proc_normalize_utf32(ucs4, u_ucs4_len, UTF8PROC_STABLE | UTF8PROC_COMPOSE); if (ucs4_len < 0) { free(ucs4); --- netsurf-3.6/test/Makefile +++ netsurf-3.6/test/Makefile @@ -112,11 +112,11 @@ -D_XOPEN_SOURCE=600 \ -Itest -Iinclude -Icontent/handlers -Ifrontends -I. -I.. \ -Dnsgtk \ - $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc libidn) \ + $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libidn) \ $(LIB_CFLAGS) \ $(COV_CFLAGS) -TESTLDFLAGS := $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc libidn) -lz \ +TESTLDFLAGS := $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libidn) -lz -lutf8proc \ $(LIB_LDFLAGS)\ $(COV_LDFLAGS)