gnuradio3_8: remove (#356976)
This commit is contained in:
@@ -1,289 +0,0 @@
|
||||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
# Remove gcc and python references
|
||||
, removeReferencesTo
|
||||
, pkg-config
|
||||
, volk
|
||||
, cppunit
|
||||
, swig3
|
||||
, orc
|
||||
, boost
|
||||
, log4cpp
|
||||
, mpir
|
||||
, doxygen
|
||||
, python
|
||||
, codec2
|
||||
, gsm
|
||||
, thrift
|
||||
, fftwFloat
|
||||
, alsa-lib
|
||||
, libjack2
|
||||
, CoreAudio
|
||||
, uhd
|
||||
, SDL
|
||||
, gsl
|
||||
, cppzmq
|
||||
# Needed only if qt-gui is disabled, from some reason
|
||||
, icu
|
||||
# GUI related
|
||||
, gtk3
|
||||
, pango
|
||||
, gobject-introspection
|
||||
, cairo
|
||||
, qt5
|
||||
, libsForQt5
|
||||
# Features available to override, the list of them is in featuresInfo. They
|
||||
# are all turned on by default.
|
||||
, features ? {}
|
||||
# If one wishes to use a different src or name for a very custom build
|
||||
, overrideSrc ? {}
|
||||
, pname ? "gnuradio"
|
||||
, version ? "3.8.5.0"
|
||||
}:
|
||||
|
||||
let
|
||||
sourceSha256 = "sha256-p4VFjTE0GXmdA7QGhWSUzO/WxJ+8Dq3JEnOABtQtJUU=";
|
||||
featuresInfo = {
|
||||
# Needed always
|
||||
basic = {
|
||||
native = [
|
||||
cmake
|
||||
pkg-config
|
||||
orc
|
||||
];
|
||||
runtime = [
|
||||
boost
|
||||
log4cpp
|
||||
mpir
|
||||
]
|
||||
# when gr-qtgui is disabled, icu needs to be included, otherwise
|
||||
# building with boost 1.7x fails
|
||||
++ lib.optionals (!(hasFeature "gr-qtgui")) [ icu ];
|
||||
pythonNative = with python.pkgs; [
|
||||
mako
|
||||
six
|
||||
];
|
||||
};
|
||||
volk = {
|
||||
cmakeEnableFlag = "VOLK";
|
||||
runtime = [
|
||||
volk
|
||||
];
|
||||
};
|
||||
doxygen = {
|
||||
native = [ doxygen ];
|
||||
cmakeEnableFlag = "DOXYGEN";
|
||||
};
|
||||
sphinx = {
|
||||
pythonNative = with python.pkgs; [ sphinx ];
|
||||
cmakeEnableFlag = "SPHINX";
|
||||
};
|
||||
python-support = {
|
||||
pythonRuntime = [ python.pkgs.six ];
|
||||
native = [
|
||||
swig3
|
||||
python
|
||||
];
|
||||
cmakeEnableFlag = "PYTHON";
|
||||
};
|
||||
testing-support = {
|
||||
native = [ cppunit ];
|
||||
cmakeEnableFlag = "TESTING";
|
||||
};
|
||||
gnuradio-runtime = {
|
||||
cmakeEnableFlag = "GNURADIO_RUNTIME";
|
||||
};
|
||||
gr-ctrlport = {
|
||||
cmakeEnableFlag = "GR_CTRLPORT";
|
||||
native = [
|
||||
swig3
|
||||
];
|
||||
runtime = [
|
||||
thrift
|
||||
];
|
||||
pythonRuntime = [
|
||||
python.pkgs.thrift
|
||||
# For gr-perf-monitorx
|
||||
python.pkgs.matplotlib
|
||||
python.pkgs.networkx
|
||||
];
|
||||
};
|
||||
gnuradio-companion = {
|
||||
pythonRuntime = with python.pkgs; [
|
||||
pyyaml
|
||||
mako
|
||||
numpy
|
||||
pygobject3
|
||||
];
|
||||
runtime = [
|
||||
gtk3
|
||||
pango
|
||||
gobject-introspection
|
||||
cairo
|
||||
];
|
||||
cmakeEnableFlag = "GRC";
|
||||
};
|
||||
gr-blocks = {
|
||||
cmakeEnableFlag = "GR_BLOCKS";
|
||||
};
|
||||
gr-fec = {
|
||||
cmakeEnableFlag = "GR_FEC";
|
||||
};
|
||||
gr-fft = {
|
||||
runtime = [ fftwFloat ];
|
||||
cmakeEnableFlag = "GR_FFT";
|
||||
};
|
||||
gr-filter = {
|
||||
runtime = [ fftwFloat ];
|
||||
cmakeEnableFlag = "GR_FILTER";
|
||||
};
|
||||
gr-analog = {
|
||||
cmakeEnableFlag = "GR_ANALOG";
|
||||
};
|
||||
gr-digital = {
|
||||
cmakeEnableFlag = "GR_DIGITAL";
|
||||
};
|
||||
gr-dtv = {
|
||||
cmakeEnableFlag = "GR_DTV";
|
||||
};
|
||||
gr-audio = {
|
||||
runtime = []
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libjack2 ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreAudio ]
|
||||
;
|
||||
cmakeEnableFlag = "GR_AUDIO";
|
||||
};
|
||||
gr-channels = {
|
||||
cmakeEnableFlag = "GR_CHANNELS";
|
||||
};
|
||||
gr-qtgui = {
|
||||
runtime = [ qt5.qtbase libsForQt5.qwt6_1 ];
|
||||
pythonRuntime = [ python.pkgs.pyqt5 ];
|
||||
cmakeEnableFlag = "GR_QTGUI";
|
||||
};
|
||||
gr-trellis = {
|
||||
cmakeEnableFlag = "GR_TRELLIS";
|
||||
};
|
||||
gr-uhd = {
|
||||
runtime = [ uhd ];
|
||||
cmakeEnableFlag = "GR_UHD";
|
||||
};
|
||||
gr-utils = {
|
||||
cmakeEnableFlag = "GR_UTILS";
|
||||
pythonRuntime = with python.pkgs; [
|
||||
# For gr_plot
|
||||
matplotlib
|
||||
];
|
||||
};
|
||||
gr-modtool = {
|
||||
pythonRuntime = with python.pkgs; [
|
||||
setuptools
|
||||
click
|
||||
click-plugins
|
||||
];
|
||||
cmakeEnableFlag = "GR_MODTOOL";
|
||||
};
|
||||
gr-video-sdl = {
|
||||
runtime = [ SDL ];
|
||||
cmakeEnableFlag = "GR_VIDEO_SDL";
|
||||
};
|
||||
gr-vocoder = {
|
||||
runtime = [ codec2 gsm ];
|
||||
cmakeEnableFlag = "GR_VOCODER";
|
||||
};
|
||||
gr-wavelet = {
|
||||
cmakeEnableFlag = "GR_WAVELET";
|
||||
runtime = [ gsl ];
|
||||
};
|
||||
gr-zeromq = {
|
||||
runtime = [ cppzmq ];
|
||||
cmakeEnableFlag = "GR_ZEROMQ";
|
||||
pythonRuntime = [
|
||||
# Will compile without this, but it is required by tests, and by some
|
||||
# gr blocks.
|
||||
python.pkgs.pyzmq
|
||||
];
|
||||
};
|
||||
};
|
||||
shared = (import ./shared.nix {
|
||||
inherit
|
||||
stdenv
|
||||
lib
|
||||
python
|
||||
removeReferencesTo
|
||||
featuresInfo
|
||||
features
|
||||
version
|
||||
sourceSha256
|
||||
overrideSrc
|
||||
fetchFromGitHub
|
||||
;
|
||||
qt = qt5;
|
||||
gtk = gtk3;
|
||||
});
|
||||
inherit (shared.passthru) hasFeature; # function
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: (shared // {
|
||||
inherit pname version;
|
||||
# Will still evaluate correctly if not used here. It only helps nix-update
|
||||
# find the right file in which version is defined.
|
||||
inherit (shared) src;
|
||||
# Some of the tests we know why they fail, but others simply hang-out and
|
||||
# timeout...
|
||||
doCheck = false;
|
||||
patches = [
|
||||
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
|
||||
./modtool-newmod-permissions.3_8.patch
|
||||
# Fix compilation with boost 177
|
||||
(fetchpatch {
|
||||
url = "https://github.com/gnuradio/gnuradio/commit/2c767bb260a25b415e8c9c4b3ea37280b2127cec.patch";
|
||||
sha256 = "sha256-l4dSzkXb5s3vcCeuKMMwiKfv83hFI9Yg+EMEX+sl+Uo=";
|
||||
})
|
||||
];
|
||||
passthru = shared.passthru // {
|
||||
# Deps that are potentially overridden and are used inside GR plugins - the same version must
|
||||
inherit
|
||||
boost
|
||||
volk
|
||||
;
|
||||
# Used by many gnuradio modules, the same attribute is present in
|
||||
# gnuradio3.10 where there it's spdlog.
|
||||
logLib = log4cpp;
|
||||
} // lib.optionalAttrs (hasFeature "gr-uhd") {
|
||||
inherit uhd;
|
||||
} // lib.optionalAttrs (hasFeature "gr-qtgui") {
|
||||
qwt = libsForQt5.qwt6_1;
|
||||
};
|
||||
cmakeFlags = shared.cmakeFlags
|
||||
# From some reason, if these are not set, libcodec2 and gsm are not
|
||||
# detected properly. The issue is reported upstream:
|
||||
# https://github.com/gnuradio/gnuradio/issues/4278
|
||||
# The above issue was fixed for GR3.9 without a backporting patch.
|
||||
#
|
||||
# NOTE: qradiolink needs libcodec2 to be detected in
|
||||
# order to build, see https://github.com/qradiolink/qradiolink/issues/67
|
||||
++ lib.optionals (hasFeature "gr-vocoder") [
|
||||
"-DLIBCODEC2_FOUND=TRUE"
|
||||
"-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||
"-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
|
||||
"-DLIBCODEC2_HAS_FREEDV_API=ON"
|
||||
"-DLIBGSM_FOUND=TRUE"
|
||||
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||
"-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
|
||||
]
|
||||
++ lib.optionals (hasFeature "volk" && volk != null) [
|
||||
"-DENABLE_INTERNAL_VOLK=OFF"
|
||||
]
|
||||
;
|
||||
|
||||
postInstall = shared.postInstall
|
||||
# This is the only python reference worth removing, if needed (3.7 doesn't
|
||||
# set that reference).
|
||||
+ lib.optionalString (!hasFeature "python-support") ''
|
||||
remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
|
||||
''
|
||||
;
|
||||
}))
|
||||
@@ -10,7 +10,6 @@
|
||||
, orc
|
||||
, boost
|
||||
, spdlog
|
||||
, swig
|
||||
, mpir
|
||||
, doxygen
|
||||
, python
|
||||
@@ -21,7 +20,6 @@
|
||||
, libjack2
|
||||
, libiio
|
||||
, libad9361
|
||||
, CoreAudio
|
||||
, uhd
|
||||
, SDL
|
||||
, gsl
|
||||
@@ -173,7 +171,6 @@ let
|
||||
gr-audio = {
|
||||
runtime = []
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib libjack2 ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreAudio ]
|
||||
;
|
||||
cmakeEnableFlag = "GR_AUDIO";
|
||||
};
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
, libpulseaudio
|
||||
, libconfig
|
||||
# Needs a gnuradio built with qt gui support
|
||||
, gnuradio3_8
|
||||
, gnuradio
|
||||
, log4cpp
|
||||
, thrift
|
||||
# Not gnuradioPackages'
|
||||
, codec2
|
||||
@@ -22,15 +23,16 @@
|
||||
, uhd
|
||||
}:
|
||||
|
||||
gnuradio3_8.pkgs.mkDerivation rec {
|
||||
gnuradio.pkgs.mkDerivation rec {
|
||||
pname = "qradiolink";
|
||||
version = "0.9.0-1";
|
||||
# https://github.com/qradiolink/qradiolink/tree/gr_3.10
|
||||
version = "0.9.0-1-unstable-2024-08-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qradiolink";
|
||||
repo = "qradiolink";
|
||||
rev = version;
|
||||
sha256 = "sha256-Js6DzmUG8O9c9VvjE6hc7JGuFmgc1Wq41zVJb8Us/yI=";
|
||||
rev = "f1006a20e0a642d0ac20aab18b19fa97567f2621";
|
||||
sha256 = "sha256-9AYFO+mmwLAH8gEpZn6qcENabc/KBMcg/0wCTKsInNY=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
@@ -48,35 +50,40 @@ gnuradio3_8.pkgs.mkDerivation rec {
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
gnuradio3_8.unwrapped.boost
|
||||
gnuradio.unwrapped.boost
|
||||
codec2
|
||||
gnuradio3_8.unwrapped.logLib
|
||||
gnuradio.unwrapped.logLib
|
||||
# gnuradio uses it's own log library (spdlog), and qradiolink is still
|
||||
# using the old gnuradio log library log4cpp. Perhaps this won't be needed
|
||||
# once the gr_3.10 branch will mature enough to be merged into qradiolink's
|
||||
# master branch.
|
||||
log4cpp
|
||||
gmp
|
||||
libpulseaudio
|
||||
libconfig
|
||||
gsm
|
||||
gnuradio3_8.pkgs.osmosdr
|
||||
gnuradio.pkgs.osmosdr
|
||||
libopus
|
||||
libjpeg
|
||||
limesuite
|
||||
soapysdr-with-plugins
|
||||
speex
|
||||
speexdsp
|
||||
gnuradio3_8.qt.qtbase
|
||||
gnuradio3_8.qt.qtmultimedia
|
||||
gnuradio.qt.qtbase
|
||||
gnuradio.qt.qtmultimedia
|
||||
libftdi
|
||||
libsndfile
|
||||
cppzmq
|
||||
gnuradio3_8.qwt
|
||||
gnuradio.qwt
|
||||
uhd
|
||||
] ++ lib.optionals (gnuradio3_8.hasFeature "gr-ctrlport") [
|
||||
] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [
|
||||
thrift
|
||||
gnuradio3_8.unwrapped.python.pkgs.thrift
|
||||
gnuradio.unwrapped.python.pkgs.thrift
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
gnuradio3_8.qt.qmake
|
||||
gnuradio3_8.qt.wrapQtAppsHook
|
||||
gnuradio.qt.qmake
|
||||
gnuradio.qt.wrapQtAppsHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchzip
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchzip
|
||||
, autoconf, automake, libtool, makeWrapper
|
||||
, pkg-config, cmake, yasm, python3Packages
|
||||
, libxcrypt, libgcrypt, libgpg-error, libunistring
|
||||
@@ -99,6 +99,10 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
patches = [
|
||||
./no-python-lib.patch
|
||||
(fetchpatch {
|
||||
url = "https://github.com/xbmc/xbmc/commit/32b04718c65a90f87e409674c4ef984b087b8657.patch";
|
||||
hash = "sha256-I79thepzDOfw55r9gfaOp/Ri2FA0gouc+RgTc2Zh1Sw=";
|
||||
})
|
||||
];
|
||||
|
||||
# make derivations declared in the let binding available here, so
|
||||
@@ -190,7 +194,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
"-DENABLE_OPTICAL=${if opticalSupport then "ON" else "OFF"}"
|
||||
"-DENABLE_VDPAU=${if vdpauSupport then "ON" else "OFF"}"
|
||||
"-DLIRC_DEVICE=/run/lirc/lircd"
|
||||
"-DSWIG_EXECUTABLE=${buildPackages.swig3}/bin/swig"
|
||||
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
||||
"-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
|
||||
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
|
||||
"-DPYTHON_LIB_PATH=${python3Packages.python.sitePackages}"
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
gnuradio,
|
||||
volk,
|
||||
uhdMinimal,
|
||||
}:
|
||||
# A build without gui components and other utilites not needed for end user
|
||||
# libraries
|
||||
gnuradio.override {
|
||||
doWrap = false;
|
||||
unwrapped = gnuradio.unwrapped.override {
|
||||
volk = volk.override {
|
||||
# So it will not reference python
|
||||
enableModTool = false;
|
||||
};
|
||||
uhd = uhdMinimal;
|
||||
features = {
|
||||
gnuradio-companion = false;
|
||||
python-support = false;
|
||||
examples = false;
|
||||
gr-qtgui = false;
|
||||
gr-utils = false;
|
||||
gr-modtool = false;
|
||||
gr-blocktool = false;
|
||||
sphinx = false;
|
||||
doxygen = false;
|
||||
# Doesn't make it reference python eventually, but makes reverse
|
||||
# depdendencies require python to use cmake files of GR.
|
||||
gr-ctrlport = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{ lib
|
||||
, gnuradio3_8Minimal
|
||||
, gnuradioMinimal
|
||||
, thrift
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
@@ -9,7 +9,7 @@
|
||||
, liquid-dsp
|
||||
}:
|
||||
|
||||
gnuradio3_8Minimal.pkgs.mkDerivation rec {
|
||||
gnuradioMinimal.pkgs.mkDerivation rec {
|
||||
pname = "inspectrum";
|
||||
version = "0.3.1";
|
||||
|
||||
@@ -29,9 +29,9 @@ gnuradio3_8Minimal.pkgs.mkDerivation rec {
|
||||
fftwFloat
|
||||
liquid-dsp
|
||||
qt5.qtbase
|
||||
] ++ lib.optionals (gnuradio3_8Minimal.hasFeature "gr-ctrlport") [
|
||||
] ++ lib.optionals (gnuradioMinimal.hasFeature "gr-ctrlport") [
|
||||
thrift
|
||||
gnuradio3_8Minimal.unwrapped.python.pkgs.thrift
|
||||
gnuradioMinimal.unwrapped.python.pkgs.thrift
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
autoconf,
|
||||
automake,
|
||||
libtool,
|
||||
bison,
|
||||
pcre,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "swig";
|
||||
version = "3.0.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swig";
|
||||
repo = "swig";
|
||||
rev = "rel-${finalAttrs.version}";
|
||||
sha256 = "1wyffskbkzj5zyhjnnpip80xzsjcr3p0q5486z3wdwabnysnhn8n";
|
||||
};
|
||||
|
||||
# Not using autoreconfHook because it fails due to missing macros, contrary
|
||||
# to this script
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
libtool
|
||||
bison
|
||||
];
|
||||
buildInputs = [
|
||||
pcre
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--without-tcl"
|
||||
];
|
||||
|
||||
# Disable ccache documentation as it needs yodl
|
||||
postPatch = ''
|
||||
sed -i '/man1/d' CCache/Makefile.in
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Interface compiler that connects C/C++ code to higher-level languages";
|
||||
homepage = "https://swig.org/";
|
||||
# Different types of licenses available: http://www.swig.org/Release/LICENSE .
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
};
|
||||
})
|
||||
@@ -1,66 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, python
|
||||
, boost
|
||||
, cppunit
|
||||
, logLib
|
||||
, osmosdr
|
||||
, gmp
|
||||
, mpir
|
||||
, fftwFloat
|
||||
, icu
|
||||
, gnuradio
|
||||
, thrift
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "gr-ais";
|
||||
version = "2020-08-13";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bistromath";
|
||||
repo = "gr-ais";
|
||||
rev = "2162103226f3dae43c8c2ab23b79483b84346665";
|
||||
sha256 = "1vackka34722d8pcspfwj0j6gc9ic7dqq64sgkrpjm94sh3bmb0b";
|
||||
};
|
||||
disabled = gnuradioAtLeast "3.9";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
python
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_EXE_LINKER_FLAGS=-pthread"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cppunit
|
||||
osmosdr
|
||||
boost
|
||||
logLib
|
||||
gmp
|
||||
mpir
|
||||
fftwFloat
|
||||
icu
|
||||
thrift
|
||||
gnuradio.python.pkgs.thrift
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnuradio block for ais";
|
||||
mainProgram = "ais_rx";
|
||||
homepage = "https://github.com/bistromath/gr-ais";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
# rpcserver_aggregator.h:111:54: error: no template named 'unary_function'
|
||||
# in namespace 'std'; did you mean '__unary_function'?
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
};
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, gnuradio
|
||||
, cmake
|
||||
, pkg-config
|
||||
, boost
|
||||
, logLib
|
||||
, python
|
||||
, swig3
|
||||
, mpir
|
||||
, gmp
|
||||
, doxygen
|
||||
, libpcap
|
||||
, icu
|
||||
, thrift
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
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;
|
||||
disabled = gnuradioAtLeast "3.10";
|
||||
|
||||
patches = [
|
||||
# Use cross platform struct ip instead of iphdr
|
||||
# https://github.com/ghostop14/gr-grnet/pull/19
|
||||
(fetchpatch {
|
||||
name = "fix-compilation-on-darwin.patch";
|
||||
url = "https://github.com/ghostop14/gr-grnet/commit/52c07daa9ba595b76ffa5dd90c0c96694d95d140.patch";
|
||||
sha256 = "sha256-1gJaYLIn09blOhALMfBPROt5YBXaosG41Vsd3+5h518=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
logLib
|
||||
doxygen
|
||||
mpir
|
||||
gmp
|
||||
libpcap
|
||||
icu
|
||||
] ++ (if gnuradioAtLeast "3.9" then with python.pkgs; [
|
||||
pybind11
|
||||
numpy
|
||||
] else [
|
||||
swig3
|
||||
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;
|
||||
};
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, cppunit
|
||||
, swig3
|
||||
, boost
|
||||
, logLib
|
||||
, python
|
||||
, libosmocore
|
||||
, osmosdr
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
pname = "gr-gsm";
|
||||
version = "2016-08-25";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ptrkrysik";
|
||||
repo = "gr-gsm";
|
||||
rev = "3ca05e6914ef29eb536da5dbec323701fbc2050d";
|
||||
sha256 = "13nnq927kpf91iqccr8db9ripy5czjl5jiyivizn6bia0bam2pvx";
|
||||
};
|
||||
disabled = gnuradioAtLeast "3.8";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
swig3
|
||||
python
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cppunit
|
||||
logLib
|
||||
boost
|
||||
libosmocore
|
||||
osmosdr
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnuradio block for gsm";
|
||||
homepage = "https://github.com/ptrkrysik/gr-gsm";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
};
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, gnuradio
|
||||
, thrift
|
||||
, cmake
|
||||
, pkg-config
|
||||
, swig3
|
||||
, python
|
||||
, logLib
|
||||
, mpir
|
||||
, boost
|
||||
, gmp
|
||||
, icu
|
||||
, limesuite
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
let
|
||||
version = {
|
||||
"3.7" = "2.0.0";
|
||||
"3.8" = "3.0.1";
|
||||
}.${gnuradio.versionAttr.major};
|
||||
src = fetchFromGitHub {
|
||||
owner = "myriadrf";
|
||||
repo = "gr-limesdr";
|
||||
rev = "v${version}";
|
||||
sha256 = {
|
||||
"3.7" = "0ldqvfwl0gil89l9s31fjf9d7ki0dk572i8vna336igfaz348ypq";
|
||||
"3.8" = "ffs+8TU0yr6IW1xZJ/abQ1CQWGZM+zYqPRJxy3ZvM9U=";
|
||||
}.${gnuradio.versionAttr.major};
|
||||
};
|
||||
in mkDerivation {
|
||||
pname = "gr-limesdr";
|
||||
inherit version src;
|
||||
disabled = gnuradioAtLeast "3.9";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
swig3
|
||||
python
|
||||
];
|
||||
buildInputs = [
|
||||
logLib
|
||||
mpir
|
||||
boost
|
||||
gmp
|
||||
icu
|
||||
limesuite
|
||||
] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [
|
||||
thrift
|
||||
python.pkgs.thrift
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnuradio source and sink blocks for LimeSDR";
|
||||
homepage = "https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.markuskowa ];
|
||||
};
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, cppunit
|
||||
, swig3
|
||||
, boost
|
||||
, logLib
|
||||
, python
|
||||
, libsodium
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
pname = "gr-nacl";
|
||||
version = "2017-04-10";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stwunsch";
|
||||
repo = "gr-nacl";
|
||||
rev = "15276bb0fcabf5fe4de4e58df3d579b5be0e9765";
|
||||
sha256 = "018np0qlk61l7mlv3xxx5cj1rax8f1vqrsrch3higsl25yydbv7v";
|
||||
};
|
||||
disabled = gnuradioAtLeast "3.8";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
swig3
|
||||
python
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cppunit
|
||||
logLib
|
||||
boost
|
||||
libsodium
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnuradio block for encryption";
|
||||
homepage = "https://github.com/stwunsch/gr-nacl";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, darwin
|
||||
, mkDerivation
|
||||
, fetchgit
|
||||
, gnuradio
|
||||
@@ -14,7 +13,6 @@
|
||||
, thrift
|
||||
, fftwFloat
|
||||
, python
|
||||
, swig3
|
||||
, uhd
|
||||
, icu
|
||||
, airspy
|
||||
@@ -25,26 +23,16 @@
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
let
|
||||
version = {
|
||||
"3.7" = "0.1.5";
|
||||
"3.8" = "0.2.3";
|
||||
"3.9" = "0.2.6";
|
||||
"3.10" = "0.2.6";
|
||||
}.${gnuradio.versionAttr.major};
|
||||
mkDerivation rec {
|
||||
pname = "gr-osmosdr";
|
||||
version = "0.2.6";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://gitea.osmocom.org/sdr/gr-osmosdr";
|
||||
rev = "v${version}";
|
||||
sha256 = {
|
||||
"3.7" = "0bf9bnc1c3c4yqqqgmg3nhygj6rcfmyk6pybi27f7461d2cw1drv";
|
||||
"3.8" = "sha256-ZfI8MshhZOdJ1U5FlnZKXsg2Rsvb6oKg943ZVYd/IWo=";
|
||||
"3.9" = "sha256-jCUzBY1pYiEtcRQ97t9F6uEMVYw2NU0eoB5Xc2H6pGQ=";
|
||||
"3.10" = "sha256-jCUzBY1pYiEtcRQ97t9F6uEMVYw2NU0eoB5Xc2H6pGQ=";
|
||||
}.${gnuradio.versionAttr.major};
|
||||
hash = "sha256-jCUzBY1pYiEtcRQ97t9F6uEMVYw2NU0eoB5Xc2H6pGQ=";
|
||||
};
|
||||
in mkDerivation {
|
||||
pname = "gr-osmosdr";
|
||||
inherit version src;
|
||||
|
||||
disabled = gnuradioAtLeast "3.11";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@@ -71,9 +59,6 @@ in mkDerivation {
|
||||
] ++ lib.optionals (gnuradio.hasFeature "python-support") [
|
||||
python.pkgs.numpy
|
||||
python.pkgs.pybind11
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk.frameworks.IOKit
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
cmakeFlags = [
|
||||
(if (gnuradio.hasFeature "python-support") then
|
||||
@@ -85,22 +70,17 @@ in mkDerivation {
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
swig3
|
||||
] ++ lib.optionals (gnuradio.hasFeature "python-support") [
|
||||
(if (gnuradio.versionAttr.major == "3.7") then
|
||||
python.pkgs.cheetah
|
||||
else
|
||||
python.pkgs.mako
|
||||
)
|
||||
python.pkgs.mako
|
||||
python
|
||||
]
|
||||
;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Gnuradio block for OsmoSDR and rtl-sdr";
|
||||
homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ bjornfor ];
|
||||
platforms = platforms.unix;
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ bjornfor ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, gnuradio
|
||||
, cmake
|
||||
, pkg-config
|
||||
, swig3
|
||||
, python
|
||||
, logLib
|
||||
, mpir
|
||||
, thrift
|
||||
, boost
|
||||
, gmp
|
||||
, icu
|
||||
, gnuradioAtLeast
|
||||
}:
|
||||
|
||||
let
|
||||
version = {
|
||||
"3.7" = "1.1.0";
|
||||
"3.8" = "3.8.0";
|
||||
"3.9" = null;
|
||||
}.${gnuradio.versionAttr.major};
|
||||
src = fetchFromGitHub {
|
||||
owner = "bastibl";
|
||||
repo = "gr-rds";
|
||||
rev = "v${version}";
|
||||
sha256 = {
|
||||
"3.7" = "0jkzchvw0ivcxsjhi1h0mf7k13araxf5m4wi5v9xdgqxvipjzqfy";
|
||||
"3.8" = "+yKLJu2bo7I2jkAiOdjvdhZwxFz9NFgTmzcLthH9Y5o=";
|
||||
"3.9" = null;
|
||||
}.${gnuradio.versionAttr.major};
|
||||
};
|
||||
in mkDerivation {
|
||||
pname = "gr-rds";
|
||||
inherit version src;
|
||||
disabled = gnuradioAtLeast "3.9";
|
||||
|
||||
buildInputs = [
|
||||
logLib
|
||||
mpir
|
||||
boost
|
||||
gmp
|
||||
icu
|
||||
] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [
|
||||
thrift
|
||||
python.pkgs.thrift
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
swig3
|
||||
python
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnuradio block for radio data system";
|
||||
homepage = "https://github.com/bastibl/gr-rds";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ mog ];
|
||||
};
|
||||
}
|
||||
@@ -503,6 +503,9 @@ mapAliases {
|
||||
gnuradio3_9 = throw "gnuradio3_9 has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28
|
||||
gnuradio3_9Minimal = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28
|
||||
gnuradio3_9Packages = throw "gnuradio3_9Minimal has been removed because it is not compatible with the latest volk and it had no dependent packages which justified it's distribution"; # Added 2024-07-28
|
||||
gnuradio3_8 = throw "gnuradio3_8 has been removed because it was too old and incompatible with a not EOL swig"; # Added 2024-11-18
|
||||
gnuradio3_8Minimal = throw "gnuradio3_8Minimal has been removed because it was too old and incompatible with a not EOL swig"; # Added 2024-11-18
|
||||
gnuradio3_8Packages = throw "gnuradio3_8Minimal has been removed because it was too old and incompatible with a not EOL swig"; # Added 2024-11-18
|
||||
gn1924 = throw "gn1924 has been removed because it was broken and no longer used by envoy."; # Added 2024-11-03
|
||||
gobby5 = throw "'gobby5' has been renamed to/replaced by 'gobby'"; # Converted to throw 2024-10-17
|
||||
gradle_6 = throw "Gradle 6 has been removed, as it is end-of-life (https://endoflife.date/gradle) and has many vulnerabilities that are not resolved until Gradle 7."; # Added 2024-10-30
|
||||
@@ -1255,6 +1258,7 @@ mapAliases {
|
||||
swiPrologWithGui = lib.warnOnInstantiate "swiPrologWithGui has been renamed to swi-prolog-gui" swi-prolog-gui; # Added 2024-09-07
|
||||
swig1 = throw "swig1 has been removed as it is obsolete"; # Added 2024-08-23
|
||||
swig2 = throw "swig2 has been removed as it is obsolete"; # Added 2024-08-23
|
||||
swig3 = throw "swig3 has been removed as it is obsolete"; # Added 2024-11-18
|
||||
swig4 = swig; # Added 2024-09-12
|
||||
swigWithJava = throw "swigWithJava has been removed as the main swig package has supported Java since 2009"; # Added 2024-09-12
|
||||
swtpm-tpm2 = throw "'swtpm-tpm2' has been renamed to/replaced by 'swtpm'"; # Converted to throw 2024-10-17
|
||||
|
||||
@@ -13635,71 +13635,10 @@ with pkgs;
|
||||
|
||||
gnuradio = callPackage ../applications/radio/gnuradio/wrapper.nix {
|
||||
unwrapped = callPackage ../applications/radio/gnuradio {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreAudio;
|
||||
python = python311;
|
||||
};
|
||||
};
|
||||
gnuradioPackages = lib.recurseIntoAttrs gnuradio.pkgs;
|
||||
# A build without gui components and other utilites not needed for end user
|
||||
# libraries
|
||||
gnuradioMinimal = gnuradio.override {
|
||||
doWrap = false;
|
||||
unwrapped = gnuradio.unwrapped.override {
|
||||
volk = volk.override {
|
||||
# So it will not reference python
|
||||
enableModTool = false;
|
||||
};
|
||||
uhd = uhdMinimal;
|
||||
features = {
|
||||
gnuradio-companion = false;
|
||||
python-support = false;
|
||||
examples = false;
|
||||
gr-qtgui = false;
|
||||
gr-utils = false;
|
||||
gr-modtool = false;
|
||||
gr-blocktool = false;
|
||||
sphinx = false;
|
||||
doxygen = false;
|
||||
# Doesn't make it reference python eventually, but makes reverse
|
||||
# depdendencies require python to use cmake files of GR.
|
||||
gr-ctrlport = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
gnuradio3_8 = callPackage ../applications/radio/gnuradio/wrapper.nix {
|
||||
unwrapped = callPackage ../applications/radio/gnuradio/3.8.nix ({
|
||||
inherit (darwin.apple_sdk.frameworks) CoreAudio;
|
||||
python = python311;
|
||||
volk = volk_2;
|
||||
} // lib.optionalAttrs stdenv.hostPlatform.isLinux {
|
||||
stdenv = pkgs.stdenvAdapters.useLibsFrom stdenv pkgs.gcc12Stdenv;
|
||||
});
|
||||
};
|
||||
gnuradio3_8Packages = lib.recurseIntoAttrs gnuradio3_8.pkgs;
|
||||
# A build without gui components and other utilites not needed if gnuradio is
|
||||
# used as a c++ library.
|
||||
gnuradio3_8Minimal = gnuradio3_8.override {
|
||||
doWrap = false;
|
||||
unwrapped = gnuradio3_8.unwrapped.override {
|
||||
volk = volk_2.override {
|
||||
enableModTool = false;
|
||||
};
|
||||
uhd = uhdMinimal;
|
||||
features = {
|
||||
gnuradio-companion = false;
|
||||
python-support = false;
|
||||
examples = false;
|
||||
gr-qtgui = false;
|
||||
gr-utils = false;
|
||||
gr-modtool = false;
|
||||
sphinx = false;
|
||||
doxygen = false;
|
||||
# Doesn't make it reference python eventually, but makes reverse
|
||||
# depdendencies require python to use cmake files of GR.
|
||||
gr-ctrlport = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
grandorgue = callPackage ../applications/audio/grandorgue {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa;
|
||||
|
||||
@@ -37,18 +37,6 @@ in {
|
||||
|
||||
osmosdr = callPackage ../development/gnuradio-modules/osmosdr/default.nix { };
|
||||
|
||||
ais = callPackage ../development/gnuradio-modules/ais/default.nix { };
|
||||
|
||||
fosphor = callPackage ../development/gnuradio-modules/fosphor/default.nix { };
|
||||
|
||||
grnet = callPackage ../development/gnuradio-modules/grnet/default.nix { };
|
||||
|
||||
gsm = callPackage ../development/gnuradio-modules/gsm/default.nix { };
|
||||
|
||||
nacl = callPackage ../development/gnuradio-modules/nacl/default.nix { };
|
||||
|
||||
rds = callPackage ../development/gnuradio-modules/rds/default.nix { };
|
||||
|
||||
limesdr = callPackage ../development/gnuradio-modules/limesdr/default.nix { };
|
||||
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user