diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 3ca43a75c26..721080949e0 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -302,7 +302,7 @@ let checkDhcpV6 = checkUnitConfig "DHCPv6" [ (assertOnlyFields [ - "UseDns" "UseNTP" "RapidCommit" "ForceDHCPv6PDOtherInformation" + "UseDNS" "UseNTP" "RapidCommit" "ForceDHCPv6PDOtherInformation" "PrefixDelegationHint" ]) (assertValueOneOf "UseDNS" boolValues) diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index 4f6b73d592c..34e7e145e74 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -3,12 +3,12 @@ }: mkDerivation rec { - version = "2.3.5.1"; + version = "2.3.5.2"; pname = "lyx"; src = fetchurl { url = "ftp://ftp.lyx.org/pub/lyx/stable/2.3.x/${pname}-${version}.tar.xz"; - sha256 = "0mv32s26igm0pd8vs7d2mk1240dpr83y0a2wyh3xz6b67ph0w157"; + sha256 = "1pwdh0ljd7lm5a83vsqmp4695irhig07wxa90jc23ng5gap589na"; }; # LaTeX is used from $PATH, as people often want to have it with extra pkgs diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix index 5df4a1b8d93..d541c5e1289 100644 --- a/pkgs/applications/misc/masterpdfeditor/default.nix +++ b/pkgs/applications/misc/masterpdfeditor/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "masterpdfeditor"; - version = "5.4.38"; + version = "5.6.09"; src = fetchurl { url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz"; - sha256 = "0fidy8gd4mqvyfgmrwdiz8z53dyzihqqhgfrffj0z0idm2zi4mcq"; + sha256 = "0v9j6fwr0xl03kr77vf4wdb06zlplmn4mr3jyzxhvs8a77scmfzb"; }; nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ]; diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index cb442f67359..8f060128561 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -47,6 +47,7 @@ , gnupg , ffmpeg_3 , runtimeShell +, mesa # firefox wants gbm for drm+dmabuf , systemLocale ? config.i18n.defaultLocale or "en-US" }: @@ -106,6 +107,7 @@ stdenv.mkDerivation { gtk2 gtk3 kerberos + mesa libX11 libXScrnSaver libXcomposite diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 9e7e4bc5efa..40393f85b1a 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -10,6 +10,7 @@ , udev , kerberos , libva +, mesa # firefox wants gbm for drm+dmabuf }: ## configurability of the wrapper itself @@ -26,11 +27,12 @@ let , nameSuffix ? "" , icon ? browserName , extraNativeMessagingHosts ? [] - , gdkWayland ? false + , forceWayland ? false + , useGlvnd ? true , cfg ? config.${browserName} or {} }: - assert gdkWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used + assert forceWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used let enableAdobeFlash = cfg.enableAdobeFlash or false; @@ -65,10 +67,10 @@ let ++ lib.optional (cfg.enableFXCastBridge or false) fx_cast_bridge ++ extraNativeMessagingHosts ); - libs = lib.optionals stdenv.isLinux [ udev libva ] + libs = lib.optionals stdenv.isLinux [ udev libva mesa ] ++ lib.optional ffmpegSupport ffmpeg ++ lib.optional gssSupport kerberos - ++ lib.optional gdkWayland libglvnd + ++ lib.optional useGlvnd libglvnd ++ lib.optionals (cfg.enableQuakeLive or false) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]) ++ lib.optional (enableAdobeFlash && (cfg.enableAdobeFlashDRM or false)) hal-flash @@ -83,7 +85,7 @@ let exec = "${browserName}${nameSuffix} %U"; inherit icon; comment = ""; - desktopName = "${desktopName}${nameSuffix}${lib.optionalString gdkWayland " (Wayland)"}"; + desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}"; genericName = "Web Browser"; categories = "Network;WebBrowser;"; mimeType = stdenv.lib.concatStringsSep ";" [ @@ -124,8 +126,8 @@ let --set SNAP_NAME "firefox" \ --set MOZ_LEGACY_PROFILES 1 \ --set MOZ_ALLOW_DOWNGRADE 1 \ - ${lib.optionalString gdkWayland '' - --set GDK_BACKEND "wayland" \ + ${lib.optionalString forceWayland '' + --set MOZ_ENABLE_WAYLAND "1" \ ''}${lib.optionalString (browser ? gtk3) ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index 3d75780936e..448d6d0535a 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gtkwave"; - version = "3.3.104"; + version = "3.3.105"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; - sha256 = "1qvldbnlp3wkqr5ff93f6pdvv9yzij7lxfhpqlizakz08l1xb391"; + sha256 = "1vifgyhwqhpipnzmsivncawqjqihcm5kyg3yyygmd0lmgljy9rs4"; }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; diff --git a/pkgs/development/arduino/platformio/chrootenv.nix b/pkgs/development/arduino/platformio/chrootenv.nix index 01a2fb873aa..62a1d190a00 100644 --- a/pkgs/development/arduino/platformio/chrootenv.nix +++ b/pkgs/development/arduino/platformio/chrootenv.nix @@ -1,4 +1,4 @@ -{ lib, buildFHSUserEnv }: +{ lib, buildFHSUserEnv, fetchFromGitHub }: let pio-pkgs = pkgs: @@ -19,6 +19,14 @@ let platformio ]); + src = fetchFromGitHub { + owner = "platformio"; + repo = "platformio-core"; + rev = "v4.3.4"; + sha256 = "0vf2j79319ypr4yrdmx84853igkb188sjfvlxgw06rlsvsm3kacq"; + }; + + in buildFHSUserEnv { name = "platformio"; @@ -34,7 +42,10 @@ in buildFHSUserEnv { }; extraInstallCommands = '' + mkdir -p $out/lib/udev/rules.d + ln -s $out/bin/platformio $out/bin/pio + ln -s ${src}/scripts/99-platformio-udev.rules $out/lib/udev/rules.d/99-platformio-udev.rules ''; runScript = "platformio"; diff --git a/pkgs/development/arduino/platformio/core.nix b/pkgs/development/arduino/platformio/core.nix index d83013dbbde..891d613da51 100644 --- a/pkgs/development/arduino/platformio/core.nix +++ b/pkgs/development/arduino/platformio/core.nix @@ -82,6 +82,7 @@ in buildPythonApplication rec { patches = [ ./fix-searchpath.patch ./use-local-spdx-license-list.patch + ./missing-udev-rules-nixos.patch ]; postPatch = '' diff --git a/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch b/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch new file mode 100644 index 00000000000..f29b93cef4d --- /dev/null +++ b/pkgs/development/arduino/platformio/missing-udev-rules-nixos.patch @@ -0,0 +1,14 @@ +diff --git a/platformio/exception.py b/platformio/exception.py +index d291ad7f..4761a35b 100644 +--- a/platformio/exception.py ++++ b/platformio/exception.py +@@ -195,7 +195,8 @@ class MissedUdevRules(InvalidUdevRules): + + MESSAGE = ( + "Warning! Please install `99-platformio-udev.rules`. \nMode details: " +- "https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules" ++ "https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules\n" ++ "On NixOS add the platformio package to services.udev.packages" + ) + + diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix index 039231c0142..410e790255f 100644 --- a/pkgs/development/libraries/gperftools/default.nix +++ b/pkgs/development/libraries/gperftools/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1jb30zxmw7h9qxa8yi76rfxj4ssk60rv8n9y41m6pzqfk9lwis0y"; }; - buildInputs = stdenv.lib.optional stdenv.isLinux libunwind; + # tcmalloc uses libunwind in a way that works correctly only on non-ARM linux + buildInputs = stdenv.lib.optional (stdenv.isLinux && !(stdenv.isAarch64 || stdenv.isAarch32)) libunwind; prePatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace Makefile.am --replace stdc++ c++ diff --git a/pkgs/development/python-modules/msrest/default.nix b/pkgs/development/python-modules/msrest/default.nix index b415537106e..2e67fbec2c0 100644 --- a/pkgs/development/python-modules/msrest/default.nix +++ b/pkgs/development/python-modules/msrest/default.nix @@ -18,7 +18,7 @@ }: buildPythonPackage rec { - version = "0.6.13"; + version = "0.6.17"; pname = "msrest"; # no tests in PyPI tarball @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "Azure"; repo = "msrest-for-python"; rev = "v${version}"; - sha256 = "1s34xp6wgas17mbg6ysciqlgb3qc2p2d5bs9brwr05ys62l6y8cz"; + sha256 = "1f1cpl5x7q0f9lpwxc1pl9j5x5yrksfizl9k939iqklf95ssymff"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix index a97469e8073..96c546e5d35 100644 --- a/pkgs/development/python-modules/msrestazure/default.nix +++ b/pkgs/development/python-modules/msrestazure/default.nix @@ -12,7 +12,7 @@ }: buildPythonPackage rec { - version = "0.6.3"; + version = "0.6.4"; pname = "msrestazure"; # Pypi tarball doesnt include tests @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "Azure"; repo = "msrestazure-for-python"; rev = "v${version}"; - sha256 = "0pd3qw96c9fz4qgimnc0qf0pz7m9rr1wzhxj8m792swaf3pb18z8"; + sha256 = "0ik81f0n6r27f02gblgm0vl5zl3wc6ijsscihgvc1fgm9f5mk5b5"; }; propagatedBuildInputs = [ adal msrest ]; diff --git a/pkgs/development/python-modules/vdirsyncer/stable.nix b/pkgs/development/python-modules/vdirsyncer/stable.nix index cb90bfbc598..6e1dc982567 100644 --- a/pkgs/development/python-modules/vdirsyncer/stable.nix +++ b/pkgs/development/python-modules/vdirsyncer/stable.nix @@ -1,9 +1,7 @@ { stdenv -, pythonAtLeast , buildPythonPackage , fetchPypi , isPy27 -, fetchpatch , click , click-log , click-threading @@ -11,25 +9,21 @@ , requests , requests_oauthlib # required for google oauth sync , atomicwrites -, milksnake -, shippai , hypothesis -, pytest +, pytestCheckHook , pytest-localserver , pytest-subtesthack , setuptools_scm }: -# Packaging documentation at: -# https://github.com/pimutils/vdirsyncer/blob/0.16.7/docs/packaging.rst buildPythonPackage rec { - version = "0.16.7"; + version = "0.16.8"; pname = "vdirsyncer"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "6c9bcfb9bcb01246c83ba6f8551cf54c58af3323210755485fc23bb7848512ef"; + sha256 = "bfdb422f52e1d4d60bd0635d203fb59fa7f613397d079661eb48e79464ba13c5"; }; propagatedBuildInputs = [ @@ -46,43 +40,25 @@ buildPythonPackage rec { checkInputs = [ hypothesis - pytest + pytestCheckHook pytest-localserver pytest-subtesthack ]; - patches = [ - # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779 - (fetchpatch { - url = "https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch"; - sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl"; - }) - ]; - postPatch = '' - # Invalid argument: 'perform_health_check' is not a valid setting - substituteInPlace tests/conftest.py \ - --replace "perform_health_check=False" "" - substituteInPlace tests/unit/test_repair.py \ - --replace $'@settings(perform_health_check=False) # Using the random module for UIDs\n' "" + substituteInPlace setup.py --replace "click>=5.0,<6.0" "click" ''; - checkPhase = '' - make DETERMINISTIC_TESTS=true PYTEST_ARGS="--deselect=tests/system/cli/test_sync.py::test_verbosity" test + preCheck = '' + export DETERMINISTIC_TESTS=true ''; - # Tests started to fail lately, for any python version even as low as 3.5 but - # if you enable the check, you'll see even severer errors with a higher then - # 3.5 python version. Hence it's marked as broken for higher then 3.5 and the - # checks are disabled unconditionally. As a general end user advice, use the - # normal "unstable" `vdirsyncer` derivation, not this one. - doCheck = false; + + disabledTests = [ "test_verbosity" ]; meta = with stdenv.lib; { homepage = "https://github.com/pimutils/vdirsyncer"; description = "Synchronize calendars and contacts"; license = licenses.mit; - # vdirsyncer (unstable) works with mainline python versions - broken = (pythonAtLeast "3.6"); maintainers = with maintainers; [ loewenheim ]; }; } diff --git a/pkgs/os-specific/linux/smemstat/default.nix b/pkgs/os-specific/linux/smemstat/default.nix index 6693b379948..64525052af2 100644 --- a/pkgs/os-specific/linux/smemstat/default.nix +++ b/pkgs/os-specific/linux/smemstat/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "smemstat"; - version = "0.02.07"; + version = "0.02.08"; src = fetchurl { url = "https://kernel.ubuntu.com/~cking/tarballs/smemstat/smemstat-${version}.tar.xz"; - sha256 = "09i5n1zjw45qrfbc2vglh1xk1jwqnc91bgsq7bkp29d9dpfpzhdc"; + sha256 = "1agigvkv1868cskivzrwyiixl658x5bv7xpz4xjc8mlii4maivpp"; }; buildInputs = [ ncurses ]; installFlags = [ "DESTDIR=$(out)" ]; diff --git a/pkgs/servers/nosql/mongodb/mongodb.nix b/pkgs/servers/nosql/mongodb/mongodb.nix index 8ffdbcd63c4..2c058edbcca 100644 --- a/pkgs/servers/nosql/mongodb/mongodb.nix +++ b/pkgs/servers/nosql/mongodb/mongodb.nix @@ -102,6 +102,13 @@ in stdenv.mkDerivation rec { rm -f "$out/bin/install_compass" || true ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + "$out/bin/mongo" --version + runHook postInstallCheck + ''; + prefixKey = "--prefix="; enableParallelBuilding = true; diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix index e5ef70e43a9..8463b1750d1 100644 --- a/pkgs/shells/bash/bash-completion/default.nix +++ b/pkgs/shells/bash/bash-completion/default.nix @@ -30,10 +30,6 @@ stdenv.mkDerivation rec { python3Packages.pexpect python3Packages.pytest bashInteractive - - # use xdist to speed up the test run, just like upstream: - # https://github.com/scop/bash-completion/blob/009bf2228c68894629eb6fd17b3dc0f1f6d67615/test/requirements.txt#L4 - python3Packages.pytest_xdist ]; # - ignore test_gcc on ARM because it assumes -march=native @@ -44,7 +40,7 @@ stdenv.mkDerivation rec { # - ignore test_ls because impure logic # - ignore test_screen because it assumes vt terminals exist checkPhase = '' - pytest -n $NIX_BUILD_CORES . \ + pytest . \ ${stdenv.lib.optionalString (stdenv.hostPlatform.isAarch64 || stdenv.hostPlatform.isAarch32) "--ignore=test/t/test_gcc.py"} \ --ignore=test/t/test_chsh.py \ --ignore=test/t/test_ether_wake.py \ diff --git a/pkgs/tools/inputmethods/interception-tools/caps2esc.nix b/pkgs/tools/inputmethods/interception-tools/caps2esc.nix index 994e9da3e43..7e6206eb1f3 100644 --- a/pkgs/tools/inputmethods/interception-tools/caps2esc.nix +++ b/pkgs/tools/inputmethods/interception-tools/caps2esc.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, cmake }: +{ stdenv, fetchFromGitLab, cmake }: -let - version = "0.1.0"; - pname = "interception-tools-caps2esc"; -in stdenv.mkDerivation { - name = "${pname}-${version}"; +stdenv.mkDerivation rec { + pname = "caps2esc"; + version = "0.1.3"; - src = fetchurl { - url = "https://gitlab.com/interception/linux/plugins/caps2esc/repository/v${version}/archive.tar.gz"; - sha256 = "1fdxqp54gwsrm2c63168l256nfwdk4mvgr7nlwdv62wd3l7zzrg8"; + src = fetchFromGitLab { + owner = "interception/linux/plugins"; + repo = pname; + rev = "v${version}"; + sha256 = "10xv56vh5h3lxyii3ni166ddv1sz2pylrjmdwxhb4gd2p5zgl1ji"; }; - buildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ]; meta = with stdenv.lib; { homepage = "https://gitlab.com/interception/linux/plugins/caps2esc"; diff --git a/pkgs/tools/security/gen-oath-safe/default.nix b/pkgs/tools/security/gen-oath-safe/default.nix index 15b8820bfd5..68536a519aa 100644 --- a/pkgs/tools/security/gen-oath-safe/default.nix +++ b/pkgs/tools/security/gen-oath-safe/default.nix @@ -1,4 +1,4 @@ -{ coreutils, fetchFromGitHub, libcaca, makeWrapper, python, openssl, qrencode, stdenv, yubikey-manager }: +{ coreutils, fetchFromGitHub, file, libcaca, makeWrapper, python, openssl, qrencode, stdenv, yubikey-manager }: stdenv.mkDerivation rec { pname = "gen-oath-safe"; @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { let path = stdenv.lib.makeBinPath [ coreutils + file libcaca.bin openssl.bin python diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4f007ffaba9..7de5d82c09e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19925,7 +19925,7 @@ in firefox-unwrapped = firefoxPackages.firefox; firefox-esr-68-unwrapped = firefoxPackages.firefox-esr-68; firefox = wrapFirefox firefox-unwrapped { }; - firefox-wayland = wrapFirefox firefox-unwrapped { gdkWayland = true; }; + firefox-wayland = wrapFirefox firefox-unwrapped { forceWayland = true; }; firefox-esr-68 = wrapFirefox firefox-esr-68-unwrapped { }; firefox-esr = firefox-esr-68;