* Re: [Buildroot] [PATCH] package/eigen: bump to version 5.0.1
2026-04-04 10:01 [Buildroot] [PATCH] package/eigen: bump to version 5.0.1 Shubham Chakraborty
@ 2026-04-07 19:39 ` Julien Olivain via buildroot
2026-04-08 6:16 ` Shubham Chakraborty
2026-04-08 6:28 ` [Buildroot] [PATCH v2] " Shubham Chakraborty
1 sibling, 1 reply; 5+ messages in thread
From: Julien Olivain via buildroot @ 2026-04-07 19:39 UTC (permalink / raw)
To: Shubham Chakraborty; +Cc: buildroot
Hi Shubham,
Thanks for the patch.
On 04/04/2026 12:01, Shubham Chakraborty wrote:
> Update Eigen from 3.4.0 to 5.0.1.
>
> Remove the downstream CMake patch because the BLAS, LAPACK and
> CMake package toggles are now provided upstream in 5.0.1.
>
> Refresh the source and license hashes to match the new release and
> update the package license metadata to reflect the current upstream
> licensing files.
>
> Add a gcc >= 5 dependency in Config.in because Eigen 5.x requires
> C++14 support.
>
> Update the project homepage to the current upstream GitLab URL.
>
> Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
> ---
> ...ptions-for-controlling-build-compone.patch | 88 -------------------
> package/eigen/Config.in | 7 +-
> package/eigen/eigen.hash | 11 ++-
> package/eigen/eigen.mk | 6 +-
> 4 files changed, 12 insertions(+), 100 deletions(-)
> delete mode 100644
> package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
>
> diff --git
> a/package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
> b/package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
> deleted file mode 100644
If you are removing the patch here, you should remove the entry
in ".checkpackageignore". This is detected by the command:
"utils/docker-run make check-package" which report the error:
.checkpackageignore:311: ignored file
package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
is missing
> index 737e7d39b7..0000000000
> ---
> a/package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
> +++ /dev/null
[...]
> diff --git a/package/eigen/Config.in b/package/eigen/Config.in
> index ef0a16f2f7..b1746da9e9 100644
> --- a/package/eigen/Config.in
> +++ b/package/eigen/Config.in
> @@ -1,6 +1,7 @@
> config BR2_PACKAGE_EIGEN
> bool "eigen"
> depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
If you add a new dependency on gcc 5 here, it should be propagated
on all packages selecting eigen. You can have the list with the
command:
git grep 'select BR2_PACKAGE_EIGEN'
Which gives gtkiostream, opencv4-contrib and tensorflow-lite.
So this patch should add in the Config.in for those package the
new dependency:
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # eigen
> help
> Eigen is a C++ template library for linear algebra: vectors,
> matrices, and related algorithms. It is versatile, fast,
> @@ -11,7 +12,7 @@ config BR2_PACKAGE_EIGEN
> right away. There is no binary to link to. Eigen is a pure
> template library defined in the headers.
>
> - http://eigen.tuxfamily.org/
> + https://gitlab.com/libeigen/eigen
>
> -comment "eigen needs a toolchain w/ C++"
> - depends on !BR2_INSTALL_LIBSTDCPP
> +comment "eigen needs a toolchain w/ C++, gcc >= 5"
> + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
Could you send an updated pactch addressing those issue, please?
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2] package/eigen: bump to version 5.0.1
2026-04-04 10:01 [Buildroot] [PATCH] package/eigen: bump to version 5.0.1 Shubham Chakraborty
2026-04-07 19:39 ` Julien Olivain via buildroot
@ 2026-04-08 6:28 ` Shubham Chakraborty
2026-10-22 15:32 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 5+ messages in thread
From: Shubham Chakraborty @ 2026-04-08 6:28 UTC (permalink / raw)
To: buildroot; +Cc: Julien Olivain, Shubham Chakraborty
Update Eigen from 3.4.0 to 5.0.1.
Remove the downstream CMake patch because the BLAS, LAPACK and
CMake package toggles are now provided upstream in 5.0.1.
Refresh the source and license hashes to match the new release and
update the package license metadata to reflect the current upstream
licensing files.
Add a gcc >= 5 dependency in Config.in because Eigen 5.x requires
C++14 support.
Update the project homepage to the current upstream GitLab URL.
Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
-----------
Changes v1 -> v2:
- remove stale .checkpackageignore entry for deleted eigen patch
- propagate eigen gcc >= 5 dependency to gtkiostream
- propagate eigen gcc >= 5 dependency to opencv4-contrib sfm
- no change needed for tensorflow-lite since it already depends on gcc >= 8
---
.checkpackageignore | 1 -
...ptions-for-controlling-build-compone.patch | 88 -------------------
package/eigen/Config.in | 7 +-
package/eigen/eigen.hash | 11 ++-
package/eigen/eigen.mk | 6 +-
package/gtkiostream/Config.in | 4 +-
package/opencv4-contrib/Config.in | 3 +-
7 files changed, 17 insertions(+), 103 deletions(-)
delete mode 100644 package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index e9a002f766..3c3afed86a 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -308,7 +308,6 @@ package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch lib_patc
package/ecryptfs-utils/0001-musl.patch lib_patch.Upstream
package/ecryptfs-utils/0002-openssl110.patch lib_patch.Upstream
package/ecryptfs-utils/0003-fix-parallel-build-issue.patch lib_patch.Upstream
-package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch lib_patch.Upstream
package/elftosb/0001-fixes-includes.patch lib_patch.Upstream
package/elftosb/0002-force-cxx-compiler.patch lib_patch.Upstream
package/elfutils/0001-Add-a-enable-disable-progs-configure-option.patch lib_patch.Upstream
diff --git a/package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch b/package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
deleted file mode 100644
index 737e7d39b7..0000000000
--- a/package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From f49d5c1a6b7c22be359189cd0b1e2e766bd05365 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= <cantonios@google.com>
-Date: Sat, 5 Mar 2022 05:49:45 +0000
-Subject: [PATCH] Adds new CMake Options for controlling build components.
-
-[Retrieved from:
-https://gitlab.com/libeigen/eigen/-/commit/cf82186416d04ea5df2a397d8fe09dc78d40ca65]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Julien: rebased patch on 3.4.0]
-Signed-off-by: Julien Olivain <ju.o@free.fr>
----
- CMakeLists.txt | 6 ++++++
- blas/CMakeLists.txt | 3 ++-
- lapack/CMakeLists.txt | 5 +++++
- 3 files changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f3e69b845..74ff755f5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -495,6 +495,9 @@ if(BUILD_TESTING)
- add_subdirectory(failtest)
- endif()
-
-+include(CMakeDetermineFortranCompiler)
-+option(EIGEN_BUILD_BLAS "Toggles the building of the Eigen Blas library" ${CMAKE_Fortran_COMPILER})
-+option(EIGEN_BUILD_LAPACK "Toggles the building of the included Eigen LAPACK library" ${CMAKE_Fortran_COMPILER})
- if(EIGEN_LEAVE_TEST_IN_ALL_TARGET)
- add_subdirectory(blas)
- add_subdirectory(lapack)
-@@ -612,6 +615,8 @@ set_target_properties (eigen PROPERTIES EXPORT_NAME Eigen)
-
- install (TARGETS eigen EXPORT Eigen3Targets)
-
-+option(EIGEN_BUILD_CMAKE_PACKAGE "Enables the creation of EigenConfig.cmake and related files" ON)
-+if(EIGEN_BUILD_CMAKE_PACKAGE)
- configure_package_config_file (
- ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3Config.cmake.in
- ${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
-@@ -647,6 +652,7 @@ install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UseEigen3.cmake
- # Add uninstall target
- add_custom_target ( uninstall
- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/EigenUninstall.cmake)
-+endif()
-
- if (EIGEN_SPLIT_TESTSUITE)
- ei_split_testsuite("${EIGEN_SPLIT_TESTSUITE}")
-diff --git a/blas/CMakeLists.txt b/blas/CMakeLists.txt
-index f3a94ec4a..d07090f69 100644
---- a/blas/CMakeLists.txt
-+++ b/blas/CMakeLists.txt
-@@ -1,6 +1,7 @@
-
- project(EigenBlas CXX)
-
-+if(EIGEN_BUILD_BLAS)
- include(CheckLanguage)
- check_language(Fortran)
- if(CMAKE_Fortran_COMPILER)
-@@ -59,4 +60,4 @@ if(BUILD_TESTING)
- endif()
-
- endif()
--
-+endif()
-diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt
-index e48497fda..71255d96d 100644
---- a/lapack/CMakeLists.txt
-+++ b/lapack/CMakeLists.txt
-@@ -1,6 +1,8 @@
-
- project(EigenLapack CXX)
-
-+if(EIGEN_BUILD_LAPACK AND EIGEN_BUILD_BLAS)
-+
- include(CheckLanguage)
- check_language(Fortran)
- if(CMAKE_Fortran_COMPILER)
-@@ -450,3 +452,6 @@ if(EXISTS ${eigen_full_path_to_testing_lapack})
-
- endif()
-
-+elseif(EIGEN_BUILD_LAPACK AND NOT EIGEN_BUILD_BLAS)
-+ message(FATAL_ERROR "EIGEN_BUILD_LAPACK requires EIGEN_BUILD_BLAS")
-+endif() #EIGEN_BUILD_LAPACK
---
-2.45.2
-
diff --git a/package/eigen/Config.in b/package/eigen/Config.in
index ef0a16f2f7..b1746da9e9 100644
--- a/package/eigen/Config.in
+++ b/package/eigen/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_EIGEN
bool "eigen"
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
help
Eigen is a C++ template library for linear algebra: vectors,
matrices, and related algorithms. It is versatile, fast,
@@ -11,7 +12,7 @@ config BR2_PACKAGE_EIGEN
right away. There is no binary to link to. Eigen is a pure
template library defined in the headers.
- http://eigen.tuxfamily.org/
+ https://gitlab.com/libeigen/eigen
-comment "eigen needs a toolchain w/ C++"
- depends on !BR2_INSTALL_LIBSTDCPP
+comment "eigen needs a toolchain w/ C++, gcc >= 5"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
diff --git a/package/eigen/eigen.hash b/package/eigen/eigen.hash
index ad7d6da9dc..09d23ef7e6 100644
--- a/package/eigen/eigen.hash
+++ b/package/eigen/eigen.hash
@@ -1,8 +1,7 @@
# Locally computed
-sha256 b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626 eigen-3.4.0.tar.bz2
+sha256 e4de6b08f33fd8b8985d2f204381408c660bffa6170ac65b68ae1bd3cd575c0a eigen-5.0.1.tar.bz2
+sha256 03379001a7b12a2ec997a25554247d985270b353c10d5bafee9ac8d6519820b7 COPYING.APACHE
sha256 51928dce36213c5333ba3172e847d735d4c6e9b7ff2722a326c49067155b82eb COPYING.BSD
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING.GPL
-sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL
-sha256 f5b330efdad110cdd84d585ec61220b0650461fa599e36b13e1726c9346dcfb9 COPYING.MINPACK
-sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 COPYING.MPL2
-sha256 c83230b770f17ef1386ea1fd3681271dd98aa93646bdbfb5bff3a1b7050fff9d COPYING.README
+sha256 c87b7f8ee88f6195e91743820c00354833583aef091b72e2d4a49c8e28e798a0 COPYING.MINPACK
+sha256 66a3107d5ad6a058aab753eaac2047ccb2ed0e39465dd0fe5844da3e300d5172 COPYING.MPL2
+sha256 db640ff2bd90c6abd6a4d3fbb351e0ee4d555417cf840492054d1cbb2ea85644 COPYING.README
diff --git a/package/eigen/eigen.mk b/package/eigen/eigen.mk
index 7fe3fbdac6..df83db70fa 100644
--- a/package/eigen/eigen.mk
+++ b/package/eigen/eigen.mk
@@ -4,11 +4,11 @@
#
################################################################################
-EIGEN_VERSION = 3.4.0
+EIGEN_VERSION = 5.0.1
EIGEN_SOURCE = eigen-$(EIGEN_VERSION).tar.bz2
EIGEN_SITE = $(call gitlab,libeigen,eigen,$(EIGEN_VERSION))
-EIGEN_LICENSE = MPL2, BSD-3-Clause, LGPL-2.1
-EIGEN_LICENSE_FILES = COPYING.MPL2 COPYING.BSD COPYING.LGPL COPYING.README
+EIGEN_LICENSE = MPL-2.0, BSD-3-Clause, Apache-2.0, Minpack
+EIGEN_LICENSE_FILES = COPYING.MPL2 COPYING.BSD COPYING.APACHE COPYING.MINPACK COPYING.README
EIGEN_INSTALL_STAGING = YES
EIGEN_INSTALL_TARGET = NO
EIGEN_SUPPORTS_IN_SOURCE_BUILD = NO
diff --git a/package/gtkiostream/Config.in b/package/gtkiostream/Config.in
index 334b4dc331..41426e06bd 100644
--- a/package/gtkiostream/Config.in
+++ b/package/gtkiostream/Config.in
@@ -6,6 +6,7 @@ config BR2_PACKAGE_GTKIOSTREAM
bool "gtkiostream"
depends on BR2_PACKAGE_GTKIOSTREAM_ARCH_SUPPORTS
depends on BR2_INSTALL_LIBSTDCPP # eigen
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # eigen
depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_ALSA_LIB_MIXER if BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_EIGEN
@@ -18,7 +19,8 @@ config BR2_PACKAGE_GTKIOSTREAM
https://github.com/flatmax/gtkiostream
-comment "gtkiostream needs a toolchain w/ C++, threads"
+comment "gtkiostream needs a toolchain w/ C++, gcc >= 5, threads"
depends on BR2_PACKAGE_GTKIOSTREAM_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/opencv4-contrib/Config.in b/package/opencv4-contrib/Config.in
index 529687dd96..8f8156f1e8 100644
--- a/package/opencv4-contrib/Config.in
+++ b/package/opencv4-contrib/Config.in
@@ -259,6 +259,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SALIENCY
config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SFM
bool "sfm"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # eigen
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # glog
select BR2_PACKAGE_OPENCV4_LIB_IMGPROC
select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS
@@ -271,7 +272,7 @@ config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SFM
the module is a light version of Libmv.
comment "sfm needs a toolchain w/ gcc >= 6"
- depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_6
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_TOOLCHAIN_GCC_AT_LEAST_6
config BR2_PACKAGE_OPENCV4_CONTRIB_LIB_SHAPE
bool "shape"
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread