| 9 Mar 2025 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) |
[aleksana@Aleksana-Laptop:~]$ bash --version
GNU bash, version 5.2.37(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[aleksana@Aleksana-Laptop:~]$ re='\bx\b'; [[ "x" =~ $re ]] && echo "yes!" || echo "no!"
yes!
| 12:47:29 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | 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 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | 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 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | 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 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | 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 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Yeah | 17:22:14 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Maybe split GLibc regex to a standalone library so it works the same way across platforms | 17:23:08 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | 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 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | GNU always has something good to force it on you | 17:24:15 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Then you have to bind to it unless you want to break compatibility | 17:24:56 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | 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 |