| 9 Mar 2025 |
Find me at aleksana:qaq.li | This makes some bash scripts fail on darwin, for example https://github.com/NixOS/nixpkgs/pull/388412/checks?check_run_id=38445097171 | 12:48:24 |
Find me at aleksana:qaq.li | Not our problem, it's difference in libc. Not sure why bash depends on libc regex function though | 12:59:25 |
K900 | Because of course it does | 13:00:42 |
K900 | What's a programming language without some unexpected platform specific behavior | 13:00:53 |
emily | In reply to @aleksana:mozilla.org Not our problem, it's difference in libc. Not sure why bash depends on libc regex function though so does Nix. | 14:41:22 |
emily | Nix regex behaves differently on libstdc++ and libc++ | 14:41:26 |
Find me at aleksana:qaq.li | In reply to @emilazy:matrix.org Nix regex behaves differently on libstdc++ and libc++ I don't get it, why do they not link some standalone libraries | 17:21:11 |
Find me at aleksana:qaq.li | And glibc also has a POSIX ERE function I think | 17:21:43 |
WeetHet | In reply to @aleksana:mozilla.org I don't get it, why do they not link some standalone libraries I would say because at first it was unnecessary and then well, backwards compatibility | 17:21:59 |
Find me at aleksana:qaq.li | Yeah | 17:22:14 |
Find me at aleksana:qaq.li | Maybe split GLibc regex to a standalone library so it works the same way across platforms | 17:23:08 |
Find me at aleksana:qaq.li | And it won't hurt | 17:23:15 |
emily | just carelessness | 17:23:20 |
emily | also maybe assuming C++ specced something reasonable | 17:23:29 |
emily | a dangerous assumption | 17:23:34 |
Find me at aleksana:qaq.li | GNU always has something good to force it on you | 17:24:15 |
Find me at aleksana:qaq.li | Then you have to bind to it unless you want to break compatibility | 17:24:56 |
Find me at aleksana:qaq.li | And there are platform assumptions downstream so we can't just ship what we want by default, like clang 😅 | 17:26:36 |
Sergei Zimmerman (xokdvium) | IMO just using standard C++ regex is already is the wrong decision. It’s notorious for poor performance. CTRE and Boost.Regex is much better in that regard. Though regex in any systems programming language smell.
That reminds me of https://regexlicensing.org/ | 18:44:10 |
Qyriad | Redacted or Malformed Event | 20:00:57 |
Qyriad | (Wait wrong channel sorry) | 20:01:35 |
| 10 Mar 2025 |
connor (burnt/out) (UTC-8) | Randy Eckenrode: would you happen to know if darwin uses an out-of-the-ordinary shell with respect to Nixpkgs builds? Put another way, do darwin systems use their host machine's bash, an old/vendored version of bash, or the same version linux machines would? I ask because I'm making setup hooks which use some bash-isms, and I see comments littered throughout Nixpkgs about hacking around old versions of bash for darwin. | 17:04:57 |
K900 | Should be standard nixpkgs bash | 17:07:15 |
K900 | Minus platform specific sheet | 17:07:25 |
K900 | * Minus platform specific shit | 17:07:26 |
K900 | (see above) | 17:07:28 |
Randy Eckenrode | In reply to @connorbaker:matrix.org Randy Eckenrode: would you happen to know if darwin uses an out-of-the-ordinary shell with respect to Nixpkgs builds? Put another way, do darwin systems use their host machine's bash, an old/vendored version of bash, or the same version linux machines would? I ask because I'm making setup hooks which use some bash-isms, and I see comments littered throughout Nixpkgs about hacking around old versions of bash for darwin. Darwin uses nixpkgs Bash (whether from the bootstrap tools or freshly built).
How old are those comments? Darwin may have used the system when it had a native (impure) toolchain, but that was a decade ago.
The only exception that comes to mind is a foopkg-config script from when patchShebangs wasn’t available, but I’m pretty sure I fixed that during the Clang 16 update.
| 17:08:52 |
connor (burnt/out) (UTC-8) | Some of them are from about a decade ago haha | 17:09:19 |
Randy Eckenrode | Redacted or Malformed Event | 17:11:33 |
emily | kill 'em | 19:04:48 |