Skip to content

Commit beb43a6

Browse files
committedMay 14, 2017
Merge remote-tracking branch 'upstream/master' into staging
2 parents 51e0f8f + d22b1d0 commit beb43a6

File tree

33 files changed

+456
-167
lines changed

33 files changed

+456
-167
lines changed
 

‎doc/languages-frameworks/ruby.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ bundlerEnv rec {
4646
so it has all the libraries necessary for <literal>sensu</literal> in its paths. The second one can be used to make derivations from custom Ruby scripts which have
4747
<filename>Gemfile</filename>s with their dependencies specified. It is a derivation with <command>ruby</command> wrapped so it can find all the needed dependencies.
4848
For example, to make a derivation <literal>my-script</literal> for a <filename>my-script.rb</filename> (which should be placed in <filename>bin</filename>) you should
49-
run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> lile this:</para>
49+
run <command>bundix</command> as specified above and then use <literal>bundlerEnv</literal> like this:</para>
5050

5151
<programlisting>
5252
<![CDATA[let env = bundlerEnv {

‎nixos/modules/module-list.nix

+1
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@
256256
./services/mail/spamassassin.nix
257257
./services/mail/rspamd.nix
258258
./services/mail/rmilter.nix
259+
./services/mail/nullmailer.nix
259260
./services/misc/apache-kafka.nix
260261
./services/misc/autofs.nix
261262
./services/misc/autorandr.nix
+217
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
{ config, lib, pkgs, ... }:
2+
3+
with lib;
4+
5+
{
6+
7+
options = {
8+
9+
services.nullmailer = {
10+
enable = mkOption {
11+
type = types.bool;
12+
default = false;
13+
description = "Whether to enable nullmailer daemon.";
14+
};
15+
16+
user = mkOption {
17+
type = types.string;
18+
default = "nullmailer";
19+
description = ''
20+
User to use to run nullmailer-send.
21+
'';
22+
};
23+
24+
group = mkOption {
25+
type = types.string;
26+
default = "nullmailer";
27+
description = ''
28+
Group to use to run nullmailer-send.
29+
'';
30+
};
31+
32+
setSendmail = mkOption {
33+
type = types.bool;
34+
default = true;
35+
description = "Whether to set the system sendmail to nullmailer's.";
36+
};
37+
38+
config = {
39+
adminaddr = mkOption {
40+
type = types.nullOr types.str;
41+
default = null;
42+
description = ''
43+
If set, all recipients to users at either "localhost" (the literal string)
44+
or the canonical host name (from the me control attribute) are remapped to this address.
45+
This is provided to allow local daemons to be able to send email to
46+
"somebody@localhost" and have it go somewhere sensible instead of being bounced
47+
by your relay host. To send to multiple addresses,
48+
put them all on one line separated by a comma.
49+
'';
50+
};
51+
52+
allmailfrom = mkOption {
53+
type = types.nullOr types.str;
54+
default = null;
55+
description = ''
56+
If set, content will override the envelope sender on all messages.
57+
'';
58+
};
59+
60+
defaultdomain = mkOption {
61+
type = types.nullOr types.str;
62+
default = null;
63+
description = ''
64+
The content of this attribute is appended to any host name that
65+
does not contain a period (except localhost), including defaulthost
66+
and idhost. Defaults to the value of the me attribute, if it exists,
67+
otherwise the literal name defauldomain.
68+
'';
69+
};
70+
71+
defaulthost = mkOption {
72+
type = types.nullOr types.str;
73+
default = null;
74+
description = ''
75+
The content of this attribute is appended to any address that
76+
is missing a host name. Defaults to the value of the me control
77+
attribute, if it exists, otherwise the literal name defaulthost.
78+
'';
79+
};
80+
81+
doublebounceto = mkOption {
82+
type = types.nullOr types.str;
83+
default = null;
84+
description = ''
85+
If the original sender was empty (the original message was a
86+
delivery status or disposition notification), the double bounce
87+
is sent to the address in this attribute.
88+
'';
89+
};
90+
91+
helohost = mkOption {
92+
type = types.nullOr types.str;
93+
default = null;
94+
description = ''
95+
Sets the environment variable $HELOHOST which is used by the
96+
SMTP protocol module to set the parameter given to the HELO command.
97+
Defaults to the value of the me configuration attribute.
98+
'';
99+
};
100+
101+
idhost = mkOption {
102+
type = types.nullOr types.str;
103+
default = null;
104+
description = ''
105+
The content of this attribute is used when building the message-id
106+
string for the message. Defaults to the canonicalized value of defaulthost.
107+
'';
108+
};
109+
110+
maxpause = mkOption {
111+
type = types.nullOr types.str;
112+
default = null;
113+
description = ''
114+
The maximum time to pause between successive queue runs, in seconds.
115+
Defaults to 24 hours (86400).
116+
'';
117+
};
118+
119+
me = mkOption {
120+
type = types.nullOr types.str;
121+
default = null;
122+
description = ''
123+
The fully-qualifiled host name of the computer running nullmailer.
124+
Defaults to the literal name me.
125+
'';
126+
};
127+
128+
pausetime = mkOption {
129+
type = types.nullOr types.str;
130+
default = null;
131+
description = ''
132+
The minimum time to pause between successive queue runs when there
133+
are messages in the queue, in seconds. Defaults to 1 minute (60).
134+
Each time this timeout is reached, the timeout is doubled to a
135+
maximum of maxpause. After new messages are injected, the timeout
136+
is reset. If this is set to 0, nullmailer-send will exit
137+
immediately after going through the queue once (one-shot mode).
138+
'';
139+
};
140+
141+
remotes = mkOption {
142+
type = types.nullOr types.str;
143+
default = null;
144+
description = ''
145+
If set, content will override the envelope sender on all messages.
146+
'';
147+
};
148+
149+
sendtimeout = mkOption {
150+
type = types.nullOr types.str;
151+
default = null;
152+
description = ''
153+
The time to wait for a remote module listed above to complete sending
154+
a message before killing it and trying again, in seconds.
155+
Defaults to 1 hour (3600). If this is set to 0, nullmailer-send
156+
will wait forever for messages to complete sending.
157+
'';
158+
};
159+
};
160+
};
161+
};
162+
163+
config = let
164+
cfg = config.services.nullmailer;
165+
in mkIf cfg.enable {
166+
167+
environment = {
168+
systemPackages = [ pkgs.nullmailer ];
169+
etc = let
170+
getval = attr: builtins.getAttr attr cfg.config;
171+
attrs = builtins.attrNames cfg.config;
172+
attrs' = builtins.filter (attr: ! isNull (getval attr)) attrs;
173+
in foldl' (as: attr: as // { "nullmailer/${attr}".text = getval attr; }) {} attrs';
174+
};
175+
176+
users = {
177+
extraUsers = singleton {
178+
name = cfg.user;
179+
description = "Nullmailer relay-only mta user";
180+
group = cfg.group;
181+
};
182+
183+
extraGroups = singleton {
184+
name = cfg.group;
185+
};
186+
};
187+
188+
systemd.services.nullmailer = {
189+
description = "nullmailer";
190+
wantedBy = [ "multi-user.target" ];
191+
after = [ "network.target" ];
192+
193+
preStart = ''
194+
mkdir -p /var/spool/nullmailer/{queue,tmp}
195+
rm -f var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger
196+
chown ${cfg.user} /var/spool/nullmailer/*
197+
'';
198+
199+
serviceConfig = {
200+
User = cfg.user;
201+
Group = cfg.group;
202+
PermissionsStartOnly=true;
203+
ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send";
204+
Restart = "always";
205+
};
206+
};
207+
208+
services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail {
209+
program = "sendmail";
210+
source = "${pkgs.nullmailer}/bin/sendmail";
211+
owner = cfg.user;
212+
group = cfg.group;
213+
setuid = true;
214+
setgid = true;
215+
};
216+
};
217+
}

‎nixos/modules/services/misc/gitlab.nix

+1
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ in {
440440
path = with pkgs; [
441441
gitAndTools.git
442442
openssh
443+
gitlab-workhorse
443444
];
444445
preStart = ''
445446
mkdir -p /run/gitlab

‎pkgs/applications/altcoins/bitcoin-unlimited.nix

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ with stdenv.lib;
77
stdenv.mkDerivation rec {
88

99
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
10-
version = "1.0.1.4";
10+
version = "1.0.2.0";
1111

1212
src = fetchFromGitHub {
1313
owner = "bitcoinunlimited";
1414
repo = "bitcoinunlimited";
1515
rev = "v${version}";
16-
sha256 = "1awsgkgqvb57grrsq6k99009rzhpfaplh2lbf5sy36v3bh7p5mw5";
16+
sha256 = "0rhk6xvzvzyfppg0pgq72nqgm2rmkiw0nhg3rwnzcvvj90nrz3da";
1717
};
1818

1919
nativeBuildInputs = [ pkgconfig autoreconfHook ];

‎pkgs/applications/editors/kdevelop5/kdevelop.nix

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{ stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules, makeQtWrapper
2-
, qtquickcontrols, qtwebkit, qttools
2+
, qtquickcontrols, qtwebkit, qttools, kde-cli-tools
33
, kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews
44
, kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor
55
, threadweaver, kxmlgui, kwindowsystem, grantlee
@@ -36,7 +36,16 @@ stdenv.mkDerivation rec {
3636

3737
postInstall = ''
3838
wrapQtProgram "$out/bin/kdevelop"
39-
wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${qttools}/bin"
39+
40+
# The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH.
41+
wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${qttools}/bin:${kde-cli-tools}/bin"
42+
43+
# Fix the (now wrapped) kdevelop! to find things in right places:
44+
# - Make KDEV_BASEDIR point to bin directory of kdevplatform.
45+
kdev_fixup_sed="s|^export KDEV_BASEDIR=.*$|export KDEV_BASEDIR=${kdevplatform}/bin|"
46+
# - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop.
47+
kdev_fixup_sed+=";s|\\\$KDEV_BASEDIR/kdevelop|$out/bin/kdevelop|"
48+
sed -E -i "$kdev_fixup_sed" "$out/bin/.kdevelop!-wrapped"
4049
'';
4150

4251
meta = with stdenv.lib; {

‎pkgs/applications/misc/openbrf/default.nix

+18-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
{ stdenv, fetchFromGitHub, qt4, qmake4Hook, vcg, glew }:
1+
{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmakeHook, makeQtWrapper, mesa }:
2+
23

34
stdenv.mkDerivation {
4-
name = "openbrf-2016-01-09";
5+
name = "openbrf-unstable-2016-01-09";
56

67
src = fetchFromGitHub {
78
owner = "cfcohen";
89
repo = "openbrf";
9-
rev = "c18d7431e1d499cee11586f4a035fb5fdc0d3330";
10-
sha256 = "0laikpz0ljz7l5fgapwj09ygizmvj1iywnpfgfd0i14j46s134xb";
10+
rev = "4bdc66e38def5e5184f5379c84a7558b7484c70a";
11+
sha256 = "16254cnr60ihcn7bki7wl1qm6gkvzb99cn66md1pnb7za8nvzf4j";
1112
};
1213

13-
buildInputs = [ qt4 qmake4Hook vcg glew ];
14+
buildInputs = [ qtbase vcg glew ];
15+
nativeBuildInputs = [ qmakeHook makeQtWrapper ];
1416

1517
enableParallelBuilding = true;
1618

@@ -21,9 +23,19 @@ stdenv.mkDerivation {
2123
'';
2224

2325
installPhase = ''
24-
install -Dm755 openBrf $out/bin/openBrf
26+
install -Dm755 openBrf $out/share/openBrf/openBrf
27+
install -Dm644 carry_positions.txt $out/share/openBrf/carry_positions.txt
28+
install -Dm644 reference.brf $out/share/openBrf/reference.brf
29+
30+
patchelf \
31+
--set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc mesa ]}" \
32+
$out/share/openBrf/openBrf
33+
34+
makeQtWrapper "$out/share/openBrf/openBrf" "$out/bin/openBrf"
2535
'';
2636

37+
dontPatchELF = true;
38+
2739
meta = with stdenv.lib; {
2840
description = "A tool to edit resource files (BRF)";
2941
homepage = "https://github.com/cfcohen/openbrf";

‎pkgs/applications/networking/instant-messengers/qtox/default.nix

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
stdenv.mkDerivation rec {
88
name = "qtox-${version}";
9-
version = "1.10.0";
9+
version = "1.10.1";
1010

1111
src = fetchFromGitHub {
1212
owner = "tux3";
1313
repo = "qTox";
1414
rev = "v${version}";
15-
sha256 = "00pbb788147qxpzj3kfp6x6a9w2h8rmz0sdwfzzdjh1qyb43d4q0";
15+
sha256 = "1c5y7fwhsq1f6z8208xl1jd6bl1r6k8g0fjqxf0z10373c9395jq";
1616
};
1717

1818
buildInputs = [

‎pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
let
66

7-
version = "5.1.0.1";
7+
version = "5.2.0.1";
88

99
rpath = stdenv.lib.makeLibraryPath [
1010
alsaLib
@@ -49,8 +49,8 @@ let
4949
src =
5050
if stdenv.system == "x86_64-linux" then
5151
fetchurl {
52-
url = "https://repo.skype.com/latest/skypeforlinux-64.deb";
53-
sha256 = "18v861x0n2q2jaglap8193sia476dwkwr0ccfzl29mi5ijma24ml";
52+
url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_5.2.0.1_amd64.deb";
53+
sha256 = "1dwyj5wm2amkysbnzxsskq6sl7rbqggm6n4sabnq7wd5xnbq4i06";
5454
}
5555
else
5656
throw "Skype for linux is not supported on ${stdenv.system}";

‎pkgs/applications/networking/irc/weechat/default.nix

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ let
2121
in
2222

2323
stdenv.mkDerivation rec {
24-
version = "1.7.1";
24+
version = "1.8";
2525
name = "weechat-${version}";
2626

2727
src = fetchurl {
2828
url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
29-
sha256 = "1020m1lsm8lg9n0dlxgp2wbn9b0r11g8r0namnzi2x6gvxn7iyf0";
29+
sha256 = "10km0437lg9ms6f16h20s89l2w9f9g597rykybxb16s95ql48z08";
3030
};
3131

3232
outputs = [ "out" "doc" ];

0 commit comments

Comments
 (0)
Please sign in to comment.