diff mbox series

[next,1/1] package/spice: re-enable on all cpu architectures

Message ID 20241122213809.176709-1-ju.o@free.fr
State New
Headers show
Series [next,1/1] package/spice: re-enable on all cpu architectures | expand

Commit Message

Julien Olivain Nov. 22, 2024, 9:38 p.m. UTC
Buildroot commit [1] restricted spice compilation to x86 only.
As the log of this commit mention, this was because at that time,
spice 0.12.0 was generating an error on untested cpu architectures.
See [2] (we can also see that armv6+ platforms was apparently
supported).

Spice commit [3] (first included in spice v0.12.6) relaxed this error
to a warning. The reason was that big endian support was improved,
and also there was an intent to make testing easier.

This commit removes this i386/x86_64 cpu architecture restriction.
It reverts the commit [1] and also adds the dependency on
BR2_USE_MMU, as it is needed by libglib2. This dependency was
missing, but was implied by the cpu restriction (as all i386/x86_64
cpus has a MMU). Spice also needs a gcc version with C++11 support,
including with std::list allocator which correspond to gcc >= 6.
See gcc commit [4].

[1] https://gitlab.com/buildroot.org/buildroot/-/commit/4f452a86b8523d90ffa7a94cb1d540e574ceb165
[2] https://gitlab.freedesktop.org/spice/spice/-/blob/v0.12.0/configure.ac#L60
[3] https://gitlab.freedesktop.org/spice/spice/-/commit/f80eef8f9ca04f923752efbda043ab856801be8a
[4] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cc7f3d0eeef05fb8fc11384a9a29afae10a54cc7

Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Patch tested in:
https://gitlab.com/jolivain/buildroot/-/pipelines/1556927270
---
 package/spice/Config.in | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Vincent Jardin Nov. 22, 2024, 11:19 p.m. UTC | #1
Hi Julien,

On Fri, Nov 22, 2024 at 10:38:09PM UTC, Julien Olivain wrote:
> Buildroot commit [1] restricted spice compilation to x86 only.
> As the log of this commit mention, this was because at that time,
> spice 0.12.0 was generating an error on untested cpu architectures.
> See [2] (we can also see that armv6+ platforms was apparently
> supported).
> 
> Spice commit [3] (first included in spice v0.12.6) relaxed this error
> to a warning. The reason was that big endian support was improved,
> and also there was an intent to make testing easier.
> 
> This commit removes this i386/x86_64 cpu architecture restriction.
> It reverts the commit [1] and also adds the dependency on
> BR2_USE_MMU, as it is needed by libglib2. This dependency was
> missing, but was implied by the cpu restriction (as all i386/x86_64
> cpus has a MMU). Spice also needs a gcc version with C++11 support,
> including with std::list allocator which correspond to gcc >= 6.
> See gcc commit [4].

Thanks for enabling spice for many platforms. LGTM

Reviewed-by: Vincent Jardin <vjardin@free.fr>

Best regards,
  Vincent

> [1] https://gitlab.com/buildroot.org/buildroot/-/commit/4f452a86b8523d90ffa7a94cb1d540e574ceb165
> [2] https://gitlab.freedesktop.org/spice/spice/-/blob/v0.12.0/configure.ac#L60
> [3] https://gitlab.freedesktop.org/spice/spice/-/commit/f80eef8f9ca04f923752efbda043ab856801be8a
> [4] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cc7f3d0eeef05fb8fc11384a9a29afae10a54cc7
> 
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> Patch tested in:
> https://gitlab.com/jolivain/buildroot/-/pipelines/1556927270
> ---
>  package/spice/Config.in | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/package/spice/Config.in b/package/spice/Config.in
> index ca5c562ca1..4ef4376a5a 100644
> --- a/package/spice/Config.in
> +++ b/package/spice/Config.in
> @@ -1,14 +1,16 @@
> -comment "spice server needs a toolchain w/ wchar, threads, C++"
> -	depends on BR2_i386 || BR2_x86_64
> +comment "spice server needs a toolchain w/ wchar, threads, C++, gcc >= 6"
>  	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> -		!BR2_INSTALL_LIBSTDCPP
> +		!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_6
>  
>  config BR2_PACKAGE_SPICE
>  	bool "spice server"
> -	depends on BR2_i386 || BR2_x86_64
> +	depends on BR2_USE_MMU # libglib2
>  	depends on BR2_USE_WCHAR # libglib2
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
>  	depends on BR2_INSTALL_LIBSTDCPP
> +	# Needs gcc >= 6 with c++11 std::list allocator
> +	# https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cc7f3d0eeef05fb8fc11384a9a29afae10a54cc7
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6
>  	select BR2_PACKAGE_JPEG
>  	select BR2_PACKAGE_LIBGLIB2
>  	select BR2_PACKAGE_OPENSSL
> -- 
> 2.47.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/spice/Config.in b/package/spice/Config.in
index ca5c562ca1..4ef4376a5a 100644
--- a/package/spice/Config.in
+++ b/package/spice/Config.in
@@ -1,14 +1,16 @@ 
-comment "spice server needs a toolchain w/ wchar, threads, C++"
-	depends on BR2_i386 || BR2_x86_64
+comment "spice server needs a toolchain w/ wchar, threads, C++, gcc >= 6"
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_INSTALL_LIBSTDCPP
+		!BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_6
 
 config BR2_PACKAGE_SPICE
 	bool "spice server"
-	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_USE_MMU # libglib2
 	depends on BR2_USE_WCHAR # libglib2
 	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	depends on BR2_INSTALL_LIBSTDCPP
+	# Needs gcc >= 6 with c++11 std::list allocator
+	# https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=cc7f3d0eeef05fb8fc11384a9a29afae10a54cc7
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	select BR2_PACKAGE_JPEG
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_OPENSSL