diff --git a/lib/strings.nix b/lib/strings.nix
index aca9ef45e615..9cbd1494a2b5 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -219,6 +219,14 @@ rec {
*/
escapeShellArgs = concatMapStringsSep " " escapeShellArg;
+ /* Turn a string into a Nix expression representing that string
+
+ Example:
+ escapeNixString "hello\${}\n"
+ => "\"hello\\\${}\\n\""
+ */
+ escapeNixString = s: escape ["$"] (builtins.toJSON s);
+
/* Obsolete - use replaceStrings instead. */
replaceChars = builtins.replaceStrings or (
del: new: s:
diff --git a/lib/types.nix b/lib/types.nix
index 46ed05d288f2..88fc90d05970 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -174,6 +174,13 @@ rec {
merge = mergeOneOption;
};
+ strMatching = pattern: mkOptionType {
+ name = "strMatching ${escapeNixString pattern}";
+ description = "string matching the pattern ${pattern}";
+ check = x: str.check x && builtins.match pattern x != null;
+ inherit (str) merge;
+ };
+
# Merge multiple definitions by concatenating them (with the given
# separator between the values).
separatedString = sep: mkOptionType rec {
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index fc6082ce3afd..bc352609944b 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -115,13 +115,14 @@ hardware.opengl.driSupport32Bit = true;
Support for Synaptics touchpads (found in many laptops such as
the Dell Latitude series) can be enabled as follows:
-services.xserver.synaptics.enable = true;
+services.xserver.libinput.enable = true;
The driver has many options (see ). For
-instance, the following enables two-finger scrolling:
+instance, the following disables tap-to-click behavior:
-services.xserver.synaptics.twoFingerScroll = true;
+services.xserver.libinput.tapping = false;
+Note: the use of services.xserver.synaptics is deprecated since NixOS 17.09.
diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml
index 83dcf0232d9d..ec940d5d2b86 100644
--- a/nixos/doc/manual/development/option-types.xml
+++ b/nixos/doc/manual/development/option-types.xml
@@ -110,6 +110,12 @@
A string. Multiple definitions are concatenated with a
collon ":".
+
+ types.strMatching
+ A string matching a specific regular expression. Multiple
+ definitions cannot be merged. The regular expression is processed using
+ builtins.match.
+
diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix
index 4100af27becb..c76c98737412 100644
--- a/nixos/lib/make-squashfs.nix
+++ b/nixos/lib/make-squashfs.nix
@@ -19,6 +19,33 @@ stdenv.mkDerivation {
# Add the closures of the top-level store objects.
storePaths=$(perl ${pathsFromGraph} closure-*)
+ # If a Hydra slave happens to have store paths with bad permissions/mtime,
+ # abort now so that they don't end up in ISO images in the channel.
+ # https://github.com/NixOS/nixpkgs/issues/32242
+ hasBadPaths=""
+ for path in $storePaths; do
+ if [ -h "$path" ]; then
+ continue
+ fi
+
+ mtime=$(stat -c %Y "$path")
+ mode=$(stat -c %a "$path")
+
+ if [ "$mtime" != 1 ]; then
+ echo "Store path '$path' has an invalid mtime."
+ hasBadPaths=1
+ fi
+ if [ "$mode" != 444 ] && [ "$mode" != 555 ]; then
+ echo "Store path '$path' has invalid permissions."
+ hasBadPaths=1
+ fi
+ done
+
+ if [ -n "$hasBadPaths" ]; then
+ echo "You have bad paths in your store, please fix them."
+ exit 1
+ fi
+
# Also include a manifest of the closures in a format suitable
# for nix-store --load-db.
printRegistration=1 perl ${pathsFromGraph} closure-* > nix-path-registration
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 5e2161aacb66..1cb51f2c82fa 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -588,6 +588,7 @@
./services/system/cloud-init.nix
./services/system/dbus.nix
./services/system/earlyoom.nix
+ ./services/system/localtime.nix
./services/system/kerberos.nix
./services/system/nscd.nix
./services/system/saslauthd.nix
diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix
index ca2e2a065dcf..8f5aeee4a16b 100644
--- a/nixos/modules/services/networking/i2pd.nix
+++ b/nixos/modules/services/networking/i2pd.nix
@@ -126,6 +126,7 @@ let
[${tun.name}]
type = client
destination = ${tun.destination}
+ destinationport = ${toString tun.destinationPort}
keys = ${tun.keys}
address = ${tun.address}
port = ${toString tun.port}
@@ -137,15 +138,15 @@ let
'')
}
${flip concatMapStrings
- (collect (tun: tun ? port && tun ? host) cfg.inTunnels)
- (tun: let portStr = toString tun.port; in ''
+ (collect (tun: tun ? port && tun ? address) cfg.inTunnels)
+ (tun: ''
[${tun.name}]
type = server
destination = ${tun.destination}
keys = ${tun.keys}
host = ${tun.address}
- port = ${tun.port}
- inport = ${tun.inPort}
+ port = ${toString tun.port}
+ inport = ${toString tun.inPort}
accesslist = ${builtins.concatStringsSep "," tun.accessList}
'')
}
@@ -405,7 +406,13 @@ in
default = {};
type = with types; loaOf (submodule (
{ name, config, ... }: {
- options = commonTunOpts name;
+ options = {
+ destinationPort = mkOption {
+ type = types.int;
+ default = 0;
+ description = "Connect to particular port at destination.";
+ };
+ } // commonTunOpts name;
config = {
name = mkDefault name;
};
diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix
index 366bb2ed7a80..bfaf30c11783 100644
--- a/nixos/modules/services/networking/nat.nix
+++ b/nixos/modules/services/networking/nat.nix
@@ -53,6 +53,12 @@ let
-j DNAT --to-destination ${fwd.destination}
'') cfg.forwardPorts}
+ ${optionalString (cfg.dmzHost != null) ''
+ iptables -w -t nat -A nixos-nat-pre \
+ -i ${cfg.externalInterface} -j DNAT \
+ --to-destination ${cfg.dmzHost}
+ ''}
+
# Append our chains to the nat tables
iptables -w -t nat -A PREROUTING -j nixos-nat-pre
iptables -w -t nat -A POSTROUTING -j nixos-nat-post
@@ -125,15 +131,15 @@ in
type = with types; listOf (submodule {
options = {
sourcePort = mkOption {
- type = types.int;
+ type = types.either types.int (types.strMatching "[[:digit:]]+:[[:digit:]]+");
example = 8080;
- description = "Source port of the external interface";
+ description = "Source port of the external interface; to specify a port range, use a string with a colon (e.g. \"60000:61000\")";
};
destination = mkOption {
type = types.str;
example = "10.0.0.1:80";
- description = "Forward connection to destination ip:port";
+ description = "Forward connection to destination ip:port; to specify a port range, use ip:start-end";
};
proto = mkOption {
@@ -153,6 +159,17 @@ in
'';
};
+ networking.nat.dmzHost = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "10.0.0.1";
+ description =
+ ''
+ The local IP address to which all traffic that does not match any
+ forwarding rule is forwarded.
+ '';
+ };
+
};
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index bc79d9f2a590..fa4aeb22ae9d 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -9,6 +9,26 @@ let
opt = name: value: optionalString (value != null) "${name} ${value}";
optint = name: value: optionalString (value != null && value != 0) "${name} ${toString value}";
+ isolationOptions = {
+ type = types.listOf (types.enum [
+ "IsolateClientAddr"
+ "IsolateSOCKSAuth"
+ "IsolateClientProtocol"
+ "IsolateDestPort"
+ "IsolateDestAddr"
+ ]);
+ default = [];
+ example = [
+ "IsolateClientAddr"
+ "IsolateSOCKSAuth"
+ "IsolateClientProtocol"
+ "IsolateDestPort"
+ "IsolateDestAddr"
+ ];
+ description = "Tor isolation options";
+ };
+
+
torRc = ''
User tor
DataDirectory ${torDirectory}
@@ -20,10 +40,20 @@ let
${optint "ControlPort" cfg.controlPort}
''
# Client connection config
- + optionalString cfg.client.enable ''
- SOCKSPort ${cfg.client.socksListenAddress} IsolateDestAddr
+ + optionalString cfg.client.enable ''
+ SOCKSPort ${cfg.client.socksListenAddress} ${toString cfg.client.socksIsolationOptions}
SOCKSPort ${cfg.client.socksListenAddressFaster}
${opt "SocksPolicy" cfg.client.socksPolicy}
+
+ ${optionalString cfg.client.transparentProxy.enable ''
+ TransPort ${cfg.client.transparentProxy.listenAddress} ${toString cfg.client.transparentProxy.isolationOptions}
+ ''}
+
+ ${optionalString cfg.client.dns.enable ''
+ DNSPort ${cfg.client.dns.listenAddress} ${toString cfg.client.dns.isolationOptions}
+ AutomapHostsOnResolve 1
+ AutomapHostsSuffixes ${concatStringsSep "," cfg.client.dns.automapHostsSuffixes}
+ ''}
''
# Relay config
+ optionalString cfg.relay.enable ''
@@ -154,6 +184,55 @@ in
'';
};
+ socksIsolationOptions = mkOption (isolationOptions // {
+ default = ["IsolateDestAddr"];
+ });
+
+ transparentProxy = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether to enable tor transaprent proxy";
+ };
+
+ listenAddress = mkOption {
+ type = types.str;
+ default = "127.0.0.1:9040";
+ example = "192.168.0.1:9040";
+ description = ''
+ Bind transparent proxy to this address.
+ '';
+ };
+
+ isolationOptions = mkOption isolationOptions;
+ };
+
+ dns = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Whether to enable tor dns resolver";
+ };
+
+ listenAddress = mkOption {
+ type = types.str;
+ default = "127.0.0.1:9053";
+ example = "192.168.0.1:9053";
+ description = ''
+ Bind tor dns to this address.
+ '';
+ };
+
+ isolationOptions = mkOption isolationOptions;
+
+ automapHostsSuffixes = mkOption {
+ type = types.listOf types.str;
+ default = [".onion" ".exit"];
+ example = [".onion"];
+ description = "List of suffixes to use with automapHostsOnResolve";
+ };
+ };
+
privoxy.enable = mkOption {
type = types.bool;
default = true;
diff --git a/nixos/modules/services/system/localtime.nix b/nixos/modules/services/system/localtime.nix
new file mode 100644
index 000000000000..b9355bbb9441
--- /dev/null
+++ b/nixos/modules/services/system/localtime.nix
@@ -0,0 +1,60 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.localtime;
+in {
+ options = {
+ services.localtime = {
+ enable = mkOption {
+ default = false;
+ description = ''
+ Enable localtime, simple daemon for keeping the system
+ timezone up-to-date based on the current location. It uses geoclue2 to
+ determine the current location and systemd-timedated to actually set
+ the timezone.
+ '';
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ services.geoclue2.enable = true;
+
+ security.polkit.extraConfig = ''
+ polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.timedate1.set-timezone"
+ && subject.user == "localtimed") {
+ return polkit.Result.YES;
+ }
+ });
+ '';
+
+ users.users = [{
+ name = "localtimed";
+ description = "Taskserver user";
+ }];
+
+ systemd.services.localtime = {
+ description = "localtime service";
+ wantedBy = [ "multi-user.target" ];
+ partOf = [ "geoclue.service "];
+
+ serviceConfig = {
+ Restart = "on-failure";
+ # TODO: make it work with dbus
+ #DynamicUser = true;
+ Nice = 10;
+ User = "localtimed";
+ PrivateTmp = "yes";
+ PrivateDevices = true;
+ PrivateNetwork = "yes";
+ NoNewPrivileges = "yes";
+ ProtectSystem = "strict";
+ ProtectHome = true;
+ ExecStart = "${pkgs.localtime}/bin/localtimed";
+ };
+ };
+ };
+}
diff --git a/nixos/release.nix b/nixos/release.nix
index ac4dd3d78923..d5093a7883e8 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -336,6 +336,7 @@ in rec {
tests.taskserver = callTest tests/taskserver.nix {};
tests.tomcat = callTest tests/tomcat.nix {};
tests.udisks2 = callTest tests/udisks2.nix {};
+ tests.vault = callTest tests/vault.nix {};
tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; };
tests.wordpress = callTest tests/wordpress.nix {};
tests.xfce = callTest tests/xfce.nix {};
diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix
new file mode 100644
index 000000000000..2c08d06f286b
--- /dev/null
+++ b/nixos/tests/vault.nix
@@ -0,0 +1,23 @@
+import ./make-test.nix ({ pkgs, ... }:
+{
+ name = "vault";
+ meta = with pkgs.stdenv.lib.maintainers; {
+ maintainers = [ lnl7 ];
+ };
+ machine = { config, pkgs, ... }: {
+ environment.systemPackages = [ pkgs.vault ];
+ environment.variables.VAULT_ADDR = "http://127.0.0.1:8200";
+ services.vault.enable = true;
+ };
+
+ testScript =
+ ''
+ startAll;
+
+ $machine->waitForUnit('multi-user.target');
+ $machine->waitForUnit('vault.service');
+ $machine->waitForOpenPort(8200);
+ $machine->succeed('vault init');
+ $machine->succeed('vault status | grep "Sealed: true"');
+ '';
+})
diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix
index b149aab06e10..dcb61119ae76 100644
--- a/pkgs/applications/audio/guitarix/default.nix
+++ b/pkgs/applications/audio/guitarix/default.nix
@@ -12,11 +12,11 @@ in
stdenv.mkDerivation rec {
name = "guitarix-${version}";
- version = "0.35.6";
+ version = "0.36.1";
src = fetchurl {
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
- sha256 = "0ffvfnvhj6vz73zsrpi88hs69ys4zskm847zf825dl2r39n9nn41";
+ sha256 = "1g5949jwh2n755xjs3kcbdb8a1wxr5mn0m115wdnk27dxcdn93b0";
};
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
index 7248fe2c8754..d447e7f50d52 100644
--- a/pkgs/applications/misc/emem/default.nix
+++ b/pkgs/applications/misc/emem/default.nix
@@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
pname = "emem";
- version = "0.2.48";
+ version = "0.2.50";
name = "${pname}-${version}";
inherit jdk;
src = fetchurl {
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
- sha256 = "0l68qqjh8lbqb2yqvggiga9qz2j32h3qklcfkycmcffn6l1nlqnq";
+ sha256 = "18x3s3jrph8k3pc75jgwkfqazygpsx93zjxx68zms58my17cybh1";
};
phases = [ "buildPhase" "installPhase" ];
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index e88a49740745..a3b87fd34f68 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -21,11 +21,11 @@ assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
stdenv.mkDerivation rec {
name = "polybar-${version}";
- version = "3.0.5";
+ version = "3.1.0";
src = fetchgit {
url = "https://github.com/jaagr/polybar";
- rev = "4e2e2a7a5e0fe81669031ade0f60e1d379b6516d";
- sha256 = "1iiks9q13pbkgbjhdns18a5zgr6d40ydcm4qn168m73fs6ivf1vn";
+ rev = "bf16a4d415ea7d8845f578544de0c71e56ad314e";
+ sha256 = "1jcvqxl0477j0snvh1rzqsm1dkfsybix2lgrlsgiczdxfknwz8iy";
};
meta = with stdenv.lib; {
@@ -39,14 +39,6 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.afldcr ];
platforms = platforms.unix;
};
- # This patch should be removed with next stable release.
- patches = [
- (fetchpatch {
- name = "polybar-remove-curlbuild.patch";
- url = "https://github.com/jaagr/polybar/commit/d35abc7620c8f06618b4708d9a969dfa2f309e96.patch";
- sha256 = "14xr65vsjvd51hzg9linj09w0nnixgn26dh9lqxy25bxachcyzxy";
- })
- ];
buildInputs = [
cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 80e6af9c1ef5..ca7f717810fa 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -13,13 +13,13 @@
}:
stdenv.mkDerivation rec {
- name = "dino-unstable-2017-09-26";
+ name = "dino-unstable-2017-12-03";
src = fetchFromGitHub {
owner = "dino";
repo = "dino";
- rev = "9d8e1e88ec61403659a8cc410d5c4414e3bd3a96";
- sha256 = "1p8sda99n8zsb49qd6wzwb8hddlgrzr2hp7il5v7yqxjjm2vgqfl";
+ rev = "cee39b0117c1620d852d50c14ca6f06db4e2956b";
+ sha256 = "15cm6y2rgj6fcw8sciygd1wvcw7k9fgf69ji1abfwybzydflj7ny";
fetchSubmodules = true;
};
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index c7f8ea696b57..e42c1d5dd1e4 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
better management of, and seamless user interactions with, guests.
'';
license = licenses.gpl2;
- platforms = platforms.linux;
+ platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ joamaki ];
};
}
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 3e502cde08b2..c7fba94c0b1e 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -199,6 +199,6 @@ in stdenv.mkDerivation {
description = "PC emulator";
homepage = http://www.virtualbox.org/;
maintainers = [ lib.maintainers.sander ];
- platforms = lib.platforms.linux;
+ platforms = [ "x86_64-linux" "i686-linux" ];
};
}
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
index eaebc3aff268..5f4497020319 100644
--- a/pkgs/data/misc/geolite-legacy/default.nix
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -8,26 +8,26 @@ let
in
stdenv.mkDerivation rec {
name = "geolite-legacy-${version}";
- version = "2017-09-17";
+ version = "2017-12-02";
srcGeoIP = fetchDB
"GeoLiteCountry/GeoIP.dat.gz"
- "1xqxlnxxk8grqr0nr9vaf5r6z5bcdbadh83qhzr6jvhs20s37lsl";
+ "1nggml11wzlanmzk6wbw2kla91fj8ggd9kh9yz42lnyckdlf5ac4";
srcGeoIPv6 = fetchDB
"GeoIPv6.dat.gz"
- "0g3am25jmhm3r51hvz9lknkrnzj98hxdxav2cvrhz6b7wndgyspk";
+ "0w809xgmr5zi4fgm9q3lhrnh1vl62s49n737bhq4jplm5918ki50";
srcGeoLiteCity = fetchDB
"GeoLiteCity.dat.gz"
- "1syw19gx2mpqz9ypkaq2gh712bv60a7rf56afzd3qzkmgf6rw1qr";
+ "0cibajsv5xdjpw1qfx22izm5azqcj0d7nvk39irgwflkim9jfjbs";
srcGeoLiteCityv6 = fetchDB
"GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"
- "0ihbqm1f5b9qb68i73ghmk30b6i2n53fmmhv2wadja5zcdpkhdvk";
+ "1ldwbzgs64irfgb3kq3jp8fmhwmwqk713dr4kkdqlglrblr9hfkc";
srcGeoIPASNum = fetchDB
"asnum/GeoIPASNum.dat.gz"
- "0adddsk0g9a3xaa0f8qx12s07n31wvirymjzrhnsg66i2qlm0h34";
+ "06qqs8qr8vxqwd80npz7n66k3bpc1vs7w43i2bb4k0di5yxnjwr9";
srcGeoIPASNumv6 = fetchDB
"asnum/GeoIPASNumv6.dat.gz"
- "1qar0vdlpk3razq83l5fzb54zihs2sma8xgngpql8njfgby0w825";
+ "1qyq4h8cja62giv6q1qqc502vsq53wzz1kx80mgvwngmycrxa21k";
meta = with stdenv.lib; {
description = "GeoLite Legacy IP geolocation databases";
diff --git a/pkgs/desktops/gnome-3/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
index b92aac4f9433..3e1c897ffff9 100644
--- a/pkgs/desktops/gnome-3/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gpaste/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
gtk3 gnome3.gnome_control_center dbus
clutter pango appstream-glib systemd gobjectIntrospection ];
- configureFlags = [ "--with-controlcenterdir=$(out)/gnome-control-center/keybindings"
+ configureFlags = [ "--with-controlcenterdir=$(out)/share/gnome-control-center/keybindings"
"--with-dbusservicesdir=$(out)/share/dbus-1/services"
"--with-systemduserunitdir=$(out)/etc/systemd/user" ];
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index 494b84923534..0469589e48cf 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.11.3/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.11.4/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index c4f526a3e8cd..4b71e314fba9 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -3,355 +3,355 @@
{
bluedevil = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/bluedevil-5.11.3.tar.xz";
- sha256 = "1sgnj3z4s1k7h2ddvcq9r67qc8gbd4yv7zb9a24gi3x3iwd5hsf3";
- name = "bluedevil-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/bluedevil-5.11.4.tar.xz";
+ sha256 = "1xjvx5w2pkwj63hdxjkh4fdqyydxvc2sqg1pwkwqnw58z78lhq20";
+ name = "bluedevil-5.11.4.tar.xz";
};
};
breeze = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/breeze-5.11.3.tar.xz";
- sha256 = "1xlh8m9fw3009gdi0v1nn945rm1zg908apv8v9lgkgks6s2sspxk";
- name = "breeze-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/breeze-5.11.4.tar.xz";
+ sha256 = "0nxp13x5326ahkrb37rbrsn7xhl9gbrrpnbhhflmr9zdx2af7700";
+ name = "breeze-5.11.4.tar.xz";
};
};
breeze-grub = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/breeze-grub-5.11.3.tar.xz";
- sha256 = "1v1ha0j9kh4vcxknnwk78lzigvpqdrcj4gv6h86pxmwsipr5l2bl";
- name = "breeze-grub-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/breeze-grub-5.11.4.tar.xz";
+ sha256 = "1yz31j3dgzkliz8sk80d6fs0afnd45nw6xkhrws2aar2rnn9d1w4";
+ name = "breeze-grub-5.11.4.tar.xz";
};
};
breeze-gtk = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/breeze-gtk-5.11.3.tar.xz";
- sha256 = "1f9xlmc6mhr25mji8ir46qslnfa0i7q7pqkzp1hm5ss3kzdd45gb";
- name = "breeze-gtk-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/breeze-gtk-5.11.4.tar.xz";
+ sha256 = "0n9fn3jp610g617561c8pr7i9v4k6cdpyqi7kl4f56h6cwq6b0ga";
+ name = "breeze-gtk-5.11.4.tar.xz";
};
};
breeze-plymouth = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/breeze-plymouth-5.11.3.tar.xz";
- sha256 = "11m65cg74cfhglsppahnppisqp4rnj528b93k78pgvb4xazm7s76";
- name = "breeze-plymouth-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/breeze-plymouth-5.11.4.tar.xz";
+ sha256 = "099hl3dfcc3n4yh94hdhgnwy01a74s6as2yma57idcqw2akf6d0v";
+ name = "breeze-plymouth-5.11.4.tar.xz";
};
};
discover = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/discover-5.11.3.tar.xz";
- sha256 = "1bavw2hynmznd72wmh4cmy6zs4a13gxcsh6gznd99g6shry8svix";
- name = "discover-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/discover-5.11.4.tar.xz";
+ sha256 = "1n6s52n8ynsymcwjckkfxrnzsj15f10if8r3ka5qhd7w6nb2x2iz";
+ name = "discover-5.11.4.tar.xz";
};
};
drkonqi = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/drkonqi-5.11.3.tar.xz";
- sha256 = "1683h4nzk9kgwzwjzkr0bmk8vmq07991x4239z3p39z4gnvsmb0h";
- name = "drkonqi-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/drkonqi-5.11.4.tar.xz";
+ sha256 = "0vnfx8sha9mdsdb5baw5xwlswm32wmd96kv8yzm3zr67fkz95n3s";
+ name = "drkonqi-5.11.4.tar.xz";
};
};
kactivitymanagerd = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kactivitymanagerd-5.11.3.tar.xz";
- sha256 = "1syprfgbcg1821v0mqnalnn3gr40sfvi3m9wcy1hbffqm2k561qq";
- name = "kactivitymanagerd-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kactivitymanagerd-5.11.4.tar.xz";
+ sha256 = "10942fzaai30agzmbldwiwycpb7198qhgk3jr2p5wlfrawl1sl4q";
+ name = "kactivitymanagerd-5.11.4.tar.xz";
};
};
kde-cli-tools = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kde-cli-tools-5.11.3.tar.xz";
- sha256 = "0yhghfsyvx0xlmyigjm8hvp8d4s6pp8h6wbqrbfngslayq624cvi";
- name = "kde-cli-tools-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kde-cli-tools-5.11.4.tar.xz";
+ sha256 = "07415ssr25lnr9klv6r7jclf9l5mca6dxf6xskwgixcap1fl5vdg";
+ name = "kde-cli-tools-5.11.4.tar.xz";
};
};
kdecoration = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kdecoration-5.11.3.tar.xz";
- sha256 = "0ik62pavf9bw1mahiyqlc9qh2za31l4qa3fyz42y81phmr8hbj4a";
- name = "kdecoration-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kdecoration-5.11.4.tar.xz";
+ sha256 = "0vvhhdd3jlb7x9zdc3bjalchhvjkg411ip379rifn9z7zxbrsq9m";
+ name = "kdecoration-5.11.4.tar.xz";
};
};
kde-gtk-config = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kde-gtk-config-5.11.3.tar.xz";
- sha256 = "09k02ghsrc5bwk05a7jlyzgwr6a1mzwypy6q1yhkl8jcqaim18ff";
- name = "kde-gtk-config-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kde-gtk-config-5.11.4.tar.xz";
+ sha256 = "08s5z7lck37cyzkkg5v9qrnlfxjrpfd565y2i1ng9k6vm9m39172";
+ name = "kde-gtk-config-5.11.4.tar.xz";
};
};
kdeplasma-addons = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kdeplasma-addons-5.11.3.tar.xz";
- sha256 = "13vmr5m3gx2b757bnb74qjjr6faj2bn1qb9cngj0gnk9gbdgrwh1";
- name = "kdeplasma-addons-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kdeplasma-addons-5.11.4.tar.xz";
+ sha256 = "19ywc3ryjax7g7wg969j256n4cr3n51lzxsw4gklf4n0px4pk2pi";
+ name = "kdeplasma-addons-5.11.4.tar.xz";
};
};
kgamma5 = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kgamma5-5.11.3.tar.xz";
- sha256 = "18g8rj4l1y1lwl2wrk4cdlpdn6gibbwbipdkmlk0hb4ad1bxkc96";
- name = "kgamma5-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kgamma5-5.11.4.tar.xz";
+ sha256 = "1njzb06hk0lpj3s6i2hmlww0k7122dca9mi0rbr0ilfwha36ib2s";
+ name = "kgamma5-5.11.4.tar.xz";
};
};
khotkeys = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/khotkeys-5.11.3.tar.xz";
- sha256 = "1bykjywj6yass35xv858azv9pw74wlqsss6hs9ra4sx0yh0n9ffp";
- name = "khotkeys-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/khotkeys-5.11.4.tar.xz";
+ sha256 = "0wszl7bzjl6gszvg9n4p8x3m6h0x5xx3qz3yi1y6g5mplfg7h0c6";
+ name = "khotkeys-5.11.4.tar.xz";
};
};
kinfocenter = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kinfocenter-5.11.3.tar.xz";
- sha256 = "1ip6zkrl81v987z7bj0mvkjmydyarxgih4gzkbgnpppl7746bs5n";
- name = "kinfocenter-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kinfocenter-5.11.4.tar.xz";
+ sha256 = "0ff3v90fj187glb22rvp27kp1b83br71vshcq2cpfzrbv97wrqf4";
+ name = "kinfocenter-5.11.4.tar.xz";
};
};
kmenuedit = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kmenuedit-5.11.3.tar.xz";
- sha256 = "1nks0lk1xnywx5r3bzr5npzapg5d25l73ygxq8988q1f4q39jlj6";
- name = "kmenuedit-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kmenuedit-5.11.4.tar.xz";
+ sha256 = "0kbqrri7mnnarfw45k7j3ckxdpkasc25prvn1zlhci0acqhz0skk";
+ name = "kmenuedit-5.11.4.tar.xz";
};
};
kscreen = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kscreen-5.11.3.tar.xz";
- sha256 = "03wcrqvqcsw47x504ydk3dkqw6x9dc2n3skh7asznmpda8ryb6dp";
- name = "kscreen-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kscreen-5.11.4.tar.xz";
+ sha256 = "0rjy594qj9825gan3r4iw4qphnksnrfn2f1dgyvd63ds70xm272h";
+ name = "kscreen-5.11.4.tar.xz";
};
};
kscreenlocker = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kscreenlocker-5.11.3.tar.xz";
- sha256 = "0i0xcakzznxsk0zqa664xavp64wbqgqim57bkp01wl82s3aik82v";
- name = "kscreenlocker-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kscreenlocker-5.11.4.tar.xz";
+ sha256 = "0r2438s7gs39qbkprx90smvb8mlgqm486qgv34ljx9vi0zm4kq47";
+ name = "kscreenlocker-5.11.4.tar.xz";
};
};
ksshaskpass = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/ksshaskpass-5.11.3.tar.xz";
- sha256 = "1ij2xspd6clf8plqqgzx6zjq7c1sxrlf7ch9brnxprw29h5qfz34";
- name = "ksshaskpass-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/ksshaskpass-5.11.4.tar.xz";
+ sha256 = "1wqzwvlimw5mkq1hfzjjw9az3g9bdqkiw9m7vrxfb67asgmmbrbx";
+ name = "ksshaskpass-5.11.4.tar.xz";
};
};
ksysguard = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/ksysguard-5.11.3.tar.xz";
- sha256 = "17b5lddmas5n1726xa5r8v0v6gmw6bzpvhcljk2r4yrly6gy3pv9";
- name = "ksysguard-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/ksysguard-5.11.4.tar.xz";
+ sha256 = "1dl5q6k2ipdwlg8i5bh2xsz20wg5dwn8401rba9jzp3la97id2sc";
+ name = "ksysguard-5.11.4.tar.xz";
};
};
kwallet-pam = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kwallet-pam-5.11.3.tar.xz";
- sha256 = "04ps2p3hjvkca8miqmg0xwh3i5van0jld2hb1xp737hy1dfpi9h4";
- name = "kwallet-pam-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kwallet-pam-5.11.4.tar.xz";
+ sha256 = "0xkgm0i0x1kcw4rcsv762pqs1vk2gxi09n421whq9ibmj8cm2ky2";
+ name = "kwallet-pam-5.11.4.tar.xz";
};
};
kwayland-integration = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kwayland-integration-5.11.3.tar.xz";
- sha256 = "0j5czhq5r8pxy7pw00by0v75kk4lbijn7mrdnydlca3jjrdcgz6f";
- name = "kwayland-integration-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kwayland-integration-5.11.4.tar.xz";
+ sha256 = "03azlds5iv3mq7g1livrqca4k30znac088qllzl4rh0mfmw4bmcy";
+ name = "kwayland-integration-5.11.4.tar.xz";
};
};
kwin = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kwin-5.11.3.tar.xz";
- sha256 = "1xgx7xn27lzqdwla45scfcnyxva97j2y2m7hgj60cd1mz686pill";
- name = "kwin-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kwin-5.11.4.tar.xz";
+ sha256 = "0lfp2nyh28mlqbm3qjhd9adgp8w8j2gfn6xzw8ckxmkrzpdv52gr";
+ name = "kwin-5.11.4.tar.xz";
};
};
kwrited = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/kwrited-5.11.3.tar.xz";
- sha256 = "0qm3x6ahnis1b98q9h53wdldsj7nqw35s1hcgfqzjqk7nnxzim5i";
- name = "kwrited-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/kwrited-5.11.4.tar.xz";
+ sha256 = "16l280dh3fw0sn3h9yprb74wmc0adsqq092s4dyka55md06qzqif";
+ name = "kwrited-5.11.4.tar.xz";
};
};
libkscreen = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/libkscreen-5.11.3.tar.xz";
- sha256 = "01wbl1kinsvxfw5lq0wrhsk0fmv8gvkhr7m0w4lq1827wx68lfzw";
- name = "libkscreen-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/libkscreen-5.11.4.tar.xz";
+ sha256 = "0sv3q6zmplm0iz6ax87763mg771zvk1dfdh2gmiz2dn2lnxbkrzd";
+ name = "libkscreen-5.11.4.tar.xz";
};
};
libksysguard = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/libksysguard-5.11.3.tar.xz";
- sha256 = "1jbcd2n1zd6ijybaffm5vs5b80130vii562s98xhinmifzsahzmy";
- name = "libksysguard-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/libksysguard-5.11.4.tar.xz";
+ sha256 = "1ry4478fv7blp80zyhz0xr3qragsddrkzjzmxkdarh01f4p987aq";
+ name = "libksysguard-5.11.4.tar.xz";
};
};
milou = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/milou-5.11.3.tar.xz";
- sha256 = "02j6f4ip7hgb5qpq9812g1pnm8fjd83dc923gyfpzb4i0nf6j93g";
- name = "milou-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/milou-5.11.4.tar.xz";
+ sha256 = "1zq6gcmjc4wa23b2c94nwsxranpangl2b3apj56qpl68bjfvlrbq";
+ name = "milou-5.11.4.tar.xz";
};
};
oxygen = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/oxygen-5.11.3.tar.xz";
- sha256 = "0zg3qdnip1ad6980ga0lmxndbph3y4dw0qk73dd8022qw5f3ysyp";
- name = "oxygen-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/oxygen-5.11.4.tar.xz";
+ sha256 = "0vfs220w6rc0vf5y2qshqby1jmd5kgm0gqkzg9ckgvjm0skbk75z";
+ name = "oxygen-5.11.4.tar.xz";
};
};
plasma-desktop = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-desktop-5.11.3.tar.xz";
- sha256 = "1igmq8zj71wf34ap2g0iakpjfq08mlg6yf1ly06111ygsinbg55a";
- name = "plasma-desktop-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-desktop-5.11.4.tar.xz";
+ sha256 = "0adc9fi582x7gkxsxz3xhs0h6ardxbcxsl5xxzi3y2bmhd4f7vrq";
+ name = "plasma-desktop-5.11.4.tar.xz";
};
};
plasma-integration = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-integration-5.11.3.tar.xz";
- sha256 = "0bqw5xp71yxciqzd3bmlgsd4mkjl4vcysd9s6bka5mxrlhkqxgx1";
- name = "plasma-integration-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-integration-5.11.4.tar.xz";
+ sha256 = "0wialbswpgf03paxfr4473sgb11fymxw34xvwdql6wwks86xyf6k";
+ name = "plasma-integration-5.11.4.tar.xz";
};
};
plasma-nm = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-nm-5.11.3.tar.xz";
- sha256 = "1zqlg5jm3pgiirr98j3fl1h6wbhf4f06qainpy42b5w42vhizspk";
- name = "plasma-nm-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-nm-5.11.4.tar.xz";
+ sha256 = "1kjbad69s3dfqgv1zyfzq7bmfyhr0hd4xwhf6bljad8d2l5azydi";
+ name = "plasma-nm-5.11.4.tar.xz";
};
};
plasma-pa = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-pa-5.11.3.tar.xz";
- sha256 = "07rwlqpmvbvdidhfhw8xk6lvarimd1mhm085vjk7g2wmzw5n69wl";
- name = "plasma-pa-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-pa-5.11.4.tar.xz";
+ sha256 = "0zg34xs3fbxig63i1lf0hyfsmsis3d5gmlgyqc0vkdbwg6l2qpbw";
+ name = "plasma-pa-5.11.4.tar.xz";
};
};
plasma-sdk = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-sdk-5.11.3.tar.xz";
- sha256 = "17h42223agz4vvbff13xd1p7xa5swnhcrmh1779mswl1rfznrkys";
- name = "plasma-sdk-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-sdk-5.11.4.tar.xz";
+ sha256 = "0vis5psn2zyglkd6gcgqsnf99b38dcjpq3rwbyhj8rfjcakdg4nx";
+ name = "plasma-sdk-5.11.4.tar.xz";
};
};
plasma-tests = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-tests-5.11.3.tar.xz";
- sha256 = "0ac2i66f3mywvkf7041sg3hsa97f69y5aibpk0fz41q9zi5jwzv3";
- name = "plasma-tests-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-tests-5.11.4.tar.xz";
+ sha256 = "1kifka84csqsm3qjycagwx093hv3n5wsxl8p6xpa44cxjg4xjqfa";
+ name = "plasma-tests-5.11.4.tar.xz";
};
};
plasma-vault = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-vault-5.11.3.tar.xz";
- sha256 = "12y2331lpp7i3fl6nbm78n6qh7hd7vmrvc94jkzwx5pbql6nx2ia";
- name = "plasma-vault-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-vault-5.11.4.tar.xz";
+ sha256 = "1pymr6hiz0j4x98dchrzsq17ddlbcj5f9dggzr0fiw4sm5yvyxz0";
+ name = "plasma-vault-5.11.4.tar.xz";
};
};
plasma-workspace = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-workspace-5.11.3.tar.xz";
- sha256 = "0skn3mg90ghx3bmlj7snbhap9z2fq0hab0gfi4pv80ggyl5jf9sp";
- name = "plasma-workspace-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-workspace-5.11.4.tar.xz";
+ sha256 = "1qin68zcczgf3rwa8gg4i3rcsy6i8na9z8kk4bm9q3mfagbzqfx8";
+ name = "plasma-workspace-5.11.4.tar.xz";
};
};
plasma-workspace-wallpapers = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plasma-workspace-wallpapers-5.11.3.tar.xz";
- sha256 = "1xbfghhb6bjlqs2fk3z8k3q0lfirqmyqyxym2w8k69im2fscg0rl";
- name = "plasma-workspace-wallpapers-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plasma-workspace-wallpapers-5.11.4.tar.xz";
+ sha256 = "09q63i85d82fdq9vafv55wiflndil048ryn9n3kpa4v9s0yjklkh";
+ name = "plasma-workspace-wallpapers-5.11.4.tar.xz";
};
};
plymouth-kcm = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/plymouth-kcm-5.11.3.tar.xz";
- sha256 = "1sbxwvi402lcnzxalgr85srh8vd4wy26gav7q23qbhd5axh26f06";
- name = "plymouth-kcm-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/plymouth-kcm-5.11.4.tar.xz";
+ sha256 = "17jyg6133xb0f1dm1c0cpys2008aa65k1y1ap4b3y29xyv1p79rd";
+ name = "plymouth-kcm-5.11.4.tar.xz";
};
};
polkit-kde-agent = {
- version = "1-5.11.3";
+ version = "1-5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/polkit-kde-agent-1-5.11.3.tar.xz";
- sha256 = "088ch67syimxqlda0nczrrj1hb7ynsrwdcb0bq1pcndp57p71vzl";
- name = "polkit-kde-agent-1-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/polkit-kde-agent-1-5.11.4.tar.xz";
+ sha256 = "004ra4nb6dh3b1lmpfg303fg7201d2sm9f4glkj0mk3a0s9fkfcw";
+ name = "polkit-kde-agent-1-5.11.4.tar.xz";
};
};
powerdevil = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/powerdevil-5.11.3.tar.xz";
- sha256 = "1807x3vzq24vip7dnl87cd1hn368vqk7cbyhai492irf20j7hn82";
- name = "powerdevil-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/powerdevil-5.11.4.tar.xz";
+ sha256 = "0cncn8xv5sqv1wqmnmhmqn2jznzy7yik4hvq0vadsrh4blyzwyrj";
+ name = "powerdevil-5.11.4.tar.xz";
};
};
sddm-kcm = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/sddm-kcm-5.11.3.tar.xz";
- sha256 = "1c9dm8819yaynq6cbzcg0j77cz0cf2cwrz9cfmr4w65ypl937va5";
- name = "sddm-kcm-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/sddm-kcm-5.11.4.tar.xz";
+ sha256 = "1jhm5gbz296hk1dc7476kw23v73l7s939baln5v5pax349w40l23";
+ name = "sddm-kcm-5.11.4.tar.xz";
};
};
systemsettings = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/systemsettings-5.11.3.tar.xz";
- sha256 = "1abza0qmdhfdlr2k53lc4ymr42ri1pfv0yyf9plxhra7f7f2ylf7";
- name = "systemsettings-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/systemsettings-5.11.4.tar.xz";
+ sha256 = "1j555f505hbc2zmg7biv05llzd2bb58z5ccspdgcvmskkwm2rlb3";
+ name = "systemsettings-5.11.4.tar.xz";
};
};
user-manager = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/user-manager-5.11.3.tar.xz";
- sha256 = "0d2i3ndq9vwr2m39i6qdn18bg4c19rqhfy2a38lhm30g288wxfbr";
- name = "user-manager-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/user-manager-5.11.4.tar.xz";
+ sha256 = "0mz6kaqwns57bwp2gl7qzm7mwq3w2qh6kyp7m5qqh96wgq133c55";
+ name = "user-manager-5.11.4.tar.xz";
};
};
xdg-desktop-portal-kde = {
- version = "5.11.3";
+ version = "5.11.4";
src = fetchurl {
- url = "${mirror}/stable/plasma/5.11.3/xdg-desktop-portal-kde-5.11.3.tar.xz";
- sha256 = "01jcya7xyrn3d99raqvbzfwllihzdpyizx757f87pgg43dmbggwm";
- name = "xdg-desktop-portal-kde-5.11.3.tar.xz";
+ url = "${mirror}/stable/plasma/5.11.4/xdg-desktop-portal-kde-5.11.4.tar.xz";
+ sha256 = "162gc6bfsxlj5rc4yz94sv41p75gf2kgayxa534gw3zhvry1jb52";
+ name = "xdg-desktop-portal-kde-5.11.4.tar.xz";
};
};
}
diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix
index 51274dd60598..af1db1e6dccf 100644
--- a/pkgs/development/compilers/ghc/7.10.2.nix
+++ b/pkgs/development/compilers/ghc/7.10.2.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
sha256 = "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal";
};
- buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
+ buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 (stdenv.lib.getBin hscolour) ];
patches = [ ./relocation.patch ];
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index d573a22e0ae8..22a1016776ee 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
./relocation.patch
];
- buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour ];
+ buildInputs = [ ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 (stdenv.lib.getBin hscolour) ];
enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index d475e3438b4b..55193f2f3c31 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
- buildInputs = [ ghc perl hscolour sphinx ];
+ buildInputs = [ ghc perl (stdenv.lib.getBin hscolour) sphinx ];
enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ghc/8.2.1.nix b/pkgs/development/compilers/ghc/8.2.1.nix
index bcc801c98ea5..7c3b21f33c25 100644
--- a/pkgs/development/compilers/ghc/8.2.1.nix
+++ b/pkgs/development/compilers/ghc/8.2.1.nix
@@ -10,7 +10,7 @@
let
inherit (bootPkgs) ghc;
version = "8.2.1";
-
+ preReleaseName = "ghc-8.2.1";
commonBuildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ];
commonPreConfigure = ''
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 92ba3f6a46ed..27f706fc1c67 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -11,7 +11,7 @@
let
inherit (bootPkgs) ghc;
- commonBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
+ commonBuildInputs = [ ghc perl autoconf automake (stdenv.lib.getBin happy) (stdenv.lib.getBin alex) python3 ];
rev = "14457cf6a50f708eecece8f286f08687791d51f7";
diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix
index d4418b058d92..c7d5b7a742b4 100644
--- a/pkgs/development/compilers/ghcjs/base.nix
+++ b/pkgs/development/compilers/ghcjs/base.nix
@@ -113,7 +113,7 @@ in mkDerivation (rec {
lens optparse-applicative parallel safe shelly split
stringsearch syb system-fileio system-filepath tar terminfo text-binary
unordered-containers vector wl-pprint-text yaml
- alex happy git gnumake autoconf automake libtool patch gmp
+ (stdenv.lib.getBin alex) (stdenv.lib.getBin happy) git gnumake autoconf automake libtool patch gmp
base16-bytestring cryptohash executable-path haddock-api
transformers-compat QuickCheck haddock hspec xhtml
regex-posix libiconv
diff --git a/pkgs/development/compilers/halvm/2.4.0.nix b/pkgs/development/compilers/halvm/2.4.0.nix
index 0c4cef653d86..7547a8ebbc66 100644
--- a/pkgs/development/compilers/halvm/2.4.0.nix
+++ b/pkgs/development/compilers/halvm/2.4.0.nix
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
sed -ie 's|ld |${targetPackages.stdenv.cc.bintools}/bin/ld |g' src/scripts/ldkernel.in
'';
configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
- propagatedNativeBuildInputs = [ alex happy ];
+ propagatedNativeBuildInputs = [ (stdenv.lib.getBin alex) (stdenv.lib.getBin happy) ];
buildInputs =
- let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
+ let haskellPkgs = [ (stdenv.lib.getBin alex) (stdenv.lib.getBin happy) (stdenv.lib.getBin bootPkgs.hscolour) bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
]; in [ bootPkgs.ghc
automake perl git targetPackages.stdenv.cc.bintools
autoconf xen zlib ncurses.dev
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
index 5b90dc7debc1..9edceead55e8 100644
--- a/pkgs/development/compilers/neko/default.nix
+++ b/pkgs/development/compilers/neko/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
bin/neko bin/test.n
'';
+ doCheck = true;
dontStrip = true;
meta = with stdenv.lib; {
@@ -60,4 +61,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux ++ platforms.darwin;
};
}
-
diff --git a/pkgs/development/compilers/purescript/psc-package/default.nix b/pkgs/development/compilers/purescript/psc-package/default.nix
index 8b2a0a0eb391..5e298dbf2cee 100644
--- a/pkgs/development/compilers/purescript/psc-package/default.nix
+++ b/pkgs/development/compilers/purescript/psc-package/default.nix
@@ -4,13 +4,13 @@ with lib;
mkDerivation rec {
pname = "psc-package";
- version = "0.2.4";
+ version = "0.2.5";
src = fetchFromGitHub {
owner = "purescript";
repo = pname;
rev = "v${version}";
- sha256 = "0m1vcxa5zs4sqnnwgmxkhw1isdlmirp12yimn5345vwfvlxkc8kp";
+ sha256 = "15g0l8g8l6m5x4f73w68r9iav091x12b3wjxh0rx3ggnj093g6j1";
};
isLibrary = false;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 84df4d1f0c4d..8c9cea0579f4 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -897,6 +897,7 @@ self: super: {
# Don't install internal mkReadme tool.
hastache = overrideCabal super.hastache (drv: {
doCheck = false;
+ enableSeparateBinOutput = false;
postInstall = "rm $out/bin/mkReadme && rmdir $out/bin";
});
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 8146674a9435..d5a2652a4b78 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -217,7 +217,10 @@ self: super: builtins.intersectAttrs super {
# wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
# http://hydra.cryp.to/build/1331287/log/raw
- wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; };
+ wxc = (overrideCabal super.wxc (drv: {
+ buildDepends = (drv.buildDepends or []) ++ [self.split];
+ postInstall = "cp -v dist/build/libwxc.so.0.92.3.0 $lib/lib/libwxc.so";
+ })).override { wxGTK = pkgs.wxGTK30; };
wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
# Test suite wants to connect to $DISPLAY.
@@ -507,4 +510,52 @@ self: super: builtins.intersectAttrs super {
# Break cyclic reference that results in an infinite recursion.
partial-semigroup = dontCheck super.partial-semigroup;
+ # Alex has some weird files in /usr/share that create a cyclic ref with
+ # its bin dir.
+ alex = hasNoBinOutput super.alex;
+
+ # Disable separate bin outputs for these specific packages that break with it.
+ H = hasNoBinOutput super.H;
+ cryptol = hasNoBinOutput super.cryptol;
+ hscolour = hasNoBinOutput super.hscolour;
+ sproxy = hasNoBinOutput super.sproxy;
+ sproxy2 = hasNoBinOutput super.sproxy2;
+ sproxy-web = hasNoBinOutput super.sproxy-web;
+ juandelacosa = hasNoBinOutput super.juandelacosa;
+ mywatch = hasNoBinOutput super.mywatch;
+ sugarhaskell = hasNoBinOutput super.sugarhaskell;
+ zerobin = hasNoBinOutput super.zerobin;
+
+ git-annex = overrideCabal super.git-annex (drv: {
+ enableSeparateBinOutput = false;
+ enableSeparateEtcOutput = false;
+ });
+
+ # Has extra data files which are referred to from the binary output,
+ # creating a store reference cycle. Putting data in separate output
+ # solves the problem.
+ happy = overrideCabal super.happy (drv: { enableSeparateDataOutput = true; });
+
+ # Override a number of packages with specific references to $out in their
+ # derivations
+ stack = overrideCabal super.stack (drv: {
+ postInstall = ''
+ exe=$bin/bin/stack
+ mkdir -p $bin/share/bash-completion/completions
+ $exe --bash-completion-script $exe >$bin/share/bash-completion/completions/stack
+ '';
+ });
+ Agda = overrideCabal super.Agda (drv: {
+ postInstall = ''
+ files=("$out/share/"*"-ghc-"*"/Agda-"*"/lib/prim/Agda/"{Primitive.agda,Builtin"/"*.agda})
+ for f in "''${files[@]}" ; do
+ $bin/bin/agda $f
+ done
+ for f in "''${files[@]}" ; do
+ $bin/bin/agda -c --no-main $f
+ done
+ $bin/bin/agda-mode compile
+ '';
+ });
+
}
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 3e82003be43c..aafc1b63530b 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -56,6 +56,10 @@ let isCross = (ghc.cross or null) != null; in
, hardeningDisable ? lib.optional (ghc.isHaLVM or false) "all"
, enableSeparateDataOutput ? false
, enableSeparateDocOutput ? doHaddock
+, enableSeparateBinOutput ? isExecutable
+, outputsToInstall ? []
+, enableSeparateLibOutput ? true
+, enableSeparateEtcOutput ? (stdenv.lib.versionOlder "7.7" ghc.version)
} @ args:
assert editedCabalFile != null -> revision != null;
@@ -79,9 +83,6 @@ let
then "package-db"
else "package-conf";
- # the target dir for haddock documentation
- docdir = docoutput: docoutput + "/share/doc";
-
newCabalFileUrl = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
newCabalFile = fetchurl {
url = newCabalFileUrl;
@@ -95,6 +96,13 @@ let
'';
hasActiveLibrary = isLibrary && (enableStaticLibraries || enableSharedLibraries || enableLibraryProfiling);
+ hasLibOutput = enableSeparateLibOutput && hasActiveLibrary;
+ libDir = if hasLibOutput then "$lib/lib/${ghc.name}" else "$out/lib/${ghc.name}";
+ binDir = if enableSeparateBinOutput then "$bin/bin" else "$out/bin";
+ libexecDir = if enableSeparateBinOutput then "$libexec/bin" else "$out/libexec";
+ etcDir = if enableSeparateEtcOutput then "$etc/etc" else "$out/etc";
+ docDir = if enableSeparateDocOutput then "$doc/share/doc" else "$out/share/doc";
+ dataDir = if enableSeparateDataOutput then "$data/share/${ghc.name}" else "$out/share/${ghc.name}";
# We cannot enable -j parallelism for libraries because GHC is far more
# likely to generate a non-determistic library ID in that case. Further
@@ -113,12 +121,20 @@ let
stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
defaultConfigureFlags = [
- "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
- (optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
- (optionalString enableSeparateDocOutput "--docdir=${docdir "$doc"}")
+ "--verbose" "--prefix=$out"
+ # Binary directory has to be $bin/bin instead of just $bin: this
+ # is so that the package is added to the PATH when it's used as a
+ # build input. Sadly mkDerivation won't add inputs that don't have
+ # bin subdirectory.
+ "--bindir=${binDir}"
+ "--libdir=${libDir}" "--libsubdir=\\$pkgid"
+ "--libexecdir=${libexecDir}"
+ (optionalString (enableSeparateEtcOutput) "--sysconfdir=${etcDir}") # Old versions of cabal don't support this flag.
+ "--datadir=${dataDir}"
+ "--docdir=${docDir}"
"--with-gcc=$CC" # Clang won't work without that extra information.
"--package-db=$packageConfDir"
- (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
+ (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=${libDir}/${pname}-${version}")
(optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
(optionalString enableParallelBuilding "--ghc-option=-j$NIX_BUILD_CORES")
(optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
@@ -152,8 +168,11 @@ let
allPkgconfigDepends = pkgconfigDepends ++ libraryPkgconfigDepends ++ executablePkgconfigDepends ++
optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
- nativeBuildInputs = optional (allPkgconfigDepends != []) pkgconfig ++
- buildTools ++ libraryToolDepends ++ executableToolDepends ++ [ removeReferencesTo ];
+ nativeBuildInputs = map stdenv.lib.getBin
+ ( optional (allPkgconfigDepends != []) pkgconfig
+ ++ buildTools ++ libraryToolDepends ++ executableToolDepends
+ ++ [ removeReferencesTo ]
+ );
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
optionals (allPkgconfigDepends != []) allPkgconfigDepends ++
@@ -182,7 +201,15 @@ assert allPkgconfigDepends != [] -> pkgconfig != null;
stdenv.mkDerivation ({
name = "${pname}-${version}";
- outputs = if (args ? outputs) then args.outputs else ([ "out" ] ++ (optional enableSeparateDataOutput "data") ++ (optional enableSeparateDocOutput "doc"));
+ outputs = if (args ? outputs) then args.outputs else
+ ( (optional enableSeparateBinOutput "bin")
+ ++ (optional enableSeparateBinOutput "libexec")
+ ++ [ "out" ]
+ ++ (optional enableSeparateDataOutput "data")
+ ++ (optional enableSeparateDocOutput "doc")
+ ++ (optional enableSeparateEtcOutput "etc")
+ ++ (optional hasLibOutput "lib")
+ );
setOutputFlags = false;
pos = builtins.unsafeGetAttrPos "pname" args;
@@ -206,7 +233,7 @@ stdenv.mkDerivation ({
postPatch = optionalString jailbreak ''
echo "Run jailbreak-cabal to lift version restrictions on build inputs."
- ${jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
+ ${stdenv.lib.getBin jailbreak-cabal}/bin/jailbreak-cabal ${pname}.cabal
'' + postPatch;
setupCompilerEnvironmentPhase = ''
@@ -214,7 +241,7 @@ stdenv.mkDerivation ({
echo "Build with ${ghc}."
export PATH="${ghc}/bin:$PATH"
- ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
+ ${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${stdenv.lib.getBin hscolour}/bin:$PATH"}
packageConfDir="$TMPDIR/package.conf.d"
mkdir -p $packageConfDir
@@ -241,7 +268,7 @@ stdenv.mkDerivation ({
#
# Create a local directory with symlinks of the *.dylib (macOS shared
# libraries) from all the dependencies.
- local dynamicLinksDir="$out/lib/links"
+ local dynamicLinksDir="${libDir}/links"
mkdir -p $dynamicLinksDir
for d in $(grep dynamic-library-dirs "$packageConfDir/"*|awk '{print $2}'); do
ln -s "$d/"*.dylib $dynamicLinksDir
@@ -313,7 +340,7 @@ stdenv.mkDerivation ({
${if !hasActiveLibrary then "${setupCommand} install" else ''
${setupCommand} copy
- local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
+ local packageConfDir="${libDir}/package.conf.d"
local packageConfFile="$packageConfDir/${pname}-${version}.conf"
mkdir -p "$packageConfDir"
${setupCommand} register --gen-pkg-config=$packageConfFile
@@ -321,7 +348,7 @@ stdenv.mkDerivation ({
mv $packageConfFile $packageConfDir/$pkgId.conf
''}
${optionalString isGhcjs ''
- for exeDir in "$out/bin/"*.jsexe; do
+ for exeDir in "${binDir}/"*.jsexe; do
exe="''${exeDir%.jsexe}"
printWords '#!${nodejs}/bin/node' > "$exe"
cat "$exeDir/all.js" >> "$exe"
@@ -330,18 +357,68 @@ stdenv.mkDerivation ({
''}
${optionalString doCoverage "mkdir -p $out/share && cp -r dist/hpc $out/share"}
${optionalString (enableSharedExecutables && isExecutable && !isGhcjs && stdenv.isDarwin && stdenv.lib.versionOlder ghc.version "7.10") ''
- for exe in "$out/bin/"* ; do
- install_name_tool -add_rpath "$out/lib/ghc-${ghc.version}/${pname}-${version}" "$exe"
+ for exe in "${binDir}/"* ; do
+ install_name_tool -add_rpath "${libDir}/${pname}-${version}" "$exe"
done
''}
${optionalString enableSeparateDocOutput ''
- for x in ${docdir "$doc"}/html/src/*.html; do
- remove-references-to -t $out $x
+ # Remove references back to $out but also back to $lib if we have
+ # docs. $lib is needed as it stores path to haddock interfaces in the
+ # conf file which creates a cycle if docs refer back to library
+ # path.
+ mkdir -p ${docDir}
+
+ for x in ${docDir}/html/src/*.html; do
+ remove-references-to -t $out -t ${libDir} -t ${binDir} ${optionalString enableSeparateDataOutput "-t $data"} $x
done
- mkdir -p $doc
''}
- ${optionalString enableSeparateDataOutput "mkdir -p $data"}
+
+ ${optionalString hasLibOutput ''
+ # Even if we don't have binary output for the package, things like
+ # Paths files will embed paths to bin/libexec directories in themselves
+ # which results in .lib <-> $out cyclic store reference. We
+ # therefore patch out the paths from separate library if we don't have
+ # separate bin output too.
+ #
+ # If we _do_ have separate bin and lib outputs, we may still be in
+ # trouble in case of shared executables: executable contains path to
+ # .lib, .lib contains path (through Paths) to .bin and we have a
+ # cycle.
+ #
+ # Lastly we have to deal with references from .lib back into
+ # $out/share if we're not splitting out data directory.
+ #
+ # It may happen that we have hasLibOutput set but the library
+ # directory was not created: this happens in the case that library
+ # section is not exposing any modules. See "fail" package for an
+ # example where no modules are exposed for GHC >= 8.0.
+ if [ -d ${libDir} ]; then
+ find ${libDir} -type f -exec \
+ remove-references-to -t ${binDir} -t ${libexecDir} "{}" \;
+ fi
+ ''}
+
+ ${optionalString (hasLibOutput && ! enableSeparateDocOutput) ''
+ # If we don't have separate docs, we have to patch out the ref to
+ # docs in package conf. This will likely break Haddock
+ # cross-package links but is necessary to break store cycle…
+ find ${libDir}/ -type f -name '*.conf' -exec \
+ remove-references-to -t ${docDir} "{}" \;
+ ''}
+
+ ${optionalString (hasLibOutput && ! enableSeparateDataOutput) ''
+ # Just like for doc output path in $out potentially landing in
+ # *.conf, we have to also remove the data directory so that it
+ # doesn't appear under data-dir field creating a cycle.
+ find ${libDir}/ -type f -exec echo Removing ${dataDir} refs from "{}" \;
+ find ${libDir}/ -type f -exec \
+ remove-references-to -t ${dataDir} "{}" \;
+ ''}
+
+ ${optionalString enableSeparateDataOutput "mkdir -p ${dataDir}"}
+ ${optionalString enableSeparateBinOutput "mkdir -p ${binDir} ${libexecDir}"}
+ ${optionalString enableSeparateEtcOutput "mkdir -p ${etcDir}"}
runHook postInstall
'';
@@ -358,7 +435,7 @@ stdenv.mkDerivation ({
# the directory containing the haddock documentation.
# `null' if no haddock documentation was built.
# TODO: fetch the self from the fixpoint instead
- haddockDir = self: if doHaddock then "${docdir self.doc}/html" else null;
+ haddockDir = self: if doHaddock then "${docDir}/html" else null;
env = stdenv.mkDerivation {
name = "interactive-${pname}-${version}-environment";
@@ -386,6 +463,7 @@ stdenv.mkDerivation ({
// optionalAttrs (description != "") { inherit description; }
// optionalAttrs (maintainers != []) { inherit maintainers; }
// optionalAttrs (hydraPlatforms != platforms) { inherit hydraPlatforms; }
+ // optionalAttrs (outputsToInstall != []) { inherit outputsToInstall; }
;
}
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index 96520dce2b2d..b542a29c8299 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -147,4 +147,8 @@ rec {
overrideSrc = drv: { src, version ? drv.version }:
overrideCabal drv (_: { inherit src version; editedCabalFile = null; });
+ hasNoBinOutput = drv: overrideCabal drv (drv: { enableSeparateBinOutput = false; });
+
+ installOutputs = drv: outputs: overrideCabal drv
+ (drv: { outputsToInstall = outputs; });
}
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 61043252155e..cceaa360105c 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -44,6 +44,7 @@ let
isLibrary = false;
doHaddock = false;
hyperlinkSource = false; # Avoid depending on hscolour for this build.
+ enableSeparateEtcOutput = false; # The flag to support this is missing in old versions of cabal.
postFixup = "rm -rf $out/lib $out/share $out/nix-support";
});
cpphs = overrideCabal (self.cpphs.overrideScope (self: super: {
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index ac484b3c1124..1a12b2a65cd4 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -43,7 +43,7 @@ let
libDir = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else "$out/lib/${ghcCommand}-${ghc.version}";
docDir = "$out/share/doc/ghc/html";
packageCfgDir = "${libDir}/package.conf.d";
- paths = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages);
+ paths = map lib.getLib (lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages));
hasLibraries = lib.any (x: x.isHaskellLibrary) paths;
# CLang is needed on Darwin for -fllvm to work:
# https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/code-generators.html
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index 7e12abe386b8..c82df1396bd4 100644
--- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, camlidl, gmp, mpfr }:
+{ stdenv, fetchFromGitHub, perl, ocaml, findlib, camlidl, gmp, mpfr }:
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-mlgmpidl-${version}";
- version = "1.2.4";
+ version = "1.2.6";
src = fetchFromGitHub {
owner = "nberth";
repo = "mlgmpidl";
rev = version;
- sha256 = "09f9rk2bavhb7cdwjpibjf8bcjk59z85ac9dr8nvks1s842dp65s";
+ sha256 = "1lq3yy10v3rvlchbl5kl75l9f8frgj6g9f1n14kj5qlxm5xsrvks";
};
- buildInputs = [ gmp mpfr ocaml findlib camlidl ];
+ buildInputs = [ perl gmp mpfr ocaml findlib camlidl ];
configurePhase = ''
- cp Makefile.config.model Makefile.config
+ echo CAML_PREFIX = ${ocaml} > Makefile.config
+ cat Makefile.config.model >> Makefile.config
sed -i Makefile.config \
-e 's|^MLGMPIDL_PREFIX.*$|MLGMPIDL_PREFIX = $out|' \
-e 's|^GMP_PREFIX.*$|GMP_PREFIX = ${gmp.dev}|' \
diff --git a/pkgs/development/ocaml-modules/ptmap/default.nix b/pkgs/development/ocaml-modules/ptmap/default.nix
index 7dda38620309..91b0d22a8528 100644
--- a/pkgs/development/ocaml-modules/ptmap/default.nix
+++ b/pkgs/development/ocaml-modules/ptmap/default.nix
@@ -1,13 +1,13 @@
{ stdenv, fetchzip, ocaml, findlib, obuild }:
-let version = "2.0.2"; in
+let version = "2.0.3"; in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ptmap-${version}";
src = fetchzip {
url = "https://github.com/backtracking/ptmap/archive/v${version}.tar.gz";
- sha256 = "093qax4lhpv1vcgwqh5b3pmy769hv5d8pqj1kjynh1z1xibv2qxc";
+ sha256 = "19xykhqk7q25r1pj8rpfj53j2r9ls8mxi1w5m2wqshrf20gf078h";
};
buildInputs = [ ocaml findlib obuild ];
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 33ce0531e3b0..c950228907a0 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -9,12 +9,12 @@ in
stdenv.mkDerivation rec {
name = "frama-c-${version}";
- version = "20170501";
- slang = "Phosphorus";
+ version = "20171101";
+ slang = "Sulfur";
src = fetchurl {
url = "http://frama-c.com/download/frama-c-${slang}-${version}.tar.gz";
- sha256 = "16bccacms3n4rfpsxdxpdf24bk0hwrnzdpa2pbr6s847li73hkv1";
+ sha256 = "1vwjfqmm1r36gkybsy3a7m89q5zicf4rnz5vlsn9imnpjpl9gjw1";
};
why2 = fetchurl {
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 16c56e682c6f..5f6e35fc75f8 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "jenkins-${version}";
- version = "2.92";
+ version = "2.93";
src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
- sha256 = "085h2hfhizli7bpvi06vi6jsav1cn86jw8l6vdpqq4ddx2hrhn39";
+ sha256 = "1wk62lmll0abbgl3drmrf5kg8hya3glkwx7h0gfhcna3vjb95ll1";
};
buildCommand = ''
diff --git a/pkgs/development/tools/gox/default.nix b/pkgs/development/tools/gox/default.nix
index 92bb619be70a..65bc55c6d8d7 100644
--- a/pkgs/development/tools/gox/default.nix
+++ b/pkgs/development/tools/gox/default.nix
@@ -1,18 +1,25 @@
-{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "gox-${version}";
- version = "20140904-${stdenv.lib.strings.substring 0 7 rev}";
- rev = "e8e6fd4fe12510cc46893dff18c5188a6a6dc549";
+ version = "0.4.0";
-
goPackagePath = "github.com/mitchellh/gox";
- src = fetchgit {
- inherit rev;
- url = "https://github.com/mitchellh/gox";
- sha256 = "14jb2vgfr6dv7zlw8i3ilmp125m5l28ljv41a66c9b8gijhm48k1";
+ src = fetchFromGitHub {
+ owner = "mitchellh";
+ repo = "gox";
+ rev = "v${version}";
+ sha256 = "1q4fdkw904mrmh1q5z8pfd3r0gcn5dm776kldqawddy93iiwnp8r";
};
goDeps = ./deps.nix;
+
+ meta = with stdenv.lib; {
+ homepage = https://github.com/mitchellh/gox;
+ description = "A dead simple, no frills Go cross compile tool";
+ platforms = platforms.all;
+ license = licenses.mpl20;
+ };
+
}
diff --git a/pkgs/development/tools/gox/deps.nix b/pkgs/development/tools/gox/deps.nix
index d15b8e7c0916..c4991e38ff02 100644
--- a/pkgs/development/tools/gox/deps.nix
+++ b/pkgs/development/tools/gox/deps.nix
@@ -4,8 +4,8 @@
fetch = {
type = "git";
url = "https://github.com/mitchellh/iochan";
- rev = "b584a329b193e206025682ae6c10cdbe03b0cd77";
- sha256 = "1fcwdhfci41ibpng2j4c1bqfng578cwzb3c00yw1lnbwwhaq9r6b";
+ rev = "87b45ffd0e9581375c491fef3d32130bb15c5bd7";
+ sha256 = "1435kdcx3j1xgr6mm5c7w7hjx015jb20yfqlkp93q143hspf02fx";
};
}
]
diff --git a/pkgs/development/tools/misc/intel-gpu-tools/default.nix b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
index ed3f1b46947d..9c131b72a316 100644
--- a/pkgs/development/tools/misc/intel-gpu-tools/default.nix
+++ b/pkgs/development/tools/misc/intel-gpu-tools/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
homepage = https://01.org/linuxgraphics/;
description = "Tools for development and testing of the Intel DRM driver";
license = licenses.mit;
- platforms = platforms.unix;
+ platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = with maintainers; [ pSub ];
};
}
diff --git a/pkgs/development/tools/misc/premake/5.nix b/pkgs/development/tools/misc/premake/5.nix
index b0bb32449a4c..c95fc844111c 100644
--- a/pkgs/development/tools/misc/premake/5.nix
+++ b/pkgs/development/tools/misc/premake/5.nix
@@ -3,14 +3,14 @@
with stdenv.lib;
stdenv.mkDerivation rec {
- name = "premake-${version}";
- version = "5.0.0pre.alpha.11";
+ name = "premake5-${version}";
+ version = "5.0.0-alpha12";
src = fetchFromGitHub {
owner = "premake";
repo = "premake-core";
- rev = "5dfb0238bc309df04819dd430def621ce854678d";
- sha256 = "0k9xbqrnbwj0hnmdgcrwn70py1kiqvr10l42aw42xnlmdyg1sgsc";
+ rev = "v${version}";
+ sha256 = "1h3hr96pdz94njn4bg02ldcz0k5j1x017d8svc7fdyvl2b77nqzf";
};
buildInputs = optional stdenv.isDarwin [ CoreServices ];
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index bdd55b5aeda7..c759c4c60dae 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -12,7 +12,6 @@ let
};
soundSense = callPackage ./soundsense.nix { };
- stoneSense = callPackage ./stonesense.nix { };
dwarf-fortress-unfuck = callPackage ./unfuck.nix { };
diff --git a/pkgs/games/dwarf-fortress/stonesense.nix b/pkgs/games/dwarf-fortress/stonesense.nix
deleted file mode 100644
index 52de513ac8fd..000000000000
--- a/pkgs/games/dwarf-fortress/stonesense.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake }:
-
-stdenv.mkDerivation rec {
- name = "stonesense";
- src = fetchFromGitHub {
- owner = "DFHack";
- repo = "stonesense";
- rev = "be793a080e66db1ff79ac284070632ec1a896708";
- sha256 = "1kibqblxp16z75zm48kk59w483933rkg4w339f28fcrbpg4sn92s";
- };
-
- nativeBuildInputs = [ cmake ];
-
- cmakeFlags = [ "-DDFHACK_BUILD_ARCH=64" ];
-}
diff --git a/pkgs/os-specific/linux/ioport/default.nix b/pkgs/os-specific/linux/ioport/default.nix
index 8ad84014a1af..b6c77a930807 100644
--- a/pkgs/os-specific/linux/ioport/default.nix
+++ b/pkgs/os-specific/linux/ioport/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
description = "Direct access to I/O ports from the command line";
homepage = http://people.redhat.com/rjones/ioport/;
license = licenses.gpl2Plus;
- platforms = platforms.linux;
+ platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = [ maintainers.cleverca22 ];
};
}
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index c2f4e6843f59..0d2b7655edb9 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -118,7 +118,7 @@ let
};
kernel = buildLinux {
- inherit version modDirVersion src kernelPatches stdenv;
+ inherit version modDirVersion src kernelPatches stdenv extraMeta;
configfile = configfile.nativeDrv or configfile;
@@ -131,10 +131,7 @@ let
passthru = {
features = kernelFeatures;
-
- meta = kernel.meta // extraMeta;
-
- passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]);
+ passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]);
};
nativeDrv = lib.addPassthru kernel.nativeDrv passthru;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix
index 72ae02bbecde..767f7e35422a 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.13.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix
@@ -4,6 +4,12 @@ import ./generic.nix (args // rec {
version = "4.13.16";
extraMeta.branch = "4.13";
+ # TODO: perhaps try being more concrete (ideally CVE numbers).
+ extraMeta.knownVulnerabilities = [
+ "ALSA: usb-audio: Fix potential out-of-bound access at parsing SU"
+ "eCryptfs: use after free in ecryptfs_release_messaging()"
+ ];
+
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0cf7prqzl1ajbgl98w0symdyn0k5wl5xaf1l5ldgy6l083yg69dh";
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 3fe9ff8e2870..7268ed30eff0 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
{ stdenv, hostPlatform, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
import ./generic.nix (args // rec {
- version = "4.15-rc1";
- modDirVersion = "4.15.0-rc1";
+ version = "4.15-rc2";
+ modDirVersion = "4.15.0-rc2";
extraMeta.branch = "4.15";
src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
- sha256 = "1l7c132qb5qjd80hga03ivssfq65brqyd95sb4rd065dqrixp20n";
+ sha256 = "1i79gkjipj1q7w0d4zjz2hj43r12jicgznxk0wz0la2d8a4d3lcq";
};
# Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index b4ee23079d93..9124559ef7a0 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -39,6 +39,8 @@ in {
config ? stdenv.lib.optionalAttrs allowImportFromDerivation (readConfig configfile),
# Cross-compiling config
crossConfig ? if allowImportFromDerivation then (readConfig crossConfigfile) else config,
+ # Use defaultMeta // extraMeta
+ extraMeta ? {},
# Whether to utilize the controversial import-from-derivation feature to parse the config
allowImportFromDerivation ? false
}:
@@ -228,7 +230,7 @@ let
maintainers.thoughtpolice
];
platforms = platforms.linux;
- };
+ } // extraMeta;
};
in
diff --git a/pkgs/servers/sql/postgresql/pgtap/default.nix b/pkgs/servers/sql/postgresql/pgtap/default.nix
index b17446ca7786..1206e50926ed 100644
--- a/pkgs/servers/sql/postgresql/pgtap/default.nix
+++ b/pkgs/servers/sql/postgresql/pgtap/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "pgtap-${version}";
- version = "0.97.0";
+ version = "0.98.0";
src = fetchFromGitHub {
owner = "theory";
repo = "pgtap";
rev = "v${version}";
- sha256 = "1vzc8pxzi0rbywmrvx7i5awngsvzcz75i4jl9bk2vqr223chax6f";
+ sha256 = "17r3b409k05pbypmwdwgm1fl669jc6a1391szyxizx784k44a369";
};
nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 8f235df2617c..ca1a773c4a28 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -450,6 +450,7 @@ in
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
+ postPatch = "sed '1i#include ' -i include/os.h";
meta.platforms = stdenv.lib.platforms.unix;
} else throw "unsupported xorg abiCompat: ${args.abiCompat}";
diff --git a/pkgs/shells/nix-bash-completions/default.nix b/pkgs/shells/nix-bash-completions/default.nix
index 58425ed63407..7de8be10c9b7 100644
--- a/pkgs/shells/nix-bash-completions/default.nix
+++ b/pkgs/shells/nix-bash-completions/default.nix
@@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
- version = "0.5";
+ version = "0.6";
name = "nix-bash-completions-${version}";
src = fetchFromGitHub {
owner = "hedning";
repo = "nix-bash-completions";
rev = "v${version}";
- sha256 = "095dbbqssaxf0y85xw73gajif6lzy2aja4scg3plplng3k9zbldz";
+ sha256 = "093rla6wwx51fclh7xm8qlssx70hj0fj23r59qalaaxf7fdzg2hf";
};
installPhase = ''
diff --git a/pkgs/shells/nix-zsh-completions/default.nix b/pkgs/shells/nix-zsh-completions/default.nix
index 0fbef1fe0fb6..61ff37832096 100644
--- a/pkgs/shells/nix-zsh-completions/default.nix
+++ b/pkgs/shells/nix-zsh-completions/default.nix
@@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub }:
let
- version = "0.3.5";
+ version = "0.3.6";
in
stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "spwhitt";
repo = "nix-zsh-completions";
rev = "${version}";
- sha256 = "1fp565qbzbbwj99rq3c28gpq8gcnlxb2glj05382zimas1dfd0y9";
+ sha256 = "193yd0c3j62lhy7n7y9l0viwdiymvrfbqcgki69dm2414n3mlh05";
};
installPhase = ''
diff --git a/pkgs/shells/zsh-prezto/default.nix b/pkgs/shells/zsh-prezto/default.nix
index c96de397294e..7bef904081e0 100644
--- a/pkgs/shells/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh-prezto/default.nix
@@ -1,28 +1,13 @@
{ stdenv, fetchpatch, fetchgit, fetchFromGitHub }:
-let
- # https://github.com/spwhitt/nix-zsh-completions/pull/2
- nix-zsh-completions = fetchFromGitHub {
- owner = "garbas";
- repo = "nix-zsh-completions";
- rev = "9b7d216ec095ccee541ebfa5f04249aa2964d054";
- sha256 = "1pvmfcqdvdi3nc1jm72f54mwf06yrmlq31pqw6b5fczawcz02jrz";
- };
-in stdenv.mkDerivation rec {
- rev = "4f19700919c8ebbaf75755fc0d03716d13183f49";
- name = "zsh-prezto-2015-03-03_rev${builtins.substring 0 7 rev}";
+stdenv.mkDerivation rec {
+ name = "zsh-prezto-2017-12-03";
src = fetchgit {
url = "https://github.com/sorin-ionescu/prezto";
- inherit rev;
- sha256 = "17mql9mb7zbf8q1nvnci60yrmz5bl9q964i8dv4shz8b42861cdg";
+ rev = "029414581e54f5b63156f81acd0d377e8eb78883";
+ sha256 = "0crrj2nq0wcv5in8qimnkca2an760aqald13vq09s5kbwwc9rs1f";
fetchSubmodules = true;
};
- patches = [
- (fetchpatch {
- url = "https://github.com/sorin-ionescu/prezto/pull/1028.patch";
- sha256 = "0yrj72s1hiaq13374xa82hxdig4s0kvqjn9apkmw0h7kzggxjfn3";
- })
- ];
buildPhase = ''
sed -i -e "s|\''${ZDOTDIR:\-\$HOME}/.zpreztorc|/etc/zpreztorc|g" init.zsh
sed -i -e "s|\''${ZDOTDIR:\-\$HOME}/.zprezto/|$out/|g" init.zsh
@@ -32,8 +17,7 @@ in stdenv.mkDerivation rec {
sed -i -e "s|\''${0:h}/cache.zsh|\''${ZDOTDIR:\-\$HOME}/.zfasd_cache|g" modules/fasd/init.zsh
'';
installPhase = ''
- mkdir -p $out/modules/nix
- cp ${nix-zsh-completions}/* $out/modules/nix -R
+ mkdir -p $out
cp ./* $out/ -R
'';
meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 82b3a1d963d4..592707be20ab 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "fwup-${version}";
- version = "0.16.1";
+ version = "0.18.1";
src = fetchFromGitHub {
owner = "fhunleth";
repo = "fwup";
rev = "v${version}";
- sha256 = "1hphgpwxzdbfswzxbx0jm7lma1xkkwxvm8ll3jp2ljmimqzzb7jf";
+ sha256 = "0qdld8jy1rkpfzbfhnssr58q1gciln3pw9m6fj0jarfgja4gj31l";
};
doCheck = true;
diff --git a/pkgs/tools/misc/memtest86+/default.nix b/pkgs/tools/misc/memtest86+/default.nix
index 0a02f8fb4f73..d949108524f6 100644
--- a/pkgs/tools/misc/memtest86+/default.nix
+++ b/pkgs/tools/misc/memtest86+/default.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation rec {
homepage = http://www.memtest.org/;
description = "A tool to detect memory errors";
license = stdenv.lib.licenses.gpl2;
- platforms = stdenv.lib.platforms.linux;
+ platforms = [ "x86_64-linux" "i686-linux" ];
};
}
diff --git a/pkgs/tools/misc/otfcc/default.nix b/pkgs/tools/misc/otfcc/default.nix
index f55f4e53296d..8e2ecdcd6bbb 100644
--- a/pkgs/tools/misc/otfcc/default.nix
+++ b/pkgs/tools/misc/otfcc/default.nix
@@ -1,25 +1,24 @@
-{ stdenv, fetchurl, premake5, hostPlatform }:
+{ stdenv, fetchFromGitHub, premake5, ninja, hostPlatform }:
stdenv.mkDerivation rec {
name = "otfcc-${version}";
version = "0.8.6";
- src = fetchurl {
- url = "https://github.com/caryll/otfcc/archive/v${version}.tar.gz";
- sha256 = "0kap52bzrn21fmph8j2pc71f80f38ak1p2fcczzmrh0hb1r9c8dd";
+ src = fetchFromGitHub {
+ owner = "caryll";
+ repo = "otfcc";
+ rev = "v${version}";
+ sha256 = "0yy9awffxxs0cdlf0akld73ndnwmylxvplac4k6j7641m3vk1g8p";
};
- nativeBuildInputs = [ premake5 ];
+ nativeBuildInputs = [ premake5 ninja ];
configurePhase = ''
- premake5 gmake
+ premake5 ninja
'';
- preBuild = "cd build/gmake";
-
- makeFlags = ''config=release_${if hostPlatform.isi686 then "x86" else "x64"}'';
-
- postBuild = "cd ../..";
+ ninjaFlags = let x = if hostPlatform.isi686 then "x86" else "x64"; in
+ [ "-C" "build/ninja" "otfccdump_release_${x}" "otfccbuild_release_${x}" ];
installPhase = ''
mkdir -p $out/bin
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 13d5dec91cee..fa4b7db57567 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@ with stdenv.lib;
buildPythonApplication rec {
name = "youtube-dl-${version}";
- version = "2017.11.06";
+ version = "2017.12.02";
src = fetchurl {
url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
- sha256 = "1djq3sf16il6y7n175gv7xwdz2s9lvsvzs38k95cj579l4k0433d";
+ sha256 = "1qf5gz00cnxzab3cwh9kxzhs08mddm0nwvb7j5z5xxzhi6wkslha";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/hashcat/default.nix b/pkgs/tools/security/hashcat/default.nix
index 81c92415c509..781a988619cc 100644
--- a/pkgs/tools/security/hashcat/default.nix
+++ b/pkgs/tools/security/hashcat/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "hashcat-${version}";
- version = "4.0.0";
+ version = "4.0.1";
src = fetchurl {
url = "https://hashcat.net/files/hashcat-${version}.tar.gz";
- sha256 = "0l1vq4h1gfxc2yclxkvy6gfz6sii2vyzip8pw6ifq930y8dvi34y";
+ sha256 = "1pafjwibppylfgs3rck6724dhd3vwwndb9lkc29gd64pxd3l98kz";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 576189d9a85a..a60cea1a738a 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
- name = "tor-0.3.1.8";
+ name = "tor-0.3.1.9";
src = fetchurl {
url = "https://dist.torproject.org/${name}.tar.gz";
- sha256 = "18dinpj03d036rashlad16lv7j2hba8gg742z07l37x5c242kxkx";
+ sha256 = "09ixizsr635qyshvrn1m5asjkaz4fm8dx80lc3ajyy0fi7vh86vf";
};
outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index bfb0dd11b8ed..002400e2c94b 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -9,13 +9,13 @@ let
};
in stdenv.mkDerivation rec {
name = "vault-${version}";
- version = "0.8.3";
+ version = "0.9.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "vault";
rev = "v${version}";
- sha256 = "1dcmqbcdkj42614am2invb6wf8v29z4sp4d354a4d83rwhyb0qly";
+ sha256 = "1c3jaajf3wpjczbncvdpyy5vaa62gb9287bj2zi2khvqzvii36b0";
};
nativeBuildInputs = [ go gox removeReferencesTo ];
@@ -23,6 +23,7 @@ in stdenv.mkDerivation rec {
buildPhase = ''
patchShebangs ./
substituteInPlace scripts/build.sh --replace 'git rev-parse HEAD' 'echo ${src.rev}'
+ sed -i s/'^GIT_DIRTY=.*'/'GIT_DIRTY="+NixOS"'/ scripts/build.sh
mkdir -p src/github.com/hashicorp
ln -s $(pwd) src/github.com/hashicorp/vault
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
index c86891d8ccd8..b2cbb005ae7c 100644
--- a/pkgs/tools/security/vulnix/default.nix
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -3,11 +3,11 @@
pythonPackages.buildPythonApplication rec {
name = "${pname}-${version}";
pname = "vulnix";
- version = "1.3.4";
+ version = "1.4.0";
src = pythonPackages.fetchPypi {
inherit pname version;
- sha256 = "1js1i86pgkkqc9yzp1rck7rmaz79klv4048r9z7v56fam0a6sg05";
+ sha256 = "19kfqxlrigrgwn74x06m70ar2fhyhic5kfmdanjwjcbaxblha3l8";
};
buildInputs = with pythonPackages; [ flake8 pytest pytestcov ];
diff --git a/pkgs/tools/system/localtime/default.nix b/pkgs/tools/system/localtime/default.nix
new file mode 100644
index 000000000000..d9cfc77203e1
--- /dev/null
+++ b/pkgs/tools/system/localtime/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, go, systemd, polkit, fetchFromGitHub, m4 }:
+
+stdenv.mkDerivation {
+ name = "localtime-2017-11-07";
+
+ src = fetchFromGitHub {
+ owner = "Stebalien";
+ repo = "localtime";
+ rev = "2e7b4317c723406bd75b2a1d640219ab9f8090ce";
+ sha256 = "04fyna8p7q7skzx9fzmncd6gx7x5pwa9jh8a84hpljlvj0kldfs8";
+ };
+
+ buildInputs = [ go systemd polkit m4 ];
+
+ makeFlags = [ "PREFIX=$(out)" ];
+
+ meta = {
+ description = "A daemon for keeping the system timezone up-to-date based on the current location";
+ homepage = https://github.com/Stebalien/localtime;
+ platforms = stdenv.lib.platforms.linux;
+ };
+}
diff --git a/pkgs/tools/system/rowhammer-test/default.nix b/pkgs/tools/system/rowhammer-test/default.nix
index 226ec4351ea4..5a3ba8b66196 100644
--- a/pkgs/tools/system/rowhammer-test/default.nix
+++ b/pkgs/tools/system/rowhammer-test/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation {
homepage = https://github.com/google/rowhammer-test;
license = licenses.asl20;
maintainers = [ maintainers.viric ];
- platforms = platforms.unix;
+ platforms = [ "x86_64-linux" "i686-linux" ];
};
}
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index 275d65e7c370..90d7c2f4aa81 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "highlight-${version}";
- version = "3.40";
+ version = "3.41";
src = fetchFromGitHub {
owner = "andre-simon";
repo = "highlight";
rev = "${version}";
- sha256 = "0bkywhz4y10qcajimdha1ck5mvn7fsrv3yn8nd6rqbva39gbfmfd";
+ sha256 = "163ghkyv3v6v200pskajlsz6sbq3hi31qx7abjcbwc0dajqfngvj";
};
nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin gcc ;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 298b79b07b8b..c478347d1700 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -27,7 +27,9 @@ with pkgs;
# Used by wine, firefox with debugging version of Flash, ...
pkgsi686Linux = forceSystem "i686-linux" "i386";
- callPackage_i686 = pkgsi686Linux.callPackage;
+ callPackage_i686 = if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"
+ then pkgsi686Linux.callPackage
+ else throw "callPackage_i686 not supported on system '${stdenv.system}'";
# A stdenv capable of building 32-bit binaries. On x86_64-linux,
# it uses GCC compiled with multilib support; on i686-linux, it's
@@ -828,10 +830,10 @@ with pkgs;
enableSharedExecutables = false;
executableToolDepends = [ makeWrapper ];
postInstall = ''
- exe=$out/libexec/${drv.pname}-${drv.version}/${drv.pname}
- install -D $out/bin/${drv.pname} $exe
- rm -rf $out/{bin,lib,share}
- makeWrapper $exe $out/bin/${drv.pname} \
+ exe=$libexec/bin/${drv.pname}-${drv.version}/${drv.pname}
+ install -D $bin/bin/${drv.pname} $exe
+ rm -rf $bin/bin $out/lib $out/share
+ makeWrapper $exe $bin/bin/${drv.pname} \
--prefix PATH ":" "${nix}/bin" \
--prefix PATH ":" "${nix-prefetch-scripts}/bin"
mkdir -p $out/share/{bash-completion/completions,zsh/vendor-completions,fish/completions}
@@ -845,7 +847,7 @@ with pkgs;
executableToolDepends = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/stack2nix \
- --prefix PATH ":" "${git}/bin:${cabal2nix}/bin:${cabal-install}/bin:${stack}/bin"
+ ${lib.makeBinPath [ git cabal2nix cabal-install stack ]}
'';
});
@@ -3208,6 +3210,8 @@ with pkgs;
limesurvey = callPackage ../servers/limesurvey { };
+ localtime = callPackage ../tools/system/localtime { };
+
logcheck = callPackage ../tools/system/logcheck {
inherit (perlPackages) mimeConstruct;
};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 52fab78be89c..4d6dcc396b05 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -9406,18 +9406,15 @@ in {
hetzner = buildPythonPackage rec {
name = "hetzner-${version}";
- version = "0.7.5";
+ version = "0.8.0";
src = pkgs.fetchFromGitHub {
repo = "hetzner";
- owner = "RedMoonStudios";
+ owner = "aszlig";
rev = "v${version}";
- sha256 = "1fw7i1z4a39i1ljd9qd4f5p1p3a4257jfglkdpw90xjwl7fdpq42";
+ sha256 = "04q2q2w2qkhfly8rfjg2h5pnh42gs18l6cmipqc37yf7qvkw3nd0";
};
- # not there yet, but coming soon.
- doCheck = false;
-
meta = {
homepage = "https://github.com/RedMoonStudios/hetzner";
description = "High-level Python API for accessing the Hetzner robot";