Merge branch 'staging-next' into staging

Resolved the following conflicts:

- kernel flags between 09176d28a0 and 2b28822d8d
- clojure-lsp between 3fa00685ce and e03c068af5
This commit is contained in:
Jan Tojnar 2021-02-19 17:15:31 +01:00
commit 8f50f1ce10
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4
62 changed files with 454 additions and 163 deletions

View file

@ -174,10 +174,13 @@ digraph {
"staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
"staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours/any time"] [fontcolor="#5F5EE8"]
master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"]
}
```
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/merge-staging.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
### Master branch {#submitting-changes-master-branch}
The `master` branch is the main development branch. It should only see non-breaking commits that do not cause mass rebuilds.

View file

@ -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";

View file

@ -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

View file

@ -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) . "

View file

@ -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.";
}
];

View file

@ -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;
};

View file

@ -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

View file

@ -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;
};
}

View file

@ -159,6 +159,10 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
'' + lib.optionalString (nativeComp && withNS) ''
ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp
'' + lib.optionalString nativeComp ''
$out/bin/emacs --batch \
-l comp --eval "(mapatoms (lambda (s) \
(when (subr-primitive-p (symbol-function s)) \
(comp-trampoline-compile s))))"
mkdir -p $out/share/emacs/native-lisp
$out/bin/emacs --batch \
--eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp\")" \

View file

@ -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=";

View file

@ -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 }:

View file

@ -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 = ''

View file

@ -11,12 +11,12 @@
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
in stdenv.mkDerivation rec {
pname = "koreader";
version = "2021.01.1";
version = "2021.02";
src = fetchurl {
url =
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
sha256 = "0kignyia2xrg84bqzsp8rid4c79zg11lhw52z1854jw9v9324pja";
sha256 = "0v7jx4a2kz1i1k9jqwcxbgdikflk28cnnp69sbhha8pkkbk8c5wh";
};
sourceRoot = ".";

View file

@ -1,16 +1,17 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkg-config, qmake
, curl, grantlee, libgit2, libusb-compat-0_1, libssh2, libxml2, libxslt, libzip, zlib
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
, bluez
}:
let
version = "4.9.6";
version = "4.9.10";
subsurfaceSrc = (fetchFromGitHub {
owner = "Subsurface";
repo = "subsurface";
rev = "v${version}";
sha256 = "1w1ak0fi6ljhg2jc4mjqyrbpax3iawrnsaqq6ls7qdzrhi37rggf";
sha256 = "12ndhjplz3cwndwzhfc959dc0i6rm2qf3v2d8n9kba8nj63iblfs";
fetchSubmodules = true;
});
@ -84,6 +85,7 @@ in stdenv.mkDerivation {
libdc googlemaps
curl grantlee libgit2 libssh2 libusb-compat-0_1 libxml2 libxslt libzip
qtbase qtconnectivity qtsvg qttools qtwebkit
bluez
];
nativeBuildInputs = [ cmake wrapQtAppsHook pkg-config ];
@ -105,7 +107,7 @@ in stdenv.mkDerivation {
'';
homepage = "https://subsurface-divelog.org";
license = licenses.gpl2;
maintainers = with maintainers; [ mguentner ];
maintainers = with maintainers; [ mguentner adisbladis ];
platforms = platforms.all;
};
}

View file

@ -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;
};
}

View file

@ -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
}:

View file

@ -1,7 +1,6 @@
{ lib, buildGoModule, fetchurl
, go, ncurses, notmuch, scdoc
, python3, perl, w3m, dante
, fetchFromGitHub
, ncurses, notmuch, scdoc
, python3, w3m, dante
}:
buildGoModule rec {

View file

@ -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 {

View file

@ -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";

View file

@ -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

View file

@ -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;
};
}

View file

@ -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

View file

@ -1,9 +1,7 @@
{ lib, stdenv
, fetchFromGitHub
, perl
, perlPackages
, inkscape
, pngcrush
, librsvg
, targets ? [ "all" ]
}:

View file

@ -11,18 +11,10 @@
, intltool
, libxslt
, gtk3
, libnotify
, libxkbfile
, cinnamon-menus
, libgnomekbd
, libxklavier
, networkmanager
, libwacom
, gnome3
, libtool
, wrapGAppsHook
, tzdata
, glibc
, gobject-introspection
, python3
, pam

View file

@ -2,7 +2,6 @@
, gettext
, fetchurl
, evolution-data-server
, fetchpatch
, pkg-config
, libxslt
, docbook_xsl

View file

@ -22,7 +22,6 @@
, gnome-color-manager
, gnome-desktop
, gnome-online-accounts
, gnome-session
, gnome-settings-daemon
, gnome3
, grilo

View file

@ -30,7 +30,6 @@
, systemd
, libnma
, tzdata
, yelp
, libgnomekbd
, gsettings-desktop-schemas
, gnome-tour

View file

@ -16,7 +16,6 @@
, adwaita-icon-theme
, libgweather
, gucharmap
, tracker
, polkit
, gnome3
}:

View file

@ -11,7 +11,6 @@
, wingpanel
, orca
, onboard
, at-spi2-core
, elementary-default-settings
, elementary-settings-daemon
, runtimeShell

View file

@ -101,6 +101,24 @@ let
};
};
# Tests to ensure overriding works as expected.
overrideTests = let
extension = self: super: {
foobar = super.numpy;
};
in {
test-packageOverrides = let
myPython = let
self = python.override {
packageOverrides = extension;
inherit self;
};
in self;
in assert myPython.pkgs.foobar == myPython.pkgs.numpy; myPython.withPackages(ps: with ps; [ foobar ]);
# overrideScope is broken currently
# test-overrideScope = let
# myPackages = python.pkgs.overrideScope extension;
# in assert myPackages.foobar == myPackages.numpy; myPackages.python.withPackages(ps: with ps; [ foobar ]);
};
in lib.optionalAttrs (stdenv.hostPlatform == stdenv.buildPlatform ) (environmentTests // integrationTests)
in lib.optionalAttrs (stdenv.hostPlatform == stdenv.buildPlatform ) (environmentTests // integrationTests // overrideTests)

View file

@ -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;
};
}

View file

@ -7,7 +7,6 @@
, mock
, pure-python-adb
, pytestCheckHook
, python
}:
buildPythonPackage rec {

View file

@ -2,7 +2,6 @@
, buildPythonPackage
, fetchFromGitHub
, aniso8601
, iso8601
, graphql-core
, graphql-relay
, promise

View file

@ -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;
};
}

View file

@ -1,4 +1,4 @@
{ lib, pkgs, buildPythonPackage, fetchFromGitHub, isPy3k
{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
, ipython
, ipywidgets
, numpy

View file

@ -7,7 +7,6 @@
, pyglet
, pillow
, pyrr
, pytest
}:
buildPythonPackage rec {

View file

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, callPackage, isPy3k
{ lib, buildPythonPackage, fetchPypi, isPy3k
, hypothesis
, setuptools_scm
, six

View file

@ -7,7 +7,6 @@
, nbformat
, sphinx
, traitlets
, python
, isPy3k
}:

View file

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, wheel, watchdog, flake8
{ lib, buildPythonPackage, fetchPypi, watchdog, flake8
, pytest, pytestrunner, coverage, sphinx, twine }:
buildPythonPackage rec {

View file

@ -12,7 +12,6 @@
, tornado
, ipython_genutils
, traitlets
, jupyter
, jupyter_core
, jupyter_client
, nbformat

View file

@ -1,5 +1,4 @@
{ lib
, fetchpatch
, buildPythonPackage
, fetchPypi
, pythonOlder

View file

@ -2,14 +2,11 @@
, substituteAll
, buildPythonApplication
, fetchPypi
, python3Packages
, pkgs
, joblib
, segments
, attrs
, espeak-ng
, pytestCheckHook
, pytestrunner
, pytestcov
}:

View file

@ -6,7 +6,6 @@
, blas
, catch2
, cmake
, conan
, cython
, fmt
, muparserx

View file

@ -1,7 +1,6 @@
{ lib
, buildPythonPackage
, fetchPypi
, isPy3k
, robotframework
, moretools
, pathpy

View file

@ -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;
nativeBuildInputs = [ 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;
};
}

View file

@ -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=";
}

View file

@ -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 ? []

View file

@ -8,13 +8,13 @@ else
buildDunePackage rec {
pname = "utop";
version = "2.6.0";
version = "2.7.0";
useDune2 = true;
src = fetchurl {
url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz";
sha256 = "17n9igl74xcvj0mzdh2ybda29f2m48a5lj4yf8lrdqr7vg0982jd";
sha256 = "sha256-4GisU98mfDzA8vabvCBEBPA2LMTmRyofxUfjJqY8P90=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "maturin";
version = "0.9.3";
version = "0.9.4";
src = fetchFromGitHub {
owner = "PyO3";
repo = "maturin";
rev = "v${version}";
hash = "sha256-3Tir9jvpSgjyF5tEn3xpPcpSATEnn9yaWIKE8hZIdsM=";
hash = "sha256-9emrBajFd0eLHcsd9Uf6MLCWqZFqxmZdWPBLGIYc2kU=";
};
cargoHash = "sha256-o0+ZlGnnVUJiTqIdioj+geiP6PWz/AKCXhx+/TgKmqs=";
cargoHash = "sha256-poMMEj+zrlU+v5axJbZai2kv36stEKgaciF4zd9A6Qg=";
nativeBuildInputs = [ pkg-config ];

View file

@ -91,6 +91,12 @@ let
self = stdenv.mkDerivation rec {
pname = "fwupd";
# A regression is present in https://github.com/fwupd/fwupd/commit/fde4b1676a2c64e70bebd88f7720307c62635654
# released with 1.5.6.
# Fix for the regression: https://github.com/fwupd/fwupd/pull/2902
# Maintainer says a new release is to be expected in a few days:
# https://twitter.com/hughsient/status/1362476792297185289
# In the mean time, please do not release 1.5.6 and go strait to 1.5.7
version = "1.5.5";
# libfwupd goes to lib

View file

@ -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.
@ -258,6 +260,7 @@ let
DRM_AMD_DC_DCN2_0 = whenBetween "5.3" "5.6" yes;
DRM_AMD_DC_DCN2_1 = whenBetween "5.4" "5.6" yes;
DRM_AMD_DC_DCN3_0 = whenBetween "5.9" "5.11" yes;
DRM_AMD_DC_DCN = whenAtLeast "5.11" yes;
DRM_AMD_DC_HDCP = whenAtLeast "5.5" yes;
DRM_AMD_DC_SI = whenAtLeast "5.10" yes;
} // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux") {

View file

@ -19,22 +19,36 @@ in stdenv.mkDerivation {
buildInputs = [ kerberos ];
patches = [
# LINUX 5.8: Replace kernel_setsockopt with new funcs
(fetchpatch {
url = "https://github.com/openafs/openafs/commit/d7fc5bf9bf031089d80703c48daf30d5b15a80ca.patch";
sha256 = "0469ydzgvyvrl1b2s1qbl9cd8c5c1nb99c3z52z5i685da5z6pab";
})
# LINUX 5.8: do not set name field in backing_dev_info
(fetchpatch {
url = "https://github.com/openafs/openafs/commit/335f37be13d2ff954e4aeea617ee66502170805e.patch";
sha256 = "0jr6cgplnip61cjlcd3fvgsc6n3jhfk93mm9m7ak04w1vc26dk9x";
})
# LINUX 5.8: use lru_cache_add
(fetchpatch {
url = "https://github.com/openafs/openafs/commit/facff58b840a47853592510617ba7a1da2e3eaa9.patch";
sha256 = "0izafg6bi5iaigq3jjx0zlg1cxwaddz3238hk0s08fcb6nyhkvx1";
})
# LINUX 5.9: Remove HAVE_UNLOCKED_IOCTL/COMPAT_IOCTL
(fetchpatch {
url = "https://github.com/openafs/openafs/commit/e7902252f15acfc28453c531f6fa3b29c9c91b92.patch";
sha256 = "1jy4v8yx8p6mhma6b3h3g94mb38bw7hg7q6lnyc8bijkbnl0d1rl";
})
# Linux: Refactor test for 32bit compat
(fetchpatch {
url = "https://github.com/openafs/openafs/commit/4ad1057ab8fd206c9fa8d5e3bdde4f1a8417afdb.patch";
sha256 = "0v2537wkav78yi8lv6fkd1n6rf2g17igf44rpa3kd0kkidxv5lqr";
})
# Linux 5.11: Test 32bit compat with in_compat_syscall
(fetchpatch {
url = "https://github.com/openafs/openafs/commit/ee53dd3bc087a05e22fc4111297a51ddb30013f0.patch";
sha256 = "0dfab3zk0dmf6iksna5n09lf5dn4f8w43q4irl2yf5dgqm35shkr";
})
];
hardeningDisable = [ "pic" ];

View file

@ -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 ];

View file

@ -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 ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, callPackage, fetchFromGitHub, bash, makeWrapper, bat
{ lib, stdenv, fetchFromGitHub, bash, makeWrapper, bat
# batdiff, batgrep, and batwatch
, coreutils
, less

View file

@ -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";

View file

@ -15,9 +15,8 @@ stdenv.mkDerivation rec {
# getting sourced, not executed:
postPatch = ''
substituteInPlace direnvrc \
--replace "grep" "${gnugrep}/bin/grep" \
--replace "nix-shell" "${nix}/bin/nix-shell" \
--replace "nix-instantiate" "${nix}/bin/nix-instantiate"
--replace "\''${NIX_BIN_PREFIX:-}" "\''${NIX_BIN_PREFIX:-${nix}/bin/}" \
--replace "grep" "${gnugrep}/bin/grep"
'';
installPhase = ''

View file

@ -1,21 +1,14 @@
{ fetchurl, lib, stdenv, perl, makeWrapper, procps, coreutils }:
stdenv.mkDerivation rec {
name = "parallel-20200922";
pname = "parallel";
version = "20210122";
src = fetchurl {
url = "mirror://gnu/parallel/${name}.tar.bz2";
sha256 = "0wj19kwjk0hwm8bk9yfcf3rpr0314lmjy5xxlvvdqnbbc4ml2418";
url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
sha256 = "1wxkqz6ld1bp0ilvc04vhq99qjay1nl6pbk3qzvp3sjavv9vdwdl";
};
patches = [
./fix-max-line-length-allowed.diff
];
postPatch = ''
substituteInPlace src/parallel --subst-var-by coreutils ${coreutils}
'';
outputs = [ "out" "man" "doc" ];
nativeBuildInputs = [ makeWrapper ];
@ -23,7 +16,7 @@ stdenv.mkDerivation rec {
postInstall = ''
wrapProgram $out/bin/parallel \
--prefix PATH : "${lib.makeBinPath [ procps perl ]}"
--prefix PATH : "${lib.makeBinPath [ procps perl coreutils ]}"
'';
doCheck = true;

View file

@ -1,17 +0,0 @@
Correct path to coreutils echo to fix parallel --max-line-length-allowed.
Author: Bjørn Forsman
diff --git a/src/parallel b/src/parallel
index a047fd94..9fc5f671 100755
--- a/src/parallel
+++ b/src/parallel
@@ -11580,7 +11580,7 @@ sub is_acceptable_command_line_length($$) {
$len += length $Global::parallel_env;
}
# Force using non-built-in command
- ::qqx("/bin/echo ".${string}x(($len-length "/bin/echo ")/length $string));
+ ::qqx("@coreutils@/bin/echo ".${string}x(($len-length "@coreutils@/bin/echo ")/length $string));
::debug("init", "$len=$? ");
return not $?;
}

View file

@ -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 ];
};
}

View file

@ -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; {

View file

@ -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 { };
@ -10019,7 +10021,7 @@ in
profiledCompiler = false;
});
libgccjit = gcc9.cc.override {
libgccjit = gcc.cc.override {
name = "libgccjit";
langFortran = false;
langCC = false;
@ -13785,6 +13787,8 @@ in
ganv = callPackage ../development/libraries/ganv { };
garble = callPackage ../build-support/go/garble.nix { };
gcab = callPackage ../development/libraries/gcab { };
gcovr = with python3Packages; toPythonApplication gcovr;
@ -23581,6 +23585,8 @@ in
mblaze = callPackage ../applications/networking/mailreaders/mblaze { };
mbrola = callPackage ../applications/audio/mbrola { };
mcomix3 = callPackage ../applications/graphics/mcomix3 {};
mcpp = callPackage ../development/compilers/mcpp { };
@ -24862,6 +24868,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 { };