aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix81
1 files changed, 81 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
new file mode 100644
index 000000000000..d7e2d44c75ce
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
@@ -0,0 +1,81 @@
+{ stdenv, fetchFromGitHub
+, armadillo
+, boost
+, cmake
+, glog
+, gmock
+, openssl
+, gflags
+, gnuradio
+, orc
+, pkgconfig
+, pythonPackages
+, uhd
+, log4cpp
+, blas, lapack
+, matio
+, pugixml
+, protobuf
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gnss-sdr";
+ version = "0.0.13";
+
+ src = fetchFromGitHub {
+ owner = "gnss-sdr";
+ repo = "gnss-sdr";
+ rev = "v${version}";
+ sha256 = "0a3k47fl5dizzhbqbrbmckl636lznyjby2d2nz6fz21637hvrnby";
+ };
+
+ buildInputs = [
+ armadillo
+ boost.dev
+ cmake
+ glog
+ gmock
+ openssl.dev
+ gflags
+ gnuradio
+ orc
+ pkgconfig
+ pythonPackages.Mako
+ pythonPackages.six
+
+ # UHD support is optional, but gnuradio is built with it, so there's
+ # nothing to be gained by leaving it out.
+ uhd
+ log4cpp
+ blas lapack
+ matio
+ pugixml
+ protobuf
+ ];
+
+ enableParallelBuilding = true;
+
+ cmakeFlags = [
+ "-DGFlags_ROOT_DIR=${gflags}/lib"
+ "-DGLOG_INCLUDE_DIR=${glog}/include"
+ "-DENABLE_UNIT_TESTING=OFF"
+
+ # gnss-sdr doesn't truly depend on BLAS or LAPACK, as long as
+ # armadillo is built using both, so skip checking for them.
+ "-DBLAS=YES"
+ "-DLAPACK=YES"
+ "-DBLAS_LIBRARIES=-lblas"
+ "-DLAPACK_LIBRARIES=-llapack"
+
+ # Similarly, it doesn't actually use gfortran despite checking for
+ # its presence.
+ "-DGFORTRAN=YES"
+ ];
+
+ meta = with stdenv.lib; {
+ description = "An open source Global Navigation Satellite Systems software-defined receiver";
+ homepage = "https://gnss-sdr.org/";
+ license = licenses.gpl3Plus;
+ platforms = platforms.linux;
+ };
+}