21 Oct 2024 |
mjm | oh are we talking about the CLI tool called xcbuild? | 18:54:36 |
mjm | because the modern build system in xcode is also called xcbuild | 18:54:48 |
mjm | so that's confusing | 18:54:51 |
emily | it's the only xcodebuild we have | 18:54:53 |
mjm | i'm confused. when saying "xcbuild" were we meaning this https://github.com/facebookarchive/xcbuild or the modern non-legacy build system within Xcode/xcodebuild (which is the one I was talking about but maybe is not relevant) | 18:57:46 |
mjm | tho the former says it uses ninja/llbuild so in theory it should also have parallelization | 18:58:09 |
mjm | sorry if i've just injected confusion/uncertainty into this conversation | 18:58:41 |
emily | the former | 18:59:13 |
mjm | ah, my mistake | 18:59:23 |
emily | we have no way of using the latter | 18:59:25 |
mjm | oh is this in a non-macOS context? | 19:01:07 |
emily | no | 19:05:46 |
emily | we do not have Xcode | 19:05:55 |
emily | we can't use any of Apple's proprietary tools | 19:06:03 |
mjm | alright got it | 19:06:15 |
emily | that's why we have to rewrite all their source dump build systems in Meson | 19:06:34 |
emily | our mpv derivation produces both an .app and the usual Unix tree and they're essentially disjoint. awkward. | 19:16:07 |
Ihar Hrachyshka | Firefox build system for dmg package attempts to call to hdiutil that is external to nixpkgs. I assume we don't want that to happen? (It fails to find the tool since the build shell PATH is pure.) Some other packages rip off hdiutil calls and manage .app themselves instead. Is it what I should do for Firefox too then? (This will require a patch for their python build tool that is the one calling to hdiutil .) | 19:27:42 |
Randy Eckenrode | In reply to @emilazy:matrix.org here's how it's used: https://github.com/mpv-player/mpv/blob/15ad917bb180cfe09a9f59008e04b7fad9cd6ee6/osdep/mac/meson.build#L64-L76 Is that for supporting Swift 4? | 19:58:46 |
emily | I guess? | 19:58:58 |
emily | no clue tbh. | 19:59:00 |
Randy Eckenrode | In reply to @emilazy:matrix.org also wait, i thought the whole point of xcbuild was to be fast. It might be with the Ninja executor, but the regular one doesn’t support parallel builds. | 19:59:27 |
emily | ○ oupsypnm vcs@emily.moe 2024-10-21 20:35:57 43bf065b
│ mpv: remove `xineramaSupport` flag
○ uylouwzu vcs@emily.moe 2024-10-21 20:35:57 bc178b93
│ mpv: remove `screenSaverSupport` flag
○ sqpqopox vcs@emily.moe 2024-10-21 20:35:57 64d355a9
│ mpv: remove `libpngSupport` flag
○ wlztlrlw vcs@emily.moe 2024-10-21 20:35:57 60f4cac0
│ mpv: remove `theoraSupport` flag
○ tlsmylym vcs@emily.moe 2024-10-21 20:35:57 26f76a12
│ mpv: remove `speexSupport` flag
I like how literally all of these options either did nothing or broke the build to toggle.
| 19:59:55 |
Randy Eckenrode | It would be nice to fix the Ninja executor to work in a Nix build. It needs fixed to stop writing to DerivedData in $HOME . | 20:03:24 |
emily | that's it? | 20:03:43 |
emily | is it otherwise compatible? | 20:03:46 |
Randy Eckenrode | The regular executor lets you set the derived data path, but the Ninja executor ignores it. | 20:03:49 |
Randy Eckenrode | I think it may have some limitations. It’s probably fine for our needs. | 20:04:06 |
Randy Eckenrode | We should probably fork xcbuild into the NixOS org and clean it up. | 20:04:26 |
Randy Eckenrode | Modernize the C++, fix the issue preventing us from building MacVim, add actions for the PNG and TIFF stuff. | 20:04:59 |