diff --git a/.github/workflows/openkal-compat.yml b/.github/workflows/openkal-compat.yml index 322ef9ff..7b51a71e 100644 --- a/.github/workflows/openkal-compat.yml +++ b/.github/workflows/openkal-compat.yml @@ -28,7 +28,7 @@ permissions: contents: read env: - MCPP_VERSION: "2026.9.17.2" + MCPP_VERSION: "2026.9.17.3" XLINGS_NON_INTERACTIVE: "1" jobs: @@ -134,11 +134,12 @@ jobs: print(f"| {m} | {t} | {rec['status']} | {d} |") PY - # Only this job may write, and it does not run for a pull request. + # Only this job may write. It runs for the default branch only, never for a + # pull request or a measurement requested on another branch. propose: name: propose the measurement needs: measure - if: needs.measure.outputs.members != '' && github.event_name != 'pull_request' && github.event.inputs.members == '' + if: needs.measure.outputs.members != '' && github.event_name != 'pull_request' && github.event.inputs.members == '' && github.ref == 'refs/heads/main' runs-on: ubuntu-24.04 permissions: contents: write diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index eb770178..a873683b 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -273,7 +273,16 @@ env: # The release in between (2026.9.17.1, compile-flag words, #655) is included. # # `index.toml` min_mcpp does not move: no descriptor grammar changed. - MCPP_VERSION: "2026.9.17.2" + # ── 2026-09-17: raised 2026.9.17.2 -> 2026.9.17.3 ───────────────────────── + # + # 2026.9.17.3 closes the compiler's own search of the host's C library when + # the dependency graph supplies it (mcpp-community/mcpp#662): an openkal + # graph compiled for Windows on a host with mingw headers mixed them with + # musl's. compat.zlib and compat.mbedtls adapt to that graph by c-abi, and + # tests/openkal measures it with the host's mingw headers installed. + # + # `index.toml` min_mcpp does not move: no descriptor grammar changed. + MCPP_VERSION: "2026.9.17.3" jobs: lint: diff --git a/.xpkgindex/openkal-compat.json b/.xpkgindex/openkal-compat.json index 38439767..cf5c7e80 100644 --- a/.xpkgindex/openkal-compat.json +++ b/.xpkgindex/openkal-compat.json @@ -9,6 +9,128 @@ }, "measured": "2026-09-17", "members": { + "archive": { + "packages": [ + "compat.bzip2", + "compat.libarchive", + "compat.lz4", + "compat.xz", + "compat.zlib", + "compat.zstd" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/archive/.mcpp/.xlings/data/xpkgs/compat-x-xz/5.8.3/xz-5.8.3/src/common/sysdefs.h:44:11: fatal error: '_mingw.h' file not found", + "status": "fails" + } + } + }, + "argparse": { + "packages": [ + "compat.argparse" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "brotli": { + "packages": [ + "compat.brotli" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "c-ares": { + "packages": [ + "compat.c-ares" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/c-ares/.mcpp/.xlings/data/xpkgs/compat-x-c-ares/1.34.5/c-ares-1.34.5/src/lib/ares_setup.h:81:12: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "capi-lua": { + "packages": [ + "mcpplibs.capi" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.17.3-linux-x86_64/registry/data/xpkgs/compat-x-lua/5.4.7/lua-5.4.7/src/loadlib.c:150:10: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "catch2": { + "packages": [ + "compat.catch2" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/catch2/.mcpp/.xlings/data/xpkgs/compat-x-catch2/3.15.2/Catch2-3.15.2/src/catch2/internal/catch_windows_h_proxy.hpp:24:10: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "cjson": { + "packages": [ + "compat.cjson" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "cli11": { + "packages": [ + "compat.CLI11" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/cli11/.mcpp/.xlings/data/xpkgs/compat-x-CLI11/2.7.2/CLI11-2.7.2/include/CLI/impl/Argv_inl.hpp:44:10: fatal error: 'windef.h' file not found", + "status": "fails" + } + } + }, "cmdline": { "packages": [ "mcpplibs.cmdline" @@ -23,6 +145,112 @@ } } }, + "cmp-module": { + "packages": [ + "mcpplibs.cmp" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.17.3-linux-x86_64/registry/data/xpkgs/chriskohlhoff-x-asio/1.38.1/asio-asio-1-38-1/include/asio/detail/config.hpp:899:11: fatal error: 'linux/version.h' file not found", + "status": "fails" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.17.3-linux-x86_64/registry/data/xpkgs/chriskohlhoff-x-asio/1.38.1/asio-asio-1-38-1/include/asio/detail/socket_types.hpp:33:11: fatal error: 'winsock2.h' file not found", + "status": "fails" + } + } + }, + "curl": { + "packages": [ + "compat.curl" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/curl/.mcpp/.xlings/data/xpkgs/compat-x-curl/8.21.0/curl-curl-8_21_0/lib/setopt.c:31:10: fatal error: 'linux/tcp.h' file not found", + "status": "fails" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/curl/.mcpp/.xlings/data/xpkgs/compat-x-curl/8.21.0/curl-curl-8_21_0/lib/curl_setup.h:33:10: fatal error: '_mingw.h' file not found", + "status": "fails" + } + } + }, + "doctest": { + "packages": [ + "compat.doctest" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/doctest/.mcpp/.xlings/data/xpkgs/compat-x-doctest/2.4.12/doctest-2.4.12/doctest/doctest.h:3215:10: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "eigen": { + "packages": [ + "compat.eigen" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.17.3-linux-x86_64/registry/data/xpkgs/xim-x-llvm/22.1.8/lib/clang/22/include/mm_malloc.h:43:22: error: use of undeclared identifier '__mingw_aligned_malloc'", + "status": "fails" + } + } + }, + "expat": { + "packages": [ + "compat.expat" + ], + "portable": false, + "targets": { + "x86_64-linux-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/expat/.mcpp/.xlings/data/xpkgs/compat-x-expat/2.7.1/lib/xmlparse.c:977:3: error: call to undeclared function 'arc4random_buf'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]", + "status": "fails" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "fmtlib.fmt": { + "packages": [ + "fmtlib.fmt" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/mcpp-2026.9.17.3-linux-x86_64/registry/data/xpkgs/xim-x-llvm/22.1.8/lib/clang/22/include/intrin.h:12:15: fatal error: 'intrin.h' file not found", + "status": "fails" + } + } + }, + "glm": { + "packages": [ + "compat.glm" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, "gzip-hpp": { "packages": [ "compat.gzip-hpp" @@ -33,15 +261,201 @@ "status": "runs" }, "x86_64-windows-gnu": { - "diagnostic": "error: build failed", + "status": "runs" + } + } + }, + "libpng": { + "packages": [ + "compat.libpng" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/libpng/.mcpp/.xlings/data/xpkgs/compat-x-libpng/1.6.43/libpng-1.6.43/pngpriv.h:578:12: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "magic_enum": { + "packages": [ + "neargye.magic_enum" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "md4c": { + "packages": [ + "compat.md4c" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "mimalloc": { + "packages": [ + "compat.mimalloc" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/mimalloc/.mcpp/.xlings/data/xpkgs/compat-x-mimalloc/3.4.5/mimalloc-3.4.5/include/mimalloc/atomic.h:16:10: fatal error: 'windows.h' file not found", "status": "fails" } } + }, + "nlohmann.json": { + "packages": [ + "nlohmann.json" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "pcre2": { + "packages": [ + "compat.pcre2" + ], + "portable": false, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "re2": { + "packages": [ + "compat.re2" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/re2/.mcpp/.xlings/data/xpkgs/compat-x-re2/2022-04-01/re2-2022-04-01/util/mutex.h:15:10: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "spdlog": { + "packages": [ + "compat.spdlog" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/spdlog/.mcpp/.xlings/data/xpkgs/compat-x-spdlog/1.17.0/spdlog-1.17.0/include/spdlog/fmt/bundled/format-inl.h:20:12: fatal error: 'io.h' file not found", + "status": "fails" + } + } + }, + "sqlite3": { + "packages": [ + "compat.sqlite3" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "diagnostic": "/home/runner/work/mcpp-index/mcpp-index/tests/openkal-work/sqlite3/.mcpp/.xlings/data/xpkgs/compat-x-sqlite3/3.45.3/sqlite-amalgamation-3450300/sqlite3.c:29506:10: fatal error: 'windows.h' file not found", + "status": "fails" + } + } + }, + "tinyhttps": { + "packages": [ + "mcpplibs.tinyhttps" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "xxhash": { + "packages": [ + "compat.xxhash" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "yyjson": { + "packages": [ + "compat.yyjson" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } + }, + "zlib": { + "packages": [ + "compat.zlib" + ], + "portable": true, + "targets": { + "x86_64-linux-gnu": { + "status": "runs" + }, + "x86_64-windows-gnu": { + "status": "runs" + } + } } }, "pins": { - "mcpp": "2026.9.17.2", - "runtime": "0.9.7", + "mcpp": "2026.9.17.3", + "runtime": "0.10.0", "toolchain": "llvm@22.1.8" }, "schema": 1 diff --git a/pkgs/c/compat.libarchive.lua b/pkgs/c/compat.libarchive.lua index 7e69cf6d..e658a4ba 100644 --- a/pkgs/c/compat.libarchive.lua +++ b/pkgs/c/compat.libarchive.lua @@ -47,9 +47,31 @@ package = { "-DLIBARCHIVE_STATIC", "-DPLATFORM_CONFIG_H=\\\"mcpp_libarchive_config.h\\\"", }, + -- macOS with musl as the C library (an openkal graph). libarchive + -- reads __APPLE__ as "the Apple SDK is present" (TargetConditionals.h, + -- copyfile, quarantine) in four private translation units and in the + -- generated configuration below; the SDK is not in that graph. The + -- flag is confined to libarchive's own units, and archive.h and + -- archive_entry.h do not test __APPLE__, so consumers read the same + -- declarations. mcpp-index#434. + target_cfg = { + -- Linux with musl as the C library (an openkal graph). The Linux + -- host configuration names the kernel's own headers (linux/fs.h, + -- linux/fiemap.h, linux/magic.h), which belong to the kernel's + -- interface and not to that graph; they were reached before only + -- because the compiler searched the host (mcpp#662). The same + -- lines the configuration removes on every other system are + -- removed here. + ["cfg(all(linux, c-abi = \"musl\"))"] = { + cflags = { "-DMCPP_LIBARCHIVE_NO_LINUX_UAPI" }, + }, + ["cfg(all(macos, c-abi = \"musl\"))"] = { + cflags = { "-U__APPLE__" }, + }, + }, generated_files = { ["mcpp_generated/include/localcharset.h"] = "#pragma once\nstatic inline const char* locale_charset(void) { return \"UTF-8\"; }\n", - ["mcpp_generated/include/mcpp_libarchive_config.h"] = "#pragma once\n#if defined(_WIN32) && !defined(__CYGWIN__)\n#include \"contrib/android/config/windows_host.h\"\n#else\n#include \"contrib/android/config/linux_host.h\"\n#endif\n#define __LIBARCHIVE_CONFIG_H_INCLUDED 1\n#if !defined(__linux__)\n#undef HAVE_LINUX_FIEMAP_H\n#undef HAVE_LINUX_FS_H\n#undef HAVE_LINUX_MAGIC_H\n#undef HAVE_LINUX_TYPES_H\n#undef HAVE_SYS_STATFS_H\n#undef HAVE_SYS_VFS_H\n#endif\n#if defined(__APPLE__)\n#undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC\n#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1\n#undef HAVE_FUTIMESAT\n#undef HAVE_ICONV\n#undef HAVE_ICONV_H\n#endif\n#if defined(_WIN32) && !defined(__CYGWIN__)\n#include \n#pragma comment(lib, \"advapi32.lib\")\n#pragma comment(lib, \"xmllite.lib\")\n#undef HAVE_UNISTD_H\n#undef HAVE_DECL_SSIZE_MAX\n#define HAVE_DECL_SSIZE_MAX 0\n#define HAVE__GET_TIMEZONE 1\ntypedef ptrdiff_t ssize_t;\ntypedef int pid_t;\ntypedef unsigned short mode_t;\n#ifndef PROV_RSA_AES\n#define PROV_RSA_AES 24\n#endif\n#ifndef CALG_SHA_256\n#define CALG_SHA_256 0x0000800c\n#endif\n#ifndef CALG_SHA_384\n#define CALG_SHA_384 0x0000800d\n#endif\n#ifndef CALG_SHA_512\n#define CALG_SHA_512 0x0000800e\n#endif\n#endif\n#undef HAVE_BZLIB_H\n#define HAVE_BZLIB_H 1\n#undef HAVE_LIBBZ2\n#define HAVE_LIBBZ2 1\n#undef HAVE_LIBLZ4\n#define HAVE_LIBLZ4 1\n#undef HAVE_LIBLZMA\n#define HAVE_LIBLZMA 1\n#undef HAVE_LIBZ\n#define HAVE_LIBZ 1\n#undef HAVE_LIBZSTD\n#define HAVE_LIBZSTD 1\n#undef HAVE_LZ4_H\n#define HAVE_LZ4_H 1\n#undef HAVE_LZ4HC_H\n#define HAVE_LZ4HC_H 1\n#undef HAVE_LZMA_H\n#define HAVE_LZMA_H 1\n#undef HAVE_LZMA_STREAM_ENCODER_MT\n#undef HAVE_ZLIB_H\n#define HAVE_ZLIB_H 1\n#undef HAVE_ZSTD_H\n#define HAVE_ZSTD_H 1\n#undef HAVE_ZSTD_compressStream\n#define HAVE_ZSTD_compressStream 1\n#undef HAVE_ZSTD_minCLevel\n#define HAVE_ZSTD_minCLevel 1\n#undef HAVE_LOCALCHARSET_H\n#define HAVE_LOCALCHARSET_H 1\n#undef HAVE_LOCALE_CHARSET\n#define HAVE_LOCALE_CHARSET 1\n#undef HAVE_CLOSEFROM\n#define HAVE_CLOSEFROM 0\n#undef HAVE_CLOSE_RANGE\n#define HAVE_CLOSE_RANGE 0\n#ifndef HAVE_DECL_INT32_MAX\n#define HAVE_DECL_INT32_MAX 1\n#endif\n#ifndef HAVE_DECL_INT32_MIN\n#define HAVE_DECL_INT32_MIN 1\n#endif\n#ifndef HAVE_DECL_UINTMAX_MAX\n#define HAVE_DECL_UINTMAX_MAX 1\n#endif\n#ifndef HAVE_DECL_INTMAX_MAX\n#define HAVE_DECL_INTMAX_MAX 1\n#endif\n#ifndef HAVE_DECL_INTMAX_MIN\n#define HAVE_DECL_INTMAX_MIN 1\n#endif\n", + ["mcpp_generated/include/mcpp_libarchive_config.h"] = "#pragma once\n#if defined(_WIN32) && !defined(__CYGWIN__)\n#include \"contrib/android/config/windows_host.h\"\n#else\n#include \"contrib/android/config/linux_host.h\"\n#endif\n#define __LIBARCHIVE_CONFIG_H_INCLUDED 1\n#if !defined(__linux__) || defined(MCPP_LIBARCHIVE_NO_LINUX_UAPI)\n#undef HAVE_LINUX_FIEMAP_H\n#undef HAVE_LINUX_FS_H\n#undef HAVE_LINUX_MAGIC_H\n#undef HAVE_LINUX_TYPES_H\n#undef HAVE_SYS_STATFS_H\n#undef HAVE_SYS_VFS_H\n#endif\n#if defined(__APPLE__)\n#undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC\n#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1\n#undef HAVE_FUTIMESAT\n#undef HAVE_ICONV\n#undef HAVE_ICONV_H\n#endif\n#if defined(_WIN32) && !defined(__CYGWIN__)\n#include \n#pragma comment(lib, \"advapi32.lib\")\n#pragma comment(lib, \"xmllite.lib\")\n#undef HAVE_UNISTD_H\n#undef HAVE_DECL_SSIZE_MAX\n#define HAVE_DECL_SSIZE_MAX 0\n#define HAVE__GET_TIMEZONE 1\ntypedef ptrdiff_t ssize_t;\ntypedef int pid_t;\ntypedef unsigned short mode_t;\n#ifndef PROV_RSA_AES\n#define PROV_RSA_AES 24\n#endif\n#ifndef CALG_SHA_256\n#define CALG_SHA_256 0x0000800c\n#endif\n#ifndef CALG_SHA_384\n#define CALG_SHA_384 0x0000800d\n#endif\n#ifndef CALG_SHA_512\n#define CALG_SHA_512 0x0000800e\n#endif\n#endif\n#undef HAVE_BZLIB_H\n#define HAVE_BZLIB_H 1\n#undef HAVE_LIBBZ2\n#define HAVE_LIBBZ2 1\n#undef HAVE_LIBLZ4\n#define HAVE_LIBLZ4 1\n#undef HAVE_LIBLZMA\n#define HAVE_LIBLZMA 1\n#undef HAVE_LIBZ\n#define HAVE_LIBZ 1\n#undef HAVE_LIBZSTD\n#define HAVE_LIBZSTD 1\n#undef HAVE_LZ4_H\n#define HAVE_LZ4_H 1\n#undef HAVE_LZ4HC_H\n#define HAVE_LZ4HC_H 1\n#undef HAVE_LZMA_H\n#define HAVE_LZMA_H 1\n#undef HAVE_LZMA_STREAM_ENCODER_MT\n#undef HAVE_ZLIB_H\n#define HAVE_ZLIB_H 1\n#undef HAVE_ZSTD_H\n#define HAVE_ZSTD_H 1\n#undef HAVE_ZSTD_compressStream\n#define HAVE_ZSTD_compressStream 1\n#undef HAVE_ZSTD_minCLevel\n#define HAVE_ZSTD_minCLevel 1\n#undef HAVE_LOCALCHARSET_H\n#define HAVE_LOCALCHARSET_H 1\n#undef HAVE_LOCALE_CHARSET\n#define HAVE_LOCALE_CHARSET 1\n#undef HAVE_CLOSEFROM\n#define HAVE_CLOSEFROM 0\n#undef HAVE_CLOSE_RANGE\n#define HAVE_CLOSE_RANGE 0\n#ifndef HAVE_DECL_INT32_MAX\n#define HAVE_DECL_INT32_MAX 1\n#endif\n#ifndef HAVE_DECL_INT32_MIN\n#define HAVE_DECL_INT32_MIN 1\n#endif\n#ifndef HAVE_DECL_UINTMAX_MAX\n#define HAVE_DECL_UINTMAX_MAX 1\n#endif\n#ifndef HAVE_DECL_INTMAX_MAX\n#define HAVE_DECL_INTMAX_MAX 1\n#endif\n#ifndef HAVE_DECL_INTMAX_MIN\n#define HAVE_DECL_INTMAX_MIN 1\n#endif\n", }, sources = { "*/libarchive/archive_acl.c", diff --git a/pkgs/o/openkal-emscripten.lua b/pkgs/o/openkal-emscripten.lua index 32f9cc9b..a6a1f04a 100644 --- a/pkgs/o/openkal-emscripten.lua +++ b/pkgs/o/openkal-emscripten.lua @@ -45,6 +45,13 @@ package = { xpm = { linux = { + ["0.2.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.2.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.2.0/openkal-emscripten-0.2.0.tar.gz", + }, + sha256 = "3f2f00168888a0ff0371226ef351b42c0de7316a4223a8f6393dbb21cd5ddd6e", + }, ["0.1.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.1.1.tar.gz", @@ -61,6 +68,13 @@ package = { }, }, macosx = { + ["0.2.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.2.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.2.0/openkal-emscripten-0.2.0.tar.gz", + }, + sha256 = "3f2f00168888a0ff0371226ef351b42c0de7316a4223a8f6393dbb21cd5ddd6e", + }, ["0.1.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.1.1.tar.gz", @@ -77,6 +91,13 @@ package = { }, }, windows = { + ["0.2.0"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.2.0.tar.gz", + CN = "https://gitcode.com/mcpp-res/openkal-emscripten/releases/download/0.2.0/openkal-emscripten-0.2.0.tar.gz", + }, + sha256 = "3f2f00168888a0ff0371226ef351b42c0de7316a4223a8f6393dbb21cd5ddd6e", + }, ["0.1.1"] = { url = { GLOBAL = "https://github.com/mcpplibs/openkal-emscripten/archive/refs/tags/0.1.1.tar.gz", diff --git a/pkgs/s/std-freestanding-alloc-kal.lua b/pkgs/s/std-freestanding-alloc-kal.lua index 385942b9..d633cefa 100644 --- a/pkgs/s/std-freestanding-alloc-kal.lua +++ b/pkgs/s/std-freestanding-alloc-kal.lua @@ -22,6 +22,13 @@ package = { xpm = { linux = { + ["0.1.6"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.6.tar.gz", + CN = "https://gitcode.com/mcpp-res/std-freestanding-alloc-kal/releases/download/0.1.6/std-freestanding-alloc-kal-0.1.6.tar.gz", + }, + sha256 = "c4d84ab4d9a4ed15ba440bfb1f97eda1c5ec82d2eae4ddfa6febf88e665252b6", + }, ["0.1.5"] = { url = { GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.5.tar.gz", @@ -66,6 +73,13 @@ package = { }, }, macosx = { + ["0.1.6"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.6.tar.gz", + CN = "https://gitcode.com/mcpp-res/std-freestanding-alloc-kal/releases/download/0.1.6/std-freestanding-alloc-kal-0.1.6.tar.gz", + }, + sha256 = "c4d84ab4d9a4ed15ba440bfb1f97eda1c5ec82d2eae4ddfa6febf88e665252b6", + }, ["0.1.5"] = { url = { GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.5.tar.gz", @@ -110,6 +124,13 @@ package = { }, }, windows = { + ["0.1.6"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.6.tar.gz", + CN = "https://gitcode.com/mcpp-res/std-freestanding-alloc-kal/releases/download/0.1.6/std-freestanding-alloc-kal-0.1.6.tar.gz", + }, + sha256 = "c4d84ab4d9a4ed15ba440bfb1f97eda1c5ec82d2eae4ddfa6febf88e665252b6", + }, ["0.1.5"] = { url = { GLOBAL = "https://github.com/mcpplibs/std-freestanding-alloc-kal/archive/refs/tags/0.1.5.tar.gz", diff --git a/tests/examples/tinyhttps/mcpp.toml b/tests/examples/tinyhttps/mcpp.toml index 731ba7b5..90fe5188 100644 --- a/tests/examples/tinyhttps/mcpp.toml +++ b/tests/examples/tinyhttps/mcpp.toml @@ -10,4 +10,4 @@ name = "tinyhttps-tests" version = "0.1.0" [dependencies] -tinyhttps = "0.3.0" +tinyhttps = "0.3.1" diff --git a/tests/openkal/compat.py b/tests/openkal/compat.py index 29ddfa09..ee93e33c 100644 --- a/tests/openkal/compat.py +++ b/tests/openkal/compat.py @@ -121,6 +121,11 @@ def prepare(member: str, pins: dict) -> str: text, count=1, flags=re.M) else: text = text.rstrip("\n") + "\n\n[dependencies]\n" + runtime + # A copy is not a member of this workspace and does not inherit its + # `[indices]`; without this line `compat` would resolve from the published + # index and a changed descriptor in this checkout would not be measured. + if not re.search(r"^\[indices\]\s*$", text, re.M): + text += f'\n[indices]\ncompat = {{ path = {json.dumps(ROOT)} }}\n' for triple, runner in (pins.get("runners") or {}).items(): if f"[target.{triple}]" not in text and f"[target.'{triple}']" not in text: text += f"\n[target.{triple}]\nrunner = {json.dumps(runner)}\n" diff --git a/tests/openkal/pins.toml b/tests/openkal/pins.toml index f56f6e8c..05fdafdb 100644 --- a/tests/openkal/pins.toml +++ b/tests/openkal/pins.toml @@ -4,9 +4,9 @@ # `runtime` is the C++ runtime for openkal; it pins openkal-musl exactly, and # openkal-musl selects the openkal implementation for each target, so this one # version names the whole graph. -runtime = "0.9.7" +runtime = "0.10.0" toolchain = "llvm@22.1.8" -mcpp = "2026.9.17.2" +mcpp = "2026.9.17.3" targets = ["x86_64-linux-gnu", "x86_64-windows-gnu"]