[Buildroot] [PATCH vRFC 4/4] package/midori: bump to version 9.0

Adam Duskett aduskett at gmail.com
Thu Nov 4 00:36:07 UTC 2021


This is a substantial update as the last time the midori version was bumped
was on Fri Apr 29 2016 commit 54bbd88b1f0c4de25688dae1d0c30d222722feb4.

Changes:

package/Config.in: Move midori out of the "X applications" submenu and into
the "Graphic applications" submenu, as it is not dependent on X.

- Drop the two existing patches as they no longer apply.
- 0001-disable-vala-fatal-warnings.patch: new patch. This patch fixes
  errors when building midori in a buildroot source repository that is also
  a git project.

- 0002-add-option-to-specify-path-to-g-ir-compiler.patchL new patch.
  This patch introduces a new option that allows the make system to specify
  a path to the g-ir-compiler, or else the host path's g-ir-compiler is used
  which results in failed builds.

- Change the site to the github repository, as that is where the latest
  releases are published.

- New dependencies: gobject-introspection, json-glib, libarchive, and libpeas.
- gcr is no longer an optional dependency.
- host-python3 is now a mandatory dependency.

Signed-off-by: Adam Duskett <aduskett at gmail.com>
---
 package/Config.in                             |  2 +-
 .../0001-disable-vala-fatal-warnings.patch    | 30 ++++++++++++
 package/midori/0001-fix-bug-1492932.patch     | 44 ------------------
 ...ion-to-specify-path-to-g-ir-compiler.patch | 37 +++++++++++++++
 package/midori/0002-gcr-for-x11-only.patch    | 32 -------------
 package/midori/Config.in                      | 46 ++++++++++++++-----
 package/midori/midori.hash                    |  4 +-
 package/midori/midori.mk                      | 19 ++++----
 8 files changed, 112 insertions(+), 102 deletions(-)
 create mode 100644 package/midori/0001-disable-vala-fatal-warnings.patch
 delete mode 100644 package/midori/0001-fix-bug-1492932.patch
 create mode 100644 package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch
 delete mode 100644 package/midori/0002-gcr-for-x11-only.patch

diff --git a/package/Config.in b/package/Config.in
index 0e2cc78d85..dc939ebf97 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -307,6 +307,7 @@ comment "Graphic applications"
 	source "package/kmscube/Config.in"
 	source "package/libva-utils/Config.in"
 	source "package/mesa3d-demos/Config.in"
+	source "package/midori/Config.in"
 	source "package/netsurf/Config.in"
 	source "package/pngquant/Config.in"
 	source "package/qt5cinex/Config.in"
@@ -377,7 +378,6 @@ comment "X applications"
 	source "package/gmpc/Config.in"
 	source "package/gtkperf/Config.in"
 	source "package/leafpad/Config.in"
-	source "package/midori/Config.in"
 	source "package/mupdf/Config.in"
 	source "package/nodm/Config.in"
 	source "package/pcmanfm/Config.in"
diff --git a/package/midori/0001-disable-vala-fatal-warnings.patch b/package/midori/0001-disable-vala-fatal-warnings.patch
new file mode 100644
index 0000000000..c3f245f141
--- /dev/null
+++ b/package/midori/0001-disable-vala-fatal-warnings.patch
@@ -0,0 +1,30 @@
+From be91b1260d3215119e4ab5b19012ab80d6ff788d Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett at gmail.com>
+Date: Mon, 11 Oct 2021 16:58:34 -0700
+Subject: [PATCH] disable vala fatal warnings
+
+When building midori in a buildroot directory cloned from git, the git
+descript --tags command return tags from buildroot, which in turn sets
+the --fatal-warnings flag. Disable --fatal-warnings unconditionally.
+
+Signed-off-by: Adam Duskett <aduskett at gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8e72f08..39941e2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,7 +18,7 @@ execute_process(COMMAND "git" "describe" "--tags"
+ if (REVISION)
+     set(CORE_VERSION "${REVISION}")
+     # All warnings are errors in development builds
+-    set(VALAFLAGS ${VALAFLAGS} --fatal-warnings)
++    set(VALAFLAGS ${VALAFLAGS} --disable-assert)
+ else ()
+     # No runtime type checks
+     set(VALAFLAGS ${VALAFLAGS} --disable-assert)
+-- 
+2.30.2
+
diff --git a/package/midori/0001-fix-bug-1492932.patch b/package/midori/0001-fix-bug-1492932.patch
deleted file mode 100644
index 27ad283a58..0000000000
--- a/package/midori/0001-fix-bug-1492932.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix for https://bugs.launchpad.net/midori/+bug/1492932
-Patch status: upstream
-
-Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
-
---- a/midori/midori-browser.c	2015-07-11 16:03:43 +0000
-+++ b/midori/midori-browser.c	2015-09-25 21:30:31 +0000
-@@ -5953,11 +5953,6 @@
-                       G_CALLBACK (midori_browser_destroy_cb), NULL);
-     gtk_window_set_role (GTK_WINDOW (browser), "browser");
-     gtk_window_set_icon_name (GTK_WINDOW (browser), MIDORI_STOCK_WEB_BROWSER);
--    #if GTK_CHECK_VERSION (3, 4, 0)
--    #ifndef HAVE_GRANITE
--    gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (browser), TRUE);
--    #endif
--    #endif
-     vbox = gtk_vbox_new (FALSE, 0);
-     /* gtk_container_add (GTK_CONTAINER (browser), vbox);
-     gtk_widget_show (vbox); */
-
---- a/midori/midori-view.c	2015-07-06 21:26:46 +0000
-+++ b/midori/midori-view.c	2015-09-25 21:30:31 +0000
-@@ -3495,9 +3495,6 @@
-     }
-     else
-         gtk_window_set_icon_name (GTK_WINDOW (window), icon_name);
--    #if GTK_CHECK_VERSION (3, 4, 0)
--    gtk_window_set_hide_titlebar_when_maximized (GTK_WINDOW (window), TRUE);
--    #endif
-     gtk_widget_set_size_request (GTK_WIDGET (inspector_view), 700, 100);
-     #if GTK_CHECK_VERSION (3, 0, 0)
-     scrolled = gtk_scrolled_window_new (NULL, NULL);
-
---- a/midori/midori-window.vala	2015-08-16 00:14:26 +0000
-+++ b/midori/midori-window.vala	2015-09-25 21:30:31 +0000
-@@ -28,7 +28,6 @@
-                 toolbar.show_arrow = true;
- #if HAVE_GTK3
-                 toolbar.get_style_context ().add_class ("primary-toolbar");
--                hide_titlebar_when_maximized = true;
- #endif
-                 toolbar.popup_context_menu.connect ((x, y, button) => {
-                     return button == 3 && context_menu (toolbar); });
-
diff --git a/package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch b/package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch
new file mode 100644
index 0000000000..4bbcbaaf12
--- /dev/null
+++ b/package/midori/0002-add-option-to-specify-path-to-g-ir-compiler.patch
@@ -0,0 +1,37 @@
+From 118ac24b2c488f490ee8814336291a58eae45395 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett at gmail.com>
+Date: Tue, 12 Oct 2021 13:21:19 -0700
+Subject: [PATCH] add option to specify path to g-ir-compiler
+
+By default, find_program (GIR_COMPILER_BIN g-ir-compiler) returns the host path
+to g-ir-compiler, which is undesirable in a cross-compile environment.
+
+Add an option to manually specify a path to the g-ir-compiler.
+
+Signed-off-by: Adam Duskett <aduskett at gmail.com>
+---
+ core/CMakeLists.txt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
+index c4982de..6584229 100644
+--- a/core/CMakeLists.txt
++++ b/core/CMakeLists.txt
+@@ -66,7 +66,13 @@ set_target_properties("${LIBCORE}" PROPERTIES
+                       VERSION ${LIBCORE_VERSION}
+                       )
+ 
+-find_program (GIR_COMPILER_BIN g-ir-compiler)
++option(GIR_COMPILER_PATH "Specify a path to g-ir-compiler" OFF)
++if(GIR_COMPILER_PATH)
++  set(GIR_COMPILER_BIN "${GIR_COMPILER_PATH}")
++else()
++  find_program (GIR_COMPILER_BIN g-ir-compiler)
++endif(GIR_COMPILER_PATH)
++
+ add_custom_target(${LIBCORE_GIR}.typelib ALL
+                   COMMAND ${GIR_COMPILER_BIN} ${CMAKE_CURRENT_BINARY_DIR}/${LIBCORE_GIR}.gir
+                   --output ${CMAKE_CURRENT_BINARY_DIR}/${LIBCORE_GIR}.typelib
+-- 
+2.30.2
+
diff --git a/package/midori/0002-gcr-for-x11-only.patch b/package/midori/0002-gcr-for-x11-only.patch
deleted file mode 100644
index 85e769765f..0000000000
--- a/package/midori/0002-gcr-for-x11-only.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-GCR support only works/is useful with X11 support.
-
-Reported upstream: https://bugs.launchpad.net/midori/+bug/1515985
-
-Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
-
-diff -Nura midori-0.5.11.orig/CMakeLists.txt midori-0.5.11/CMakeLists.txt
---- midori-0.5.11.orig/CMakeLists.txt	2015-11-12 13:41:02.045898814 -0300
-+++ midori-0.5.11/CMakeLists.txt	2015-11-12 14:00:09.765545018 -0300
-@@ -175,18 +175,14 @@
-     set(PKGS ${PKGS} zeitgeist-2.0)
- endif()
- 
--if (WIN32)
--    add_definitions("-DGCR_VERSION=\"No\"")
--else ()
--    if (USE_GTK3)
--        pkg_check_modules(GCR REQUIRED gcr-3>=2.32)
--    else ()
--        pkg_check_modules(GCR REQUIRED gcr-base-3>=2.32)
--    endif ()
-+if (USE_GTK3 AND X11)
-+    pkg_check_modules(GCR REQUIRED gcr-3>=2.32)
-     add_definitions("-DGCR_VERSION=\"${GCR_VERSION}\"")
-     add_definitions("-DHAVE_GCR")
-     set(OPTS_INCLUDE_DIRS ${OPTS_INCLUDE_DIRS} ${GCR_INCLUDE_DIRS})
-     set(OPTS_LIBRARIES ${OPTS_LIBRARIES} ${GCR_LIBRARIES})
-+else ()
-+    add_definitions("-DGCR_VERSION=\"No\"")
- endif ()
- 
- if (HALF_BRO_INCOM_WEBKIT2)
diff --git a/package/midori/Config.in b/package/midori/Config.in
index e2cc2ac612..6dbdbb764e 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -1,31 +1,53 @@
-comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 7, host gcc >= 4.9"
+config BR2_PACKAGE_MIDORI_ARCH_SUPPORTS
+	bool
+	default y
+	depends on BR2_USE_MMU
 	depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \
+	depends on !BR2_BINFMT_FLAT # webkitgtk -> icu
+
+comment "midori needs a glibc toolchain w/ C++, wchar, threads, dynamic library, gcc >= 7, host gcc >= 8"
+	depends on BR2_PACKAGE_MIDORI_ARCH_SUPPORTS
+	depends on !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
-		!BR2_HOST_GCC_AT_LEAST_4_9 || \
-		!BR2_TOOLCHAIN_USES_GLIBC
+		!BR2_HOST_GCC_AT_LEAST_8 || \
+		!BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS || \
+		BR2_STATIC_LIBS || !BR2_USE_WCHAR
+
+comment "midori needs libgtk3 w/ X11 or wayland backend"
+	depends on BR2_PACKAGE_MIDORI_ARCH_SUPPORTS
+	depends on !BR2_PACKAGE_LIBGTK3_X11 && \
+		!BR2_PACKAGE_LIBGTK3_WAYLAND
 
 config BR2_PACKAGE_MIDORI
 	bool "midori"
-	depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg
-	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, gcr, gnupg2
-	depends on BR2_PACKAGE_LIBGTK3
-	depends on BR2_HOST_GCC_AT_LEAST_4_9 # webkitgtk
+	depends on !BR2_STATIC_LIBS # webkitgtk
 	depends on BR2_INSTALL_LIBSTDCPP # webkitgtk
+	depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # webkitgtk
 	depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk
-	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
-	# GCR can only be used with the X11 backend
-	select BR2_PACKAGE_GCR if BR2_PACKAGE_LIBGTK3_X11
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libgtk3
+	depends on BR2_USE_WCHAR # granite, gcr, libsoup, libpeas, gobject-introspection
+	depends on BR2_PACKAGE_MIDORI_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_LIBGTK3
+	depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK3_WAYLAND
+	select BR2_PACKAGE_GCR
 	select BR2_PACKAGE_GRANITE
+	select BR2_PACKAGE_JSON_GLIB
+	select BR2_PACKAGE_LIBARCHIVE
+	select BR2_PACKAGE_LIBPEAS
+	select BR2_PACKAGE_LIBPEAS_WIDGETS
 	select BR2_PACKAGE_LIBSOUP
 	select BR2_PACKAGE_LIBSOUP_GNOME
 	select BR2_PACKAGE_LIBXML2
+	select BR2_PACKAGE_PYTHON3 # gobject-introspection
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
 	  Midori is a lightweight web browser based on WebKit
 
-	  http://www.midori-browser.org/
+	  https://github.com/midori-browser/core
diff --git a/package/midori/midori.hash b/package/midori/midori.hash
index d8fd1b7a26..d0be396a5a 100644
--- a/package/midori/midori.hash
+++ b/package/midori/midori.hash
@@ -1,5 +1,3 @@
-# From download link @ http://midori-browser.org/download/source/
-sha1	64c86935028feb5f89d799c2acacaad67764da6f	midori_0.5.11_all_.tar.bz2
-
 # Locally computed
+sha256  913a7cba95ddcc3dc5f6b12d861e765d6fa990fe7d4efc3768d3a3567ea460db  midori-9.0.tar.gz
 sha256  5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a  COPYING
diff --git a/package/midori/midori.mk b/package/midori/midori.mk
index eebec815c0..693507dbb3 100644
--- a/package/midori/midori.mk
+++ b/package/midori/midori.mk
@@ -4,9 +4,8 @@
 #
 ################################################################################
 
-MIDORI_VERSION = 0.5.11
-MIDORI_SOURCE = midori_$(MIDORI_VERSION)_all_.tar.bz2
-MIDORI_SITE = http://midori-browser.org/downloads
+MIDORI_VERSION = 9.0
+MIDORI_SITE = $(call github,midori-browser,core,v$(MIDORI_VERSION))
 MIDORI_LICENSE = LGPL-2.1+
 MIDORI_LICENSE_FILES = COPYING
 MIDORI_CPE_ID_VENDOR = midori-browser
@@ -15,10 +14,14 @@ MIDORI_DEPENDENCIES = \
 	host-librsvg \
 	host-pkgconf \
 	host-vala \
-	host-python \
-	$(if $(BR2_PACKAGE_LIBGTK3_X11),gcr) \
+	host-python3 \
+	gcr \
+	gobject-introspection \
 	granite \
+	json-glib \
+	libarchive \
 	libgtk3 \
+	libpeas \
 	libsoup \
 	libxml2 \
 	sqlite \
@@ -26,10 +29,6 @@ MIDORI_DEPENDENCIES = \
 	$(TARGET_NLS_DEPENDENCIES) \
 	$(if $(BR2_PACKAGE_LIBICONV),libiconv)
 
-MIDORI_CONF_OPTS = \
-	-DHALF_BRO_INCOM_WEBKIT2=ON \
-	-DUSE_GRANITE=ON \
-	-DUSE_GTK3=ON \
-	-DUSE_ZEITGEIST=OFF
+MIDORI_CONF_OPTS += -DGIR_COMPILER_PATH=$(STAGING_DIR)/usr/bin/g-ir-compiler
 
 $(eval $(cmake-package))
-- 
2.32.0



More information about the buildroot mailing list