|
| 1 | +# Add xsimd 14.3.0 as compat.xsimd |
| 2 | + |
| 3 | +## Source and shape |
| 4 | + |
| 5 | +- Upstream: <https://github.com/xtensor-stack/xsimd>. |
| 6 | +- Version: `14.3.0`, the newest stable tag observed with |
| 7 | + `git ls-remote --tags --refs`. |
| 8 | +- License: BSD-3-Clause. |
| 9 | +- Shape: Form B, header-only. Upstream's CMake INTERFACE target exposes |
| 10 | + `include/`, where consumers find `<xsimd/xsimd.hpp>`. The package therefore |
| 11 | + uses `include_dirs = { "*/include" }` and a trivial anchor C TU to provide a |
| 12 | + buildable `xsimd` lib target. |
| 13 | +- No features: xsimd has no optional compilable library component. The |
| 14 | + optional `xtl::xcomplex` integration is an external dependency plus the |
| 15 | + consumer's `XSIMD_ENABLE_XTL_COMPLEX` define, which a sources-only feature |
| 16 | + cannot express. |
| 17 | + |
| 18 | +Upstream requires C++14. The descriptor compiles its own anchor as C++; the |
| 19 | +consumer test uses the workspace default C++23 mode and a direct smoke test |
| 20 | +also verifies that the public header compiles in C++14 mode. |
| 21 | + |
| 22 | +## Download and mirror |
| 23 | + |
| 24 | +- GLOBAL: |
| 25 | + `https://github.com/xtensor-stack/xsimd/archive/refs/tags/14.3.0.tar.gz` |
| 26 | +- SHA-256: |
| 27 | + `b3d50e7a73fbf4642ceef30131c93414901d69eee41c2a5302db650b03e2c792` |
| 28 | +- The archive was downloaded twice and compared byte-for-byte; both copies had |
| 29 | + the same digest. |
| 30 | +- No verified `mcpp-res/xsimd` release is available, so the descriptor uses the |
| 31 | + upstream plain-string URL fallback rather than inventing a CN resource. |
| 32 | + |
| 33 | +## Automatic updates |
| 34 | + |
| 35 | +The package meets the automatic-update criteria: it has GitHub numeric tags, |
| 36 | +stable archive URLs, identical resources on all declared platforms, and future |
| 37 | +versions do not require a build-recipe change. `extensions.autoupdate` uses the |
| 38 | +unprefixed `${version}` tag spelling and the GitHub tag-archive URL template. |
| 39 | +The initial URL and SHA-256 live once in the `versions` table and all three |
| 40 | +platforms reference that entry. |
| 41 | + |
| 42 | +## Test member |
| 43 | + |
| 44 | +`tests/examples/xsimd/` is registered in the root workspace. It asserts: |
| 45 | + |
| 46 | +- the selected default architecture is supported and available; |
| 47 | +- runtime architecture discovery contains the default architecture; |
| 48 | +- unaligned load, batch addition and unaligned store preserve every lane; |
| 49 | +- batch square root and horizontal reduction return the expected scalar. |
| 50 | + |
| 51 | +Every assertion affects the process exit status (`return ok ? 0 : 1`). |
| 52 | + |
| 53 | +## Verification |
| 54 | + |
| 55 | +- Pinned mcpp `2026.10.1.2`: |
| 56 | + `mcpp xpkg parse --all-os pkgs/c/compat.xsimd.lua` reports `parse OK` for |
| 57 | + linux, macosx, and windows. |
| 58 | +- Pinned cold GCC run: |
| 59 | + `mcpp test -p xsimd --cache off` reports |
| 60 | + `test result ok. 1 passed; 0 failed`, running |
| 61 | + `xsimd OK width=4 arch=sse2`. |
| 62 | +- Pinned cold LLVM run: |
| 63 | + `mcpp test -p xsimd --toolchain llvm@22.1.8 --cache off` reports the same |
| 64 | + successful test with Clang. |
| 65 | +- The public header and test compile and run directly under both C++14 and |
| 66 | + C++23 (GCC 16.2.1), covering xsimd's documented language floor. |
| 67 | +- Full relevant lint passed: Lua syntax, mirror URL policy, package identity, |
| 68 | + reserved namespaces, cross-package references, platform parity, and |
| 69 | + duplicate versions. All 255 descriptors parse with the pinned mcpp. |
| 70 | +- The pinned updater's 11 repository tests pass. Its declaration coverage audit |
| 71 | + reports `All 83 GitHub-direct descriptors declared; all existing versions |
| 72 | + unchanged`, including `compat:xsimd`. |
| 73 | +- `xpkgindex_update inspect --package compat:xsimd` accepts the declaration and |
| 74 | + reports the three platform URLs plus the automatic-update template. |
| 75 | +- `xpkgindex_update check --package compat:xsimd` reports |
| 76 | + `status = "up-to-date"`, current version `14.3.0`, discovery by upstream |
| 77 | + tags. An earlier attempt hit the unauthenticated GitHub API rate limit; the |
| 78 | + check passed after the documented reset window. |
0 commit comments