diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2020-12-05 18:14:21 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-05 18:14:21 +0000 |
commit | 72b795557e2040a58c936185cb87ecb136e66df3 (patch) | |
tree | f46d40b536d50ee52b1e34e94da68a1a914fd8c2 /pkgs | |
parent | 0947539ec1038d3ba1ca93e5a2ed972c2af7c12a (diff) | |
parent | 0c75bbd1096788899c251d2584387e84084fcb0c (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs')
35 files changed, 994 insertions, 242 deletions
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix index 2e6419fd13d8..3992c7824851 100644 --- a/pkgs/applications/blockchains/exodus/default.nix +++ b/pkgs/applications/blockchains/exodus/default.nix @@ -4,11 +4,11 @@ cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core }: stdenv.mkDerivation rec { pname = "exodus"; - version = "20.11.23"; + version = "20.12.4"; src = fetchurl { url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip"; - sha256 = "0hcvgph2m4nbrarhw2cggc8q5jxwnibiz2mbkypgizphk5svdj9l"; + sha256 = "1j1iqmcbwfj72l7g83ah701bipas9cqwazyhh0af5hp2ckj9nmmf"; }; sourceRoot = "."; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 51c7ebcc907f..d94ad070536a 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -14,14 +14,14 @@ let sha256Hash = "sha256-aAMhhJWcVFdvEZt8fI3tF12Eg3TzlU+kUFMNeCYN1os="; }; betaVersion = { - version = "4.1.0.18"; # "Android Studio 4.1 RC 3" - build = "201.6823847"; - sha256Hash = "sha256-qbxmR9g8DSKzcP09bJuc+am79BSXWG39UQxFEb1bZ88="; + version = "4.2.0.17"; # "Android Studio 4.2 Beta 1" + build = "202.6987402"; + sha256Hash = "07qr0b1zdzpc1nsi6593518dxp89dcjfp4lznb1d3id8vbqla4i7"; }; latestVersion = { # canary & dev - version = "4.2.0.16"; # "Android Studio 4.2 Canary 16" - build = "202.6939830"; - sha256Hash = "sha256-2Xh0GR4BHZI6ofdyMI2icrztI2BmiHWT+1bEZIZ58IE="; + version = "2020.3.1.2"; # "Android Studio Arctic Fox Canary 2" + build = "202.7006259"; + sha256Hash = "1d4brfx1fh1vlcjkb0x8hjj2qgz2dl5wbaiy8dj8w03vcf493nc5"; }; in { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 40ecd61304f1..df6c99768e84 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -19,7 +19,7 @@ }: let - version = "4.0.5"; + version = "4.0.6"; # electrum is not compatible with dnspython 2.0.0 yet # use the latest 1.x release instead @@ -43,7 +43,7 @@ let owner = "spesmilo"; repo = "electrum"; rev = version; - sha256 = "0fdsgxzgsxvx6hhjag894nzzdfq989bx1d4anljzcz2ppy4ivpxg"; + sha256 = "0mdbg2sq56nv0hx0rrcbgrv1lv89nqc6cqigivgk665hhjm4v5kq"; extraPostFetch = '' mv $out ./all @@ -58,7 +58,7 @@ py.pkgs.buildPythonApplication { src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - sha256 = "06ml9lwa5k2dp56sm5s7dsl6qirqmgim7rn853cqcq9n45z41437"; + sha256 = "0sp8p720g3rqnh52ddhaw2v4hjgpxcwbackw9qc1g9xac1q0942d"; }; postUnpack = '' diff --git a/pkgs/applications/radio/gnss-sdr/default.nix b/pkgs/applications/radio/gnss-sdr/default.nix index cc89ffb4f870..d7e2d44c75ce 100644 --- a/pkgs/applications/radio/gnss-sdr/default.nix +++ b/pkgs/applications/radio/gnss-sdr/default.nix @@ -41,6 +41,7 @@ stdenv.mkDerivation rec { 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. diff --git a/pkgs/applications/radio/gnuradio/3.7.nix b/pkgs/applications/radio/gnuradio/3.7.nix new file mode 100644 index 000000000000..54fb0d7d66cd --- /dev/null +++ b/pkgs/applications/radio/gnuradio/3.7.nix @@ -0,0 +1,295 @@ +{ stdenv +, fetchFromGitHub +, fetchpatch +, cmake +# Remove gcc and python references +, removeReferencesTo +, pkgconfig +, cppunit +, swig +, orc +, boost +, log4cpp +, mpir +, doxygen +, python +, codec2 +, gsm +, fftwFloat +, alsaLib +, libjack2 +, CoreAudio +, uhd +, comedilib +, libusb1 +, SDL +, gsl +, cppzmq +, zeromq +# GUI related +, gtk2 +, pango +, cairo +, qt4 +, qwt6_qt4 +# 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" +, versionAttr ? { + major = "3.7"; + minor = "14"; + patch = "0"; +} +, fetchSubmodules ? true +}: + +let + sourceSha256 = "1nh4f9dmygprlbqybd3j1byg9fsr6065n140mvc4b0v8qqygmhrc"; + featuresInfo = { + # Needed always + basic = { + native = [ + cmake + pkgconfig + orc + ]; + runtime = [ boost log4cpp mpir ]; + pythonNative = with python.pkgs; [ Mako six ]; + }; + volk = { + cmakeEnableFlag = "VOLK"; + }; + doxygen = { + native = [ doxygen ]; + cmakeEnableFlag = "DOXYGEN"; + }; + sphinx = { + pythonNative = with python.pkgs; [ sphinx ]; + cmakeEnableFlag = "SPHINX"; + }; + python-support = { + pythonRuntime = [ python.pkgs.six ]; + native = [ + swig + python + ]; + cmakeEnableFlag = "PYTHON"; + }; + testing-support = { + native = [ cppunit ]; + cmakeEnableFlag = "TESTING"; + }; + gnuradio-runtime = { + cmakeEnableFlag = "GNURADIO_RUNTIME"; + }; + gr-ctrlport = { + cmakeEnableFlag = "GR_CTRLPORT"; + native = [ + swig + ]; + }; + gnuradio-companion = { + pythonRuntime = with python.pkgs; [ + pyyaml + cheetah + lxml + pygtk + numpy + # propagated by pygtk, but since wrapping is done externally, it help + # the wrapper if it's here + pycairo + pygobject2 + ]; + runtime = [ + gtk2 + pango + 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-atsc = { + cmakeEnableFlag = "GR_ATSC"; + }; + gr-audio = { + runtime = [] + ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib libjack2 ] + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ] + ; + cmakeEnableFlag = "GR_AUDIO"; + }; + gr-comedi = { + runtime = [ comedilib ]; + cmakeEnableFlag = "GR_COMEDI"; + }; + gr-channels = { + cmakeEnableFlag = "GR_CHANNELS"; + }; + gr-noaa = { + cmakeEnableFlag = "GR_NOAA"; + }; + gr-pager = { + cmakeEnableFlag = "GR_PAGER"; + }; + gr-qtgui = { + runtime = [ qt4 qwt6_qt4 ]; + pythonRuntime = [ python.pkgs.pyqt4 ]; + cmakeEnableFlag = "GR_QTGUI"; + }; + gr-trellis = { + cmakeEnableFlag = "GR_TRELLIS"; + }; + gr-uhd = { + runtime = [ uhd ]; + cmakeEnableFlag = "GR_UHD"; + }; + gr-utils = { + cmakeEnableFlag = "GR_UTILS"; + }; + gr-video-sdl = { + runtime = [ SDL ]; + cmakeEnableFlag = "GR_VIDEO_SDL"; + }; + gr-vocoder = { + runtime = [ codec2 gsm ]; + cmakeEnableFlag = "GR_VOCODER"; + }; + gr-fcd = { + runtime = [ libusb1 ]; + cmakeEnableFlag = "GR_FCD"; + }; + gr-wavelet = { + cmakeEnableFlag = "GR_WAVELET"; + runtime = [ gsl ]; + }; + gr-zeromq = { + runtime = [ cppzmq zeromq ]; + cmakeEnableFlag = "GR_ZEROMQ"; + }; + gr-wxgui = { + pythonRuntime = with python.pkgs; [ numpy wxPython ]; + cmakeEnableFlag = "GR_WXGUI"; + }; + }; + shared = (import ./shared.nix { + inherit + stdenv + python + removeReferencesTo + featuresInfo + features + versionAttr + sourceSha256 + overrideSrc + fetchFromGitHub + fetchSubmodules + ; + qt = qt4; + gtk = gtk2; + }); + inherit (shared) + version + src + hasFeature # function + nativeBuildInputs + buildInputs + disallowedReferences + postInstall + passthru + doCheck + dontWrapPythonPrograms + meta + ; + cmakeFlags = shared.cmakeFlags + # From some reason, if these are not set, libcodec2 and gsm are + # not detected properly (slightly different then what's in + # ./default.nix). + ++ stdenv.lib.optionals (hasFeature "gr-vocoder" features) [ + "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so" + "-DLIBCODEC2_INCLUDE_DIR=${codec2}/include" + "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so" + "-DLIBGSM_INCLUDE_DIR=${gsm}/include/gsm" + ] + ; + stripDebugList = shared.stripDebugList + # gr-fcd feature was dropped in 3.8 + ++ stdenv.lib.optionals (hasFeature "gr-fcd" features) [ "share/gnuradio/examples/fcd" ] + ; + preConfigure = '' + '' + # wxgui and pygtk are not looked up properly, so we force them to be + # detected as found, if they are requested by the `features` attrset. + + stdenv.lib.optionalString (hasFeature "gr-wxgui" features) '' + sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt + '' + + stdenv.lib.optionalString (hasFeature "gnuradio-companion" features) '' + sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt + '' + # If python-support is disabled, don't install volk's (git submodule) + # volk_modtool - it references python. + # + # NOTE: The same is done for 3.8, but we don't put this string in + # ./shared.nix since on the next release of 3.8 it won't be needed there, + # but it will be needed for 3.7, probably for ever. + + stdenv.lib.optionalString (!hasFeature "python-support" features) '' + sed -i -e "/python\/volk_modtool/d" volk/CMakeLists.txt + '' + ; + patches = [ + # Don't install python referencing files if python support is disabled. + # See: https://github.com/gnuradio/gnuradio/pull/3856 + (fetchpatch { + url = "https://github.com/gnuradio/gnuradio/commit/acef55433d15c231661fa44751f9a2d90a4baa4b.diff"; + sha256 = "2CEX44Ll8frfLXTIWjdDhKl7aXcjiAWsezVdwrynelE="; + }) + (fetchpatch { + url = "https://github.com/gnuradio/gnuradio/commit/a2681edcfaabcb1ecf878ae861161b6a6bf8459d.diff"; + sha256 = "2Pitgu8accs16B5X5+/q51hr+IY9DMsA15f56gAtBs8="; + }) + ]; +in + +stdenv.mkDerivation rec { + inherit + pname + version + src + nativeBuildInputs + buildInputs + cmakeFlags + preConfigure + # disallowedReferences + stripDebugList + patches + postInstall + passthru + doCheck + dontWrapPythonPrograms + meta + ; +} diff --git a/pkgs/applications/radio/gnuradio/ais.nix b/pkgs/applications/radio/gnuradio/ais.nix index 30c2638a72f8..46d46d1c3255 100644 --- a/pkgs/applications/radio/gnuradio/ais.nix +++ b/pkgs/applications/radio/gnuradio/ais.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio -, makeWrapper, cppunit, gr-osmosdr +, makeWrapper, cppunit, gr-osmosdr, log4cpp , pythonSupport ? true, python, swig }: @@ -19,7 +19,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake boost gnuradio makeWrapper cppunit gr-osmosdr + cmake boost gnuradio makeWrapper cppunit gr-osmosdr log4cpp ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; postInstall = '' diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix index dec968cd32d7..811eb37f4f31 100644 --- a/pkgs/applications/radio/gnuradio/default.nix +++ b/pkgs/applications/radio/gnuradio/default.nix @@ -1,165 +1,288 @@ { stdenv , fetchFromGitHub -, makeWrapper -, writeText -# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html -# => core dependencies +, fetchpatch , cmake +# Remove gcc and python references +, removeReferencesTo , pkgconfig -, git -, boost , cppunit -, fftw -# => python wrappers -# May be able to upgrade to swig3 +, swig +, orc +, boost +, log4cpp +, mpir +, doxygen , python -, swig2 -, numpy -, scipy -, matplotlib -# => grc - the gnu radio companion -, Mako -, cheetah -, pygtk # Note: GR is migrating to Mako. Cheetah should be removed for GR3.8 -# => gr-wavelet: collection of wavelet blocks -, gsl -# => gr-qtgui: the Qt-based GUI -, qt4 -, qwt -, pyqt4 -# => gr-wxgui: the Wx-based GUI -, wxPython -, lxml -# => gr-audio: audio subsystems (system/OS dependent) -, alsaLib # linux 'audio-alsa' -, CoreAudio # darwin 'audio-osx' -# => uhd: the Ettus USRP Hardware Driver Interface +, codec2 +, gsm +, fftwFloat +, alsaLib +, libjack2 +, CoreAudio , uhd -# => gr-video-sdl: PAL and NTSC display , SDL -# Other -, libusb1 -, orc -, pyopengl +, gsl +, cppzmq +, zeromq +# 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" +, versionAttr ? { + major = "3.8"; + minor = "2"; + patch = "0"; +} +# Should be false on the release after 3.8.2.0 +, fetchSubmodules ? true }: -stdenv.mkDerivation rec { - pname = "gnuradio"; - version = "3.7.14.0"; - - src = fetchFromGitHub { - owner = "gnuradio"; - repo = "gnuradio"; - rev = "v${version}"; - sha256 = "1nh4f9dmygprlbqybd3j1byg9fsr6065n140mvc4b0v8qqygmhrc"; - fetchSubmodules = true; +let + sourceSha256 = "1mnfwdy7w3160vi6110x2qkyq8l78qi8771zwak9n72bl7lhhpnf"; + featuresInfo = { + # Needed always + basic = { + native = [ + cmake + pkgconfig + orc + ]; + runtime = [ + boost + log4cpp + mpir + ]; + pythonNative = with python.pkgs; [ + Mako + six + ]; + }; + # NOTE: Should be removed on the release after 3.8.2.0, see: + # https://github.com/gnuradio/gnuradio/commit/80c04479d + volk = { + cmakeEnableFlag = "VOLK"; + }; + doxygen = { + native = [ doxygen ]; + cmakeEnableFlag = "DOXYGEN"; + }; + sphinx = { + pythonNative = with python.pkgs; [ sphinx ]; + cmakeEnableFlag = "SPHINX"; + }; + python-support = { + pythonRuntime = [ python.pkgs.six ]; + native = [ + swig + python + ]; + cmakeEnableFlag = "PYTHON"; + }; + testing-support = { + native = [ cppunit ]; + cmakeEnableFlag = "TESTING"; + }; + gnuradio-runtime = { + cmakeEnableFlag = "GNURADIO_RUNTIME"; + }; + gr-ctrlport = { + # Thrift support is not really working well, and even the patch they + # recommend applying on 0.9.2 won't apply. See: + # https://github.com/gnuradio/gnuradio/blob/v3.8.2.0/gnuradio-runtime/lib/controlport/thrift/README + cmakeEnableFlag = "GR_CTRLPORT"; + native = [ + swig + ]; + }; + 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 = [] + ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib libjack2 ] + ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ] + ; + cmakeEnableFlag = "GR_AUDIO"; + }; + gr-channels = { + cmakeEnableFlag = "GR_CHANNELS"; + }; + gr-qtgui = { + runtime = [ qt5.qtbase libsForQt5.qwt ]; + pythonRuntime = [ python.pkgs.pyqt5 ]; + cmakeEnableFlag = "GR_QTGUI"; + }; + gr-trellis = { + cmakeEnableFlag = "GR_TRELLIS"; + }; + gr-uhd = { + runtime = [ uhd ]; + cmakeEnableFlag = "GR_UHD"; + }; + gr-utils = { + cmakeEnableFlag = "GR_UTILS"; + }; + gr-modtool = { + pythonRuntime = with python.pkgs; [ + 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 zeromq ]; + cmakeEnableFlag = "GR_ZEROMQ"; + }; }; + shared = (import ./shared.nix { + inherit + stdenv + python + removeReferencesTo + featuresInfo + features + versionAttr + sourceSha256 + overrideSrc + fetchFromGitHub + fetchSubmodules + ; + qt = qt5; + gtk = gtk3; + }); + inherit (shared) + version + src + hasFeature # function + nativeBuildInputs + buildInputs + disallowedReferences + stripDebugList + passthru + doCheck + dontWrapPythonPrograms + meta + ; + cmakeFlags = shared.cmakeFlags + # From some reason, if these are not set, libcodec2 and gsm are not + # detected properly. NOTE: qradiolink needs libcodec2 to be detected in + # order to build, see https://github.com/qradiolink/qradiolink/issues/67 + ++ stdenv.lib.optionals (hasFeature "gr-vocoder" features) [ + "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so" + "-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include" + "-DLIBCODEC2_HAS_FREEDV_API=ON" + "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so" + "-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm" + ] + ; - nativeBuildInputs = [ - cmake - pkgconfig - git - makeWrapper - cppunit - orc - ]; - - buildInputs = [ - boost - fftw - python - swig2 - lxml - qt4 - qwt - SDL - libusb1 - uhd - gsl - ] ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ]; - - propagatedBuildInputs = [ - Mako - cheetah - numpy - scipy - matplotlib - pyqt4 - pygtk - wxPython - pyopengl - ]; - - NIX_LDFLAGS = "-lpthread"; - - enableParallelBuilding = true; - - postPatch = '' - substituteInPlace \ - gr-fec/include/gnuradio/fec/polar_decoder_common.h \ - --replace BOOST_CONSTEXPR_OR_CONST const - ''; - - # Enables composition with nix-shell - grcSetupHook = writeText "grcSetupHook.sh" '' - addGRCBlocksPath() { - addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks - } - addEnvHooks "$targetOffset" addGRCBlocksPath - ''; - - setupHook = [ grcSetupHook ]; - - # patch wxgui and pygtk check due to python importerror in a headless environment - # wxgtk gui will be removed in GR3.8 - # c++11 hack may not be necessary anymore + postInstall = shared.postInstall + # This is the only python reference worth removing, if needed (3.7 doesn't + # set that reference). + + stdenv.lib.optionalString (!hasFeature "python-support" features) '' + ${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake + '' + ; preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable ${stdenv.lib.optionalString (!stdenv.isDarwin) "-std=c++11"}" - sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt - sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt - find . -name "CMakeLists.txt" -exec sed -i '1iadd_compile_options($<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)' "{}" ";" - ''; - - # Framework path needed for qwt6_qt4 but not qwt5 - cmakeFlags = - stdenv.lib.optionals stdenv.isDarwin [ "-DCMAKE_FRAMEWORK_PATH=${qwt}/lib" ]; - - # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_* - # programs will not display anything. Yes, $MATPLOTLIBRC must point to the - # *dirname* where matplotlibrc is located, not the file itself. - # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so - # we must wrap the stuff in bin/. - # Notes: - # - May want to use makeWrapper instead of wrapProgram - # - may want to change interpreter path on Python examples instead of wrapping - # - see https://github.com/NixOS/nixpkgs/issues/22688 regarding use of --prefix / python.withPackages - # - see https://github.com/NixOS/nixpkgs/issues/24693 regarding use of DYLD_FRAMEWORK_PATH on Darwin - postInstall = '' - printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc" - - for file in $(find $out/bin $out/share/gnuradio/examples -type f -executable); do - wrapProgram "$file" \ - --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \ - --set MATPLOTLIBRC "$out/share/gnuradio" \ - ${stdenv.lib.optionalString stdenv.isDarwin "--set DYLD_FRAMEWORK_PATH /System/Library/Frameworks"} - done - ''; + '' + # If python-support is disabled, don't install volk's (git submodule) + # volk_modtool - it references python. + # + # NOTE: on the next release, volk will always be required to be installed + # externally (submodule removed upstream). Hence this hook will fail and + # we'll need to package volk while able to tell it to install or not + # install python referencing files. When we'll be there, this will help: + # https://github.com/gnuradio/volk/pull/404 + + stdenv.lib.optionalString (!hasFeature "python-support" features) '' + sed -i -e "/python\/volk_modtool/d" volk/CMakeLists.txt + '' + ; + patches = [ + # Don't install python referencing files if python support is disabled. + # See: https://github.com/gnuradio/gnuradio/pull/3839 + (fetchpatch { + url = "https://github.com/gnuradio/gnuradio/commit/4a4fd570b398b0b50fe875fcf0eb9c9db2ea5c6e.diff"; + sha256 = "xz2E0ji6zfdOAhjfPecAcaVOIls1XP8JngLkBbBBW5Q="; + }) + (fetchpatch { + url = "https://github.com/gnuradio/gnuradio/commit/dbc8ad7e7361fddc7b1dbc267c07a776a3f9664b.diff"; + sha256 = "tQcCpcUbJv3yqAX8rSHN/pAuBq4ueEvoVo7sNzZGvf4="; + }) + ]; +in - meta = with stdenv.lib; { - description = "Software Defined Radio (SDR) software"; - longDescription = '' - GNU Radio is a free & open-source software development toolkit that - provides signal processing blocks to implement software radios. It can be - used with readily-available low-cost external RF hardware to create - software-defined radios, or without hardware in a simulation-like - environment. It is widely used in hobbyist, academic and commercial - environments to support both wireless communications research and - real-world radio systems. - ''; - homepage = "https://www.gnuradio.org"; - license = licenses.gpl3; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor fpletz ]; - }; +stdenv.mkDerivation rec { + inherit + pname + version + src + nativeBuildInputs + buildInputs + cmakeFlags + preConfigure + # disallowedReferences + stripDebugList + patches + postInstall + passthru + doCheck + dontWrapPythonPrograms + meta + ; } diff --git a/pkgs/applications/radio/gnuradio/gsm.nix b/pkgs/applications/radio/gnuradio/gsm.nix index e0b8d7dd44f7..4e2406fc07a0 100644 --- a/pkgs/applications/radio/gnuradio/gsm.nix +++ b/pkgs/applications/radio/gnuradio/gsm.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio +{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio, log4cpp , makeWrapper, cppunit, libosmocore, gr-osmosdr , pythonSupport ? true, python, swig }: @@ -18,7 +18,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake boost gnuradio makeWrapper cppunit libosmocore gr-osmosdr + cmake boost gnuradio makeWrapper cppunit libosmocore gr-osmosdr log4cpp ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; postInstall = '' diff --git a/pkgs/applications/radio/gnuradio/limesdr.nix b/pkgs/applications/radio/gnuradio/limesdr.nix index 490caaaa7bea..b2f99164bec6 100644 --- a/pkgs/applications/radio/gnuradio/limesdr.nix +++ b/pkgs/applications/radio/gnuradio/limesdr.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio -, pythonSupport ? true, python, swig, limesuite +, pythonSupport ? true, python, swig, limesuite, log4cpp } : assert pythonSupport -> python != null && swig != null; @@ -24,7 +24,7 @@ in stdenv.mkDerivation { ] ++ stdenv.lib.optionals pythonSupport [ swig ]; buildInputs = [ - boost gnuradio limesuite + boost gnuradio limesuite log4cpp ] ++ stdenv.lib.optionals pythonSupport [ python ]; diff --git a/pkgs/applications/radio/gnuradio/nacl.nix b/pkgs/applications/radio/gnuradio/nacl.nix index e3d851e2e14a..3435d5cdb4f0 100644 --- a/pkgs/applications/radio/gnuradio/nacl.nix +++ b/pkgs/applications/radio/gnuradio/nacl.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio, uhd -, makeWrapper, libsodium, cppunit +, makeWrapper, libsodium, cppunit, log4cpp , pythonSupport ? true, python, swig }: @@ -18,7 +18,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake boost gnuradio uhd makeWrapper libsodium cppunit + cmake boost gnuradio uhd makeWrapper libsodium cppunit log4cpp ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; postInstall = '' diff --git a/pkgs/applications/radio/gnuradio/osmosdr.nix b/pkgs/applications/radio/gnuradio/osmosdr.nix index ad54fc8d7c4f..9eb6fe648d02 100644 --- a/pkgs/applications/radio/gnuradio/osmosdr.nix +++ b/pkgs/applications/radio/gnuradio/osmosdr.nix @@ -8,6 +8,7 @@ , rtl-sdr , soapysdr-with-plugins , uhd +, log4cpp }: assert pythonSupport -> python != null && swig != null; @@ -24,10 +25,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake makeWrapper boost + cmake makeWrapper boost log4cpp airspy gnuradio hackrf libbladeRF rtl-sdr uhd ] ++ stdenv.lib.optionals stdenv.isLinux [ soapysdr-with-plugins ] - ++ stdenv.lib.optionals pythonSupport [ python swig ]; + ++ stdenv.lib.optionals pythonSupport [ python swig python.pkgs.cheetah ]; postInstall = '' for prog in "$out"/bin/*; do diff --git a/pkgs/applications/radio/gnuradio/rds.nix b/pkgs/applications/radio/gnuradio/rds.nix index 1f8ed211ef29..72838569bb3b 100644 --- a/pkgs/applications/radio/gnuradio/rds.nix +++ b/pkgs/applications/radio/gnuradio/rds.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio +{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio, log4cpp , makeWrapper, pythonSupport ? true, python, swig }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - cmake boost gnuradio makeWrapper + cmake boost gnuradio makeWrapper log4cpp ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; postInstall = '' diff --git a/pkgs/applications/radio/gnuradio/shared.nix b/pkgs/applications/radio/gnuradio/shared.nix new file mode 100644 index 000000000000..66ce0a5f5132 --- /dev/null +++ b/pkgs/applications/radio/gnuradio/shared.nix @@ -0,0 +1,135 @@ +{ stdenv +, python +, qt +, gtk +, removeReferencesTo +, featuresInfo +, features +, versionAttr +, sourceSha256 +# If overriden. No need to set default values, as they are given defaults in +# the main expressions +, overrideSrc +, fetchFromGitHub +, fetchSubmodules +}: + +let + lib = stdenv.lib; +in rec { + version = builtins.concatStringsSep "." ( + lib.attrVals [ "major" "minor" "patch" ] versionAttr + ); + src = if overrideSrc != {} then + overrideSrc + else + fetchFromGitHub { + repo = "gnuradio"; + owner = "gnuradio"; + rev = "v${version}"; + sha256 = sourceSha256; + inherit fetchSubmodules; + } + ; + # Check if a feature is enabled, while defaulting to true if feat is not + # specified. + hasFeature = feat: features: ( + if builtins.hasAttr feat features then + features.${feat} + else + true + ); + nativeBuildInputs = lib.flatten (lib.mapAttrsToList ( + feat: info: ( + if hasFeature feat features then + (if builtins.hasAttr "native" info then info.native else []) ++ + (if builtins.hasAttr "pythonNative" info then info.pythonNative else []) + else + [] + ) + ) featuresInfo); + buildInputs = lib.flatten (lib.mapAttrsToList ( + feat: info: ( + if hasFeature feat features then + (if builtins.hasAttr "runtime" info then info.runtime else []) ++ + (if builtins.hasAttr "pythonRuntime" info then info.pythonRuntime else []) + else + [] + ) + ) featuresInfo); + cmakeFlags = lib.mapAttrsToList ( + feat: info: ( + if feat == "basic" then + # Abuse this unavoidable "iteration" to set this flag which we want as + # well - it means: Don't turn on features just because their deps are + # satisfied, let only our cmakeFlags decide. + "-DENABLE_DEFAULT=OFF" + else + if hasFeature feat features then + "-DENABLE_${info.cmakeEnableFlag}=ON" + else + "-DENABLE_${info.cmakeEnableFlag}=OFF" + )) featuresInfo + ; + disallowedReferences = [ + # TODO: Should this be conditional? + stdenv.cc + stdenv.cc.cc + ] + # If python-support is disabled, we probably don't want it referenced + ++ lib.optionals (!hasFeature "python-support" features) [ python ] + ; + # Gcc references from examples + stripDebugList = [ "lib" "bin" ] + ++ lib.optionals (hasFeature "gr-audio" features) [ "share/gnuradio/examples/audio" ] + ++ lib.optionals (hasFeature "gr-uhd" features) [ "share/gnuradio/examples/uhd" ] + ++ lib.optionals (hasFeature "gr-qtgui" features) [ "share/gnuradio/examples/qt-gui" ] + ; + postInstall = '' + '' + # Gcc references + + lib.optionalString (hasFeature "volk" features) '' + ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so) + '' + + lib.optionalString (hasFeature "gnuradio-runtime" features) '' + ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libgnuradio-runtime.so) + '' + ; + # NOTE: Outputs are disabled due to upstream not using GNU InstallDIrs cmake + # module. It's not that bad since it's a development package for most + # purposes. If closure size needs to be reduced, features should be disabled + # via an override. + passthru = { + inherit + hasFeature + versionAttr + features + featuresInfo + python + qt + gtk + ; + }; + # Wrapping is done with an external wrapper + dontWrapPythonPrograms = true; + # Tests should succeed, but it's hard to get LD_LIBRARY_PATH right in order + # for it to happen. + doCheck = false; + + meta = with lib; { + description = "Software Defined Radio (SDR) software"; + longDescription = '' + GNU Radio is a free & open-source software development toolkit that + provides signal processing blocks to implement software radios. It can be + used with readily-available low-cost external RF hardware to create + software-defined radios, or without hardware in a simulation-like + environment. It is widely used in hobbyist, academic and commercial + environments to support both wireless communications research and + real-world radio systems. + ''; + homepage = "https://www.gnuradio.org"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ doronbehar bjornfor fpletz ]; + }; +} diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index ffed3da03187..6b854918f571 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -1,24 +1,134 @@ -{ stdenv, gnuradio, makeWrapper, python, extraPackages ? [] }: +{ stdenv +, unwrapped +, makeWrapper +# For lndir +, xorg +# For Emulating wrapGAppsHook +, gsettings-desktop-schemas +, glib +, hicolor-icon-theme +, pango +, json-glib +, dconf +, gobject-introspection +, librsvg +, gdk-pixbuf +, harfbuzz +, at-spi2-core +, atk +# For Adding additional GRC blocks +, extraPackages ? [] +# For Adding additional python packaages +, extraPythonPackages ? [] +# Allow to add whatever you want to the wrapper +, extraMakeWrapperArgs ? [] +}: -with { inherit (stdenv.lib) appendToName makeSearchPath; }; +let + pythonPkgs = extraPythonPackages + # Add the extraPackages as python modules as well + ++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages) + ++ stdenv.lib.flatten (stdenv.lib.mapAttrsToList ( + feat: info: ( + if unwrapped.hasFeature feat unwrapped.features then + (if builtins.hasAttr "pythonRuntime" info then info.pythonRuntime else []) + else + [] + ) + ) unwrapped.featuresInfo) + ++ stdenv.lib.optionals (unwrapped.hasFeature "python-support" unwrapped.features) [ + # Add unwrapped itself as a python module + (unwrapped.python.pkgs.toPythonModule unwrapped) + ] + ; + python3Env = unwrapped.python.withPackages(ps: pythonPkgs); + name = (stdenv.lib.appendToName "wrapped" unwrapped).name; + makeWrapperArgs = builtins.concatStringsSep " " ([ + ] + # Emulating wrapGAppsHook & wrapQtAppsHook working together + ++ stdenv.lib.optionals ( + (unwrapped.hasFeature "gnuradio-companion" unwrapped.features) + || (unwrapped.hasFeature "gr-qtgui" unwrapped.features) + ) [ + "--prefix" "XDG_DATA_DIRS" ":" "$out/share" + "--prefix" "XDG_DATA_DIRS" ":" "$out/share/gsettings-schemas/${name}" + "--prefix" "XDG_DATA_DIRS" ":" "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" + "--prefix" "XDG_DATA_DIRS" ":" "${hicolor-icon-theme}/share" + # Needs to run `gsettings` on startup, see: + # https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1764890.html + "--prefix" "PATH" ":" "${stdenv.lib.getBin glib}/bin" + ] + ++ stdenv.lib.optionals (unwrapped.hasFeature "gnuradio-companion" unwrapped.features) [ + "--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache" + "--prefix" "GIO_EXTRA_MODULES" ":" "${stdenv.lib.getLib dconf}/lib/gio/modules" + "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk}/share" + "--prefix" "XDG_DATA_DIRS" ":" "${unwrapped.gtk}/share/gsettings-schemas/${unwrapped.gtk.name}" + "--prefix" "GI_TYPELIB_PATH" ":" "${stdenv.lib.makeSearchPath "lib/girepository-1.0" [ + unwrapped.gtk + gsettings-desktop-schemas + atk + # From some reason, if .out is not used, .bin is used, and we want + # what's in `.out`. + pango.out + gdk-pixbuf + json-glib + harfbuzz + librsvg + gobject-introspection + at-spi2-core + ]}" + ] + ++ stdenv.lib.optionals (extraPackages != []) [ + "--prefix" "GRC_BLOCKS_PATH" ":" "${stdenv.lib.makeSearchPath "share/gnuradio/grc/blocks" extraPackages}" + ] + ++ stdenv.lib.optionals (unwrapped.hasFeature "gr-qtgui" unwrapped.features) + # 3.7 builds with qt4 + (if unwrapped.versionAttr.major == "3.8" then + [ + "--prefix" "QT_PLUGIN_PATH" ":" + "${stdenv.lib.getBin unwrapped.qt.qtbase}/${unwrapped.qt.qtbase.qtPluginPrefix}" + "--prefix" "QML2_IMPORT_PATH" ":" + "${stdenv.lib.getBin unwrapped.qt.qtbase}/${unwrapped.qt.qtbase.qtQmlPrefix}" + ] + else + # TODO: Add here qt4 related environment for 3.7? + [ + + ] + ) + ++ extraMakeWrapperArgs + ); +in stdenv.mkDerivation { - name = (appendToName "with-packages" gnuradio).name; - buildInputs = [ makeWrapper python ]; + inherit name; - buildCommand = '' - mkdir -p $out/bin - ln -s "${gnuradio}"/bin/* $out/bin/ + buildInputs = [ + makeWrapper + xorg.lndir + ]; - for file in $(find -L $out/bin -type f); do - if test -x "$(readlink -f "$file")"; then - wrapProgram "$file" \ - --prefix PYTHONPATH : ${stdenv.lib.concatStringsSep ":" - (map (path: "$(toPythonPath ${path})") extraPackages)} \ - --prefix GRC_BLOCKS_PATH : ${makeSearchPath "share/gnuradio/grc/blocks" extraPackages} - fi + passthru = { + inherit python3Env pythonPkgs unwrapped; + }; + + buildCommand = '' + mkdir $out + cd $out + lndir -silent ${unwrapped} + for i in $out/bin/*; do + if [[ ! -x "$i" ]]; then + continue + fi + cp -L "$i" "$i".tmp + mv -f "$i".tmp "$i" + if head -1 "$i" | grep -q ${unwrapped.python}; then + substituteInPlace "$i" \ + --replace ${unwrapped.python} ${python3Env} + fi + wrapProgram "$i" ${makeWrapperArgs} done ''; - inherit (gnuradio) meta; + inherit (unwrapped) meta; } diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix index 7b9c439b247c..4bbed000e433 100644 --- a/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -36,11 +36,11 @@ stdenv.mkDerivation rec { pname = "epiphany"; - version = "3.38.1"; + version = "3.38.2"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0hr87nl8pc7h8w65i8jwj5fdwr46wbygdnx6mhpbbyqirdm5gdsr"; + sha256 = "0v8iymg72m83ikxxyhapvz5v8zh8hlr1pw7n215cy3p8q6yg41cb"; }; # Tests need an X display diff --git a/pkgs/development/libraries/comedilib/default.nix b/pkgs/development/libraries/comedilib/default.nix index f011c04d8856..98811b97c87e 100644 --- a/pkgs/development/libraries/comedilib/default.nix +++ b/pkgs/development/libraries/comedilib/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "comedilib"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "Linux-Comedi"; repo = "comedilib"; rev = "r${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}"; - sha256 = "159sv4jdgmcaqz76vazkyxxb85ni7pg14p1qv7y94hib3kspc195"; + sha256 = "0kfs2dw62vjz8j7fgsxq6ky8r8kca726gyklbm6kljvgfh47lyfw"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index bcae19217e02..99b00e6ca9d7 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -30,6 +30,7 @@ , mpg123 , twolame , gtkSupport ? false, gtk3 ? null +, raspiCameraSupport ? false, libraspberrypi ? null , enableJack ? true, libjack2 , libXdamage , libXext @@ -43,6 +44,7 @@ }: assert gtkSupport -> gtk3 != null; +assert raspiCameraSupport -> ((libraspberrypi != null) && stdenv.isLinux && stdenv.isAarch64); let inherit (stdenv.lib) optionals; @@ -95,6 +97,8 @@ stdenv.mkDerivation rec { xorg.libXfixes xorg.libXdamage wavpack + ] ++ optionals raspiCameraSupport [ + libraspberrypi ] ++ optionals gtkSupport [ # for gtksink gtk3 @@ -128,8 +132,8 @@ stdenv.mkDerivation rec { "-Dv4l2=disabled" # Linux-only "-Dximagesrc=disabled" # Linux-only "-Dpulse=disabled" # TODO check if we can keep this enabled - ] ++ optionals (!(stdenv.isLinux && stdenv.hostPlatform.isAarch64)) [ - "-Drpicamsrc=disabled" # only works on Linux aarch64, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/blob/428c9b60532917c0ac49c9d48b15bdcd00a1370b/sys/rpicamsrc/meson.build#L10 + ] ++ optionals (!raspiCameraSupport) [ + "-Drpicamsrc=disabled" ]; postPatch = '' diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix index 66f3f26285ed..d7b3ff64d30f 100644 --- a/pkgs/development/ocaml-modules/iter/default.nix +++ b/pkgs/development/ocaml-modules/iter/default.nix @@ -1,9 +1,13 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, mdx, qtest, result }: +{ lib, fetchFromGitHub, buildDunePackage, ocaml, dune-configurator +, mdx, qtest, result +}: buildDunePackage rec { pname = "iter"; version = "1.2.1"; + useDune2 = true; + src = fetchFromGitHub { owner = "c-cube"; repo = pname; @@ -11,10 +15,11 @@ buildDunePackage rec { sha256 = "0j2sg50byn0ppmf6l36ksip7zx1d3gv7sc4hbbxs2rmx39jr7vxh"; }; - buildInputs = lib.optionals doCheck [ mdx.bin qtest ]; + buildInputs = [ dune-configurator ]; propagatedBuildInputs = [ result ]; doCheck = lib.versionAtLeast ocaml.version "4.07"; + checkInputs = [ mdx.bin qtest ]; meta = { homepage = "https://github.com/c-cube/sequence"; diff --git a/pkgs/development/ocaml-modules/qcheck/alcotest.nix b/pkgs/development/ocaml-modules/qcheck/alcotest.nix index 4f1baec1e556..aebe6bd95a85 100644 --- a/pkgs/development/ocaml-modules/qcheck/alcotest.nix +++ b/pkgs/development/ocaml-modules/qcheck/alcotest.nix @@ -3,7 +3,7 @@ buildDunePackage { pname = "qcheck-alcotest"; - inherit (qcheck-core) version src; + inherit (qcheck-core) version useDune2 src; propagatedBuildInputs = [ qcheck-core alcotest ]; diff --git a/pkgs/development/ocaml-modules/qcheck/core.nix b/pkgs/development/ocaml-modules/qcheck/core.nix index fa72a211ef45..03de70237a46 100644 --- a/pkgs/development/ocaml-modules/qcheck/core.nix +++ b/pkgs/development/ocaml-modules/qcheck/core.nix @@ -2,7 +2,9 @@ buildDunePackage rec { pname = "qcheck-core"; - version = "0.15"; + version = "0.16"; + + useDune2 = true; minimumOCamlVersion = "4.03"; @@ -10,7 +12,7 @@ buildDunePackage rec { owner = "c-cube"; repo = "qcheck"; rev = version; - sha256 = "1ywaklqm1agvxvzv7pwl8v4zlwc3ykw6l251w43f0gy9cfwqmh3j"; + sha256 = "1s5dpqj8zvd3wr2w3fp4wb6yc57snjpxzzfv9fb6l9qgigswwjdr"; }; meta = { diff --git a/pkgs/development/ocaml-modules/qcheck/default.nix b/pkgs/development/ocaml-modules/qcheck/default.nix index 2a0e6c0ae40c..dc73f42a13b0 100644 --- a/pkgs/development/ocaml-modules/qcheck/default.nix +++ b/pkgs/development/ocaml-modules/qcheck/default.nix @@ -3,7 +3,7 @@ buildDunePackage { pname = "qcheck"; - inherit (qcheck-ounit) version src; + inherit (qcheck-ounit) version useDune2 src; propagatedBuildInputs = [ qcheck-ounit ]; diff --git a/pkgs/development/ocaml-modules/qcheck/ounit.nix b/pkgs/development/ocaml-modules/qcheck/ounit.nix index 06897987a954..62b082f48fb2 100644 --- a/pkgs/development/ocaml-modules/qcheck/ounit.nix +++ b/pkgs/development/ocaml-modules/qcheck/ounit.nix @@ -3,7 +3,7 @@ buildDunePackage { pname = "qcheck-ounit"; - inherit (qcheck-core) version src; + inherit (qcheck-core) version useDune2 src; propagatedBuildInputs = [ qcheck-core ounit ]; diff --git a/pkgs/development/ocaml-modules/qtest/default.nix b/pkgs/development/ocaml-modules/qtest/default.nix index e7f00803a19c..d5829127a8bc 100644 --- a/pkgs/development/ocaml-modules/qtest/default.nix +++ b/pkgs/development/ocaml-modules/qtest/default.nix @@ -4,6 +4,8 @@ buildDunePackage rec { pname = "qtest"; version = "2.11.1"; + useDune2 = true; + src = fetchFromGitHub { owner = "vincent-hugot"; repo = pname; diff --git a/pkgs/development/ocaml-modules/xtmpl/default.nix b/pkgs/development/ocaml-modules/xtmpl/default.nix index 2264f0dedbf9..31c671538a58 100644 --- a/pkgs/development/ocaml-modules/xtmpl/default.nix +++ b/pkgs/development/ocaml-modules/xtmpl/default.nix @@ -2,6 +2,7 @@ , js_of_ocaml-ppx, re }: if stdenv.lib.versionOlder ocaml.version "4.03" +|| stdenv.lib.versionAtLeast ocaml.version "4.11" then throw "xtmpl not supported for ocaml ${ocaml.version}" else stdenv.mkDerivation rec { diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix index d4c143b0bd02..00a285c67d02 100644 --- a/pkgs/development/tools/buildkit/default.nix +++ b/pkgs/development/tools/buildkit/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "buildkit"; - version = "0.7.2"; + version = "0.8.0"; goPackagePath = "github.com/moby/buildkit"; subPackages = [ "cmd/buildctl" ] ++ stdenv.lib.optionals stdenv.isLinux [ "cmd/buildkitd" ]; @@ -11,7 +11,7 @@ buildGoPackage rec { owner = "moby"; repo = "buildkit"; rev = "v${version}"; - sha256 = "0kn2ad0rh3xlcxjxslkyrfxhv3cx88996nhxn86605x1mybxb2iq"; + sha256 = "0qcgq93wj77i912xqhwrzkzaqz608ilczfn5kcsrf9jk2m1gnx7m"; }; buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/version.Version=${version} -X ${goPackagePath}/version.Revision=${src.rev}" ]; diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix index 92fabffcd029..abc11a4a5f06 100644 --- a/pkgs/os-specific/linux/criu/default.nix +++ b/pkgs/os-specific/linux/criu/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, protobuf, protobufc, asciidoc, iptables , xmlto, docbook_xsl, libpaper, libnl, libcap, libnet, pkgconfig -, which, python, makeWrapper, docbook_xml_dtd_45 }: +, which, python3, makeWrapper, docbook_xml_dtd_45 }: stdenv.mkDerivation rec { pname = "criu"; @@ -12,8 +12,9 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig docbook_xsl which makeWrapper docbook_xml_dtd_45 ]; - buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet python iptables ]; + nativeBuildInputs = [ pkgconfig docbook_xsl which makeWrapper docbook_xml_dtd_45 python3 python3.pkgs.wrapPython ]; + buildInputs = [ protobuf protobufc asciidoc xmlto libpaper libnl libcap libnet iptables ]; + propagatedBuildInputs = with python3.pkgs; [ python python3.pkgs.protobuf ]; postPatch = '' substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" "" @@ -39,6 +40,7 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/criu \ --prefix PATH : ${lib.makeBinPath [ iptables ]} + wrapPythonPrograms ''; meta = with stdenv.lib; { diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix index cc77dbd4891d..bde82468b720 100644 --- a/pkgs/servers/computing/slurm/default.nix +++ b/pkgs/servers/computing/slurm/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "slurm"; - version = "20.02.5.1"; + version = "20.02.6.1"; # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php # because the latter does not keep older releases. @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { repo = "slurm"; # The release tags use - instead of . rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}"; - sha256 = "09d4zyyjl5mcrzhzbh6nhc35mzim1sy0h0p2h468nwk1fbl81ff5"; + sha256 = "0vllyljsmv3y9hw4vfgnz9cnjqhlk55dy1bipssw872aldlxfcdk"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/tools/admin/acme.sh/default.nix b/pkgs/tools/admin/acme.sh/default.nix index 30badb175a96..8fb14ed2ead7 100644 --- a/pkgs/tools/admin/acme.sh/default.nix +++ b/pkgs/tools/admin/acme.sh/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools, dnsutils }: stdenv.mkDerivation rec { pname = "acme.sh"; - version = "2.8.7"; + version = "2.8.8"; src = fetchFromGitHub { owner = "Neilpang"; repo = "acme.sh"; rev = version; - sha256 = "0bwzrrm07v2lpsja0r0z7nj3jrf814w57mmk8lbdk9dsb3i07x4w"; + sha256 = "1iqwzqgg26vsg7lwmgmga9y3ap9q8r5xyx799bj8kawnr8n6s4jd"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix index b6834551cee6..c375b0987dc4 100644 --- a/pkgs/tools/admin/eksctl/default.nix +++ b/pkgs/tools/admin/eksctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "eksctl"; - version = "0.32.0"; + version = "0.33.0"; src = fetchFromGitHub { owner = "weaveworks"; repo = pname; rev = version; - sha256 = "0np11c4apyl7lmh4kjyi62bcf1kjf2fjjlli8aadvlli2ww8qrf2"; + sha256 = "1rhiak1264czcww5ayz35am9nsn5xa3kjd90szssg46ngxisd61x"; }; - vendorSha256 = "19fk2lw7m8kqwwhv3sqr0iix90sjcnh2mqqvr5p87hfjars4c55v"; + vendorSha256 = "1s9xhq1k67gf9saada1dr95n1sd265hndkxz0alqw6dm2vdp3n2q"; doCheck = false; diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix index 53b89a072247..fb8e2508294a 100644 --- a/pkgs/tools/misc/broot/default.nix +++ b/pkgs/tools/misc/broot/default.nix @@ -11,14 +11,14 @@ rustPlatform.buildRustPackage rec { pname = "broot"; - version = "1.0.7"; + version = "1.0.8"; src = fetchCrate { inherit pname version; - sha256 = "0rxk6dsbn960ikmp6f8a98g3dlibzfy9gcbdina37403kxv8bs6v"; + sha256 = "06881c8qnh917y2mn5q5qlf86idz17xi2dapsad3m1zbdr53c25j"; }; - cargoSha256 = "14fc53xl8f19z8cjrgn6qafiymgirmsin2nzh4i3qprmcc52all8"; + cargoSha256 = "1k5qm4h028172r7i2pz5l8886qviy7ni83qxn10a8d5hsgalarvx"; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/tools/misc/wacomtablet/default.nix b/pkgs/tools/misc/wacomtablet/default.nix index aa631d441148..5ff2800496a7 100644 --- a/pkgs/tools/misc/wacomtablet/default.nix +++ b/pkgs/tools/misc/wacomtablet/default.nix @@ -1,4 +1,4 @@ -{ lib, mkDerivation, fetchurl, extra-cmake-modules, qtx11extras, +{ lib, mkDerivation, fetchurl, fetchpatch, extra-cmake-modules, qtx11extras, plasma-workspace, libwacom, xf86_input_wacom }: @@ -9,6 +9,12 @@ mkDerivation rec { url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz"; sha256 = "197pwpl87gqlnza36bp68jvw8ww25znk08acmi8bpz7n84xfc368"; }; + patches = [ + (fetchpatch { + url = "https://invent.kde.org/system/wacomtablet/commit/4f73ff02b3efd5e8728b18fcf1067eca166704ee.patch"; + sha256 = "0185gbh1vywfz8a3wnvncmzdk0dd189my4bzimkbh85rlrqq2nf8"; + }) + ]; nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ @@ -22,7 +28,7 @@ mkDerivation rec { This module implements a GUI for the Wacom Linux Drivers and extends it with profile support to handle different button / pen layouts per profile. ''; - homepage = "https://cgit.kde.org/wacomtablet.git/about/"; + homepage = "https://invent.kde.org/system/wacomtablet"; license = lib.licenses.gpl2; maintainers = [ lib.maintainers.Thra11 ]; platforms = lib.platforms.linux; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index a7b42471494b..b037a982edcf 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -18,11 +18,11 @@ buildPythonPackage rec { # The websites youtube-dl deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2020.12.02"; + version = "2020.12.05"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "0wkslmqiydlzrla4wx67757b18r4l9h42fkfzdcxx6n0ygiv4qbi"; + sha256 = "065s45l8qz7wlkaxw9bj20gq9647zpwdj9vc6chhqjscl63z1aqm"; }; nativeBuildInputs = [ installShellFiles makeWrapper ]; diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix index 4e47b8f568b3..e0dc69de0e43 100644 --- a/pkgs/tools/system/fio/default.nix +++ b/pkgs/tools/system/fio/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "fio"; - version = "3.24"; + version = "3.25"; src = fetchFromGitHub { owner = "axboe"; repo = "fio"; rev = "fio-${version}"; - sha256 = "0wkbs8gzfvclsn576fcx5sqzb5qs7annn7ra4kk2i578a32q4sxw"; + sha256 = "1f20ihynwnz8jqqlr73i5glr8ziplz4mmcjgk340mj2yqqcnsqag"; }; buildInputs = [ python zlib ] diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 0b1e03ad57b0..8009208739a6 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -189,6 +189,10 @@ mapAliases ({ gnuradio-limesdr = gr-limesdr; # added 2019-05-27 gnuradio-rds = gr-rds; # added 2019-05-27 gnuradio-osmosdr = gr-osmosdr; # added 2019-05-27 + # added 20-10-2020 + gnuradio-with-packages = gnuradio3_7.override { + extraPackages = [ gr-nacl gr-gsm gr-ais gr-limesdr gr-rds gr-osmosdr ]; + }; gnustep-make = gnustep.make; # added 2016-7-6 gnupg20 = throw "gnupg20 has been removed from nixpkgs as upstream dropped support on 2017-12-31";# added 2020-07-12 go_1_12 = throw "go_1_12 has been removed"; # added 2020-04-26 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0b2b572e549..557eb528010b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15754,7 +15754,13 @@ in qm-dsp = callPackage ../development/libraries/audio/qm-dsp { }; - qradiolink = callPackage ../applications/radio/qradiolink { }; + qradiolink = callPackage ../applications/radio/qradiolink { + # 3.8 support is not ready yet: + # https://github.com/qradiolink/qradiolink/issues/67#issuecomment-703222573 + # The non minimal build is used because the 'qtgui' component is needed. + # gr-osmosdr is using the same gnuradio as of now. + gnuradio = gnuradio3_7-unwrapped; + }; qrupdate = callPackage ../development/libraries/qrupdate { }; @@ -21165,34 +21171,80 @@ in gksu = callPackage ../applications/misc/gksu { }; - gnss-sdr = callPackage ../applications/radio/gnss-sdr { boost=boost166; }; + gnss-sdr = callPackage ../applications/radio/gnss-sdr { + boost = boost166; + gnuradio = gnuradio3_7-unwrapped; + }; - gnuradio = callPackage ../applications/radio/gnuradio { - inherit (python2Packages) cheetah lxml Mako matplotlib numpy python pyopengl pyqt4 scipy wxPython pygtk; + gnuradio-unwrapped = callPackage ../applications/radio/gnuradio { inherit (darwin.apple_sdk.frameworks) CoreAudio; - fftw = fftwFloat; - qwt = qwt6_qt4; + python = python3; }; - - gnuradio-with-packages = callPackage ../applications/radio/gnuradio/wrapper.nix { - inherit (python2Packages) python; - extraPackages = [ gr-nacl gr-osmosdr gr-ais gr-rds ] - ++ lib.optionals stdenv.isLinux [ gr-gsm gr-limesdr ]; + # A build without gui components and other utilites not needed for end user + # libraries + gnuradioMinimal = gnuradio-unwrapped.override { + features = { + gnuradio-companion = false; + python-support = false; + gr-ctrlport = false; + examples = false; + gr-qtgui = false; + gr-utils = false; + gr-modtool = false; + sphinx = false; + doxygen = false; + }; + }; + gnuradio = callPackage ../applications/radio/gnuradio/wrapper.nix { + unwrapped = gnuradio-unwrapped; + }; + gnuradio3_7-unwrapped = callPackage ../applications/radio/gnuradio/3.7.nix { + inherit (darwin.apple_sdk.frameworks) CoreAudio; + python = python2; + }; + # A build without gui components and other utilites not needed if gnuradio is + # used as a c++ library. + gnuradio3_7Minimal = gnuradio3_7-unwrapped.override { + features = { + gnuradio-companion = false; + python-support = false; + gr-ctrlport = false; + gr-qtgui = false; + gr-utils = false; + sphinx = false; + doxygen = false; + gr-wxgui = false; + }; + }; + gnuradio3_7 = callPackage ../applications/radio/gnuradio/wrapper.nix { + unwrapped = gnuradio3_7-unwrapped; }; grandorgue = callPackage ../applications/audio/grandorgue { }; - gr-nacl = callPackage ../applications/radio/gnuradio/nacl.nix { }; + gr-nacl = callPackage ../applications/radio/gnuradio/nacl.nix { + gnuradio = gnuradio3_7-unwrapped; + }; - gr-gsm = callPackage ../applications/radio/gnuradio/gsm.nix { }; + gr-gsm = callPackage ../applications/radio/gnuradio/gsm.nix { + gnuradio = gnuradio3_7-unwrapped; + }; - gr-ais = callPackage ../applications/radio/gnuradio/ais.nix { }; + gr-ais = callPackage ../applications/radio/gnuradio/ais.nix { + gnuradio = gnuradio3_7-unwrapped; + }; - gr-limesdr = callPackage ../applications/radio/gnuradio/limesdr.nix { }; + gr-limesdr = callPackage ../applications/radio/gnuradio/limesdr.nix { + gnuradio = gnuradio3_7-unwrapped; + }; - gr-rds = callPackage ../applications/radio/gnuradio/rds.nix { }; + gr-rds = callPackage ../applications/radio/gnuradio/rds.nix { + gnuradio = gnuradio3_7-unwrapped; + }; - gr-osmosdr = callPackage ../applications/radio/gnuradio/osmosdr.nix { }; + gr-osmosdr = callPackage ../applications/radio/gnuradio/osmosdr.nix { + gnuradio = gnuradio3_7-unwrapped; + }; goldendict = libsForQt514.callPackage ../applications/misc/goldendict { inherit (darwin) libiconv; @@ -21231,7 +21283,14 @@ in gpx = callPackage ../applications/misc/gpx { }; - gqrx = libsForQt514.callPackage ../applications/radio/gqrx { }; + gqrx = libsForQt514.callPackage ../applications/radio/gqrx { + gnuradio = gnuradio3_7Minimal; + # Use the same gnuradio for gr-osmosdr as well + gr-osmosdr = gr-osmosdr.override { + gnuradio = gnuradio3_7Minimal; + pythonSupport = false; + }; + }; gpx-viewer = callPackage ../applications/misc/gpx-viewer { }; @@ -21997,7 +22056,9 @@ in inkscape-extensions = recurseIntoAttrs (callPackages ../applications/graphics/inkscape/extensions.nix {}); - inspectrum = libsForQt514.callPackage ../applications/radio/inspectrum { }; + inspectrum = libsForQt514.callPackage ../applications/radio/inspectrum { + gnuradio = gnuradioMinimal; + }; ion3 = callPackage ../applications/window-managers/ion-3 { lua = lua5_1; @@ -28292,7 +28353,7 @@ in vttest = callPackage ../tools/misc/vttest { }; - wacomtablet = libsForQt514.callPackage ../tools/misc/wacomtablet { }; + wacomtablet = libsForQt5.callPackage ../tools/misc/wacomtablet { }; wasmer = callPackage ../development/interpreters/wasmer { }; |