Skip to content
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

gnuradio-osmosdr: 0.1.4 -> 4d83c60, Added support for Soapysdr #53646

Merged
merged 1 commit into from Jan 18, 2019

Conversation

betaboon
Copy link
Contributor

@betaboon betaboon commented Jan 8, 2019

Motivation for this change

I needed support for limeSDR in gnuradio and gqrx,
This can be accomplished by using limesuite via soapysdr and soapysdr via gr-osmosdr.

So this results in a rebuild of:

  • gnuradio-companion
  • gqrx
  • qradiolink
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@markuskowa
Copy link
Member

markuskowa commented Jan 8, 2019

@betaboon Does gqrx work for you with the soapy drivers? I did try several times over last year and could never get it to work.

@markuskowa
Copy link
Member

@GrahamcOfBorg build gnuradio-with-packages gqrx

@markuskowa
Copy link
Member

@bjornfor @the-kenny
How do you feel about upgrading from a stable version to a development version? The argument for upgrading would be that the latest stable is from 2014 and many new features have been implemented since then.

@betaboon
Copy link
Contributor Author

betaboon commented Jan 8, 2019

@markuskowa
limesdr-gqrx-nixos

@bjornfor
Copy link
Contributor

bjornfor commented Jan 8, 2019

@markuskowa: My personal opinion is that nixpkgs should only package released / stable upstream software. My thinking is that if a project, like osmosdr, has not produced a release in a long time, and the thinking is that users would benefit from getting the latest code, we should strive for making a release instead of working around it in nixpkgs. Think of other downstreams, if upstreams never release, all downstreams would eventually have to consider moving to unstable/unreleased code. And I think very few projects have a development process where all commits to git master branch are stable enough to be safely distributed to a wider user base.

The argument for upgrading would be that the latest stable is from 2014 and many new features have been implemented since then.

Then I would say that's a good argument for upstream to make a release :-)

@markuskowa
Copy link
Member

@bjornfor I wrote an email to one of the developers a year ago, asking about a release, but did not get response. There is certainly a good argument to make a release, specially since the development branch seems to be pretty stable (works fine for me locally).

@betaboon
Copy link
Contributor Author

betaboon commented Jan 8, 2019

going through the mailing-list archive i found:

I just hopped into irc://freenode#osmocom just asking around

@markuskowa
Copy link
Member

If I understand the mailing list right then there is no response for the request to make a new release? @betaboon did you get any response from the IRC?
@bjornfor debian uses ~90 patches to compensate for the old version 😲. Can you still call that v0.1.4? (maintaining that many patches sounds like a nightmare).
I understand the argument that we do not want to switch to unstable. Should we keep this PR open as "waiting-for-upstream" and hope that there will be a release soon or is there maybe some other middle ground solution?

@bjornfor
Copy link
Contributor

bjornfor commented Jan 9, 2019

@bjornfor debian uses ~90 patches to compensate for the old version

Wow.

I understand the argument that we do not want to switch to unstable. Should we keep this PR open as "waiting-for-upstream" and hope that there will be a release soon or is there maybe some other middle ground solution?

I don't know what middle ground would be. I see these options:

  1. Kindly ask upstream again to make a release. Offer help.
  2. Do a local distro-specific fork of the latest release (apparently how debian does it for this package).
  3. Do a real fork the project, since upstreams that don't produce releases are effectively dead (IMHO).
  4. Switch to unstable and update to arbitrary commits.

Since I'm not an active maintainer (just a guy that played with SDR some time ago) I'm not going to say hard no to option 3. (But you know I prefer option 0.)

@betaboon
Copy link
Contributor Author

betaboon commented Jan 9, 2019

@markuskowa i got told who in their IRC is the maintainer of gr-osmosdr (someone called horizon) but contacting that person didn't result in any kind of response.

here is the relevant excerpt of the chat:

[14:01:12] <betaboon> hello #osmocom, who or where would i contact about a new gr-osmosdr release, as the last release has been tagged in 2014 ?
[14:04:00] <neels> where = here is a good place. who: not sure, wait a bit and see what replies you get...
[14:04:46] <betaboon> neels: thanks for the headsup, I'll just idle here for a while :D
[14:13:11] <LaF0rge> betaboon: horizon is the person to talk to.
[14:13:52] <LaF0rge> betaboon: the osmocom-sdr@lists.osmocom.org mailing list is the right place for discussions about gr-osmosdr
[14:16:17] <betaboon> LaF0rge: thank you for the pointer to horizon 
[14:17:02] <betaboon> LaF0rge: regarding the mailing list: i found several attempts of discussions about the release issue on there all of which just ended unresolved
[14:17:15] <betaboon> eg: http://lists.osmocom.org/pipermail/osmocom-sdr/2018-June/001766.html
[14:18:43] <LaF0rge> betaboon: I'm sorry to hear it, but I guess there's not much to do othe than try to motivate the existing authors/maintainers :/
[14:20:10] <LaF0rge> betaboon: if the maintainer[s] loose interest, it may also be an option for somebody to step up - but then that person should at least be an existing developer who knows the codebase
[14:20:53] <betaboon> horizon: ^, any thoughts ?

@markuskowa
Copy link
Member

markuskowa commented Jan 10, 2019

Let's see if we get a response from the maintainers in the near future.
Option 1 and 2 would require that someone is willing to take on the task (this is beyond my personal scope). If there is no release coming, updating to unstable seems to be a reasonable compromise.

@greydot
Copy link
Contributor

greydot commented Jan 16, 2019

Could you also add libbladeRF dependency so that there would be no need for a separate PR?
Thank you.

@greydot
Copy link
Contributor

greydot commented Jan 17, 2019

@markuskowa it seems that other distros just use an unstable version.

@markuskowa
Copy link
Member

@greydot Yes, Debian uses ~90 patches but still calls it v0.1.4. It is essentially an unstable version.
Does the latest bladerf support require osmosdr unstable? (there are a lot of bladerf related commits on the current master of osmosdr)

@greydot
Copy link
Contributor

greydot commented Jan 17, 2019

@markuskowa yes. v1.1.4 doesn't build with the latest libbladerf. The unstable code works just fine. See my closed PR linked above.

@Mic92
Copy link
Member

Mic92 commented Jan 17, 2019

I'd say unstable should be preferred in that case. Releases are worthless if not happening regularly.

@markuskowa
Copy link
Member

OK, it looks like the consensus is to go for the unstable version. We still have some to time to work out potential problems until 19.03.
@betaboon I wait for your reply to the libbladerf request.

@betaboon
Copy link
Contributor Author

I talked to someone called Hoernchen in irc://freenode#osmocom who is a longtime contributor to gr-osmosdr. he agreed that a release should be created (after i mentioned the debian-90+patch situation).
the gr-osmosdr maintainer called horizon(on irc) is thought to be quite active in irc, but went offline a couple of days ago and might be on vacation. i will keep an eye on him coming back online and keep pushing for a proper release.

For the time being I would be in favour of using a pinned commit in master.

@greydot @markuskowa regarding the libbladeRF support. i have no way of testing that it works as i dont own a bladerf.
currently soapybladedrf is included in soapysdr-with-plugins which is being used here. so bladerf might already work going the libbladerf->soapybladerf->soapysdr->gr-osmosdr route.

If that is not sufficient for you (or you prefer libbladerf->gr-osmosdr) i could add the dependency and test up to the point of having it compile. but as stated: i cannot test with a bladerf.

@markuskowa
Copy link
Member

@betaboon I guess it is fine to add libbladerf. @greydot can test it (or already did test it in the other PR)?

@greydot
Copy link
Contributor

greydot commented Jan 17, 2019

@markuskowa I did test it successfully in the other PR with gqrx and osmocom_fft.

@greydot
Copy link
Contributor

greydot commented Jan 17, 2019

When can we expect this (plus bladerf support) merged?

};

nativeBuildInputs = [ pkgconfig ];
buildInputs = [
cmake boost gnuradio rtl-sdr uhd makeWrapper hackrf airspy
cmake makeWrapper boost
airspy gnuradio hackrf rtl-sdr soapysdr-with-plugins uhd
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

soapysdr-with-plugins needs to be conditional for linux otherwise gnuradio won't build on darwin anymore.

}:

assert pythonSupport -> python != null && swig != null;

stdenv.mkDerivation rec {
name = "gnuradio-osmosdr-${version}";
version = "0.1.4";
version = "2018_08_15";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change that to dashes?

Suggested change
version = "2018_08_15";
version = "2018-08-15";

@markuskowa
Copy link
Member

@greydot I will merge it as soon as the changes mentioned above are made.

@betaboon
Copy link
Contributor Author

@markuskowa i just adapted your requested changes
@greydot i also added the libbladeRF dependency.

I can say that it still compiles and works with my limesdr-mini (tested in gnuradio-companion and gqrx)

@markuskowa
Copy link
Member

@GrahamcOfBorg build gnuradio-with-packages
@GrahamcOfBorg build gqrx qradiolink

@greydot
Copy link
Contributor

greydot commented Jan 18, 2019

I've just built and tested gqrx with bladeRF from this branch. Seems to work just fine.

@markuskowa markuskowa merged commit bd7bbcb into NixOS:master Jan 18, 2019
@markuskowa
Copy link
Member

markuskowa commented Jan 18, 2019

Thanks for all the effort!

@betaboon
Copy link
Contributor Author

you're welcome. thanks for the nice and quick interaction to get this done :)

@betaboon betaboon deleted the pr-gr-osmosdr-soapysdr branch January 18, 2019 12:18
Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Result of nixpkgs-review pr 53646 run on x86_64-linux 1

@jonringer
Copy link
Contributor

hmm, awkward, mistyped my review script. Sorry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants