Merge master into staging-next
This commit is contained in:
commit
704a7a86ca
@ -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
|
||||
|
@ -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
|
||||
|
155
nixos/modules/services/development/distccd.nix
Normal file
155
nixos/modules/services/development/distccd.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -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; {
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
'';
|
||||
}
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flexmock";
|
||||
version = "0.10.5";
|
||||
version = "0.10.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "003422fdbcf5d6570e60a0eafeb54c0af624c6cddab5fc3bfe026e52dd0f9c5a";
|
||||
sha256 = "6820031c39b298646194a3f0b2b693322bb7f44b39dbaf1c54b0ae68b3d768fa";
|
||||
};
|
||||
|
||||
checkInputs = [ pytest ];
|
||||
|
@ -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;
|
||||
|
@ -4,14 +4,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "qcelemental";
|
||||
version = "0.21.0";
|
||||
version = "0.22.0";
|
||||
|
||||
checkInputs = [ pytest-runner pytest-cov pytest ];
|
||||
propagatedBuildInputs = [ numpy pydantic pint networkx ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1b3c78fxbpnddrm1fnbvv4x2840jcfjg2l5cb5w4p38vzksiv238";
|
||||
sha256 = "1d7fc613fbe30189cfa970a863a5955865b1116ff651d20325c721b6f0ef1f52";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sparse";
|
||||
version = "0.12.0";
|
||||
version = "0.13.0";
|
||||
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "2c95c3b8ee00211a5aa4ef5e46006d25bf35009a66e406b7ea9b25b327fb9516";
|
||||
sha256 = "685dc994aa770ee1b23f2d5392819c8429f27958771f8dceb2c4fb80210d5915";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -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 \
|
||||
|
@ -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 = {
|
||||
|
28
pkgs/tools/misc/cope/default.nix
Normal file
28
pkgs/tools/misc/cope/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -40,5 +40,6 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://github.com/dbrgn/tealdeer";
|
||||
maintainers = with maintainers; [ davidak ];
|
||||
license = with licenses; [ asl20 mit ];
|
||||
mainProgram = "tldr";
|
||||
};
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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";
|
||||
|
Loading…
Reference in New Issue
Block a user