| 17 Oct 2025 |
samasaur | discussion starts from here | 15:32:43 |
Ihar Hrachyshka | so tl;dr for those who need spotlight working - just stick to randy's copy module? | 15:33:51 |
Ihar Hrachyshka | (was getting some rsync permission denied errors with it today even though my kitty was in the list of app management and it wasn't clear how to fix it - which is why I was hoping that maybe latest improvements rendered the module unneeded :( | 15:35:00 |
samasaur | for HM? yes. for nix-darwin, that's what we based the PR on, so you should be good to remove it (though it should ofc keep working) | 15:47:15 |
samasaur | if you are getting these errors with nix-darwin (and you tried toggling the switch for kitty and then turning it back on), then it's a bug on our end | 15:47:52 |
samasaur | well actually who knows how the app management DB works. it might be a bug on our end | 15:48:14 |
Randy Eckenrode | macOS supports nullfs mounts (the BSD equivalent), but it’s restricted to an Apple-only entitlement. ☹️ | 15:52:48 |
samasaur | fascinating. i'm adding apple-sdk_26 so I'm following emily's process in https://github.com/NixOS/nixpkgs/pull/347862 . everything seemed to be working normally (made a test package requiring an API introduced in 26.0, which built using the Xcode toolchain but not using the default SDK in nixpkgs; packaged the SDK; the test package built with apple-sdk_26), but when I add (darwinMinVersionHook "26.0") to buildInputs the resulting binary runs on my laptop, which is still on macOS 15 | 17:22:49 |
emily | that's expected I think | 17:23:59 |
emily | you can check with otool what's recorded | 17:24:04 |
emily | I don't think the system rejects binaries with newer minimum versions | 17:24:10 |
emily | it just affects what's recorded in the binary and also compilation of feature checks etc. | 17:24:17 |
emily | are you sure it is actually using the API at runtime? | 17:24:44 |
emily | and not getting dead code eliminated or something? | 17:24:48 |
samasaur | https://github.com/Samasaur1/nixpkgs/tree/push-zxpzuwnvtqko | 17:25:52 |
samasaur | how do I check this? | 17:30:52 |
samasaur | I'm reasonably sure. my test file looks like this:
#include <Spatial/SPAngleFloat.h>
#include <math.h>
#include <stdio.h>
int main() {
if (@available(macOS 26, *)) {
float radians = M_PI;
SPAngleFloat angle = SPAngleFloatMakeWithRadians(radians);
printf("%f\n", SPAngleFloatGetDegrees(angle));
} else {
printf(":(\n");
}
}
and I'm getting 180.000000 on 15.6.1
| 17:32:06 |
emily | otool -l:
Load command 11
cmd LC_BUILD_VERSION
cmdsize 32
platform 1
minos 11.0
sdk 26.0
ntools 1
tool 3
version 1220.3
| 17:32:07 |
emily | (haha, Apple is targeting 11.0 for their shipped ls(1)…) | 17:32:27 |
emily | my guess is that the API was already present at that point but not public, perhaps. or it's a header-only thing | 17:33:06 |
samasaur | Load command 10
cmd LC_BUILD_VERSION
cmdsize 32
platform 1
minos 26.0
sdk 26.0
ntools 1
tool 3
version 954.16
| 17:33:09 |
emily | yeah, I would just try another API :) | 17:33:36 |
samasaur | alas | 17:33:47 |
samasaur | do you have a better way of finding one than just grepping in /Library/Developer/CommandLineTools/SDKs/MacOSX26.0.sdk/usr/include" for macos(26` | 17:34:31 |
emily | nope. | 17:35:03 |
emily | that's what I do. | 17:35:05 |
samasaur | * do you have a better way of finding one than just grepping in /Library/Developer/CommandLineTools/SDKs/MacOSX26.0.sdk/usr/include for macos(26\ | 17:35:08 |
samasaur | there's https://marcoeidinger.github.io/appleframeworks/ but I didn't want to figure out how to call one of those new frameworks | 17:35:13 |
emily | maybe the Xcode macOS 26 release notes or whatever | 17:35:16 |
emily | they announce new highlight APIs there | 17:35:22 |