diff --git a/modules/eigen/5.0.0/MODULE.bazel b/modules/eigen/5.0.0/MODULE.bazel new file mode 100644 index 00000000000..e3c051c045e --- /dev/null +++ b/modules/eigen/5.0.0/MODULE.bazel @@ -0,0 +1,9 @@ +module( + name = "eigen", + version = "5.0.0", + 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/5.0.0/overlay/BUILD.bazel b/modules/eigen/5.0.0/overlay/BUILD.bazel new file mode 100644 index 00000000000..78d8c683a4c --- /dev/null +++ b/modules/eigen/5.0.0/overlay/BUILD.bazel @@ -0,0 +1,61 @@ +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. Previous versions of Eigen contained LGPL code which needed to be +# carefully excluded, but as of approximately 2023-02-07 all LGPL code has been +# removed upstream so does not need any special handling here. + +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", +) + +HDRS = glob( + [ + "Eigen/**", + "unsupported/Eigen/**", + ], + exclude = [ + # We don't want any documentation files. + "**/*.md", + "**/*.txt", + ], +) + +cc_library( + name = "eigen", + hdrs = HDRS, + includes = ["."], + visibility = ["//visibility:public"], +) diff --git a/modules/eigen/5.0.0/overlay/MODULE.bazel b/modules/eigen/5.0.0/overlay/MODULE.bazel new file mode 120000 index 00000000000..9b599e3ad9c --- /dev/null +++ b/modules/eigen/5.0.0/overlay/MODULE.bazel @@ -0,0 +1 @@ +../MODULE.bazel \ No newline at end of file diff --git a/modules/eigen/5.0.0/presubmit.yml b/modules/eigen/5.0.0/presubmit.yml new file mode 100644 index 00000000000..e19268abaf1 --- /dev/null +++ b/modules/eigen/5.0.0/presubmit.yml @@ -0,0 +1,18 @@ +matrix: + platform: + - debian10 + - debian11 + - ubuntu2004 + - ubuntu2204 + - ubuntu2404 + - macos + - macos_arm64 + - windows + bazel: ["7.x", "8.x", "rolling"] +tasks: + verify_targets: + name: Verify build targets + platform: ${{ platform }} + bazel: ${{ bazel }} + build_targets: + - '@eigen//:eigen' diff --git a/modules/eigen/5.0.0/source.json b/modules/eigen/5.0.0/source.json new file mode 100644 index 00000000000..5a3a1b68495 --- /dev/null +++ b/modules/eigen/5.0.0/source.json @@ -0,0 +1,14 @@ +{ + "url": "https://gitlab.com/libeigen/eigen/-/package_files/233618368/download", + "mirror_urls": [ + "https://github.com/eigen-mirror/eigen/archive/refs/tags/5.0.0.tar.gz", + "https://gitlab.com/libeigen/eigen/-/archive/5.0.0/eigen-5.0.0.tar.gz" + ], + "archive_type": "tar.gz", + "integrity": "sha256-MVyIHhnhdUKn1CjFqjfRE8iblQDTUMQzeXtzDNRJwFY=", + "strip_prefix": "eigen-5.0.0", + "overlay": { + "BUILD.bazel": "sha256-FLG3o0e8uef58dPphOjnCjAfXYUMBvJQYbr1tfkNYO0=", + "MODULE.bazel": "sha256-ZaobPfzzsivUUVDtSrW/refN2jyoVzX7Rm1FOGoXIsA=" + } +} diff --git a/modules/eigen/metadata.json b/modules/eigen/metadata.json index 5b2b3319de9..2179a7f8d57 100644 --- a/modules/eigen/metadata.json +++ b/modules/eigen/metadata.json @@ -19,7 +19,8 @@ "4.0.0-20241125", "4.0.0-20241125.bcr.1", "4.0.0-20241125.bcr.2", - "4.0.0-20241125.bcr.3" + "4.0.0-20241125.bcr.3", + "5.0.0" ], "yanked_versions": {} }