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";