Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-09-03 00:02:21 +00:00 committed by GitHub
commit e89bf40282
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 268 additions and 35 deletions

View File

@ -350,6 +350,7 @@ in
# shadow = 318; # unused
hqplayer = 319;
moonraker = 320;
distcc = 321;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -654,6 +655,7 @@ in
shadow = 318;
hqplayer = 319;
moonraker = 320;
distcc = 321;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View File

@ -374,6 +374,7 @@
./services/desktops/zeitgeist.nix
./services/development/bloop.nix
./services/development/blackfire.nix
./services/development/distccd.nix
./services/development/hoogle.nix
./services/development/jupyter/default.nix
./services/development/jupyterhub/default.nix

View File

@ -0,0 +1,155 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.distccd;
in
{
options = {
services.distccd = {
enable = mkEnableOption "distccd";
allowedClients = mkOption {
type = types.listOf types.str;
default = [ "127.0.0.1" ];
example = [ "127.0.0.1" "192.168.0.0/24" "10.0.0.0/24" ];
description = ''
Client IPs which are allowed to connect to distccd in CIDR notation.
Anyone who can connect to the distccd server can run arbitrary
commands on that system as the distcc user, therefore you should use
this judiciously.
'';
};
jobTimeout = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
Maximum duration, in seconds, of a single compilation request.
'';
};
logLevel = mkOption {
type = types.nullOr (types.enum [ "critical" "error" "warning" "notice" "info" "debug" ]);
default = "warning";
description = ''
Set the minimum severity of error that will be included in the log
file. Useful if you only want to see error messages rather than an
entry for each connection.
'';
};
maxJobs = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
Maximum number of tasks distccd should execute at any time.
'';
};
nice = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
Niceness of the compilation tasks.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Opens the specified TCP port for distcc.
'';
};
package = mkOption {
type = types.package;
default = pkgs.distcc;
example = "pkgs.distcc";
description = ''
The distcc package to use.
'';
};
port = mkOption {
type = types.port;
default = 3632;
description = ''
The TCP port which distccd will listen on.
'';
};
stats = {
enable = mkEnableOption "statistics reporting via HTTP server";
port = mkOption {
type = types.port;
default = 3633;
description = ''
The TCP port which the distccd statistics HTTP server will listen
on.
'';
};
};
zeroconf = mkOption {
type = types.bool;
default = false;
description = ''
Whether to register via mDNS/DNS-SD
'';
};
};
};
config = mkIf cfg.enable {
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.port ]
++ optionals cfg.stats.enable [ cfg.stats.port ];
};
systemd.services.distccd = {
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
description = "Distributed C, C++ and Objective-C compiler";
documentation = [ "man:distccd(1)" ];
serviceConfig = {
User = "distcc";
Group = "distcc";
# FIXME: I'd love to get rid of `--enable-tcp-insecure` here, but I'm
# not sure how I'm supposed to get distccd to "accept" running a binary
# (the compiler) that's outside of /usr/lib.
ExecStart = pkgs.writeShellScript "start-distccd" ''
export PATH="${pkgs.distccMasquerade}/bin"
${cfg.package}/bin/distccd \
--no-detach \
--daemon \
--enable-tcp-insecure \
--port ${toString cfg.port} \
${optionalString (cfg.jobTimeout != null) "--job-lifetime ${toString cfg.jobTimeout}"} \
${optionalString (cfg.logLevel != null) "--log-level ${cfg.logLevel}"} \
${optionalString (cfg.maxJobs != null) "--jobs ${toString cfg.maxJobs}"} \
${optionalString (cfg.nice != null) "--nice ${toString cfg.nice}"} \
${optionalString cfg.stats.enable "--stats"} \
${optionalString cfg.stats.enable "--stats-port ${toString cfg.stats.port}"} \
${optionalString cfg.zeroconf "--zeroconf"} \
${concatMapStrings (c: "--allow ${c} ") cfg.allowedClients}
'';
};
};
users = {
groups.distcc.gid = config.ids.gids.distcc;
users.distcc = {
description = "distccd user";
group = "distcc";
uid = config.ids.uids.distcc;
};
};
};
}

View File

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "ipfs-cluster";
version = "0.14.0";
version = "0.14.1";
vendorSha256 = "sha256-I8UJxqzbcOE6pHsKkktrEXVHurxwe0D20GZZmASdWH4=";
vendorSha256 = "sha256-vDNWYgWlM3kJqlHW/6Bj6P+t6M61TvOVRJwDN2p0mi4=";
src = fetchFromGitHub {
owner = "ipfs";
repo = "ipfs-cluster";
rev = "v${version}";
sha256 = "sha256-lB0sYsbZfUJgQVNEFLoXNFszWYxlXNEQbRQWA7fRT2A=";
sha256 = "sha256-GELCd12LhA4CBe9DRRBu4r+AwCksaRVIWcSAJScvnbk=";
};
meta = with lib; {

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "notmuch";
version = "0.32.2";
version = "0.32.3";
src = fetchurl {
url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
sha256 = "1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf";
sha256 = "114bbyjl2ppmy4pw0b5zwmi7lxiz6xd1k6zq0qcgdv7ahkwgybxy";
};
nativeBuildInputs = [

View File

@ -1,13 +1,15 @@
{ lib, stdenv, fetchFromGitHub
, cmake, pkg-config
, libva, libpciaccess, intel-gmmlib
, enableX11 ? true, libX11
, enableX11 ? stdenv.isLinux, libX11
}:
stdenv.mkDerivation rec {
pname = "intel-media-driver";
version = "21.3.2";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "intel";
repo = "media-driver";
@ -27,6 +29,11 @@ stdenv.mkDerivation rec {
buildInputs = [ libva libpciaccess intel-gmmlib ]
++ lib.optional enableX11 libX11;
postFixup = lib.optionalString enableX11 ''
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/dri/iHD_drv_video.so):${lib.makeLibraryPath [ libX11 ]}" \
$out/lib/dri/iHD_drv_video.so
'';
meta = with lib; {
description = "Intel Media Driver for VAAPI Broadwell+ iGPUs";
longDescription = ''
@ -40,9 +47,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
maintainers = with maintainers; [ primeos jfrankenau ];
};
postFixup = lib.optionalString enableX11 ''
patchelf --set-rpath "$(patchelf --print-rpath $out/lib/dri/iHD_drv_video.so):${lib.makeLibraryPath [ libX11 ]}" \
$out/lib/dri/iHD_drv_video.so
'';
}

View File

@ -1,6 +1,6 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchPypi
, isPy3k
, setuptools
, pytest-cov
@ -9,15 +9,11 @@
buildPythonPackage rec {
pname = "pglast";
version = "3.3";
version = "3.4";
# PyPI tarball does not include all the required files
src = fetchFromGitHub {
owner = "lelit";
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "0l7nvbs1x1qil6mc0rxk7925i5xr3nbqnv0vakx3yv911kj3yhgv";
src = fetchPypi {
inherit pname version;
sha256 = "d2288d9607097a08529d9165970261c1be956934e8a8f6d9ed2a96d9b8f03fc6";
};
disabled = !isPy3k;

View File

@ -26,6 +26,14 @@ let
buildKernel = any (n: n == configFile) [ "kernel" "all" ];
buildUser = any (n: n == configFile) [ "user" "all" ];
# XXX: You always want to build kernel modules with the same stdenv as the
# kernel was built with. However, since zfs can also be built for userspace we
# need to correctly pick between the provided/default stdenv, and the one used
# by the kernel.
# If you don't do this your ZFS builds will fail on any non-standard (e.g.
# clang-built) kernels.
stdenv' = if kernel == null then stdenv else kernel.stdenv;
common = { version
, sha256
, extraPatches ? []
@ -34,7 +42,7 @@ let
, latestCompatibleLinuxPackages
, kernelCompatible ? null }:
stdenv.mkDerivation {
stdenv'.mkDerivation {
name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
src = fetchFromGitHub {
@ -47,11 +55,6 @@ let
postPatch = optionalString buildKernel ''
patchShebangs scripts
# https://github.com/openzfs/zfs/issues/10107
substituteInPlace ./config/kernel.m4 \
--replace "make modules" "make CC=$CC modules"
# The arrays must remain the same length, so we repeat a flag that is
# already part of the command and therefore has no effect.
substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \

View File

@ -4,7 +4,7 @@ with lib;
buildGoPackage rec {
pname = "nats-server";
version = "2.3.4";
version = "2.4.0";
goPackagePath = "github.com/nats-io/${pname}";
@ -12,7 +12,7 @@ buildGoPackage rec {
rev = "v${version}";
owner = "nats-io";
repo = pname;
sha256 = "sha256-VNnL1v7R8cko9C/494XJh4aMRZv459tAHys9nmrA9QE=";
sha256 = "sha256-v758qj1dy8zh3zfZxKkKALxZqNAxc1XdtTW4dxU4l5A=";
};
meta = {

View File

@ -0,0 +1,28 @@
{ lib, fetchFromGitHub, perl, perlPackages, makeWrapper, }:
perlPackages.buildPerlPackage rec {
pname = "cope";
version = "unstable-2015-01-29";
src = fetchFromGitHub {
owner = "lotrfan";
repo = pname;
rev = "0dc82a939a9498ff80caf472841c279dfe03efae";
sha256 = "sha256-Tkv26M6YnaUB0nudjKGG482fvUkCobPk0VF1manBCoY=";
};
buildInputs = with perlPackages; [ EnvPath FileShareDir IOPty IOStty ListMoreUtils RegexpCommon RegexpIPv6 ];
postInstall = ''
mkdir -p $out/bin
mv $out/lib/perl5/site_perl/${perl.version}/auto/share/dist/Cope/* $out/bin/
rm -r $out/lib/perl5/site_perl/${perl.version}/auto
'';
meta = with lib; {
description = "A colourful wrapper for terminal programs";
homepage = "https://github.com/lotrfan/cope";
license = with licenses; [ artistic1 gpl1Plus ];
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View File

@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/dbrgn/tealdeer";
maintainers = with maintainers; [ davidak ];
license = with licenses; [ asl20 mit ];
mainProgram = "tldr";
};
}

View File

@ -1,6 +1,13 @@
{ lib, buildPythonPackage, fetchPypi
, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome
, websockets, mutagen
{ lib
, buildPythonPackage
, fetchPypi
, ffmpeg
, rtmpdump
, phantomjs2
, atomicparsley
, pycryptodome
, websockets
, mutagen
, ffmpegSupport ? true
, rtmpSupport ? true
, phantomjsSupport ? false
@ -12,12 +19,12 @@ buildPythonPackage rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2021.08.10";
version = "2021.9.2";
src = fetchPypi {
inherit pname;
version = builtins.replaceStrings [ ".0" ] [ "." ] version;
sha256 = "8da1bf4dc4641d37d137443c4783109ee8393caad5e0d270d9d1d534e8f25240";
sha256 = "sha256-yn53zbBVuiaD31sIB6qxweEgy+AsjzXZ0yk9lNva6mM=";
};
# build_lazy_extractors assumes this directory exists but it is not present in
@ -33,12 +40,14 @@ buildPythonPackage rec {
# - ffmpeg: post-processing & transcoding support
# - rtmpdump: download files over RTMP
# - atomicparsley: embedding thumbnails
makeWrapperArgs = let
makeWrapperArgs =
let
packagesToBinPath = [ atomicparsley ]
++ lib.optional ffmpegSupport ffmpeg
++ lib.optional rtmpSupport rtmpdump
++ lib.optional phantomjsSupport phantomjs2;
in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
in
[ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
setupPyBuildFlags = [
"build_lazy_extractors"

View File

@ -877,6 +877,8 @@ with pkgs;
amidst = callPackage ../tools/games/minecraft/amidst { };
cope = callPackage ../tools/misc/cope { };
gamemode = callPackage ../tools/games/gamemode {
libgamemode32 = pkgsi686Linux.gamemode.lib;
};

View File

@ -10643,6 +10643,23 @@ let
propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
};
IOPty = buildPerlModule {
pname = "IO-Pty";
version = "1.16";
src = fetchurl {
url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.16.tar.gz";
sha256 = "sha256-jxoJwHBzitxpXfkD8uf3QwjdjZkbkUwLw5Cg5gISlN0=";
};
buildPhase = "make";
checkPhase = "make test";
installPhase = "make install";
meta = {
homepage = "https://github.com/toddr/IO-Tty";
description = "Pseudo TTY object class";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
IOPrompt = buildPerlModule {
pname = "IO-Prompt";
version = "0.997004";
@ -10735,6 +10752,23 @@ let
};
};
IOStty = buildPerlModule {
pname = "IO-Stty";
version = "0.04";
src = fetchurl {
url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Stty-0.04.tar.gz";
sha256 = "sha256-XJUJ8ahpPYKH+gE97wv4eqZM2ScThGHvjetVUDxmUcI=";
};
buildPhase = "make";
checkPhase = "make test";
installPhase = "make install";
meta = {
homepage = "http://wiki.github.com/toddr/IO-Stty";
description = "Change and print terminal line settings";
license = with lib.licenses; [ artistic1 gpl1Plus ];
};
};
IOTee = buildPerlPackage {
pname = "IO-Tee";
version = "0.66";