Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 24c765c744ba
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 539706cd0464
Choose a head ref
Loading
Showing with 1,365 additions and 876 deletions.
  1. +1 −0 nixos/modules/module-list.nix
  2. +99 −0 nixos/modules/services/wayland/cage.nix
  3. +20 −8 nixos/modules/testing/service-runner.nix
  4. +2 −0 nixos/tests/all-tests.nix
  5. +43 −0 nixos/tests/cage.nix
  6. +1 −1 nixos/tests/opensmtpd.nix
  7. +36 −0 nixos/tests/service-runner.nix
  8. +2 −9 pkgs/applications/audio/deadbeef/default.nix
  9. +3 −3 pkgs/applications/audio/dragonfly-reverb/default.nix
  10. +8 −6 pkgs/applications/misc/blender/default.nix
  11. +25 −8 pkgs/applications/misc/iterm2/default.nix
  12. +3 −3 pkgs/applications/misc/pastel/default.nix
  13. +1 −1 pkgs/applications/misc/timewarrior/default.nix
  14. +2 −2 pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
  15. +2 −2 pkgs/applications/science/chemistry/octopus/default.nix
  16. +3 −3 pkgs/applications/science/chemistry/quantum-espresso/default.nix
  17. +1 −1 pkgs/applications/science/logic/monosat/default.nix
  18. +6 −6 pkgs/applications/version-management/gitlab/data.json
  19. +2 −2 pkgs/applications/version-management/gitlab/gitaly/Gemfile
  20. +24 −22 pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
  21. +16 −5 pkgs/applications/version-management/gitlab/gitaly/default.nix
  22. +4 −4 pkgs/applications/version-management/gitlab/gitaly/deps.nix
  23. +41 −27 pkgs/applications/version-management/gitlab/gitaly/gemset.nix
  24. +1 −1 pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
  25. +2 −2 pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
  26. +20 −14 pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
  27. +100 −78 pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
  28. +123 −90 pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
  29. +512 −448 pkgs/applications/version-management/gitlab/yarnPkgs.nix
  30. +1 −1 pkgs/applications/virtualization/gvisor/default.nix
  31. +10 −0 pkgs/build-support/build-bazel-package/default.nix
  32. +3 −3 pkgs/desktops/gnome-3/extensions/appindicator/default.nix
  33. +7 −2 pkgs/development/coq-modules/coq-elpi/default.nix
  34. +16 −5 pkgs/development/libraries/folks/default.nix
  35. +2 −13 pkgs/development/libraries/gom/default.nix
  36. +7 −4 pkgs/development/libraries/gsasl/default.nix
  37. +1 −1 pkgs/development/libraries/tdlib/default.nix
  38. +5 −5 pkgs/development/ocaml-modules/eigen/default.nix
  39. +2 −2 pkgs/development/ocaml-modules/elpi/default.nix
  40. +4 −4 pkgs/development/ocaml-modules/owl-base/default.nix
  41. +16 −4 pkgs/development/ocaml-modules/owl/default.nix
  42. +3 −3 pkgs/development/ocaml-modules/phylogenetics/default.nix
  43. +3 −3 pkgs/development/python-modules/asdf/default.nix
  44. +2 −2 pkgs/development/python-modules/bayesian-optimization/default.nix
  45. +40 −10 pkgs/development/python-modules/digitalocean/default.nix
  46. +1 −1 pkgs/development/python-modules/dm-sonnet/default.nix
  47. +3 −3 pkgs/development/python-modules/ipdb/default.nix
  48. +13 −3 pkgs/development/python-modules/ipykernel/default.nix
  49. +3 −3 pkgs/development/python-modules/jupytext/default.nix
  50. +27 −0 pkgs/development/python-modules/tensorflow-estimator/1_15_1.nix
  51. +1 −1 pkgs/development/python-modules/tensorflow-probability/default.nix
  52. +6 −4 pkgs/development/python-modules/tensorflow/default.nix
  53. +3 −3 pkgs/development/python-modules/tomlkit/default.nix
  54. +16 −2 pkgs/development/ruby-modules/bundled-common/default.nix
  55. +36 −21 pkgs/development/ruby-modules/bundler-env/default.nix
  56. +1 −1 pkgs/development/tools/bazel-watcher/default.nix
  57. +1 −1 pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
  58. +6 −6 pkgs/misc/emulators/mgba/default.nix
  59. +2 −3 pkgs/servers/clickhouse/default.nix
  60. +2 −2 pkgs/servers/dns/knot-dns/default.nix
  61. +6 −6 pkgs/servers/monitoring/zabbix/versions.nix
  62. +3 −3 pkgs/shells/zsh/oh-my-zsh/default.nix
  63. +2 −2 pkgs/tools/misc/kepubify/default.nix
  64. +6 −2 pkgs/tools/text/snippetpixie/default.nix
  65. +1 −1 pkgs/top-level/all-packages.nix
  66. +1 −0 pkgs/top-level/python-packages.nix
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -808,6 +808,7 @@
./services/ttys/agetty.nix
./services/ttys/gpm.nix
./services/ttys/kmscon.nix
./services/wayland/cage.nix
./services/web-apps/atlassian/confluence.nix
./services/web-apps/atlassian/crowd.nix
./services/web-apps/atlassian/jira.nix
99 changes: 99 additions & 0 deletions nixos/modules/services/wayland/cage.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{ config, pkgs, lib, ... }:

with lib;

let
cfg = config.services.cage;
in {
options.services.cage.enable = mkEnableOption "cage kiosk service";

options.services.cage.user = mkOption {
type = types.str;
default = "demo";
description = ''
User to log-in as.
'';
};

options.services.cage.extraArguments = mkOption {
type = types.listOf types.str;
default = [];
defaultText = "[]";
description = "Additional command line arguments to pass to Cage.";
example = ["-d"];
};

options.services.cage.program = mkOption {
type = types.path;
default = "${pkgs.xterm}/bin/xterm";
description = ''
Program to run in cage.
'';
};

config = mkIf cfg.enable {

# The service is partially based off of the one provided in the
# cage wiki at
# https://github.com/Hjdskes/cage/wiki/Starting-Cage-on-boot-with-systemd.
systemd.services."cage-tty1" = {
enable = true;
after = [
"systemd-user-sessions.service"
"plymouth-start.service"
"plymouth-quit.service"
"systemd-logind.service"
"getty@tty1.service"
];
before = [ "graphical.target" ];
wants = [ "dbus.socket" "systemd-logind.service" "plymouth-quit.service"];
wantedBy = [ "graphical.target" ];
conflicts = [ "getty@tty1.service" ];

restartIfChanged = false;
serviceConfig = {
ExecStart = ''
${pkgs.cage}/bin/cage \
${escapeShellArgs cfg.extraArguments} \
-- ${cfg.program}
'';
User = cfg.user;

ConditionPathExists = "/dev/tty1";
IgnoreSIGPIPE = "no";

# Log this user with utmp, letting it show up with commands 'w' and
# 'who'. This is needed since we replace (a)getty.
UtmpIdentifier = "%n";
UtmpMode = "user";
# A virtual terminal is needed.
TTYPath = "/dev/tty1";
TTYReset = "yes";
TTYVHangup = "yes";
TTYVTDisallocate = "yes";
# Fail to start if not controlling the virtual terminal.
StandardInput = "tty-fail";
StandardOutput = "syslog";
StandardError = "syslog";
# Set up a full (custom) user session for the user, required by Cage.
PAMName = "cage";
};
};

security.pam.services.cage.text = ''
auth required pam_unix.so nullok
account required pam_unix.so
session required pam_unix.so
session required ${pkgs.systemd}/lib/security/pam_systemd.so
'';

hardware.opengl.enable = mkDefault true;

systemd.targets.graphical.wants = [ "cage-tty1.service" ];

systemd.defaultUnit = "graphical.target";
};

meta.maintainers = with lib.maintainers; [ matthewbauer flokli ];

}
28 changes: 20 additions & 8 deletions nixos/modules/testing/service-runner.nix
Original file line number Diff line number Diff line change
@@ -12,7 +12,10 @@ let
sub run {
my ($cmd) = @_;
my @args = split " ", $cmd;
my @args = ();
while ($cmd =~ /([^ \t\n']+)|(\'([^'])\')\s*/g) {
push @args, $1;
}
my $prog;
if (substr($args[0], 0, 1) eq "@") {
$prog = substr($args[0], 1);
@@ -48,15 +51,20 @@ let
'') service.environment)}
# Run the ExecStartPre program. FIXME: this could be a list.
my $preStart = '${service.serviceConfig.ExecStartPre or ""}';
if ($preStart ne "") {
my $preStart = <<END_CMD;
${service.serviceConfig.ExecStartPre or ""}
END_CMD
if (defined $preStart && $preStart ne "\n") {
print STDERR "running ExecStartPre: $preStart\n";
my $res = run_wait $preStart;
die "$0: ExecStartPre failed with status $res\n" if $res;
};
# Run the ExecStart program.
my $cmd = '${service.serviceConfig.ExecStart}';
my $cmd = <<END_CMD;
${service.serviceConfig.ExecStart}
END_CMD
print STDERR "running ExecStart: $cmd\n";
my $mainPid = run $cmd;
$ENV{'MAINPID'} = $mainPid;
@@ -70,8 +78,10 @@ let
$SIG{'QUIT'} = \&intHandler;
# Run the ExecStartPost program.
my $postStart = '${service.serviceConfig.ExecStartPost or ""}';
if ($postStart ne "") {
my $postStart = <<END_CMD;
${service.serviceConfig.ExecStartPost or ""}
END_CMD
if (defined $postStart && $postStart ne "\n") {
print STDERR "running ExecStartPost: $postStart\n";
my $res = run_wait $postStart;
die "$0: ExecStartPost failed with status $res\n" if $res;
@@ -82,8 +92,10 @@ let
my $mainRes = $?;
# Run the ExecStopPost program.
my $postStop = '${service.serviceConfig.ExecStopPost or ""}';
if ($postStop ne "") {
my $postStop = <<END_CMD;
${service.serviceConfig.ExecStopPost or ""}
END_CMD
if (defined $postStop && $postStop ne "\n") {
print STDERR "running ExecStopPost: $postStop\n";
my $res = run_wait $postStop;
die "$0: ExecStopPost failed with status $res\n" if $res;
2 changes: 2 additions & 0 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
@@ -39,6 +39,7 @@ in
buildbot = handleTest ./buildbot.nix {};
caddy = handleTest ./caddy.nix {};
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
cage = handleTest ./cage.nix {};
cassandra = handleTest ./cassandra.nix {};
ceph-single-node = handleTestOn ["x86_64-linux"] ./ceph-single-node.nix {};
ceph-multi-node = handleTestOn ["x86_64-linux"] ./ceph-multi-node.nix {};
@@ -263,6 +264,7 @@ in
samba = handleTest ./samba.nix {};
sanoid = handleTest ./sanoid.nix {};
sddm = handleTest ./sddm.nix {};
service-runner = handleTest ./service-runner.nix {};
shiori = handleTest ./shiori.nix {};
signal-desktop = handleTest ./signal-desktop.nix {};
simple = handleTest ./simple.nix {};
43 changes: 43 additions & 0 deletions nixos/tests/cage.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import ./make-test-python.nix ({ pkgs, ...} :

{
name = "cage";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ matthewbauer flokli ];
};

machine = { ... }:

{
imports = [ ./common/user-account.nix ];
services.cage = {
enable = true;
user = "alice";
program = "${pkgs.xterm}/bin/xterm -cm -pc"; # disable color and bold to make OCR easier
};

# this needs a fairly recent kernel, otherwise:
# [backend/drm/util.c:215] Unable to add DRM framebuffer: No such file or directory
# [backend/drm/legacy.c:15] Virtual-1: Failed to set CRTC: No such file or directory
# [backend/drm/util.c:215] Unable to add DRM framebuffer: No such file or directory
# [backend/drm/legacy.c:15] Virtual-1: Failed to set CRTC: No such file or directory
# [backend/drm/drm.c:618] Failed to initialize renderer on connector 'Virtual-1': initial page-flip failed
# [backend/drm/drm.c:701] Failed to initialize renderer for plane
boot.kernelPackages = pkgs.linuxPackages_latest;

virtualisation.memorySize = 1024;
};

enableOCR = true;

testScript = { nodes, ... }: let
user = nodes.machine.config.users.users.alice;
in ''
with subtest("Wait for cage to boot up"):
start_all()
machine.wait_for_file("/run/user/${toString user.uid}/wayland-0.lock")
machine.wait_until_succeeds("pgrep xterm")
machine.wait_for_text("alice@machine")
machine.screenshot("screen")
'';
})
2 changes: 1 addition & 1 deletion nixos/tests/opensmtpd.nix
Original file line number Diff line number Diff line change
@@ -121,5 +121,5 @@ import ./make-test-python.nix {
client.succeed("check-mail-landed >&2")
'';

meta.timeout = 30;
meta.timeout = 1800;
}
36 changes: 36 additions & 0 deletions nixos/tests/service-runner.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "service-runner";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ roberth ];
};

nodes = {
machine = { pkgs, lib, ... }: {
services.nginx.enable = true;
services.nginx.virtualHosts.machine.root = pkgs.runCommand "webroot" {} ''
mkdir $out
echo 'yay' >$out/index.html
'';
systemd.services.nginx.enable = false;
};

};

testScript = { nodes, ... }: ''
url = "http://localhost/index.html"
with subtest("check systemd.services.nginx.runner"):
machine.fail(f"curl {url}")
machine.succeed(
"""
mkdir -p /run/nginx /var/spool/nginx/logs
${nodes.machine.config.systemd.services.nginx.runner} &
echo $!>my-nginx.pid
"""
)
machine.wait_for_open_port(80)
machine.succeed(f"curl {url}")
machine.succeed("kill -INT $(cat my-nginx.pid)")
machine.wait_for_closed_port(80)
'';
})
11 changes: 2 additions & 9 deletions pkgs/applications/audio/deadbeef/default.nix
Original file line number Diff line number Diff line change
@@ -59,22 +59,15 @@ assert remoteSupport -> curl != null;

stdenv.mkDerivation rec {
pname = "deadbeef";
version = "1.8.0";
version = "1.8.2";

src = fetchFromGitHub {
owner = "DeaDBeeF-Player";
repo = "deadbeef";
rev = version;
sha256 = "126i5qlkpv7pvi1mmc9y0jhqs6jjspsj7j615n2ddvsb2jsps81c";
sha256 = "016wwnh5jqdcfxn1ff6in5dz73c3gdhh3fva8inq7sc3vzdz5khj";
};

patches = [
# Fix broken symbol name
# https://github.com/NixOS/nixpkgs/pull/59187#issuecomment-480977993
# will be fixed in deadbeef 1.8.1
./fix-wildmidi.patch
];

buildInputs = with stdenv.lib; [ jansson ]
++ optional gtk2Support gtk2
++ optionals gtk3Support [ gtk3 gsettings-desktop-schemas ]
6 changes: 3 additions & 3 deletions pkgs/applications/audio/dragonfly-reverb/default.nix
Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@

stdenv.mkDerivation rec {
pname = "dragonfly-reverb";
version = "2.0.0";
version = "3.0.0";

src = fetchFromGitHub {
owner = "michaelwillis";
repo = "dragonfly-reverb";
rev = version;
sha256 = "1qrbv4kk5v6ynx424h1i54qj0w8v6vpw81b759jawxvzzprpgq72";
sha256 = "1z2x33lzpd26dv1p29ca7vy8mjfzkfpin35iq46spwd9k3sqn1ja";
fetchSubmodules = true;
};

@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/lib/lv2/
mkdir -p $out/lib/vst/
cd bin
for bin in DragonflyHallReverb DragonflyRoomReverb; do
for bin in DragonflyEarlyReflections DragonflyPlateReverb DragonflyHallReverb DragonflyRoomReverb; do
cp -a $bin $out/bin/
cp -a $bin-vst.so $out/lib/vst/
cp -a $bin.lv2/ $out/lib/lv2/ ;
14 changes: 8 additions & 6 deletions pkgs/applications/misc/blender/default.nix
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
, jackaudioSupport ? false, libjack2
, cudaSupport ? config.cudaSupport or false, cudatoolkit
, colladaSupport ? true, opencollada
, enableNumpy ? false, makeWrapper
, makeWrapper
, pugixml, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL
}:

@@ -117,11 +117,13 @@ stdenv.mkDerivation rec {

enableParallelBuilding = true;

postInstall = optionalString enableNumpy
''
wrapProgram $out/bin/blender \
--prefix PYTHONPATH : ${python3Packages.numpy}/${python.sitePackages}
'';
blenderExecutable =
placeholder "out" + (if stdenv.isDarwin then "/Blender.app/Contents/MacOS/Blender" else "/bin/blender");
# --python-expr is used to workaround https://developer.blender.org/T74304
postInstall = ''
wrapProgram $blenderExecutable \
--add-flags '--python-expr "import sys; sys.path.append(\"${python3Packages.numpy}/${python.sitePackages}\")"'
'';

# Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be
# found. See the explanation in libglvnd.
Loading