git » eigen.git » commit 8848013

eigen 5.0.1

author Urja (ARMLFS builder)
2025-12-23 14:42:35 UTC
committer Urja (ARMLFS builder)
2025-12-23 14:42:35 UTC
parent d0879e72bb1389efb8403f4fd44d1dc482989809

eigen 5.0.1

.SRCINFO +10 -9
LICENSE +12 -0
LICENSES/0BSD.txt +1 -0
PKGBUILD +19 -20
REUSE.toml +29 -0
eigen-vectorized-reduction-half.patch +0 -46

diff --git a/.SRCINFO b/.SRCINFO
index f0be619..07d8664 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,23 +1,24 @@
 pkgbase = eigen
 	pkgdesc = Lightweight C++ template library for vector and matrix math, a.k.a. linear algebra
-	pkgver = 3.4.0
-	pkgrel = 2
+	pkgver = 5.0.1
+	pkgrel = 1
 	url = https://eigen.tuxfamily.org
-	arch = any
+	arch = x86_64
+	arch = armv7h
 	license = MPL-2.0
 	license = Apache-2.0
 	license = BSD-3-Clause
 	license = Minpack
 	license = LGPL-2.1-only OR LGPL-2.1-or-later
 	makedepends = cmake
+	makedepends = fftw
 	makedepends = freeglut
 	makedepends = gcc-fortran
-	makedepends = fftw
+	makedepends = git
 	makedepends = suitesparse
-	makedepends = boost
-	source = https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz
-	source = eigen-vectorized-reduction-half.patch
-	sha256sums = 8586084f71f9bde545ee7fa6d00288b264a2b7ac3607b974e54d13e7162c1c72
-	sha256sums = SKIP
+	depends = gcc-libs
+	depends = glibc
+	source = git+https://gitlab.com/libeigen/eigen#tag=5.0.1
+	sha256sums = 5f1252d70f39d43243b1346f3cdeb944178d6d28cd18c44ed3614625d371e6f0
 
 pkgname = eigen
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..b87c5e4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,12 @@
+Copyright Arch Linux Contributors
+
+Permission to use, copy, modify, and/or distribute this software for
+any purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
+FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/LICENSES/0BSD.txt b/LICENSES/0BSD.txt
new file mode 120000
index 0000000..ea5b606
--- /dev/null
+++ b/LICENSES/0BSD.txt
@@ -0,0 +1 @@
+../LICENSE
\ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
index 24dc166..1d584c5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,35 +3,34 @@
 # Contributor: Kringel
 
 pkgname=eigen
-pkgver=3.4.0
-pkgrel=2
+pkgver=5.0.1
+pkgrel=1
 pkgdesc='Lightweight C++ template library for vector and matrix math, a.k.a. linear algebra'
-arch=(any)
+arch=(x86_64 'armv7h')
 url='https://eigen.tuxfamily.org'
-license=(MPL-2.0 Apache-2.0 BSD-3-Clause Minpack 'LGPL-2.1-only OR LGPL-2.1-or-later')
-makedepends=(cmake freeglut 
-gcc-fortran 
-fftw suitesparse boost)
-source=(https://gitlab.com/libeigen/eigen/-/archive/$pkgver/$pkgname-$pkgver.tar.gz
-        $pkgname-vectorized-reduction-half.patch)
-sha256sums=('8586084f71f9bde545ee7fa6d00288b264a2b7ac3607b974e54d13e7162c1c72'
-            'SKIP')
-
-prepare() {
-  cd $pkgname-$pkgver
-  # Eigen installs all files in source dir, including the backup files of patch.
-  # With the first flag we disable the use of backup files.
-  patch --no-backup-if-mismatch -Np1 -i ../$pkgname-vectorized-reduction-half.patch
-}
+license=(MPL-2.0 Apache-2.0
+         BSD-3-Clause Minpack
+         'LGPL-2.1-only OR LGPL-2.1-or-later')
+depends=(gcc-libs
+         glibc)
+makedepends=(cmake
+             fftw
+             freeglut
+             gcc-fortran
+             git
+             suitesparse)
+source=(git+https://gitlab.com/libeigen/eigen#tag=$pkgver)
+sha256sums=('5f1252d70f39d43243b1346f3cdeb944178d6d28cd18c44ed3614625d371e6f0')
 
 build() {
-  cmake -B build -S $pkgname-$pkgver \
+  cmake -B build -S $pkgname \
     -DCMAKE_INSTALL_PREFIX=/usr
+  cmake --build build
 }
 
 package() {
   DESTDIR="$pkgdir" cmake --install build
 
   # install custom licenses
-  install -Dm644 $pkgname-$pkgver/COPYING.* -t "$pkgdir/usr/share/licenses/$pkgname"
+  install -Dm644 $pkgname/COPYING.* -t "$pkgdir/usr/share/licenses/$pkgname"
 }
diff --git a/REUSE.toml b/REUSE.toml
new file mode 100644
index 0000000..51b4137
--- /dev/null
+++ b/REUSE.toml
@@ -0,0 +1,29 @@
+version = 1
+
+[[annotations]]
+path = [
+    "PKGBUILD",
+    "README.md",
+    "keys/**",
+    ".SRCINFO",
+    ".nvchecker.toml",
+    "*.install",
+    "*.sysusers",
+    "*.tmpfiles",
+    "*.logrotate",
+    "*.pam",
+    "*.service",
+    "*.socket",
+    "*.timer",
+    "*.desktop",
+    "*.hook",
+]
+SPDX-FileCopyrightText = "Arch Linux contributors"
+SPDX-License-Identifier = "0BSD"
+
+[[annotations]]
+path = [
+    "eigen-vectorized-reduction-half.patch",
+]
+SPDX-FileCopyrightText = "Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>, Copyright (C) 2007-2011 Benoit Jacob <jacob.benoit.1@gmail.com>"
+SPDX-License-Identifier = "MPL-2.0"
diff --git a/eigen-vectorized-reduction-half.patch b/eigen-vectorized-reduction-half.patch
deleted file mode 100644
index 217eef2..0000000
--- a/eigen-vectorized-reduction-half.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From d0e3791b1a0e2db9edd5f1d1befdb2ac5a40efe0 Mon Sep 17 00:00:00 2001
-From: Alex Druinsky <adruinsky@google.com>
-Date: Wed, 20 Oct 2021 16:03:12 -0700
-Subject: [PATCH] Fix vectorized reductions for Eigen::half
-
-Fixes compiler errors in expressions that look like
-
-  Eigen::Matrix<Eigen::half, 3, 1>::Random().maxCoeff()
-
-The error comes from the code that creates the initial value for
-vectorized reductions. The fix is to specify the scalar type of the
-reduction's initial value.
-
-The cahnge is necessary for Eigen::half because unlike other types,
-Eigen::half scalars cannot be implicitly created from integers.
----
- Eigen/src/Core/PartialReduxEvaluator.h | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/Eigen/src/Core/PartialReduxEvaluator.h b/Eigen/src/Core/PartialReduxEvaluator.h
-index 4040ae726f..a179688815 100644
---- a/Eigen/src/Core/PartialReduxEvaluator.h
-+++ b/Eigen/src/Core/PartialReduxEvaluator.h
-@@ -56,12 +56,17 @@ struct packetwise_redux_traits
- /* Value to be returned when size==0 , by default let's return 0 */
- template<typename PacketType,typename Func>
- EIGEN_DEVICE_FUNC
--PacketType packetwise_redux_empty_value(const Func& ) { return pset1<PacketType>(0); }
-+PacketType packetwise_redux_empty_value(const Func& ) {
-+  const typename unpacket_traits<PacketType>::type zero(0);
-+  return pset1<PacketType>(zero);
-+}
- 
- /* For products the default is 1 */
- template<typename PacketType,typename Scalar>
- EIGEN_DEVICE_FUNC
--PacketType packetwise_redux_empty_value(const scalar_product_op<Scalar,Scalar>& ) { return pset1<PacketType>(1); }
-+PacketType packetwise_redux_empty_value(const scalar_product_op<Scalar,Scalar>& ) {
-+  return pset1<PacketType>(Scalar(1));
-+}
- 
- /* Perform the actual reduction */
- template<typename Func, typename Evaluator,
--- 
-GitLab
-