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
wsjtx, js8call: unvendor hamlib #265897
base: master
Are you sure you want to change the base?
wsjtx, js8call: unvendor hamlib #265897
Conversation
df1e5f2
to
bc1b7ca
Compare
bc1b7ca
to
0f162da
Compare
Tested and looks good overall. Think you may want to add Only question I would have is whether it would be better to implement |
0f162da
to
bafbb43
Compare
@lasandell Thanks for the feedback :)
👍 Added to the version
Agree that this might make things more brittle. The main hamlib package builds from a tarball and doesn't need stuff like autoreconfHook, whereas we don't have that for the fork. There is also a difference in the version of libusb that is required, so it probably makes sense to keep them separate. @dotemup Glad we are making some progress!
Yes, it's not clear where the wsjtx superbuild is getting that from. I've reached out to the wsjtx-devel list to see if there is a more up-to-date repo we can pull from. |
Definitely heading the in the right direction @mattmelling
Did some digging, the superbuild appears to be using the 'integration' tag/branch from bsomervi's git repo renamed to the 4.5.x version? There is the CMakeLists in the tarball for mostly how it was built still trying to piece it all together. I'll attach the file from the 2.6.1 superbuild version so maybe someone smarter than me can figure out the best path forward for a way to do it in nix. There's definitely some oddities between static and shared libraries. |
According to wsjtx-devel:
This makes things easier for unvendoring hamlib, but doesn't address the issue with js8call. I will come back to this later and probably split this pr to separate the js8call stuff from wsjtx. |
Saw the wsjtx PR, will follow up with testing on that tomorrow. I did some more poking around following the thread in the wsjtx-devel group. They linked the fedora spec for how they were building with latest hamlib which led me to look at how they're doing js8call. A few patches, env vars and cmake flags to remove the static lib requirement and we should be able to js8call build work with latest hamlib 4.5.x. They've been on 4.x for a while... https://src.fedoraproject.org/rpms/js8call/tree/rawhide I also took a peak at the debian rpm and found their ci/cd for js8call which was ugly and filled with failed builds so quickly ran away from there. Wouldn't not recommend, they also have that weird wsjtx-data dependency that always caused me problems and ultimately led me to Nix so.... Fedora! |
Description of changes
#265747 raised a problem using js8call with FLrig.
We determined that js8call should use the same version of hamlib (forked by the wsjtx team), since js8call is a fork of wsjtx.
This PR packages the wsjtx fork of hamlib as
hamlib_4-wsjtx
, and uses it to build both js8call and wsjtx.This allows us to simplify the wsjtx package by building from git sources rather than relying on a tarball that contains a vendored hamlib.
Also add myself as a maintainer for wsjtx.
Result of
nixpkgs-review
run on x86_64-linux 15 packages built:
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/
)