From 7872dfd5add1243d8bb143db5354697a65e09415 Mon Sep 17 00:00:00 2001 From: Jeremy Nimmer Date: Sat, 29 Nov 2025 06:46:43 -0800 Subject: [PATCH] eigen@3.4.1.bcr.1 Removes LGPL files from hdrs, by reverting the BUILD file to match 3.4.0.bcr.3. Switch presubmit to test Bazel 7,8,9 including release candidates, but no longer test Bazel 10 ("latest") which is dead on arrival. --- modules/eigen/3.4.1.bcr.1/MODULE.bazel | 9 +++ modules/eigen/3.4.1.bcr.1/overlay/BUILD.bazel | 66 +++++++++++++++++++ .../eigen/3.4.1.bcr.1/overlay/MODULE.bazel | 9 +++ modules/eigen/3.4.1.bcr.1/presubmit.yml | 18 +++++ modules/eigen/3.4.1.bcr.1/source.json | 14 ++++ modules/eigen/metadata.json | 1 + 6 files changed, 117 insertions(+) create mode 100644 modules/eigen/3.4.1.bcr.1/MODULE.bazel create mode 100644 modules/eigen/3.4.1.bcr.1/overlay/BUILD.bazel create mode 100644 modules/eigen/3.4.1.bcr.1/overlay/MODULE.bazel create mode 100644 modules/eigen/3.4.1.bcr.1/presubmit.yml create mode 100644 modules/eigen/3.4.1.bcr.1/source.json diff --git a/modules/eigen/3.4.1.bcr.1/MODULE.bazel b/modules/eigen/3.4.1.bcr.1/MODULE.bazel new file mode 100644 index 00000000000..4e6a6a0108a --- /dev/null +++ b/modules/eigen/3.4.1.bcr.1/MODULE.bazel @@ -0,0 +1,9 @@ +module( + name = "eigen", + version = "3.4.1.bcr.1", + bazel_compatibility = [">=7.2.1"], + compatibility_level = 1, +) + +bazel_dep(name = "rules_cc", version = "0.0.17") +bazel_dep(name = "rules_license", version = "1.0.0") diff --git a/modules/eigen/3.4.1.bcr.1/overlay/BUILD.bazel b/modules/eigen/3.4.1.bcr.1/overlay/BUILD.bazel new file mode 100644 index 00000000000..a77db455682 --- /dev/null +++ b/modules/eigen/3.4.1.bcr.1/overlay/BUILD.bazel @@ -0,0 +1,66 @@ +load("@rules_cc//cc:cc_library.bzl", "cc_library") +load("@rules_license//rules:license.bzl", "license") + +package( + default_applicable_licenses = [ + ":license.APACHE", + ":license.BSD", + ":license.MINPACK", # Only used by unsupported/** not by Eigen/**. + ":license.MPL2", + ], +) + +exports_files(glob(["COPYING.*"])) + +# Note: Eigen is primarily an MPL2 library with small bits of code under other +# licenses. We've taken care to not glob any LGPL code and set EIGEN_MPL2_ONLY +# to fail at compile-time in case any leaks in, so these four licenses are the +# relevant files for the code in our cc_library. + +license( + name = "license.APACHE", + license_kinds = ["@rules_license//licenses/spdx:Apache-2.0"], + license_text = "COPYING.APACHE", +) + +license( + name = "license.BSD", + license_kinds = ["@rules_license//licenses/spdx:BSD-3-Clause"], + license_text = "COPYING.BSD", +) + +license( + name = "license.MINPACK", + license_kinds = ["@rules_license//licenses/spdx:BSD-3-Clause-Attribution"], + license_text = "COPYING.MINPACK", +) + +license( + name = "license.MPL2", + license_kinds = ["@rules_license//licenses/spdx:MPL-2.0"], + license_text = "COPYING.MPL2", +) + +EIGEN_FILES = [ + "Eigen/**", + "unsupported/Eigen/**", +] + +# LGPL files +EIGEN_RESTRICTED_FILES = [ + "unsupported/Eigen/src/IterativeSolvers/IterationController.h", + "unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h", +] + +EIGEN_MPL2_HEADER_FILES = glob( + EIGEN_FILES, + exclude = EIGEN_RESTRICTED_FILES, +) + +cc_library( + name = "eigen", + hdrs = EIGEN_MPL2_HEADER_FILES, + defines = ["EIGEN_MPL2_ONLY"], + includes = ["."], + visibility = ["//visibility:public"], +) diff --git a/modules/eigen/3.4.1.bcr.1/overlay/MODULE.bazel b/modules/eigen/3.4.1.bcr.1/overlay/MODULE.bazel new file mode 100644 index 00000000000..4e6a6a0108a --- /dev/null +++ b/modules/eigen/3.4.1.bcr.1/overlay/MODULE.bazel @@ -0,0 +1,9 @@ +module( + name = "eigen", + version = "3.4.1.bcr.1", + bazel_compatibility = [">=7.2.1"], + compatibility_level = 1, +) + +bazel_dep(name = "rules_cc", version = "0.0.17") +bazel_dep(name = "rules_license", version = "1.0.0") diff --git a/modules/eigen/3.4.1.bcr.1/presubmit.yml b/modules/eigen/3.4.1.bcr.1/presubmit.yml new file mode 100644 index 00000000000..dafbf673c5f --- /dev/null +++ b/modules/eigen/3.4.1.bcr.1/presubmit.yml @@ -0,0 +1,18 @@ +matrix: + platform: + - debian10 + - debian11 + - ubuntu2004 + - ubuntu2204 + - ubuntu2404 + - macos + - macos_arm64 + - windows + bazel: ["7.*", "8.*", "9.*"] +tasks: + verify_targets: + name: Verify build targets + platform: ${{ platform }} + bazel: ${{ bazel }} + build_targets: + - '@eigen//:eigen' diff --git a/modules/eigen/3.4.1.bcr.1/source.json b/modules/eigen/3.4.1.bcr.1/source.json new file mode 100644 index 00000000000..3ec06c20381 --- /dev/null +++ b/modules/eigen/3.4.1.bcr.1/source.json @@ -0,0 +1,14 @@ +{ + "url": "https://gitlab.com/libeigen/eigen/-/package_files/233618439/download", + "mirror_urls": [ + "https://github.com/eigen-mirror/eigen/archive/refs/tags/3.4.1.tar.gz", + "https://gitlab.com/libeigen/eigen/-/archive/3.4.1/eigen-3.4.1.tar.gz" + ], + "archive_type": "tar.gz", + "integrity": "sha256-uTxmfRtpJlzbTZ8w7CH4+su+izB880wLmUKDTG1P2+I=", + "strip_prefix": "eigen-3.4.1", + "overlay": { + "BUILD.bazel": "sha256-DhWxn3iDrOwF4b2Jd87eKfqOTs4LIVWfhTbpSuuZAGk=", + "MODULE.bazel": "sha256-xeMQkULeFu9bLrBGumV907fw+igrWsiFi2w+ankWULw=" + } +} diff --git a/modules/eigen/metadata.json b/modules/eigen/metadata.json index a76e211339a..c141c6e7e28 100644 --- a/modules/eigen/metadata.json +++ b/modules/eigen/metadata.json @@ -25,6 +25,7 @@ "3.4.0.bcr.2", "3.4.0.bcr.3", "3.4.1", + "3.4.1.bcr.1", "4.0.0-20241125", "4.0.0-20241125.bcr.1", "4.0.0-20241125.bcr.2",