diff options
-rw-r--r-- | nixos/modules/hardware/bladeRF.nix | 28 | ||||
-rw-r--r-- | nixos/modules/module-list.nix | 1 | ||||
-rw-r--r-- | pkgs/development/libraries/libbladeRF/default.nix | 18 |
3 files changed, 43 insertions, 4 deletions
diff --git a/nixos/modules/hardware/bladeRF.nix b/nixos/modules/hardware/bladeRF.nix new file mode 100644 index 000000000000..925443477143 --- /dev/null +++ b/nixos/modules/hardware/bladeRF.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.bladeRF; + +in + +{ + options.hardware.bladeRF = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enables udev rules for BladeRF devices. By default grants access + to users in the "bladerf" group. You may want to install the + libbladeRF package. + ''; + }; + + }; + + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.libbladeRF ]; + users.groups.bladerf = {}; + }; +}
\ No newline at end of file diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 01eb766fb4dd..8fda7ee0b0a9 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -36,6 +36,7 @@ ./config/vpnc.nix ./config/zram.nix ./hardware/all-firmware.nix + ./hardware/bladeRF.nix ./hardware/brightnessctl.nix ./hardware/ckb-next.nix ./hardware/cpu/amd-microcode.nix diff --git a/pkgs/development/libraries/libbladeRF/default.nix b/pkgs/development/libraries/libbladeRF/default.nix index 04bd3f3d71ed..45f24fc5facf 100644 --- a/pkgs/development/libraries/libbladeRF/default.nix +++ b/pkgs/development/libraries/libbladeRF/default.nix @@ -1,15 +1,15 @@ -{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, git, doxygen, help2man, ncurses, tecla +{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, cmake, git, doxygen, help2man, ncurses, tecla , libusb1, udev }: stdenv.mkDerivation rec { - version = "1.9.0"; + version = "2.0.2"; name = "libbladeRF-${version}"; src = fetchFromGitHub { owner = "Nuand"; repo = "bladeRF"; rev = "libbladeRF_v${version}"; - sha256 = "0frvphp4xxdxwzmi94b0asl7b891sd3fk8iw9kfk8h6f3cdhj8xa"; + sha256 = "18qwljjdnf4lds04kc1zvslr5hh9cjnnjkcy07lbkrq7pj0pfnc6"; }; nativeBuildInputs = [ pkgconfig ]; @@ -21,8 +21,17 @@ stdenv.mkDerivation rec { # Fixup shebang prePatch = "patchShebangs host/utilities/bladeRF-cli/src/cmd/doc/generate.bash"; + # Fixes macos and freebsd compilation issue. + # https://github.com/Nuand/bladeRF/commit/0cb4ea888543b2dc75b876f7024e180854fbe9c3 + patches = [ (fetchpatch { + name = "fix-OSX-and-FreeBSD-build.patch"; + url = "https://github.com/Nuand/bladeRF/commit/0cb4ea88.diff"; + sha256 = "1ccpa69vz2nlpdnxprh4rd1pgphk82z5lfmbrfdkn7srw6nxl469"; + }) + ]; + # Let us avoid nettools as a dependency. - patchPhase = '' + postPatch = '' sed -i 's/$(hostname)/hostname/' host/utilities/bladeRF-cli/src/cmd/doc/generate.bash ''; @@ -31,6 +40,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals stdenv.isLinux [ "-DUDEV_RULES_PATH=etc/udev/rules.d" "-DINSTALL_UDEV_RULES=ON" + "-DBLADERF_GROUP=bladerf" ]; hardeningDisable = [ "fortify" ]; |