diff options
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.nix | 81 |
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; + }; +} |