Merge branch 'master' into staging

* master: (71 commits)
  xen: enable parallel building
  spice: 0.13.3 -> 0.14.0
  powerline-rs: 0.1.7 -> 0.1.8 (#41736)
  xidlehook: 0.4.6 -> 0.4.8 (#41094)
  serf: update scons patch, enable kerberos on darwin
  firefox-bin: Add ffmpeg to lib path
  firefox-beta-bin: 61.0b10 -> 61.0b12
  firefox-devedition-bin: 61.0b10 -> 61.0b12
  wireguard-go: assign yegortimoshenko as maintainer
  wireguard-go: 0.0.20180519 -> 0.0.20180531
  zfs: Fix "zfs-sync" for modern systemd
  nixos/memcached: added simple set/get test
  jenkins: 2.89.4 -> 2.107.3 (#41618)
  focuswriter: 1.6.12 -> 1.6.13 (#41567)
  ne: 3.0.1 -> 3.1.1 (#41536)
  libpqxx: 6.2.3 -> 6.2.4 (#41547)
  mate.mate-applets: 1.20.1 -> 1.20.2 (#41546)
  mate.mate-themes: 3.22.16 -> 3.22.17 (#41541)
  nixos/munge: run munge as user munge instead of root. (#41509)
  pstoedit: 3.71 -> 3.73 (#41528)
  ...
This commit is contained in:
Orivej Desh 2018-06-09 07:41:38 +00:00
commit a448357dc6
77 changed files with 1279 additions and 1091 deletions

View File

@ -121,6 +121,12 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull'
<literal>gnucash24</literal>.
</para>
</listitem>
<listitem>
<para>
<varname>services.munge</varname> now runs as user (and group) <literal>munge</literal> instead of root.
Make sure the key file is accessible to the daemon.
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -16,10 +16,28 @@ in
default = false;
type = lib.types.bool;
};
withUtempter = mkOption {
description = ''
Whether to enable libutempter for mosh.
This is required so that mosh can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
Note, this will add a guid wrapper for the group utmp!
'';
default = true;
type = lib.types.bool;
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ mosh ];
networking.firewall.allowedUDPPortRanges = [ { from = 60000; to = 61000; } ];
security.wrappers = mkIf cfg.withUtempter {
utempter = {
source = "${pkgs.libutempter}/lib/utempter/utempter";
owner = "nobody";
group = "utmp";
setuid = false;
setgid = true;
};
};
};
}

View File

@ -9,6 +9,23 @@ in
options = {
services.duplicati = {
enable = mkEnableOption "Duplicati";
port = mkOption {
default = 8200;
type = types.int;
description = ''
Port serving the web interface
'';
};
interface = mkOption {
default = "lo";
type = types.str;
description = ''
Listening interface for the web UI
Set it to "any" to listen on all available interfaces
'';
};
};
};
@ -22,7 +39,7 @@ in
serviceConfig = {
User = "duplicati";
Group = "duplicati";
ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=any --webservice-port=8200 --server-datafolder=/var/lib/duplicati";
ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=${cfg.interface} --webservice-port=${toString cfg.port} --server-datafolder=/var/lib/duplicati";
Restart = "on-failure";
};
};

View File

@ -4,15 +4,14 @@ with lib;
let
cfg = config.services.sslh;
user = "sslh";
configFile = pkgs.writeText "sslh.conf" ''
verbose: ${boolToString cfg.verbose};
foreground: true;
inetd: false;
numeric: false;
transparent: false;
transparent: ${boolToString cfg.transparent};
timeout: "${toString cfg.timeout}";
user: "nobody";
pidfile: "${cfg.pidfile}";
listen:
(
@ -50,16 +49,16 @@ in
description = "Timeout in seconds.";
};
pidfile = mkOption {
type = types.path;
default = "/run/sslh.pid";
description = "PID file path for sslh daemon.";
transparent = mkOption {
type = types.bool;
default = false;
description = "Will the services behind sslh (Apache, sshd and so on) see the external IP and ports as if the external world connected directly to them";
};
listenAddress = mkOption {
type = types.str;
default = config.networking.hostName;
description = "Listening hostname.";
default = "0.0.0.0";
description = "Listening address or hostname.";
};
port = mkOption {
@ -76,14 +75,91 @@ in
};
};
config = mkIf cfg.enable {
systemd.services.sslh = {
description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.sslh}/bin/sslh -F${configFile}";
serviceConfig.KillMode = "process";
serviceConfig.PIDFile = "${cfg.pidfile}";
};
};
config = mkMerge [
(mkIf cfg.enable {
users.users.${user} = {
description = "sslh daemon user";
isSystemUser = true;
};
systemd.services.sslh = {
description = "Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = user;
Group = "nogroup";
PermissionsStartOnly = true;
Restart = "always";
RestartSec = "1s";
ExecStart = "${pkgs.sslh}/bin/sslh -F${configFile}";
KillMode = "process";
AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_NET_ADMIN CAP_SETGID CAP_SETUID";
PrivateTmp = true;
PrivateDevices = true;
ProtectSystem = "full";
ProtectHome = true;
};
};
})
# code from https://github.com/yrutschle/sslh#transparent-proxy-support
# the only difference is using iptables mark 0x2 instead of 0x1 to avoid conflicts with nixos/nat module
(mkIf (cfg.enable && cfg.transparent) {
# Set route_localnet = 1 on all interfaces so that ssl can use "localhost" as destination
boot.kernel.sysctl."net.ipv4.conf.default.route_localnet" = 1;
boot.kernel.sysctl."net.ipv4.conf.all.route_localnet" = 1;
systemd.services.sslh = let
iptablesCommands = [
# DROP martian packets as they would have been if route_localnet was zero
# Note: packets not leaving the server aren't affected by this, thus sslh will still work
{ table = "raw"; command = "PREROUTING ! -i lo -d 127.0.0.0/8 -j DROP"; }
{ table = "mangle"; command = "POSTROUTING ! -o lo -s 127.0.0.0/8 -j DROP"; }
# Mark all connections made by ssl for special treatment (here sslh is run as user ${user})
{ table = "nat"; command = "OUTPUT -m owner --uid-owner ${user} -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -j CONNMARK --set-xmark 0x02/0x0f"; }
# Outgoing packets that should go to sslh instead have to be rerouted, so mark them accordingly (copying over the connection mark)
{ table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; }
];
ip6tablesCommands = [
{ table = "raw"; command = "PREROUTING ! -i lo -d ::1/128 -j DROP"; }
{ table = "mangle"; command = "POSTROUTING ! -o lo -s ::1/128 -j DROP"; }
{ table = "nat"; command = "OUTPUT -m owner --uid-owner ${user} -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -j CONNMARK --set-xmark 0x02/0x0f"; }
{ table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; }
];
in {
path = [ pkgs.iptables pkgs.iproute pkgs.procps ];
preStart = ''
# Cleanup old iptables entries which might be still there
${concatMapStringsSep "\n" ({table, command}: "while iptables -w -t ${table} -D ${command} 2>/dev/null; do echo; done") iptablesCommands}
${concatMapStringsSep "\n" ({table, command}: "iptables -w -t ${table} -A ${command}" ) iptablesCommands}
# Configure routing for those marked packets
ip rule add fwmark 0x2 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
'' + optionalString config.networking.enableIPv6 ''
${concatMapStringsSep "\n" ({table, command}: "while ip6tables -w -t ${table} -D ${command} 2>/dev/null; do echo; done") ip6tablesCommands}
${concatMapStringsSep "\n" ({table, command}: "ip6tables -w -t ${table} -A ${command}" ) ip6tablesCommands}
ip -6 rule add fwmark 0x2 lookup 100
ip -6 route add local ::/0 dev lo table 100
'';
postStop = ''
${concatMapStringsSep "\n" ({table, command}: "iptables -w -t ${table} -D ${command}") iptablesCommands}
ip rule del fwmark 0x2 lookup 100
ip route del local 0.0.0.0/0 dev lo table 100
'' + optionalString config.networking.enableIPv6 ''
${concatMapStringsSep "\n" ({table, command}: "ip6tables -w -t ${table} -D ${command}") ip6tablesCommands}
ip -6 rule del fwmark 0x2 lookup 100
ip -6 route del local ::/0 dev lo table 100
'';
};
})
];
}

View File

@ -35,6 +35,14 @@ in
environment.systemPackages = [ pkgs.munge ];
users.users.munge = {
description = "Munge daemon user";
isSystemUser = true;
group = "munge";
};
users.groups.munge = {};
systemd.services.munged = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
@ -44,14 +52,20 @@ in
preStart = ''
chmod 0700 ${cfg.password}
mkdir -p /var/lib/munge -m 0711
chown -R munge:munge /var/lib/munge
mkdir -p /var/log/munge -m 0700
chown -R munge:munge /var/log/munge
mkdir -p /run/munge -m 0755
chown -R munge:munge /run/munge
'';
serviceConfig = {
ExecStart = "${pkgs.munge}/bin/munged --syslog --key-file ${cfg.password}";
PIDFile = "/run/munge/munged.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
PermissionsStartOnly = "true";
User = "munge";
Group = "munge";
};
};

View File

@ -403,6 +403,9 @@ in
nameValuePair "zfs-sync-${pool}" {
description = "Sync ZFS pool \"${pool}\"";
wantedBy = [ "shutdown.target" ];
unitConfig = {
DefaultDependencies = false;
};
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;

View File

@ -300,6 +300,7 @@ in rec {
tests.grafana = callTest tests/grafana.nix {};
tests.graphite = callTest tests/graphite.nix {};
tests.hardened = callTest tests/hardened.nix { };
tests.haproxy = callTest tests/haproxy.nix {};
tests.hibernate = callTest tests/hibernate.nix {};
tests.hitch = callTest tests/hitch {};
tests.home-assistant = callTest tests/home-assistant.nix { };
@ -333,6 +334,7 @@ in rec {
#tests.logstash = callTest tests/logstash.nix {};
tests.mathics = callTest tests/mathics.nix {};
tests.matrix-synapse = callTest tests/matrix-synapse.nix {};
tests.memcached = callTest tests/memcached.nix {};
tests.mesos = callTest tests/mesos.nix {};
tests.misc = callTest tests/misc.nix {};
tests.mongodb = callTest tests/mongodb.nix {};

41
nixos/tests/haproxy.nix Normal file
View File

@ -0,0 +1,41 @@
import ./make-test.nix ({ pkgs, ...}: {
name = "haproxy";
nodes = {
machine = { config, ...}: {
imports = [ ../modules/profiles/minimal.nix ];
services.haproxy = {
enable = true;
config = ''
defaults
timeout connect 10s
backend http_server
mode http
server httpd [::1]:8000
frontend http
bind *:80
mode http
use_backend http_server
'';
};
services.httpd = {
enable = true;
documentRoot = pkgs.writeTextDir "index.txt" "We are all good!";
adminAddr = "notme@yourhost.local";
listen = [{
ip = "::1";
port = 8000;
}];
};
};
};
testScript = ''
startAll;
$machine->waitForUnit('multi-user.target');
$machine->waitForUnit('haproxy.service');
$machine->waitForUnit('httpd.service');
$machine->succeed('curl -k http://localhost:80/index.txt | grep "We are all good!"');
'';
})

28
nixos/tests/memcached.nix Normal file
View File

@ -0,0 +1,28 @@
import ./make-test.nix ({ pkgs, ...} : {
name = "memcached";
nodes = {
machine =
{ config, pkgs, ... }:
{
imports = [ ../modules/profiles/minimal.nix ];
services.memcached.enable = true;
};
};
testScript = let
testScript = pkgs.writeScript "testScript.py" ''
#!${pkgs.python3.withPackages (p: [p.memcached])}/bin/python
import memcache
c = memcache.Client(['localhost:11211'])
c.set('key', 'value')
assert 'value' == c.get('key')
'';
in ''
startAll;
$machine->waitForUnit("memcached.service");
$machine->waitForOpenPort("11211");
$machine->succeed("${testScript}");
'';
})

View File

@ -61,6 +61,7 @@ in {
$node->succeed("mkdir /etc/munge");
$node->succeed("echo '${mungekey}' > /etc/munge/munge.key");
$node->succeed("chmod 0400 /etc/munge/munge.key");
$node->succeed("chown munge:munge /etc/munge/munge.key");
$node->succeed("systemctl restart munged");
}

View File

@ -6,11 +6,11 @@ uiEnv = pkgs.callPackage ./env.nix { };
in stdenv.mkDerivation rec {
name = "parity-ui-${version}";
version = "0.2.1";
version = "0.2.5";
src = fetchurl {
url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
sha256 = "08gh438mqxj2h8i9hv826bx040wmkmdgsda5grj0k81459vds31l";
sha256 = "1jk7ac6qqxs47hf16vhr94ix4wf51qzpm55q8h6wsx1lrgy1y3g6";
name = "${name}.deb";
};

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Iris";
version = "3.18.0";
version = "3.20.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "0j56pj7cqymdk22bjw33c9rz4n36k693gs3w6kg6y68as8l6qpvb";
sha256 = "1fva5ysik3af3x74l6059ngwsxrk9g6ml47wr5ck536k66i025ar";
};
propagatedBuildInputs = [

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "qsampler-${version}";
version = "0.5.0";
version = "0.5.1";
src = fetchurl {
url = "mirror://sourceforge/qsampler/${name}.tar.gz";
sha256 = "0kn1mv31ygjjsric03pkbv7r8kg3bri9ldx2ajc9pyx0p8ggnbmc";
sha256 = "18j4cwmn7waih9x5b66cba2aa85spqqp507bf19ahsb5gl358yhh";
};
nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "focuswriter-${version}";
version = "1.6.12";
version = "1.6.13";
src = fetchurl {
url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2";
sha256 = "0vcr9dhfsdls2x493klv7w5kn08iqqfg2jwjcbz274mcnd07bpqj";
sha256 = "1qs9v5r88scahpyw8ndr622fdnaib9789jvl2jnkwi62zcivbf6n";
};
nativeBuildInputs = [ pkgconfig qmake qttools ];

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
name = "ne-${version}";
version = "3.0.1";
version = "3.1.1";
src = fetchFromGitHub {
owner = "vigna";
repo = "ne";
rev = version;
sha256 = "05inzhlqlf4ka22q78q389pr34bsb4lgp1i5qh550vjkb2cvbdfp";
sha256 = "1i4vk5r2wn4cd6sgsidzqs9s3bmb4j9cn4392izkidi0j9mm3hvg";
};
buildInputs = [ ncurses texlive.combined.scheme-medium texinfo perl ghostscript ];
dontBuild = true;

View File

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
name = "urh-${version}";
version = "2.0.4";
version = "2.1.0";
src = fetchFromGitHub {
owner = "jopohl";
repo = "urh";
rev = "v${version}";
sha256 = "1b796lfwasp02q1340g43z0gmza5y6jn1ga6nb22vfas0yvqpz6p";
sha256 = "0i01pj71p3lc1kcqj6mixax6865vbxd9k9jczi2xh4p9nmfa5m2a";
};
buildInputs = [ hackrf rtl-sdr ];

View File

@ -45,6 +45,7 @@
, gnused
, gnugrep
, gnupg
, ffmpeg
}:
let
@ -122,6 +123,7 @@ stdenv.mkDerivation {
libpulseaudio
(lib.getDev libpulseaudio)
systemd
ffmpeg
] + ":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" [
stdenv.cc.cc
];

View File

@ -17,11 +17,11 @@ with lib;
buildPythonApplication rec {
name = "gajim-${version}";
majorVersion = "1.0";
version = "${majorVersion}.2";
version = "${majorVersion}.3";
src = fetchurl {
url = "https://gajim.org/downloads/${majorVersion}/gajim-${version}.tar.bz2";
sha256 = "0wyyy3wrk7ka5xrsbafnajzf7iacg8vg3hi16pl4c5p104hdhjdw";
sha256 = "0ds4rqwfrpj89a489w6yih8gx5zi7qa4ffgld950fk7s0qxvcfnb";
};
postPatch = ''

View File

@ -9,14 +9,14 @@
}:
stdenv.mkDerivation rec {
version = "0.7.19";
version = "0.7.21";
name = "pynac-${version}";
src = fetchFromGitHub {
owner = "pynac";
repo = "pynac";
rev = "pynac-${version}";
sha256 = "132bibvapm245c5xy29j3xmjs0pawvw7lv05374m8vv1m39127d3";
sha256 = "072mdziyx52y0knxjf2hs6nab36bckkanp7g6ff6qiy4fm0v8q04";
};
buildInputs = [

View File

@ -8,11 +8,11 @@
stdenv.mkDerivation {
name = "gromacs-2018";
name = "gromacs-2018.1";
src = fetchurl {
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2018.tar.gz";
sha256 = "1sfh3wdrw07797xm86fq10r0024ym585yyrnhdh0qam596vx1dfy";
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2018.1.tar.gz";
sha256 = "1k85sz0b9rmq00g58v22y9v671gsa512sjivx3n3yclr0hs36dad";
};
buildInputs = [cmake fftw]

View File

@ -221,6 +221,8 @@ stdenv.mkDerivation (rec {
done
'';
enableParallelBuilding = true;
# TODO(@oxij): Stop referencing args here
meta = {
homepage = http://www.xen.org/;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-applets-${version}";
version = "1.20.1";
version = "1.20.2";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1a119g49sr7jrd8i32bw7sn2qlsg3sdiwqdb2v36bm2999j261wc";
sha256 = "0c860yxbphpvci281gj78ipw1rvcka4rr0bxwvg0nkpangdhj9ls";
};
nativeBuildInputs = [

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "mate-themes-${version}";
version = "3.22.16";
version = "3.22.17";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/themes/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj";
sha256 = "1bf1swyrr5dkfsp1ihc0svr5nnwv22zxjwgmf6zhxl638ng9f41h";
};
nativeBuildInputs = [ pkgconfig intltool ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec {
version = "0.6.0-RC1";
version = "0.8.0-RC1";
name = "dotty-bare-${version}";
src = fetchurl {
url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
sha256 = "de1f5e72fb0e0b4c377d6cec93f565eff49769698cd8be01b420705fe8475ca4";
sha256 = "e5b7a9bb6f1007146a440ddfff871cc312075e5d69b9ab7e279ad7c3514f7065";
};
propagatedBuildInputs = [ jre ] ;

View File

@ -250,7 +250,7 @@ self: super: {
digit = doJailbreak super.digit;
# https://github.com/jwiegley/hnix/issues/98 - tied to an older deriving-compat
hnix = doJailbreak (overrideCabal super.hnix (old: {
hnix = (overrideCabal super.hnix (old: {
patches = old.patches or [] ++ [
# should land in hnix-5.2
(pkgs.fetchpatch {

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "libpqxx-${version}";
version = "6.2.3";
version = "6.2.4";
src = fetchFromGitHub {
owner = "jtv";
repo = "libpqxx";
rev = version;
sha256 = "130mkkq46l23aaxfc2bnlf9mi3qxfn5465ziz0048bxymbxa7b58";
sha256 = "18fkyfa3a917ljmarf3jy8ycdhqzpc47cj87542sjpxnpaj9hy59";
};
nativeBuildInputs = [ gnused python2 ];

View File

@ -13,11 +13,13 @@ stdenv.mkDerivation rec {
buildInputs = [ glib ];
patches = [ ./exec_path.patch ];
prePatch = ''
substituteInPlace Makefile --replace 2711 0711
'';
installFlags = [
makeFlags = [
"libdir=\${out}/lib"
"libexecdir=\${out}/lib"
"includedir=\${out}/include"
@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
meta = {
description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
longDescription = ''
The bundled utempter binary must be able to run as a user belonging to group utmp.
On NixOS systems, this can be achieved by creating a setguid wrapper.
'';
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];

View File

@ -0,0 +1,25 @@
diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
--- libutempter-1.1.6/iface.c 2010-11-04 18:14:53.000000000 +0100
+++ libutempter-1.1.6.patched/iface.c 2018-06-06 15:09:11.417755549 +0200
@@ -60,9 +60,9 @@
_exit(EXIT_FAILURE);
}
- execv(path, argv);
+ execvp(path, argv);
#ifdef UTEMPTER_DEBUG
- fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
+ fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
#endif
while (EACCES == errno)
@@ -79,7 +79,7 @@
if (setgid(sgid))
break;
- (void) execv(path, argv);
+ (void) execvp(path, argv);
break;
}
Only in libutempter-1.1.6.patched: result

View File

@ -14,19 +14,19 @@ let
buildFromTarball = stdenv.isDarwin;
in stdenv.mkDerivation rec {
name = "libvirt-${version}";
version = "4.1.0";
version = "4.4.0";
src =
if buildFromTarball then
fetchurl {
url = "http://libvirt.org/sources/${name}.tar.xz";
sha256 = "0fb466mcma21hsxx3cckllbr9hhncpbwim5px1mr66iidy1a8bwa";
sha256 = "1djaz3b5n4ksyw6z4n4qs82g5zyxdl2gm4rsb5181bv1rdiisqs6";
}
else
fetchgit {
url = git://libvirt.org/libvirt.git;
rev = "v${version}";
sha256 = "01021r7i71dw9w7ffp6ia8h70ns6bc0ps5np0hq9nipxs68finm6";
sha256 = "0rhas7hbisfh0aib75nsh9wspxj8pvcqagds1mp2jgfls7hfna0r";
fetchSubmodules = true;
};

View File

@ -13,31 +13,32 @@ stdenv.mkDerivation rec {
buildInputs = [ apr scons openssl aprutil zlib libiconv ]
++ stdenv.lib.optional (!stdenv.isCygwin) kerberos;
postPatch = ''
sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' \
-e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' \
-e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' \
-i SConstruct
'';
patches = [ ./scons.patch ];
buildPhase = ''
scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr.dev}"/bin/*-config)" CFLAGS="-I${zlib.dev}/include" \
LINKFLAGS="-L${zlib.out}/lib -L${openldap}/lib -L${libiconv}/lib" \
APU="$(echo "${aprutil.dev}"/bin/*-config)" CC=$CC ${
if (stdenv.isDarwin || stdenv.isCygwin) then "" else "GSSAPI=\"${kerberos.dev}\""
}
scons \
-j $NIX_BUILD_CORES \
APR="$(echo ${apr.dev}/bin/*-config)" \
APU="$(echo ${aprutil.dev}/bin/*-config)" \
CC=$CC \
OPENSSL=${openssl} \
PREFIX="$out" \
ZLIB=${zlib} \
${
if stdenv.isCygwin then "" else "GSSAPI=${kerberos.dev}"
}
'';
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-L/usr/lib";
installPhase = ''
scons install
'';
meta = {
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "HTTP client library based on APR";
license = stdenv.lib.licenses.asl20;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
license = licenses.asl20;
maintainers = with maintainers; [ orivej raskin ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -0,0 +1,12 @@
diff --git a/SConstruct b/SConstruct
index 4358a23..0d862e7 100644
--- a/SConstruct
+++ b/SConstruct
@@ -155,6 +155,7 @@ if sys.platform == 'win32':
env = Environment(variables=opts,
tools=('default', 'textfile',),
CPPPATH=['.', ],
+ ENV=os.environ,
)
env.Append(BUILDERS = {

View File

@ -6,32 +6,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "spice-0.13.3";
name = "spice-0.14.0";
src = fetchurl {
url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
sha256 = "17mqgwamdhj8sx8vhahrjl5937x693kjnw6cp6v0akjrwz011xrh";
sha256 = "0j5q7cp5p95jk8fp48gz76rz96lifimdsx1wnpmfal0nnnar9nrs";
};
patches = [
# the following three patches fix CVE-2016-9577 and CVE-2016-9578
(fetchpatch {
name = "0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch";
url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
sha256 = "11x5566lx5zyl7f39glwsgpzkxb7hpcshx8va5ab3imrns07130q";
})
(fetchpatch {
name = "0002-Prevent-integer-overflows-in-capability-checks.patch";
url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0002-Prevent-integer-overflows-in-capability-checks.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
sha256 = "1r1bhq98w93cvvrlrz6jwdfsy261xl3xqs0ppchaa2igyxvxv5z5";
})
(fetchpatch {
name = "0003-main-channel-Prevent-overflow-reading-messages-from.patch";
url = "https://cgit.freedesktop.org/spice/spice/patch/?id=1d3e26c0ee75712fa4bbbcfa09d8d5866b66c8af";
sha256 = "030mm551aipck99rqiz39vsvk071pn8715zynr5j6chwzgpflwm3";
})
];
buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
libXrandr libXfixes libXrender libXext libXinerama
python pyparsing glib cyrus_sasl lz4 ];

View File

@ -2,14 +2,14 @@
, openssl, nss, makeWrapper }:
let
version = "1.2.25";
version = "1.2.26";
in
stdenv.mkDerivation rec {
name = "xmlsec-${version}";
src = fetchurl {
url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
sha256 = "1lpwj8dxwhha54sby0v5axjk79h56jnhjjiwiasbbk15vwzahz4n";
sha256 = "0l1dk344rn3j2vnj13daz72xd8j1msvzhg82n2il5ji0qz4pd0ld";
};
outputs = [ "out" "dev" ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
let
pname = "cmdliner";
@ -17,17 +17,12 @@ stdenv.mkDerivation rec {
};
unpackCmd = "tar xjf $src";
nativeBuildInputs = [ ocamlbuild opam ];
nativeBuildInputs = [ ocamlbuild opaline ];
buildInputs = [ ocaml findlib ];
createFindlibDestdir = true;
configurePhase = "ocaml pkg/git.ml";
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
installPhase = ''
opam-installer --script --prefix=$out | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${ocaml.version}/site-lib/
'';
installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
meta = with stdenv.lib; {
homepage = http://erratique.ch/software/cmdliner;

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml, camlp4,
js_of_ocaml, lwt_react, cryptokit,
ipaddr, ocamlnet, lwt_ssl, ocaml_pcre,
opam, ppx_tools, ppx_deriving, findlib
opaline, ppx_tools, ppx_deriving, findlib
, js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, js_of_ocaml-ppx_deriving_json
, js_of_ocaml-lwt
, js_of_ocaml-tyxml
@ -22,7 +22,7 @@ stdenv.mkDerivation rec
patches = [ ./camlp4.patch ];
buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opam ppx_tools
buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opaline ppx_tools
ocsigen_deriving
];
@ -40,7 +40,7 @@ stdenv.mkDerivation rec
ppx_deriving
];
installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
setupHook = [ ./setup-hook.sh ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
let
inherit (stdenv.lib) getVersion versionAtLeast;
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sha256 = "0czj41sr8jsivl3z8wyblf9k971j3kx2wc3s0c1nhzcc8allg9i2";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
buildInputs = [ ocaml findlib ocamlbuild opaline ];
createFindlibDestdir = true;
@ -27,10 +27,7 @@ stdenv.mkDerivation rec {
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
'';
installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
meta = with stdenv.lib; {
description = "Basic types for computer graphics in OCaml";

View File

@ -1,4 +1,4 @@
{ buildOcaml, opam, js_build_tools, ocaml_oasis, fetchurl } :
{ buildOcaml, opaline, js_build_tools, ocaml_oasis, fetchurl } :
{ name, version ? "113.33.03", buildInputs ? [],
hash ? "",
@ -14,7 +14,7 @@ buildOcaml (args // {
hasSharedObjects = true;
buildInputs = [ ocaml_oasis js_build_tools opam ] ++ buildInputs;
buildInputs = [ ocaml_oasis js_build_tools opaline ] ++ buildInputs;
dontAddPrefix = true;
@ -22,14 +22,6 @@ buildOcaml (args // {
buildPhase = "OCAML_TOPLEVEL_PATH=`ocamlfind query findlib`/.. make";
installPhase = ''
opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` --stubsdir `ocamlfind printconf destdir`/${name} ${name}.install
if [ -d $out/lib/${name} ]
then if [ "$(ls -A $out/lib/${name})" ]
then mv $out/lib/${name}/* `ocamlfind printconf destdir`/${name}
fi
rmdir $out/lib/${name}
fi
'';
installPhase = "opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR ${name}.install";
})

View File

@ -1,4 +1,4 @@
{ stdenv, buildOcaml, fetchurl, ocaml_oasis, opam }:
{ stdenv, buildOcaml, fetchurl, ocaml_oasis, opaline }:
buildOcaml rec {
name = "js-build-tools";
@ -13,11 +13,11 @@ buildOcaml rec {
hasSharedObjects = true;
buildInputs = [ ocaml_oasis opam ];
buildInputs = [ ocaml_oasis opaline ];
dontAddPrefix = true;
configurePhase = "./configure --prefix $prefix";
installPhase = "opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` ${name}.install";
installPhase = "opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR ${name}.install";
patches = [ ./js-build-tools-darwin.patch ];

View File

@ -17,10 +17,7 @@ buildOcaml rec {
buildPhase = "jbuilder build -p lambda-term";
installPhase = ''
${jbuilder.installPhase}
mv $out/lib/ocaml/${ocaml.version}/site-lib/{stubslibs,lambda-term}/dlllambda_term_stubs.so
'';
inherit (jbuilder) installPhase;
hasSharedObjects = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, opam
{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder
, cstruct
}:
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
sha256 = "1p4ygwzs3n1fj4apfib0z0sabpph21bkq1dgjk4bsa59pq4prncm";
};
buildInputs = [ ocaml findlib jbuilder opam ];
buildInputs = [ ocaml findlib jbuilder ];
propagatedBuildInputs = [ cstruct ];

View File

@ -22,10 +22,7 @@ stdenv.mkDerivation rec {
ppx_sexp_conv ];
propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt cstruct-lwt;
buildPhase = ''
LD_LIBRARY_PATH=${cpuid}/lib/ocaml/${ocaml.version}/site-lib/stubslibs/ \
${topkg.buildPhase} --with-lwt ${boolToString withLwt}
'';
buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
inherit (topkg) installPhase;
meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, buildOcaml, ocaml, opam
{ stdenv, fetchurl, buildOcaml, ocaml, opaline
, calendar, eliom, js_of_ocaml-ppx_deriving_json
}:
@ -8,13 +8,13 @@ buildOcaml rec
version = "1.1.0";
propagatedBuildInputs = [ calendar eliom js_of_ocaml-ppx_deriving_json ];
buildInputs = [ opam ];
buildInputs = [ opaline ];
installPhase =
''
export OCAMLPATH=$out/lib/ocaml/${ocaml.version}/site-lib/:$OCAMLPATH
make install
opam-installer --prefix=$out
opaline -prefix $out
'';
src = fetchurl {

View File

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, buildOcaml, ocaml, opam,
{stdenv, fetchFromGitHub, buildOcaml, ocaml, opaline,
cppo, ppx_tools, ounit, ppx_deriving}:
buildOcaml rec {
@ -15,15 +15,12 @@ buildOcaml rec {
sha256 = "14c2lp7r9080c4hsb1y1drbxxx3v44b7ib5wfh3kkh3f1jfsjwbk";
};
buildInputs = [ cppo ounit ppx_deriving opam ];
buildInputs = [ cppo ounit ppx_deriving opaline ];
doCheck = true;
checkTarget = "test";
installPhase = ''
opam-installer --script --prefix=$out ppx_import.install | sh
ln -s $out/lib/ppx_import $out/lib/ocaml/${ocaml.version}/site-lib
'';
installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
meta = with stdenv.lib; {
description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, react, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, react, opaline }:
assert stdenv.lib.versionAtLeast ocaml.version "3.11";
@ -9,12 +9,12 @@ stdenv.mkDerivation {
sha256 = "0wcs0z50nia1cpk8mh6i5qbc6sff9cc8x7s7q1q89d7m73bnv4vf";
};
buildInputs = [ ocaml findlib ocamlbuild opam ];
buildInputs = [ ocaml findlib ocamlbuild opaline ];
propagatedBuildInputs = [ react ];
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
installPhase = "opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
meta = with stdenv.lib; {
description = "An OCaml module for functional reactive programming (FRP) based on React";

View File

@ -5,7 +5,7 @@ The `buildPhase` and `installPhase` attributes can be reused directly
in many cases. When more fine-grained control on how to run the topkg
build system is required, the attribute `run` can be used.
*/
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, result, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, result, opaline }:
if !stdenv.lib.versionAtLeast ocaml.version "4.01"
then throw "topkg is not available for OCaml ${ocaml.version}"
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
unpackCmd = "tar xjf ${src}";
buildPhase = "${run} build";
createFindlibDestdir = true;
installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
installPhase = "${opaline}/bin/opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
passthru = { inherit run; };

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, ocamlbuild, opam }:
{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-uchar-0.0.2";
@ -9,15 +9,9 @@ stdenv.mkDerivation {
};
unpackCmd = "tar xjf $src";
buildInputs = [ ocaml ocamlbuild opam ];
buildInputs = [ ocaml ocamlbuild findlib opaline ];
buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
installPhase = ''
opam-installer --script --prefix=$out uchar.install > install.sh
sh install.sh
mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/
ln -s $out/lib/uchar $out/lib/ocaml/${ocaml.version}/site-lib/
'';
installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
meta = {
description = "Compatibility library for OCamls Uchar module";

View File

@ -4,38 +4,24 @@ let
webpage = "http://erratique.ch/software/${pname}";
in
assert stdenv.lib.versionAtLeast ocaml.version "3.12";
let param =
if stdenv.lib.versionAtLeast ocaml.version "4.02"
then {
version = "1.3.0";
sha256 = "1rrdxg5kh9zaqmgapy9bhdqyxbbvxxib3bdfg1vhw4rrkp1z0x8n";
buildInputs = [ topkg ];
inherit (topkg) buildPhase;
} else {
version = "1.2.0";
sha256 = "1jywcrwn5z3gkgvicr004cxmdaqfmq8wh72f81jqz56iyn5024nh";
buildInputs = [];
buildPhase = "./pkg/build true";
};
in
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
then throw "xmlm is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
name = "ocaml-${pname}-${version}";
inherit (param) version;
name = "ocaml${ocaml.version}-${pname}-${version}";
version = "1.3.0";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
inherit (param) sha256;
sha256 = "1rrdxg5kh9zaqmgapy9bhdqyxbbvxxib3bdfg1vhw4rrkp1z0x8n";
};
buildInputs = [ ocaml findlib ocamlbuild ] ++ param.buildInputs;
buildInputs = [ ocaml findlib ocamlbuild topkg ];
unpackCmd = "tar xjf $src";
inherit (param) buildPhase;
inherit (topkg) installPhase;
inherit (topkg) buildPhase installPhase;
meta = with stdenv.lib; {
description = "An OCaml streaming codec to decode and encode the XML data format";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, buildPerlPackage, DBI, postgresql }:
buildPerlPackage rec {
name = "DBD-Pg-3.5.3";
name = "DBD-Pg-3.7.4";
src = fetchurl {
url = "mirror://cpan/authors/id/T/TU/TURNSTEP/${name}.tar.gz";
sha256 = "03m9w1cd0yyrbqwkwcl92j1cpmasmm69f3hwvcrlfsi5fnwsk63y";
sha256 = "0gkqlvbmzbdm0g4k328nlkjdg3wrjm5i2n9jxj1i8sqxkm79rylz";
};
buildInputs = [ postgresql ];

View File

@ -1,12 +1,11 @@
{ stdenv, fetchurl, buildPerlPackage, DBI, sqlite }:
buildPerlPackage rec {
name = "DBD-SQLite-${version}";
version = "1.55_07";
name = "DBD-SQLite-1.58";
src = fetchurl {
url = "https://github.com/DBD-SQLite/DBD-SQLite/archive/${version}.tar.gz";
sha256 = "0213a31eb7b5afc2d7b3775ca2d1717d07fc7e9ed21ae73b2513a8d54ca222d8";
url = mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.58.tar.gz;
sha256 = "0fqx386jgs9mmrknr7smmzapf07izgivza7x08lfm39ks2cxs83i";
};
propagatedBuildInputs = [ DBI ];
@ -19,23 +18,10 @@ buildPerlPackage rec {
makeMakerFlags = "SQLITE_INC=${sqlite.dev}/include SQLITE_LIB=${sqlite.out}/lib";
preBuild =
''
substituteInPlace Makefile --replace -L/usr/lib ""
'';
postInstall =
''
# Prevent warnings from `strip'.
chmod -R u+w $out
# Get rid of a pointless copy of the SQLite sources.
rm -rf $out/lib/perl5/site_perl/*/*/auto/share
'';
# Disabled because the tests can randomly fail due to timeouts
# (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t").
#doCheck = false;
postInstall = ''
# Get rid of a pointless copy of the SQLite sources.
rm -rf $out/lib/perl5/site_perl/*/*/auto/share
'';
meta = with stdenv.lib; {
description = "Self Contained SQLite RDBMS in a DBI Driver";

View File

@ -1,11 +0,0 @@
diff -ru libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm libunicode-string-perl-2.09/lib/Unicode/CharName.pm
--- libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm 2005-10-25 19:11:00.000000000 +0100
+++ libunicode-string-perl-2.09/lib/Unicode/CharName.pm 2012-01-24 12:56:59.730653088 +0000
@@ -77,7 +77,7 @@
return join("", "HANGUL SYLLABLE ", @s)
}
}
- _init_names() unless defined %NAMES;
+ _init_names() unless %NAMES;
$NAMES{sprintf("%04X",$code)}
}

View File

@ -2,12 +2,12 @@
buildPythonPackage rec {
pname = "libvirt";
version = "4.1.0";
version = "4.4.0";
src = assert version == libvirt.version; fetchgit {
url = git://libvirt.org/libvirt-python.git;
rev = "v${version}";
sha256 = "0z87y6qr0ypdxfanphxl7yanisd7a0b0bwhg97kii68mig5dlw9r";
sha256 = "01kwwwacbq7kbsslb2ac3wwfs4r8nsv7jhn0df2mmff30izbhq34";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -2,7 +2,7 @@
buildPythonPackage rec {
pname = "nbxmpp";
version = "0.6.5";
version = "0.6.6";
name = "${pname}-${version}";
# Tests aren't included in PyPI tarball.
@ -10,7 +10,7 @@ buildPythonPackage rec {
name = "${name}.tar.bz2";
url = "https://dev.gajim.org/gajim/python-nbxmpp/repository/archive.tar.bz2?"
+ "ref=${name}";
sha256 = "0b7jw07s4mnp20gcg8raw4bhw2h1hxf75cbn4f2ynj69fbpfr38h";
sha256 = "10n7z613p00q15dplsvdrz11s9yq26jy2qack6nd8k7fivfhlcmz";
};
propagatedBuildInputs = [ pyopenssl ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "jenkins-${version}";
version = "2.89.4";
version = "2.107.3";
src = fetchurl {
url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
sha256 = "0lwv3y12r36amkr70fap5g1zfd7vv92809lh9w7178s91sikm28x";
sha256 = "1f4sz1dqcfypdywdwcz4byjmir7ismcpzg2hbgg6pcf5pq4yba8p";
};
buildCommand = ''

View File

@ -50,8 +50,8 @@ stdenv.mkDerivation rec {
if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib"; then
export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/"
fi
if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stubslibs"; then
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stubslibs"
if test -d "''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"; then
export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
fi
export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
if test -n "$createFindlibDestdir"; then

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, ocaml, opam }:
{ stdenv, fetchFromGitHub, ocamlPackages, opaline }:
stdenv.mkDerivation rec {
name = "jbuilder-${version}";
@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "0571lzm8caq6wnia7imgy4a27x5l2bvxiflg0jrwwml0ylnii65f";
};
buildInputs = [ ocaml ];
buildInputs = with ocamlPackages; [ ocaml findlib ];
dontAddPrefix = true;
installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
installPhase = "${opaline}/bin/opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
preFixup = "rm -rf $out/jbuilder";
@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
description = "Fast, portable and opinionated build system";
maintainers = [ stdenv.lib.maintainers.vbgl ];
license = stdenv.lib.licenses.asl20;
inherit (ocaml.meta) platforms;
inherit (ocamlPackages.ocaml.meta) platforms;
};
}

View File

@ -71,8 +71,12 @@ in stdenv.mkDerivation rec {
# Dirty, but apparently ocp-build requires a TERM
makeFlags = ["TERM=screen"];
# change argv0 to "opam" as a workaround for
# https://github.com/ocaml/opam/issues/2142
postInstall = ''
wrapProgram $out/bin/opam \
mv $out/bin/opam $out/bin/.opam-wrapped
makeWrapper $out/bin/.opam-wrapped $out/bin/opam \
--argv0 "opam" \
--suffix PATH : ${aspcud}/bin:${unzip}/bin:${curl}/bin
'';

View File

@ -1,15 +1,17 @@
{ stdenv, pkgs, fetchurl }:
{ stdenv, i3lock, imagemagick, scrot, playerctl, fetchFromGitLab }:
stdenv.mkDerivation rec {
name = "i3lock-pixeled-${version}";
version = "1.2.0";
src = fetchurl {
url = "https://github.com/Ma27/i3lock-pixeled/archive/${version}.tar.gz";
sha256 = "0vlynm833fk1mmdnkcgh4hwqmfypn22zskhysm110k39zvikif0h";
src = fetchFromGitLab {
owner = "Ma27";
repo = "i3lock-pixeled";
rev = version;
sha256 = "0pysx9sv4i3nnjvpqkrxkxaqja2a2dw5f2r1bzjcgg3c3c5qv74b";
};
propagatedBuildInputs = with pkgs; [
propagatedBuildInputs = [
i3lock
imagemagick
scrot
@ -22,15 +24,15 @@ stdenv.mkDerivation rec {
patchPhase = ''
substituteInPlace i3lock-pixeled \
--replace i3lock "${pkgs.i3lock}/bin/i3lock" \
--replace convert "${pkgs.imagemagick}/bin/convert" \
--replace scrot "${pkgs.scrot}/bin/scrot" \
--replace playerctl "${pkgs.playerctl}/bin/playerctl"
--replace i3lock "${i3lock}/bin/i3lock" \
--replace convert "${imagemagick}/bin/convert" \
--replace scrot "${scrot}/bin/scrot" \
--replace playerctl "${playerctl}/bin/playerctl"
'';
meta = with stdenv.lib; {
description = "Simple i3lock helper which pixels a screenshot by scaling it down and up to get a pixeled version of the screen when the lock is active.";
homepage = https://github.com/Ma27/i3lock-pixeled;
homepage = https://gitlab.com/Ma27/i3lock-pixeled;
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ ma27 ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, kernel, libelf }:
{ stdenv, fetchurl, kernel }:
stdenv.mkDerivation rec {
pname = "lttng-modules-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "07rs01zwr4bmjamplix5qz1c6mb6wdawb68vyn0w6wx68ppbpnxq";
};
buildInputs = [ libelf ];
buildInputs = kernel.moduleBuildDependencies;
hardeningDisable = [ "pic" ];

View File

@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
name = "powerstat-${version}";
version = "0.02.16";
version = "0.02.17";
src = fetchurl {
url = "http://kernel.ubuntu.com/~cking/tarballs/powerstat/powerstat-${version}.tar.gz";
sha256 = "14sx37l40038sjygsnp95542fkbhhc911vd9k5rf85czmvndz29m";
sha256 = "1lxzrvwlf6h35i0d8v1yj1ka63i9i0yvv3adhy3pa3fl8arpvycs";
};
installFlags = [ "DESTDIR=$(out)" ];
postInstall = ''

View File

@ -1,19 +1,21 @@
{ lib, rustPlatform, fetchFromGitHub, x11, xorg, libpulseaudio, pkgconfig, patchelf
, stdenv}:
{ lib, stdenv, rustPlatform, fetchFromGitHub, x11, xorg, libpulseaudio, pkgconfig, patchelf }:
rustPlatform.buildRustPackage rec {
name = "xidlehook-${version}";
version = "0.4.6";
version = "0.4.8";
doCheck = false;
src = fetchFromGitHub {
owner = "jD91mZM2";
repo = "xidlehook";
rev = version;
sha256 = "0h84ichm1v2wdmm4w1n7jr70yfb9hhi7kykvd99ppg00h1x9lr7w";
sha256 = "1125n5szgq7bziz3lkrhb2a2iac93ap63g2xr78ap7b9i3gxs3xh";
};
cargoSha256 = "0a1bl6fnfw6xy71q3b5zij52p9skylj1ivqj8my44bfsid2qfn7d";
cargoBuildFlags = lib.optionals (!stdenv.isLinux) ["--no-default-features" "--features" "pulse"];
cargoSha256 = "1mrg59flmmqg5wwi2l8lw6p1xpgdw597fdfsmpn8b126rgzqmjl8";
buildInputs = [ x11 xorg.libXScrnSaver libpulseaudio ];
nativeBuildInputs = [ pkgconfig patchelf ];

View File

@ -12,11 +12,11 @@ let
inherit (python2Packages) python cython buildPythonApplication;
in buildPythonApplication rec {
name = "xpra-${version}";
version = "2.3";
version = "2.3.1";
src = fetchurl {
url = "http://xpra.org/src/${name}.tar.xz";
sha256 = "0kq0ambpy8r7m3wxdp79cgxgnl9yfmr19lv88f617gnv0sp0aarp";
sha256 = "0wghjmrw77pkh6agc5rz7ynr6s8yyc68qvj9rnp0vlwa3x1fl3ry";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -1,11 +1,11 @@
{stdenv, fetchurl, libjpeg, lcms2, gettext, jasper }:
stdenv.mkDerivation rec {
name = "dcraw-9.27.0";
name = "dcraw-9.28.0";
src = fetchurl {
url = "http://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
sha256 = "16bhk3pl5kb9ikv367szl8m92nx85rqypz5im8x3sakm357wrn61";
sha256 = "1fdl3xa1fbm71xzc3760rsjkvf0x5jdjrvdzyg2l9ka24vdc7418";
};
buildInputs = [ libjpeg lcms2 gettext jasper ];

View File

@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "pstoedit-3.71";
name = "pstoedit-3.73";
src = fetchurl {
url = "mirror://sourceforge/pstoedit/${name}.tar.gz";
sha256 = "15dwrwjbixjqph2jmdqzi9fihwpqc1kz5jcv5phxw8wwrlicv285";
sha256 = "147jkgvm9n6mbkl6ndqnm9x74x5y9agbxkfwj0jrw6yxyhxx2cdd";
};
outputs = [ "out" "dev" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "bibutils-${version}";
version = "6.2";
version = "6.3";
src = fetchurl {
url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
sha256 = "07wgzk01kfdrjl6g3qlxg9qbi3kyrxxmxyy49qmcfq24fpmf9mrr";
sha256 = "10r5v5xbhsxdh6vq6g2xp6lgmpjdzba83h4m4clfhrzqis8clwqy";
};
configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, jre_headless }:
stdenv.mkDerivation rec {
version = "2.4.4";
version = "2.4.5";
name = "graylog-${version}";
src = fetchurl {
url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
sha256 = "0wiqwwsy306hr7zn57f5hvh8wvcc2q46x0hdlabi0n9m44wk993i";
sha256 = "0yb8r7f64s1m83dqw64yakxmlyn7d3kdi2rd9mpw3rnz4kqcarly";
};
dontBuild = true;

View File

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "powerline-rs";
name = "${pname}-${version}";
version = "0.1.7";
version = "0.1.8";
src = fetchFromGitHub {
owner = "jD91mZM2";
repo = "powerline-rs";
rev = version;
sha256 = "0ry1axia78sp9vmn6p119l69sj3dqx2san1k71a5npf60rf4gfkc";
sha256 = "018i9qq98afbgv0nxs1n83zb09lqhqxpdrd95f2maic3rr5ngnj5";
};
cargoSha256 = "184s432a6damzvl0lv6jar1iml9dq60r190aqjy44lcg938981zc";

View File

@ -1,6 +1,6 @@
{ useLua ? !stdenv.isDarwin
, usePcre ? true
, stdenv, fetchurl
, stdenv, fetchurl, fetchpatch
, openssl, zlib, lua5_3 ? null, pcre ? null
}:
@ -9,14 +9,26 @@ assert usePcre -> pcre != null;
stdenv.mkDerivation rec {
pname = "haproxy";
version = "1.8.4";
version = "1.8.9";
name = "${pname}-${version}";
src = fetchurl {
url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
sha256 = "19l4i0p92ahm3vaw42gz3rmmidfivk36mvqyhir81h6ywyjb01g3";
sha256 = "00miblgwll3mycsgmp3gd3cn4lwsagxzgjxk5i6csnyqgj97fss3";
};
patches = [
(fetchpatch {
name = "CVE-2018-11469.patch";
url = "https://git.haproxy.org/?p=haproxy-1.8.git;a=patch;h=17514045e5d934dede62116216c1b016fe23dd06";
sha256 = "0hzcvghg8qz45n3mrcgsjgvrvicvbvm52cc4hs5jbk1yb50qvls7";
})
] ++ stdenv.lib.optional stdenv.isDarwin (fetchpatch {
name = "fix-darwin-no-threads-build.patch";
url = "https://git.haproxy.org/?p=haproxy-1.8.git;a=patch;h=fbf09c441a4e72c4a690bc7ef25d3374767fe5c5;hp=3157ef219c493f3b01192f1b809a086a5b119a1e";
sha256 = "16ckzb160anf7xih7mmqy59pfz8sdywmyblxnr7lz9xix3jwk55r";
});
buildInputs = [ openssl zlib ]
++ stdenv.lib.optional useLua lua5_3
++ stdenv.lib.optional usePcre pcre;

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, zlib, protobuf, ncurses, pkgconfig, IOTty
, makeWrapper, perl, openssl, autoreconfHook, openssh, bash-completion }:
{ lib, stdenv, fetchurl, zlib, protobuf, ncurses, pkgconfig, IOTty
, makeWrapper, perl, openssl, autoreconfHook, openssh, bash-completion
, libutempter ? null, withUtempter ? stdenv.isLinux }:
stdenv.mkDerivation rec {
name = "mosh-1.3.2";
@ -10,15 +11,15 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
buildInputs = [ protobuf ncurses zlib IOTty makeWrapper perl openssl bash-completion ];
buildInputs = [ protobuf ncurses zlib IOTty makeWrapper perl openssl bash-completion ] ++ lib.optional withUtempter libutempter;
patches = [ ./ssh_path.patch ];
patches = [ ./ssh_path.patch ./utempter_path.patch ];
postPatch = ''
substituteInPlace scripts/mosh.pl \
--subst-var-by ssh "${openssh}/bin/ssh"
'';
configureFlags = [ "--enable-completion" ];
configureFlags = [ "--enable-completion" ] ++ lib.optional withUtempter "--with-utempter";
postInstall = ''
wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB

View File

@ -0,0 +1,14 @@
diff -ur mosh-1.3.2/src/frontend/mosh-server.cc mosh-1.3.2.patched/src/frontend/mosh-server.cc
--- mosh-1.3.2/src/frontend/mosh-server.cc 2017-07-22 23:14:53.000000000 +0200
+++ mosh-1.3.2.patched/src/frontend/mosh-server.cc 2018-06-06 10:45:50.725352804 +0200
@@ -351,6 +351,10 @@
}
}
+#ifdef HAVE_UTEMPTER
+ utempter_set_helper( "utempter" );
+#endif
+
try {
return run_server( desired_ip, desired_port, command_path, command_argv, colors, verbose, with_motd );
} catch ( const Network::NetworkException &e ) {

View File

@ -2,13 +2,13 @@
buildGoPackage rec {
name = "wireguard-go-${version}";
version = "0.0.20180519";
version = "0.0.20180531";
goPackagePath = "wireguard-go";
goPackagePath = "git.zx2c4.com/wireguard-go";
src = fetchzip {
url = "https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${version}.tar.xz";
sha256 = "0b3wpc0ccf24567fjafv1sjs3yqq1xjam3gpfp37avxqy9789nb7";
sha256 = "1vs11kr5a2s99v0g7079nfrfvmjfh1p2lnkj2icjyn2cb0s1vqiy";
};
goDeps = ./deps.nix;
@ -22,7 +22,7 @@ buildGoPackage rec {
description = "Userspace Go implementation of WireGuard";
homepage = https://git.zx2c4.com/wireguard-go/about/;
license = licenses.gpl2;
maintainers = with maintainers; [ kirelagin zx2c4 ];
maintainers = with maintainers; [ kirelagin yegortimoshenko zx2c4 ];
platforms = platforms.darwin;
};
}

View File

@ -5,8 +5,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "1a580b3eff7814fc9b40602fd35256c63b50f491";
sha256 = "11adgxc6fzcb3dxr5v2g4nk6ggrz04qnx633hzgmzfh2wv3blgv7";
rev = "8ac0e0d97ce45cd83d1d7243c060cb8461dda5e9";
sha256 = "0vg0dfpv1wgj5imlakpma763yfd67aqbiy0fcklq3cw46qmfbzf1";
};
}
{
@ -14,8 +14,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "2491c5de3490fced2f6cff376127c667efeed857";
sha256 = "1wmijnrxi9p2rv8g6clqkzdihn5ncv29j0s4s1bz9ksncdr36ll3";
rev = "1e491301e022f8f977054da4c2d852decd59571f";
sha256 = "1wc18flnz99bip2j1gpnvr3qdp1y7wgyvawlvvc8rmd6ggf5f2yq";
};
}
{
@ -23,8 +23,8 @@
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "7c87d13f8e835d2fb3a70a2912c811ed0c1d241b";
sha256 = "03fhkng37rczqwfgah5hd7d373jps3hcfx79dmky2fh62yvpcyn3";
rev = "9527bec2660bd847c050fda93a0f0c6dee0800bb";
sha256 = "02kd2lnw7dnyqs0vvcpzwkv5brpgkwagqly2xs7dwmsi1vvf400p";
};
}
]

View File

@ -7,10 +7,10 @@
stdenv.mkDerivation rec {
name = "eid-mw-${version}";
version = "4.4.1";
version = "4.4.2";
src = fetchFromGitHub {
sha256 = "0an7xgj5rzl75kq6qfrmm886v639hhlh7c9yfs8iihc47wghpma8";
sha256 = "0jsa1jl51kz8i8dpi3664a7y3bhypr3ipk1srzxfkk6aph4a5cdf";
rev = "v${version}";
repo = "eid-mw";
owner = "Fedict";

View File

@ -1,8 +1,8 @@
{ stdenv, fetchFromGitHub, libaio, python, zlib }:
let
version = "3.6";
sha256 = "1dilsn6r958skq1kpknm13fdzw7whb3bqa3wwnn2j9gba28599pq";
version = "3.7";
sha256 = "1m2slyxhzyznq283m6ljjgjg38i0hxg537bwhfs12qskv00c4vsk";
in
stdenv.mkDerivation rec {

View File

@ -8115,20 +8115,12 @@ let self = _self // overrides; _self = with self; {
};
};
JSON = buildPerlPackage {
name = "JSON-2.90";
name = "JSON-2.97001";
src = fetchurl {
url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-2.90.tar.gz;
sha256 = "127yppvr17qik9pkd1vy901hs4l13kg6rhp76jdgcyask35v7nsd";
url = mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-2.97001.tar.gz;
sha256 = "0nlgdzy40q26z8qhwngsd461glyai8dpwaccyhiljmrkaqwdjxz2";
};
preConfigure = ''
cp lib/JSON/backportPP.pm{,orig}
echo "1;" > lib/JSON/backportPP.pm
'';
postConfigure = ''
cp lib/JSON/backportPP.pm{orig,}
'';
meta = {
description = "JSON (JavaScript Object Notation) encoder/decoder";
license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@ -14412,17 +14404,16 @@ let self = _self // overrides; _self = with self; {
};
};
SysVirt = buildPerlPackage rec {
version = "4.1.0";
SysVirt = buildPerlModule rec {
version = "4.4.0";
name = "Sys-Virt-${version}";
src = assert version == pkgs.libvirt.version; pkgs.fetchgit {
url = git://libvirt.org/libvirt-perl.git;
rev = "v${version}";
sha256 = "0m0snv6gqh97nh1c31qvbm4sdzp49vixn7w3r69h6a5r71sn78x4";
sha256 = "1swlbis7mk1dk36badyibi3s467vhrjii0hhvhbsn2n0l6wa49x6";
};
propagatedBuildInputs = [XMLXPath];
nativeBuildInputs = [ pkgs.pkgconfig ];
buildInputs = [TestPodCoverage TimeHiRes TestPod pkgs.libvirt];
buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
meta = {
platforms = stdenv.lib.platforms.linux;
};
@ -17169,13 +17160,10 @@ let self = _self // overrides; _self = with self; {
};
UnicodeString = buildPerlPackage rec {
name = "Unicode-String-2.09";
patches = [
../development/perl-modules/Unicode-String-perl-5-22.patch
];
name = "Unicode-String-2.10";
src = fetchurl {
url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
sha256 = "1bgsaf3dgmlgyvi84r42ysc037mr5280amnypa4d98jfjpdvw5y8";
url = mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz;
sha256 = "0s4vp8k7ag7z9lsnnkpa9mnch83kxhp9gh7yiapld5a7rq712jl9";
};
};

View File

@ -443,11 +443,11 @@ let
phpcs = pkgs.stdenv.mkDerivation rec {
name = "phpcs-${version}";
version = "3.2.3";
version = "3.3.0";
src = pkgs.fetchurl {
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
sha256 = "193axz56j1kyq458q0y38m99bx31jjjldfg6bv71vgm6zh4rvvs1";
sha256 = "1zl35vcq8dmspsj7ww338h30ah75dg91j6a1dy8avkzw5zljqi4h";
};
phases = [ "installPhase" ];
@ -470,11 +470,11 @@ let
phpcbf = pkgs.stdenv.mkDerivation rec {
name = "phpcbf-${version}";
version = "3.2.3";
version = "3.3.0";
src = pkgs.fetchurl {
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
sha256 = "00p0l01shxx1h6g26j2dbfrp9j7im541das4xps4wrsvc4h4da9l";
sha256 = "1ah065gzmr11njp1if5bc4b19f4izilqwr06m84yb7af18qr77ls";
};
phases = [ "installPhase" ];