diff --git a/libs/libre2/Makefile b/libs/libre2/Makefile
index 538e43d1c..80495ce25 100644
--- a/libs/libre2/Makefile
+++ b/libs/libre2/Makefile
@@ -1,64 +1,48 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=re2
-PKG_VERSION:=2019-06-01
-PKG_RELEASE:=2
+PKG_VERSION:=2020-04-01
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/google/re2/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=02b7d73126bd18e9fbfe5d6375a8bb13fadaf8e99e48cbb062e4500fc18e8e2e
+PKG_HASH:=98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea
 
+PKG_MAINTAINER:=
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
 
+CMAKE_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
 include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/cmake.mk
 
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
-	-DBUILD_SHARED_LIBS=$(if $(CONFIG_RE2_SHARED),ON,OFF)
-CMAKE_INSTALL:=1
-
 define Package/re2
-	SECTION:=libs
-	CATEGORY:=Libraries
-	DEPENDS:=+libstdcpp
-	TITLE:=RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
-	URL:=https://github.com/google/re2
-	MAINTAINER:=Amol Bhave <ambhave@fb.com>
-endef
-
-define Package/re2/config
-	choice
-		prompt "Compile RE2 library."
-			default RE2_SHARED
-			help
-				Choose which version to compile.
-				-> Shared:
-					- Only Shared lib will be compiled.
-				-> Static:
-					- Only Static lib will be compiled.
-
-		config RE2_SHARED
-			bool "Shared"
-
-		config RE2_STATIC
-			bool "Static"
-	endchoice
+  SECTION:=libs
+  CATEGORY:=Libraries
+  DEPENDS:=+libstdcpp
+  TITLE:=RE2 - C++ regular expression library
+  URL:=https://github.com/google/re2
+  ABI_VERSION:=6
 endef
 
 define Package/re2/description
-	RE2 is a fast, safe, thread-friendly alternative to backtracking regular
-	expression engines like those used in PCRE, Perl, and Python.
-	It is a C++ library.
+  RE2 is a fast, safe, thread-friendly alternative to backtracking regular
+  expression engines like those used in PCRE, Perl, and Python.
+  It is a C++ library.
 endef
 
+CMAKE_OPTIONS += \
+	-DBUILD_SHARED_LIBS=ON
+
+TARGET_LDFLAGS += \
+	$(if $(CONFIG_USE_GLIBC),-lm) \
+	-Wl,--as-needed,--gc-sections
+
 define Package/re2/install
 	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libre2.so* $(1)/usr/lib/
+	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,re2))
-$(eval $(call HostBuild))
diff --git a/libs/libre2/patches/010-cxx17.patch b/libs/libre2/patches/010-cxx17.patch
new file mode 100644
index 000000000..1eccb319d
--- /dev/null
+++ b/libs/libre2/patches/010-cxx17.patch
@@ -0,0 +1,23 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,9 +38,9 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
+   add_compile_options(/utf-8)
+ elseif(CYGWIN OR MINGW)
+   # See https://stackoverflow.com/questions/38139631 for details.
+-  add_compile_options(-std=gnu++11)
++  add_compile_options(-std=gnu++17)
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
+-  add_compile_options(-std=c++11)
++  add_compile_options(-std=c++17)
+ endif()
+ 
+ if(WIN32)
+--- a/re2.pc
++++ b/re2.pc
+@@ -6,5 +6,5 @@ libdir=@libdir@
+ Name: re2
+ Description: RE2 is a fast, safe, thread-friendly regular expression engine.
+ Version: 0.0.0
+-Cflags: -std=c++11 -pthread -I${includedir}
++Cflags: -std=c++17 -pthread -I${includedir}
+ Libs: -pthread -L${libdir} -lre2