Переглянути джерело

package/sysprof: update to version 46.0

Bring Sysprof twelve years into the future by updating it to the most
recent release. The GUI now uses GTK4, for which there is not yet a
package, so for now the option is removed.

Obviously, many things changed:

- Build system moved to meson
- License moved from GPLv2 to GPLv3
- Many new dependencies

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Adrian Perez de Castro 1 рік тому
батько
коміт
0d57555407

+ 0 - 1
.checkpackageignore

@@ -1344,7 +1344,6 @@ package/suricata/0001-configure.ac-allow-the-user-to-override-RUST_TARGET.patch
 package/suricata/S99suricata Shellcheck
 package/suricata/S99suricata Shellcheck
 package/swupdate/swupdate.sh Shellcheck
 package/swupdate/swupdate.sh Shellcheck
 package/sylpheed/0001-harden-link-checker-before-accepting-click.patch lib_patch.Upstream
 package/sylpheed/0001-harden-link-checker-before-accepting-click.patch lib_patch.Upstream
-package/sysprof/0001-define-NT_GNU_BUILD_ID.patch lib_patch.Upstream
 package/sysrepo/S51sysrepo-plugind Shellcheck lib_sysv.Indent
 package/sysrepo/S51sysrepo-plugind Shellcheck lib_sysv.Indent
 package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch lib_patch.Upstream
 package/sysvinit/0001-Makefile-disable-stack-protector-strong.patch lib_patch.Upstream
 package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream
 package/tar/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream

+ 0 - 22
package/sysprof/0001-define-NT_GNU_BUILD_ID.patch

@@ -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;
- 

+ 19 - 21
package/sysprof/Config.in

@@ -1,31 +1,29 @@
 config BR2_PACKAGE_SYSPROF
 config BR2_PACKAGE_SYSPROF
 	bool "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 # libunwind, polkit
+	depends on !BR2_OPTIMIZE_FAST # polkit
+	select BR2_PACKAGE_JSON_GLIB
+	select BR2_PACKAGE_LIBDEX
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBUNWIND
+	select BR2_PACKAGE_POLKIT
 	help
 	help
 	  Sysprof is a statistical, system-wide profiler that can
 	  Sysprof is a statistical, system-wide profiler that can
 	  profile user and kernel code using the perf API.
 	  profile user and kernel code using the perf API.
 
 
 	  http://sysprof.com
 	  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_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_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
+		BR2_STATIC_LIBS
+
+comment "sysprof can't be built with Optimize for fast"
+	depends on BR2_OPTIMIZE_FAST

+ 5 - 3
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

+ 19 - 7
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_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
 endif
 
 
-$(eval $(autotools-package))
+$(eval $(meson-package))