diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index da8fdd1a64a..747ce847541 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2103,6 +2103,12 @@ email = "christoph.senjak@googlemail.com"; name = "Christoph-Simon Senjak"; }; + davhau = { + email = "d.hauer.it@gmail.com"; + name = "David Hauer"; + github = "DavHau"; + githubId = 42246742; + }; david-sawatzke = { email = "d-nix@sawatzke.dev"; github = "david-sawatzke"; diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index e67badfcd29..b19cd073252 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -270,7 +270,7 @@ in drivers = mkOption { type = types.listOf types.path; default = []; - example = literalExample "with pkgs; [ gutenprint hplip splix cups-googlecloudprint ]"; + example = literalExample "with pkgs; [ gutenprint hplip splix ]"; description = '' CUPS drivers to use. Drivers provided by CUPS, cups-filters, Ghostscript and Samba are added unconditionally. If this list contains diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 59f5638044f..6e354f013fa 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -356,11 +356,11 @@ else { if ($suffix eq ".jpg") { $suffix = ".jpeg"; } - if ($backgroundColor) { - $conf .= " - background_color '$backgroundColor' - "; - } + if ($backgroundColor) { + $conf .= " + background_color '$backgroundColor' + "; + } copy $splashImage, "$bootPath/background$suffix" or die "cannot copy $splashImage to $bootPath: $!\n"; $conf .= " insmod " . substr($suffix, 1) . " diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 8dd2ea20519..fa14d86e253 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -56,7 +56,7 @@ let ykinfo -v 1>/dev/null 2>&1 if [ $? != 0 ]; then - echo -n "Waiting $secs seconds for Yubikey to appear..." + echo -n "Waiting $secs seconds for YubiKey to appear..." local success=false for try in $(seq $secs); do echo -n . @@ -118,7 +118,7 @@ let # Cryptsetup locking directory mkdir -p /run/cryptsetup - # For Yubikey salt storage + # For YubiKey salt storage mkdir -p /crypt-storage ${optionalString luks.gpgSupport '' @@ -218,7 +218,7 @@ let } ${optionalString (luks.yubikeySupport && (yubikey != null)) '' - # Yubikey + # YubiKey rbtohex() { ( od -An -vtx1 | tr -d ' \n' ) } @@ -244,7 +244,7 @@ let local new_k_luks mount -t ${yubikey.storage.fsType} ${yubikey.storage.device} /crypt-storage || \ - die "Failed to mount Yubikey salt storage device" + die "Failed to mount YubiKey salt storage device" salt="$(cat /crypt-storage${yubikey.storage.path} | sed -n 1p | tr -d '\n')" iterations="$(cat /crypt-storage${yubikey.storage.path} | sed -n 2p | tr -d '\n')" @@ -254,8 +254,27 @@ let for try in $(seq 3); do ${optionalString yubikey.twoFactor '' echo -n "Enter two-factor passphrase: " - read -r k_user - echo + k_user= + while true; do + if [ -e /crypt-ramfs/passphrase ]; then + echo "reused" + k_user=$(cat /crypt-ramfs/passphrase) + break + else + # Try reading it from /dev/console with a timeout + IFS= read -t 1 -r k_user + if [ -n "$k_user" ]; then + ${if luks.reusePassphrases then '' + # Remember it for the next device + echo -n "$k_user" > /crypt-ramfs/passphrase + '' else '' + # Don't save it to ramfs. We are very paranoid + ''} + echo + break + fi + fi + done ''} if [ ! -z "$k_user" ]; then @@ -268,6 +287,11 @@ let if [ $? == 0 ]; then opened=true + ${if luks.reusePassphrases then '' + # We don't rm here because we might reuse it for the next device + '' else '' + rm -f /crypt-ramfs/passphrase + ''} break else opened=false @@ -317,7 +341,7 @@ let if wait_yubikey ${toString yubikey.gracePeriod}; then do_open_yubikey else - echo "No yubikey found, falling back to non-yubikey open procedure" + echo "No YubiKey found, falling back to non-YubiKey open procedure" open_normally fi } @@ -665,8 +689,8 @@ in yubikey = mkOption { default = null; description = '' - The options to use for this LUKS device in Yubikey-PBA. - If null (the default), Yubikey-PBA will be disabled for this device. + The options to use for this LUKS device in YubiKey-PBA. + If null (the default), YubiKey-PBA will be disabled for this device. ''; type = with types; nullOr (submodule { @@ -674,13 +698,13 @@ in twoFactor = mkOption { default = true; type = types.bool; - description = "Whether to use a passphrase and a Yubikey (true), or only a Yubikey (false)."; + description = "Whether to use a passphrase and a YubiKey (true), or only a YubiKey (false)."; }; slot = mkOption { default = 2; type = types.int; - description = "Which slot on the Yubikey to challenge."; + description = "Which slot on the YubiKey to challenge."; }; saltLength = mkOption { @@ -704,7 +728,7 @@ in gracePeriod = mkOption { default = 10; type = types.int; - description = "Time in seconds to wait for the Yubikey."; + description = "Time in seconds to wait for the YubiKey."; }; /* TODO: Add to the documentation of the current module: @@ -779,9 +803,9 @@ in default = false; type = types.bool; description = '' - Enables support for authenticating with a Yubikey on LUKS devices. + Enables support for authenticating with a YubiKey on LUKS devices. See the NixOS wiki for information on how to properly setup a LUKS device - and a Yubikey to work with this feature. + and a YubiKey to work with this feature. ''; }; @@ -799,7 +823,7 @@ in assertions = [ { assertion = !(luks.gpgSupport && luks.yubikeySupport); - message = "Yubikey and GPG Card may not be used at the same time."; + message = "YubiKey and GPG Card may not be used at the same time."; } { assertion = !(luks.gpgSupport && luks.fido2Support); @@ -807,7 +831,7 @@ in } { assertion = !(luks.fido2Support && luks.yubikeySupport); - message = "FIDO2 and Yubikey may not be used at the same time."; + message = "FIDO2 and YubiKey may not be used at the same time."; } ]; diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix index 50d7af6d116..44d5a0aa15a 100644 --- a/pkgs/applications/audio/espeak-ng/default.nix +++ b/pkgs/applications/audio/espeak-ng/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkg-config -, ronn +, ronn, substituteAll +, mbrolaSupport ? true, mbrola , pcaudiolibSupport ? true, pcaudiolib , sonicSupport ? true, sonic }: @@ -14,13 +15,26 @@ stdenv.mkDerivation rec { sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b"; }; + patches = lib.optionals mbrolaSupport [ + # Hardcode correct mbrola paths. + (substituteAll { + src = ./mbrola.patch; + inherit mbrola; + }) + ]; + nativeBuildInputs = [ autoconf automake which libtool pkg-config ronn ]; - buildInputs = lib.optional pcaudiolibSupport pcaudiolib + buildInputs = lib.optional mbrolaSupport mbrola + ++ lib.optional pcaudiolibSupport pcaudiolib ++ lib.optional sonicSupport sonic; preConfigure = "./autogen.sh"; + configureFlags = [ + "--with-mbrola=${if mbrolaSupport then "yes" else "no"}" + ]; + postInstall = lib.optionalString stdenv.isLinux '' patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng ''; @@ -29,7 +43,7 @@ stdenv.mkDerivation rec { description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak"; homepage = "https://github.com/espeak-ng/espeak-ng"; changelog = "https://github.com/espeak-ng/espeak-ng/blob/${version}/CHANGELOG.md"; - license = licenses.gpl3; + license = licenses.gpl3Plus; maintainers = with maintainers; [ aske ]; platforms = platforms.all; }; diff --git a/pkgs/applications/audio/espeak-ng/mbrola.patch b/pkgs/applications/audio/espeak-ng/mbrola.patch new file mode 100644 index 00000000000..2f6c61cca4e --- /dev/null +++ b/pkgs/applications/audio/espeak-ng/mbrola.patch @@ -0,0 +1,22 @@ +--- a/src/libespeak-ng/mbrowrap.c ++++ b/src/libespeak-ng/mbrowrap.c +@@ -205,7 +205,7 @@ + signal(SIGTERM, SIG_IGN); + + snprintf(charbuf, sizeof(charbuf), "%g", mbr_volume); +- execlp("mbrola", "mbrola", "-e", "-v", charbuf, ++ execlp("@mbrola@/bin/mbrola", "mbrola", "-e", "-v", charbuf, + voice_path, "-", "-.wav", (char *)NULL); + /* if execution reaches this point then the exec() failed */ + snprintf(mbr_errorbuf, sizeof(mbr_errorbuf), +--- a/src/libespeak-ng/synth_mbrola.c ++++ b/src/libespeak-ng/synth_mbrola.c +@@ -85,7 +85,7 @@ + if (!load_MBR()) + return ENS_MBROLA_NOT_FOUND; + +- sprintf(path, "%s/mbrola/%s", path_home, mbrola_voice); ++ sprintf(path, "@mbrola@/share/mbrola/voices/%s/%s", mbrola_voice, mbrola_voice); + #ifdef PLATFORM_POSIX + // if not found, then also look in + // usr/share/mbrola/xx, /usr/share/mbrola/xx/xx, /usr/share/mbrola/voices/xx diff --git a/pkgs/applications/audio/mbrola/default.nix b/pkgs/applications/audio/mbrola/default.nix new file mode 100644 index 00000000000..01a9fdd636b --- /dev/null +++ b/pkgs/applications/audio/mbrola/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub }: + +let + voices = fetchFromGitHub { + owner = "numediart"; + repo = "MBROLA-voices"; + rev = "fe05a0ccef6a941207fd6aaad0b31294a1f93a51"; # using latest commit + sha256 = "1w0y2xjp9rndwdjagp2wxh656mdm3d6w9cs411g27rjyfy1205a0"; + }; +in +stdenv.mkDerivation rec { + pname = "mbrola"; + version = "3.3"; + + src = fetchFromGitHub { + owner = "numediart"; + repo = "MBROLA"; + rev = version; + sha256 = "1w86gv6zs2cbr0731n49z8v6xxw0g8b0hzyv2iqb9mqcfh38l8zy"; + }; + + installPhase = '' + runHook preInstall + install -D Bin/mbrola $out/bin/mbrola + + # TODO: package separately because it's very big + install -d $out/share/mbrola/voices + cp -R ${voices}/data/* $out/share/mbrola/voices/ + runHook postInstall + ''; + + meta = with lib; { + description = "Speech synthesizer based on the concatenation of diphones"; + homepage = "https://github.com/numediart/MBROLA"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ davidak ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix index 061e3bc62de..f4dafd9e134 100644 --- a/pkgs/applications/misc/dasel/default.nix +++ b/pkgs/applications/misc/dasel/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "dasel"; - version = "1.13.0"; + version = "1.13.1"; src = fetchFromGitHub { owner = "TomWright"; repo = pname; rev = "v${version}"; - sha256 = "sha256-310zrxVjUECg/3+ydo9J8EdF0RbguBIT2PklEgpgRFU="; + sha256 = "sha256-fgXhWouqStfxWs6cFNVxWI1INVYswVUTOuLr09utxpY="; }; vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY="; diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix index b414cbdd0ed..87eaed97535 100644 --- a/pkgs/applications/misc/far2l/default.nix +++ b/pkgs/applications/misc/far2l/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash +{ lib, stdenv, fetchFromGitHub, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash , xdg-utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick , libuchardet, spdlog, xercesc, fmt, openssl, libssh, samba, neon, libnfs, libarchive }: diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix index 21128ac9119..2d855d0c9fc 100644 --- a/pkgs/applications/misc/gsimplecal/default.nix +++ b/pkgs/applications/misc/gsimplecal/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gsimplecal"; - version = "2.1"; + version = "2.2"; src = fetchurl { url = "https://github.com/dmedvinsky/gsimplecal/archive/v${version}.tar.gz"; - sha256 = "1sa05ifjp41xipfspk5n6l3wzpzmp3i45q88l01p4l6k6drsq336"; + sha256 = "sha256-f19cnTX83LZT2d01B1EdWSaHcfHqpFPTo5glYkAokq8="; }; postPatch = '' diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix index 28f7b540722..d11461366b6 100644 --- a/pkgs/applications/networking/cluster/nerdctl/default.nix +++ b/pkgs/applications/networking/cluster/nerdctl/default.nix @@ -4,17 +4,12 @@ , makeWrapper , buildkit , cni-plugins -, extraPackages ? [] +, extraPackages ? [ ] }: -let - binPath = lib.makeBinPath ([ - buildkit - ] ++ extraPackages); -in buildGoModule rec { pname = "nerdctl"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "AkihiroSuda"; @@ -37,15 +32,25 @@ buildGoModule rec { postInstall = '' wrapProgram $out/bin/nerdctl \ - --prefix PATH : "${binPath}" \ + --prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \ --prefix CNI_PATH : "${cni-plugins}/bin" ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + $out/bin/nerdctl --help + # --version will error without containerd.sock access + $out/bin/nerdctl --help | grep "${version}" + runHook postInstallCheck + ''; + meta = with lib; { + homepage = "https://github.com/AkihiroSuda/nerdctl/"; + changelog = "https://github.com/AkihiroSuda/nerdctl/releases/tag/v${version}"; description = "A Docker-compatible CLI for containerd"; - homepage = src.meta.homepage; license = licenses.asl20; - platforms = platforms.linux; maintainers = with maintainers; [ jk ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix index d550a126547..c9339601a4b 100644 --- a/pkgs/applications/networking/feedreaders/feedreader/default.nix +++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, gettext, python3 , appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts -, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, pantheon +, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas , curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2 }: diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix index b43e6bb093c..3124239b0d9 100644 --- a/pkgs/applications/networking/mailreaders/aerc/default.nix +++ b/pkgs/applications/networking/mailreaders/aerc/default.nix @@ -1,7 +1,6 @@ { lib, buildGoModule, fetchurl -, go, ncurses, notmuch, scdoc -, python3, perl, w3m, dante -, fetchFromGitHub +, ncurses, notmuch, scdoc +, python3, w3m, dante }: buildGoModule rec { diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index c0ebb3d8078..0c02f512dad 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,8 +1,6 @@ -{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript +{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which , ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl -, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, runtimeShell, sqlite, zlib -, glibcLocales -, fetchpatch +, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib }: stdenv.mkDerivation rec { diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix index 36b7451e441..6e2533621e6 100644 --- a/pkgs/applications/networking/p2p/tribler/default.nix +++ b/pkgs/applications/networking/p2p/tribler/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgs, python3Packages, makeWrapper -, enablePlayer ? true, libvlc ? null, qt5, lib }: +{ stdenv, fetchurl, python3Packages, makeWrapper +, enablePlayer ? true, libvlc, qt5, lib }: stdenv.mkDerivation rec { pname = "tribler"; diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 90f6ba5ac5a..3cb214bd8b0 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -1,5 +1,4 @@ { fetchurl, lib, stdenv, buildPackages -, fetchpatch , curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc , openssh, pcre2 diff --git a/pkgs/build-support/go/garble.nix b/pkgs/build-support/go/garble.nix new file mode 100644 index 00000000000..27277d1b992 --- /dev/null +++ b/pkgs/build-support/go/garble.nix @@ -0,0 +1,24 @@ +{ buildGoModule +, fetchFromGitHub +, lib +}: +buildGoModule rec { + pname = "garble"; + version = "20200107"; + + src = fetchFromGitHub { + owner = "burrowers"; + repo = pname; + rev = "835f4aadf321521acf06aac4d5068473dc4b2ac1"; + sha256 = "sha256-NodsVHRll2YZoxrhmniJvelQOStG82u3kJyc0t8OXD8="; + }; + + vendorSha256 = "sha256-x2fk2QmZDK2yjyfYdK7x+sQjvt7tuggmm8ieVjsNKek="; + + meta = { + description = "Obfuscate Go code by wrapping the Go toolchain"; + homepage = "https://github.com/burrowers/garble/"; + maintainers = with lib.maintainers; [ davhau ]; + license = lib.licenses.bsd3; + }; +} diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index cbdd309db5e..04e5b48bd0b 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, remarshal +{ stdenv, lib, nodejs, nodePackages, remarshal , ttfautohint-nox # Custom font set options. # See https://typeof.net/Iosevka/customizer diff --git a/pkgs/data/icons/iso-flags/default.nix b/pkgs/data/icons/iso-flags/default.nix index 4252853b898..57cc1752f18 100644 --- a/pkgs/data/icons/iso-flags/default.nix +++ b/pkgs/data/icons/iso-flags/default.nix @@ -1,9 +1,7 @@ { lib, stdenv , fetchFromGitHub , perl -, perlPackages , inkscape -, pngcrush , librsvg , targets ? [ "all" ] }: diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix index 80a026e8836..0e8f6dbf8c3 100644 --- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix @@ -11,18 +11,10 @@ , intltool , libxslt , gtk3 -, libnotify -, libxkbfile -, cinnamon-menus , libgnomekbd -, libxklavier -, networkmanager -, libwacom , gnome3 , libtool , wrapGAppsHook -, tzdata -, glibc , gobject-introspection , python3 , pam diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix index 3a7e21c65f5..ef5e564beb9 100644 --- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix @@ -2,7 +2,6 @@ , gettext , fetchurl , evolution-data-server -, fetchpatch , pkg-config , libxslt , docbook_xsl diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index 5a78f412dc7..98d87dc09c8 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -22,7 +22,6 @@ , gnome-color-manager , gnome-desktop , gnome-online-accounts -, gnome-session , gnome-settings-daemon , gnome3 , grilo diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix index 002ae9197b7..d2909c449d4 100644 --- a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix @@ -30,7 +30,6 @@ , systemd , libnma , tzdata -, yelp , libgnomekbd , gsettings-desktop-schemas , gnome-tour diff --git a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix index 1f9b1ba871d..1947179028b 100644 --- a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix +++ b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix @@ -16,7 +16,6 @@ , adwaita-icon-theme , libgweather , gucharmap -, tracker , polkit , gnome3 }: diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index 27a379f4738..e45d25cfa34 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -11,7 +11,6 @@ , wingpanel , orca , onboard -, at-spi2-core , elementary-default-settings , elementary-settings-daemon , runtimeShell diff --git a/pkgs/development/libraries/g2o/default.nix b/pkgs/development/libraries/g2o/default.nix index b967a89568d..0536ec95c6f 100644 --- a/pkgs/development/libraries/g2o/default.nix +++ b/pkgs/development/libraries/g2o/default.nix @@ -43,5 +43,7 @@ mkDerivation rec { license = with licenses; [ bsd3 lgpl3 gpl3 ]; maintainers = with maintainers; [ lopsided98 ]; platforms = platforms.all; + # fatal error: 'qglviewer.h' file not found + broken = stdenv.isDarwin; }; } diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix index ec00c31147b..aae46e4e322 100644 --- a/pkgs/development/python-modules/androidtv/default.nix +++ b/pkgs/development/python-modules/androidtv/default.nix @@ -7,7 +7,6 @@ , mock , pure-python-adb , pytestCheckHook -, python }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix index bf7d08cdce3..2839fc337cd 100644 --- a/pkgs/development/python-modules/graphene/default.nix +++ b/pkgs/development/python-modules/graphene/default.nix @@ -2,7 +2,6 @@ , buildPythonPackage , fetchFromGitHub , aniso8601 -, iso8601 , graphql-core , graphql-relay , promise diff --git a/pkgs/development/python-modules/lammps-cython/default.nix b/pkgs/development/python-modules/lammps-cython/default.nix index 609d7a410c1..cf6bdc38ffa 100644 --- a/pkgs/development/python-modules/lammps-cython/default.nix +++ b/pkgs/development/python-modules/lammps-cython/default.nix @@ -47,5 +47,7 @@ buildPythonPackage rec { homepage = "https://gitlab.com/costrouc/lammps-cython"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ costrouc ]; + # fails import check + broken = true; }; } diff --git a/pkgs/development/python-modules/lightparam/default.nix b/pkgs/development/python-modules/lightparam/default.nix index 0c3eb5292a8..936cc9a0626 100644 --- a/pkgs/development/python-modules/lightparam/default.nix +++ b/pkgs/development/python-modules/lightparam/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, buildPythonPackage, fetchFromGitHub, isPy3k +{ lib, buildPythonPackage, fetchFromGitHub, isPy3k , ipython , ipywidgets , numpy diff --git a/pkgs/development/python-modules/moderngl_window/default.nix b/pkgs/development/python-modules/moderngl_window/default.nix index b4aee8c61cf..7f6d9893c96 100644 --- a/pkgs/development/python-modules/moderngl_window/default.nix +++ b/pkgs/development/python-modules/moderngl_window/default.nix @@ -7,7 +7,6 @@ , pyglet , pillow , pyrr -, pytest }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix index 1c1e52b5a79..66e1edd9390 100644 --- a/pkgs/development/python-modules/nbdime/default.nix +++ b/pkgs/development/python-modules/nbdime/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, callPackage, isPy3k +{ lib, buildPythonPackage, fetchPypi, isPy3k , hypothesis , setuptools_scm , six diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix index 979b357607e..2622b815f1e 100644 --- a/pkgs/development/python-modules/nbsphinx/default.nix +++ b/pkgs/development/python-modules/nbsphinx/default.nix @@ -7,7 +7,6 @@ , nbformat , sphinx , traitlets -, python , isPy3k }: diff --git a/pkgs/development/python-modules/ndjson/default.nix b/pkgs/development/python-modules/ndjson/default.nix index 175b04d3107..715a1989b45 100644 --- a/pkgs/development/python-modules/ndjson/default.nix +++ b/pkgs/development/python-modules/ndjson/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, wheel, watchdog, flake8 +{ lib, buildPythonPackage, fetchPypi, watchdog, flake8 , pytest, pytestrunner, coverage, sphinx, twine }: buildPythonPackage rec { diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix index bab3aa590ec..926dd3698c6 100644 --- a/pkgs/development/python-modules/notebook/default.nix +++ b/pkgs/development/python-modules/notebook/default.nix @@ -12,7 +12,6 @@ , tornado , ipython_genutils , traitlets -, jupyter , jupyter_core , jupyter_client , nbformat diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix index 278d7c1df04..95e67c58d55 100644 --- a/pkgs/development/python-modules/onnx/default.nix +++ b/pkgs/development/python-modules/onnx/default.nix @@ -1,5 +1,4 @@ { lib -, fetchpatch , buildPythonPackage , fetchPypi , pythonOlder diff --git a/pkgs/development/python-modules/phonemizer/default.nix b/pkgs/development/python-modules/phonemizer/default.nix index 2d653179431..80bc0737cac 100644 --- a/pkgs/development/python-modules/phonemizer/default.nix +++ b/pkgs/development/python-modules/phonemizer/default.nix @@ -2,14 +2,11 @@ , substituteAll , buildPythonApplication , fetchPypi -, python3Packages -, pkgs , joblib , segments , attrs , espeak-ng , pytestCheckHook -, pytestrunner , pytestcov }: diff --git a/pkgs/development/python-modules/qiskit-aer/default.nix b/pkgs/development/python-modules/qiskit-aer/default.nix index 062aeeb97ff..bb04309d1a5 100644 --- a/pkgs/development/python-modules/qiskit-aer/default.nix +++ b/pkgs/development/python-modules/qiskit-aer/default.nix @@ -6,7 +6,6 @@ , blas , catch2 , cmake -, conan , cython , fmt , muparserx diff --git a/pkgs/development/python-modules/robotframework-tools/default.nix b/pkgs/development/python-modules/robotframework-tools/default.nix index 5e8ca33fffb..77a7fe13df9 100644 --- a/pkgs/development/python-modules/robotframework-tools/default.nix +++ b/pkgs/development/python-modules/robotframework-tools/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchPypi -, isPy3k , robotframework , moretools , pathpy diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix index d62166ca2b4..c0d4567fe0b 100644 --- a/pkgs/development/tools/misc/clojure-lsp/default.nix +++ b/pkgs/development/tools/misc/clojure-lsp/default.nix @@ -1,24 +1,59 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ lib, stdenv, callPackage, fetchFromGitHub, leiningen, openjdk11 +, graalvm11-ce, babashka }: -stdenv.mkDerivation rec { +let pname = "clojure-lsp"; version = "2021.02.14-19.46.47"; + leiningen11 = leiningen.override ({ jdk = openjdk11; }); - src = fetchurl { - url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/${pname}.jar"; - sha256 = "sha256-fLwubRwWa1fu37bdkaCr2uZK79z37wqPLToOb5BlegY="; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "sha256-Zj7/8RcuxCy2xdd+5jeOb1GTsQsX0EVW32k32fA6uf4="; }; - dontUnpack = true; + repository = callPackage ./repository.nix { + inherit src pname version; + leiningen = leiningen11; + }; +in stdenv.mkDerivation rec { + inherit src pname version; - buildInputs = [ makeWrapper ]; + postPatch = '' + # Hack to set maven cache in another directory since MAVEN_OPTS doesn't work + substituteInPlace project.clj \ + --replace ":main" ":local-repo \"${repository}\" :main" + ''; + + GRAALVM_HOME = graalvm11-ce; + + buildInputs = [ graalvm11-ce leiningen11 repository ]; + + buildPhase = with lib; '' + runHook preBuild + + export LEIN_HOME="$(mktemp -d)" + bash ./graalvm/native-unix-compile.sh + + runHook postBuild + ''; installPhase = '' - install -Dm644 $src $out/share/java/${pname}.jar - makeWrapper ${jre}/bin/java $out/bin/${pname} \ - --add-flags "-Xmx2g" \ - --add-flags "-server" \ - --add-flags "-jar $out/share/java/${pname}.jar" + runHook preInstall + + install -Dm755 ./clojure-lsp $out/bin/clojure-lsp + + runHook postInstall + ''; + + doCheck = true; + checkPhase = '' + runHook preCheck + + ${babashka}/bin/bb ./integration-test/run-all.clj ./clojure-lsp + + runHook postCheck ''; meta = with lib; { @@ -26,6 +61,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/snoe/clojure-lsp"; license = licenses.mit; maintainers = [ maintainers.ericdallo ]; - platforms = jre.meta.platforms; + platforms = graalvm11-ce.meta.platforms; }; } diff --git a/pkgs/development/tools/misc/clojure-lsp/repository.nix b/pkgs/development/tools/misc/clojure-lsp/repository.nix new file mode 100644 index 00000000000..122096e9657 --- /dev/null +++ b/pkgs/development/tools/misc/clojure-lsp/repository.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, src, pname, version, leiningen }: + +stdenv.mkDerivation { + inherit src; + + name = "${pname}-${version}-repository"; + buildInputs = [ leiningen ]; + + postPatch = '' + # Hack to set maven cache in another directory since MAVEN_OPTS doesn't work + substituteInPlace project.clj \ + --replace ":main" ":local-repo \"$out\" :main" + ''; + + buildPhase = '' + runHook preBuild + + export LEIN_HOME="$(mktemp -d)" + lein with-profiles +native-image deps + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + find $out -type f \ + -name \*.lastUpdated -or \ + -name resolver-status.properties -or \ + -name _remote.repositories \ + -delete + + runHook postInstall + ''; + + dontFixup = true; + outputHashAlgo = "sha256"; + outputHashMode = "recursive"; + outputHash = "sha256-aWZPsJF32ENyYNZCHf5amxVF9pb+5M73JqG/OITZlak="; +} diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix index cf56e6c1a9c..c253bda36b8 100644 --- a/pkgs/development/tools/misc/hydra/common.nix +++ b/pkgs/development/tools/misc/hydra/common.nix @@ -1,7 +1,7 @@ -{ stdenv, nix, perlPackages, buildEnv, fetchFromGitHub +{ stdenv, nix, perlPackages, buildEnv , makeWrapper, autoconf, automake, libtool, unzip, pkg-config, sqlite, libpqxx , top-git, mercurial, darcs, subversion, breezy, openssl, bzip2, libxslt -, guile, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json +, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json , docbook_xsl, openssh, gnused, coreutils, findutils, gzip, lzma, gnutar , rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null , migration ? false, patches ? [] diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 6aff72111a3..186d112e81d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -95,7 +95,9 @@ let BLK_CGROUP_IOCOST = whenAtLeast "5.4" yes; IOSCHED_DEADLINE = whenOlder "5.0" yes; # Removed in 5.0-RC1 MQ_IOSCHED_DEADLINE = whenAtLeast "4.11" yes; + BFQ_GROUP_IOSCHED = whenAtLeast "4.12" yes; MQ_IOSCHED_KYBER = whenAtLeast "4.12" yes; + IOSCHED_BFQ = whenAtLeast "4.12" module; }; # Enable NUMA. diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix index 65426a049fe..e2f15d969ed 100644 --- a/pkgs/tools/X11/xkb-switch/default.nix +++ b/pkgs/tools/X11/xkb-switch/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "xkb-switch"; - version = "1.6.0"; + version = "1.8.5"; src = fetchFromGitHub { owner = "ierton"; repo = "xkb-switch"; rev = version; - sha256 = "11yn0y1kx04rqxh0d81b5q7kbyz58pi48bl7hyhlv7p8yndkfg4b"; + sha256 = "sha256-DZAIL6+D+Hgs+fkJwRaQb9BHrEjAkxiqhOZyrR+Mpuk="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix index 05d7189fbaa..98f8861699f 100644 --- a/pkgs/tools/filesystems/smbnetfs/default.nix +++ b/pkgs/tools/filesystems/smbnetfs/default.nix @@ -11,10 +11,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config autoconf ]; buildInputs = [ fuse samba glib attr libsecret ]; - postPatch = '' - substituteInPlace src/function.c --replace "attr/xattr.h" "sys/xattr.h" - ''; - meta = with lib; { description = "A FUSE FS for mounting Samba shares"; maintainers = with maintainers; [ raskin ]; diff --git a/pkgs/tools/misc/bat-extras/default.nix b/pkgs/tools/misc/bat-extras/default.nix index 7d3f1dc0a36..323099f02c6 100644 --- a/pkgs/tools/misc/bat-extras/default.nix +++ b/pkgs/tools/misc/bat-extras/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, callPackage, fetchFromGitHub, bash, makeWrapper, bat +{ lib, stdenv, fetchFromGitHub, bash, makeWrapper, bat # batdiff, batgrep, and batwatch , coreutils , less diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix index 4d072e6d2bf..5d3259c4b6e 100644 --- a/pkgs/tools/misc/fwup/default.nix +++ b/pkgs/tools/misc/fwup/default.nix @@ -1,27 +1,68 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper, pkg-config -, zlib, lzma, bzip2, mtools, dosfstools, zip, unzip, libconfuse, libsodium -, libarchive, darwin, coreutils }: +{ stdenv +, lib +, fetchFromGitHub +, autoreconfHook +, DiskArbitration +, pkg-config +, bzip2 +, libarchive +, libconfuse +, libsodium +, lzma +, zlib +, coreutils +, dosfstools +, mtools +, unzip +, zip +, which +, xdelta +}: stdenv.mkDerivation rec { pname = "fwup"; - version = "1.5.2"; + version = "1.8.3"; src = fetchFromGitHub { owner = "fhunleth"; repo = "fwup"; rev = "v${version}"; - sha256 = "05sjdlh450hk474a44yr6kz9dzx72jfxpi1krxbd0pdizlmfypsg"; + sha256 = "sha256-ayfcnIZ7MuBsCy1giwmY2D2C6AukwS+fevmXqGa4c1w="; }; - doCheck = true; - patches = lib.optional stdenv.isDarwin [ ./fix-testrunner-darwin.patch ]; + patches = [ ./fix-testrunner-darwin.patch ]; - nativeBuildInputs = [ pkg-config autoreconfHook makeWrapper ]; - buildInputs = [ zlib lzma bzip2 libconfuse libsodium libarchive ] + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + bzip2 + libarchive + libconfuse + libsodium + lzma + zlib + ] ++ lib.optionals stdenv.isDarwin [ - darwin.apple_sdk.frameworks.DiskArbitration - ]; - propagatedBuildInputs = [ zip unzip mtools dosfstools coreutils ]; + DiskArbitration + ]; + + propagatedBuildInputs = [ + coreutils + dosfstools + mtools + unzip + zip + ]; + + checkInputs = [ + which + xdelta + ]; + + doCheck = true; meta = with lib; { description = "Configurable embedded Linux firmware update creator and runner"; diff --git a/pkgs/tools/security/secretscanner/default.nix b/pkgs/tools/security/secretscanner/default.nix new file mode 100644 index 00000000000..93d440009f3 --- /dev/null +++ b/pkgs/tools/security/secretscanner/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, hyperscan +, pkg-config +}: + +buildGoModule rec { + pname = "secretscanner"; + version = "20210214-${lib.strings.substring 0 7 rev}"; + rev = "42a38f9351352bf6240016b5b93d971be35cad46"; + + src = fetchFromGitHub { + owner = "deepfence"; + repo = "SecretScanner"; + inherit rev; + sha256 = "0yga71f7bx5a3hj5agr88pd7j8jnxbwqm241fhrvv8ic4sx0mawg"; + }; + + vendorSha256 = "0b7qa83iqnigihgwlqsxi28n7d9h0dk3wx1bqvhn4k01483cipsd"; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ hyperscan ]; + + postInstall = '' + mv $out/bin/SecretScanner $out/bin/$pname + ''; + + meta = with lib; { + description = "Tool to find secrets and passwords in container images and file systems"; + homepage = "https://github.com/deepfence/SecretScanner"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} + diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix index 04f0cb59c03..8c9eef9cc3d 100644 --- a/pkgs/tools/text/ripgrep/default.nix +++ b/pkgs/tools/text/ripgrep/default.nix @@ -1,5 +1,4 @@ { lib, stdenv -, nixosTests , fetchFromGitHub , rustPlatform , asciidoctor @@ -43,6 +42,8 @@ rustPlatform.buildRustPackage rec { echo "abc\nbcd\ncde" > "$file" $out/bin/rg -N 'bcd' "$file" $out/bin/rg -N 'cd' "$file" + '' + lib.optionalString withPCRE2 '' + echo '(a(aa)aa)' | $out/bin/rg -P '\((a*|(?R))*\)' ''; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 610aa013e4a..cb64af5833d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2352,7 +2352,9 @@ in qt-video-wlr = libsForQt5.callPackage ../applications/misc/qt-video-wlr { }; - fwup = callPackage ../tools/misc/fwup { }; + fwup = callPackage ../tools/misc/fwup { + inherit (darwin.apple_sdk.frameworks) DiskArbitration; + }; fx_cast_bridge = callPackage ../tools/misc/fx_cast { }; @@ -13782,6 +13784,8 @@ in ganv = callPackage ../development/libraries/ganv { }; + garble = callPackage ../build-support/go/garble.nix { }; + gcab = callPackage ../development/libraries/gcab { }; gcovr = with python3Packages; toPythonApplication gcovr; @@ -23571,6 +23575,8 @@ in mblaze = callPackage ../applications/networking/mailreaders/mblaze { }; + mbrola = callPackage ../applications/audio/mbrola { }; + mcomix3 = callPackage ../applications/graphics/mcomix3 {}; mcpp = callPackage ../development/compilers/mcpp { }; @@ -24852,6 +24858,8 @@ in seafile-client = libsForQt5.callPackage ../applications/networking/seafile-client { }; + secretscanner = callPackage ../tools/security/secretscanner { }; + sent = callPackage ../applications/misc/sent { }; seq24 = callPackage ../applications/audio/seq24 { };