diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index da2bc8ffef4..89a1217dfb3 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -83,7 +83,6 @@ in { broadcom-bt-firmware b43Firmware_5_1_138 b43Firmware_6_30_163_46 - b43FirmwareCutter xow_dongle-firmware ] ++ optionals pkgs.stdenv.hostPlatform.isx86 [ facetimehd-calibration diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index 2f386617187..2e9deebbb74 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -171,6 +171,11 @@ let mv etc/udev/hwdb.bin $out ''; + compressFirmware = if config.boot.kernelPackages.kernelAtLeast "5.3" then + pkgs.compressFirmwareXz + else + id; + # Udev has a 512-character limit for ENV{PATH}, so create a symlink # tree to work around this. udevPath = pkgs.buildEnv { @@ -267,7 +272,7 @@ in ''; apply = list: pkgs.buildEnv { name = "firmware"; - paths = list; + paths = map compressFirmware list; pathsToLink = [ "/lib/firmware" ]; ignoreCollisions = true; }; diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index fad00e39497..b2c92a85f7a 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -273,9 +273,6 @@ in boot.kernelModules = [ "loop" "atkbd" ]; - # The Linux kernel >= 2.6.27 provides firmware. - hardware.firmware = [ kernel ]; - # Create /etc/modules-load.d/nixos.conf, which is read by # systemd-modules-load.service to load required kernel modules. environment.etc = diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix index 187c068c0f0..4773cfb9e43 100644 --- a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix +++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix @@ -3,14 +3,10 @@ , vim , vimCommandCheckHook , vimGenDocHook +, neovimRequireCheckHook }: rec { - addRtp = path: attrs: derivation: - derivation // { rtp = "${derivation}"; } // { - overrideAttrs = f: buildVimPlugin (attrs // f attrs); - }; - buildVimPlugin = attrs@{ name ? "${attrs.pname}-${attrs.version}", namePrefix ? "vimplugin-", @@ -24,7 +20,7 @@ rec { addonInfo ? null, ... }: - addRtp "${rtpPath}/${path}" attrs (stdenv.mkDerivation (attrs // { + let drv = stdenv.mkDerivation (attrs // { name = namePrefix + name; # dont move the doc folder since vim expects it @@ -44,7 +40,10 @@ rec { runHook postInstall ''; - })); + }); + in drv.overrideAttrs(oa: { + rtp = "${drv}"; + }); buildVimPluginFrom2Nix = attrs: buildVimPlugin ({ # vim plugins may override this diff --git a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh new file mode 100644 index 00000000000..5b454e0ff01 --- /dev/null +++ b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh @@ -0,0 +1,21 @@ +# Setup hook for checking whether Python imports succeed +echo "Sourcing neovim-require-check-hook.sh" + +neovimRequireCheckHook () { + echo "Executing neovimRequireCheckHook" + + if [ -n "$nvimRequireCheck" ]; then + echo "Check whether the following module can be imported: $nvimRequireCheck" + + # editorconfig-checker-disable + export HOME="$TMPDIR" + @nvimBinary@ -es --headless -n -u NONE -i NONE --clean -V1 \ + --cmd "set rtp+=$out" \ + --cmd "lua require('$nvimRequireCheck')" + fi +} + +echo "Using neovimRequireCheckHook" +preDistPhases+=" neovimRequireCheckHook" + + diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 3273d841c65..04e28b5fc20 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -327,6 +327,9 @@ self: super: { sed -Ei lua/plenary/curl.lua \ -e 's@(command\s*=\s*")curl(")@\1${curl}/bin/curl\2@' ''; + + doInstallCheck = true; + nvimRequireCheck = "plenary"; }); gruvbox-nvim = super.gruvbox-nvim.overrideAttrs (old: { diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix index e685e398fc2..9511e4da195 100644 --- a/pkgs/applications/editors/vim/plugins/vim-utils.nix +++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix @@ -531,14 +531,26 @@ rec { }; } ./vim-command-check-hook.sh) {}; + neovimRequireCheckHook = callPackage ({ neovim-unwrapped }: + makeSetupHook { + name = "neovim-require-check-hook"; + deps = [ neovim-unwrapped ]; + substitutions = { + nvimBinary = "${neovim-unwrapped}/bin/nvim"; + inherit rtpPath; + }; + } ./neovim-require-check-hook.sh) {}; + inherit (import ./build-vim-plugin.nix { - inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook; + inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook neovimRequireCheckHook; }) buildVimPlugin buildVimPluginFrom2Nix; # TODO placeholder to ease working on automatic plugin detection # this should be a luarocks "flat" install with appropriate vim hooks - buildNeovimPluginFrom2Nix = buildVimPluginFrom2Nix; + buildNeovimPluginFrom2Nix = attrs: let drv = (buildVimPluginFrom2Nix attrs); in drv.overrideAttrs(oa: { + nativeBuildInputs = oa.nativeBuildInputs ++ [ neovimRequireCheckHook ]; + }); # used to figure out which python dependencies etc. neovim needs requiredPlugins = { diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 8f2bdf61e56..031439f75d2 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "102.0.5005.40", - "sha256": "1max5ndvl59j2hlv9k88dmadr4q05q1clzlc6zba0gcbvqx5q9jb", - "sha256bin64": "1byqx9w0hqwk3vizdas3dylbm69108bnq4xlm0mp1p1gh37h1642", + "version": "102.0.5005.49", + "sha256": "16r9mrsagy8lspr4pcrzfpw0vw0ym9m7n41a9yipjhm2arlhw5b2", + "sha256bin64": "0lyk6rd9c1gyvxsmq1bl7asr7carzyaan306ddvwxsy5rfh53jxa", "deps": { "gn": { "version": "2022-04-14", @@ -32,15 +32,15 @@ } }, "dev": { - "version": "103.0.5042.0", - "sha256": "0wm8m1mff8gb0x7whif16gvmhibgc8ndygnawkwq3g4fvninb65h", - "sha256bin64": "0vzmpi36a86kgxhdxvbqbn7i1wf2annar1mi15gra1cjpz3lf9kh", + "version": "103.0.5056.0", + "sha256": "1mvi7yc38cxn39wqm8ybrn862gaw293rb6lwcszc6rmzwd9jmd29", + "sha256bin64": "06371adaz8llzfjykc72vjvpy3xrgvqzz9kdrr82jdx1pjdbv29d", "deps": { "gn": { - "version": "2022-05-02", + "version": "2022-05-09", "url": "https://gn.googlesource.com/gn", - "rev": "53ef169800760fdc09f0773bf380fe99eaeab339", - "sha256": "08i7qc4qvf8gb3vryajvww75wk653fybf1bb2k40r8i07znhy78r" + "rev": "bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35", + "sha256": "0d2lb4alsx32zsdw3jxpxbzal350mim237p2y984h4r6fd1ddzyi" } } }, diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 9321e491099..25eb34c95e8 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -23,6 +23,7 @@ # build time , autoconf , cargo +, dump_syms , makeWrapper , nodejs , perl @@ -168,6 +169,11 @@ buildStdenv.mkDerivation ({ inherit src unpackPhase meta; + outputs = [ + "out" + "symbols" + ]; + # Add another configure-build-profiling run before the final configure phase if we build with pgo preConfigurePhases = lib.optionals pgoSupport [ "configurePhase" @@ -196,6 +202,7 @@ buildStdenv.mkDerivation ({ nativeBuildInputs = [ autoconf cargo + dump_syms llvmPackages.llvm # llvm-objdump makeWrapper nodejs @@ -231,13 +238,17 @@ buildStdenv.mkDerivation ({ # Set consistent remoting name to ensure wmclass matches with desktop file export MOZ_APP_REMOTINGNAME="${binaryName}" - # Use our own python - export MACH_USE_SYSTEM_PYTHON=1 - # AS=as in the environment causes build failure # https://bugzilla.mozilla.org/show_bug.cgi?id=1497286 unset AS + '' + lib.optionalString (lib.versionAtLeast version "100.0") '' + # Use our own python + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system + '' + lib.optionalString (lib.versionOlder version "100.0") '' + # Use our own python + export MACH_USE_SYSTEM_PYTHON=1 + '' + lib.optionalString (lib.versionAtLeast version "95.0") '' # RBox WASM Sandboxing export WASM_CC=${pkgsCross.wasi32.stdenv.cc}/bin/${pkgsCross.wasi32.stdenv.cc.targetPrefix}cc @@ -408,7 +419,13 @@ buildStdenv.mkDerivation ({ # tests were disabled in configureFlags doCheck = false; + # Generate build symbols once after the final build + # https://firefox-source-docs.mozilla.org/crash-reporting/uploading_symbol.html preInstall = '' + ./mach buildsymbols + mkdir -p $symbols/ + cp mozobj/dist/*.crashreporter-symbols.zip $symbols/ + cd mozobj ''; diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json index 8f36d68e7f2..5bad3f1ed7f 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.json +++ b/pkgs/applications/networking/browsers/librewolf/src.json @@ -1,8 +1,8 @@ { - "packageVersion": "100.0-2", + "packageVersion": "100.0-3", "source": { - "rev": "100.0-2", - "sha256": "0pr7fb91zw5qlnfvaavzksd3c2xzgn1344mmfnz9yx2g42vcyi7d" + "rev": "100.0-3", + "sha256": "1n99amk6ngxa7wipc402gffqjv4qmgbaahpz3xydfarxw8gk37pl" }, "firefox": { "version": "100.0", diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix index 7eb4f43e479..8476fc810ba 100644 --- a/pkgs/applications/networking/cluster/talosctl/default.nix +++ b/pkgs/applications/networking/cluster/talosctl/default.nix @@ -1,11 +1,11 @@ { lib, buildGoModule, fetchFromGitHub, installShellFiles }: let # look for GO_LDFLAGS getting set in the Makefile - version = "1.0.4"; - sha256 = "sha256-kO48MRQDQGDUvFfsxAt+CAHn2EGU44NMpSKDWnNwAdk="; - vendorSha256 = "sha256-QcD5MKQO51ZZ/NvVIiAmDsN6wLI2N8YkhA387KB77W8="; - pkgsVersion = "v1.0.0-10-gbf81bd2"; - extrasVersion = "v1.0.0-2-gc5d3ab0"; + version = "1.0.5"; + sha256 = "sha256-xgzIbhgV1AAUa0tooYtzUMqK4Co3PvWQ0YbZuf0JgFE="; + vendorSha256 = "sha256-Gp30qCGV+EaJ1lvfleZHRWVL6rdSj0mvpumWsqr9IT0="; + pkgsVersion = "v1.0.0-17-g7567bf4"; + extrasVersion = "v1.0.0-3-g6327c36"; in buildGoModule rec { pname = "talosctl"; diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix index fe5588d81f8..880ebdd2d4e 100644 --- a/pkgs/applications/networking/netperf/default.nix +++ b/pkgs/applications/networking/netperf/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "netperf"; - version = "20180613"; + version = "20210121"; src = fetchFromGitHub { owner = "HewlettPackard"; repo = "netperf"; - rev = "bcb868bde7f0203bbab69609f65d4088ba7398db"; - sha256 = "1wbbgdvhadd3qs3afv6i777argdpcyxkwz4yv6aqp223n8ki6dm8"; + rev = "3bc455b23f901dae377ca0a558e1e32aa56b31c4"; + sha256 = "s4G1ZN+6LERdEMDkc+12ZQgTi6K+ppUYUCGn4faCS9c="; }; buildInputs = lib.optional (with stdenv.hostPlatform; isx86 && isLinux) libsmbios; @@ -22,7 +22,7 @@ stdenv.mkDerivation { meta = { description = "Benchmark to measure the performance of many different types of networking"; homepage = "http://www.netperf.org/netperf/"; - license = "Hewlett-Packard BSD-like license"; + license = lib.licenses.mit; platforms = lib.platforms.unix; maintainers = [ lib.maintainers.mmlb ]; diff --git a/pkgs/applications/networking/twtxt/default.nix b/pkgs/applications/networking/twtxt/default.nix index 27420f8bd33..792c13aa23f 100644 --- a/pkgs/applications/networking/twtxt/default.nix +++ b/pkgs/applications/networking/twtxt/default.nix @@ -23,6 +23,11 @@ buildPythonApplication rec { checkInputs = [ pytestCheckHook tox ]; + disabledTests = [ + # Disable test using relative date and time + "test_tweet_relative_datetime" + ]; + meta = with lib; { description = "Decentralised, minimalist microblogging service for hackers"; homepage = "https://github.com/buckket/twtxt"; diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix index 54dfe21ce04..e04a8a907d1 100644 --- a/pkgs/applications/radio/rtl_433/default.nix +++ b/pkgs/applications/radio/rtl_433/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fetchpatch , libusb1, rtl-sdr, soapysdr-with-plugins }: @@ -13,6 +13,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-KoDKyI7KDdGSe79ZTuL9ObKnOJsqTN4wrMq+/cvQ/Xk="; }; + patches = [( fetchpatch { + name = "CVE-2022-27419"; + url = "https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904.patch"; + sha256 = "172jndh8x5nlcbx2jp5y8fgfxsawwfz95037pcjp170gf93ijy88"; + })]; + nativeBuildInputs = [ pkg-config cmake ]; buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ]; @@ -23,7 +29,7 @@ stdenv.mkDerivation rec { description = "Decode traffic from devices that broadcast on 433.9 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz"; homepage = "https://github.com/merbanan/rtl_433"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ earldouglas ]; + maintainers = with maintainers; [ earldouglas markuskowa ]; platforms = platforms.all; }; diff --git a/pkgs/applications/science/chemistry/chemtool/default.nix b/pkgs/applications/science/chemistry/chemtool/default.nix index bf78aeb825d..37057e1c604 100644 --- a/pkgs/applications/science/chemistry/chemtool/default.nix +++ b/pkgs/applications/science/chemistry/chemtool/default.nix @@ -24,6 +24,12 @@ stdenv.mkDerivation rec { fig2dev ]; + # Workaround build on -fno-common toolchains like upstream gcc-10. + # Otherwise built fails as: + # ld: inout.o:/build/chemtool-1.6.14/ct1.h:279: multiple definition of + # `outtype'; draw.o:/build/chemtool-1.6.14/ct1.h:279: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + preFixup = '' gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ fig2dev ]}") ''; diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix index c1f2c281c7a..92914f45496 100644 --- a/pkgs/applications/version-management/git-and-tools/delta/default.nix +++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "delta"; - version = "0.12.1"; + version = "0.13.0"; src = fetchFromGitHub { owner = "dandavison"; repo = pname; rev = version; - sha256 = "sha256-khW+Ri+MZytMZcd2tRXhc/D6kOOhk+LP6MsS+GijjQM="; + sha256 = "sha256-5h4epV3RORZiynW1fkFLImqPunC3PZ/YzLiSrzescww="; }; - cargoSha256 = "sha256-SD1y+l86wqlJUUaG4ae4PXXSMS+4CPth3F4pLYbXMVc="; + cargoSha256 = "sha256-4dPTcrT8Gx3WfT0sauqnCSmcGE9LrgIqgHrY5l503ZA="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/build-support/kernel/compress-firmware-xz.nix b/pkgs/build-support/kernel/compress-firmware-xz.nix new file mode 100644 index 00000000000..56595131c89 --- /dev/null +++ b/pkgs/build-support/kernel/compress-firmware-xz.nix @@ -0,0 +1,16 @@ +{ runCommand }: + +firmware: + +runCommand "${firmware.name}-xz" {} '' + mkdir -p $out/lib + (cd ${firmware} && find lib/firmware -type d -print0) | + (cd $out && xargs -0 mkdir -v --) + (cd ${firmware} && find lib/firmware -type f -print0) | + (cd $out && xargs -0tP "$NIX_BUILD_CORES" -n1 \ + sh -c 'xz -9c -T1 -C crc32 --lzma2=dict=2MiB "${firmware}/$1" > "$1.xz"' --) + (cd ${firmware} && find lib/firmware -type l) | while read link; do + target="$(readlink "${firmware}/$link")" + ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz" + done +'' diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh index 3b3a38ea1d3..74bc490eb15 100644 --- a/pkgs/build-support/kernel/modules-closure.sh +++ b/pkgs/build-support/kernel/modules-closure.sh @@ -81,8 +81,12 @@ for module in $(cat closure); do for i in $(modinfo -b $kernel --set-version "$version" -F firmware $module | grep -v '^name:'); do mkdir -p "$out/lib/firmware/$(dirname "$i")" echo "firmware for $module: $i" - cp "$firmware/lib/firmware/$i" "$out/lib/firmware/$i" 2>/dev/null \ - || echo "WARNING: missing firmware $i for module $module" + for name in "$i" "$i.xz" ""; do + [ -z "$name" ] && echo "WARNING: missing firmware $i for module $module" + if cp "$firmware/lib/firmware/$name" "$out/lib/firmware/$name" 2>/dev/null; then + break + fi + done done done diff --git a/pkgs/development/compilers/vyper/default.nix b/pkgs/development/compilers/vyper/default.nix index 518b230c838..ee24cc646e4 100644 --- a/pkgs/development/compilers/vyper/default.nix +++ b/pkgs/development/compilers/vyper/default.nix @@ -2,7 +2,6 @@ , buildPythonPackage , fetchPypi , pythonOlder -, pythonAtLeast , pythonRelaxDepsHook , writeText , asttokens @@ -13,6 +12,7 @@ , sphinx_rtd_theme , pytest-runner , setuptools-scm +, git }: let @@ -27,17 +27,21 @@ let in buildPythonPackage rec { pname = "vyper"; - version = "0.3.1"; + version = "0.3.3"; format = "setuptools"; - disabled = pythonOlder "3.7" || pythonAtLeast "3.10"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-fXug5v3zstz19uexMWokHBVsfcl2ZCdIOIXKeLVyh/Q="; + sha256 = "sha256-BAnNj27B1HAb9VVDA69bFGbQjeOpl0g5EB2juajqBAw="; }; nativeBuildInputs = [ + # Git is used in setup.py to compute version information during building + # ever since https://github.com/vyperlang/vyper/pull/2816 + git + pythonRelaxDepsHook pytest-runner setuptools-scm diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix index 23bbd84a209..e630cb4dda6 100644 --- a/pkgs/development/libraries/cln/default.nix +++ b/pkgs/development/libraries/cln/default.nix @@ -1,10 +1,14 @@ -{ lib, stdenv, fetchurl, gmp }: +{ lib, stdenv, fetchurl, fetchgit, gmp }: stdenv.mkDerivation rec { pname = "cln"; version = "1.3.6"; - src = fetchurl { + src = if stdenv.isDarwin then fetchgit { + url = "git://www.ginac.de/cln.git"; + rev = "cln_${builtins.replaceStrings [ "." ] [ "-" ] version}"; + sha256 = "sha256-P32F4TIDhE2Dwzydq8iFK6ch3kICJcXeeXHs5PBQG88="; + } else fetchurl { url = "${meta.homepage}${pname}-${version}.tar.bz2"; sha256 = "0jlq9l4hphk7qqlgqj9ihjp4m3rwjbhk6q4v00lsbgbri07574pl"; }; diff --git a/pkgs/development/misc/rpiboot/default.nix b/pkgs/development/misc/rpiboot/default.nix index 941c7ce904e..35fb41d0a8d 100644 --- a/pkgs/development/misc/rpiboot/default.nix +++ b/pkgs/development/misc/rpiboot/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation rec { description = "Utility to boot a Raspberry Pi CM/CM3/CM4/Zero over USB"; license = licenses.asl20; maintainers = with maintainers; [ cartr ]; - platforms = [ "aarch64-linux" "armv7l-linux" "armv6l-linux" "x86_64-linux" ]; + platforms = [ "aarch64-linux" "aarch64-darwin" "armv7l-linux" "armv6l-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix index b2da0f16eb5..d9b6626e72b 100644 --- a/pkgs/development/node-packages/default.nix +++ b/pkgs/development/node-packages/default.nix @@ -339,6 +339,12 @@ let --set PRISMA_INTROSPECTION_ENGINE_BINARY ${prisma-engines}/bin/introspection-engine \ --set PRISMA_FMT_BINARY ${prisma-engines}/bin/prisma-fmt ''; + + passthru.tests = { + simple-execution = pkgs.callPackage ./package-tests/prisma.nix { + inherit (self) prisma; + }; + }; }; pulp = super.pulp.override { diff --git a/pkgs/development/node-packages/package-tests/prisma.nix b/pkgs/development/node-packages/package-tests/prisma.nix new file mode 100644 index 00000000000..35a5516a3b5 --- /dev/null +++ b/pkgs/development/node-packages/package-tests/prisma.nix @@ -0,0 +1,56 @@ +{ lib, pkgs, runCommand, prisma }: + +let + inherit (prisma) packageName; + prismaMajorVersion = lib.versions.majorMinor prisma.version; + enginesMajorVersion = lib.versions.majorMinor pkgs.prisma-engines.version; +in + +runCommand "${packageName}-tests" { + nativeBuildInputs = with pkgs; [ prisma sqlite-interactive ]; + meta.timeout = 60; +} + '' + mkdir $out + cd $out + + if [ "${prismaMajorVersion}" != "${enginesMajorVersion}" ]; then + echo "nodePackages.prisma in version ${prismaMajorVersion} and prisma-engines in ${enginesMajorVersion}. Major versions must match." + exit 1 + fi + + # Ensure CLI runs + prisma --help > /dev/null + + # Init a new project + prisma init > /dev/null + + # Create a simple data model + cat << EOF > prisma/schema.prisma + datasource db { + provider = "sqlite" + url = "file:test.db" + } + + generator js { + provider = "prisma-client-js" + } + + model A { + id Int @id @default(autoincrement()) + b String @default("foo") + } + EOF + + # Format + prisma format > /dev/null + + # Create the database + prisma db push --skip-generate > /dev/null + + # The database file should exist and be a SQLite database + sqlite3 prisma/test.db "SELECT id, b FROM A" > /dev/null + + # Introspect the database + prisma db pull > /dev/null + '' diff --git a/pkgs/development/python-modules/fastjsonschema/default.nix b/pkgs/development/python-modules/fastjsonschema/default.nix index 23a552a9b4c..f4551b65bd3 100644 --- a/pkgs/development/python-modules/fastjsonschema/default.nix +++ b/pkgs/development/python-modules/fastjsonschema/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , buildPythonPackage , fetchFromGitHub , pytestCheckHook @@ -31,6 +32,8 @@ buildPythonPackage rec { # these tests require network access "remote ref" "definitions" + ] ++ lib.optionals stdenv.isDarwin [ + "test_compile_to_code_custom_format" # cannot import temporary module created during test ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/gpt-2-simple/default.nix b/pkgs/development/python-modules/gpt-2-simple/default.nix new file mode 100644 index 00000000000..68f8cba8dc4 --- /dev/null +++ b/pkgs/development/python-modules/gpt-2-simple/default.nix @@ -0,0 +1,26 @@ +{ lib, buildPythonPackage, fetchFromGitHub, regex, requests, tqdm, numpy +, toposort, tensorflow }: + +buildPythonPackage rec { + pname = "gpt-2-simple"; + version = "0.8.1"; + + src = fetchFromGitHub { + owner = "minimaxir"; + repo = "gpt-2-simple"; + rev = "v${version}"; + sha256 = "sha256-WwD4sDcc28zXEOISJsq8e+rgaNrrgIy79Wa4J3E7Ovc="; + }; + + propagatedBuildInputs = [ regex requests tqdm numpy toposort tensorflow ]; + + dontCheck = true; # no tests in upstream + + meta = with lib; { + description = + "Easily retrain OpenAI's GPT-2 text-generating model on new texts"; + homepage = "https://github.com/minimaxir/gpt-2-simple"; + license = licenses.mit; + maintainers = with maintainers; [ ckie ]; + }; +} diff --git a/pkgs/development/python-modules/py-deprecate/default.nix b/pkgs/development/python-modules/py-deprecate/default.nix new file mode 100644 index 00000000000..ff921789bbf --- /dev/null +++ b/pkgs/development/python-modules/py-deprecate/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, scikit-learn +, pytorch +}: + +let + pname = "py-deprecate"; + version = "0.3.2"; +in +buildPythonPackage { + inherit pname version; + + src = fetchFromGitHub { + owner = "Borda"; + repo = "pyDeprecate"; + rev = "v${version}"; + hash = "sha256-84RmQvLxwtLPQk3hX7Q6eeJeejhrO3t+mc95W1E85Fg="; + }; + + checkInputs = [ + pytestCheckHook + scikit-learn + ]; + + pythonImportsCheck = [ "deprecate" ]; + + meta = with lib; { + description = "A module for marking deprecated functions or classes and re-routing to the new successors' instance. Used by torchmetrics"; + homepage = "https://borda.github.io/pyDeprecate/"; + license = licenses.asl20; + maintainers = with maintainers; [ + SomeoneSerge + ]; + }; +} + diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix index d3c9a965515..0b562f4b5a2 100644 --- a/pkgs/development/python-modules/pytorch-lightning/default.nix +++ b/pkgs/development/python-modules/pytorch-lightning/default.nix @@ -3,15 +3,18 @@ , fetchFromGitHub , isPy27 , future +, fsspec +, packaging , pytestCheckHook , pytorch , pyyaml , tensorboard +, torchmetrics , tqdm }: buildPythonPackage rec { pname = "pytorch-lightning"; - version = "1.5.10"; + version = "1.6.3"; disabled = isPy27; @@ -19,14 +22,17 @@ buildPythonPackage rec { owner = "PyTorchLightning"; repo = pname; rev = version; - sha256 = "sha256-GP6/VZuRv8dS5wKQW7RbtOSa2vV9Af2Jp+ioEW3bIgc="; + hash = "sha256-MEUFrj84y5lQfwbC9s9fJNOKo+Djeh+E/eDc8KeX7V4="; }; propagatedBuildInputs = [ + packaging future + fsspec pytorch pyyaml tensorboard + torchmetrics tqdm ]; diff --git a/pkgs/development/python-modules/torchmetrics/default.nix b/pkgs/development/python-modules/torchmetrics/default.nix new file mode 100644 index 00000000000..ddccb4d7865 --- /dev/null +++ b/pkgs/development/python-modules/torchmetrics/default.nix @@ -0,0 +1,78 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, cloudpickle +, scikit-learn +, scikitimage +, packaging +, psutil +, py-deprecate +, pytorch +, pytestCheckHook +, torchmetrics +, pytorch-lightning +}: + +let + pname = "torchmetrics"; + version = "0.8.1"; +in +buildPythonPackage { + inherit pname version; + + src = fetchFromGitHub { + owner = "PyTorchLightning"; + repo = "metrics"; + rev = "v${version}"; + hash = "sha256-AryEhYAeC97dO2pgHoz0Y9F//DVdX6RfCa80gI56iz4="; + }; + + propagatedBuildInputs = [ + packaging + py-deprecate + ]; + + # Let the user bring their own instance + buildInputs = [ + pytorch + ]; + + checkInputs = [ + pytorch-lightning + scikit-learn + scikitimage + cloudpickle + psutil + pytestCheckHook + ]; + + # A cyclic dependency in: integrations/test_lightning.py + doCheck = false; + passthru.tests.check = torchmetrics.overridePythonAttrs (_: { + doCheck = true; + }); + + disabledTestPaths = [ + # These require too many "leftpad-level" dependencies + "tests/text" + "tests/audio" + "tests/image" + + # A few non-deterministic things like test_check_compute_groups_is_faster + "tests/bases/test_collections.py" + ]; + + pythonImportsCheck = [ + "torchmetrics" + ]; + + meta = with lib; { + description = "Machine learning metrics for distributed, scalable PyTorch applications (used in pytorch-lightning)"; + homepage = "https://torchmetrics.readthedocs.io"; + license = licenses.asl20; + maintainers = with maintainers; [ + SomeoneSerge + ]; + }; +} + diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix new file mode 100644 index 00000000000..a8c6821f27f --- /dev/null +++ b/pkgs/development/tools/dump_syms/default.nix @@ -0,0 +1,46 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, pkg-config +, openssl +}: + +let + pname = "dump_syms"; + version = "unstable-2022-05-05"; +in +rustPlatform.buildRustPackage { + inherit pname version; + + src = fetchFromGitHub { + owner = "mozilla"; + repo = pname; + rev = "c2743d59b5aa321ade698f84b90f86b3d35a1b06"; + hash = "sha256-hWK9KrYqbfrF8b7i33InlTa/XkoZs+h49kUsKeSaAok="; + }; + + cargoSha256 = "sha256:0vsr867nl156wpxpw01bv9fxsp6rhj9vvpz2i2yhx4kjgr1qk1kw"; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + checkFlags = [ + # Disable tests that require network access + # ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" })) }', src/windows/pdb.rs:725:56 + "--skip windows::pdb::tests::test_ntdll" + "--skip windows::pdb::tests::test_oleaut32" + ]; + + meta = with lib; { + changelog = "https://github.com/mozilla/dump_syms/releases/tag/v${version}"; + description = "Command-line utility for parsing the debugging information the compiler provides in ELF or stand-alone PDB files"; + license = licenses.asl20; + homepage = "https://github.com/mozilla/dump_syms/"; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/games/cdogs-sdl/default.nix b/pkgs/games/cdogs-sdl/default.nix index 2b072a44752..474fd735f73 100644 --- a/pkgs/games/cdogs-sdl/default.nix +++ b/pkgs/games/cdogs-sdl/default.nix @@ -26,7 +26,10 @@ stdenv.mkDerivation rec { patchShebangs src/proto/nanopb/generator/* ''; - cmakeFlags = [ "-DCDOGS_DATA_DIR=${placeholder "out"}/" ]; + cmakeFlags = [ + "-DCDOGS_DATA_DIR=${placeholder "out"}/" + "-DCMAKE_C_FLAGS=-Wno-error=array-bounds" + ]; nativeBuildInputs = [ pkg-config diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix index 622b89b1bae..92c179726d2 100644 --- a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix +++ b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { sourceRoot = "."; installPhase = '' - mkdir $out - b43-fwcutter -w $out *.wl_apsta.o + mkdir -p $out/lib/firmware + b43-fwcutter -w $out/lib/firmware *.wl_apsta.o ''; meta = with lib; { diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index fdf54d302bf..d25e20bac8b 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -883,6 +883,8 @@ let # Disable the firmware helper fallback, udev doesn't implement it any more FW_LOADER_USER_HELPER_FALLBACK = option no; + FW_LOADER_COMPRESS = option yes; + HOTPLUG_PCI_ACPI = yes; # PCI hotplug using ACPI HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix index afa537bddd4..3349f0cf3a0 100644 --- a/pkgs/servers/minio/default.nix +++ b/pkgs/servers/minio/default.nix @@ -15,16 +15,16 @@ let in buildGoModule rec { pname = "minio"; - version = "2022-03-22T02-05-10Z"; + version = "2022-05-08T23-50-31Z"; src = fetchFromGitHub { owner = "minio"; repo = "minio"; rev = "RELEASE.${version}"; - sha256 = "sha256-N0ua+XHkLr33PElSdOzVQF3POPU+lx4/M6LJzxtkisI="; + sha256 = "sha256-Ssuqk/ax6MWdXtbJqWeTTtsIiTK4FmYSR5rOqxh+IaU="; }; - vendorSha256 = "sha256-Ql3J2r489Hzhy6E9uZwQXJIw/njb5oafCYjOyWGzbXs="; + vendorSha256 = "sha256-JoI3B3rDzlY0lDHF3rjrzv8/Rq+XCFRs35bWVZqfAKA="; doCheck = false; diff --git a/pkgs/servers/misc/virtiofsd/default.nix b/pkgs/servers/misc/virtiofsd/default.nix index d8ae7ca61d9..0c60281b0d7 100644 --- a/pkgs/servers/misc/virtiofsd/default.nix +++ b/pkgs/servers/misc/virtiofsd/default.nix @@ -1,17 +1,21 @@ -{ lib, rustPlatform, fetchFromGitLab, libcap_ng, libseccomp }: +{ lib, stdenv, rustPlatform, fetchFromGitLab, libcap_ng, libseccomp }: rustPlatform.buildRustPackage rec { pname = "virtiofsd"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitLab { owner = "virtio-fs"; repo = "virtiofsd"; rev = "v${version}"; - sha256 = "sha256-WB0zu2M/5enBOoOUUSXnNAkbsA+JzDgtoLncE1YcDLs="; + sha256 = "161z88nx2x2j4q8fbxryv7v63f9aw7wpvl6vg6x4xzllnrw6p607"; }; - cargoSha256 = "sha256-uRPmZE/xc0yeurBZ4rnrZua5d4lbPwStMUacFgbquuk="; + cargoSha256 = "0ma3kaaa4bl11015gxijwzyxhixz947k8byaypmmw0dj9m1vhv77"; + + LIBCAPNG_LIB_PATH = "${lib.getLib libcap_ng}/lib"; + LIBCAPNG_LINK_TYPE = + if stdenv.hostPlatform.isStatic then "static" else "dylib"; buildInputs = [ libcap_ng libseccomp ]; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index b583a72c281..3b670f6b64e 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -15,6 +15,10 @@ let malloc0ReturnsNullCrossFlag = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--enable-malloc0returnsnull"; + + brokenOnDarwin = pkg: pkg.overrideAttrs (attrs: { + meta = attrs.meta // { broken = isDarwin; }; + }); in self: super: { @@ -388,14 +392,22 @@ self: super: configureFlags = [ "--with-sdkdir=${placeholder "out"}/include/xorg" ]; + meta = attrs.meta // { + broken = isDarwin; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputmouse.x86_64-darwin + }; }); xf86inputjoystick = super.xf86inputjoystick.overrideAttrs (attrs: { configureFlags = [ "--with-sdkdir=${placeholder "out"}/include/xorg" ]; + meta = attrs.meta // { + broken = isDarwin; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputjoystick.x86_64-darwin + }; }); + xf86inputkeyboard = brokenOnDarwin super.xf86inputkeyboard; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputkeyboard.x86_64-darwin + xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: { outputs = [ "out" "dev" ]; configureFlags = [ @@ -423,6 +435,12 @@ self: super: }; }); + xf86inputvoid = brokenOnDarwin super.xf86inputvoid; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputvoid.x86_64-darwin + xf86videodummy = brokenOnDarwin super.xf86videodummy; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videodummy.x86_64-darwin + xf86videosuncg6 = brokenOnDarwin super.xf86videosuncg6; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videosuncg6.x86_64-darwin + xf86videosunffb = brokenOnDarwin super.xf86videosunffb; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videosunffb.x86_64-darwin + xf86videosunleo = brokenOnDarwin super.xf86videosunleo; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videosunleo.x86_64-darwin + # Obsolete drivers that don't compile anymore. xf86videoark = super.xf86videoark.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); xf86videogeode = super.xf86videogeode.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); diff --git a/pkgs/tools/backup/restic/rest-server.nix b/pkgs/tools/backup/restic/rest-server.nix index 6296103c1c2..0e9a72381ba 100644 --- a/pkgs/tools/backup/restic/rest-server.nix +++ b/pkgs/tools/backup/restic/rest-server.nix @@ -3,11 +3,10 @@ buildGoModule rec { pname = "restic-rest-server"; version = "0.11.0"; - owner = "restic"; - repo = "rest-server"; src = fetchFromGitHub { - inherit owner repo; + owner = "restic"; + repo = "rest-server"; rev = "v${version}"; hash = "sha256-ninPODztNzvB2js9cuNAuExQLK/OGOu80ZNW0BPrdds="; }; @@ -17,7 +16,7 @@ buildGoModule rec { patches = [ (fetchpatch { name = "backport_rest-server_tests_os.TempDir.patch"; - url = "https://github.com/${owner}/${repo}/commit/a87a50ad114bdaddc895413396438df6ea0affbb.patch"; + url = "https://github.com/restic/rest-server/commit/a87a50ad114bdaddc895413396438df6ea0affbb.patch"; sha256 = "sha256-O6ENxTK2fCVTZZKTFHrvZ+3dT8TbgbIE0o3sYE/RUqc="; }) diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index a3f5c44781a..674ec355584 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -11,11 +11,11 @@ # Note: when upgrading this package, please run the list-missing-tools.sh script as described below! python3Packages.buildPythonApplication rec { pname = "diffoscope"; - version = "210"; + version = "211"; src = fetchurl { url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; - sha256 = "sha256-KaECH995scVdBbxQ4YhZUFmm04ptgi4yx14oDFX+zSw="; + sha256 = "sha256-B2Ll1N9JJkBM32eGHBtTscq6MR4T+yB98LTpjz094zo="; }; outputs = [ "out" "man" ]; diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix index b0a689db7bf..9ca4dfa27b3 100644 --- a/pkgs/tools/networking/minio-client/default.nix +++ b/pkgs/tools/networking/minio-client/default.nix @@ -1,17 +1,17 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "minio-client"; - version = "2022-03-17T20-25-06Z"; + version = "2022-05-09T04-08-26Z"; src = fetchFromGitHub { owner = "minio"; repo = "mc"; rev = "RELEASE.${version}"; - sha256 = "sha256-+MfRosEyIaQ5RndpAeK5AXm8EHX2ND7VJcr1NVFs5TI="; + sha256 = "sha256-a7zpvumsMijMmJthg4EZgOUymDC4GrbDjAwN4sXxE6g="; }; - vendorSha256 = "sha256-Wdw9mZ3UupoJ4yDwS4f3mOmCn+7TvHmx4aRu+96pHM4="; + vendorSha256 = "sha256-OkcQxTDKhuFCjNs5TNBBMde+M6vCfPSR5IuVbCaqWJg="; subPackages = [ "." ]; @@ -26,6 +26,8 @@ buildGoModule rec { $out/bin/mc --version | grep ${version} > /dev/null ''; + passthru.tests.minio = nixosTests.minio; + meta = with lib; { homepage = "https://github.com/minio/mc"; description = "A replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage"; diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix index 9752d78a183..9c6263c5c85 100644 --- a/pkgs/tools/security/sops/default.nix +++ b/pkgs/tools/security/sops/default.nix @@ -2,16 +2,18 @@ buildGoModule rec { pname = "sops"; - version = "3.7.2"; + version = "3.7.3"; src = fetchFromGitHub { rev = "v${version}"; owner = "mozilla"; repo = pname; - sha256 = "sha256-NMuYMvaBSxKHvpqFkMfnMDvcXxTstqzracuSTT1VB1A="; + sha256 = "sha256-wN1ksLwD4G+fUhvCe+jahh1PojPk6L6tnx1rsc7dz+M="; }; - vendorSha256 = "sha256-00/7O9EcGojUExJPtYWndb16VqrNby/5GsVs8Ak/Isc="; + vendorSha256 = "sha256-8IaE+vhVZkc9QDR6+/3eOSsuf3SYF2upNcCifbqtx14="; + + ldflags = [ "-s" "-w" ]; doCheck = false; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5fd6e2272ec..1987a691e1e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -808,6 +808,8 @@ with pkgs; sanitizers = [ ]; }; + compressFirmwareXz = callPackage ../build-support/kernel/compress-firmware-xz.nix { }; + makeModulesClosure = { kernel, firmware, rootModules, allowMissing ? false }: callPackage ../build-support/kernel/modules-closure.nix { inherit kernel firmware rootModules allowMissing; @@ -5311,6 +5313,8 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; + dump_syms = callPackage ../development/tools/dump_syms { }; + dumptorrent = callPackage ../tools/misc/dumptorrent { }; duo-unix = callPackage ../tools/security/duo-unix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fc8c10ac5e7..f84525fe0e0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3628,6 +3628,8 @@ in { gpy = callPackage ../development/python-modules/gpy { }; + gpt-2-simple = callPackage ../development/python-modules/gpt-2-simple { }; + gpyopt = callPackage ../development/python-modules/gpyopt { }; gql = callPackage ../development/python-modules/gql { }; @@ -5843,6 +5845,8 @@ in { python-nvd3 = callPackage ../development/python-modules/python-nvd3 { }; + py-deprecate = callPackage ../development/python-modules/py-deprecate { }; + nwdiag = callPackage ../development/python-modules/nwdiag { }; oasatelematics = callPackage ../development/python-modules/oasatelematics { }; @@ -10364,6 +10368,8 @@ in { torchgpipe = callPackage ../development/python-modules/torchgpipe { }; + torchmetrics = callPackage ../development/python-modules/torchmetrics { }; + torchinfo = callPackage ../development/python-modules/torchinfo { }; torchvision = callPackage ../development/python-modules/torchvision { };