* [Buildroot] [PATCH/next 1/1] package/librsvg: bump to version 2.48.8
@ 2020-08-30 8:41 Fabrice Fontaine
2020-08-30 20:19 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Fabrice Fontaine @ 2020-08-30 8:41 UTC (permalink / raw)
To: buildroot
- Add a dependency to host-rustc
- libcroco is not a dependency since
https://gitlab.gnome.org/GNOME/librsvg/-/commit/03ce9bd7875ef2a91979bc4f7d6fa5188cfd785c
- gtk3 is not a dependency since
https://gitlab.gnome.org/GNOME/librsvg/-/commit/522aeee0ca9b4ff3940bea2d13ebb77ec6c064a6
- cairo script is mandatory since switch to rust
This bump is needed to remove libcroco which has been archived and won't
get any security updates anymore:
https://gitlab.gnome.org/Archive/libcroco/-/issues/8
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
package/efl/Config.in | 2 ++
package/enlightenment/Config.in | 2 ++
package/gstreamer1/gst1-plugins-bad/Config.in | 2 ++
....in-add-libcroco-to-Requires.Private.patch | 35 -------------------
package/librsvg/Config.in | 5 ++-
package/librsvg/librsvg.hash | 5 +--
package/librsvg/librsvg.mk | 13 +++----
7 files changed, 20 insertions(+), 44 deletions(-)
delete mode 100644 package/librsvg/0001-librsvg.pc.in-add-libcroco-to-Requires.Private.patch
diff --git a/package/efl/Config.in b/package/efl/Config.in
index 031bff7ad6..c1b19770bb 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -267,6 +267,7 @@ config BR2_PACKAGE_EFL_LIBRAW
config BR2_PACKAGE_EFL_SVG
bool "SVG loader"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz
select BR2_PACKAGE_LIBRSVG
@@ -275,6 +276,7 @@ config BR2_PACKAGE_EFL_SVG
This option enables the Evas generic SVG loader
comment "SVG loader needs a toolchain w/ gcc >= 4.8"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in
index 1630416718..91cdd896f6 100644
--- a/package/enlightenment/Config.in
+++ b/package/enlightenment/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_ENLIGHTENMENT
bool "enlightenment"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # efl svg -> librsvg
# libevas-generic-loaders-svg -> librsvg -> glib2 / pango
depends on BR2_USE_WCHAR
depends on BR2_INSTALL_LIBSTDCPP
@@ -29,6 +30,7 @@ config BR2_PACKAGE_ENLIGHTENMENT
http://www.enlightenment.org/
comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads, gcc >= 4.8"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
depends on BR2_PACKAGE_EFL && BR2_PACKAGE_XORG7 && BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \
diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in
index 5a066cb179..d387709de2 100644
--- a/package/gstreamer1/gst1-plugins-bad/Config.in
+++ b/package/gstreamer1/gst1-plugins-bad/Config.in
@@ -531,6 +531,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPUS
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG
bool "rsvg"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz
@@ -539,6 +540,7 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RSVG
RSVG plugin library
comment "rsvg plugin needs a toolchain w/ C++, gcc >= 4.8"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
depends on BR2_TOOLCHAIN_HAS_SYNC_4
diff --git a/package/librsvg/0001-librsvg.pc.in-add-libcroco-to-Requires.Private.patch b/package/librsvg/0001-librsvg.pc.in-add-libcroco-to-Requires.Private.patch
deleted file mode 100644
index 0eea5b995b..0000000000
--- a/package/librsvg/0001-librsvg.pc.in-add-libcroco-to-Requires.Private.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 322b415f92d4dcd36824eef83bd617bac6e5c8c7 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Tue, 24 Dec 2019 16:38:35 +0100
-Subject: [PATCH] librsvg.pc.in: add libcroco to Requires.private
-
-libcroco is a mandatory dependency since version 2.35.0 so add it to
-Requires.Private to fix a static build failure with imagemagick
-
-This patch is not upstreamable as librsvg no longer depends on libcroco
-since version 2.47.1. It now does all CSS processing using Rust crates
-from Mozilla Servo.
-
-Fixes:
- - http://autobuild.buildroot.org/results/42f4b4881569779162d3efe4628b934f965913b9
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- librsvg.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/librsvg.pc.in b/librsvg.pc.in
-index a451de05..4b09984a 100644
---- a/librsvg.pc.in
-+++ b/librsvg.pc.in
-@@ -10,6 +10,6 @@ Name: librsvg
- Description: library that renders svg files
- Version: @VERSION@
- Requires: glib-2.0 gio-2.0 gdk-pixbuf-2.0 cairo
--Requires.private:
-+Requires.private: libcroco-0.6
- Libs: -L${libdir} -lrsvg- at RSVG_API_MAJOR_VERSION@ -lm
- Cflags: -I${includedir}/librsvg- at RSVG_API_VERSION@
---
-2.24.0
-
diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in
index 735bf61259..3272ecd773 100644
--- a/package/librsvg/Config.in
+++ b/package/librsvg/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBRSVG
bool "librsvg"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
depends on BR2_USE_WCHAR # glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
@@ -8,8 +9,9 @@ config BR2_PACKAGE_LIBRSVG
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # pango -> harfbuzz
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
+ select BR2_PACKAGE_CAIRO_SCRIPT
select BR2_PACKAGE_GDK_PIXBUF
- select BR2_PACKAGE_LIBCROCO
+ select BR2_PACKAGE_HOST_RUSTC
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_PANGO
@@ -20,6 +22,7 @@ config BR2_PACKAGE_LIBRSVG
https://wiki.gnome.org/Projects/LibRsvg
comment "librsvg needs a toolchain w/ wchar, threads, C++, gcc >= 4.8"
+ depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
diff --git a/package/librsvg/librsvg.hash b/package/librsvg/librsvg.hash
index 366d9b0db6..899c5ea760 100644
--- a/package/librsvg/librsvg.hash
+++ b/package/librsvg/librsvg.hash
@@ -1,4 +1,5 @@
-# From http://ftp.gnome.org/pub/gnome/sources/librsvg/2.40/librsvg-2.40.20.sha256sum
-sha256 cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b librsvg-2.40.20.tar.xz
+# From http://ftp.gnome.org/pub/gnome/sources/librsvg/2.48/librsvg-2.48.8.sha256sum
+sha256 f480a325bbdf26d1874eb6fb330ebc5920ba64e3e08de61931bb4506dfef2692 librsvg-2.48.8.tar.xz
+
# Locally computed
sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f COPYING.LIB
diff --git a/package/librsvg/librsvg.mk b/package/librsvg/librsvg.mk
index e124fdd5d3..cf1f242a67 100644
--- a/package/librsvg/librsvg.mk
+++ b/package/librsvg/librsvg.mk
@@ -4,18 +4,19 @@
#
################################################################################
-LIBRSVG_VERSION_MAJOR = 2.40
-LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).20
+LIBRSVG_VERSION_MAJOR = 2.48
+LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).8
LIBRSVG_SITE = http://ftp.gnome.org/pub/gnome/sources/librsvg/$(LIBRSVG_VERSION_MAJOR)
LIBRSVG_SOURCE = librsvg-$(LIBRSVG_VERSION).tar.xz
LIBRSVG_INSTALL_STAGING = YES
-LIBRSVG_CONF_ENV = LIBS=$(TARGET_NLS_LIBS)
+LIBRSVG_CONF_ENV = \
+ LIBS=$(TARGET_NLS_LIBS) \
+ RUST_TARGET=$(RUSTC_TARGET_NAME)
LIBRSVG_CONF_OPTS = --disable-pixbuf-loader --disable-tools
HOST_LIBRSVG_CONF_OPTS = --enable-introspection=no
-LIBRSVG_DEPENDENCIES = cairo host-gdk-pixbuf gdk-pixbuf libcroco libglib2 libxml2 pango \
- $(if $(BR2_PACKAGE_LIBGTK3),libgtk3) \
+LIBRSVG_DEPENDENCIES = cairo host-gdk-pixbuf host-rustc gdk-pixbuf libglib2 libxml2 pango \
$(TARGET_NLS_DEPENDENCIES)
-HOST_LIBRSVG_DEPENDENCIES = host-cairo host-gdk-pixbuf host-libcroco host-libglib2 host-libxml2 host-pango
+HOST_LIBRSVG_DEPENDENCIES = host-cairo host-gdk-pixbuf host-libglib2 host-libxml2 host-pango host-rustc
LIBRSVG_LICENSE = LGPL-2.0+
LIBRSVG_LICENSE_FILES = COPYING.LIB
--
2.28.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH/next 1/1] package/librsvg: bump to version 2.48.8
2020-08-30 8:41 [Buildroot] [PATCH/next 1/1] package/librsvg: bump to version 2.48.8 Fabrice Fontaine
@ 2020-08-30 20:19 ` Thomas Petazzoni
2020-08-30 20:55 ` Fabrice Fontaine
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2020-08-30 20:19 UTC (permalink / raw)
To: buildroot
On Sun, 30 Aug 2020 10:41:38 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> - Add a dependency to host-rustc
> - libcroco is not a dependency since
> https://gitlab.gnome.org/GNOME/librsvg/-/commit/03ce9bd7875ef2a91979bc4f7d6fa5188cfd785c
> - gtk3 is not a dependency since
> https://gitlab.gnome.org/GNOME/librsvg/-/commit/522aeee0ca9b4ff3940bea2d13ebb77ec6c064a6
> - cairo script is mandatory since switch to rust
I remember we already tried to upgade librsvg to a version that was
written in Rust, and had to revert in commit
4182346f4bbe03c6fa1dababeeaeae2dc5e8223f. Have things improved since
then ?
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH/next 1/1] package/librsvg: bump to version 2.48.8
2020-08-30 20:19 ` Thomas Petazzoni
@ 2020-08-30 20:55 ` Fabrice Fontaine
2020-09-07 21:32 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Fabrice Fontaine @ 2020-08-30 20:55 UTC (permalink / raw)
To: buildroot
Le dim. 30 ao?t 2020 ? 22:19, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> a ?crit :
>
> On Sun, 30 Aug 2020 10:41:38 +0200
> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
>
> > - Add a dependency to host-rustc
> > - libcroco is not a dependency since
> > https://gitlab.gnome.org/GNOME/librsvg/-/commit/03ce9bd7875ef2a91979bc4f7d6fa5188cfd785c
> > - gtk3 is not a dependency since
> > https://gitlab.gnome.org/GNOME/librsvg/-/commit/522aeee0ca9b4ff3940bea2d13ebb77ec6c064a6
> > - cairo script is mandatory since switch to rust
>
> I remember we already tried to upgade librsvg to a version that was
> written in Rust, and had to revert in commit
> 4182346f4bbe03c6fa1dababeeaeae2dc5e8223f. Have things improved since
> then ?
I hope that the BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS variable
added with commit 025b863e6facb7b219b82ee6ee7a7916c2c3c47e will allow
us to bump librsvg this time.
I'm just a little bit worried that host packages such as host-libgtk3,
host-image-magick and midori could raise build failures on hosts that
don't support rust.
Should I add a dependency on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS to
all the reverse dependencies of host-librsvg?
It should be noted that keeping libcroco and a deprecated librsvg is
not good for the security of our users.
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Best Regards,
Fabrice
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH/next 1/1] package/librsvg: bump to version 2.48.8
2020-08-30 20:55 ` Fabrice Fontaine
@ 2020-09-07 21:32 ` Thomas Petazzoni
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2020-09-07 21:32 UTC (permalink / raw)
To: buildroot
On Sun, 30 Aug 2020 22:55:51 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> I hope that the BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS variable
> added with commit 025b863e6facb7b219b82ee6ee7a7916c2c3c47e will allow
> us to bump librsvg this time.
> I'm just a little bit worried that host packages such as host-libgtk3,
> host-image-magick and midori could raise build failures on hosts that
> don't support rust.
> Should I add a dependency on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS to
> all the reverse dependencies of host-librsvg?
Yes, you need to add a dependency on
BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS to all reverse dependencies of
host-librsvg, and of course recursively.
> It should be noted that keeping libcroco and a deprecated librsvg is
> not good for the security of our users.
Yes, agreed.
Also, after applying your patch, I built just "make host-librsvg" and
it failed with:
configure: error: Package requirements ( cairo >= 1.16.0 cairo-png >= 1.16.0 cairo-gobject >= 1.16.0 freetype2 >= 20.0.14 gdk-pixbuf-2.0 >= 2.20 gio-2.0 >= 2.24.0 glib-2.0 >= 2.50.0 harfbuzz >= 2.0.0 libxml-2.0 >= 2.9.0 pangocairo >= 1.38.0 pangoft2 >= 1.38.0 ) were not met:
Package 'cairo-gobject', required by 'virtual:world', not found
So host-cairo would need to depend on host-libglib2? It would be
annoying to make this a mandatory dependency :-/
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-09-07 21:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-30 8:41 [Buildroot] [PATCH/next 1/1] package/librsvg: bump to version 2.48.8 Fabrice Fontaine
2020-08-30 20:19 ` Thomas Petazzoni
2020-08-30 20:55 ` Fabrice Fontaine
2020-09-07 21:32 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox