docbobo
January 23, 2025, 12:16pm
1
Quick question as I am new to nix: I have a few PRs open (that’s not the problem) where ofBorg has queued up the execution for passthru.tests on Darwin. For the oldest PRs this hasn’t changed for more than 10 days. I strongly suspect that’s not expected but wanted to check if there’s anything I maybe did wrong there.
Cheers
1 Like
docbobo
January 23, 2025, 12:33pm
2
Here are two examples for that:
NixOS:master
← docbobo:docbobo/igir-darwin-final
opened 05:03PM - 08 Jan 25 UTC
_Pronounced "eager," [Igir](https😊/igir.io) is a zero-setup ROM collection manag… er 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 via `autoPatchelfHook`. Version `3.0.0` (and thus `3.0.1`) adds two more binaries that require this treatment: `chdman` and `maxcso`.
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 the `maxcso` to a version that fixes "[Linux x86 and ARM64](https://github.com/emmercm/maxcso-js/commit/8b6ff9d3498988f8b1eb996d6f14f15fc414a4c0)".
As a result, this PR picks up a commit for igir that comes shortly after the [v3.0.1](https://github.com/emmercm/igir/releases/tag/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 to `autoPatchelfHook` seems to exist (`fixDarwinDylibNames` does not apply in this scenario) at this point in time, and patching is done "manually" via `install_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 execute `chdman` and `maxcso` to determine if they start correctly. As a nice side-effect, the `maxcso` test case also breaks with the stock `v3.0.1` because the `maxcso` binary is missing there (at least on aarch64-linux).
## Things done
- Built on platform(s)
- [x] x86_64-linux
- [x] aarch64-linux
- [ ] x86_64-darwin
- [x] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [x] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [x] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [25.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
NixOS:master
← docbobo:docbobo/ctrtool
opened 09:25PM - 11 Jan 25 UTC
<!--
^ Please summarise the changes you have done and explain why they are nece… ssary here ^
For package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.
For new packages please briefly describe the package or provide a link to its homepage.
-->
## Things done
- Built on platform(s)
- [ ] x86_64-linux
- [ ] aarch64-linux
- [ ] x86_64-darwin
- [x] aarch64-darwin
- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))
- [ ] `sandbox = relaxed`
- [ ] `sandbox = true`
- [ ] Tested, as applicable:
- [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))
- and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests)
- or, for functions and "core" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)
- made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages
- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)
- [ ] Tested basic functionality of all binary files (usually in `./result/bin/`)
- [25.05 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) (or backporting [24.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) and [25.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2505.section.md) Release notes)
- [ ] (Package updates) Added a release notes entry if the change is major or breaking
- [ ] (Module updates) Added a release notes entry if the change is significant
- [ ] (Module addition) Added a release notes entry if adding a new NixOS module
- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).
<!--
To help with the large amounts of pull requests, we would appreciate your
reviews of other pull requests, especially simple package updates. Just leave a
comment describing what you have tested in the relevant package/service.
Reviewing helps to reduce the average time-to-merge for everyone.
Thanks a lot if you do!
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
Reviewing guidelines: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions
-->
---
Add a :+1: [reaction] to [pull requests you find important].
[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/
[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc
eljamm
January 23, 2025, 5:12pm
3
AFAIK ofborg is being replaced by GitHub actions , so it’s not building anything anymore. Don’t know why it still shows up, but you can safely ignore it.
Pinging @Mic92 @infinisil @das_j who should know this exactly
1 Like
Only the evals are done with GitHub actions, while the builds stay with ofborg. Ofborg had a bit of downtime during the new year migration, but @das_j just gave an update that the queue’s are being worked down: Infrastructure Announcement: The future of OfBorg – Your Help Needed! - #55 by das_j
3 Likes
eljamm
January 23, 2025, 8:33pm
6
I see, I thought that it went away because of that downtime. Thanks a lot for the clarification!
Thanks for the explanation. So eventually those Darwin jobs will run.
Out of curiosity: is there any place where I can see the size of the backlog? Or even better, what’s the best place to find that information about the build automation myself?