| author | Urja (ARMLFS builder)
<urja+armlfs@urja.dev> 2025-12-23 14:42:35 UTC |
| committer | Urja (ARMLFS builder)
<urja+armlfs@urja.dev> 2025-12-23 14:42:35 UTC |
| parent | d0879e72bb1389efb8403f4fd44d1dc482989809 |
| .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 -