initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,25 @@
Fix support for ARM endianness, otherwise it gives the error
"unknown CPU endianness"
Signed-off-by: Pedro Aguilar <paguilar@paguilar.org>
diff -Nau guile-2.0.11.orig/module/system/base/target.scm guile-2.0.11/module/system/base/target.scm
--- guile-2.0.11.orig/module/system/base/target.scm 2013-02-28 09:42:45.000000000 +0100
+++ guile-2.0.11/module/system/base/target.scm 2014-11-03 23:05:01.789338997 +0100
@@ -70,7 +70,15 @@
((member cpu '("sparc" "sparc64" "powerpc" "powerpc64" "spu"
"mips" "mips64"))
(endianness big))
- ((string-match "^arm.*el" cpu)
+ ((string-match "^arm.*el" cpu)
+ (endianness little))
+ ((string-match "^arm.*eb" cpu)
+ (endianness big))
+ ((string-prefix? "arm" cpu) ;ARMs are LE by default
+ (endianness little))
+ ((string-match "^aarch64.*be" cpu)
+ (endianness big))
+ ((string=? "aarch64" cpu)
(endianness little))
(else
(error "unknown CPU endianness" cpu)))))
@@ -0,0 +1,16 @@
Avoid using scm_from_complex_double(csqrt()) when building with uclibc.
Signed-off-by: Pedro Aguilar <paguilar@paguilar.org>
diff -Nau guile-2.0.11.orig/configure.ac guile-2.0.11/configure.ac
--- guile-2.0.11.orig/configure.ac 2014-03-12 14:36:02.000000000 +0100
+++ guile-2.0.11/configure.ac 2014-11-03 23:59:51.897267207 +0100
@@ -862,7 +862,7 @@
}]])],
[guile_cv_use_csqrt=yes],
[guile_cv_use_csqrt="no, glibc 2.3 bug"],
- [guile_cv_use_csqrt="yes, hopefully (cross-compiling)"])])
+ [guile_cv_use_csqrt="no (cross-compiling)"])])
case $guile_cv_use_csqrt in
yes*)
AC_DEFINE([HAVE_USABLE_CSQRT], 1, [Define to 1 if csqrt is bug-free])
@@ -0,0 +1,51 @@
From 9304ad88a5f4b083d348563c5de00da53b34cf46 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 6 Mar 2020 23:20:39 +0100
Subject: [PATCH] Makefile.am: fix build without makeinfo
Don't build doc subdir if makeinfo is not available otherwise build
fails on:
make[4]: Entering directory '/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/doc/ref'
MAKEINFO guile.info
/nvmedata/autobuild/instance-7/output-1/build/host-guile-2.0.14/build-aux/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
You should only need it if you modified a '.texi' file, or
any other file indirectly affecting the aspect of the manual.
You might want to install the Texinfo package:
<http://www.gnu.org/software/texinfo/>
The spurious makeinfo call might also be the consequence of
using a buggy 'make' (AIX, DU, IRIX), in which case you might
want to install GNU make:
<http://www.gnu.org/software/make/>
Fixes:
- http://autobuild.buildroot.org/results/9605aac6f760bfff190d0ab95fa50f65486ffe90
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: sent to bug-guile@gnu.org]
---
Makefile.am | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index ebbf6d476..2270afb9f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -38,8 +38,12 @@ SUBDIRS = \
test-suite \
benchmark-suite \
gc-benchmarks \
- am \
+ am
+
+if HAVE_MAKEINFO
+SUBDIRS += \
doc
+endif
DIST_SUBDIRS = $(SUBDIRS) prebuilt
--
2.25.0
@@ -0,0 +1,33 @@
From 6142350d7c0562b0525462abdd41309ae0faa2eb Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 6 Aug 2021 19:49:37 +0200
Subject: [PATCH] module/system/base/target.scm: support riscv32
Fix the following build failure on riscv32:
system/base/target.scm:132:16: In procedure triplet-pointer-size:
unknown CPU word size "riscv32"
Fixes:
- http://autobuild.buildroot.org/results/6705630c1484239ec8b73d57ebc2e2570fbfc8f8
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
module/system/base/target.scm | 1 +
1 file changed, 1 insertion(+)
diff --git a/module/system/base/target.scm b/module/system/base/target.scm
index 2088cd866..dba46664d 100644
--- a/module/system/base/target.scm
+++ b/module/system/base/target.scm
@@ -116,6 +116,7 @@
((string-match "^x86_64-.*-gnux32" triplet) 4) ; x32
+ ((string-match "32$" cpu) 4)
((string-match "64$" cpu) 8)
((string-match "64_?[lbe][lbe]$" cpu) 8)
((member cpu '("sparc" "powerpc" "mips" "mipsel" "nios2" "m68k" "sh3" "sh4")) 4)
--
2.30.2
+21
View File
@@ -0,0 +1,21 @@
config BR2_PACKAGE_GUILE
bool "guile"
depends on !BR2_TOOLCHAIN_USES_MUSL # no strtol_l
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # bdwgc
depends on BR2_USE_WCHAR # libunistring
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBUNISTRING
select BR2_PACKAGE_LIBFFI
select BR2_PACKAGE_GMP
select BR2_PACKAGE_BDWGC
select BR2_PACKAGE_LIBTOOL
help
Guile is an interpreter and compiler for the Scheme
programming language, a clean and elegant dialect of Lisp.
http://www.gnu.org/software/guile
comment "guile needs a uClibc or glibc toolchain w/ threads, wchar, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
+6
View File
@@ -0,0 +1,6 @@
# Locally calculated after checking pgp signature
sha256 6b7947dc2e3d115983846a268b8f5753c12fd5547e42fbf2b97d75a3b79f0d31 guile-3.0.4.tar.xz
# Locally computed
sha256 b51c6f20e6d029cb5b3e5bf235ac562c9a188c5bdc4ffcdc663897772d6e0260 LICENSE
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING.LESSER
+73
View File
@@ -0,0 +1,73 @@
################################################################################
#
# guile
#
################################################################################
GUILE_VERSION = 3.0.4
GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
GUILE_INSTALL_STAGING = YES
# For 0002-calculate-csqrt_manually.patch and
# 0003-Makefile.am-fix-build-without-makeinfo.patch
GUILE_AUTORECONF = YES
GUILE_LICENSE = LGPL-3.0+
GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER
GUILE_CPE_ID_VENDOR = gnu
# libtool dependency is needed because guile uses libltdl
GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf libtool
HOST_GUILE_DEPENDENCIES = host-libunistring host-libffi host-gmp host-bdwgc host-flex host-pkgconf host-gettext
# The HAVE_GC* CFLAGS specify that we will use internal callbacks
# instead of the ones provided by
# bdwgc. Eg. HAVE_GC_SET_FINALIZER_NOTIFIER specifies that we won't
# use bdwgc's GC_finalizer_notifier callback. Trying to use these
# specific bdwgc's callbacks breaks guile's building.
GUILE_CFLAGS = \
-DHAVE_GC_SET_FINALIZER_NOTIFIER \
-DHAVE_GC_GET_HEAP_USAGE_SAFE \
-DHAVE_GC_GET_FREE_SPACE_DIVISOR \
-DHAVE_GC_SET_FINALIZE_ON_DEMAND
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
GUILE_CONF_ENV += LIBS=-latomic
endif
ifeq ($(BR2_STATIC_LIBS),y)
GUILE_CFLAGS += -DGC_NO_DLOPEN
endif
# Triggers assembler error with -Os
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy)
GUILE_CFLAGS += -O2
endif
# jit triggers build failures with gcc < 5
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),)
GUILE_CONF_OPTS += --disable-jit
endif
ifeq ($(BR2_HOST_GCC_AT_LEAST_5),)
HOST_GUILE_CONF_OPTS += --disable-jit
endif
# It can use readline, but on the condition that it was build against
# ncurses. If both aren't present disable readline support since the
# host readline/ncurses support can poison the build.
ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
GUILE_CONF_OPTS += --with-libreadline-prefix=$(STAGING_DIR)/usr
GUILE_DEPENDENCIES += readline
else
GUILE_CONF_OPTS += --without-libreadline-prefix
endif
GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/bin/guile \
CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)"
GUILE_CONF_OPTS += \
--with-libltdl-prefix=$(STAGING_DIR)/usr/lib \
--with-libgmp-prefix=$(STAGING_DIR)/usr/lib \
--with-libunistring-prefix=$(STAGING_DIR)/usr/lib
$(eval $(autotools-package))
$(eval $(host-autotools-package))