philr has quit [Ping timeout: 248 seconds]
philr has joined #nix-darwin
philr has quit [Ping timeout: 248 seconds]
peacememories has joined #nix-darwin
peacememories has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<thefloweringash> matthewbauer: I've been looking into the postgres test failures (re: #62752). My current theory is that the DYLD_LIBRARY_PATH is being stripped from pg_regress's `system()` calls, so the "tmp_install"-ed psql binary resolves libpq.5.dylib to /usr/lib/libpq.5.dylib and then crashes with `dyld: lazy symbol binding failed: Symbol not found: _PQsetErrorContextVisibility` because it's not the expected libpq.5.dylib
<{^_^}> https://github.com/NixOS/nixpkgs/pull/62752 (by matthewbauer, 11 hours ago, merged): Fixes for x86_64-darwin failures on Hydra
<thefloweringash> The tests were only turned on recently (#61395). I was about to propose that the tests never passed, but the author had them passing.
<{^_^}> https://github.com/NixOS/nixpkgs/pull/61395 (by risicle, 3 weeks ago, merged): postgresql: enable pre-install checks
<thefloweringash> if I run the "make check" after installing, i.e. `{ doCheck = false; doInstallCheck = true; installCheckTarget = "check"; }`, then I get the `All 167 tests passed.`. So nothing terribly wrong, but I don't see how it can work as-is.
<matthewbauer> it looks like they set DYLD_LIBRARY_PATH correctly but maybe there's nothing in it?
peacememories has joined #nix-darwin
peacememories has quit [Client Quit]
<thefloweringash> From what I'm reading, DYLD_LIBRARY_PATH is stripped by SIP when launching "protected processes" https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/RuntimeProtections/RuntimeProtections.html
<thefloweringash> `system()` invokes `sh`, which I assume is "protected"
peacememories has joined #nix-darwin
peacememories has quit [Client Quit]
peacememories has joined #nix-darwin
daGrevis has quit [Quit: daGrevis]
daGrevis has joined #nix-darwin
peacememories has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
peacememories has joined #nix-darwin
copumpkin has quit [Read error: Connection reset by peer]
copumpkin has joined #nix-darwin
peacememories has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
peacememories has joined #nix-darwin
peacememories has quit [Client Quit]
<matthewbauer> this looks really bad: https://github.com/NixOS/nix/issues/2925 !
<{^_^}> nix#2925 (by mroi, 7 hours ago, open): /nix will not be writable on macOS Catalina
peacememories has joined #nix-darwin
<gchristensen> it does
peacememories has quit [Client Quit]
<gchristensen> :/
<LnL> yeah, and I don't see a good argument to convince apple with
<LnL> all of the workarounds are insignificant but do require a small change in /
<gchristensen> yeah ... as if macos will come with a /nix by default :P
<LnL> conceptually it doesn't really make sense that mountpoints require a directory on other volumes, but that's not going to change either
<matthewbauer> we could add a bunch of hacks to the installer
<matthewbauer> but i'm not sure if they would persist between reboots?
<matthewbauer> also what happens to my /nix directory when I upgrade to catalina? is it just removed?
<LnL> if I understand correctly we can't unless making users reboot without SIP
<dhess> wha, seriously, Eelco suggested dropping macOS support?
<LnL> it would be nice to have a machine to play around with, I have a broken laptop but no developer account so I'll have to wait for the public betas
philr has joined #nix-darwin
<LnL> I wouldn't call requiring to reboot into single user mode a supported platform even if it works otherwise
<LnL> and who knows what else moved around, can we make binaries compatible with both 10.14 and 10.15, are launch daemons still a thing, ...
<dhess> nothing else has moved, launchd still exists.
<dhess> If anything the case for Nix is greater than ever, because Apple will no longer bundle Python, Ruby, and Perl in future versions of macOS.
<LnL> sure but can you define your own?
<dhess> define your own what?
<LnL> services, not much you can do if that's not writable anymore
<dhess> /Library is not part of the read-only system volume
<LnL> do you know of an overview somewhere?
<dhess> I saw a brief note about this, I'm looking for it now
<dhess> there is the WWDC session linked in 2925
<LnL> that only had some examples I think, not a full list
<dhess> There are only a few things that are mapped onto the root filesystem -- /Library, /User and anything mounted in /Volumes, is what I recall
<dhess> it's not a big list
<dhess> oh /usr/local
<LnL> well I'm pretty sure it's more then /usr/local + /Users :)
<dhess> not according to what I saw
<LnL> what about /tmp, /var/log, /var/lib (where the user database is stored) etc.
<dhess> those are all in /private
<LnL> yeah so that's at least one more, and then there's /Applications, I read something about os stuff moving to /System/Applications
<dhess> I must have seen this during the keynote. I can't find it on any Mac blog/news site
<dhess> Here is a little more detail about the overall structure: 2 volumes, root and "Data"
<dhess> but it doesn't list what's linked into the Data volume
<dhess> Question: Can firmlinks be created by endusers, or are they reserved to the system? If they can be created by the enduser, what commands are used to create them?
<dhess> Answer: No, firmlinks can't be created by endusers. This is reserved currently to the system. There will be synthetic firmlinks coming, which can be used as mount points for network resources.
<dhess> maybe synthetic firmlinks can be used for /nix
<LnL> yeah maybe, that reply isn't very clear
<dhess> I wouldn't be surprised if Apple backs off of this for Catalina. It's quite a change to spring on people 4 months before release.
<dhess> or at the very least makes the "firmlinks" user-configurable.
<LnL> possibly, but I'm not sure how many things actually depend on global paths like this
<LnL> only other thing I can think of is ipfs
<dhess> It's a pretty fragile design, frankly.
<dhess> The store location *can* be overriden, right? It's just that all the hashes will change?
<dhess> I've seen people talk about doing it on Ubuntu or Debian hosts where they don't have root.
<LnL> yes and all the infastructure can't handle multiple prefixes
<dhess> Sure. That would be unfortunate but acceptable. Dropping macOS support entirely would be not cool.
<dhess> Anyway I would guess there are still important third-party Mac apps that write into /etc at least. I believe that Photoshop used to, for one.
<LnL> no caches means dropping support
<dhess> There are no caches for armv7l; do you think that means that Nix doesn't support armv7l?
daGrevis has quit [Quit: daGrevis]
daGrevis has joined #nix-darwin
peacememories has joined #nix-darwin
<matthewbauer> installing macos catalina beta now! going to see what happens. hope it's not completely broken
<duncan> Is Nix pure on MacOS?
<duncan> and would it help, in that case?
<gchristensen> god speed, matthewbauer
<dhess> Indeed.