-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
igir: 2.11.0 -> 3.0.1-unstable-2024-09-27, adding support for darwin #372184
base: master
Are you sure you want to change the base?
Conversation
6071f9c
to
63254a0
Compare
Please format this with nixfmt-rfc-style. |
Looks good to me. @docbobo, can you squash the commits with |
0b05804
to
0e22b0f
Compare
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.
nixpkgs-review
result
Generated using nixpkgs-review
.
Command: nixpkgs-review pr 372184
x86_64-linux
✅ 1 package built:
- igir
x86_64-darwin
✅ 1 package built:
- igir
aarch64-darwin
✅ 1 package built:
- igir
|
Not sure how many approvals this needs, but can you wait with merging this (in case 2 is already sufficient)? I just noticed something that should be fixed. |
Just to give a quick update: I realized that there is another binary that requires After some digging and banging my head against the wall, I figured out that this is fixed in HEAD by picking up a slightly newer version of At this point, the only option to get v3.0.1 consistently running on all platforms is to cherry-pick the updated In order to ensure future correctness, I am also including tests. |
I'll happily squash into one commit at the end, but for now I'd like you to see the difference between now and the previous state. |
BTW, I could've just picked a newer igir commit, the one that introduces the update to v0.1380.8, but that would've included a few more dependency updates and I wanted to keep the difference to the tagged version as minimal as possible. |
bf9e823
to
b51aeeb
Compare
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.
nixpkgs-review
result
Generated using nixpkgs-review
.
Command: nixpkgs-review pr 372184
x86_64-linux
✅ 1 package built:
- igir
b51aeeb
to
952874e
Compare
952874e
to
2a7f376
Compare
Okay, so I guess this has reached its final state for now then? |
Yes, but it would be great if you can also change the commit and PR titles and use the unstable version. |
|
2a7f376
to
af78e38
Compare
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.
Looks good to me. Thanks a lot for your efforts and for maintaining this!
So what's needed to get this over the actual finish line (aka. merge)? More approvals? Just curious. |
Time, patience, and the attention of a committer. More info here. It's a pain point that hopefully will be resolved in time. |
Pronounced "eager," Igir is a zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
This PR achieves two things that are described in more detail below: upgrading to version
3.0.1
, and enabling platform support for Darwin.2.11.0 -> 3.0.1-unstable-2024-09-27
Version
2.11.0
of igir already contains some pre-built binaries that require their dependencies to be updated viaautoPatchelfHook
. Version3.0.0
(and thus3.0.1
) adds two more binaries that require this treatment:chdman
andmaxcso
.During testing of the proposed changes it was determined that the build for aarch64-linux did not include the
maxcso
binary. Further investigation showed that this is an upstream problem: a subsequent commit to v3.0.1 updates themaxcso
to a version that fixes "Linux x86 and ARM64".As a result, this PR picks up a commit for igir that comes shortly after the v3.0.1 tag. Changes between the two relevant commits are minor dependency updates, mostly for development packages and documentation.
Support for Darwin
Similar to Linux, the Darwin build requires patching of binaries since the bundled ones are compiled against homebrew libraries found under
/opt/homebrew
. However, no hook comparable toautoPatchelfHook
seems to exist (fixDarwinDylibNames
does not apply in this scenario) at this point in time, and patching is done "manually" viainstall_name_tool
on a case by case basis.Tests
Since the whole process of manually patching binaries is somewhat more fragile than using
autoPatchelfHook
, this PR also introduces two test cases that executechdman
andmaxcso
to determine if they start correctly. As a nice side-effect, themaxcso
test case also breaks with the stockv3.0.1
because themaxcso
binary is missing there (at least on aarch64-linux).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/
)Add a 👍 reaction to pull requests you find important.