!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

719 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org143 Servers

Load older messages


SenderMessageTime
21 Sep 2025
@emilazy:matrix.orgemilyit seems nice to avoid a runtime dependency on Python but I don't know if GHC already pulls that in14:24:41
@emilazy:matrix.orgemily I would say, if this is an "if Darwin, one package, else another" type thing, and the fallback case works fine, then just do that. if it's a dependency only used on Darwin, file_cmds seems more canonical. 14:24:59
@emilazy:matrix.orgemily it looks like GHC is literally the only thing using darwin.(file_cmds.)xattr, though, and the only other thing using darwin.file_cmds is the somewhat stupendously useless darwin.mail_cmds. so if I ever get around to cleaning up some of the source releases that seem like busywork to maintain it's possible it would go away anyway. (OTOH maybe Swift Build will make them less busywork since we can reuse the upstream build systems more.) 14:26:57
@emilazy:matrix.orgemily uh, what does GHC want an xattr(1) for, anyway? 14:27:04
@sternenseemann:systemli.orgsterni (he/him)https://gitlab.haskell.org/ghc/ghc/-/commit/bf65a7c388b14:41:54
@sternenseemann:systemli.orgsterni (he/him)I never checked whether it is actually necessary, Randy set XATTR=/does-not-exist for some bindists. I just packaged the darwin one when GHC started failing because it started executing /usr/bin/xattr14:42:43
@sternenseemann:systemli.orgsterni (he/him) emily: ah it used to be a literal fork of the python one (i.e. apple distributed the original (?) tarball and an ed(1) script) http://github.com/nixos/nixpkgs/commit/283d622397539f196416657da9dc804a4ca89846 14:48:17
@sternenseemann:systemli.orgsterni (he/him)I guess now that that has changed, we it is better to use the C one14:48:29
@emilazy:matrix.orgemily the Nix store can't contain xattrs 14:48:50
@emilazy:matrix.orgemilyI believe it strips them automatically14:48:55
@emilazy:matrix.orgemilyso most likely you do not need to give it anything14:49:01
@sternenseemann:systemli.orgsterni (he/him)but on write or on fixup14:49:14
@sternenseemann:systemli.orgsterni (he/him)though I guess that doesn't matter14:49:33
@emilazy:matrix.orgemilyhttps://github.com/NixOS/nix/commit/d798349ede3d6eb6e92a2e4f95f6b2179407ceb914:49:35
@emilazy:matrix.orgemily uhh, #if __linux__ :) 14:49:44
@emilazy:matrix.orgemilyI think that changed since though14:49:50
@sternenseemann:systemli.orgsterni (he/him)hm https://github.com/NixOS/nixpkgs/pull/41345014:50:10
@emilazy:matrix.orgemily the bonus fun is that you can get com.apple.provenance ones in there that are difficult to strip because they're part of XProtect 14:50:09
@emilazy:matrix.orgemilyyes, it's "fun"14:50:42
@emilazy:matrix.orgemily it mostly only causes issues with things like libarchive tests looking at xattrs 14:50:48
@emilazy:matrix.orgemilynot sure why Randy has caught the virus and I haven't14:51:38
@emilazy:matrix.orgemilyhttps://github.com/NixOS/nix/blob/f66b56ad3f7c8c446eb461db94478f5dbc713411/src/libstore/posix-fs-canonicalise.cc#L70-L9014:51:49
@emilazy:matrix.orgemilyso I think this happens after the build runs, not even in fixup14:51:57
@emilazy:matrix.orgemilyand is part of marking store paths valid14:52:01
@emilazy:matrix.orgemilyon Darwin we could actually adjust the sandbox to make setting xattrs on files in the store always "fail successfully" without doing anything, which could be better I suppose14:52:25
@emilazy:matrix.orgemily anyway, if this is only used for the build and not at runtime, it seems reasonable to just give it no xattr(1) at all, if we're doing that for the bindists 14:53:03
@emilazy:matrix.orgemilybecause we throw away the bindists, right?14:53:12
@emilazy:matrix.orgemilyso we don't really care what they contain14:53:17
@emilazy:matrix.orgemilyah they are specifically trying to clear the XProtect thing14:54:05
@emilazy:matrix.orgemily basically if you download something in a browser and extract it, it gets com.apple.provenance all over it 14:54:35

Show newer messages


Back to Room ListRoom Version: 6