-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xar: 1.6.1 -> 498 #329721
xar: 1.6.1 -> 498 #329721
Conversation
1528648
to
7bce77f
Compare
aecc53b
to
54342dc
Compare
5438828
to
20be94b
Compare
Mostly ready for review, but there are some test failures because of mismatching mtime in |
02e9c01
to
a12afe4
Compare
Rebased, addressed previous review comments, should be ready for another round of reviews. |
This change switches the xar package from unmaintained fork of the original project to the Apple Open Source tarball. See also https://repology.org/project/xar/versions Since the package is essentially rewritten from scratch, we take an opportunity and move it to pkgs/by-name/xa/xar (formatted with nixfmt). We also remove Windows from the supported platforms because even before this change pkgsCross.mingwW64.xar failed with xar> configure: error: can not detect the size of your system's uid_t type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diff looks good, reproduced the build and tests (pure and impure) on aarch64-linux
and aarch64-linux
. Happy to merge once @reckenrode has taken another look and once someone reproduces the build on x86-64.
I haven’t run the tests or tried to build it, but the changes look good to me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Built on x64-linux.
Lots of warnings like this on
I can’t tell if this is using a system library that actually won’t be available, or if the xar code itself is defining that function so it’ll be okay? |
It’s defined at https://github.com/apple-oss-distributions/xar/blob/eaeb03d085970f94938dc6785cd86d22eaa54b47/xar/include/xar.h.in#L268. The availability annotation could be removed since nixpkgs will be shipping the same dylib regardless of deployment target. |
Seems reasonable. It shouldn’t cause anything worse than warnings to leave it in, though, right? |
Probably shouldn’t cause any issues other than warnings unless one uses |
Let’s merge this as‐is for now and we can make a decision about whether to patch the availability stuff out of the headers in another PR. Thank you for the great work as always, @tie! |
This change, while fine in isolation, breaks evaluation in combination with <NixOS#329721>, as `xar` depends on `e2fsprogs` which now depends on `macfuse-stubs` which depends on `xar`. This broke `staging-next`. A couple possible solutions are to disable the `e2fsprogs` dependency in the version of `xar` used for the bootstrap, or to build `macfuse-stubs` from source to avoid the `xar` dependency. This reverts commit 0dfc820.
Description of changes
This change switches the xar package from unmaintained fork of the original project to the Apple Open Source tarball. We also add some patches from Debian/Gentoo on top, but otherwise the patch set is original and fixes some longstanding bugs (i.e. I’ve spent a considerable amount of time to ensure that all tests provided in the tarball are passing). If merged, Nixpkgs would probably be the only distribution that actually runs
xar
tests…See also https://repology.org/project/xar/versions
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Built
darwin.apple_sdk.MacOSX-SDK
.Add a 👍 reaction to pull requests you find important.