diff --git a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch b/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
deleted file mode 100644
index dcc2cbe67cc..00000000000
--- a/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-On uclibc elf.h does not have GNU extentions but we need this define
-so we define it locally if its not getting it from elf.h
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-Index: git/elfparser.h
-===================================================================
---- git.orig/elfparser.h	2011-07-16 18:57:41.000000000 -0700
-+++ git/elfparser.h	2011-07-16 20:28:54.733829895 -0700
-@@ -17,6 +17,10 @@
-  */
- #include <glib.h>
- 
-+#ifndef NT_GNU_BUILD_ID
-+#define NT_GNU_BUILD_ID 3
-+#endif
-+
- typedef struct ElfSym ElfSym;
- typedef struct ElfParser ElfParser;
- 
diff --git a/package/sysprof/Config.in b/package/sysprof/Config.in
index 3913274be4f..4ea1d3ebf1d 100644
--- a/package/sysprof/Config.in
+++ b/package/sysprof/Config.in
@@ -1,31 +1,26 @@
 config BR2_PACKAGE_SYSPROF
 	bool "sysprof"
-	depends on BR2_USE_WCHAR # glib2
-	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
-	depends on BR2_USE_MMU # glib2
-	# In its util.h file, sysprof contains architecture-specific
-	# code
-	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
+	depends on BR2_USE_WCHAR # glib2, libdex, json-glib
+	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2, libdex, json-glib, polkit
+	depends on BR2_USE_MMU # glib2, libdex, json-glib
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # libunwind, polkit
+	depends on BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
+	depends on !BR2_STATIC_LIBS # polkit
+	depends on !BR2_OPTIMIZE_FAST # polkit
+	select BR2_PACKAGE_JSON_GLIB
+	select BR2_PACKAGE_LIBDEX
 	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBUNWIND
+	select BR2_PACKAGE_POLKIT
 	help
 	  Sysprof is a statistical, system-wide profiler that can
 	  profile user and kernel code using the perf API.
 
 	  http://sysprof.com
 
-if BR2_PACKAGE_SYSPROF
-
-config BR2_PACKAGE_SYSPROF_GUI
-	bool "sysprof GUI"
-	depends on BR2_PACKAGE_LIBGTK2
-	select BR2_PACKAGE_LIBGLADE
-	select BR2_PACKAGE_GDK_PIXBUF
-	help
-	  GUI for the sysprof system-wide statistical profiler.
-
-endif
-
-comment "sysprof needs a toolchain w/ wchar, threads"
+comment "sysprof needs a toolchain w/ dynamic libraray, wchar, threads, gcc >= 7"
 	depends on BR2_USE_MMU
-	depends on BR2_i386 || BR2_x86_64 || BR2_powerpc || BR2_sh4a || BR2_sh4aeb
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
+		!BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS || \
+		BR2_STATIC_LIBS || BR2_OPTIMIZE_FAST
diff --git a/package/sysprof/sysprof.hash b/package/sysprof/sysprof.hash
index 4ce206be0bd..f21e7621e14 100644
--- a/package/sysprof/sysprof.hash
+++ b/package/sysprof/sysprof.hash
@@ -1,3 +1,5 @@
-# Locally calculated
-sha256  baf03c6fc01a845c705873e6fc7927aa89539dcda6963f9ec4c8eb4c086a64f1  sysprof-1.2.0.tar.gz
-sha256  32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670  COPYING
+# From https://download.gnome.org/sources/sysprof/46/sysprof-46.0.sha256sum
+sha256  73aa7e75ebab3e4e0946a05a723df7e6ee4249e3b9e884dba35500aba2a1d176  sysprof-46.0.tar.xz
+
+# License files
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
diff --git a/package/sysprof/sysprof.mk b/package/sysprof/sysprof.mk
index 9823416e3fd..4df2f38a8b9 100644
--- a/package/sysprof/sysprof.mk
+++ b/package/sysprof/sysprof.mk
@@ -4,14 +4,26 @@
 #
 ################################################################################
 
-SYSPROF_VERSION = 1.2.0
-SYSPROF_SITE = http://sysprof.com
-SYSPROF_DEPENDENCIES = libglib2
-SYSPROF_LICENSE = GPL-2.0+
+SYSPROF_VERSION_MAJOR = 46
+SYSPROF_VERSION = $(SYSPROF_VERSION_MAJOR).0
+SYSPROF_SOURCE = sysprof-$(SYSPROF_VERSION).tar.xz
+SYSPROF_SITE = https://download.gnome.org/sources/sysprof/$(SYSPROF_VERSION_MAJOR)
+SYSPROF_LICENSE = GPL-3.0+
 SYSPROF_LICENSE_FILES = COPYING
+SYSPROF_DEPENDENCIES = libglib2 libdex libunwind json-glib polkit
+SYSPROF_CONF_OPTS += \
+	-Ddevelopment=false \
+	-Dexamples=false \
+	-Dgtk=false \
+	-Dhelp=false \
+	-Dinstall-static=false \
+	-Dlibsysprof=true \
+	-Dtests=false \
+	-Dtools=true \
+	-Dsystemdunitdir=/usr/lib/systemd/system
 
-ifeq ($(BR2_PACKAGE_SYSPROF_GUI),y)
-SYSPROF_DEPENDENCIES += libgtk2 libglade gdk-pixbuf
+ifeq ($(BR2_PACKAGE_SYSTEMD),y)
+SYSPROF_DEPENDENCIES += systemd
 endif
 
-$(eval $(autotools-package))
+$(eval $(meson-package))
