* [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc @ 2018-06-10 13:38 Fabrice Fontaine 2018-06-10 13:38 ` [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 Fabrice Fontaine 2018-06-10 14:18 ` [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc Thomas Petazzoni 0 siblings, 2 replies; 9+ messages in thread From: Fabrice Fontaine @ 2018-06-10 13:38 UTC (permalink / raw) To: buildroot Buildroot documentation specifies that cargo-based package should only depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS and selects BR2_PACKAGE_HOST_CARGO but this fails with the following error: warning: (BR2_PACKAGE_LIBRSVG) selects BR2_PACKAGE_HOST_CARGO which has unmet direct dependencies (BR2_PACKAGE_HAS_HOST_RUSTC) Indeed, host-cargo depends on BR2_PACKAGE_HAS_HOST_RUSTC which is selected only when host-rustc is selected. So instead of having to select both cargo and rustc in each cargo-based package, replace BR2_PACKAGE_HAS_HOST_RUSTC dependency by BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS and select BR2_PACKAGE_HOST_RUSTC Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- Changes v2 -> v3 (after review of Thomas Petazzoni) - Give more details on what does not work in commit log package/cargo/Config.in.host | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/cargo/Config.in.host b/package/cargo/Config.in.host index 0f1ca305c6..c33c6851f2 100644 --- a/package/cargo/Config.in.host +++ b/package/cargo/Config.in.host @@ -1,6 +1,7 @@ config BR2_PACKAGE_HOST_CARGO bool "host cargo" - depends on BR2_PACKAGE_HAS_HOST_RUSTC + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC help Cargo is the package manager for the Rust programming language. -- 2.14.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-10 13:38 [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc Fabrice Fontaine @ 2018-06-10 13:38 ` Fabrice Fontaine 2018-06-10 14:25 ` Thomas Petazzoni 2018-07-16 11:19 ` Thomas Petazzoni 2018-06-10 14:18 ` [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc Thomas Petazzoni 1 sibling, 2 replies; 9+ messages in thread From: Fabrice Fontaine @ 2018-06-10 13:38 UTC (permalink / raw) To: buildroot - Add a dependency to host-cargo - Add a patch to set RUST_TARGET - Add a dependency to BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS - Forward this dependency to efl svg, enlightment, gst-plugins-bad and gst1-plugins-bad - Add hash for license file Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- Changes v2 -> v3 (after review of Thomas Petazzoni) - Put back select BR2_PACKAGE_HOST_CARGO in Config.in (even if it is not needed) as well as first patch Changes v1 -> v2 (after review of Baruch Siach and Thomas Petazzoni): - Remove unneeded select BR2_PACKAGE_HOST_CARGO from Config.in and so remove the first patch of the patch's serie - Forward BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS to gst-plugins-bad and gst1-plugins-bad package/efl/Config.in | 1 + package/enlightenment/Config.in | 2 + package/gstreamer/gst-plugins-bad/Config.in | 1 + package/gstreamer1/gst1-plugins-bad/Config.in | 1 + .../librsvg/0001-Add-RUST_TARGET-variable.patch | 57 ++++++++++++++++++++++ package/librsvg/Config.in | 3 ++ package/librsvg/librsvg.hash | 7 ++- package/librsvg/librsvg.mk | 12 +++-- 8 files changed, 78 insertions(+), 6 deletions(-) create mode 100644 package/librsvg/0001-Add-RUST_TARGET-variable.patch diff --git a/package/efl/Config.in b/package/efl/Config.in index cfb803c6df..b9b285d8da 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -289,6 +289,7 @@ config BR2_PACKAGE_EFL_LIBRAW config BR2_PACKAGE_EFL_SVG bool "SVG loader" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # librsvg depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz select BR2_PACKAGE_LIBRSVG select BR2_PACKAGE_CAIRO diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in index d1dee25f86..892da79b4d 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_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" + depends on BR2_PACKAGE_HOST_RUSTC_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_PACKAGE_HAS_UDEV diff --git a/package/gstreamer/gst-plugins-bad/Config.in b/package/gstreamer/gst-plugins-bad/Config.in index 7bbd56a602..6bedbefa41 100644 --- a/package/gstreamer/gst-plugins-bad/Config.in +++ b/package/gstreamer/gst-plugins-bad/Config.in @@ -297,6 +297,7 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_OPUS config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_RSVG bool "rsvg" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # librsvg depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz select BR2_PACKAGE_LIBRSVG diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 7e166e43a1..5f93f5d1aa 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -643,6 +643,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_ARCH_SUPPORTS # librsvg depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz select BR2_PACKAGE_LIBRSVG diff --git a/package/librsvg/0001-Add-RUST_TARGET-variable.patch b/package/librsvg/0001-Add-RUST_TARGET-variable.patch new file mode 100644 index 0000000000..2807c2423f --- /dev/null +++ b/package/librsvg/0001-Add-RUST_TARGET-variable.patch @@ -0,0 +1,57 @@ +From 2bef718d1ade8dd20f431ac2eef9fdf58d96842f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine <fontaine.fabrice@gmail.com> +Date: Fri, 1 Jun 2018 20:58:25 +0200 +Subject: [PATCH] Add RUST_TARGET variable + +Add RUST_TARGET environment variable through AC_ARG_VAR to allow the +user to override the rust target name. Indeed, using $host when +cross-compiling is not always the good option especially when vendor +part of target is not set to unknown but to another value such as +buildroot. +Indeed, in this case aarch64-buildroot-linux-gnu won't be recognised as +a valid target by rust/cargo. + +[Upstream status: merged (https://github.com/GNOME/librsvg/commit/f0b76ab6f003b8e05d4caab2b6d844e97b97796f)] + +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> +--- + Makefile.am | 2 +- + configure.ac | 7 ++++++- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index f21b58e2..0b5b906f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -136,7 +136,7 @@ CARGO_RELEASE_ARGS=--release + endif + + if CROSS_COMPILING +-CARGO_TARGET_ARGS=--target=$(host) ++CARGO_TARGET_ARGS=--target=$(RUST_TARGET) + endif + + CARGO_VERBOSE = $(cargo_verbose_$(V)) +diff --git a/configure.ac b/configure.ac +index c9666757..50ca9f0f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -286,9 +286,14 @@ else + fi + AM_CONDITIONAL([DEBUG_RELEASE], [test "x$debug_release" = "xyes"]) + ++AC_ARG_VAR(RUST_TARGET, [Set rust target (default=$host)]) ++if test "x$RUST_TARGET" == x; then ++ RUST_TARGET=$host ++fi ++ + AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) + if test "x$cross_compiling" = "xyes" ; then +- RUST_TARGET_SUBDIR="$host/$RUST_TARGET_SUBDIR" ++ RUST_TARGET_SUBDIR="$RUST_TARGET/$RUST_TARGET_SUBDIR" + fi + AC_SUBST([RUST_TARGET_SUBDIR]) + +-- +2.14.1 + diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in index ffb0287dbd..45919c7d51 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_ARCH_SUPPORTS depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 @@ -8,6 +9,7 @@ config BR2_PACKAGE_LIBRSVG select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG select BR2_PACKAGE_GDK_PIXBUF + select BR2_PACKAGE_HOST_CARGO select BR2_PACKAGE_LIBCROCO select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBXML2 @@ -19,6 +21,7 @@ config BR2_PACKAGE_LIBRSVG https://wiki.gnome.org/Projects/LibRsvg comment "librsvg needs a toolchain w/ wchar, threads, C++" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP diff --git a/package/librsvg/librsvg.hash b/package/librsvg/librsvg.hash index 6f4b07423a..dce918d0ce 100644 --- a/package/librsvg/librsvg.hash +++ b/package/librsvg/librsvg.hash @@ -1,2 +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.42/librsvg-2.42.5.sha256sum +sha256 d4dd51a492a2022c07dec385e22947190fe70410928c471934ff3399f20935ec librsvg-2.42.5.tar.xz + +# Hash for license file: +sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f COPYING.LIB diff --git a/package/librsvg/librsvg.mk b/package/librsvg/librsvg.mk index 4f563ce6db..037e1fbc14 100644 --- a/package/librsvg/librsvg.mk +++ b/package/librsvg/librsvg.mk @@ -4,18 +4,22 @@ # ################################################################################ -LIBRSVG_VERSION_MAJOR = 2.40 -LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).20 +LIBRSVG_VERSION_MAJOR = 2.42 +LIBRSVG_VERSION = $(LIBRSVG_VERSION_MAJOR).5 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_OPTS = --disable-pixbuf-loader --disable-tools --enable-introspection=no HOST_LIBRSVG_CONF_OPTS = --enable-introspection=no -LIBRSVG_DEPENDENCIES = cairo host-gdk-pixbuf gdk-pixbuf libcroco libglib2 libxml2 pango \ +LIBRSVG_DEPENDENCIES = cairo host-cargo host-gdk-pixbuf gdk-pixbuf libcroco libglib2 libxml2 pango \ $(if $(BR2_PACKAGE_LIBGTK3),libgtk3) -HOST_LIBRSVG_DEPENDENCIES = host-cairo host-gdk-pixbuf host-libcroco host-libglib2 host-libxml2 host-pango +HOST_LIBRSVG_DEPENDENCIES = host-cairo host-cargo host-gdk-pixbuf host-libcroco host-libglib2 host-libxml2 host-pango LIBRSVG_LICENSE = LGPL-2.0+ LIBRSVG_LICENSE_FILES = COPYING.LIB +# We're patching configure.ac +LIBRSVG_AUTORECONF = YES +LIBRSVG_CONF_ENV = RUST_TARGET=$(RUSTC_TARGET_NAME) + $(eval $(autotools-package)) $(eval $(host-autotools-package)) -- 2.14.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-10 13:38 ` [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 Fabrice Fontaine @ 2018-06-10 14:25 ` Thomas Petazzoni 2018-06-12 6:58 ` Peter Korsgaard 2018-07-16 11:19 ` Thomas Petazzoni 1 sibling, 1 reply; 9+ messages in thread From: Thomas Petazzoni @ 2018-06-10 14:25 UTC (permalink / raw) To: buildroot Hello, On Sun, 10 Jun 2018 15:38:57 +0200, Fabrice Fontaine wrote: > - Add a dependency to host-cargo > - Add a patch to set RUST_TARGET > - Add a dependency to BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS > - Forward this dependency to efl svg, enlightment, gst-plugins-bad and > gst1-plugins-bad > - Add hash for license file > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> I've applied, after fixing the gst-plugins-bad and gst1-plugins-bad packages, in which you forgot to propagate the new dependency to the existing Config.in comments. Generally speaking, I find it a bit annoying that those packages start using Rust. Not because I have anything against Rust, but because: (1) It limits the support to a much smaller set of architectures. For example, it is not longer possible to build librsvg or its reverse dependencies on ARMv5 platforms. (2) It adds a fair amount of build time. But well, if that's upstream decision, there's not much we can do against it. Thomas -- Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-10 14:25 ` Thomas Petazzoni @ 2018-06-12 6:58 ` Peter Korsgaard 2018-06-12 19:47 ` Fabrice Fontaine 0 siblings, 1 reply; 9+ messages in thread From: Peter Korsgaard @ 2018-06-12 6:58 UTC (permalink / raw) To: buildroot >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > Hello, > On Sun, 10 Jun 2018 15:38:57 +0200, Fabrice Fontaine wrote: >> - Add a dependency to host-cargo >> - Add a patch to set RUST_TARGET >> - Add a dependency to BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS >> - Forward this dependency to efl svg, enlightment, gst-plugins-bad and >> gst1-plugins-bad >> - Add hash for license file >> >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > I've applied, after fixing the gst-plugins-bad and gst1-plugins-bad > packages, in which you forgot to propagate the new dependency to the > existing Config.in comments. > Generally speaking, I find it a bit annoying that those packages start > using Rust. Not because I have anything against Rust, but because: > (1) It limits the support to a much smaller set of architectures. For > example, it is not longer possible to build librsvg or its reverse > dependencies on ARMv5 platforms. > (2) It adds a fair amount of build time. > But well, if that's upstream decision, there's not much we can do > against it. This also causes a number of issues for host-librsvg (which is a dependency of libgtk3 and midori) when building for architectures not supported by rust: http://autobuild.buildroot.net/?reason=host-rustc Care to take a look at propagating these new dependencies here? -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-12 6:58 ` Peter Korsgaard @ 2018-06-12 19:47 ` Fabrice Fontaine 2018-06-12 20:18 ` Peter Korsgaard 0 siblings, 1 reply; 9+ messages in thread From: Fabrice Fontaine @ 2018-06-12 19:47 UTC (permalink / raw) To: buildroot Dear Peter, 2018-06-12 8:58 GMT+02:00 Peter Korsgaard <peter@korsgaard.com>: > >>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes: > > > Hello, > > On Sun, 10 Jun 2018 15:38:57 +0200, Fabrice Fontaine wrote: > >> - Add a dependency to host-cargo > >> - Add a patch to set RUST_TARGET > >> - Add a dependency to BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS > >> - Forward this dependency to efl svg, enlightment, gst-plugins-bad and > >> gst1-plugins-bad > >> - Add hash for license file > >> > >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > > I've applied, after fixing the gst-plugins-bad and gst1-plugins-bad > > packages, in which you forgot to propagate the new dependency to the > > existing Config.in comments. > > > Generally speaking, I find it a bit annoying that those packages start > > using Rust. Not because I have anything against Rust, but because: > > > (1) It limits the support to a much smaller set of architectures. For > > example, it is not longer possible to build librsvg or its reverse > > dependencies on ARMv5 platforms. > > > (2) It adds a fair amount of build time. > > > But well, if that's upstream decision, there's not much we can do > > against it. > > This also causes a number of issues for host-librsvg (which is a > dependency of libgtk3 and midori) when building for architectures not > supported by rust: > The issue isn't related to libgtk3 and midori as this build fails ( http://autobuild.buildroot.net/results/f33/f335ed517b402c094ed3b10a3da4cdc23620dbd6/defconfig) even if these packages are not selected. I'm not an expert in virtual package but it seems we try to build host-rustc even if BR2_PACKAGE_HOST_RUSTC is not selected by the user (which is allowed). The issue is that BR2_PACKAGE_PROVIDES_HOST_RUSTC is not defined if BR2_PACKAGE_HOST_RUSTC is not set (see rustc/Config.in.host). Moreover, we define it like this: config BR2_PACKAGE_PROVIDES_HOST_RUSTC string default "host-rust" if BR2_PACKAGE_HOST_RUST default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN As a result, if the user does not select host-rust or host-rust-bin, then there is no provider for host-rustc. I would like your advice on this point, should we change this definition like this: config BR2_PACKAGE_PROVIDES_HOST_RUSTC string default "host-rust" if BR2_PACKAGE_HOST_RUST default "host-rust-bin" if !BR2_PACKAGE_HOST_RUST or do you prefer: config BR2_PACKAGE_PROVIDES_HOST_RUSTC string default "host-rust" if BR2_PACKAGE_HOST_RUST default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN default "host-rust-bin" if !BR2_PACKAGE_HOST_RUST || !BR2_PACKAGE_HOST_RUST Indeed, HOST_RUST_BIN doesn't have any dependencies > > http://autobuild.buildroot.net/?reason=host-rustc > > Care to take a look at propagating these new dependencies here? > > -- > Bye, Peter Korsgaard > Best Regards, Fabrice -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180612/5f989c6f/attachment.html> ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-12 19:47 ` Fabrice Fontaine @ 2018-06-12 20:18 ` Peter Korsgaard 2018-06-12 20:42 ` Thomas Petazzoni 0 siblings, 1 reply; 9+ messages in thread From: Peter Korsgaard @ 2018-06-12 20:18 UTC (permalink / raw) To: buildroot >>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: Hi, >> This also causes a number of issues for host-librsvg (which is a >> dependency of libgtk3 and midori) when building for architectures not >> supported by rust: >> > The issue isn't related to libgtk3 and midori as this build fails ( > http://autobuild.buildroot.net/results/f33/f335ed517b402c094ed3b10a3da4cdc23620dbd6/defconfig) > even if these packages are not selected. It is a bit more tricky than that because it can also be about host-libgtk3. For this configuration it is adwaita-icon-theme which pulls in host-libgtk3 -> host-librsvg -> host-cargo -> host-rustc > I'm not an expert in virtual package but it seems we try to build > host-rustc even if BR2_PACKAGE_HOST_RUSTC is not selected by the user > (which is allowed). Indeed. > The issue is that BR2_PACKAGE_PROVIDES_HOST_RUSTC is not defined if > BR2_PACKAGE_HOST_RUSTC is not set (see rustc/Config.in.host). > Moreover, we define it like this: > config BR2_PACKAGE_PROVIDES_HOST_RUSTC > string > default "host-rust" if BR2_PACKAGE_HOST_RUST > default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN > As a result, if the user does not select host-rust or host-rust-bin, then > there is no provider for host-rustc. But that is expected. host-rustc is a mix of a host utility and data specific to a target, so we really cannot use it if we are not on a supported host system AND building for a supported target. > config BR2_PACKAGE_PROVIDES_HOST_RUSTC > string > default "host-rust" if BR2_PACKAGE_HOST_RUST > default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN > default "host-rust-bin" if !BR2_PACKAGE_HOST_RUST || > !BR2_PACKAGE_HOST_RUST > Indeed, HOST_RUST_BIN doesn't have any dependencies It does, in the sense that it downloads the following files: HOST_RUST_BIN_EXTRA_DOWNLOADS = \ rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz \ rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz And those files are only available for specific RUSTC_HOST_NAME and RUSTC_TARGET_NAME values. -- Bye, Peter Korsgaard ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-12 20:18 ` Peter Korsgaard @ 2018-06-12 20:42 ` Thomas Petazzoni 0 siblings, 0 replies; 9+ messages in thread From: Thomas Petazzoni @ 2018-06-12 20:42 UTC (permalink / raw) To: buildroot Hello, On Tue, 12 Jun 2018 22:18:50 +0200, Peter Korsgaard wrote: > >> This also causes a number of issues for host-librsvg (which is a > >> dependency of libgtk3 and midori) when building for architectures not > >> supported by rust: > >> > > The issue isn't related to libgtk3 and midori as this build fails ( > > http://autobuild.buildroot.net/results/f33/f335ed517b402c094ed3b10a3da4cdc23620dbd6/defconfig) > > even if these packages are not selected. > > It is a bit more tricky than that because it can also be about > host-libgtk3. For this configuration it is adwaita-icon-theme which > pulls in host-libgtk3 -> host-librsvg -> host-cargo -> host-rustc I think there is an issue in how we handle rust in fact. Indeed, the BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS option indicates if the Rust compiler is capable to act as a cross-compiler for the selected target. But we haven't accounted for the fact that the Rust compiler can also do native builds, like it does for host-librsvg. In the case of native builds, we don't care whether Rust has support for the target architecture: we care about it having support for the host architecture. So basically, the fact that Rust is both a native compiler and a cross-compiler is not properly accounted today. Perhaps we need to have two separate BR2_PACKAGE_HOST_RUSTC_something_ARCH_SUPPORTS options, to use depending on whether you need Rust support for the target, or Rust support for the host ? Eric, what do you think ? Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 2018-06-10 13:38 ` [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 Fabrice Fontaine 2018-06-10 14:25 ` Thomas Petazzoni @ 2018-07-16 11:19 ` Thomas Petazzoni 1 sibling, 0 replies; 9+ messages in thread From: Thomas Petazzoni @ 2018-07-16 11:19 UTC (permalink / raw) To: buildroot Hello, On Sun, 10 Jun 2018 15:38:57 +0200, Fabrice Fontaine wrote: > - Add a dependency to host-cargo > - Add a patch to set RUST_TARGET > - Add a dependency to BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS > - Forward this dependency to efl svg, enlightment, gst-plugins-bad and > gst1-plugins-bad > - Add hash for license file > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > Changes v2 -> v3 (after review of Thomas Petazzoni) > - Put back select BR2_PACKAGE_HOST_CARGO in Config.in (even if it is > not needed) as well as first patch This commit was causing many build failures in the autobuilders, due to the Rust issue Peter and I have discussed in this thread. It's bit more than a month, and nobody stepped up to fix the Rust issues, so for now, the safe thing to do is to revert the librsvg bump. I'll be happy to merge it again once the Rust issues are resolved. Thanks! Thomas -- Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc 2018-06-10 13:38 [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc Fabrice Fontaine 2018-06-10 13:38 ` [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 Fabrice Fontaine @ 2018-06-10 14:18 ` Thomas Petazzoni 1 sibling, 0 replies; 9+ messages in thread From: Thomas Petazzoni @ 2018-06-10 14:18 UTC (permalink / raw) To: buildroot Hello, On Sun, 10 Jun 2018 15:38:56 +0200, Fabrice Fontaine wrote: > Buildroot documentation specifies that cargo-based package should only > depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS and selects > BR2_PACKAGE_HOST_CARGO but this fails with the following error: > > warning: (BR2_PACKAGE_LIBRSVG) selects BR2_PACKAGE_HOST_CARGO which has > unmet direct dependencies (BR2_PACKAGE_HAS_HOST_RUSTC) > > Indeed, host-cargo depends on > BR2_PACKAGE_HAS_HOST_RUSTC which is selected only when host-rustc is > selected. > > So instead of having to select both cargo and rustc in each cargo-based > package, replace BR2_PACKAGE_HAS_HOST_RUSTC dependency by > BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS and select > BR2_PACKAGE_HOST_RUSTC > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > Changes v2 -> v3 (after review of Thomas Petazzoni) > - Give more details on what does not work in commit log Applied to master, thanks. I have also applied a follow-up patch that removes BR2_PACKAGE_HAS_HOST_RUSTC entirely, since it was no longer used anywhere. Thomas -- Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-07-16 11:19 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-06-10 13:38 [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc Fabrice Fontaine 2018-06-10 13:38 ` [Buildroot] [PATCH v3,2/2] librsvg: bump to version 2.42.5 Fabrice Fontaine 2018-06-10 14:25 ` Thomas Petazzoni 2018-06-12 6:58 ` Peter Korsgaard 2018-06-12 19:47 ` Fabrice Fontaine 2018-06-12 20:18 ` Peter Korsgaard 2018-06-12 20:42 ` Thomas Petazzoni 2018-07-16 11:19 ` Thomas Petazzoni 2018-06-10 14:18 ` [Buildroot] [PATCH v3,1/2] host-cargo: select host-rustc Thomas Petazzoni
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.