| 15 Dec 2025 |
Randy Eckenrode | I didn’t even read the comment. 😂 | 22:35:24 |
emily | we could just patch that flag out but seems worth an upstream report. what's the APIs? | 22:35:26 |
emily | wondering about "Note this is not used on arm64 builds." too | 22:36:01 |
Randy Eckenrode | https://github.com/pypy/pypy/blob/376cb12babe6bc8f43a550d2981a322513be24de/rpython/translator/platform/darwin.py#L31 | 22:36:07 |
Randy Eckenrode | Pretty sure frame pointers are part of the ABI on ARM64 Darwin. | 22:36:35 |
emily | wouldn't be surprised if PyPy has its own calling convention | 22:37:19 |
niklaskorz | the actual APIs being referenced from 10.15+ have been used in pypy for three years though, so it just looks like they were never aware they're actually requiring newer versions | 23:01:42 |
niklaskorz | pypy> implement_15.c:210:14: error: 'ffi_prep_cif_var' is only available on macOS 10.15 or newer [-Werror,-Wunguarded-availability-new]
pypy> 210 | l_v371524 = ffi_prep_cif_var(l_a0_299, l_a1_191, l_a2_92, l_a3_37, l_a4_21, l_a5_11);
pypy> | ^~~~~~~~~~~~~~~~
pypy> /nix/store/4867zlym6n0ffcj1ymxszx3cqa721w8d-libffi-40-dev/include/ffi.h:509:12: note: 'ffi_prep_cif_var' has been marked as being introduced in macOS 10.15 here, but the deployment target is macOS 10.13.0
pypy> 509 | ffi_status ffi_prep_cif_var(ffi_cif *cif,
pypy> | ^
pypy> implement_15.c:210:14: note: enclose 'ffi_prep_cif_var' in a __builtin_available check to silence this warning
pypy> 210 | l_v371524 = ffi_prep_cif_var(l_a0_299, l_a1_191, l_a2_92, l_a3_37, l_a4_21, l_a5_11);
pypy> | ^~~~~~~~~~~~~~~~
pypy> implement_15.c:4823:14: error: 'ffi_prep_closure_loc' is only available on macOS 10.15 or newer [-Werror,-Wunguarded-availability-new]
pypy> 4823 | l_v371837 = ffi_prep_closure_loc(l_a0_344, l_a1_226, l_a2_119, l_a3_49, l_a4_32);
pypy> | ^~~~~~~~~~~~~~~~~~~~
pypy> /nix/store/4867zlym6n0ffcj1ymxszx3cqa721w8d-libffi-40-dev/include/ffi.h:388:1: note: 'ffi_prep_closure_loc' has been marked as being introduced in macOS 10.15 here, but the deployment target is macOS 10.13.0
pypy> 388 | ffi_prep_closure_loc (ffi_closure*,
pypy> | ^
pypy> implement_15.c:4823:14: note: enclose 'ffi_prep_closure_loc' in a __builtin_available check to silence this warning
pypy> 4823 | l_v371837 = ffi_prep_closure_loc(l_a0_344, l_a1_226, l_a2_119, l_a3_49, l_a4_32);
pypy> | ^~~~~~~~~~~~~~~~~~~~
pypy> 2 errors generated.
| 23:02:28 |
emily | make sure that's not an issue with our libffi package. | 23:10:02 |
emily | but yes sounds like fallout of us turning the availability checks warning on | 23:10:25 |
emily | do they only use it on AArch64 or otherwise guard it? | 23:10:42 |
Randy Eckenrode | We should remove the availability annotations from our package (even though it shouldn’t matter for our default deployment target). | 23:11:33 |
Randy Eckenrode | * | 23:11:50 |
niklaskorz | no it's used for variadic args ffi on all platforms | 23:16:05 |
niklaskorz | https://github.com/pypy/pypy/blob/376cb12babe6bc8f43a550d2981a322513be24de/rpython/rlib/clibffi.py#L502-L507 | 23:16:15 |
emily | sounds like they should probably just bump their target again then | 23:17:27 |
emily | it won't fail to build with Apple toolchain but the warnings will probably show | 23:17:57 |
emily | I think this is the first time us setting that error has caught something | 23:18:24 |
emily | albeit something irrelevant for us | 23:18:30 |
Randy Eckenrode | It caught something in one of the source ports.
https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/darwin/apple-source-releases/system_cmds/patches/conditionalize-security-transition-shims.patch
| 23:19:59 |
niklaskorz | after bumping it to 10.15 I hit the next one 😄 pthread_jit_write_protect_np requires 11+ | 23:22:13 |
niklaskorz | but that is indeed only used on arm64 | 23:22:31 |
niklaskorz | well for the nixpkgs fix I'd prefer to just remove the deployment target altogether, but I'll report it upstream | 23:24:17 |
emily | they should probably either -Wno-... (e.g. with a local pragma), guard it, or pass 11.0 on AArch64 | 23:28:42 |
niklaskorz | does rpy have pragmas? I'm not sure I want to go down that rabbithole | 23:30:04 |
emily | ah, yeah that's a mystery :) | 23:33:54 |
emily | the latter solution might be easiest for them | 23:34:01 |
| 16 Dec 2025 |
Randy Eckenrode | When did SwiftPM get support for traits? | 03:11:38 |
samasaur | very recently! 6.2 I think | 03:58:27 |
niklaskorz | tailscale cli fails for {aarch64,x86_64}-darwin on both unstable and 25.11 due to test failures (something about a closed connection), they pass on 25.05, hm | 11:08:57 |