From 4619f2ab12fef6e7a808c3b38427da6ed86b6932 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sat, 9 Feb 2019 20:00:17 +0100 Subject: uhd: Move from misc to radio --- pkgs/applications/radio/uhd/default.nix | 70 +++++++++++++++++++++++++++++ pkgs/applications/radio/uhd/neon.patch | 19 ++++++++ pkgs/development/tools/misc/uhd/default.nix | 70 ----------------------------- pkgs/development/tools/misc/uhd/neon.patch | 19 -------- pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 90 insertions(+), 90 deletions(-) create mode 100644 pkgs/applications/radio/uhd/default.nix create mode 100644 pkgs/applications/radio/uhd/neon.patch delete mode 100644 pkgs/development/tools/misc/uhd/default.nix delete mode 100644 pkgs/development/tools/misc/uhd/neon.patch (limited to 'pkgs') diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix new file mode 100644 index 000000000000..484e8787d50a --- /dev/null +++ b/pkgs/applications/radio/uhd/default.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig +, python, pythonPackages, orc, libusb1, boost }: + +# You need these udev rules to not have to run as root (copied from +# ${uhd}/share/uhd/utils/uhd-usrp.rules): +# +# SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666" +# SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666" + +let + uhdVer = "v" + version; + + # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz + # and xxx.yyy.zzz. Hrmpf... style keeps changing + version = "3.13.0.1"; + + # Firmware images are downloaded (pre-built) from the respective release on Github + uhdImagesSrc = fetchurl { + url = "https://github.com/EttusResearch/uhd/releases/download/${uhdVer}/uhd-images_${version}.tar.xz"; + sha256 = "0y9i93z188ch0hdlkvv0k9m0k7vns7rbxaqsnk35xnlqlxxgqdvj"; + }; + +in stdenv.mkDerivation { + name = "uhd-${version}"; + + src = fetchFromGitHub { + owner = "EttusResearch"; + repo = "uhd"; + rev = "${uhdVer}"; + sha256 = "0si49qk96zhpanmcrzlr3igc5s1y30x4p0z973q60dx9fhqsbb6k"; + }; + + enableParallelBuilding = true; + + # ABI differences GCC 7.1 + # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector::iterator {aka __gnu_cxx::__normal_iterator >}' changed in GCC 7.1 + + cmakeFlags = [ "-DLIBUSB_INCLUDE_DIRS=${libusb1.dev}/include/libusb-1.0"] ++ + [ (stdenv.lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ]; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ python pythonPackages.pyramid_mako orc libusb1 boost ]; + + # Build only the host software + preConfigure = "cd host"; + patches = if stdenv.isAarch32 then ./neon.patch else null; + + postPhases = [ "installFirmware" ]; + + # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images` + installFirmware = '' + mkdir -p "$out/share/uhd/images" + tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out/share/uhd/images" + ''; + + meta = with stdenv.lib; { + description = "USRP Hardware Driver (for Software Defined Radio)"; + longDescription = '' + The USRP Hardware Driver (UHD) software is the hardware driver for all + USRP (Universal Software Radio Peripheral) devices. + + USRP devices are designed and sold by Ettus Research, LLC and its parent + company, National Instruments. + ''; + homepage = https://uhd.ettus.com/; + license = licenses.gpl3Plus; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ bjornfor fpletz tomberek ]; + }; +} diff --git a/pkgs/applications/radio/uhd/neon.patch b/pkgs/applications/radio/uhd/neon.patch new file mode 100644 index 000000000000..18ec59c1d64b --- /dev/null +++ b/pkgs/applications/radio/uhd/neon.patch @@ -0,0 +1,19 @@ +Description: When building for armhf, enable NEON + NEON is part of the armhf baseline, so this will always be enabled on + armhf. +Author: Paul Tagliamonte +Bug-Debian: https://bugs.debian.org/873608 +Origin: vendor +Last-Update: 2017-08-29 + +--- uhd-3.10.2.0.orig/host/lib/convert/CMakeLists.txt ++++ uhd-3.10.2.0/host/lib/convert/CMakeLists.txt +@@ -67,6 +67,8 @@ IF(HAVE_ARM_NEON_H AND (${CMAKE_SIZEOF_V + ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/convert_neon.S + ) ++ ++ SET ( CMAKE_CXX_FLAGS "-mfpu=neon" ) + ENDIF() + + ######################################################################## diff --git a/pkgs/development/tools/misc/uhd/default.nix b/pkgs/development/tools/misc/uhd/default.nix deleted file mode 100644 index 484e8787d50a..000000000000 --- a/pkgs/development/tools/misc/uhd/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig -, python, pythonPackages, orc, libusb1, boost }: - -# You need these udev rules to not have to run as root (copied from -# ${uhd}/share/uhd/utils/uhd-usrp.rules): -# -# SUBSYSTEMS=="usb", ATTRS{idVendor}=="fffe", ATTRS{idProduct}=="0002", MODE:="0666" -# SUBSYSTEMS=="usb", ATTRS{idVendor}=="2500", ATTRS{idProduct}=="0002", MODE:="0666" - -let - uhdVer = "v" + version; - - # UHD seems to use three different version number styles: x.y.z, xxx_yyy_zzz - # and xxx.yyy.zzz. Hrmpf... style keeps changing - version = "3.13.0.1"; - - # Firmware images are downloaded (pre-built) from the respective release on Github - uhdImagesSrc = fetchurl { - url = "https://github.com/EttusResearch/uhd/releases/download/${uhdVer}/uhd-images_${version}.tar.xz"; - sha256 = "0y9i93z188ch0hdlkvv0k9m0k7vns7rbxaqsnk35xnlqlxxgqdvj"; - }; - -in stdenv.mkDerivation { - name = "uhd-${version}"; - - src = fetchFromGitHub { - owner = "EttusResearch"; - repo = "uhd"; - rev = "${uhdVer}"; - sha256 = "0si49qk96zhpanmcrzlr3igc5s1y30x4p0z973q60dx9fhqsbb6k"; - }; - - enableParallelBuilding = true; - - # ABI differences GCC 7.1 - # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector::iterator {aka __gnu_cxx::__normal_iterator >}' changed in GCC 7.1 - - cmakeFlags = [ "-DLIBUSB_INCLUDE_DIRS=${libusb1.dev}/include/libusb-1.0"] ++ - [ (stdenv.lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ]; - - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ python pythonPackages.pyramid_mako orc libusb1 boost ]; - - # Build only the host software - preConfigure = "cd host"; - patches = if stdenv.isAarch32 then ./neon.patch else null; - - postPhases = [ "installFirmware" ]; - - # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images` - installFirmware = '' - mkdir -p "$out/share/uhd/images" - tar --strip-components=1 -xvf "${uhdImagesSrc}" -C "$out/share/uhd/images" - ''; - - meta = with stdenv.lib; { - description = "USRP Hardware Driver (for Software Defined Radio)"; - longDescription = '' - The USRP Hardware Driver (UHD) software is the hardware driver for all - USRP (Universal Software Radio Peripheral) devices. - - USRP devices are designed and sold by Ettus Research, LLC and its parent - company, National Instruments. - ''; - homepage = https://uhd.ettus.com/; - license = licenses.gpl3Plus; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor fpletz tomberek ]; - }; -} diff --git a/pkgs/development/tools/misc/uhd/neon.patch b/pkgs/development/tools/misc/uhd/neon.patch deleted file mode 100644 index 18ec59c1d64b..000000000000 --- a/pkgs/development/tools/misc/uhd/neon.patch +++ /dev/null @@ -1,19 +0,0 @@ -Description: When building for armhf, enable NEON - NEON is part of the armhf baseline, so this will always be enabled on - armhf. -Author: Paul Tagliamonte -Bug-Debian: https://bugs.debian.org/873608 -Origin: vendor -Last-Update: 2017-08-29 - ---- uhd-3.10.2.0.orig/host/lib/convert/CMakeLists.txt -+++ uhd-3.10.2.0/host/lib/convert/CMakeLists.txt -@@ -67,6 +67,8 @@ IF(HAVE_ARM_NEON_H AND (${CMAKE_SIZEOF_V - ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/convert_neon.S - ) -+ -+ SET ( CMAKE_CXX_FLAGS "-mfpu=neon" ) - ENDIF() - - ######################################################################## diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31625ba517c7..b33dfd77d7a8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9183,7 +9183,7 @@ in inherit (darwin.apple_sdk.frameworks) CoreFoundation; }; - uhd = callPackage ../development/tools/misc/uhd { }; + uhd = callPackage ../applications/radio/uhd { }; uisp = callPackage ../development/tools/misc/uisp { }; -- cgit 1.4.1