summary refs log tree commit diff
path: root/pkgs/development/gnuradio-modules
diff options
context:
space:
mode:
authorChuang Zhu <chuang@melty.land>2021-12-09 07:13:38 +0800
committerChuang Zhu <chuang@melty.land>2021-12-09 07:13:38 +0800
commit5bd4d4ac45c1fdd90804d2fb945f3388955bde82 (patch)
tree6ed28182b8063c8c34a86eeb108f90be316cd482 /pkgs/development/gnuradio-modules
parent981e6c916560140c3b111be78e4ce6ac183a5b56 (diff)
downloadnixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.tar
nixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.tar.gz
nixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.tar.bz2
nixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.tar.lz
nixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.tar.xz
nixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.tar.zst
nixpkgs-5bd4d4ac45c1fdd90804d2fb945f3388955bde82.zip
gnuradioPackages.grnet: init at unstable
Add versions at different commit hashes for different GR versions.
Diffstat (limited to 'pkgs/development/gnuradio-modules')
-rw-r--r--pkgs/development/gnuradio-modules/grnet/default.nix84
1 files changed, 84 insertions, 0 deletions
diff --git a/pkgs/development/gnuradio-modules/grnet/default.nix b/pkgs/development/gnuradio-modules/grnet/default.nix
new file mode 100644
index 00000000000..568e63a77b8
--- /dev/null
+++ b/pkgs/development/gnuradio-modules/grnet/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, gnuradio
+, cmake
+, pkg-config
+, boost
+, log4cpp
+, python
+, swig
+, mpir
+, gmp
+, doxygen
+, libpcap
+, icu
+, thrift
+}:
+
+let
+  # Each GR major version requires us to pull a specific git revision of the repository
+  version = {
+    "3.7" = {
+      # Last git revision from the `maint-3.7` branch:
+      # https://github.com/ghostop14/gr-grnet/tree/maint-3.7
+      name = "unstable-2019-08-06";
+      gitHash = "beb1cd75d006a982c0a9536e923800c5a0575451";
+    };
+    "3.8" = {
+      # Last git revision from the `maint-3.8` branch:
+      # https://github.com/ghostop14/gr-grnet/tree/maint-3.8
+      name = "unstable-2020-11-20";
+      gitHash = "b02016043b67a15f27134a4f0b0d43f5d1b9ed6d";
+    };
+    "3.9" = {
+      # This revision is taken from the `master` branch.
+      name = "unstable-2020-12-30";
+      gitHash = "e6dfd140cfda715de9bcef4c1116fcacfeb0c606";
+    };
+  }.${gnuradio.versionAttr.major};
+  src = fetchFromGitHub {
+    owner = "ghostop14";
+    repo = "gr-grnet";
+    rev = "${version.gitHash}";
+    sha256 = {
+      "3.7" = "LLQ0Jf0Oapecu9gj4IgxOdK7O/OSbHnwNk000GlODxk=";
+      "3.8" = "vO8l8nV1/yEQf7pKqBbzIg4KkyCyWu+OkKgISyI3PaQ=";
+      "3.9" = "NsL7HCOQmGyexzpH2qbzv8Bq4bsfiDTNEUi96QDOA/g=";
+    }.${gnuradio.versionAttr.major};
+  };
+in
+mkDerivation {
+  pname = "gr-grnet";
+  version = version.name;
+  inherit src;
+
+  buildInputs = [
+    boost
+    log4cpp
+    doxygen
+    mpir
+    gmp
+    libpcap
+    icu
+  ] ++ (if lib.versionAtLeast gnuradio.versionAttr.major "3.9" then with python.pkgs; [
+    pybind11
+    numpy
+  ] else [
+    swig
+    thrift
+    python.pkgs.thrift
+  ]);
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  meta = with lib; {
+    description = "GNURadio TCP/UDP source and sink blocks rewritten in C++/Boost";
+    homepage = "https://github.com/ghostop14/gr-grnet";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ chuangzhu ];
+    platforms = platforms.unix;
+  };
+}