about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/haskell.section.md2
-rw-r--r--maintainers/maintainer-list.nix19
-rw-r--r--nixos/modules/services/databases/postgresql.nix91
-rw-r--r--nixos/modules/services/networking/mxisd.nix10
-rw-r--r--nixos/modules/services/networking/syncthing.nix260
-rw-r--r--nixos/modules/services/networking/xinetd.nix2
-rw-r--r--nixos/modules/services/x11/colord.nix1
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/redmine.nix53
-rw-r--r--nixos/tests/syncthing-init.nix30
-rw-r--r--pkgs/applications/audio/moc/default.nix93
-rw-r--r--pkgs/applications/audio/moc/moc-ffmpeg4.patch33
-rw-r--r--pkgs/applications/audio/moc/pulseaudio.patch800
-rw-r--r--pkgs/applications/audio/sfxr/default.nix56
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix4
-rw-r--r--pkgs/applications/misc/guake/default.nix8
-rw-r--r--pkgs/applications/misc/lifelines/default.nix29
-rw-r--r--pkgs/applications/misc/waybar/default.nix4
-rw-r--r--pkgs/applications/networking/Sylk/default.nix32
-rw-r--r--pkgs/applications/networking/browsers/ephemeral/default.nix65
-rw-r--r--pkgs/applications/science/chemistry/molden/default.nix4
-rw-r--r--pkgs/applications/version-management/pijul/default.nix14
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix75
-rw-r--r--pkgs/data/fonts/cnstrokeorder/default.nix26
-rw-r--r--pkgs/data/fonts/kanji-stroke-order-font/default.nix26
-rw-r--r--pkgs/data/fonts/redhat-official/default.nix22
-rw-r--r--pkgs/data/themes/zuki/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/apps/accerciser/default.nix55
-rw-r--r--pkgs/desktops/gnome-3/apps/evolution/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/polari/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/seahorse/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gjs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-tools/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-mines/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-applets/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-panel/default.nix14
-rw-r--r--pkgs/desktops/gnome-3/misc/metacity/default.nix4
-rw-r--r--pkgs/development/compilers/rust/rustc.nix4
-rw-r--r--pkgs/development/compilers/solc/default.nix50
-rw-r--r--pkgs/development/compilers/z88dk/default.nix43
-rw-r--r--pkgs/development/guile-modules/guile-cairo/default.nix2
-rw-r--r--pkgs/development/guile-modules/guile-lib/default.nix9
-rw-r--r--pkgs/development/interpreters/acl2/default.nix6
-rw-r--r--pkgs/development/libraries/boost/1.59.nix30
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.40.0-cstdint-cygwin.patch20
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.40.0-iostreams-cygwin.patch24
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.40.0-python-cygwin.patch35
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.40.0-regex-cygwin.patch15
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.45.0-jam-cygwin.patch12
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.50.0-jam-pep3149.patch11
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.55.0-asio-MSG_EOR.patch14
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.55.0-interlocked-cygwin.patch11
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-asio-cygwin.patch1835
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-config-cygwin.patch76
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-context-cygwin.patch600
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-filesystem-cygwin.patch32
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-locale-cygwin.patch81
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-log-cygwin.patch46
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-smart_ptr-cygwin.patch77
-rw-r--r--pkgs/development/libraries/boost/cygwin-1.57.0-system-cygwin.patch22
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch22
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-pool.patch122
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch11
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch14
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-python-unused_typedef.patch15
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-move-is_class.patch20
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-mpl-print.patch31
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-pool-test_linking.patch33
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch10
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch19
-rw-r--r--pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-uuid-comparison.patch11
-rw-r--r--pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch23
-rw-r--r--pkgs/development/libraries/geoclue/default.nix4
-rw-r--r--pkgs/development/libraries/herqq/gcc6.patch1320
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix1
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix3
-rw-r--r--pkgs/development/libraries/quazip/default.nix13
-rw-r--r--pkgs/development/libraries/spdk/default.nix6
-rw-r--r--pkgs/development/pharo/vm/build-vm-legacy.nix1
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.pngbin902 -> 0 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.pngbin52181 -> 0 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.pngbin2368 -> 0 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.pngbin4602 -> 0 bytes
-rw-r--r--pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml9
-rw-r--r--pkgs/development/pharo/vm/share.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix6
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix19
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix4
-rw-r--r--pkgs/development/python-modules/gphoto2/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pysonos/default.nix38
-rw-r--r--pkgs/development/python-modules/pytricia/default.nix23
-rw-r--r--pkgs/development/python-modules/zxcvbn-python/default.nix24
-rw-r--r--pkgs/development/tools/analysis/brakeman/default.nix4
-rw-r--r--pkgs/development/tools/chit/default.nix4
-rw-r--r--pkgs/development/tools/pgloader/default.nix39
-rw-r--r--pkgs/development/web/minify/default.nix24
-rw-r--r--pkgs/development/web/minify/deps.nix74
-rw-r--r--pkgs/games/flare/default.nix24
-rw-r--r--pkgs/games/flare/engine.nix24
-rw-r--r--pkgs/games/flare/game.nix23
-rw-r--r--pkgs/games/openra/common.nix7
-rw-r--r--pkgs/games/openra/engines.nix14
-rw-r--r--pkgs/games/openra/mod-launch-game.sh6
-rwxr-xr-xpkgs/games/openra/mod-update.sh27
-rw-r--r--pkgs/games/openra/mods.nix48
-rw-r--r--pkgs/games/steam/chrootenv.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix6
-rw-r--r--pkgs/servers/mxisd/0001-gradle.patch14
-rw-r--r--pkgs/servers/mxisd/default.nix14
-rw-r--r--pkgs/servers/sql/postgresql/ext/pipelinedb.nix39
-rw-r--r--pkgs/servers/sql/postgresql/packages.nix2
-rw-r--r--pkgs/tools/filesystems/android-file-transfer/default.nix21
-rw-r--r--pkgs/tools/text/kdiff3/default.nix29
-rw-r--r--pkgs/top-level/all-packages.nix26
-rw-r--r--pkgs/top-level/php-packages.nix85
-rw-r--r--pkgs/top-level/python-packages.nix4
135 files changed, 2381 insertions, 5016 deletions
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index d832716c0308..48d22831cd9b 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -953,7 +953,7 @@ is essentially a "free software" license (BSD3), according to
 paragraph 2 of the LGPL, GHC must be distributed under the terms of the LGPL!
 
 To work around these problems GHC can be build with a slower but LGPL-free
-alternative implemention for Integer called
+alternative implementation for Integer called
 [integer-simple](http://hackage.haskell.org/package/integer-simple).
 
 To get a GHC compiler build with `integer-simple` instead of `integer-gmp` use
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index c2424c00ef2f..7f8fb9bad2f2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1746,13 +1746,13 @@
     github = "fps";
     name = "Florian Paul Schmidt";
   };
-  
+
   fragamus = {
     email = "innovative.engineer@gmail.com";
     github = "fragamus";
     name = "Michael Gough";
   };
-  
+
   fredeb = {
     email = "im@fredeb.dev";
     github = "fredeeb";
@@ -2486,6 +2486,11 @@
     github = "jtojnar";
     name = "Jan Tojnar";
   };
+  juaningan = {
+    email = "juaningan@gmail.com";
+    github = "juaningan";
+    name = "Juan Rodal";
+  };
   juliendehos = {
     email = "dehos@lisic.univ-littoral.fr";
     github = "juliendehos";
@@ -4005,6 +4010,11 @@
     github = "Ptival";
     name = "Valentin Robert";
   };
+  ptrhlm = {
+    email = "ptrhlm0@gmail.com";
+    github = "ptrhlm";
+    name = "Piotr Halama";
+  };
   puffnfresh = {
     email = "brian@brianmckenna.org";
     github = "puffnfresh";
@@ -4392,6 +4402,11 @@
     github = "sargon";
     name = "Daniel Ehlers";
   };
+  saschagrunert = {
+    email = "mail@saschagrunert.de";
+    github = "saschagrunert";
+    name = "Sascha Grunert";
+  };
   sauyon = {
     email = "s@uyon.co";
     github = "sauyon";
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 87b236dd5fd1..5661edbee2db 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -105,6 +105,80 @@ in
         '';
       };
 
+      ensureDatabases = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Ensures that the specified databases exist.
+          This option will never delete existing databases, especially not when the value of this
+          option is changed. This means that databases created once through this option or
+          otherwise have to be removed manually.
+        '';
+        example = [
+          "gitea"
+          "nextcloud"
+        ];
+      };
+
+      ensureUsers = mkOption {
+        type = types.listOf (types.submodule {
+          options = {
+            name = mkOption {
+              type = types.str;
+              description = ''
+                Name of the user to ensure.
+              '';
+            };
+            ensurePermissions = mkOption {
+              type = types.attrsOf types.str;
+              default = {};
+              description = ''
+                Permissions to ensure for the user, specified as an attribute set.
+                The attribute names specify the database and tables to grant the permissions for.
+                The attribute values specify the permissions to grant. You may specify one or
+                multiple comma-separated SQL privileges here.
+
+                For more information on how to specify the target
+                and on which privileges exist, see the
+                <link xlink:href="https://www.postgresql.org/docs/current/sql-grant.html">GRANT syntax</link>.
+                The attributes are used as <code>GRANT ''${attrName} ON ''${attrValue}</code>.
+              '';
+              example = literalExample ''
+                {
+                  "DATABASE nextcloud" = "ALL PRIVILEGES";
+                  "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES";
+                }
+              '';
+            };
+          };
+        });
+        default = [];
+        description = ''
+          Ensures that the specified users exist and have at least the ensured permissions.
+          The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the
+          same name only, and that without the need for a password.
+          This option will never delete existing users or remove permissions, especially not when the value of this
+          option is changed. This means that users created and permissions assigned once through this option or
+          otherwise have to be removed manually.
+        '';
+        example = literalExample ''
+          [
+            {
+              name = "nextcloud";
+              ensurePermissions = {
+                "DATABASE nextcloud" = "ALL PRIVILEGES";
+              };
+            }
+            {
+              name = "superuser";
+              ensurePermissions = {
+                "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES";
+              };
+            }
+          ]
+        '';
+      };
+
       enableTCPIP = mkOption {
         type = types.bool;
         default = false;
@@ -256,17 +330,30 @@ in
         # Wait for PostgreSQL to be ready to accept connections.
         postStart =
           ''
-            while ! ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port} -d postgres -c "" 2> /dev/null; do
+            PSQL="${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql --port=${toString cfg.port}"
+
+            while ! $PSQL -d postgres -c "" 2> /dev/null; do
                 if ! kill -0 "$MAINPID"; then exit 1; fi
                 sleep 0.1
             done
 
             if test -e "${cfg.dataDir}/.first_startup"; then
               ${optionalString (cfg.initialScript != null) ''
-                ${pkgs.sudo}/bin/sudo -u ${cfg.superUser} psql -f "${cfg.initialScript}" --port=${toString cfg.port} -d postgres
+                $PSQL -f "${cfg.initialScript}" -d postgres
               ''}
               rm -f "${cfg.dataDir}/.first_startup"
             fi
+          '' + optionalString (cfg.ensureDatabases != []) ''
+            ${concatMapStrings (database: ''
+              $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${database}'" | grep -q 1 || $PSQL -tAc "CREATE DATABASE ${database}"
+            '') cfg.ensureDatabases}
+          '' + ''
+            ${concatMapStrings (user: ''
+              $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${user.name}'" | grep -q 1 || $PSQL -tAc "CREATE USER ${user.name}"
+              ${concatStringsSep "\n" (mapAttrsToList (database: permission: ''
+                $PSQL -tAc "GRANT ${permission} ON ${database} TO ${user.name}"
+              '') user.ensurePermissions)}
+            '') cfg.ensureUsers}
           '';
 
         unitConfig.RequiresMountsFor = "${cfg.dataDir}";
diff --git a/nixos/modules/services/networking/mxisd.nix b/nixos/modules/services/networking/mxisd.nix
index 0b9824f29fd7..02e89f441b34 100644
--- a/nixos/modules/services/networking/mxisd.nix
+++ b/nixos/modules/services/networking/mxisd.nix
@@ -103,20 +103,12 @@ in {
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
 
-      # mxisd / spring.boot needs the configuration to be named "application.yaml"
-      preStart = ''
-        config=${cfg.dataDir}/application.yaml
-        cp ${configFile} $config
-        chmod 444 $config
-      '';
-
       serviceConfig = {
         Type = "simple";
         User = "mxisd";
         Group = "mxisd";
-        ExecStart = "${cfg.package}/bin/mxisd --spring.config.location=${cfg.dataDir}/ --spring.profiles.active=systemd --java.security.egd=file:/dev/./urandom";
+        ExecStart = "${cfg.package}/bin/mxisd -c ${configFile}";
         WorkingDirectory = cfg.dataDir;
-        SuccessExitStatus = 143;
         Restart = "on-failure";
       };
     };
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 114a64dfb175..89dae7bb3f86 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -5,6 +5,57 @@ with lib;
 let
   cfg = config.services.syncthing;
   defaultUser = "syncthing";
+
+  devices = mapAttrsToList (name: device: {
+    deviceID = device.id;
+    inherit (device) name addresses introducer;
+  }) cfg.declarative.devices;
+
+  folders = mapAttrsToList ( _: folder: {
+    inherit (folder) path id label type;
+    devices = map (device: { deviceId = cfg.declarative.devices.${device}.id; }) folder.devices;
+    rescanIntervalS = folder.rescanInterval;
+    fsWatcherEnabled = folder.watch;
+    fsWatcherDelayS = folder.watchDelay;
+    ignorePerms = folder.ignorePerms;
+  }) cfg.declarative.folders;
+
+  # get the api key by parsing the config.xml
+  getApiKey = pkgs.writers.writeDash "getAPIKey" ''
+    ${pkgs.libxml2}/bin/xmllint \
+      --xpath 'string(configuration/gui/apikey)'\
+      ${cfg.configDir}/config.xml
+  '';
+
+  updateConfig = pkgs.writers.writeDash "merge-syncthing-config" ''
+    set -efu
+    # wait for syncthing port to open
+    until ${pkgs.curl}/bin/curl -Ss ${cfg.guiAddress} -o /dev/null; do
+      sleep 1
+    done
+
+    API_KEY=$(${getApiKey})
+    OLD_CFG=$(${pkgs.curl}/bin/curl -Ss \
+      -H "X-API-Key: $API_KEY" \
+      ${cfg.guiAddress}/rest/system/config)
+
+    # generate the new config by merging with the nixos config options
+    NEW_CFG=$(echo "$OLD_CFG" | ${pkgs.jq}/bin/jq -s '.[] as $in | $in * {
+      "devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + $in.devices"}),
+      "folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + $in.folders"})
+    }')
+
+    # POST the new config to syncthing
+    echo "$NEW_CFG" | ${pkgs.curl}/bin/curl -Ss \
+      -H "X-API-Key: $API_KEY" \
+      ${cfg.guiAddress}/rest/system/config -d @-
+
+    # restart syncthing after sending the new config
+    ${pkgs.curl}/bin/curl -Ss \
+      -H "X-API-Key: $API_KEY" \
+      -X POST \
+      ${cfg.guiAddress}/rest/system/restart
+  '';
 in {
   ###### interface
   options = {
@@ -16,6 +67,187 @@ in {
         available on http://127.0.0.1:8384/.
       '';
 
+      declarative = {
+        cert = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Path to users cert.pem file, will be copied into the syncthing's
+            <literal>configDir</literal>
+          '';
+        };
+
+        key = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          description = ''
+            Path to users key.pem file, will be copied into the syncthing's
+            <literal>configDir</literal>
+          '';
+        };
+
+        overrideDevices = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether to delete the devices which are not configured via the
+            <literal>declarative.devices</literal> option.
+            If set to false, devices added via the webinterface will
+            persist but will have to be deleted manually.
+          '';
+        };
+
+        devices = mkOption {
+          default = {};
+          description = ''
+            Peers/devices which syncthing should communicate with.
+          '';
+          example = [
+            {
+              name = "bigbox";
+              id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
+              addresses = [ "tcp://192.168.0.10:51820" ];
+            }
+          ];
+          type = types.attrsOf (types.submodule ({ config, ... }: {
+            options = {
+
+              name = mkOption {
+                type = types.str;
+                default = config._module.args.name;
+                description = ''
+                  Name of the device
+                '';
+              };
+
+              addresses = mkOption {
+                type = types.listOf types.str;
+                default = [];
+                description = ''
+                  The addresses used to connect to the device.
+                  If this is let empty, dynamic configuration is attempted
+                '';
+              };
+
+              id = mkOption {
+                type = types.str;
+                description = ''
+                  The id of the other peer, this is mandatory. It's documented at
+                  https://docs.syncthing.net/dev/device-ids.html
+                '';
+              };
+
+              introducer = mkOption {
+                type = types.bool;
+                default = false;
+                description = ''
+                  If the device should act as an introducer and be allowed
+                  to add folders on this computer.
+                '';
+              };
+
+            };
+          }));
+        };
+
+        overrideFolders = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether to delete the folders which are not configured via the
+            <literal>declarative.folders</literal> option.
+            If set to false, folders added via the webinterface will persist
+            but will have to be deleted manually.
+          '';
+        };
+
+        folders = mkOption {
+          default = {};
+          description = ''
+            folders which should be shared by syncthing.
+          '';
+          type = types.attrsOf (types.submodule ({ config, ... }: {
+            options = {
+
+              path = mkOption {
+                type = types.str;
+                default = config._module.args.name;
+                description = ''
+                  The path to the folder which should be shared.
+                '';
+              };
+
+              id = mkOption {
+                type = types.str;
+                default = config._module.args.name;
+                description = ''
+                  The id of the folder. Must be the same on all devices.
+                '';
+              };
+
+              label = mkOption {
+                type = types.str;
+                default = config._module.args.name;
+                description = ''
+                  The label of the folder.
+                '';
+              };
+
+              devices = mkOption {
+                type = types.listOf types.str;
+                default = [];
+                description = ''
+                  The devices this folder should be shared with. Must be defined
+                  in the <literal>declarative.devices</literal> attribute.
+                '';
+              };
+
+              rescanInterval = mkOption {
+                type = types.int;
+                default = 3600;
+                description = ''
+                  How often the folders should be rescaned for changes.
+                '';
+              };
+
+              type = mkOption {
+                type = types.enum [ "sendreceive" "sendonly" "receiveonly" ];
+                default = "sendreceive";
+                description = ''
+                  Whether to send only changes from this folder, only receive them
+                  or propagate both.
+                '';
+              };
+
+              watch = mkOption {
+                type = types.bool;
+                default = true;
+                description = ''
+                  Whether the folder should be watched for changes by inotify.
+                '';
+              };
+
+              watchDelay = mkOption {
+                type = types.int;
+                default = 10;
+                description = ''
+                  The delay after an inotify event is triggered.
+                '';
+              };
+
+              ignorePerms = mkOption {
+                type = types.bool;
+                default = true;
+                description = ''
+                  Whether to propagate permission changes.
+                '';
+              };
+
+            };
+          }));
+        };
+      };
+
       guiAddress = mkOption {
         type = types.str;
         default = "127.0.0.1:8384";
@@ -151,6 +383,23 @@ in {
           RestartForceExitStatus="3 4";
           User = cfg.user;
           Group = cfg.group;
+          ExecStartPre = mkIf (cfg.declarative.cert != null || cfg.declarative.key != null)
+            "+${pkgs.writers.writeBash "syncthing-copy-keys" ''
+              mkdir -p ${cfg.configDir}
+              chown ${cfg.user}:${cfg.group} ${cfg.configDir}
+              chmod 700 ${cfg.configDir}
+              ${optionalString (cfg.declarative.cert != null) ''
+                cp ${toString cfg.declarative.cert} ${cfg.configDir}/cert.pem
+                chown ${cfg.user}:${cfg.group} ${cfg.configDir}/cert.pem
+                chmod 400 ${cfg.configDir}/cert.pem
+              ''}
+              ${optionalString (cfg.declarative.key != null) ''
+                cp ${toString cfg.declarative.key} ${cfg.configDir}/key.pem
+                chown ${cfg.user}:${cfg.group} ${cfg.configDir}/key.pem
+                chmod 400 ${cfg.configDir}/key.pem
+              ''}
+            ''}"
+          ;
           ExecStart = ''
             ${cfg.package}/bin/syncthing \
               -no-browser \
@@ -159,6 +408,17 @@ in {
           '';
         };
       };
+      syncthing-init = {
+        after = [ "syncthing.service" ];
+        wantedBy = [ "multi-user.target" ];
+
+        serviceConfig = {
+          User = cfg.user;
+          RemainAfterExit = true;
+          Type = "oneshot";
+          ExecStart = updateConfig;
+        };
+      };
 
       syncthing-resume = {
         wantedBy = [ "suspend.target" ];
diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix
index 002245027804..2d7cd5cebb48 100644
--- a/nixos/modules/services/networking/xinetd.nix
+++ b/nixos/modules/services/networking/xinetd.nix
@@ -146,7 +146,7 @@ in
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       path = [ pkgs.xinetd ];
-      script = "xinetd -syslog daemon -dontfork -stayalive -f ${configFile}";
+      script = "exec xinetd -syslog daemon -dontfork -stayalive -f ${configFile}";
     };
   };
 }
diff --git a/nixos/modules/services/x11/colord.nix b/nixos/modules/services/x11/colord.nix
index 17568df091d4..cf113ad2af8c 100644
--- a/nixos/modules/services/x11/colord.nix
+++ b/nixos/modules/services/x11/colord.nix
@@ -29,6 +29,7 @@ in {
     environment.etc."tmpfiles.d/colord.conf".source = "${pkgs.colord}/lib/tmpfiles.d/colord.conf";
 
     users.users.colord = {
+      isSystemUser = true;
       home = "/var/lib/colord";
       group = "colord";
     };
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 7ac6aba4ab3b..5be7c4292e5f 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -151,6 +151,7 @@ in
   mumble = handleTest ./mumble.nix {};
   munin = handleTest ./munin.nix {};
   mutableUsers = handleTest ./mutable-users.nix {};
+  mxisd = handleTest ./mxisd.nix {};
   mysql = handleTest ./mysql.nix {};
   mysqlBackup = handleTest ./mysql-backup.nix {};
   mysqlReplication = handleTest ./mysql-replication.nix {};
@@ -230,6 +231,7 @@ in
   strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
   sudo = handleTest ./sudo.nix {};
   switchTest = handleTest ./switch-test.nix {};
+  syncthing-init = handleTest ./syncthing-init.nix {};
   syncthing-relay = handleTest ./syncthing-relay.nix {};
   systemd = handleTest ./systemd.nix {};
   systemd-confinement = handleTest ./systemd-confinement.nix {};
diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix
index ea72a0121d11..cbdb5c8d2954 100644
--- a/nixos/tests/redmine.nix
+++ b/nixos/tests/redmine.nix
@@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
-  redmineTest = package: makeTest {
+  mysqlTest = package: makeTest {
     machine =
       { config, pkgs, ... }:
       { services.mysql.enable = true;
@@ -21,6 +21,7 @@ let
 
         services.redmine.enable = true;
         services.redmine.package = package;
+        services.redmine.database.type = "mysql2";
         services.redmine.database.socket = "/run/mysqld/mysqld.sock";
         services.redmine.plugins = {
           redmine_env_auth = pkgs.fetchurl {
@@ -38,7 +39,44 @@ let
 
     testScript = ''
       startAll;
+      $machine->waitForUnit('redmine.service');
+      $machine->waitForOpenPort('3000');
+      $machine->succeed("curl --fail http://localhost:3000/");
+    '';
+  };
+
+  pgsqlTest = package: makeTest {
+    machine =
+      { config, pkgs, ... }:
+      { services.postgresql.enable = true;
+        services.postgresql.ensureDatabases = [ "redmine" ];
+        services.postgresql.ensureUsers = [
+          { name = "redmine";
+            ensurePermissions = { "DATABASE redmine" = "ALL PRIVILEGES"; };
+          }
+        ];
+
+        services.redmine.enable = true;
+        services.redmine.package = package;
+        services.redmine.database.type = "postgresql";
+        services.redmine.database.host = "";
+        services.redmine.database.port = 5432;
+        services.redmine.plugins = {
+          redmine_env_auth = pkgs.fetchurl {
+            url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip;
+            sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc";
+          };
+        };
+        services.redmine.themes = {
+          dkuk-redmine_alex_skin = pkgs.fetchurl {
+            url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip;
+            sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl";
+          };
+        };
+      };
 
+    testScript = ''
+      startAll;
       $machine->waitForUnit('redmine.service');
       $machine->waitForOpenPort('3000');
       $machine->succeed("curl --fail http://localhost:3000/");
@@ -46,13 +84,18 @@ let
   };
 in
 {
-  redmine_3 = redmineTest pkgs.redmine // {
-    name = "redmine_3";
+  v3-mysql = mysqlTest pkgs.redmine // {
+    name = "v3-mysql";
+    meta.maintainers = [ maintainers.aanderse ];
+  };
+
+  v4-mysql = mysqlTest pkgs.redmine_4 // {
+    name = "v4-mysql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 
-  redmine_4 = redmineTest pkgs.redmine_4 // {
-    name = "redmine_4";
+  v4-pgsql = pgsqlTest pkgs.redmine_4 // {
+    name = "v4-pgsql";
     meta.maintainers = [ maintainers.aanderse ];
   };
 }
diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix
new file mode 100644
index 000000000000..811a466ff941
--- /dev/null
+++ b/nixos/tests/syncthing-init.nix
@@ -0,0 +1,30 @@
+import ./make-test.nix ({ lib, pkgs, ... }: let
+
+  testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
+
+in {
+  name = "syncthing-init";
+  meta.maintainers = with pkgs.stdenv.lib.maintainers; [ lassulus ];
+
+  machine = {
+    services.syncthing = {
+      enable = true;
+      declarative = {
+        devices.testDevice = {
+          id = testId;
+        };
+        folders.testFolder = {
+          path = "/tmp/test";
+          devices = [ "testDevice" ];
+        };
+      };
+    };
+  };
+
+  testScript = ''
+    $machine->waitForUnit("syncthing-init.service");
+    $machine->succeed("cat /var/lib/syncthing/config.xml") =~ /${testId}/ or die;
+    $machine->succeed("cat /var/lib/syncthing/config.xml") =~ /testFolder/ or die;
+  '';
+})
+
diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix
index ea83a1012ebb..3ed330cc7437 100644
--- a/pkgs/applications/audio/moc/default.nix
+++ b/pkgs/applications/audio/moc/default.nix
@@ -1,9 +1,35 @@
-{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg
-, libvorbis, libmpc, libsndfile, libjack2, db, libmodplug, timidity, libid3tag
-, libtool
+{ stdenv, fetchurl, pkgconfig
+, ncurses, db , popt, libtool
+# Sound sub-systems
+, alsaSupport ? true, alsaLib
+, pulseSupport ? true, libpulseaudio, autoreconfHook
+, jackSupport ? true, libjack2
+, ossSupport ? true
+# Audio formats
+, aacSupport ? true, faad2, libid3tag
+, flacSupport ? true, flac
+, midiSupport ? true, timidity
+, modplugSupport ? true, libmodplug
+, mp3Support ? true, libmad
+, musepackSupport ? true, libmpc, libmpcdec, taglib
+, vorbisSupport ? true, libvorbis
+, speexSupport ? true, speex
+, ffmpegSupport ? true, ffmpeg
+, sndfileSupport ? true, libsndfile
+, wavpackSupport ? true, wavpack
+# Misc
+, withffmpeg4 ? false, ffmpeg_4
+, curlSupport ? true, curl
+, samplerateSupport ? true, libsamplerate
+, withDebug ? false
 }:
 
-stdenv.mkDerivation rec {
+let
+  opt = stdenv.lib.optional;
+  mkFlag = c: f: if c then "--with-${f}" else "--without-${f}";
+
+in stdenv.mkDerivation rec {
+
   name = "moc-${version}";
   version = "2.5.2";
 
@@ -12,18 +38,67 @@ stdenv.mkDerivation rec {
     sha256 = "026v977kwb0wbmlmf6mnik328plxg8wykfx9ryvqhirac0aq39pk";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  patches = []
+    ++ opt withffmpeg4 ./moc-ffmpeg4.patch
+    ++ opt pulseSupport ./pulseaudio.patch;
+
+  nativeBuildInputs = [ pkgconfig ]
+    ++ opt pulseSupport autoreconfHook;
+
+  buildInputs = [ ncurses db popt libtool ]
+    # Sound sub-systems
+    ++ opt alsaSupport alsaLib
+    ++ opt pulseSupport libpulseaudio
+    ++ opt jackSupport libjack2
+    # Audio formats
+    ++ opt (aacSupport || mp3Support) libid3tag
+    ++ opt aacSupport faad2
+    ++ opt flacSupport flac
+    ++ opt midiSupport timidity
+    ++ opt modplugSupport libmodplug
+    ++ opt mp3Support libmad
+    ++ opt musepackSupport [ libmpc libmpcdec taglib ]
+    ++ opt vorbisSupport libvorbis
+    ++ opt speexSupport speex
+    ++ opt (ffmpegSupport && !withffmpeg4) ffmpeg
+    ++ opt (ffmpegSupport && withffmpeg4) ffmpeg_4
+    ++ opt sndfileSupport libsndfile
+    ++ opt wavpackSupport wavpack
+    # Misc
+    ++ opt curlSupport curl
+    ++ opt samplerateSupport libsamplerate;
 
-  buildInputs = [
-    ncurses alsaLib flac libmad speex ffmpeg libvorbis libmpc libsndfile libjack2
-    db libmodplug timidity libid3tag libtool
+  configureFlags = [
+    # Sound sub-systems
+    (mkFlag alsaSupport "alsa")
+    (mkFlag pulseSupport "pulse")
+    (mkFlag jackSupport "jack")
+    (mkFlag ossSupport "oss")
+    # Audio formats
+    (mkFlag aacSupport "aac")
+    (mkFlag flacSupport "flac")
+    (mkFlag midiSupport "timidity")
+    (mkFlag modplugSupport "modplug")
+    (mkFlag mp3Support "mp3")
+    (mkFlag musepackSupport "musepack")
+    (mkFlag vorbisSupport "vorbis")
+    (mkFlag speexSupport "speex")
+    (mkFlag ffmpegSupport "ffmpeg")
+    (mkFlag sndfileSupport "sndfile")
+    (mkFlag wavpackSupport "wavpack")
+    # Misc
+    (mkFlag curlSupport "curl")
+    (mkFlag samplerateSupport "samplerate")
+    ("--enable-debug=" + (if withDebug then "yes" else "no"))
+    "--disable-cache"
+    "--without-rcc"
   ];
 
   meta = with stdenv.lib; {
     description = "An ncurses console audio player designed to be powerful and easy to use";
     homepage = http://moc.daper.net/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ pSub jagajaga ];
+    maintainers = with maintainers; [ aethelz pSub jagajaga ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/moc/moc-ffmpeg4.patch b/pkgs/applications/audio/moc/moc-ffmpeg4.patch
new file mode 100644
index 000000000000..7499f9c539bc
--- /dev/null
+++ b/pkgs/applications/audio/moc/moc-ffmpeg4.patch
@@ -0,0 +1,33 @@
+Index: decoder_plugins/ffmpeg/ffmpeg.c
+===================================================================
+--- /decoder_plugins/ffmpeg/ffmpeg.c	(revisión: 2963)
++++ /decoder_plugins/ffmpeg/ffmpeg.c	(copia de trabajo)
+@@ -697,7 +697,7 @@
+ 	 * FFmpeg/LibAV in use.  For some versions this will be caught in
+ 	 * *_find_stream_info() above and misreported as an unfound codec
+ 	 * parameters error. */
+-	if (data->codec->capabilities & CODEC_CAP_EXPERIMENTAL) {
++	if (data->codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL) {
+ 		decoder_error (&data->error, ERROR_FATAL, 0,
+ 				"The codec is experimental and may damage MOC: %s",
+ 				data->codec->name);
+@@ -705,8 +705,8 @@
+ 	}
+ 
+ 	set_downmixing (data);
+-	if (data->codec->capabilities & CODEC_CAP_TRUNCATED)
+-		data->enc->flags |= CODEC_FLAG_TRUNCATED;
++	if (data->codec->capabilities & AV_CODEC_CAP_TRUNCATED)
++		data->enc->flags |= AV_CODEC_FLAG_TRUNCATED;
+ 
+ 	if (avcodec_open2 (data->enc, data->codec, NULL) < 0)
+ 	{
+@@ -725,7 +725,7 @@
+ 
+ 	data->sample_width = sfmt_Bps (data->fmt);
+ 
+-	if (data->codec->capabilities & CODEC_CAP_DELAY)
++	if (data->codec->capabilities & AV_CODEC_CAP_DELAY)
+ 		data->delay = true;
+ 	data->seek_broken = is_seek_broken (data);
+ 	data->timing_broken = is_timing_broken (data->ic);
diff --git a/pkgs/applications/audio/moc/pulseaudio.patch b/pkgs/applications/audio/moc/pulseaudio.patch
new file mode 100644
index 000000000000..37d81dddf2bc
--- /dev/null
+++ b/pkgs/applications/audio/moc/pulseaudio.patch
@@ -0,0 +1,800 @@
+diff --git a/audio.c b/audio.c
+--- a/audio.c
++++ b/audio.c
+@@ -32,6 +32,9 @@
+ #include "log.h"
+ #include "lists.h"
+ 
++#ifdef HAVE_PULSE
++# include "pulse.h"
++#endif
+ #ifdef HAVE_OSS
+ # include "oss.h"
+ #endif
+@@ -893,6 +896,15 @@
+ 		}
+ #endif
+ 
++#ifdef HAVE_PULSE
++		if (!strcasecmp(name, "pulseaudio")) {
++			pulse_funcs (funcs);
++			printf ("Trying PulseAudio...\n");
++			if (funcs->init(&hw_caps))
++				return;
++		}
++#endif
++
+ #ifdef HAVE_OSS
+ 		if (!strcasecmp(name, "oss")) {
+ 			oss_funcs (funcs);
+diff --git a/configure.in b/configure.in
+--- a/configure.in
++++ b/configure.in
+@@ -162,6 +162,21 @@
+ 		       AC_MSG_ERROR([BerkeleyDB (libdb) not found.]))
+ fi
+ 
++AC_ARG_WITH(pulse, AS_HELP_STRING(--without-pulse,
++				  Compile without PulseAudio support.))
++
++if test "x$with_pulse" != "xno"
++then
++	PKG_CHECK_MODULES(PULSE, [libpulse],
++		 [SOUND_DRIVERS="$SOUND_DRIVERS PULSE"
++		  EXTRA_OBJS="$EXTRA_OBJS pulse.o"
++		  AC_DEFINE([HAVE_PULSE], 1, [Define if you have PulseAudio.])
++		  EXTRA_LIBS="$EXTRA_LIBS $PULSE_LIBS"
++		  CFLAGS="$CFLAGS $PULSE_CFLAGS"],
++		  [true])
++fi
++
++
+ AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],
+                                 [Compile without OSS support]))
+ 
+diff --git a/options.c b/options.c
+--- a/options.c
++++ b/options.c
+@@ -572,10 +572,11 @@
+ 
+ #ifdef OPENBSD
+ 	add_list ("SoundDriver", "SNDIO:JACK:OSS",
+-	          CHECK_DISCRETE(5), "SNDIO", "Jack", "ALSA", "OSS", "null");
++		  CHECK_DISCRETE(5), "SNDIO", "PulseAudio", "Jack", "ALSA", "OSS", "null");
++
+ #else
+ 	add_list ("SoundDriver", "Jack:ALSA:OSS",
+-	          CHECK_DISCRETE(5), "SNDIO", "Jack", "ALSA", "OSS", "null");
++	          CHECK_DISCRETE(5), "SNDIO", "PulseAudio", "Jack", "ALSA", "OSS", "null");
+ #endif
+ 
+ 	add_str  ("JackClientName", "moc", CHECK_NONE);
+diff --git a/pulse.c b/pulse.c
+new file mode 100644
+--- /dev/null
++++ b/pulse.c
+@@ -0,0 +1,705 @@
++/*
++ * MOC - music on console
++ * Copyright (C) 2011 Marien Zwart <marienz@marienz.net>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ */
++
++/* PulseAudio backend.
++ *
++ * FEATURES:
++ *
++ * Does not autostart a PulseAudio server, but uses an already-started
++ * one, which should be better than alsa-through-pulse.
++ *
++ * Supports control of either our stream's or our entire sink's volume
++ * while we are actually playing. Volume control while paused is
++ * intentionally unsupported: the PulseAudio documentation strongly
++ * suggests not passing in an initial volume when creating a stream
++ * (allowing the server to track this instead), and we do not know
++ * which sink to control if we do not have a stream open.
++ *
++ * IMPLEMENTATION:
++ *
++ * Most client-side (resource allocation) errors are fatal. Failure to
++ * create a server context or stream is not fatal (and MOC should cope
++ * with these failures too), but server communication failures later
++ * on are currently not handled (MOC has no great way for us to tell
++ * it we no longer work, and I am not sure if attempting to reconnect
++ * is worth it or even a good idea).
++ *
++ * The pulse "simple" API is too simple: it combines connecting to the
++ * server and opening a stream into one operation, while I want to
++ * connect to the server when MOC starts (and fall back to a different
++ * backend if there is no server), and I cannot open a stream at that
++ * time since I do not know the audio format yet.
++ *
++ * PulseAudio strongly recommends we use a high-latency connection,
++ * which the MOC frontend code might not expect from its audio
++ * backend. We'll see.
++ *
++ * We map MOC's percentage volumes linearly to pulse's PA_VOLUME_MUTED
++ * (0) .. PA_VOLUME_NORM range. This is what the PulseAudio docs recommend
++ * ( http://pulseaudio.org/wiki/WritingVolumeControlUIs ). It does mean
++ * PulseAudio volumes above PA_VOLUME_NORM do not work well with MOC.
++ *
++ * Comments in audio.h claim "All functions are executed only by one
++ * thread" (referring to the function in the hw_funcs struct). This is
++ * a blatant lie. Most of them are invoked off the "output buffer"
++ * thread (out_buf.c) but at least the "playing" thread (audio.c)
++ * calls audio_close which calls our close function. We can mostly
++ * ignore this problem because we serialize on the pulseaudio threaded
++ * mainloop lock. But it does mean that functions that are normally
++ * only called between open and close (like reset) are sometimes
++ * called without us having a stream. Bulletproof, therefore:
++ * serialize setting/unsetting our global stream using the threaded
++ * mainloop lock, and check for that stream being non-null before
++ * using it.
++ *
++ * I am not convinced there are no further dragons lurking here: can
++ * the "playing" thread(s) close and reopen our output stream while
++ * the "output buffer" thread is sending output there? We can bail if
++ * our stream is simply closed, but we do not currently detect it
++ * being reopened and no longer using the same sample format, which
++ * might have interesting results...
++ *
++ * Also, read_mixer is called from the main server thread (handling
++ * commands). This crashed me once when it got at a stream that was in
++ * the "creating" state and therefore did not have a valid stream
++ * index yet. Fixed by only assigning to the stream global when the
++ * stream is valid.
++ */
++
++#ifdef HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++#define DEBUG
++
++#include <pulse/pulseaudio.h>
++#include "common.h"
++#include "log.h"
++#include "audio.h"
++
++
++/* The pulse mainloop and context are initialized in pulse_init and
++ * destroyed in pulse_shutdown.
++ */
++static pa_threaded_mainloop *mainloop = NULL;
++static pa_context *context = NULL;
++
++/* The stream is initialized in pulse_open and destroyed in pulse_close. */
++static pa_stream *stream = NULL;
++
++static int showing_sink_volume = 0;
++
++/* Callbacks that do nothing but wake up the mainloop. */
++
++static void context_state_callback (pa_context *context ATTR_UNUSED,
++				    void *userdata)
++{
++	pa_threaded_mainloop *m = userdata;
++
++	pa_threaded_mainloop_signal (m, 0);
++}
++
++static void stream_state_callback (pa_stream *stream ATTR_UNUSED,
++				   void *userdata)
++{
++	pa_threaded_mainloop *m = userdata;
++
++	pa_threaded_mainloop_signal (m, 0);
++}
++
++static void stream_write_callback (pa_stream *stream ATTR_UNUSED,
++				   size_t nbytes ATTR_UNUSED, void *userdata)
++{
++	pa_threaded_mainloop *m = userdata;
++
++	pa_threaded_mainloop_signal (m, 0);
++}
++
++/* Initialize pulse mainloop and context. Failure to connect to the
++ * pulse daemon is nonfatal, everything else is fatal (as it
++ * presumably means we ran out of resources).
++ */
++static int pulse_init (struct output_driver_caps *caps)
++{
++	pa_context *c;
++	pa_proplist *proplist;
++
++	assert (!mainloop);
++	assert (!context);
++
++	mainloop = pa_threaded_mainloop_new ();
++	if (!mainloop)
++		fatal ("Cannot create PulseAudio mainloop");
++
++	if (pa_threaded_mainloop_start (mainloop) < 0)
++		fatal ("Cannot start PulseAudio mainloop");
++
++	/* TODO: possibly add more props.
++	 *
++	 * There are a few we could set in proplist.h but nothing I
++	 * expect to be very useful.
++	 *
++	 * http://pulseaudio.org/wiki/ApplicationProperties recommends
++	 * setting at least application.name, icon.name and media.role.
++	 *
++	 * No need to set application.name here, the name passed to
++	 * pa_context_new_with_proplist overrides it.
++	 */
++	proplist = pa_proplist_new ();
++	if (!proplist)
++		fatal ("Cannot allocate PulseAudio proplist");
++
++	pa_proplist_sets (proplist,
++			  PA_PROP_APPLICATION_VERSION, PACKAGE_VERSION);
++	pa_proplist_sets (proplist, PA_PROP_MEDIA_ROLE, "music");
++	pa_proplist_sets (proplist, PA_PROP_APPLICATION_ID, "net.daper.moc");
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	c = pa_context_new_with_proplist (
++		pa_threaded_mainloop_get_api (mainloop),
++		PACKAGE_NAME, proplist);
++	pa_proplist_free (proplist);
++
++	if (!c)
++		fatal ("Cannot allocate PulseAudio context");
++
++	pa_context_set_state_callback (c, context_state_callback, mainloop);
++
++	/* Ignore return value, rely on state being set properly */
++	pa_context_connect (c, NULL, PA_CONTEXT_NOAUTOSPAWN, NULL);
++
++	while (1) {
++		pa_context_state_t state = pa_context_get_state (c);
++
++		if (state == PA_CONTEXT_READY)
++			break;
++
++		if (!PA_CONTEXT_IS_GOOD (state)) {
++			error ("PulseAudio connection failed: %s",
++			       pa_strerror (pa_context_errno (c)));
++
++			goto unlock_and_fail;
++		}
++
++		debug ("waiting for context to become ready...");
++		pa_threaded_mainloop_wait (mainloop);
++	}
++
++	/* Only set the global now that the context is actually ready */
++	context = c;
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	/* We just make up the hardware capabilities, since pulse is
++	 * supposed to be abstracting these out. Assume pulse will
++	 * deal with anything we want to throw at it, and that we will
++	 * only want mono or stereo audio.
++	 */
++	caps->min_channels = 1;
++	caps->max_channels = 2;
++	caps->formats = (SFMT_S8 | SFMT_S16 | SFMT_S32 |
++			 SFMT_FLOAT | SFMT_BE | SFMT_LE);
++
++	return 1;
++
++unlock_and_fail:
++
++	pa_context_unref (c);
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	pa_threaded_mainloop_stop (mainloop);
++	pa_threaded_mainloop_free (mainloop);
++	mainloop = NULL;
++
++	return 0;
++}
++
++static void pulse_shutdown (void)
++{
++	pa_threaded_mainloop_lock (mainloop);
++
++	pa_context_disconnect (context);
++	pa_context_unref (context);
++	context = NULL;
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	pa_threaded_mainloop_stop (mainloop);
++	pa_threaded_mainloop_free (mainloop);
++	mainloop = NULL;
++}
++
++static int pulse_open (struct sound_params *sound_params)
++{
++	pa_sample_spec ss;
++	pa_buffer_attr ba;
++	pa_stream *s;
++
++	assert (!stream);
++	/* Initialize everything to -1, which in practice gets us
++	 * about 2 seconds of latency (which is fine). This is not the
++	 * same as passing NULL for this struct, which gets us an
++	 * unnecessarily short alsa-like latency.
++	 */
++	ba.fragsize = (uint32_t) -1;
++	ba.tlength = (uint32_t) -1;
++	ba.prebuf = (uint32_t) -1;
++	ba.minreq = (uint32_t) -1;
++	ba.maxlength = (uint32_t) -1;
++
++	ss.channels = sound_params->channels;
++	ss.rate = sound_params->rate;
++	switch (sound_params->fmt) {
++	case SFMT_U8:
++		ss.format = PA_SAMPLE_U8;
++		break;
++	case SFMT_S16 | SFMT_LE:
++		ss.format = PA_SAMPLE_S16LE;
++		break;
++	case SFMT_S16 | SFMT_BE:
++		ss.format = PA_SAMPLE_S16BE;
++		break;
++	case SFMT_FLOAT | SFMT_LE:
++		ss.format = PA_SAMPLE_FLOAT32LE;
++		break;
++	case SFMT_FLOAT | SFMT_BE:
++		ss.format = PA_SAMPLE_FLOAT32BE;
++		break;
++	case SFMT_S32 | SFMT_LE:
++		ss.format = PA_SAMPLE_S32LE;
++		break;
++	case SFMT_S32 | SFMT_BE:
++		ss.format = PA_SAMPLE_S32BE;
++		break;
++
++	default:
++		fatal ("pulse: got unrequested format");
++	}
++
++	debug ("opening stream");
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	/* TODO: figure out if there are useful stream properties to set.
++	 *
++	 * I do not really see any in proplist.h that we can set from
++	 * here (there are media title/artist/etc props but we do not
++	 * have that data available here).
++	 */
++	s = pa_stream_new (context, "music", &ss, NULL);
++	if (!s)
++		fatal ("pulse: stream allocation failed");
++
++	pa_stream_set_state_callback (s, stream_state_callback, mainloop);
++	pa_stream_set_write_callback (s, stream_write_callback, mainloop);
++
++	/* Ignore return value, rely on failed stream state instead. */
++	pa_stream_connect_playback (
++		s, NULL, &ba,
++		PA_STREAM_INTERPOLATE_TIMING |
++		PA_STREAM_AUTO_TIMING_UPDATE |
++		PA_STREAM_ADJUST_LATENCY,
++		NULL, NULL);
++
++	while (1) {
++		pa_stream_state_t state = pa_stream_get_state (s);
++
++		if (state == PA_STREAM_READY)
++			break;
++
++		if (!PA_STREAM_IS_GOOD (state)) {
++			error ("PulseAudio stream connection failed");
++
++			goto fail;
++		}
++
++		debug ("waiting for stream to become ready...");
++		pa_threaded_mainloop_wait (mainloop);
++	}
++
++	/* Only set the global stream now that it is actually ready */
++	stream = s;
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	return 1;
++
++fail:
++	pa_stream_unref (s);
++
++	pa_threaded_mainloop_unlock (mainloop);
++	return 0;
++}
++
++static void pulse_close (void)
++{
++	debug ("closing stream");
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	pa_stream_disconnect (stream);
++	pa_stream_unref (stream);
++	stream = NULL;
++
++	pa_threaded_mainloop_unlock (mainloop);
++}
++
++static int pulse_play (const char *buff, const size_t size)
++{
++	size_t offset = 0;
++
++	debug ("Got %d bytes to play", (int)size);
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	/* The buffer is usually writable when we get here, and there
++	 * are usually few (if any) writes after the first one. So
++	 * there is no point in doing further writes directly from the
++	 * callback: we can just do all writes from this thread.
++	 */
++
++	/* Break out of the loop if some other thread manages to close
++	 * our stream underneath us.
++	 */
++	while (stream) {
++		size_t towrite = MIN(pa_stream_writable_size (stream),
++				     size - offset);
++		debug ("writing %d bytes", (int)towrite);
++
++		/* We have no working way of dealing with errors
++		 * (see below). */
++		if (pa_stream_write(stream, buff + offset, towrite,
++				    NULL, 0, PA_SEEK_RELATIVE))
++			error ("pa_stream_write failed");
++
++		offset += towrite;
++
++		if (offset >= size)
++			break;
++
++		pa_threaded_mainloop_wait (mainloop);
++	}
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	debug ("Done playing!");
++
++	/* We should always return size, calling code does not deal
++	 * well with anything else. Only read the rest if you want to
++	 * know why.
++	 *
++	 * The output buffer reader thread (out_buf.c:read_thread)
++	 * repeatedly loads some 64k/0.1s of audio into a buffer on
++	 * the stack, then calls audio_send_pcm repeatedly until this
++	 * entire buffer has been processed (similar to the loop in
++	 * this function). audio_send_pcm applies the softmixer and
++	 * equalizer, then feeds the result to this function, passing
++	 * through our return value.
++	 *
++	 * So if we return less than size the equalizer/softmixer is
++	 * re-applied to the remaining data, which is silly. Also,
++	 * audio_send_pcm checks for our return value being zero and
++	 * calls fatal() if it is, so try to always process *some*
++	 * data. Also, out_buf.c uses the return value of this
++	 * function from the last run through its inner loop to update
++	 * its time attribute, which means it will be interestingly
++	 * off if that loop ran more than once.
++	 *
++	 * Oh, and alsa.c seems to think it can return -1 to indicate
++	 * failure, which will cause out_buf.c to rewind its buffer
++	 * (to before its start, usually).
++	 */
++	return size;
++}
++
++static void volume_cb (const pa_cvolume *v, void *userdata)
++{
++	int *result = userdata;
++
++	if (v)
++		*result = 100 * pa_cvolume_avg (v) / PA_VOLUME_NORM;
++
++	pa_threaded_mainloop_signal (mainloop, 0);
++}
++
++static void sink_volume_cb (pa_context *c ATTR_UNUSED,
++			    const pa_sink_info *i, int eol ATTR_UNUSED,
++			    void *userdata)
++{
++	volume_cb (i ? &i->volume : NULL, userdata);
++}
++
++static void sink_input_volume_cb (pa_context *c ATTR_UNUSED,
++				  const pa_sink_input_info *i,
++				  int eol ATTR_UNUSED,
++				  void *userdata ATTR_UNUSED)
++{
++	volume_cb (i ? &i->volume : NULL, userdata);
++}
++
++static int pulse_read_mixer (void)
++{
++	pa_operation *op;
++	int result = 0;
++
++	debug ("read mixer");
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	if (stream) {
++		if (showing_sink_volume)
++			op = pa_context_get_sink_info_by_index (
++				context, pa_stream_get_device_index (stream),
++				sink_volume_cb, &result);
++		else
++			op = pa_context_get_sink_input_info (
++				context, pa_stream_get_index (stream),
++				sink_input_volume_cb, &result);
++
++		while (pa_operation_get_state (op) == PA_OPERATION_RUNNING)
++			pa_threaded_mainloop_wait (mainloop);
++
++		pa_operation_unref (op);
++	}
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	return result;
++}
++
++static void pulse_set_mixer (int vol)
++{
++	pa_cvolume v;
++	pa_operation *op;
++
++	/* Setting volume for one channel does the right thing. */
++	pa_cvolume_set(&v, 1, vol * PA_VOLUME_NORM / 100);
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	if (stream) {
++		if (showing_sink_volume)
++			op = pa_context_set_sink_volume_by_index (
++				context, pa_stream_get_device_index (stream),
++				&v, NULL, NULL);
++		else
++			op = pa_context_set_sink_input_volume (
++				context, pa_stream_get_index (stream),
++				&v, NULL, NULL);
++
++		pa_operation_unref (op);
++	}
++
++	pa_threaded_mainloop_unlock (mainloop);
++}
++
++static int pulse_get_buff_fill (void)
++{
++	/* This function is problematic. MOC uses it to for the "time
++	 * remaining" in the UI, but calls it more than once per
++	 * second (after each chunk of audio played, not for each
++	 * playback time update). We have to be fairly accurate here
++	 * for that time remaining to not jump weirdly. But PulseAudio
++	 * cannot give us a 100% accurate value here, as it involves a
++	 * server roundtrip. And if we call this a lot it suggests
++	 * switching to a mode where the value is interpolated, making
++	 * it presumably more inaccurate (see the flags we pass to
++	 * pa_stream_connect_playback).
++	 *
++	 * MOC also contains what I believe to be a race: it calls
++	 * audio_get_buff_fill "soon" (after playing the first chunk)
++	 * after starting playback of the next song, at which point we
++	 * still have part of the previous song buffered. This means
++	 * our position into the new song is negative, which fails an
++	 * assert (in out_buf.c:out_buf_time_get). There is no sane
++	 * way for us to detect this condition. I believe no other
++	 * backend triggers this because the assert sits after an
++	 * implicit float -> int seconds conversion, which means we
++	 * have to be off by at least an entire second to get a
++	 * negative value, and none of the other backends have buffers
++	 * that large (alsa buffers are supposedly a few 100 ms).
++	 */
++	pa_usec_t buffered_usecs = 0;
++	int buffered_bytes = 0;
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	/* Using pa_stream_get_timing_info and returning the distance
++	 * between write_index and read_index would be more obvious,
++	 * but because of how the result is actually used I believe
++	 * using the latency value is slightly more correct, and it
++	 * makes the following crash-avoidance hack more obvious.
++	 */
++
++	/* This function will frequently fail the first time we call
++	 * it (pulse does not have the requested data yet). We ignore
++	 * that and just return 0.
++	 *
++	 * Deal with stream being NULL too, just in case this is
++	 * called in a racy fashion similar to how reset() is.
++	 */
++	if (stream &&
++	    pa_stream_get_latency (stream, &buffered_usecs, NULL) >= 0) {
++		/* Crash-avoidance HACK: floor our latency to at most
++		 * 1 second. It is usually more, but reporting that at
++		 * the start of playback crashes MOC, and we cannot
++		 * sanely detect when reporting it is safe.
++		 */
++		if (buffered_usecs > 1000000)
++			buffered_usecs = 1000000;
++
++		buffered_bytes = pa_usec_to_bytes (
++			buffered_usecs,
++			pa_stream_get_sample_spec (stream));
++	}
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	debug ("buffer fill: %d usec / %d bytes",
++	       (int) buffered_usecs, (int) buffered_bytes);
++
++	return buffered_bytes;
++}
++
++static void flush_callback (pa_stream *s ATTR_UNUSED, int success,
++			    void *userdata)
++{
++	int *result = userdata;
++
++	*result = success;
++
++	pa_threaded_mainloop_signal (mainloop, 0);
++}
++
++static int pulse_reset (void)
++{
++	pa_operation *op;
++	int result = 0;
++
++	debug ("reset requested");
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	/* We *should* have a stream here, but MOC is racy, so bulletproof */
++	if (stream) {
++		op = pa_stream_flush (stream, flush_callback, &result);
++
++		while (pa_operation_get_state (op) == PA_OPERATION_RUNNING)
++			pa_threaded_mainloop_wait (mainloop);
++
++		pa_operation_unref (op);
++	} else
++		logit ("pulse_reset() called without a stream");
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	return result;
++}
++
++static int pulse_get_rate (void)
++{
++	/* This is called once right after open. Do not bother making
++	 * this fast. */
++
++	int result;
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	if (stream)
++		result = pa_stream_get_sample_spec (stream)->rate;
++	else {
++		error ("get_rate called without a stream");
++		result = 0;
++	}
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	return result;
++}
++
++static void pulse_toggle_mixer_channel (void)
++{
++	showing_sink_volume = !showing_sink_volume;
++}
++
++static void sink_name_cb (pa_context *c ATTR_UNUSED,
++			  const pa_sink_info *i, int eol ATTR_UNUSED,
++			  void *userdata)
++{
++	char **result = userdata;
++
++	if (i && !*result)
++		*result = xstrdup (i->name);
++
++	pa_threaded_mainloop_signal (mainloop, 0);
++}
++
++static void sink_input_name_cb (pa_context *c ATTR_UNUSED,
++				const pa_sink_input_info *i,
++				int eol ATTR_UNUSED,
++				void *userdata)
++{
++	char **result = userdata;
++
++	if (i && !*result)
++		*result = xstrdup (i->name);
++
++	pa_threaded_mainloop_signal (mainloop, 0);
++}
++
++static char *pulse_get_mixer_channel_name (void)
++{
++	char *result = NULL;
++	pa_operation *op;
++
++	pa_threaded_mainloop_lock (mainloop);
++
++	if (stream) {
++		if (showing_sink_volume)
++			op = pa_context_get_sink_info_by_index (
++				context, pa_stream_get_device_index (stream),
++				sink_name_cb, &result);
++		else
++			op = pa_context_get_sink_input_info (
++				context, pa_stream_get_index (stream),
++				sink_input_name_cb, &result);
++
++		while (pa_operation_get_state (op) == PA_OPERATION_RUNNING)
++			pa_threaded_mainloop_wait (mainloop);
++
++		pa_operation_unref (op);
++	}
++
++	pa_threaded_mainloop_unlock (mainloop);
++
++	if (!result)
++		result = xstrdup ("disconnected");
++
++	return result;
++}
++
++void pulse_funcs (struct hw_funcs *funcs)
++{
++	funcs->init = pulse_init;
++	funcs->shutdown = pulse_shutdown;
++	funcs->open = pulse_open;
++	funcs->close = pulse_close;
++	funcs->play = pulse_play;
++	funcs->read_mixer = pulse_read_mixer;
++	funcs->set_mixer = pulse_set_mixer;
++	funcs->get_buff_fill = pulse_get_buff_fill;
++	funcs->reset = pulse_reset;
++	funcs->get_rate = pulse_get_rate;
++	funcs->toggle_mixer_channel = pulse_toggle_mixer_channel;
++	funcs->get_mixer_channel_name = pulse_get_mixer_channel_name;
++}
+diff --git a/pulse.h b/pulse.h
+new file mode 100644
+--- /dev/null
++++ b/pulse.h
+@@ -0,0 +1,14 @@
++#ifndef PULSE_H
++#define PULSE_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++void pulse_funcs (struct hw_funcs *funcs);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
diff --git a/pkgs/applications/audio/sfxr/default.nix b/pkgs/applications/audio/sfxr/default.nix
new file mode 100644
index 000000000000..fbd0f3c5def3
--- /dev/null
+++ b/pkgs/applications/audio/sfxr/default.nix
@@ -0,0 +1,56 @@
+{ stdenv
+, fetchurl
+, pkgconfig
+, desktop-file-utils
+, SDL
+, gtk3
+, gsettings-desktop-schemas
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sfxr";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "http://www.drpetter.se/files/sfxr-sdl-${version}.tar.gz";
+    sha256 = "0dfqgid6wzzyyhc0ha94prxax59wx79hqr25r6if6by9cj4vx4ya";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile --replace "usr/" ""
+    substituteInPlace sdlkit.h --replace \
+      "/usr/share/sfxr/sfxr.bmp" \
+      "$out/share/sfxr/sfxr.bmp"
+    substituteInPlace main.cpp \
+      --replace \
+      "/usr/share/sfxr/font.tga" \
+      "$out/share/sfxr/font.tga" \
+      --replace \
+      "/usr/share/sfxr/ld48.tga" \
+      "$out/share/sfxr/ld48.tga"
+  '';
+
+  nativeBuildInputs = [
+    pkgconfig
+    desktop-file-utils
+  ];
+
+  buildInputs = [
+    SDL
+    gtk3
+    gsettings-desktop-schemas
+    wrapGAppsHook
+  ];
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.drpetter.se/project_sfxr.html";
+    description = "A videogame sound effect generator";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 85687090721d..61d65cb64b6b 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -9,7 +9,7 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "lightdm";
-  version = "1.28.0";
+  version = "1.30.0";
 
   outputs = [ "out" "dev" ];
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "CanonicalLtd";
     repo = pname;
     rev = version;
-    sha256 = "1mmqy1jdvgc0h0h9gli7n4vdv5p8m5019qjr5ni4h73iz6mjdj2b";
+    sha256 = "0i1yygmjbkdjnqdl9jn8zsa1mfs2l19qc4k2capd8q1ndhnjm2dx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 0d7f460fb062..37352915cb84 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales
-, gtk3, keybinder3, libnotify, libutempter, vte }:
+, gtk3, keybinder3, libnotify, libutempter, vte, libwnck3 }:
 
 let
-  version = "3.5.0";
+  version = "3.6.3";
 in python3.pkgs.buildPythonApplication rec {
   name = "guake-${version}";
   format = "other";
@@ -11,7 +11,7 @@ in python3.pkgs.buildPythonApplication rec {
     owner = "Guake";
     repo = "guake";
     rev = version;
-    sha256 = "0fz0gciw5fpxrp6yyji27l7q8c0r9ljsq6vw584mr70bcl1gzjqx";
+    sha256 = "13ipnmqcyixpa6qv83m0f91za4kar14s5jpib68b32z65x1h0j3b";
   };
 
   # Strict deps breaks guake
@@ -23,7 +23,7 @@ in python3.pkgs.buildPythonApplication rec {
 
   buildInputs = [ gtk3 keybinder3 libnotify python3 vte ];
 
-  propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 ];
+  propagatedBuildInputs = with python3.pkgs; [ dbus-python pbr pycairo pygobject3 libwnck3 ];
 
   LC_ALL = "en_US.UTF-8"; # fixes weird encoding error, see https://github.com/NixOS/nixpkgs/pull/38642#issuecomment-379727699
 
diff --git a/pkgs/applications/misc/lifelines/default.nix b/pkgs/applications/misc/lifelines/default.nix
new file mode 100644
index 000000000000..7207dea9d522
--- /dev/null
+++ b/pkgs/applications/misc/lifelines/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, gettext, libiconv, bison, ncurses, perl, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "lifelines";
+  version = "unstable-2019-05-07";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "43f29285ed46fba322b6a14322771626e6b02c59";
+    sha256 = "1agszzlmkxmznpc1xj0vzxkskrcfagfjvqsdyw1yp5yg6bsq272y";
+  };
+
+  buildInputs = [
+    gettext
+    libiconv
+    ncurses
+    perl
+  ];
+  nativeBuildInputs = [ autoreconfHook bison ];
+
+  meta = with stdenv.lib; {
+    description = "Genealogy tool with ncurses interface";
+    homepage = "https://lifelines.github.io/lifelines/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ disassembler ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix
index 776ba8f081e3..cdd78866cdcb 100644
--- a/pkgs/applications/misc/waybar/default.nix
+++ b/pkgs/applications/misc/waybar/default.nix
@@ -9,13 +9,13 @@
 }:
   stdenv.mkDerivation rec {
     name = "waybar-${version}";
-    version = "0.6.1";
+    version = "0.6.5";
 
     src = fetchFromGitHub {
       owner = "Alexays";
       repo = "Waybar";
       rev = version;
-      sha256 = "1hzwqg22sjiirx6743512271p3jlakrw0155av1phrv5b7p3ws8a";
+      sha256 = "1k3ynx5ssq7ji0nlx0n7zrgrshxv5abj8fa8c5lcyxr2wxffna9z";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
new file mode 100644
index 000000000000..36f6279c2092
--- /dev/null
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -0,0 +1,32 @@
+{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+
+let
+  pname = "Sylk";
+  version = "2.1.0";
+in
+
+appimageTools.wrapType2 rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://download.ag-projects.com/Sylk/Sylk-${version}-x86_64.AppImage";
+    sha256 = "1ifi8qr6f84dcssxhv5ar1s48nsqxiv2j1blc82248hmq5is24mf";
+  };
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
+
+  meta = with lib; {
+    description = "Sylk WebRTC client";
+    homepage = "http://sylkserver.com/";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ zimbatm ];
+    platforms = [ "i386-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix
new file mode 100644
index 000000000000..26b3c3ace8bf
--- /dev/null
+++ b/pkgs/applications/networking/browsers/ephemeral/default.nix
@@ -0,0 +1,65 @@
+{ stdenv
+, fetchFromGitHub
+, desktop-file-utils
+, gettext
+, glib
+, gtk3
+, hicolor-icon-theme
+, libgee
+, libdazzle
+, meson
+, ninja
+, pantheon
+, pkgconfig
+, python3
+, webkitgtk
+, wrapGAppsHook
+, glib-networking
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ephemeral";
+  version = "5.1.0";
+
+  src = fetchFromGitHub {
+    owner = "cassidyjames";
+    repo = "ephemeral";
+    rev = version;
+    sha256 = "1wfrbbdw429q2mkycn87fhci0jidcsflk5f2lbzfzccbcs8msffz";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    gettext
+    meson
+    ninja
+    pantheon.vala
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    glib-networking
+    gtk3
+    hicolor-icon-theme
+    libdazzle
+    libgee
+    pantheon.granite
+    webkitgtk
+  ];
+
+  postPatch = ''
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The always-incognito web browser";
+    homepage = https://github.com/cassidyjames/ephemeral;
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix
index 35d21848e2b3..274afd5fc3d8 100644
--- a/pkgs/applications/science/chemistry/molden/default.nix
+++ b/pkgs/applications/science/chemistry/molden/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, which, gfortran, libGLU, xorg } :
 
 stdenv.mkDerivation rec {
-  version = "5.9.5";
+  version = "6.1";
   name = "molden-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
-    sha256 = "0va5g03kvnzydx0b77y1p536iy7swzvnx6yknp87qgpw1bgrzdj9";
+    sha256 = "0swbjnqlkwhy8lvjkbx8yklqj4zfphwdg6s3haawxi3dd65ij539";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index b97123926eb5..4f716251153c 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, pkgconfig }:
+{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }:
 
 with rustPlatform;
 
 buildRustPackage rec {
   name = "pijul-${version}";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "https://pijul.org/releases/${name}.tar.gz";
-    sha256 = "e60793ab124e9054c1d5509698acbae507ebb2fab5364d964067bc9ae8b6b5e5";
+    sha256 = "1rm787kkh3ya8ix0rjvj7sbrg9armm0rnpkga6gjmsbg5bx20y4q";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig clang ];
 
   postInstall = ''
     mkdir -p $out/share/{bash-completion/completions,zsh/site-functions,fish/vendor_completions.d}
@@ -20,12 +20,14 @@ buildRustPackage rec {
     $out/bin/pijul generate-completions --fish > $out/share/fish/vendor_completions.d/pijul.fish
   '';
 
-  buildInputs = [ openssl libsodium ] ++ stdenv.lib.optionals stdenv.isDarwin
+  LIBCLANG_PATH = libclang + "/lib";
+
+  buildInputs = [ openssl libsodium nettle libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [ Security ]);
 
   doCheck = false;
 
-  cargoSha256 = "1r76azmka1d76ff0ddfhzr24b0ry496qrp13945i3vs0fgzk2sdz";
+  cargoSha256 = "1w77s5q18yr1gqqif15wmrfdvv2chq8rq3w4dnmxg2gn0r7bmz2k";
 
   meta = with stdenv.lib; {
     description = "A distributed version control system";
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
new file mode 100644
index 000000000000..6e2790ef8590
--- /dev/null
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -0,0 +1,75 @@
+{ flavor ? ""
+, ldflags ? ""
+, stdenv
+, btrfs-progs
+, buildGoPackage
+, fetchFromGitHub
+, glibc
+, gpgme
+, libapparmor
+, libassuan
+, libgpgerror
+, libseccomp
+, libselinux
+, lvm2
+, pkgconfig
+}:
+
+buildGoPackage rec {
+  project = "cri-o";
+  version = "1.14.1";
+  name = "${project}-${version}${flavor}";
+
+  goPackagePath = "github.com/${project}/${project}";
+
+  src = fetchFromGitHub {
+    owner = "cri-o";
+    repo = "cri-o";
+    rev = "v${version}";
+    sha256 = "1cclxarwabk5zlqysm2dzgsm6qkxyzbnlylr0gs57ppn4ibky3nk";
+  };
+
+  outputs = [ "bin" "out" ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ btrfs-progs gpgme libapparmor libassuan libgpgerror
+                 libseccomp libselinux lvm2 ]
+                ++ stdenv.lib.optionals (glibc != null) [ glibc glibc.static ];
+
+  makeFlags = ''BUILDTAGS="apparmor seccomp selinux
+    containers_image_ostree_stub"'';
+
+  buildPhase = ''
+    pushd go/src/${goPackagePath}
+
+    # Build conmon and pause
+    go build -tags ${makeFlags} -o bin/crio-config -buildmode=pie \
+      -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio-config
+
+    pushd conmon
+    ../bin/crio-config
+    popd
+
+    make -C conmon
+    make -C pause
+
+    # Build the crio binary
+    go build -tags ${makeFlags} -o bin/crio -buildmode=pie \
+      -ldflags '-s -w ${ldflags}' ${goPackagePath}/cmd/crio
+  '';
+  installPhase = ''
+    install -Dm755 bin/crio $bin/bin/crio${flavor}
+
+    mkdir -p $bin/libexec/crio
+    install -Dm755 bin/conmon $bin/libexec/crio/conmon${flavor}
+    install -Dm755 bin/pause $bin/libexec/crio/pause${flavor}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://cri-o.io;
+    description = ''Open Container Initiative-based implementation of the
+                    Kubernetes Container Runtime Interface'';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ saschagrunert ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/data/fonts/cnstrokeorder/default.nix b/pkgs/data/fonts/cnstrokeorder/default.nix
new file mode 100644
index 000000000000..965bf119f6e7
--- /dev/null
+++ b/pkgs/data/fonts/cnstrokeorder/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl }:
+
+let
+  version = "0.0.4.7";
+in fetchurl {
+  name = "cnstrokeorder-${version}";
+
+  url = "http://rtega.be/chmn/CNstrokeorder-${version}.ttf";
+
+  recursiveHash = true;
+  downloadToTemp = true;
+
+  postFetch = ''
+    install -D $downloadedFile $out/share/fonts/truetype/CNstrokeorder-${version}.ttf
+  '';
+
+  sha256 = "0cizgfdgbq9av5c8234mysr2q54iw9pkxrmq5ga8gv32hxhl5bx4";
+
+  meta = with lib; {
+    description = "Chinese font that shows stroke order for HSK 1-4";
+    homepage = "http://rtega.be/chmn/index.php?subpage=68";
+    license = [ licenses.arphicpl ];
+    maintainers = with maintainers; [ johnazoidberg ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/kanji-stroke-order-font/default.nix b/pkgs/data/fonts/kanji-stroke-order-font/default.nix
new file mode 100644
index 000000000000..1c1609b03f19
--- /dev/null
+++ b/pkgs/data/fonts/kanji-stroke-order-font/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "4.002";
+in fetchzip {
+  name = "kanji-stroke-order-font-${version}";
+
+  url = "https://sites.google.com/site/nihilistorguk/KanjiStrokeOrders_v${version}.zip?attredirects=0";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts/kanji-stroke-order $out/share/doc/kanji-stroke-order
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/kanji-stroke-order
+    unzip -j $downloadedFile \*.txt -d $out/share/doc/kanji-stroke-order
+  '';
+
+  sha256 = "194ylkx5p7r1461wnnd3hisv5dz1xl07fyxmg8gv47zcwvdmwkc0";
+
+  meta = with stdenv.lib; {
+    description = "Font containing stroke order diagrams for over 6500 kanji, 180 kana and other characters";
+    homepage = "https://sites.google.com/site/nihilistorguk/";
+
+    license = [ licenses.bsd3 ];
+    maintainers = with maintainers; [ ptrhlm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/redhat-official/default.nix b/pkgs/data/fonts/redhat-official/default.nix
new file mode 100644
index 000000000000..c05b9c69aef5
--- /dev/null
+++ b/pkgs/data/fonts/redhat-official/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchzip }:
+
+let version = "2.2.0"; in
+fetchzip rec {
+  name = "redhat-official-${version}";
+  url = "https://github.com/RedHatOfficial/RedHatFont/archive/${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+  '';
+
+  sha256 = "0yb6shgq6jrv3kq9faky66qpdbv4g580c3jl942844grwyngymyj";
+
+  meta = with lib; {
+    homepage = https://github.com/RedHatOfficial/RedHatFont;
+    description = "Red Hat's Open Source Fonts - Red Hat Display and Red Hat Text";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/data/themes/zuki/default.nix b/pkgs/data/themes/zuki/default.nix
index 2e74e2819e38..69399bdb0eb5 100644
--- a/pkgs/data/themes/zuki/default.nix
+++ b/pkgs/data/themes/zuki/default.nix
@@ -1,24 +1,21 @@
-{ stdenv, fetchFromGitHub, gdk_pixbuf, librsvg, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, meson, ninja, sassc, gdk_pixbuf, librsvg, gtk_engines, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
   pname = "zuki-themes";
-  version = "3.32-1";
+  version = "3.32-3";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0x6ghc7n5y7p0agm2yp7rygz9154f58s891zxzhd07wc2c4mzp0s";
+    sha256 = "1al1fb7pqrcdi4g6llz8ka4sc9hsprv2ba0kkc21r6vajs0qp83n";
   };
 
-  buildInputs = [ gdk_pixbuf librsvg ];
+  nativeBuildInputs = [ meson ninja sassc ];
 
-  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+  buildInputs = [ gdk_pixbuf librsvg gtk_engines ];
 
-  installPhase = ''
-    install -dm 755 $out/share/themes
-    cp -a Zuki* $out/share/themes/
-  '';
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
   meta = with stdenv.lib; {
     description = "Themes for GTK3, gnome-shell and more";
diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
index efff8f846b94..f7d22220e644 100644
--- a/pkgs/desktops/gnome-3/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
@@ -1,27 +1,60 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, gtk3, wrapGAppsHook, gobject-introspection
-, itstool, libxml2, python3Packages, at-spi2-core
-, dbus, gettext, libwnck3 }:
+{ stdenv
+, fetchurl
+, pkgconfig
+, gnome3
+, gtk3
+, glib
+, wrapGAppsHook
+, gobject-introspection
+, itstool
+, libxml2
+, python3
+, at-spi2-core
+, dbus
+, gettext
+, libwnck3
+, adwaita-icon-theme
+}:
 
-stdenv.mkDerivation rec {
+ python3.pkgs.buildPythonApplication rec {
   name = "accerciser-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
+
+  format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/accerciser/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0afzhbig5yw87zyfmid61368jj8l6i7k8gs29x0hv65fz4yiv4h4";
+    sha256 = "05ssj8whzhf98lpcaca7m45h03g0wx0i8jlsrh3yn943mshzidy8";
   };
 
   nativeBuildInputs = [
-    pkgconfig wrapGAppsHook itstool gettext
+    gettext
     gobject-introspection # For setup hook
+    itstool
+    libxml2
+    pkgconfig
+    dbus
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    gtk3 libxml2 python3Packages.python python3Packages.pyatspi
-    python3Packages.pygobject3 python3Packages.ipython
-    at-spi2-core dbus libwnck3 gnome3.adwaita-icon-theme
+    adwaita-icon-theme
+    at-spi2-core
+    gtk3
+    libwnck3
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    ipython
+    pyatspi
+    pycairo
+    pygobject3
+    xlib
   ];
 
-  wrapPrefixVariables = [ "PYTHONPATH" ];
+  # Strict deps breaks accerciser
+  # and https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix
index a423dd85887c..83202a75c264 100644
--- a/pkgs/desktops/gnome-3/apps/evolution/default.nix
+++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix
@@ -7,13 +7,13 @@
 , libcanberra-gtk3, bogofilter, gst_all_1, procps, p11-kit, openldap }:
 
 let
-  version = "3.32.1";
+  version = "3.32.2";
 in stdenv.mkDerivation rec {
   name = "evolution-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0ns76w6vwv5k1nxpaqrizp1pnm89xzfgs60i6cwwfs35zqlmb7iq";
+    sha256 = "1sb60zhdawza33zlp0n3hbd7mq43a4y09jmkphpnxdifypfkar55";
   };
 
   propagatedUserEnvPkgs = [ evolution-data-server ];
diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix
index f767e309a65a..532e8dcb0f08 100644
--- a/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "gedit-${version}";
-  version = "3.32.0";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1lray9vvbcrnhjv5cr5fc4bqfd68km2x79cj50byyqn9cnlf5qn9";
+    sha256 = "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index a983c59d192e..3b68bec7585e 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -9,13 +9,13 @@
 # TODO: ovirt (optional)
 
 let
-  version = "3.32.0.2";
+  version = "3.32.1";
 in stdenv.mkDerivation rec {
   name = "gnome-boxes-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1239x1bbkn0gxxq82zpvjjr7srla2d5ghi5rqwxnhsab0c2ypswk";
+    sha256 = "159sxii3g4s5pjb4s4i3kc4q162w5vicp4g6wvk1y2yv68bgmcl4";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
index 3244fa639c2f..03619f38c9ba 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "gnome-calendar";
-  version = "3.32.1";
+  version = "3.32.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1wip968nvp1yj34hbpc3wjbrmrgjm1f82ag5ngv90z38953vi9vl";
+    sha256 = "07p73cvzj8idr80npja5yiv9pjfyi6qqfhaz5jwcgqspqbnhnl7k";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index b3b9fb0dddd6..a059ec3ac3ce 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-maps";
-  version = "3.32.1";
+  version = "3.32.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1q15qsp0ca67y4l0x31518cfakrj85x9g0cbcm0wysnbddi1aik0";
+    sha256 = "1yvwzdfxjdgx4478l2i240ssvbr8hm5sg4krc1gw2ps08sgap7yx";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 4e601849a35f..1f1bfafb5950 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "3.32.1";
+  version = "3.32.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11fdij1jznjsph1q5rkkvdhikzdh2lls921lv2m2di9x7i2xn3h4";
+    sha256 = "0cn7l1d3ayima1w3bxpshijabd7ibhnvqxv2mpvffzizk04ln6hk";
   };
 
   nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ];
diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix
index cf056ca78413..73b8016d97b4 100644
--- a/pkgs/desktops/gnome-3/apps/polari/default.nix
+++ b/pkgs/desktops/gnome-3/apps/polari/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "polari";
-  version = "3.32.1";
+  version = "3.32.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0z2dxj1hd798jn79y9a7lkb77lm8l7y5fsqh9g6lbr7pnmg559yk";
+    sha256 = "0h0w9j3y067l911gpj446b3a2w1i2vzr1w2a7cz7i5rhn6qkf2sp";
   };
 
   propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
index b3feb230d0f4..a1bcb406eb3a 100644
--- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix
+++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "seahorse";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nh2gahiixj661a3l008yhidx952q50fqgdckg8l0d237wnwp7f6";
+    sha256 = "0d8zdzmlz7fjv9xl20zl4ckidf465mvdjnbpxy3k08y9iw423q4x";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/core/gjs/default.nix b/pkgs/desktops/gnome-3/core/gjs/default.nix
index 25c3cef3f6a4..ef4de3699151 100644
--- a/pkgs/desktops/gnome-3/core/gjs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gjs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gjs-${version}";
-  version = "1.56.1";
+  version = "1.56.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0wylq6r0c0gf558hridlyly84vb03qzdrfph21z8dbqy8l7g2937";
+    sha256 = "1b5321krn89p3f7s2ik6gpfnc61apzljhlnbqky8c88f7n6832ac";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 33095a0f1b98..d9001d9b1b94 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -14,11 +14,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "gnome-shell-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1pb00af3w4wivdhcvdy59z2xlxasg90bcm5a9ck0p5lf97adwx08";
+    sha256 = "0anlkdnqsp5fqvmg95rqjpp1ifcx5xzsvwcrdsvb1cqzbh6inmp5";
   };
 
   LANG = "en_US.UTF-8";
diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
index f71df437d113..ab4b360221e5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-software/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-software-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0xxhvyqfwlcyvlqc36rpcili00dpwy8b5c5klaqccn5qrc87rl38";
+    sha256 = "12kw5vyg8jy0xiq1shfh4ksar2dpyzcdxbyx8lrp9494d606nrlx";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 9b25ae9218d4..77a630261fb5 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-terminal-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0i613844gf5dmzpvwiy68lg8walhj4zr88scacp2qwpqs870si8x";
+    sha256 = "0shhpnagasyp1kxgjczfrivcxbgrrl3y8lzvp1z101m67h4jp6km";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
index 02bcb52b3875..d9f938621433 100644
--- a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-user-docs-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "09g6fi9b1xpk0fnp6wgh350v1x318mrf20j4bfarww25vrj6irrw";
+    sha256 = "1ny7cwkyskrykzsrabjnlc9jsdl4kdk73smwxas6ddmca02hpm7c";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 2c305f002fd5..a8bc4e770110 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1q74lrb08vy0ynxbssqyxvbzf9252xgf9l6jxr9g4q0gmvpq402j";
+    sha256 = "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva";
   };
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 688e8cc93657..2eeb77db0c65 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -7,13 +7,13 @@
 
 let
   pname = "nautilus";
-  version = "3.32.0";
+  version = "3.32.1";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1pnh32fal7dkwadga5savg1nv0zqnbakhk0hxr5726087i6y6ii2";
+    sha256 = "0vmrvimv4183l3ij4kv0ir2c9rfzk7gh3xc2pa4wkqq9kn7h6m7s";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index ad2ac5d6e690..047e79e14e5c 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "simple-scan-${version}";
-  version = "3.32.2";
+  version = "3.32.2.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "12r5hacwpf0gzca3p73xpmx3dksa1kx50nlj6w4nw8jfqzjlkq1k";
+    sha256 = "0xqb642bsd2hddsm4bd199vyq8jcipdlxm0br3mjlc5vjcxgkxyp";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
index 41120a74b084..d6ed0c22e4b7 100644
--- a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "yelp-tools-${version}";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-tools/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "037fd6xpy3zab7j5p7c0vfc6c3nk6qs0prvz1hbilzc31p8l1pdz";
+    sha256 = "1qrn8ss3wc601w8j0ziicgmgic0yh01az6611n3jgd7wll9c79wr";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/core/yelp/default.nix
index ecbb7b277ff3..24a49413960c 100644
--- a/pkgs/desktops/gnome-3/core/yelp/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "yelp-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "159ayfyswn9yh7g5hjs6lphh510n6qkyd1cj47hnc3ynnab9hn4r";
+    sha256 = "0yrl96icmmrxvg7sxl519gzg9qb368cmzgrr9ddh181ignkxzx7f";
   };
 
   nativeBuildInputs = [ pkgconfig gettext itstool wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
index 9ceb65f83083..b2c8e99e8239 100644
--- a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-mines-${version}";
-  version = "3.32.0";
+  version = "3.32.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-mines/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "13ia8a7bmdnp1281lwp8nvdqqkclvg1n3pw4bbr2dgsrsswfkscj";
+    sha256 = "1nv966wkp2rqxzcdb76bwlbzpjqadcaqzrnkxpzwnvjjr167yx8g";
   };
 
   # gobject-introspection for finding vapi files
diff --git a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
index de0d70ae42f4..7bb162b7b8b4 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix
@@ -26,13 +26,13 @@
 
 let
   pname = "gnome-applets";
-  version = "3.30.0";
+  version = "3.32.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1cvl32486kqw301wy40l1a1sdhanra7bx4smq0a3lmnl3x01zg43";
+    sha256 = "10kd19ymxl2z65121g90mx96m6vcn2a8a50g6a56prrdjsgbgia1";
   };
 
   nativeBuildInputs = [
@@ -68,7 +68,7 @@ in stdenv.mkDerivation rec {
   doCheck = true;
 
   configureFlags = [
-    "--with-libpanel-applet-dir=$(out)/share/gnome-panel/applets"
+    "--with-libpanel-applet-dir=${placeholder ''out''}/share/gnome-panel/applets"
   ];
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index f9387c11b819..6d8f48f0d8e6 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , autoreconfHook
 , fetchurl
-, fetchpatch
 , gettext
 , glib
 , gnome-bluetooth
@@ -29,25 +28,16 @@
 
 let
   pname = "gnome-flashback";
-  version = "3.30.0";
+  version = "3.32.0";
   requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback-init;gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;";
   gnome-flashback = stdenv.mkDerivation rec {
     name = "${pname}-${version}";
 
     src = fetchurl {
       url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-      sha256 = "18rwql2pi78155l9zp1i50xfi5z8xz2l08m9d81x6qqbfr1nyy57";
+      sha256 = "0jfzr7vdmnxpxqqa38ni1p3c508xhlnxqpmmqshk3rvrf0afqn62";
     };
 
-    patches =[
-      # overrides do not respect gsettingsschemasdir
-      # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/9
-      (fetchpatch {
-       url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/a55530f58ccd600414a5420b287868ab7d219705.patch;
-       sha256 = "1la94lhhb9zlw7bnbpl6hl26zv3kxbsvgx996mhph720wxg426mh";
-      })
-    ];
-
     # make .desktop Execs absolute
     postPatch = ''
       patch -p0 <<END_PATCH
diff --git a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
index db00758fb55f..3031b2c1d78f 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , fetchurl
 , autoreconfHook
-, fetchpatch
 , dconf
 , evolution-data-server
 , gdm
@@ -24,7 +23,7 @@
 
 let
   pname = "gnome-panel";
-  version = "3.30.0";
+  version = "3.32.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -32,18 +31,9 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "12q0l7wy6hzl46i7xpvv82ka3bn14z0jg6fhv5xhnk7j9mkbmgqw";
+    sha256 = "0a9zi1jb0b42zd6wx3251cnns9v1w0cbwasmrx9hsj1dsb9pjq3a";
   };
 
-  patches = [
-    # https://github.com/NixOS/nixpkgs/issues/36468
-    # https://gitlab.gnome.org/GNOME/gnome-panel/issues/8
-    (fetchpatch {
-      url = https://gitlab.gnome.org/GNOME/gnome-panel/commit/77be9c3507bd1b5d70d97649b85ec9f47f6c359c.patch;
-      sha256 = "00b1ihnc6hp2g6x1v1njbc6mhsk44izl2wigviibmka2znfk03nv";
-    })
-  ];
-
   # make .desktop Exec absolute
   postPatch = ''
     patch -p0 <<END_PATCH
diff --git a/pkgs/desktops/gnome-3/misc/metacity/default.nix b/pkgs/desktops/gnome-3/misc/metacity/default.nix
index c42356aa16aa..8b1d2b05df11 100644
--- a/pkgs/desktops/gnome-3/misc/metacity/default.nix
+++ b/pkgs/desktops/gnome-3/misc/metacity/default.nix
@@ -16,13 +16,13 @@
 
 let
   pname = "metacity";
-  version = "3.30.1";
+  version = "3.32.0";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "12kr472gblx7jxh9rvnamy09bkg29ms2pgc0c3373piqmavi24qg";
+    sha256 = "177dmb1smizfgkddk49n2kr90graj9r6xw5hg3aq0y2qqg6v4rcg";
   };
 
   patches = [
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 9b9800431005..59264ca6efad 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -17,11 +17,11 @@ let
   llvmShared = llvm_7.override { enableSharedLibraries = true; };
 in stdenv.mkDerivation rec {
   pname = "rustc";
-  version = "1.34.0";
+  version = "1.34.2";
 
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "0n8z1wngkxab1rvixqg6w8b727hzpnm9wp9h8iy3mpbrzp7mmj3s";
+    sha256 = "0mig0prkmlnpbba1cmi17vlsl88ikv5pi26zjy2kcr64l62lm6n6";
   };
 
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
index 8f005d475dc7..a4fb9b6c6d81 100644
--- a/pkgs/development/compilers/solc/default.nix
+++ b/pkgs/development/compilers/solc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, fetchFromGitHub, boost, cmake
+{ stdenv, fetchzip, fetchFromGitHub, boost, cmake, ncurses, python2
 , z3Support ? true, z3 ? null
 }:
 
@@ -6,14 +6,15 @@ assert z3Support -> z3 != null;
 assert z3Support -> stdenv.lib.versionAtLeast z3.version "4.6.0";
 
 let
-  version = "0.5.7";
-  rev = "6da8b019e4a155d1f70abe7a3acc0f9765480a9e";
-  sha256 = "0ii868r0ra6brjnn453kxqvw76p4bwjbvdyqfcn6v1bl2h4s60ir";
+  version = "0.5.8";
+  rev = "23d335f28e4055e67c3b22466ac7c4e41dc48344";
+  sha256 = "10fa4qwfr3gfvxkzzjfs0w2fyij67cczklpj2x5hghcg08amkq37";
   jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz;
   jsoncpp = fetchzip {
     url = jsoncppURL;
     sha256 = "1z0gj7a6jypkijmpknis04qybs1hkd04d1arr3gy89lnxmp6qzlm";
   };
+  buildSharedLibs = stdenv.hostPlatform.isLinux;
 in
 stdenv.mkDerivation {
   name = "solc-${version}";
@@ -24,9 +25,7 @@ stdenv.mkDerivation {
     inherit rev sha256;
   };
 
-  patches = [
-    ./patches/shared-libs-install.patch
-  ];
+  patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ];
 
   postPatch = ''
     touch prerelease.txt
@@ -37,18 +36,41 @@ stdenv.mkDerivation {
 
   cmakeFlags = [
     "-DBoost_USE_STATIC_LIBS=OFF"
+  ] ++ stdenv.lib.optionals buildSharedLibs [
     "-DBUILD_SHARED_LIBS=ON"
   ] ++ stdenv.lib.optionals (!z3Support) [
     "-DUSE_Z3=OFF"
   ];
 
-  doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform;
-  checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./libevmasm:./libdevcore:./libyul:./liblangutil:./test/tools/yulInterpreter:$LD_LIBRARY_PATH " +
-               "./test/soltest -p true -- --no-ipc --no-smt --testpath ../test";
-
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost ]
-    ++ stdenv.lib.optionals z3Support [ z3 ];
+  buildInputs = [ boost ] ++ stdenv.lib.optionals z3Support [ z3 ];
+  checkInputs = [ ncurses python2 ];
+
+  # Test fails on darwin for unclear reason
+  doCheck = stdenv.hostPlatform.isLinux;
+
+  checkPhase = ''
+    while IFS= read -r -d ''' dir
+    do
+      LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/$dir
+      export LD_LIBRARY_PATH
+    done <   <(find . -type d -print0)
+
+    pushd ..
+    # IPC tests need aleth avaliable, so we disable it
+    sed -i "s/IPC_ENABLED=true/IPC_ENABLED=false\nIPC_FLAGS=\"--no-ipc\"/" ./scripts/tests.sh
+    for i in ./scripts/*.sh; do
+      patchShebangs "$i"
+    done
+    for i in ./scripts/*.py; do
+      patchShebangs "$i"
+    done
+    for i in ./test/*.sh; do
+      patchShebangs "$i"
+    done
+    TERM=xterm ./scripts/tests.sh
+    popd
+  '';
 
   outputs = [ "out" "dev" ];
 
@@ -57,7 +79,7 @@ stdenv.mkDerivation {
     homepage = https://github.com/ethereum/solidity;
     license = licenses.gpl3;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ dbrock akru lionello ];
+    maintainers = with maintainers; [ dbrock akru lionello sifmelcara ];
     inherit version;
   };
 }
diff --git a/pkgs/development/compilers/z88dk/default.nix b/pkgs/development/compilers/z88dk/default.nix
index 1590075dc2a0..19056ec2b6fd 100644
--- a/pkgs/development/compilers/z88dk/default.nix
+++ b/pkgs/development/compilers/z88dk/default.nix
@@ -1,37 +1,46 @@
-{ fetchFromGitHub, fetchpatch, stdenv, makeWrapper, unzip, libxml2, m4, uthash }:
+{ fetchFromGitHub, stdenv, makeWrapper, unzip, libxml2, m4, uthash, which }:
 
 stdenv.mkDerivation rec {
-  name = "z88dk-${version}";
-  version = "20180217";
-  rev = "49a7c6032b2675af742f5b0b3aa5bd5260bdd814";
-  short_rev = "${builtins.substring 0 7 rev}";
+  pname = "z88dk";
+  version = "unstable-2019-05-09";
 
   src = fetchFromGitHub {
     owner = "z88dk";
     repo  = "z88dk";
-    inherit rev;
-    sha256 = "00vbklh6lkq1gyd08ig2vcg6c1mghvlwfx3vq3wldf34hcs3k4pp";
+    rev = "826d68632c3a7c17df88dd2ec54571a6041da69c";
+    sha256 = "104qgb01sdb97mkcxnq1cdlqi5qvjm4rd9bg5r42pdfz81ss49xj";
+    fetchSubmodules = true;
   };
 
-  # https://github.com/z88dk/z88dk/pull/612
-  patches = [(fetchpatch {
-    url = "https://github.com/Mic92/z88dk/commit/5b4ca132fa1f31c9ac48cf2220358715739ca0b2.patch";
-    sha256 = "1p2l31j68p7jzykhkhd9iagn2lr08hdclk3cl9l32p1q6ghdipfv";
-  })];
-
   postPatch = ''
     # we dont rely on build.sh :
     export PATH="$PWD/bin:$PATH" # needed to have zcc in testsuite
     export ZCCCFG=$PWD/lib/config/
+    # we don't want to build zsdcc since it required network (svn)
+    # we test in checkPhase
+    substituteInPlace Makefile \
+      --replace 'testsuite bin/z88dk-lib$(EXESUFFIX)' 'bin/z88dk-lib$(EXESUFFIX)'\
+      --replace 'ALL_EXT = bin/zsdcc$(EXESUFFIX)' 'ALL_EXT ='   
+  '';
+
+  checkPhase = ''
+    make testsuite
   '';
+  #failed on Issue_1105_function_pointer_calls
+  doCheck = stdenv.hostPlatform.system != "aarch64-linux";
+
+  #_FORTIFY_SOURCE requires compiling with optimization (-O)
+  NIX_CFLAGS_COMPILE = "-O";
 
+  short_rev = "${builtins.substring 0 7 src.rev}";
   makeFlags = [
-    "prefix=$(out)"
     "git_rev=${short_rev}"
     "version=${version}"
+    "prefix=$(out)"
     "git_count=0"
   ];
-  nativeBuildInputs = [ makeWrapper unzip ];
+
+  nativeBuildInputs = [ which makeWrapper unzip ];
   buildInputs = [ libxml2 m4 uthash ];
 
   preInstall = ''
@@ -41,10 +50,10 @@ stdenv.mkDerivation rec {
   installTargets = "libs install";
 
   meta = with stdenv.lib; {
-    homepage    = https://www.z88dk.org;
+    homepage    = "https://www.z88dk.org";
     description = "z80 Development Kit";
     license     = licenses.clArtistic;
     maintainers = [ maintainers.genesis ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/guile-modules/guile-cairo/default.nix b/pkgs/development/guile-modules/guile-cairo/default.nix
index 4bd49b06796d..592e6ad89994 100644
--- a/pkgs/development/guile-modules/guile-cairo/default.nix
+++ b/pkgs/development/guile-modules/guile-cairo/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ guile cairo expat ];
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = false; # Cannot find unit-test module from guile-lib
   checkInputs = [ guile-lib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/guile-modules/guile-lib/default.nix b/pkgs/development/guile-modules/guile-lib/default.nix
index c3aa84007917..cea464ad5d27 100644
--- a/pkgs/development/guile-modules/guile-lib/default.nix
+++ b/pkgs/development/guile-modules/guile-lib/default.nix
@@ -4,23 +4,18 @@ assert stdenv ? cc && stdenv.cc.isGNU;
 
 let
   name = "guile-lib-${version}";
-  version = "0.2.2";
+  version = "0.2.6.1";
 in stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://savannah/guile-lib/${name}.tar.gz";
-    sha256 = "1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b";
+    sha256 = "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ guile texinfo ];
 
-  # One test doesn't seem to be compatible with guile_2_2.
-  patchPhase = ''
-    sed -i -e '/sxml.ssax.scm/d' unit-tests/Makefile*
-  '';
-
   doCheck = true;
 
   preCheck = ''
diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix
index cc88b32119e7..a88d07d1655f 100644
--- a/pkgs/development/interpreters/acl2/default.nix
+++ b/pkgs/development/interpreters/acl2/default.nix
@@ -4,15 +4,15 @@
 
 let hashes = {
   "8.0" = "1x1giy2c1y6krg3kf8pf9wrmvk981shv0pxcwi483yjqm90xng4r";
-  "8.1" = "0isi75j94q79x4341rhd94c60228iwvccy71ssnyvh1025m93xcd";
+  "8.2" = "1x33kv6w9cbqzvyrihn61pzmqlvnk3drm8ksd5v0arg38i95awi3";
 };
 revs = {
   "8.0" = "8.0";
-  "8.1" = "8.1";
+  "8.2" = "8.2";
 };
 in stdenv.mkDerivation rec {
   name = "acl2-${version}";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchFromGitHub {
     owner = "acl2-devel";
diff --git a/pkgs/development/libraries/boost/1.59.nix b/pkgs/development/libraries/boost/1.59.nix
index 603d7883c647..f4931dfe5474 100644
--- a/pkgs/development/libraries/boost/1.59.nix
+++ b/pkgs/development/libraries/boost/1.59.nix
@@ -7,34 +7,4 @@ callPackage ./generic.nix (args // rec {
     url = "mirror://sourceforge/boost/boost_1_59_0.tar.bz2";
     sha256 = "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj";
   };
-
-  patches = stdenv.lib.optionals stdenv.isCygwin [
-    ./cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch
-    ./cygwin-fedora-boost-1.50.0-pool.patch
-    ./cygwin-fedora-boost-1.57.0-mpl-print.patch
-    ./cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch
-    ./cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch
-    ./cygwin-fedora-boost-1.54.0-python-unused_typedef.patch
-    ./cygwin-fedora-boost-1.57.0-pool-test_linking.patch
-    ./cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch
-    ./cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch
-    ./cygwin-fedora-boost-1.57.0-uuid-comparison.patch
-    ./cygwin-fedora-boost-1.57.0-move-is_class.patch
-    ./cygwin-1.40.0-cstdint-cygwin.patch
-    ./cygwin-1.57.0-asio-cygwin.patch
-    ./cygwin-1.55.0-asio-MSG_EOR.patch
-    ./cygwin-1.57.0-config-cygwin.patch
-    ./cygwin-1.57.0-context-cygwin.patch
-    ./cygwin-1.57.0-filesystem-cygwin.patch
-    ./cygwin-1.55.0-interlocked-cygwin.patch
-    ./cygwin-1.40.0-iostreams-cygwin.patch
-    ./cygwin-1.57.0-locale-cygwin.patch
-    ./cygwin-1.57.0-log-cygwin.patch
-    ./cygwin-1.40.0-python-cygwin.patch
-    ./cygwin-1.40.0-regex-cygwin.patch
-    ./cygwin-1.57.0-smart_ptr-cygwin.patch
-    ./cygwin-1.57.0-system-cygwin.patch
-    ./cygwin-1.45.0-jam-cygwin.patch
-    ./cygwin-1.50.0-jam-pep3149.patch
-  ];
 })
diff --git a/pkgs/development/libraries/boost/cygwin-1.40.0-cstdint-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.40.0-cstdint-cygwin.patch
deleted file mode 100644
index 61791c60d9e0..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.40.0-cstdint-cygwin.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-These were fixed in ~1.7.0-46
-
---- boost_1_40_0/boost/cstdint.hpp	2009-01-14 04:18:19.000000000 -0600
-+++ boost_1_40_0/boost/cstdint.hpp	2009-08-27 23:41:34.063543700 -0500
-@@ -40,15 +40,6 @@
- #   include <inttypes.h>
- # else
- #   include <stdint.h>
--
--// There is a bug in Cygwin two _C macros
--#   if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
--#     undef INTMAX_C
--#     undef UINTMAX_C
--#     define INTMAX_C(c) c##LL
--#     define UINTMAX_C(c) c##ULL
--#   endif
--
- # endif
- 
- #ifdef __QNX__
diff --git a/pkgs/development/libraries/boost/cygwin-1.40.0-iostreams-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.40.0-iostreams-cygwin.patch
deleted file mode 100644
index 6641ba823b17..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.40.0-iostreams-cygwin.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- boost_1_40_0/boost/iostreams/detail/config/wide_streams.hpp	2008-03-22 16:45:55.000000000 -0500
-+++ boost_1_40_0/boost/iostreams/detail/config/wide_streams.hpp	2009-08-27 23:41:34.082544800 -0500
-@@ -44,8 +44,7 @@
- //------------------Locale support--------------------------------------------//
- 
- #ifndef BOOST_IOSTREAMS_NO_LOCALE
--# if defined(BOOST_NO_STD_LOCALE) || \
--     defined(__CYGWIN__) && \
-+# if defined(BOOST_NO_STD_LOCALE) && \
-      ( !defined(__MSL_CPP__) || defined(_MSL_NO_WCHART_CPP_SUPPORT) ) \
-      /**/
- #  define BOOST_IOSTREAMS_NO_LOCALE
---- boost_1_40_0/boost/iostreams/detail/config/windows_posix.hpp	2008-03-22 16:45:55.000000000 -0500
-+++ boost_1_40_0/boost/iostreams/detail/config/windows_posix.hpp	2009-08-27 23:41:34.087545100 -0500
-@@ -13,8 +13,7 @@
- 
- // BOOST_IOSTREAMS_POSIX or BOOST_IOSTREAMS_WINDOWS specify which API to use.
- #if !defined( BOOST_IOSTREAMS_WINDOWS ) && !defined( BOOST_IOSTREAMS_POSIX )
--# if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && \
--     !defined(__CYGWIN__) \
-+# if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32))
-      /**/
- #  define BOOST_IOSTREAMS_WINDOWS
- # else
diff --git a/pkgs/development/libraries/boost/cygwin-1.40.0-python-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.40.0-python-cygwin.patch
deleted file mode 100644
index 7932b0e124b5..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.40.0-python-cygwin.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- boost_1_40_0/boost/python/detail/config.hpp	2007-11-25 12:07:19.000000000 -0600
-+++ boost_1_40_0/boost/python/detail/config.hpp	2009-08-27 23:41:34.092545400 -0500
-@@ -83,7 +83,7 @@
- #     endif
- #     define BOOST_PYTHON_DECL_FORWARD
- #     define BOOST_PYTHON_DECL_EXCEPTION __attribute__ ((__visibility__("default")))
--#  elif (defined(_WIN32) || defined(__CYGWIN__))
-+#  elif defined(_WIN32)
- #     if defined(BOOST_PYTHON_SOURCE)
- #        define BOOST_PYTHON_DECL __declspec(dllexport)
- #        define BOOST_PYTHON_BUILD_DLL
---- boost_1_40_0/boost/python/detail/wrap_python.hpp	2007-04-27 17:16:47.000000000 -0500
-+++ boost_1_40_0/boost/python/detail/wrap_python.hpp	2009-08-27 23:41:34.096545600 -0500
-@@ -82,8 +82,8 @@
- // Some things we need in order to get Python.h to work with compilers other
- // than MSVC on Win32
- //
--#if defined(_WIN32) || defined(__CYGWIN__)
--# if defined(__GNUC__) && defined(__CYGWIN__)
-+#if defined(_WIN32)
-+# if defined(__GNUC__)
- 
- #  define SIZEOF_LONG 4
- 
---- boost_1_40_0/boost/python/module_init.hpp	2007-06-07 13:08:54.000000000 -0500
-+++ boost_1_40_0/boost/python/module_init.hpp	2009-08-27 23:41:34.101545900 -0500
-@@ -15,7 +15,7 @@ BOOST_PYTHON_DECL void init_module(char 
- 
- }}}
- 
--#  if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(BOOST_PYTHON_STATIC_MODULE)
-+#  if defined(_WIN32) && !defined(BOOST_PYTHON_STATIC_MODULE)
- 
- #   define BOOST_PYTHON_MODULE_INIT(name)               \
- void init_module_##name();                              \
diff --git a/pkgs/development/libraries/boost/cygwin-1.40.0-regex-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.40.0-regex-cygwin.patch
deleted file mode 100644
index 969bb814bd10..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.40.0-regex-cygwin.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- boost_1_40_0/boost/regex/v4/fileiter.hpp	2007-11-25 12:07:19.000000000 -0600
-+++ boost_1_40_0/boost/regex/v4/fileiter.hpp	2009-08-27 23:41:34.106546200 -0500
-@@ -28,11 +28,7 @@
- 
- #ifndef BOOST_REGEX_NO_FILEITER
- 
--#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && !defined(BOOST_REGEX_NO_W32)
--#error "Sorry, can't mix <windows.h> with STL code and gcc compiler: if you ran configure, try again with configure --disable-ms-windows"
--#define BOOST_REGEX_FI_WIN32_MAP
--#define BOOST_REGEX_FI_POSIX_DIR
--#elif (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32)
-+#if (defined(__WIN32__) || defined(_WIN32) || defined(WIN32)) && !defined(BOOST_REGEX_NO_W32)
- #define BOOST_REGEX_FI_WIN32_MAP
- #define BOOST_REGEX_FI_WIN32_DIR
- #else
diff --git a/pkgs/development/libraries/boost/cygwin-1.45.0-jam-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.45.0-jam-cygwin.patch
deleted file mode 100644
index 1a00851fa92e..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.45.0-jam-cygwin.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-OS_CYGWIN is used to assume cygpath, Win32-isms
-
---- boost_1_48_0/tools/build/src/engine/jam.h
-+++ boost_1_48_0/tools/build/src/engine/jam.h
-@@ -245,7 +245,6 @@
- #endif
- #if defined(__cygwin__) || defined(__CYGWIN__)
-     #define OSMINOR "OS=CYGWIN"
--    #define OS_CYGWIN
- #endif
- #if defined(__FreeBSD__) && !defined(__DragonFly__)
-     #define OSMINOR "OS=FREEBSD"
diff --git a/pkgs/development/libraries/boost/cygwin-1.50.0-jam-pep3149.patch b/pkgs/development/libraries/boost/cygwin-1.50.0-jam-pep3149.patch
deleted file mode 100644
index 4bc6ec9d36e1..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.50.0-jam-pep3149.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tools/build/src/tools/python.jam	2012-04-25 22:35:55.000000000 -0500
-+++ b/tools/build/src/tools/python.jam	2013-01-21 07:22:30.814373200 -0600
-@@ -376,7 +376,7 @@ local rule path-to-native ( paths * )
- #
- local rule split-version ( version )
- {
--    local major-minor = [ MATCH ^([0-9]+)\.([0-9]+)(.*)$ : $(version) : 1 2 3 ] ;
-+    local major-minor = [ MATCH ^([0-9]+)\.([0-9]+[dmu]*)(.*)$ : $(version) : 1 2 3 ] ;
-     if ! $(major-minor[2]) || $(major-minor[3])
-     {
-         ECHO "Warning: \"using python\" expects a two part (major, minor) version number; got" $(version) instead ;
diff --git a/pkgs/development/libraries/boost/cygwin-1.55.0-asio-MSG_EOR.patch b/pkgs/development/libraries/boost/cygwin-1.55.0-asio-MSG_EOR.patch
deleted file mode 100644
index 46308a59cb07..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.55.0-asio-MSG_EOR.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- boost_1_55_0/boost/asio/detail/socket_types.hpp	2014-08-31 12:43:54.186255800 -0500
-+++ boost_1_55_0/boost/asio/detail/socket_types.hpp	2014-08-31 12:43:03.887868700 -0500
-@@ -332,7 +332,11 @@ typedef int signed_size_type;
- # define BOOST_ASIO_OS_DEF_MSG_OOB MSG_OOB
- # define BOOST_ASIO_OS_DEF_MSG_PEEK MSG_PEEK
- # define BOOST_ASIO_OS_DEF_MSG_DONTROUTE MSG_DONTROUTE
-+#ifdef MSG_EOR
- # define BOOST_ASIO_OS_DEF_MSG_EOR MSG_EOR
-+#else
-+# define BOOST_ASIO_OS_DEF_MSG_EOR 0
-+#endif
- # define BOOST_ASIO_OS_DEF_SHUT_RD SHUT_RD
- # define BOOST_ASIO_OS_DEF_SHUT_WR SHUT_WR
- # define BOOST_ASIO_OS_DEF_SHUT_RDWR SHUT_RDWR
diff --git a/pkgs/development/libraries/boost/cygwin-1.55.0-interlocked-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.55.0-interlocked-cygwin.patch
deleted file mode 100644
index df3edf51e7b9..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.55.0-interlocked-cygwin.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- boost_1_55_0/boost/detail/interlocked.hpp	2013-10-24 09:01:53.000000000 -0500
-+++ boost_1_55_0/boost/detail/interlocked.hpp	2014-08-31 13:01:33.830313500 -0500
-@@ -160,7 +160,7 @@ extern "C" void* __cdecl _InterlockedExc
-     ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange)))
- # endif
- 
--#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
- 
- #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport)
- 
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-asio-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-asio-cygwin.patch
deleted file mode 100644
index 3702d475c8e9..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-asio-cygwin.patch
+++ /dev/null
@@ -1,1835 +0,0 @@
---- boost_1_57_0/boost/asio/detail/buffer_sequence_adapter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/buffer_sequence_adapter.hpp	2015-05-04 17:33:18.798985800 -0500
-@@ -42,7 +42,7 @@ protected:
-   BOOST_ASIO_DECL static void init_native_buffer(
-       native_buffer_type& buf,
-       const boost::asio::const_buffer& buffer);
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
-   // The maximum number of buffers to support in a single operation.
-   enum { max_buffers = 64 < max_iov_len ? 64 : max_iov_len };
- 
-@@ -61,7 +61,7 @@ protected:
-     buf.buf = const_cast<char*>(boost::asio::buffer_cast<const char*>(buffer));
-     buf.len = static_cast<ULONG>(boost::asio::buffer_size(buffer));
-   }
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   // The maximum number of buffers to support in a single operation.
-   enum { max_buffers = 64 < max_iov_len ? 64 : max_iov_len };
- 
-@@ -92,7 +92,7 @@ protected:
-           boost::asio::buffer_cast<const void*>(buffer)));
-     iov.iov_len = boost::asio::buffer_size(buffer);
-   }
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- };
- 
- // Helper class to translate buffers into the native buffer representation.
---- boost_1_57_0/boost/asio/detail/config.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/config.hpp	2015-05-04 17:34:30.756623300 -0500
-@@ -474,7 +474,7 @@
- #endif // !defined(BOOST_ASIO_WINDOWS)
- 
- // Windows: target OS version.
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # if !defined(_WIN32_WINNT) && !defined(_WIN32_WINDOWS)
- #  if defined(_MSC_VER) || defined(__BORLANDC__)
- #   pragma message( \
-@@ -512,29 +512,29 @@
- #   error You must add -D__USE_W32_SOCKETS to your compiler options.
- #  endif // !defined(__USE_W32_SOCKETS)
- # endif // defined(__CYGWIN__)
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- // Windows: minimise header inclusion.
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # if !defined(BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN)
- #  if !defined(WIN32_LEAN_AND_MEAN)
- #   define WIN32_LEAN_AND_MEAN
- #  endif // !defined(WIN32_LEAN_AND_MEAN)
- # endif // !defined(BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN)
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- // Windows: suppress definition of "min" and "max" macros.
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # if !defined(BOOST_ASIO_NO_NOMINMAX)
- #  if !defined(NOMINMAX)
- #   define NOMINMAX 1
- #  endif // !defined(NOMINMAX)
- # endif // !defined(BOOST_ASIO_NO_NOMINMAX)
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- // Windows: IO Completion Ports.
- #if !defined(BOOST_ASIO_HAS_IOCP)
--# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# if defined(BOOST_ASIO_WINDOWS)
- #  if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0400)
- #   if !defined(UNDER_CE)
- #    if !defined(BOOST_ASIO_DISABLE_IOCP)
-@@ -542,7 +542,7 @@
- #    endif // !defined(BOOST_ASIO_DISABLE_IOCP)
- #   endif // !defined(UNDER_CE)
- #  endif // defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0400)
--# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# endif // defined(BOOST_ASIO_WINDOWS)
- #endif // !defined(BOOST_ASIO_HAS_IOCP)
- 
- // Linux: epoll, eventfd and timerfd.
-@@ -599,8 +599,7 @@
- #if !defined(BOOST_ASIO_HAS_SERIAL_PORT)
- # if defined(BOOST_ASIO_HAS_IOCP) \
-   || !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- #  if !defined(__SYMBIAN32__)
- #   if !defined(BOOST_ASIO_DISABLE_SERIAL_PORT)
- #    define BOOST_ASIO_HAS_SERIAL_PORT 1
-@@ -609,7 +608,6 @@
- # endif // defined(BOOST_ASIO_HAS_IOCP)
-         //   || !defined(BOOST_ASIO_WINDOWS)
-         //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--        //   && !defined(__CYGWIN__)
- #endif // !defined(BOOST_ASIO_HAS_SERIAL_PORT)
- 
- // Windows: stream handles.
-@@ -633,11 +631,11 @@
- // Windows: object handles.
- #if !defined(BOOST_ASIO_HAS_WINDOWS_OBJECT_HANDLE)
- # if !defined(BOOST_ASIO_DISABLE_WINDOWS_OBJECT_HANDLE)
--#  if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#  if defined(BOOST_ASIO_WINDOWS)
- #   if !defined(UNDER_CE)
- #    define BOOST_ASIO_HAS_WINDOWS_OBJECT_HANDLE 1
- #   endif // !defined(UNDER_CE)
--#  endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#  endif // defined(BOOST_ASIO_WINDOWS)
- # endif // !defined(BOOST_ASIO_DISABLE_WINDOWS_OBJECT_HANDLE)
- #endif // !defined(BOOST_ASIO_HAS_WINDOWS_OBJECT_HANDLE)
- 
-@@ -654,12 +652,10 @@
- #if !defined(BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
- # if !defined(BOOST_ASIO_DISABLE_POSIX_STREAM_DESCRIPTOR)
- #  if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- #   define BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR 1
- #  endif // !defined(BOOST_ASIO_WINDOWS)
-          //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--         //   && !defined(__CYGWIN__)
- # endif // !defined(BOOST_ASIO_DISABLE_POSIX_STREAM_DESCRIPTOR)
- #endif // !defined(BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR)
- 
-@@ -667,12 +663,10 @@
- #if !defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
- # if !defined(BOOST_ASIO_DISABLE_LOCAL_SOCKETS)
- #  if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- #   define BOOST_ASIO_HAS_LOCAL_SOCKETS 1
- #  endif // !defined(BOOST_ASIO_WINDOWS)
-          //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--         //   && !defined(__CYGWIN__)
- # endif // !defined(BOOST_ASIO_DISABLE_LOCAL_SOCKETS)
- #endif // !defined(BOOST_ASIO_HAS_LOCAL_SOCKETS)
- 
-@@ -680,12 +674,10 @@
- #if !defined(BOOST_ASIO_HAS_SIGACTION)
- # if !defined(BOOST_ASIO_DISABLE_SIGACTION)
- #  if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- #   define BOOST_ASIO_HAS_SIGACTION 1
- #  endif // !defined(BOOST_ASIO_WINDOWS)
-          //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--         //   && !defined(__CYGWIN__)
- # endif // !defined(BOOST_ASIO_DISABLE_SIGACTION)
- #endif // !defined(BOOST_ASIO_HAS_SIGACTION)
- 
-@@ -700,7 +692,7 @@
- 
- // Can use getaddrinfo() and getnameinfo().
- #if !defined(BOOST_ASIO_HAS_GETADDRINFO)
--# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# if defined(BOOST_ASIO_WINDOWS)
- #  if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
- #   define BOOST_ASIO_HAS_GETADDRINFO 1
- #  elif defined(UNDER_CE)
---- boost_1_57_0/boost/asio/detail/descriptor_ops.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/descriptor_ops.hpp	2015-05-04 17:33:18.826989400 -0500
-@@ -18,8 +18,7 @@
- #include <boost/asio/detail/config.hpp>
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #include <cstddef>
- #include <boost/system/error_code.hpp>
-@@ -114,6 +113,5 @@ BOOST_ASIO_DECL int poll_write(int d,
- 
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
- #endif // BOOST_ASIO_DETAIL_DESCRIPTOR_OPS_HPP
---- boost_1_57_0/boost/asio/detail/descriptor_read_op.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/descriptor_read_op.hpp	2015-05-04 17:33:18.830489800 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/addressof.hpp>
- #include <boost/asio/detail/bind_handler.hpp>
-@@ -116,6 +116,6 @@ private:
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_DESCRIPTOR_READ_OP_HPP
---- boost_1_57_0/boost/asio/detail/descriptor_write_op.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/descriptor_write_op.hpp	2015-05-04 17:33:18.833490200 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/addressof.hpp>
- #include <boost/asio/detail/bind_handler.hpp>
-@@ -116,6 +116,6 @@ private:
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_DESCRIPTOR_WRITE_OP_HPP
---- boost_1_57_0/boost/asio/detail/fd_set_adapter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/fd_set_adapter.hpp	2015-05-04 17:33:18.836490600 -0500
-@@ -26,7 +26,7 @@ namespace boost {
- namespace asio {
- namespace detail {
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- typedef win_fd_set_adapter fd_set_adapter;
- #else
- typedef posix_fd_set_adapter fd_set_adapter;
---- boost_1_57_0/boost/asio/detail/hash_map.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/hash_map.hpp	2015-05-04 17:33:18.839991000 -0500
-@@ -21,9 +21,9 @@
- #include <boost/asio/detail/assert.hpp>
- #include <boost/asio/detail/noncopyable.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # include <boost/asio/detail/socket_types.hpp>
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/push_options.hpp>
- 
-@@ -42,12 +42,12 @@ inline std::size_t calculate_hash_value(
-     + (reinterpret_cast<std::size_t>(p) >> 3);
- }
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- inline std::size_t calculate_hash_value(SOCKET s)
- {
-   return static_cast<std::size_t>(s);
- }
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- // Note: assumes K and V are POD types.
- template <typename K, typename V>
---- boost_1_57_0/boost/asio/detail/impl/descriptor_ops.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/descriptor_ops.ipp	2015-05-04 17:33:18.843491500 -0500
-@@ -21,8 +21,7 @@
- #include <boost/asio/error.hpp>
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #include <boost/asio/detail/push_options.hpp>
- 
-@@ -448,6 +447,5 @@ int poll_write(int d, state_type state,
- 
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
- #endif // BOOST_ASIO_DETAIL_IMPL_DESCRIPTOR_OPS_IPP
---- boost_1_57_0/boost/asio/detail/impl/pipe_select_interrupter.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/pipe_select_interrupter.ipp	2015-05-04 17:33:18.846991900 -0500
-@@ -19,7 +19,6 @@
- 
- #if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- #if !defined(BOOST_ASIO_WINDOWS)
--#if !defined(__CYGWIN__)
- #if !defined(__SYMBIAN32__)
- #if !defined(BOOST_ASIO_HAS_EVENTFD)
- 
-@@ -119,7 +118,6 @@ bool pipe_select_interrupter::reset()
- 
- #endif // !defined(BOOST_ASIO_HAS_EVENTFD)
- #endif // !defined(__SYMBIAN32__)
--#endif // !defined(__CYGWIN__)
- #endif // !defined(BOOST_ASIO_WINDOWS)
- #endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
---- boost_1_57_0/boost/asio/detail/impl/reactive_descriptor_service.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/reactive_descriptor_service.ipp	2015-05-04 17:33:18.849992300 -0500
-@@ -18,8 +18,7 @@
- #include <boost/asio/detail/config.hpp>
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #include <boost/asio/error.hpp>
- #include <boost/asio/detail/reactive_descriptor_service.hpp>
-@@ -205,6 +204,5 @@ void reactive_descriptor_service::start_
- 
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
- #endif // BOOST_ASIO_DETAIL_IMPL_REACTIVE_DESCRIPTOR_SERVICE_IPP
---- boost_1_57_0/boost/asio/detail/impl/reactive_serial_port_service.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/reactive_serial_port_service.ipp	2015-05-04 17:33:18.853492700 -0500
-@@ -19,7 +19,7 @@
- #include <boost/asio/detail/config.hpp>
- 
- #if defined(BOOST_ASIO_HAS_SERIAL_PORT)
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- #include <cstring>
- #include <boost/asio/detail/reactive_serial_port_service.hpp>
-@@ -147,7 +147,7 @@ boost::system::error_code reactive_seria
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- #endif // defined(BOOST_ASIO_HAS_SERIAL_PORT)
- 
- #endif // BOOST_ASIO_DETAIL_IMPL_REACTIVE_SERIAL_PORT_SERVICE_IPP
---- boost_1_57_0/boost/asio/detail/impl/select_reactor.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/select_reactor.ipp	2015-05-04 17:29:21.281324900 -0500
-@@ -187,7 +187,7 @@ void select_reactor::run(bool block, op_
-       max_fd = fd_sets_[i].max_descriptor();
-   }
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   // Connection operations on Windows use both except and write fd_sets.
-   have_work_to_do = have_work_to_do || !op_queue_[connect_op].empty();
-   fd_sets_[write_op].set(op_queue_[connect_op], ops);
-@@ -196,7 +196,7 @@ void select_reactor::run(bool block, op_
-   fd_sets_[except_op].set(op_queue_[connect_op], ops);
-   if (fd_sets_[except_op].max_descriptor() > max_fd)
-     max_fd = fd_sets_[except_op].max_descriptor();
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
-   // We can return immediately if there's no work to do and the reactor is
-   // not supposed to block.
-@@ -226,11 +226,11 @@ void select_reactor::run(bool block, op_
-   // Dispatch all ready operations.
-   if (retval > 0)
-   {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-     // Connection operations on Windows use both except and write fd_sets.
-     fd_sets_[except_op].perform(op_queue_[connect_op], ops);
-     fd_sets_[write_op].perform(op_queue_[connect_op], ops);
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
-     // Exception operations must be processed first to ensure that any
-     // out-of-band data is read before normal data.
---- boost_1_57_0/boost/asio/detail/impl/signal_set_service.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/signal_set_service.ipp	2015-05-04 17:33:18.857993300 -0500
-@@ -60,12 +60,10 @@ signal_state* get_signal_state()
- void boost_asio_signal_handler(int signal_number)
- {
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  || defined(__CYGWIN__)
-+  || defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   signal_set_service::deliver_signal(signal_number);
- #else // defined(BOOST_ASIO_WINDOWS)
-       //   || defined(BOOST_ASIO_WINDOWS_RUNTIME)
--      //   || defined(__CYGWIN__)
-   int saved_errno = errno;
-   signal_state* state = get_signal_state();
-   signed_size_type result = ::write(state->write_descriptor_,
-@@ -74,7 +72,6 @@ void boost_asio_signal_handler(int signa
-   errno = saved_errno;
- #endif // defined(BOOST_ASIO_WINDOWS)
-        //   || defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   || defined(__CYGWIN__)
- 
- #if defined(BOOST_ASIO_HAS_SIGNAL) && !defined(BOOST_ASIO_HAS_SIGACTION)
-   ::signal(signal_number, boost_asio_signal_handler);
-@@ -82,8 +79,7 @@ void boost_asio_signal_handler(int signa
- }
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- class signal_set_service::pipe_read_op : public reactor_op
- {
- public:
-@@ -115,30 +111,25 @@ public:
- };
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
- signal_set_service::signal_set_service(
-     boost::asio::io_service& io_service)
-   : io_service_(boost::asio::use_service<io_service_impl>(io_service)),
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-     reactor_(boost::asio::use_service<reactor>(io_service)),
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
-     next_(0),
-     prev_(0)
- {
-   get_signal_state()->mutex_.init();
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   reactor_.init_task();
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
-   for (int i = 0; i < max_signal_number; ++i)
-     registrations_[i] = 0;
-@@ -174,8 +165,7 @@ void signal_set_service::fork_service(
-     boost::asio::io_service::fork_event fork_ev)
- {
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   signal_state* state = get_signal_state();
-   static_mutex::scoped_lock lock(state->mutex_);
- 
-@@ -217,11 +207,9 @@ void signal_set_service::fork_service(
-   }
- #else // !defined(BOOST_ASIO_WINDOWS)
-       //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--      //   && !defined(__CYGWIN__)
-   (void)fork_ev;
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- }
- 
- void signal_set_service::construct(
-@@ -281,12 +269,12 @@ boost::system::error_code signal_set_ser
-       if (::signal(signal_number, boost_asio_signal_handler) == SIG_ERR)
- # endif // defined(BOOST_ASIO_HAS_SIGACTION)
-       {
--# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# if defined(BOOST_ASIO_WINDOWS)
-         ec = boost::asio::error::invalid_argument;
--# else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# else // defined(BOOST_ASIO_WINDOWS)
-         ec = boost::system::error_code(errno,
-             boost::asio::error::get_system_category());
--# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# endif // defined(BOOST_ASIO_WINDOWS)
-         delete new_registration;
-         return ec;
-       }
-@@ -351,12 +339,12 @@ boost::system::error_code signal_set_ser
-       if (::signal(signal_number, SIG_DFL) == SIG_ERR)
- # endif // defined(BOOST_ASIO_HAS_SIGACTION)
-       {
--# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# if defined(BOOST_ASIO_WINDOWS)
-         ec = boost::asio::error::invalid_argument;
--# else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# else // defined(BOOST_ASIO_WINDOWS)
-         ec = boost::system::error_code(errno,
-             boost::asio::error::get_system_category());
--# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# endif // defined(BOOST_ASIO_WINDOWS)
-         return ec;
-       }
-     }
-@@ -405,12 +393,12 @@ boost::system::error_code signal_set_ser
-       if (::signal(reg->signal_number_, SIG_DFL) == SIG_ERR)
- # endif // defined(BOOST_ASIO_HAS_SIGACTION)
-       {
--# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# if defined(BOOST_ASIO_WINDOWS)
-         ec = boost::asio::error::invalid_argument;
--# else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# else // defined(BOOST_ASIO_WINDOWS)
-         ec = boost::system::error_code(errno,
-             boost::asio::error::get_system_category());
--# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# endif // defined(BOOST_ASIO_WINDOWS)
-         return ec;
-       }
-     }
-@@ -500,11 +488,11 @@ void signal_set_service::add_service(sig
-   signal_state* state = get_signal_state();
-   static_mutex::scoped_lock lock(state->mutex_);
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
-   // If this is the first service to be created, open a new pipe.
-   if (state->service_list_ == 0)
-     open_descriptors();
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
-   // Insert service into linked list of all services.
-   service->next_ = state->service_list_;
-@@ -514,8 +502,7 @@ void signal_set_service::add_service(sig
-   state->service_list_ = service;
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   // Register for pipe readiness notifications.
-   int read_descriptor = state->read_descriptor_;
-   lock.unlock();
-@@ -523,7 +510,6 @@ void signal_set_service::add_service(sig
-       read_descriptor, service->reactor_data_, new pipe_read_op);
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- }
- 
- void signal_set_service::remove_service(signal_set_service* service)
-@@ -534,8 +520,7 @@ void signal_set_service::remove_service(
-   if (service->next_ || service->prev_ || state->service_list_ == service)
-   {
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-     // Disable the pipe readiness notifications.
-     int read_descriptor = state->read_descriptor_;
-     lock.unlock();
-@@ -544,7 +529,6 @@ void signal_set_service::remove_service(
-     lock.lock();
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
-     // Remove service from linked list of all services.
-     if (state->service_list_ == service)
-@@ -556,19 +540,18 @@ void signal_set_service::remove_service(
-     service->next_ = 0;
-     service->prev_ = 0;
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
-     // If this is the last service to be removed, close the pipe.
-     if (state->service_list_ == 0)
-       close_descriptors();
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
-   }
- }
- 
- void signal_set_service::open_descriptors()
- {
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   signal_state* state = get_signal_state();
- 
-   int pipe_fds[2];
-@@ -593,14 +576,12 @@ void signal_set_service::open_descriptor
-   }
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- }
- 
- void signal_set_service::close_descriptors()
- {
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   signal_state* state = get_signal_state();
- 
-   if (state->read_descriptor_ != -1)
-@@ -612,7 +593,6 @@ void signal_set_service::close_descripto
-   state->write_descriptor_ = -1;
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- }
- 
- void signal_set_service::start_wait_op(
---- boost_1_57_0/boost/asio/detail/impl/socket_ops.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/socket_ops.ipp	2015-05-04 17:32:20.048025400 -0500
-@@ -33,12 +33,12 @@
- # include <string>
- #endif // defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) \
-+#if defined(BOOST_ASIO_WINDOWS) \
-   || defined(__MACH__) && defined(__APPLE__)
- # if defined(BOOST_ASIO_HAS_PTHREADS)
- #  include <pthread.h>
- # endif // defined(BOOST_ASIO_HAS_PTHREADS)
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
-        // || defined(__MACH__) && defined(__APPLE__)
- 
- #include <boost/asio/detail/push_options.hpp>
-@@ -50,9 +50,9 @@ namespace socket_ops {
- 
- #if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- struct msghdr { int msg_namelen; };
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #if defined(__hpux)
- // HP-UX doesn't declare these functions extern "C", so they are declared again
-@@ -65,7 +65,7 @@ extern "C" unsigned int if_nametoindex(c
- 
- inline void clear_last_error()
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   WSASetLastError(0);
- #else
-   errno = 0;
-@@ -78,7 +78,7 @@ template <typename ReturnType>
- inline ReturnType error_wrapper(ReturnType return_value,
-     boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   ec = boost::system::error_code(WSAGetLastError(),
-       boost::asio::error::get_system_category());
- #else
-@@ -313,11 +313,11 @@ int close(socket_type s, state_type& sta
-     }
- 
-     clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-     result = error_wrapper(::closesocket(s), ec);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-     result = error_wrapper(::close(s), ec);
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
-     if (result != 0
-         && (ec == boost::asio::error::would_block
-@@ -329,10 +329,10 @@ int close(socket_type s, state_type& sta
-       // current OS where this behaviour is seen, Windows, says that the socket
-       // remains open. Therefore we'll put the descriptor back into blocking
-       // mode and have another attempt at closing it.
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-       ioctl_arg_type arg = 0;
-       ::ioctlsocket(s, FIONBIO, &arg);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
- # if defined(__SYMBIAN32__)
-       int flags = ::fcntl(s, F_GETFL, 0);
-       if (flags >= 0)
-@@ -341,15 +341,15 @@ int close(socket_type s, state_type& sta
-       ioctl_arg_type arg = 0;
-       ::ioctl(s, FIONBIO, &arg);
- # endif // defined(__SYMBIAN32__)
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
-       state &= ~non_blocking;
- 
-       clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-       result = error_wrapper(::closesocket(s), ec);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-       result = error_wrapper(::close(s), ec);
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
-     }
-   }
- 
-@@ -368,7 +368,7 @@ bool set_user_non_blocking(socket_type s
-   }
- 
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   ioctl_arg_type arg = (value ? 1 : 0);
-   int result = error_wrapper(::ioctlsocket(s, FIONBIO, &arg), ec);
- #elif defined(__SYMBIAN32__)
-@@ -421,7 +421,7 @@ bool set_internal_non_blocking(socket_ty
-   }
- 
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   ioctl_arg_type arg = (value ? 1 : 0);
-   int result = error_wrapper(::ioctlsocket(s, FIONBIO, &arg), ec);
- #elif defined(__SYMBIAN32__)
-@@ -543,7 +543,6 @@ bool non_blocking_connect(socket_type s,
-   // Check if the connect operation has finished. This is required since we may
-   // get spurious readiness notifications from the reactor.
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
-   fd_set write_fds;
-   FD_ZERO(&write_fds);
-@@ -556,7 +555,6 @@ bool non_blocking_connect(socket_type s,
-   zero_timeout.tv_usec = 0;
-   int ready = ::select(s + 1, 0, &write_fds, &except_fds, &zero_timeout);
- #else // defined(BOOST_ASIO_WINDOWS)
--      // || defined(__CYGWIN__)
-       // || defined(__SYMBIAN32__)
-   pollfd fds;
-   fds.fd = s;
-@@ -564,7 +562,6 @@ bool non_blocking_connect(socket_type s,
-   fds.revents = 0;
-   int ready = ::poll(&fds, 1, 0);
- #endif // defined(BOOST_ASIO_WINDOWS)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
-   if (ready == 0)
-   {
-@@ -593,7 +590,7 @@ bool non_blocking_connect(socket_type s,
- int socketpair(int af, int type, int protocol,
-     socket_type sv[2], boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   (void)(af);
-   (void)(type);
-   (void)(protocol);
-@@ -619,11 +616,11 @@ bool sockatmark(socket_type s, boost::sy
- 
- #if defined(SIOCATMARK)
-   ioctl_arg_type value = 0;
--# if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# if defined(BOOST_ASIO_WINDOWS)
-   int result = error_wrapper(::ioctlsocket(s, SIOCATMARK, &value), ec);
--# else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# else // defined(BOOST_ASIO_WINDOWS)
-   int result = error_wrapper(::ioctl(s, SIOCATMARK, &value), ec);
--# endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+# endif // defined(BOOST_ASIO_WINDOWS)
-   if (result == 0)
-     ec = boost::system::error_code();
- # if defined(ENOTTY)
-@@ -648,11 +645,11 @@ size_t available(socket_type s, boost::s
-   }
- 
-   ioctl_arg_type value = 0;
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   int result = error_wrapper(::ioctlsocket(s, FIONREAD, &value), ec);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   int result = error_wrapper(::ioctl(s, FIONREAD, &value), ec);
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
-   if (result == 0)
-     ec = boost::system::error_code();
- #if defined(ENOTTY)
-@@ -689,32 +686,32 @@ inline void init_buf_iov_base(T& base, v
-   base = static_cast<T>(addr);
- }
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- typedef WSABUF buf;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
- typedef iovec buf;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- void init_buf(buf& b, void* data, size_t size)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   b.buf = static_cast<char*>(data);
-   b.len = static_cast<u_long>(size);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   init_buf_iov_base(b.iov_base, data);
-   b.iov_len = size;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- void init_buf(buf& b, const void* data, size_t size)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   b.buf = static_cast<char*>(const_cast<void*>(data));
-   b.len = static_cast<u_long>(size);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   init_buf_iov_base(b.iov_base, const_cast<void*>(data));
-   b.iov_len = size;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- inline void init_msghdr_msg_name(void*& name, socket_addr_type* addr)
-@@ -743,7 +740,7 @@ signed_size_type recv(socket_type s, buf
-     int flags, boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   // Receive some data.
-   DWORD recv_buf_count = static_cast<DWORD>(count);
-   DWORD bytes_transferred = 0;
-@@ -758,7 +755,7 @@ signed_size_type recv(socket_type s, buf
-     return socket_error_retval;
-   ec = boost::system::error_code();
-   return bytes_transferred;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   msghdr msg = msghdr();
-   msg.msg_iov = bufs;
-   msg.msg_iovlen = static_cast<int>(count);
-@@ -766,7 +763,7 @@ signed_size_type recv(socket_type s, buf
-   if (result >= 0)
-     ec = boost::system::error_code();
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- size_t sync_recv(socket_type s, state_type state, buf* bufs,
-@@ -889,7 +886,7 @@ signed_size_type recvfrom(socket_type s,
-     boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   // Receive some data.
-   DWORD recv_buf_count = static_cast<DWORD>(count);
-   DWORD bytes_transferred = 0;
-@@ -906,7 +903,7 @@ signed_size_type recvfrom(socket_type s,
-     return socket_error_retval;
-   ec = boost::system::error_code();
-   return bytes_transferred;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   msghdr msg = msghdr();
-   init_msghdr_msg_name(msg.msg_name, addr);
-   msg.msg_namelen = static_cast<int>(*addrlen);
-@@ -917,7 +914,7 @@ signed_size_type recvfrom(socket_type s,
-   if (result >= 0)
-     ec = boost::system::error_code();
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- size_t sync_recvfrom(socket_type s, state_type state, buf* bufs,
-@@ -1014,10 +1011,10 @@ signed_size_type recvmsg(socket_type s,
-     int in_flags, int& out_flags, boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   out_flags = 0;
-   return socket_ops::recv(s, bufs, count, in_flags, ec);
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   msghdr msg = msghdr();
-   msg.msg_iov = bufs;
-   msg.msg_iovlen = static_cast<int>(count);
-@@ -1030,7 +1027,7 @@ signed_size_type recvmsg(socket_type s,
-   else
-     out_flags = 0;
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- size_t sync_recvmsg(socket_type s, state_type state,
-@@ -1126,7 +1123,7 @@ signed_size_type send(socket_type s, con
-     int flags, boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   // Send the data.
-   DWORD send_buf_count = static_cast<DWORD>(count);
-   DWORD bytes_transferred = 0;
-@@ -1141,7 +1138,7 @@ signed_size_type send(socket_type s, con
-     return socket_error_retval;
-   ec = boost::system::error_code();
-   return bytes_transferred;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   msghdr msg = msghdr();
-   msg.msg_iov = const_cast<buf*>(bufs);
-   msg.msg_iovlen = static_cast<int>(count);
-@@ -1152,7 +1149,7 @@ signed_size_type send(socket_type s, con
-   if (result >= 0)
-     ec = boost::system::error_code();
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- size_t sync_send(socket_type s, state_type state, const buf* bufs,
-@@ -1253,7 +1250,7 @@ signed_size_type sendto(socket_type s, c
-     boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   // Send the data.
-   DWORD send_buf_count = static_cast<DWORD>(count);
-   DWORD bytes_transferred = 0;
-@@ -1268,7 +1265,7 @@ signed_size_type sendto(socket_type s, c
-     return socket_error_retval;
-   ec = boost::system::error_code();
-   return bytes_transferred;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   msghdr msg = msghdr();
-   init_msghdr_msg_name(msg.msg_name, addr);
-   msg.msg_namelen = static_cast<int>(addrlen);
-@@ -1281,7 +1278,7 @@ signed_size_type sendto(socket_type s, c
-   if (result >= 0)
-     ec = boost::system::error_code();
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- size_t sync_sendto(socket_type s, state_type state, const buf* bufs,
-@@ -1358,7 +1355,7 @@ socket_type socket(int af, int type, int
-     boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   socket_type s = error_wrapper(::WSASocketW(af, type, protocol, 0, 0,
-         WSA_FLAG_OVERLAPPED), ec);
-   if (s == invalid_socket)
-@@ -1556,7 +1553,7 @@ int getsockopt(socket_type s, state_type
-   }
-   ec = boost::asio::error::fault;
-   return socket_error_retval;
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
-   clear_last_error();
-   int result = error_wrapper(call_getsockopt(&msghdr::msg_namelen,
-         s, level, optname, optval, optlen), ec);
-@@ -1574,7 +1571,7 @@ int getsockopt(socket_type s, state_type
-   if (result == 0)
-     ec = boost::system::error_code();
-   return result;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   clear_last_error();
-   int result = error_wrapper(call_getsockopt(&msghdr::msg_namelen,
-         s, level, optname, optval, optlen), ec);
-@@ -1593,7 +1590,7 @@ int getsockopt(socket_type s, state_type
-   if (result == 0)
-     ec = boost::system::error_code();
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- template <typename SockLenType>
-@@ -1615,7 +1612,7 @@ int getpeername(socket_type s, socket_ad
-     return socket_error_retval;
-   }
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   if (cached)
-   {
-     // Check if socket is still connected.
-@@ -1636,9 +1633,9 @@ int getpeername(socket_type s, socket_ad
-     ec = boost::system::error_code();
-     return 0;
-   }
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   (void)cached;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
-   clear_last_error();
-   int result = error_wrapper(call_getpeername(
-@@ -1685,7 +1682,7 @@ int ioctl(socket_type s, state_type& sta
-   }
- 
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   int result = error_wrapper(::ioctlsocket(s, cmd, arg), ec);
- #elif defined(__MACH__) && defined(__APPLE__) \
-   || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
-@@ -1726,7 +1723,7 @@ int select(int nfds, fd_set* readfds, fd
-     fd_set* exceptfds, timeval* timeout, boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   if (!readfds && !writefds && !exceptfds && timeout)
-   {
-     DWORD milliseconds = timeout->tv_sec * 1000 + timeout->tv_usec / 1000;
-@@ -1746,7 +1743,7 @@ int select(int nfds, fd_set* readfds, fd
-   if (timeout && timeout->tv_sec == 0
-       && timeout->tv_usec > 0 && timeout->tv_usec < 1000)
-     timeout->tv_usec = 1000;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #if defined(__hpux) && defined(__SELECT)
-   timespec ts;
-@@ -1772,7 +1769,6 @@ int poll_read(socket_type s, state_type
-   }
- 
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
-   fd_set fds;
-   FD_ZERO(&fds);
-@@ -1784,7 +1780,6 @@ int poll_read(socket_type s, state_type
-   clear_last_error();
-   int result = error_wrapper(::select(s + 1, &fds, 0, 0, timeout), ec);
- #else // defined(BOOST_ASIO_WINDOWS)
--      // || defined(__CYGWIN__)
-       // || defined(__SYMBIAN32__)
-   pollfd fds;
-   fds.fd = s;
-@@ -1794,7 +1789,6 @@ int poll_read(socket_type s, state_type
-   clear_last_error();
-   int result = error_wrapper(::poll(&fds, 1, timeout), ec);
- #endif // defined(BOOST_ASIO_WINDOWS)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
-   if (result == 0)
-     ec = (state & user_set_non_blocking)
-@@ -1813,7 +1807,6 @@ int poll_write(socket_type s, state_type
-   }
- 
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
-   fd_set fds;
-   FD_ZERO(&fds);
-@@ -1825,7 +1818,6 @@ int poll_write(socket_type s, state_type
-   clear_last_error();
-   int result = error_wrapper(::select(s + 1, 0, &fds, 0, timeout), ec);
- #else // defined(BOOST_ASIO_WINDOWS)
--      // || defined(__CYGWIN__)
-       // || defined(__SYMBIAN32__)
-   pollfd fds;
-   fds.fd = s;
-@@ -1835,7 +1827,6 @@ int poll_write(socket_type s, state_type
-   clear_last_error();
-   int result = error_wrapper(::poll(&fds, 1, timeout), ec);
- #endif // defined(BOOST_ASIO_WINDOWS)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
-   if (result == 0)
-     ec = (state & user_set_non_blocking)
-@@ -1854,7 +1845,6 @@ int poll_connect(socket_type s, boost::s
-   }
- 
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
-   fd_set write_fds;
-   FD_ZERO(&write_fds);
-@@ -1869,7 +1859,6 @@ int poll_connect(socket_type s, boost::s
-     ec = boost::system::error_code();
-   return result;
- #else // defined(BOOST_ASIO_WINDOWS)
--      // || defined(__CYGWIN__)
-       // || defined(__SYMBIAN32__)
-   pollfd fds;
-   fds.fd = s;
-@@ -1881,7 +1870,6 @@ int poll_connect(socket_type s, boost::s
-     ec = boost::system::error_code();
-   return result;
- #endif // defined(BOOST_ASIO_WINDOWS)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
- }
- 
-@@ -1926,7 +1914,7 @@ const char* inet_ntop(int af, const void
-     ec = boost::asio::error::address_family_not_supported;
-     return 0;
-   }
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
-   using namespace std; // For memcpy.
- 
-   if (af != BOOST_ASIO_OS_DEF(AF_INET) && af != BOOST_ASIO_OS_DEF(AF_INET6))
-@@ -1981,7 +1969,7 @@ const char* inet_ntop(int af, const void
-     ec = boost::asio::error::invalid_argument;
- 
-   return result == socket_error_retval ? 0 : dest;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   const char* result = error_wrapper(::inet_ntop(
-         af, src, dest, static_cast<int>(length)), ec);
-   if (result == 0 && !ec)
-@@ -2001,7 +1989,7 @@ const char* inet_ntop(int af, const void
-     strcat(dest, if_name);
-   }
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- int inet_pton(int af, const char* src, void* dest,
-@@ -2152,7 +2140,7 @@ int inet_pton(int af, const char* src, v
-     ec = boost::asio::error::address_family_not_supported;
-     return -1;
-   }
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
-   using namespace std; // For memcpy and strcmp.
- 
-   if (af != BOOST_ASIO_OS_DEF(AF_INET) && af != BOOST_ASIO_OS_DEF(AF_INET6))
-@@ -2212,7 +2200,7 @@ int inet_pton(int af, const char* src, v
-     ec = boost::system::error_code();
- 
-   return result == socket_error_retval ? -1 : 1;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   int result = error_wrapper(::inet_pton(af, src, dest), ec);
-   if (result <= 0 && !ec)
-     ec = boost::asio::error::invalid_argument;
-@@ -2234,7 +2222,7 @@ int inet_pton(int af, const char* src, v
-     }
-   }
-   return result;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- }
- 
- int gethostname(char* name, int namelen, boost::system::error_code& ec)
-@@ -2310,7 +2298,7 @@ inline hostent* gethostbyaddr(const char
-     hostent* result, char* buffer, int buflength, boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   (void)(buffer);
-   (void)(buflength);
-   hostent* retval = error_wrapper(::gethostbyaddr(addr, length, af), ec);
-@@ -2353,7 +2341,7 @@ inline hostent* gethostbyname(const char
-     char* buffer, int buflength, int ai_flags, boost::system::error_code& ec)
- {
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   (void)(buffer);
-   (void)(buflength);
-   (void)(ai_flags);
-@@ -3153,7 +3141,7 @@ inline boost::system::error_code transla
-   case EAI_SOCKTYPE:
-     return boost::asio::error::socket_type_not_supported;
-   default: // Possibly the non-portable EAI_SYSTEM.
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-     return boost::system::error_code(
-         WSAGetLastError(), boost::asio::error::get_system_category());
- #else
-@@ -3170,7 +3158,7 @@ boost::system::error_code getaddrinfo(co
-   host = (host && *host) ? host : 0;
-   service = (service && *service) ? service : 0;
-   clear_last_error();
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # if defined(BOOST_ASIO_HAS_GETADDRINFO)
-   // Building for Windows XP, Windows Server 2003, or later.
-   int error = ::getaddrinfo(host, service, &hints, result);
-@@ -3213,7 +3201,7 @@ boost::system::error_code background_get
- 
- void freeaddrinfo(addrinfo_type* ai)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # if defined(BOOST_ASIO_HAS_GETADDRINFO)
-   // Building for Windows XP, Windows Server 2003, or later.
-   ::freeaddrinfo(ai);
-@@ -3241,7 +3229,7 @@ boost::system::error_code getnameinfo(co
-     std::size_t addrlen, char* host, std::size_t hostlen,
-     char* serv, std::size_t servlen, int flags, boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # if defined(BOOST_ASIO_HAS_GETADDRINFO)
-   // Building for Windows XP, Windows Server 2003, or later.
-   clear_last_error();
---- boost_1_57_0/boost/asio/detail/impl/socket_select_interrupter.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/socket_select_interrupter.ipp	2015-05-04 17:33:18.861493700 -0500
-@@ -20,7 +20,6 @@
- #if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
- 
- #include <cstdlib>
-@@ -169,7 +168,6 @@ bool socket_select_interrupter::reset()
- #include <boost/asio/detail/pop_options.hpp>
- 
- #endif // defined(BOOST_ASIO_WINDOWS)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
- 
- #endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
---- boost_1_57_0/boost/asio/detail/impl/winsock_init.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/impl/winsock_init.ipp	2015-05-04 17:33:18.864494100 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/socket_types.hpp>
- #include <boost/asio/detail/winsock_init.hpp>
-@@ -79,6 +79,6 @@ void winsock_init_base::throw_on_error(d
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_IMPL_WINSOCK_INIT_IPP
---- boost_1_57_0/boost/asio/detail/local_free_on_block_exit.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/local_free_on_block_exit.hpp	2015-05-04 17:33:18.867994600 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/noncopyable.hpp>
- #include <boost/asio/detail/socket_types.hpp>
-@@ -54,6 +54,6 @@ private:
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_LOCAL_FREE_ON_BLOCK_EXIT_HPP
---- boost_1_57_0/boost/asio/detail/null_signal_blocker.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/null_signal_blocker.hpp	2015-05-04 17:33:18.870994900 -0500
-@@ -20,7 +20,6 @@
- #if !defined(BOOST_ASIO_HAS_THREADS) \
-   || defined(BOOST_ASIO_WINDOWS) \
-   || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
- 
- #include <boost/asio/detail/noncopyable.hpp>
-@@ -65,7 +64,6 @@ public:
- #endif // !defined(BOOST_ASIO_HAS_THREADS)
-        // || defined(BOOST_ASIO_WINDOWS)
-        // || defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
- 
- #endif // BOOST_ASIO_DETAIL_NULL_SIGNAL_BLOCKER_HPP
---- boost_1_57_0/boost/asio/detail/old_win_sdk_compat.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/old_win_sdk_compat.hpp	2015-05-04 17:33:18.874495400 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- 
- // Guess whether we are building against on old Platform SDK.
- #if !defined(IN6ADDR_ANY_INIT)
-@@ -211,6 +211,6 @@ struct addrinfo_emulation
- # define IPPROTO_ICMPV6 58
- #endif
- 
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_OLD_WIN_SDK_COMPAT_HPP
---- boost_1_57_0/boost/asio/detail/pipe_select_interrupter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/pipe_select_interrupter.hpp	2015-05-04 17:33:18.877995800 -0500
-@@ -19,7 +19,6 @@
- 
- #if !defined(BOOST_ASIO_WINDOWS)
- #if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--#if !defined(__CYGWIN__)
- #if !defined(__SYMBIAN32__)
- #if !defined(BOOST_ASIO_HAS_EVENTFD)
- 
-@@ -84,7 +83,6 @@ private:
- 
- #endif // !defined(BOOST_ASIO_HAS_EVENTFD)
- #endif // !defined(__SYMBIAN32__)
--#endif // !defined(__CYGWIN__)
- #endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- #endif // !defined(BOOST_ASIO_WINDOWS)
- 
---- boost_1_57_0/boost/asio/detail/posix_fd_set_adapter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/posix_fd_set_adapter.hpp	2015-05-04 17:33:18.881496300 -0500
-@@ -18,7 +18,6 @@
- #include <boost/asio/detail/config.hpp>
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(__CYGWIN__) \
-   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #include <cstring>
-@@ -114,7 +113,6 @@ private:
- #include <boost/asio/detail/pop_options.hpp>
- 
- #endif // !defined(BOOST_ASIO_WINDOWS)
--       // && !defined(__CYGWIN__)
-        // && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #endif // BOOST_ASIO_DETAIL_POSIX_FD_SET_ADAPTER_HPP
---- boost_1_57_0/boost/asio/detail/reactive_descriptor_service.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/reactive_descriptor_service.hpp	2015-05-04 17:33:18.886496900 -0500
-@@ -18,8 +18,7 @@
- #include <boost/asio/detail/config.hpp>
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #include <boost/asio/buffer.hpp>
- #include <boost/asio/io_service.hpp>
-@@ -319,6 +318,5 @@ private:
- 
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
- #endif // BOOST_ASIO_DETAIL_REACTIVE_DESCRIPTOR_SERVICE_HPP
---- boost_1_57_0/boost/asio/detail/reactive_serial_port_service.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/reactive_serial_port_service.hpp	2015-05-04 17:33:18.889497300 -0500
-@@ -19,7 +19,7 @@
- #include <boost/asio/detail/config.hpp>
- 
- #if defined(BOOST_ASIO_HAS_SERIAL_PORT)
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- #include <string>
- #include <boost/asio/error.hpp>
-@@ -230,7 +230,7 @@ private:
- # include <boost/asio/detail/impl/reactive_serial_port_service.ipp>
- #endif // defined(BOOST_ASIO_HEADER_ONLY)
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- #endif // defined(BOOST_ASIO_HAS_SERIAL_PORT)
- 
- #endif // BOOST_ASIO_DETAIL_REACTIVE_SERIAL_PORT_SERVICE_HPP
---- boost_1_57_0/boost/asio/detail/select_interrupter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/select_interrupter.hpp	2015-05-04 17:33:18.892497700 -0500
-@@ -19,7 +19,7 @@
- 
- #if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-+#if defined(BOOST_ASIO_WINDOWS) || defined(__SYMBIAN32__)
- # include <boost/asio/detail/socket_select_interrupter.hpp>
- #elif defined(BOOST_ASIO_HAS_EVENTFD)
- # include <boost/asio/detail/eventfd_select_interrupter.hpp>
-@@ -31,7 +31,7 @@ namespace boost {
- namespace asio {
- namespace detail {
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-+#if defined(BOOST_ASIO_WINDOWS) || defined(__SYMBIAN32__)
- typedef socket_select_interrupter select_interrupter;
- #elif defined(BOOST_ASIO_HAS_EVENTFD)
- typedef eventfd_select_interrupter select_interrupter;
---- boost_1_57_0/boost/asio/detail/select_reactor.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/select_reactor.hpp	2015-05-04 17:33:18.895498100 -0500
-@@ -51,13 +51,13 @@ class select_reactor
-   : public boost::asio::detail::service_base<select_reactor>
- {
- public:
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   enum op_types { read_op = 0, write_op = 1, except_op = 2,
-     max_select_ops = 3, connect_op = 3, max_ops = 4 };
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-   enum op_types { read_op = 0, write_op = 1, except_op = 2,
-     max_select_ops = 3, connect_op = 1, max_ops = 3 };
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
-   // Per-descriptor data.
-   struct per_descriptor_data
---- boost_1_57_0/boost/asio/detail/signal_blocker.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/signal_blocker.hpp	2015-05-04 17:33:18.898498400 -0500
-@@ -19,7 +19,7 @@
- 
- #if !defined(BOOST_ASIO_HAS_THREADS) || defined(BOOST_ASIO_WINDOWS) \
-   || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-+  || defined(__SYMBIAN32__)
- # include <boost/asio/detail/null_signal_blocker.hpp>
- #elif defined(BOOST_ASIO_HAS_PTHREADS)
- # include <boost/asio/detail/posix_signal_blocker.hpp>
-@@ -33,7 +33,7 @@ namespace detail {
- 
- #if !defined(BOOST_ASIO_HAS_THREADS) || defined(BOOST_ASIO_WINDOWS) \
-   || defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  || defined(__CYGWIN__) || defined(__SYMBIAN32__)
-+  || defined(__SYMBIAN32__)
- typedef null_signal_blocker signal_blocker;
- #elif defined(BOOST_ASIO_HAS_PTHREADS)
- typedef posix_signal_blocker signal_blocker;
---- boost_1_57_0/boost/asio/detail/signal_init.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/signal_init.hpp	2015-05-04 17:33:18.901998900 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- #include <csignal>
- 
-@@ -44,6 +44,6 @@ public:
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_SIGNAL_INIT_HPP
---- boost_1_57_0/boost/asio/detail/signal_set_service.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/signal_set_service.hpp	2015-05-04 17:33:18.904999300 -0500
-@@ -28,9 +28,9 @@
- #include <boost/asio/detail/signal_op.hpp>
- #include <boost/asio/detail/socket_types.hpp>
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- # include <boost/asio/detail/reactor.hpp>
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/push_options.hpp>
- 
-@@ -183,8 +183,7 @@ private:
-   io_service_impl& io_service_;
- 
- #if !defined(BOOST_ASIO_WINDOWS) \
--  && !defined(BOOST_ASIO_WINDOWS_RUNTIME) \
--  && !defined(__CYGWIN__)
-+  && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
-   // The type used for registering for pipe reactor notifications.
-   class pipe_read_op;
- 
-@@ -195,7 +194,6 @@ private:
-   reactor::per_descriptor_data reactor_data_;
- #endif // !defined(BOOST_ASIO_WINDOWS)
-        //   && !defined(BOOST_ASIO_WINDOWS_RUNTIME)
--       //   && !defined(__CYGWIN__)
- 
-   // A mapping from signal number to the registered signal sets.
-   registration* registrations_[max_signal_number];
---- boost_1_57_0/boost/asio/detail/socket_ops.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/socket_ops.hpp	2015-05-04 17:33:18.907999600 -0500
-@@ -128,11 +128,11 @@ BOOST_ASIO_DECL size_t available(socket_
- BOOST_ASIO_DECL int listen(socket_type s,
-     int backlog, boost::system::error_code& ec);
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- typedef WSABUF buf;
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
- typedef iovec buf;
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- BOOST_ASIO_DECL void init_buf(buf& b, void* data, size_t size);
- 
---- boost_1_57_0/boost/asio/detail/socket_select_interrupter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/socket_select_interrupter.hpp	2015-05-04 17:33:18.912500200 -0500
-@@ -20,7 +20,6 @@
- #if !defined(BOOST_ASIO_WINDOWS_RUNTIME)
- 
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(__SYMBIAN32__)
- 
- #include <boost/asio/detail/socket_types.hpp>
-@@ -85,7 +84,6 @@ private:
- #endif // defined(BOOST_ASIO_HEADER_ONLY)
- 
- #endif // defined(BOOST_ASIO_WINDOWS)
--       // || defined(__CYGWIN__)
-        // || defined(__SYMBIAN32__)
- 
- #endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME)
---- boost_1_57_0/boost/asio/detail/socket_types.hpp	2015-05-04 17:16:30.021887400 -0500
-+++ boost_1_57_0/boost/asio/detail/socket_types.hpp	2015-05-04 17:33:18.915500600 -0500
-@@ -19,7 +19,7 @@
- 
- #if defined(BOOST_ASIO_WINDOWS_RUNTIME)
- // Empty.
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
- # if defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
- #  error WinSock.h has already been included
- # endif // defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
-@@ -169,7 +169,7 @@ typedef int signed_size_type;
- # define BOOST_ASIO_OS_DEF_AI_V4MAPPED 0x800
- # define BOOST_ASIO_OS_DEF_AI_ALL 0x100
- # define BOOST_ASIO_OS_DEF_AI_ADDRCONFIG 0x400
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
- typedef SOCKET socket_type;
- const SOCKET invalid_socket = INVALID_SOCKET;
- const int socket_error_retval = SOCKET_ERROR;
---- boost_1_57_0/boost/asio/detail/win_fd_set_adapter.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/win_fd_set_adapter.hpp	2015-05-04 17:33:18.919001000 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/noncopyable.hpp>
- #include <boost/asio/detail/reactor_op_queue.hpp>
-@@ -146,6 +146,6 @@ private:
- 
- #include <boost/asio/detail/pop_options.hpp>
- 
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_WIN_FD_SET_ADAPTER_HPP
---- boost_1_57_0/boost/asio/detail/winsock_init.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/detail/winsock_init.hpp	2015-05-04 17:33:18.923501600 -0500
-@@ -17,7 +17,7 @@
- 
- #include <boost/asio/detail/config.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/push_options.hpp>
- 
-@@ -125,6 +125,6 @@ static const winsock_init<>& winsock_ini
- # include <boost/asio/detail/impl/winsock_init.ipp>
- #endif // defined(BOOST_ASIO_HEADER_ONLY)
- 
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
- 
- #endif // BOOST_ASIO_DETAIL_WINSOCK_INIT_HPP
---- boost_1_57_0/boost/asio/error.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/error.hpp	2015-05-04 17:33:18.926502000 -0500
-@@ -20,7 +20,6 @@
- #include <boost/system/error_code.hpp>
- #include <boost/system/system_error.hpp>
- #if defined(BOOST_ASIO_WINDOWS) \
--  || defined(__CYGWIN__) \
-   || defined(BOOST_ASIO_WINDOWS_RUNTIME)
- # include <winerror.h>
- #else
-@@ -45,7 +44,7 @@
- # define BOOST_ASIO_NETDB_ERROR(e) __HRESULT_FROM_WIN32(WSA ## e)
- # define BOOST_ASIO_GETADDRINFO_ERROR(e) __HRESULT_FROM_WIN32(WSA ## e)
- # define BOOST_ASIO_WIN_OR_POSIX(e_win, e_posix) e_win
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
- # define BOOST_ASIO_NATIVE_ERROR(e) e
- # define BOOST_ASIO_SOCKET_ERROR(e) WSA ## e
- # define BOOST_ASIO_NETDB_ERROR(e) WSA ## e
-@@ -225,7 +224,7 @@ inline const boost::system::error_catego
-   return boost::system::system_category();
- }
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- extern BOOST_ASIO_DECL
- const boost::system::error_category& get_netdb_category();
-@@ -233,7 +232,7 @@ const boost::system::error_category& get
- extern BOOST_ASIO_DECL
- const boost::system::error_category& get_addrinfo_category();
- 
--#else // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#else // !defined(BOOST_ASIO_WINDOWS)
- 
- inline const boost::system::error_category& get_netdb_category()
- {
-@@ -245,7 +244,7 @@ inline const boost::system::error_catego
-   return get_system_category();
- }
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- extern BOOST_ASIO_DECL
- const boost::system::error_category& get_misc_category();
---- boost_1_57_0/boost/asio/impl/error.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/impl/error.ipp	2015-05-04 17:33:18.931002600 -0500
-@@ -25,7 +25,7 @@ namespace boost {
- namespace asio {
- namespace error {
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- 
- namespace detail {
- 
-@@ -87,7 +87,7 @@ const boost::system::error_category& get
-   return instance;
- }
- 
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- namespace detail {
- 
---- boost_1_57_0/boost/asio/impl/serial_port_base.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/impl/serial_port_base.ipp	2015-05-04 17:33:18.936503300 -0500
-@@ -27,7 +27,7 @@
- 
- #if defined(GENERATING_DOCUMENTATION)
- # define BOOST_ASIO_OPTION_STORAGE implementation_defined
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
- # define BOOST_ASIO_OPTION_STORAGE DCB
- #else
- # define BOOST_ASIO_OPTION_STORAGE termios
-@@ -41,7 +41,7 @@ namespace asio {
- boost::system::error_code serial_port_base::baud_rate::store(
-     BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec) const
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   storage.BaudRate = value_;
- #else
-   speed_t baud;
-@@ -128,7 +128,7 @@ boost::system::error_code serial_port_ba
- boost::system::error_code serial_port_base::baud_rate::load(
-     const BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   value_ = storage.BaudRate;
- #else
-   speed_t baud = ::cfgetospeed(&storage);
-@@ -221,7 +221,7 @@ serial_port_base::flow_control::flow_con
- boost::system::error_code serial_port_base::flow_control::store(
-     BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec) const
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   storage.fOutxCtsFlow = FALSE;
-   storage.fOutxDsrFlow = FALSE;
-   storage.fTXContinueOnXoff = TRUE;
-@@ -288,7 +288,7 @@ boost::system::error_code serial_port_ba
- boost::system::error_code serial_port_base::flow_control::load(
-     const BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   if (storage.fOutX && storage.fInX)
-   {
-     value_ = software;
-@@ -339,7 +339,7 @@ serial_port_base::parity::parity(serial_
- boost::system::error_code serial_port_base::parity::store(
-     BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec) const
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   switch (value_)
-   {
-   case none:
-@@ -386,7 +386,7 @@ boost::system::error_code serial_port_ba
- boost::system::error_code serial_port_base::parity::load(
-     const BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   if (storage.Parity == EVENPARITY)
-   {
-     value_ = even;
-@@ -434,7 +434,7 @@ serial_port_base::stop_bits::stop_bits(
- boost::system::error_code serial_port_base::stop_bits::store(
-     BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec) const
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   switch (value_)
-   {
-   case one:
-@@ -470,7 +470,7 @@ boost::system::error_code serial_port_ba
- boost::system::error_code serial_port_base::stop_bits::load(
-     const BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   if (storage.StopBits == ONESTOPBIT)
-   {
-     value_ = one;
-@@ -507,7 +507,7 @@ serial_port_base::character_size::charac
- boost::system::error_code serial_port_base::character_size::store(
-     BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec) const
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   storage.ByteSize = value_;
- #else
-   storage.c_cflag &= ~CSIZE;
-@@ -527,7 +527,7 @@ boost::system::error_code serial_port_ba
- boost::system::error_code serial_port_base::character_size::load(
-     const BOOST_ASIO_OPTION_STORAGE& storage, boost::system::error_code& ec)
- {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   value_ = storage.ByteSize;
- #else
-   if ((storage.c_cflag & CSIZE) == CS5) { value_ = 5; }
---- boost_1_57_0/boost/asio/io_service.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/io_service.hpp	2015-05-04 17:33:18.940003700 -0500
-@@ -24,7 +24,7 @@
- #include <boost/asio/detail/wrapped_handler.hpp>
- #include <boost/system/error_code.hpp>
- 
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
- # include <boost/asio/detail/winsock_init.hpp>
- #elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \
-   || defined(__osf__)
-@@ -600,7 +600,7 @@ public:
-   friend bool has_service(io_service& ios);
- 
- private:
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-   detail::winsock_init<> init_;
- #elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \
-   || defined(__osf__)
---- boost_1_57_0/boost/asio/serial_port_base.hpp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/serial_port_base.hpp	2015-05-04 17:33:18.943004100 -0500
-@@ -21,16 +21,16 @@
- #if defined(BOOST_ASIO_HAS_SERIAL_PORT) \
-   || defined(GENERATING_DOCUMENTATION)
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
- # include <termios.h>
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- #include <boost/asio/detail/socket_types.hpp>
- #include <boost/system/error_code.hpp>
- 
- #if defined(GENERATING_DOCUMENTATION)
- # define BOOST_ASIO_OPTION_STORAGE implementation_defined
--#elif defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#elif defined(BOOST_ASIO_WINDOWS)
- # define BOOST_ASIO_OPTION_STORAGE DCB
- #else
- # define BOOST_ASIO_OPTION_STORAGE termios
---- boost_1_57_0/boost/asio/ssl/detail/impl/openssl_init.ipp	2014-10-17 17:49:08.000000000 -0500
-+++ boost_1_57_0/boost/asio/ssl/detail/impl/openssl_init.ipp	2015-05-04 17:33:18.946504500 -0500
-@@ -85,15 +85,15 @@ public:
- private:
-   static unsigned long openssl_id_func()
-   {
--#if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_ASIO_WINDOWS)
-     return ::GetCurrentThreadId();
--#else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#else // defined(BOOST_ASIO_WINDOWS)
-     void* id = instance()->thread_id_;
-     if (id == 0)
-       instance()->thread_id_ = id = &id; // Ugh.
-     BOOST_ASIO_ASSERT(sizeof(unsigned long) >= sizeof(void*));
-     return reinterpret_cast<unsigned long>(id);
--#endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_ASIO_WINDOWS)
-   }
- 
-   static void openssl_locking_func(int mode, int n, 
-@@ -109,10 +109,10 @@ private:
-   std::vector<boost::asio::detail::shared_ptr<
-         boost::asio::detail::mutex> > mutexes_;
- 
--#if !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#if !defined(BOOST_ASIO_WINDOWS)
-   // The thread identifiers to be used by openssl.
-   boost::asio::detail::tss_ptr<void> thread_id_;
--#endif // !defined(BOOST_ASIO_WINDOWS) && !defined(__CYGWIN__)
-+#endif // !defined(BOOST_ASIO_WINDOWS)
- 
- #if !defined(SSL_OP_NO_COMPRESSION) \
-   && (OPENSSL_VERSION_NUMBER >= 0x00908000L)
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-config-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-config-cygwin.patch
deleted file mode 100644
index 97acc72689d2..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-config-cygwin.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- boost_1_57_0/boost/config/platform/cygwin.hpp	2015-05-04 18:02:21.742811600 -0500
-+++ boost_1_57_0/boost/config/platform/cygwin.hpp	2015-05-04 17:16:30.183407900 -0500
-@@ -39,18 +39,8 @@
- #define BOOST_HAS_STDINT_H
- #endif
- 
--/// Cygwin has no fenv.h
--#define BOOST_NO_FENV_H
--
- // boilerplate code:
- #include <boost/config/posix_features.hpp>
--
--//
--// Cygwin lies about XSI conformance, there is no nl_types.h:
--//
--#ifdef BOOST_HAS_NL_TYPES_H
--#  undef BOOST_HAS_NL_TYPES_H
--#endif
-  
- 
- 
---- boost_1_57_0/boost/config/stdlib/libstdcpp3.hpp	2014-10-26 07:36:42.000000000 -0500
-+++ boost_1_57_0/boost/config/stdlib/libstdcpp3.hpp	2015-05-04 17:54:44.835791700 -0500
-@@ -68,7 +68,7 @@
- #endif
- 
- // Apple doesn't seem to reliably defined a *unix* macro
--#if !defined(CYGWIN) && (  defined(__unix__)  \
-+#if (  defined(__unix__)  \
-                         || defined(__unix)    \
-                         || defined(unix)      \
-                         || defined(__APPLE__) \
---- boost_1_57_0/boost/config/stdlib/sgi.hpp	2014-10-26 07:36:42.000000000 -0500
-+++ boost_1_57_0/boost/config/stdlib/sgi.hpp	2015-05-04 17:54:52.911817300 -0500
-@@ -41,7 +41,7 @@
- #endif
- 
- // Apple doesn't seem to reliably defined a *unix* macro
--#if !defined(CYGWIN) && (  defined(__unix__)  \
-+#if (  defined(__unix__)  \
-                         || defined(__unix)    \
-                         || defined(unix)      \
-                         || defined(__APPLE__) \
---- boost_1_57_0/boost/config/stdlib/stlport.hpp	2014-10-26 07:36:42.000000000 -0500
-+++ boost_1_57_0/boost/config/stdlib/stlport.hpp	2015-05-04 17:55:00.621796300 -0500
-@@ -17,7 +17,7 @@
- #endif
- 
- // Apple doesn't seem to reliably defined a *unix* macro
--#if !defined(CYGWIN) && (  defined(__unix__)  \
-+#if (  defined(__unix__)  \
-                         || defined(__unix)    \
-                         || defined(unix)      \
-                         || defined(__APPLE__) \
---- boost_1_57_0/boost/config/stdlib/vacpp.hpp	2014-10-26 07:36:42.000000000 -0500
-+++ boost_1_57_0/boost/config/stdlib/vacpp.hpp	2015-05-04 17:55:07.424660200 -0500
-@@ -13,7 +13,7 @@
- #define BOOST_NO_STD_MESSAGES
- 
- // Apple doesn't seem to reliably defined a *unix* macro
--#if !defined(CYGWIN) && (  defined(__unix__)  \
-+#if (  defined(__unix__)  \
-                         || defined(__unix)    \
-                         || defined(unix)      \
-                         || defined(__APPLE__) \
---- boost_1_57_0/boost/predef/os/cygwin.h	2014-07-10 08:53:53.000000000 -0500
-+++ boost_1_57_0/boost/predef/os/cygwin.h	2015-05-04 17:57:31.634472500 -0500
-@@ -29,7 +29,7 @@ http://www.boost.org/LICENSE_1_0.txt)
-     defined(__CYGWIN__) \
-     )
- #   undef BOOST_OS_CYGWIN
--#   define BOOST_OS_CGYWIN BOOST_VERSION_NUMBER_AVAILABLE
-+#   define BOOST_OS_CYGWIN BOOST_VERSION_NUMBER_AVAILABLE
- #endif
- 
- #if BOOST_OS_CYGWIN
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-context-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-context-cygwin.patch
deleted file mode 100644
index 3d9726179be6..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-context-cygwin.patch
+++ /dev/null
@@ -1,600 +0,0 @@
---- boost_1_57_0/libs/context/build/Jamfile.v2	2014-10-20 01:26:00.000000000 -0500
-+++ boost_1_57_0/libs/context/build/Jamfile.v2	2015-05-04 17:43:10.812161900 -0500
-@@ -29,6 +29,7 @@ local rule default_binary_format ( )
-     local tmp = elf ;
-     if [ os.name ] = "MACOSX" { tmp = mach-o ; }
-     if [ os.name ] = "NT" { tmp = pe ; }
-+    if [ os.name ] = "CYGWIN" { tmp = pe ; }
-     if [ os.name ] = "AIX" { tmp = xcoff ; }
-     return $(tmp) ;
- }
-@@ -581,6 +582,16 @@ alias asm_context_sources
-    ;
- 
- alias asm_context_sources
-+   : asm/make_i386_ms_pe_gas.S
-+     asm/jump_i386_ms_pe_gas.S
-+     dummy.cpp
-+   : <address-model>32
-+     <architecture>x86
-+     <binary-format>pe
-+     <toolset>gcc
-+   ;
-+
-+alias asm_context_sources
-    : asm/make_i386_ms_pe_masm.asm
-      asm/jump_i386_ms_pe_masm.asm
-      dummy.cpp
-@@ -715,6 +726,16 @@ alias asm_context_sources
-    ;
- 
- alias asm_context_sources
-+   : asm/make_x86_64_ms_pe_gas.S
-+     asm/jump_x86_64_ms_pe_gas.S
-+     dummy.cpp
-+   : <address-model>64
-+     <architecture>x86
-+     <binary-format>pe
-+     <toolset>gcc
-+   ;
-+
-+alias asm_context_sources
-    : asm/make_x86_64_ms_pe_masm.asm
-      asm/jump_x86_64_ms_pe_masm.asm
-      dummy.cpp
---- boost_1_57_0/libs/context/src/asm/jump_i386_ms_pe_gas.S	1969-12-31 18:00:00.000000000 -0600
-+++ boost_1_57_0/libs/context/src/asm/jump_i386_ms_pe_gas.S	2015-05-04 17:43:10.821663100 -0500
-@@ -0,0 +1,108 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/********************************************************************
-+ *                                                                  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0h   |   04h   |   08h   |   0ch   |   010h   |   014h  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   EDI   |   ESI   |   EBX   |   EBP   |   ESP    |   EIP   |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    6    |    7    |    8    |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   018h  |   01ch  |   020h  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    sp   |   size  |  limit  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    9    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  024h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_execpt|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   10    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  028h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_strage|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   11    |    12   |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  02ch   |   030h  |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *                                                                  *
-+ * *****************************************************************/
-+
-+.file	"jump_i386_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	_jump_fcontext
-+.def	_jump_fcontext;	.scl	2;	.type	32;	.endef
-+_jump_fcontext:
-+    movl    0x04(%esp), %ecx        /* load address of the first fcontext_t arg */
-+    movl    %edi,       (%ecx)      /* save EDI */
-+    movl    %esi,       0x04(%ecx)  /* save ESI */
-+    movl    %ebx,       0x08(%ecx)  /* save EBX */
-+    movl    %ebp,       0x0c(%ecx)  /* save EBP */
-+
-+    movl    %fs:(0x18), %edx        /* load NT_TIB */
-+    movl    (%edx),     %eax        /* load current SEH exception list */
-+    movl    %eax,       0x24(%ecx)  /* save current exception list */
-+    movl    0x04(%edx), %eax        /* load current stack base */
-+    movl    %eax,       0x18(%ecx)  /* save current stack base */
-+    movl    0x08(%edx), %eax        /* load current stack limit */
-+    movl    %eax,       0x20(%ecx)  /* save current stack limit */
-+    movl    0x10(%edx), %eax        /* load fiber local storage */
-+    movl    %eax,       0x28(%ecx)  /* save fiber local storage */
-+
-+    leal    0x04(%esp), %eax        /* exclude the return address */
-+    movl    %eax,       0x10(%ecx)  /* save as stack pointer */
-+    movl    (%esp),     %eax        /* load return address */
-+    movl    %eax,       0x14(%ecx)  /* save return address */
-+
-+    movl    0x08(%esp), %edx        /* load address of the second fcontext_t arg */
-+    movl    (%edx),     %edi        /* restore EDI */
-+    movl    0x04(%edx), %esi        /* restore ESI */
-+    movl    0x08(%edx), %ebx        /* restore EBX */
-+    movl    0x0c(%edx), %ebp        /* restore EBP */
-+
-+    movl    0x10(%esp), %eax        /* check if fpu enve preserving was requested */
-+    testl   %eax,       %eax 
-+    je      1f
-+
-+    stmxcsr 0x2c(%ecx)              /* save MMX control word */
-+    fnstcw  0x30(%ecx)              /* save x87 control word */
-+    ldmxcsr 0x2c(%edx)              /* restore MMX control word */
-+    fldcw   0x30(%edx)              /* restore x87 control word */
-+1:
-+    movl    %edx,       %ecx        
-+    movl    %fs:(0x18), %edx        /* load NT_TIB */
-+    movl    0x24(%ecx), %eax        /* load SEH exception list */
-+    movl    %eax,       (%edx)      /* restore next SEH item */
-+    movl    0x18(%ecx), %eax        /* load stack base */
-+    movl    %eax,       0x04(%edx)  /* restore stack base */
-+    movl    0x20(%ecx), %eax        /* load stack limit */
-+    movl    %eax,       0x08(%edx)  /* restore stack limit */
-+    movl    0x28(%ecx), %eax        /* load fiber local storage */
-+    movl    %eax,       0x10(%edx)  /* restore fiber local storage */
-+			            
-+    movl    0x0c(%esp), %eax        /* use third arg as return value after jump */
-+			            
-+    movl    0x10(%ecx), %esp        /* restore ESP */
-+    movl    %eax,       0x04(%esp)  /* use third arg as first arg in context function */
-+    movl    0x14(%ecx), %ecx        /* fetch the address to return to */
-+
-+    jmp     *%ecx                   /* indirect jump to context */
---- boost_1_57_0/libs/context/src/asm/jump_x86_64_ms_pe_gas.S	1969-12-31 18:00:00.000000000 -0600
-+++ boost_1_57_0/libs/context/src/asm/jump_x86_64_ms_pe_gas.S	2015-05-04 17:43:10.829664200 -0500
-@@ -0,0 +1,189 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/****************************************************************************************
-+ *                                                                                      *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |    6    |    7    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x0   |   0x4   |   0x8   |   0xc   |   0x10   |   0x14  |   0x18  |   0x1c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        R12        |         R13       |         R14        |        R15        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    8    |    9    |   10    |   11    |    12    |    13   |    14   |    15   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x20  |   0x24  |   0x28  |  0x2c   |   0x30   |   0x34  |   0x38  |   0x3c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RDI        |        RSI        |         RBX        |        RBP        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    16   |    17   |    18   |    19   |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x40  |   0x44  |   0x48  |   0x4c  |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RSP        |        RIP        |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    20   |    21   |    22   |    23   |    24    |    25   |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x50  |   0x54  |   0x58  |   0x5c  |   0x60   |   0x64  |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        sp         |       size        |        limit       |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    26   |   27    |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x68  |   0x6c  |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |      fbr_strg     |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    28   |   29    |    30   |    31   |    32    |    33   |   34    |   35    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x70  |   0x74  |   0x78  |   0x7c  |   0x80   |   0x84  |  0x88   |  0x8c   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|      fc_xmm       |      SEE registers (XMM6-XMM15)        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   36    |    37   |    38   |    39   |    40    |    41   |   42    |   43    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x90   |   0x94  |   0x98  |   0x9c  |   0xa0   |   0xa4  |  0xa8   |  0xac   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    44    |   45    |    46   |    47  |    48    |    49   |   50    |   51    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xb0   |  0xb4   |  0xb8   |  0xbc  |   0xc0   |   0xc4  |  0xc8   |  0xcc   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    52    |   53    |    54   |   55   |    56    |    57   |   58    |   59    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xd0   |  0xd4   |   0xd8  |  0xdc  |   0xe0   |  0xe4   |  0xe8   |  0xec   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    60   |    61   |    62    |    63  |    64    |    65   |   66    |   67    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0xf0   |  0xf4   |   0xf8   |  0xfc  |   0x100  |  0x104  |  0x108  |  0x10c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    68   |    69   |    70    |    71  |    72    |    73   |   74    |   75    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x110  |  0x114  |   0x118  |  0x11c |   0x120  |  0x124  |  0x128  |  0x12c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *                                                                                      *
-+ * *************************************************************************************/
-+
-+.file	"jump_x86_64_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	jump_fcontext
-+.def	jump_fcontext;	.scl	2;	.type	32;	.endef
-+.seh_proc	jump_fcontext
-+jump_fcontext:
-+.seh_endprologue
-+    movq    %r12,       (%rcx)      /* save R12 */
-+    movq    %r13,       0x08(%rcx)  /* save R13 */
-+    movq    %r14,       0x10(%rcx)  /* save R14 */
-+    movq    %r15,       0x18(%rcx)  /* save R15 */
-+    movq    %rdi,       0x20(%rcx)  /* save RDI */
-+    movq    %rsi,       0x28(%rcx)  /* save RSI */
-+    movq    %rbx,       0x30(%rcx)  /* save RBX */
-+    movq    %rbp,       0x38(%rcx)  /* save RBP */
-+
-+    movq    %gs:(0x30), %r10        /* load NT_TIB */
-+    movq    0x08(%r10), %rax        /* load current stack base */
-+    movq    %rax,       0x50(%rcx)  /* save current stack base */
-+    movq    0x10(%r10), %rax        /* load current stack limit */
-+    movq    %rax,       0x60(%rcx)  /* save current stack limit */
-+    movq    0x18(%r10), %rax        /* load fiber local storage */
-+    movq    %rax,       0x68(%rcx)  /* save fiber local storage */
-+
-+    testq   %r9,        %r9
-+    je      1f
-+
-+    stmxcsr 0x70(%rcx)              /* save MMX control and status word */
-+    fnstcw  0x74(%rcx)              /* save x87 control word */
-+    /* save XMM storage */
-+    /* save start address of SSE register block in R10 */
-+    leaq    0x90(%rcx), %r10
-+    /* shift address in R10 to lower 16 byte boundary */
-+    /* == pointer to SEE register block */
-+    andq    $-16,       %r10
-+
-+    movaps  %xmm6,      (%r10)
-+    movaps  %xmm7,      0x10(%r10)
-+    movaps  %xmm8,      0x20(%r10)
-+    movaps  %xmm9,      0x30(%r10)
-+    movaps  %xmm10,     0x40(%r10)
-+    movaps  %xmm11,     0x50(%r10)
-+    movaps  %xmm12,     0x60(%r10)
-+    movaps  %xmm13,     0x70(%r10)
-+    movaps  %xmm14,     0x80(%r10)
-+    movaps  %xmm15,     0x90(%r10)
-+
-+    ldmxcsr 0x70(%rdx)              /* restore MMX control and status word */
-+    fldcw   0x74(%rdx)              /* restore x87 control word */
-+    /* restore XMM storage */
-+	/* save start address of SSE register block in R10 */
-+    leaq    0x90(%rdx), %r10
-+    /* shift address in R10 to lower 16 byte boundary */
-+    /* == pointer to SEE register block */
-+    andq    $-16,       %r10
-+
-+    movaps  (%r10),     %xmm6
-+    movaps  0x10(%r10), %xmm7
-+    movaps  0x20(%r10), %xmm8
-+    movaps  0x30(%r10), %xmm9
-+    movaps  0x40(%r10), %xmm10
-+    movaps  0x50(%r10), %xmm11
-+    movaps  0x60(%r10), %xmm12
-+    movaps  0x70(%r10), %xmm13
-+    movaps  0x80(%r10), %xmm14
-+    movaps  0x90(%r10), %xmm15
-+
-+1:
-+    leaq    0x08(%rsp), %rax        /* exclude the return address */
-+    movq    %rax,       0x40(%rcx)  /* save as stack pointer */
-+    movq    (%rsp),     %rax        /* load return address */
-+    movq    %rax,       0x48(%rcx)  /* save return address */
-+
-+    movq    (%rdx),     %r12        /* restore R12 */
-+    movq    0x08(%rdx), %r13        /* restore R13 */
-+    movq    0x10(%rdx), %r14        /* restore R14 */
-+    movq    0x18(%rdx), %r15        /* restore R15 */
-+    movq    0x20(%rdx), %rdi        /* restore RDI */
-+    movq    0x28(%rdx), %rsi        /* restore RSI */
-+    movq    0x30(%rdx), %rbx        /* restore RBX */
-+    movq    0x38(%rdx), %rbp        /* restore RBP */
-+
-+    movq    %gs:(0x30), %r10        /* load NT_TIB */
-+    movq    0x50(%rdx), %rax        /* load stack base */
-+    movq    %rax,       0x08(%r10)  /* restore stack base */
-+    movq    0x60(%rdx), %rax        /* load stack limit */
-+    movq    %rax,       0x10(%r10)  /* restore stack limit */
-+    movq    0x68(%rdx), %rax        /* load fiber local storage */
-+    movq    %rax,       0x18(%r10)  /* restore fiber local storage */
-+
-+    movq    0x40(%rdx), %rsp        /* restore RSP */
-+    movq    0x48(%rdx), %r10        /* fetch the address to returned to */
-+
-+    movq    %r8,        %rax        /* use third arg as return value after jump */
-+    movq    %r8,        %rcx        /* use third arg as first arg in context function */
-+
-+    jmp     *%r10                   /* indirect jump to caller */
-+.seh_endproc
---- boost_1_57_0/libs/context/src/asm/make_i386_ms_pe_gas.S	1969-12-31 18:00:00.000000000 -0600
-+++ boost_1_57_0/libs/context/src/asm/make_i386_ms_pe_gas.S	2015-05-04 17:43:10.836165000 -0500
-@@ -0,0 +1,115 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/********************************************************************
-+ *                                                                  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    0h   |   04h   |   08h   |   0ch   |   010h   |   014h  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   EDI   |   ESI   |   EBX   |   EBP   |   ESP    |   EIP   |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    6    |    7    |    8    |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |   018h  |   01ch  |   020h  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  |    sp   |   size  |  limit  |                              |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |    9    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  024h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_execpt|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   10    |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  028h   |                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  |fc_strage|                                                  |  *
-+ *  --------------------------------------------------------------  *
-+ *  --------------------------------------------------------------  *
-+ *  |   11    |    12   |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  |  02ch   |   030h  |                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|                                        |  *
-+ *  --------------------------------------------------------------  *
-+ *                                                                  *
-+ * *****************************************************************/
-+
-+.file	"make_i386_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	_make_fcontext
-+.def	_make_fcontext;	.scl	2;	.type	32;	.endef
-+_make_fcontext:
-+    movl    0x04(%esp), %eax        /* load 1. arg of make_fcontext, pointer to context stack (base) */
-+    leal    -0x34(%eax),%eax        /* reserve space for fcontext_t at top of context stack */
-+
-+    /* shift address in EAX to lower 16 byte boundary */
-+    /* == pointer to fcontext_t and address of context stack */
-+    andl    $-16,       %eax
-+
-+    movl    0x04(%esp), %ecx        /* load 1. arg of make_fcontext, pointer to context stack (base) */
-+    movl    %ecx,       0x18(%eax)  /* save address of context stack (base) in fcontext_t */
-+    movl    0x08(%esp), %edx        /* load 2. arg of make_fcontext, context stack size */
-+    movl    %edx,       0x1c(%eax)  /* save context stack size in fcontext_t */
-+    negl    %edx                    /* negate stack size for LEA instruction (== substraction) */
-+    leal    (%ecx,%edx),%ecx        /* compute bottom address of context stack (limit) */
-+    movl    %ecx,       0x20(%eax)  /* save address of context stack (limit) in fcontext_t */
-+    movl    0x0c(%esp), %ecx        /* load 3. arg of make_fcontext, pointer to context function */
-+    movl    %ecx,       0x14(%eax)  /* save address of context function in fcontext_t */
-+
-+    stmxcsr 0x02c(%eax)             /* save MMX control word */
-+    fnstcw  0x030(%eax)             /* save x87 control word */
-+
-+    leal    -0x1c(%eax),%edx        /* reserve space for last frame and seh on context stack, (ESP - 0x4) % 16 == 0 */
-+    movl    %edx,       0x10(%eax)  /* save address in EDX as stack pointer for context function */
-+
-+    movl    $finish,    %ecx        /* abs address of finish */
-+    movl    %ecx,       (%edx)      /* save address of finish as return address for context function */
-+                                    /* entered after context function returns */
-+
-+    /* traverse current seh chain to get the last exception handler installed by Windows */
-+    /* note that on Windows Server 2008 and 2008 R2, SEHOP is activated by default */
-+    /* the exception handler chain is tested for the presence of ntdll.dll!FinalExceptionHandler */
-+    /* at its end by RaiseException all seh andlers are disregarded if not present and the */
-+    /* program is aborted */
-+    movl    %fs:(0x18), %ecx        /* load NT_TIB into ECX */
-+
-+walk:
-+    movl    (%ecx),     %edx        /* load 'next' member of current SEH into EDX */
-+    incl    %edx                    /* test if 'next' of current SEH is last (== 0xffffffff) */
-+    jz      found
-+    decl    %edx
-+    xchgl    %ecx,      %edx        /* exchange content; ECX contains address of next SEH */
-+    jmp     walk                    /* inspect next SEH */
-+
-+found:
-+    movl    0x04(%ecx), %ecx        /* load 'handler' member of SEH == address of last SEH handler installed by Windows */
-+    movl    0x10(%eax), %edx        /* load address of stack pointer for context function */
-+    movl    %ecx,       0x18(%edx)  /* save address in ECX as SEH handler for context */
-+    movl    $0xffffffff,%ecx        /* set ECX to -1 */
-+    movl    %ecx,       0x14(%edx)  /* save ECX as next SEH item */
-+    leal    0x14(%edx), %ecx        /* load address of next SEH item */
-+    movl    %ecx,       0x24(%eax)  /* save next SEH */
-+
-+    ret
-+
-+finish:
-+    /* ESP points to same address as ESP on entry of context function + 0x4 */
-+    xorl    %eax,       %eax
-+    movl    %eax,       (%esp)      /* exit code is zero */
-+    call    __exit                  /* exit application */
-+    hlt
-+
-+.def	__exit;	.scl	2;	.type	32;	.endef  /* standard C library function */
---- boost_1_57_0/libs/context/src/asm/make_x86_64_ms_pe_gas.S	1969-12-31 18:00:00.000000000 -0600
-+++ boost_1_57_0/libs/context/src/asm/make_x86_64_ms_pe_gas.S	2015-05-04 17:43:10.843165900 -0500
-@@ -0,0 +1,132 @@
-+/*
-+            Copyright Oliver Kowalke 2009.
-+            Copyright Thomas Sailer 2013.
-+   Distributed under the Boost Software License, Version 1.0.
-+      (See accompanying file LICENSE_1_0.txt or copy at
-+            http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+/****************************************************************************************
-+ *                                                                                      *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    0    |    1    |    2    |    3    |    4     |    5    |    6    |    7    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x0   |   0x4   |   0x8   |   0xc   |   0x10   |   0x14  |   0x18  |   0x1c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        R12        |         R13       |         R14        |        R15        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    8    |    9    |   10    |   11    |    12    |    13   |    14   |    15   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x20  |   0x24  |   0x28  |  0x2c   |   0x30   |   0x34  |   0x38  |   0x3c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RDI        |        RSI        |         RBX        |        RBP        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    16   |    17   |    18   |    19   |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x40  |   0x44  |   0x48  |   0x4c  |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        RSP        |        RIP        |                                        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    20   |    21   |    22   |    23   |    24    |    25   |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x50  |   0x54  |   0x58  |   0x5c  |   0x60   |   0x64  |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |        sp         |       size        |        limit       |                   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    26   |   27    |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x68  |   0x6c  |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |      fbr_strg     |                                                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    28   |   29    |    30   |    31   |    32    |    33   |   34    |   35    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0x70  |   0x74  |   0x78  |   0x7c  |   0x80   |   0x84  |  0x88   |  0x8c   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  | fc_mxcsr|fc_x87_cw|      fc_xmm       |      SEE registers (XMM6-XMM15)        |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   36    |    37   |    38   |    39   |    40    |    41   |   42    |   43    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x90   |   0x94  |   0x98  |   0x9c  |   0xa0   |   0xa4  |  0xa8   |  0xac   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    44    |   45    |    46   |    47  |    48    |    49   |   50    |   51    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xb0   |  0xb4   |  0xb8   |  0xbc  |   0xc0   |   0xc4  |  0xc8   |  0xcc   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    52    |   53    |    54   |   55   |    56    |    57   |   58    |   59    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |   0xd0   |  0xd4   |   0xd8  |  0xdc  |   0xe0   |  0xe4   |  0xe8   |  0xec   |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    60   |    61   |    62    |    63  |    64    |    65   |   66    |   67    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0xf0   |  0xf4   |   0xf8   |  0xfc  |   0x100  |  0x104  |  0x108  |  0x10c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |    68   |    69   |    70    |    71  |    72    |    73   |   74    |   75    |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |  0x110  |  0x114  |   0x118  |  0x11c |   0x120  |  0x124  |  0x128  |  0x12c  |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *  |                          SEE registers (XMM6-XMM15)                            |  *
-+ *  ----------------------------------------------------------------------------------  *
-+ *                                                                                      *
-+ * *************************************************************************************/
-+
-+.file	"make_x86_64_ms_pe_gas.S"
-+.text
-+.p2align 4,,15
-+.globl	make_fcontext
-+.def	make_fcontext;	.scl	2;	.type	32;	.endef
-+.seh_proc	make_fcontext
-+make_fcontext:
-+.seh_endprologue
-+    leaq    -0x130(%rcx),%rax       /* reserve space for fcontext_t at top of context stack */
-+
-+    /* shift address in RAX to lower 16 byte boundary */
-+    /* == pointer to fcontext_t and address of context stack */
-+    andq    $-16,       %rax
-+
-+    movq    %r8,        0x48(%rax)  /* save address of context function in fcontext_t */
-+    movq    %rdx,       0x58(%rax)  /* save context stack size in fcontext_t */
-+    movq    %rcx,       0x50(%rax)  /* save address of context stack pointer (base) in fcontext_t */
-+
-+    negq    %rdx                    /* negate stack size for LEA instruction (== substraction) */
-+    leaq    (%rcx,%rdx),%rcx        /* compute bottom address of context stack (limit) */
-+    movq    %rcx,       0x60(%rax)  /* save bottom address of context stack (limit) in fcontext_t */
-+
-+    stmxcsr 0x70(%rax)              /* save MMX control and status word */
-+    fnstcw  0x74(%rax)              /* save x87 control word */
-+
-+    leaq    -0x28(%rax),%rdx        /* reserve 32byte shadow space + return address on stack, (RSP - 0x8) % 16 == 0 */
-+    movq    %rdx,       0x40(%rax)  /* save address in RDX as stack pointer for context function */
-+
-+    leaq    finish(%rip),%rcx       /* compute abs address of label finish */
-+    movq    %rcx,(%rdx)             /* save address of finish as return address for context function */
-+                                    /* entered after context function returns */
-+
-+    ret
-+
-+finish:
-+    /* RSP points to same address as RSP on entry of context function + 0x8 */
-+    xorq    %rcx,       %rcx        /* exit code is zero */
-+    call    _exit                   /* exit application */
-+    hlt
-+.seh_endproc
-+
-+.def	_exit;	.scl	2;	.type	32;	.endef  /* standard C library function */
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-filesystem-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-filesystem-cygwin.patch
deleted file mode 100644
index cbb5757746da..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-filesystem-cygwin.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- boost_1_57_0/libs/filesystem/src/operations.cpp	2014-10-29 10:34:00.000000000 -0500
-+++ boost_1_57_0/libs/filesystem/src/operations.cpp	2015-05-04 23:30:34.278446000 -0500
-@@ -1966,8 +1966,7 @@ namespace
-   {
-     errno = 0;
- 
--#   if !defined(__CYGWIN__)\
--    && defined(_POSIX_THREAD_SAFE_FUNCTIONS)\
-+#   if defined(_POSIX_THREAD_SAFE_FUNCTIONS)\
-     && defined(_SC_THREAD_SAFE_FUNCTIONS)\
-     && (_POSIX_THREAD_SAFE_FUNCTIONS+0 >= 0)\
-     && (!defined(__hpux) || defined(_REENTRANT)) \
---- boost_1_57_0/libs/filesystem/src/path.cpp	2014-10-29 10:34:00.000000000 -0500
-+++ boost_1_57_0/libs/filesystem/src/path.cpp	2015-05-04 17:45:45.582315200 -0500
-@@ -36,7 +36,7 @@
- # include "windows_file_codecvt.hpp"
- # include <windows.h>
- #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
-- || defined(__FreeBSD__) || defined(__OPEN_BSD__)
-+ || defined(__FreeBSD__) || defined(__OPEN_BSD__) || defined(__CYGWIN__)
- # include <boost/filesystem/detail/utf8_codecvt_facet.hpp>
- #endif
- 
-@@ -831,7 +831,7 @@ namespace
-     std::locale global_loc = std::locale();
-     return std::locale(global_loc, new windows_file_codecvt);
- # elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
--  || defined(__FreeBSD__) || defined(__OpenBSD__)
-+  || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__CYGWIN__)
-     // "All BSD system functions expect their string parameters to be in UTF-8 encoding
-     // and nothing else." See
-     // http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/FileEncodings.html
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-locale-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-locale-cygwin.patch
deleted file mode 100644
index 16208385a9b9..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-locale-cygwin.patch
+++ /dev/null
@@ -1,81 +0,0 @@
---- boost_1_57_0/libs/locale/build/Jamfile.v2	2014-04-06 08:11:49.000000000 -0500
-+++ boost_1_57_0/libs/locale/build/Jamfile.v2	2015-05-04 18:11:52.956846500 -0500
-@@ -261,7 +261,7 @@ rule configure-full ( properties * : fla
- 
-     }
-         
--    if ! $(found-iconv) && ! $(found-icu) && ! <target-os>windows in $(properties) && ! <target-os>cygwin in $(properties) 
-+    if ! $(found-iconv) && ! $(found-icu) && ! <target-os>windows in $(properties) 
-     {
-         ECHO "- Boost.Locale needs either iconv or ICU library to be built." ;
-         result += <build>no ;
-@@ -298,7 +298,6 @@ rule configure-full ( properties * : fla
-     if ! <boost.locale.winapi> in $(properties:G)
-     {
-         if <target-os>windows in $(properties) 
--          || <target-os>cygwin in $(properties)
-         {
-             properties += <boost.locale.winapi>on ;
-         }      
-@@ -335,7 +334,7 @@ rule configure-full ( properties * : fla
-     }
-     
-     if ( ! <boost.locale.winapi>off in $(properties) || ! <boost.locale.std>off in $(properties) )
--       && ( <target-os>windows in $(properties) || <target-os>cygwin in $(properties) )
-+       && <target-os>windows in $(properties)
-     {
-         result += <source>win32/lcid.cpp ;
-     }
---- boost_1_57_0/libs/locale/src/encoding/codepage.cpp	2014-04-06 08:11:49.000000000 -0500
-+++ boost_1_57_0/libs/locale/src/encoding/codepage.cpp	2015-05-04 23:16:01.778652600 -0500
-@@ -8,7 +8,7 @@
- #define BOOST_LOCALE_SOURCE
- #include <boost/config.hpp>
- 
--#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_WINDOWS)
- #define BOOST_LOCALE_WITH_WCONV
- #endif
- 
---- boost_1_57_0/libs/locale/src/encoding/conv.hpp	2014-04-06 08:11:49.000000000 -0500
-+++ boost_1_57_0/libs/locale/src/encoding/conv.hpp	2015-05-04 23:16:08.454000300 -0500
-@@ -59,7 +59,7 @@ namespace boost {
-                     return normalize_encoding(l).compare(normalize_encoding(r));
-                 }
-             
--                #if defined(BOOST_WINDOWS)  || defined(__CYGWIN__)
-+                #if defined(BOOST_WINDOWS)
-                 int encoding_to_windows_codepage(char const *ccharset);
-                 #endif
-             
---- boost_1_57_0/libs/locale/src/util/default_locale.cpp	2014-04-06 08:11:49.000000000 -0500
-+++ boost_1_57_0/libs/locale/src/util/default_locale.cpp	2015-05-04 23:16:16.311998100 -0500
-@@ -15,7 +15,7 @@
- #  pragma warning(disable : 4996)
- #endif
- 
--#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_WINDOWS)
- #ifndef NOMINMAX
- #define NOMINMAX
- #endif
---- boost_1_57_0/libs/locale/test/test_codepage.cpp	2014-04-06 08:11:49.000000000 -0500
-+++ boost_1_57_0/libs/locale/test/test_codepage.cpp	2015-05-04 23:16:40.883618300 -0500
-@@ -23,7 +23,7 @@
- # include <locale.h>
- #endif
- 
--#if !defined(BOOST_LOCALE_WITH_ICU) && !defined(BOOST_LOCALE_WITH_ICONV) && (defined(BOOST_WINDOWS) || defined(__CYGWIN__))
-+#if !defined(BOOST_LOCALE_WITH_ICU) && !defined(BOOST_LOCALE_WITH_ICONV) && defined(BOOST_WINDOWS)
- #ifndef NOMINMAX
- # define NOMINMAX
- #endif
-@@ -395,7 +395,7 @@ int main()
-         def.push_back("posix");
-         #endif
- 
--        #if !defined(BOOST_LOCALE_WITH_ICU) && !defined(BOOST_LOCALE_WITH_ICONV) && (defined(BOOST_WINDOWS) || defined(__CYGWIN__))
-+        #if !defined(BOOST_LOCALE_WITH_ICU) && !defined(BOOST_LOCALE_WITH_ICONV) && defined(BOOST_WINDOWS)
-         test_iso_8859_8 = IsValidCodePage(28598)!=0;
-         #endif
- 
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-log-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-log-cygwin.patch
deleted file mode 100644
index a7748ec58d82..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-log-cygwin.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- boost_1_57_0/boost/log/detail/config.hpp	2014-10-29 19:19:00.000000000 -0500
-+++ boost_1_57_0/boost/log/detail/config.hpp	2015-05-04 17:56:38.663746100 -0500
-@@ -96,11 +96,6 @@
- #   define BOOST_LOG_BROKEN_CONSTANT_EXPRESSIONS
- #endif
- 
--#if defined(__CYGWIN__)
--    // Boost.ASIO is broken on Cygwin
--#   define BOOST_LOG_NO_ASIO
--#endif
--
- #if !defined(BOOST_LOG_USE_NATIVE_SYSLOG) && defined(BOOST_LOG_NO_ASIO)
- #   ifndef BOOST_LOG_WITHOUT_SYSLOG
- #       define BOOST_LOG_WITHOUT_SYSLOG
---- boost_1_57_0/libs/log/build/Jamfile.v2	2014-10-29 19:19:00.000000000 -0500
-+++ boost_1_57_0/libs/log/build/Jamfile.v2	2015-05-04 22:16:49.242537800 -0500
-@@ -170,10 +170,6 @@ project boost/log
-         <target-os>windows:<library>ws2_32
-         <target-os>windows:<library>mswsock
- 
--        <target-os>cygwin:<define>__USE_W32_SOCKETS
--        <target-os>cygwin:<library>ws2_32
--        <target-os>cygwin:<library>mswsock
--
-         <target-os>linux:<library>rt
-         <target-os>linux:<define>_XOPEN_SOURCE=600
-         <target-os>linux:<define>_GNU_SOURCE=1
---- boost_1_57_0/libs/log/src/windows_version.hpp	2014-10-29 19:19:00.000000000 -0500
-+++ boost_1_57_0/libs/log/src/windows_version.hpp	2015-05-04 23:17:08.281597400 -0500
-@@ -18,7 +18,7 @@
- 
- #include <boost/log/detail/config.hpp>
- 
--#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
-+#if defined(BOOST_WINDOWS)
- 
- #if defined(BOOST_LOG_USE_WINNT6_API)
- 
-@@ -50,6 +50,6 @@
- #define WIN32_LEAN_AND_MEAN
- #endif
- 
--#endif // defined(BOOST_WINDOWS) || defined(__CYGWIN__)
-+#endif // defined(BOOST_WINDOWS)
- 
- #endif // BOOST_LOG_WINDOWS_VERSION_HPP_INCLUDED_
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-smart_ptr-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-smart_ptr-cygwin.patch
deleted file mode 100644
index 35e6905b0f33..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-smart_ptr-cygwin.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- boost_1_57_0/boost/smart_ptr/detail/atomic_count.hpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/boost/smart_ptr/detail/atomic_count.hpp	2015-05-04 17:47:15.556740500 -0500
-@@ -79,7 +79,7 @@
- #elif defined( BOOST_SP_HAS_SYNC )
- # include <boost/smart_ptr/detail/atomic_count_sync.hpp>
- 
--#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
- # include <boost/smart_ptr/detail/atomic_count_win32.hpp>
- 
- #elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
---- boost_1_57_0/boost/smart_ptr/detail/lightweight_mutex.hpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/boost/smart_ptr/detail/lightweight_mutex.hpp	2015-05-04 17:47:45.234509100 -0500
-@@ -32,7 +32,7 @@
- #  include <boost/smart_ptr/detail/lwm_nop.hpp>
- #elif defined(BOOST_HAS_PTHREADS)
- #  include <boost/smart_ptr/detail/lwm_pthreads.hpp>
--#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-+#elif defined(BOOST_HAS_WINTHREADS) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
- #  include <boost/smart_ptr/detail/lwm_win32_cs.hpp>
- #else
- // Use #define BOOST_DISABLE_THREADS to avoid the error
---- boost_1_57_0/boost/smart_ptr/detail/sp_counted_base.hpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/boost/smart_ptr/detail/sp_counted_base.hpp	2015-05-04 17:47:45.240009800 -0500
-@@ -65,7 +65,7 @@
- #elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp>
- 
--#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__)
-+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
- # include <boost/smart_ptr/detail/sp_counted_base_w32.hpp>
- 
- #elif defined( _AIX )
---- boost_1_57_0/boost/smart_ptr/detail/sp_interlocked.hpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/boost/smart_ptr/detail/sp_interlocked.hpp	2015-05-04 17:48:39.316376700 -0500
-@@ -119,7 +119,7 @@ extern "C" long __cdecl _InterlockedExch
- # define BOOST_SP_INTERLOCKED_EXCHANGE _InterlockedExchange
- # define BOOST_SP_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd
- 
--#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-+#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
- 
- namespace boost
- {
---- boost_1_57_0/boost/smart_ptr/detail/spinlock.hpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/boost/smart_ptr/detail/spinlock.hpp	2015-05-04 17:47:45.247510800 -0500
-@@ -49,7 +49,7 @@
- #elif defined( BOOST_SP_HAS_SYNC )
- #  include <boost/smart_ptr/detail/spinlock_sync.hpp>
- 
--#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-+#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
- #  include <boost/smart_ptr/detail/spinlock_w32.hpp>
- 
- #elif defined(BOOST_HAS_PTHREADS)
---- boost_1_57_0/boost/smart_ptr/detail/yield_k.hpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/boost/smart_ptr/detail/yield_k.hpp	2015-05-04 17:47:45.253511600 -0500
-@@ -47,7 +47,7 @@ extern "C" void _mm_pause();
- 
- //
- 
--#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-+#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
- 
- #if defined( BOOST_USE_WINDOWS_H )
- # include <windows.h>
---- boost_1_57_0/libs/smart_ptr/test/sp_interlocked_test.cpp	2014-08-21 15:48:32.000000000 -0500
-+++ boost_1_57_0/libs/smart_ptr/test/sp_interlocked_test.cpp	2015-05-04 23:18:21.717422600 -0500
-@@ -8,7 +8,7 @@
- //  http://www.boost.org/LICENSE_1_0.txt
- //
- 
--#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ )
-+#if defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
- 
- #include <boost/smart_ptr/detail/sp_interlocked.hpp>
- #include <boost/detail/lightweight_test.hpp>
diff --git a/pkgs/development/libraries/boost/cygwin-1.57.0-system-cygwin.patch b/pkgs/development/libraries/boost/cygwin-1.57.0-system-cygwin.patch
deleted file mode 100644
index e241f37f2036..000000000000
--- a/pkgs/development/libraries/boost/cygwin-1.57.0-system-cygwin.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- boost_1_57_0/boost/system/api_config.hpp	2014-08-03 15:44:11.000000000 -0500
-+++ boost_1_57_0/boost/system/api_config.hpp	2015-05-04 17:51:31.189701800 -0500
-@@ -33,7 +33,7 @@
- //    Standalone MinGW and all other known Windows compilers do predefine _WIN32
- //    Compilers that predefine _WIN32 or __MINGW32__ do so for Windows 64-bit builds too.
- 
--# if defined(_WIN32) || defined(__CYGWIN__) // Windows default, including MinGW and Cygwin
-+# if defined(_WIN32) // Windows default, including MinGW and Cygwin
- #   define BOOST_WINDOWS_API
- # else
- #   define BOOST_POSIX_API 
---- boost_1_57_0/boost/system/detail/error_code.ipp	2014-08-03 15:44:11.000000000 -0500
-+++ boost_1_57_0/boost/system/detail/error_code.ipp	2015-05-04 17:51:02.925112700 -0500
-@@ -97,7 +97,7 @@ namespace
-       char buf[64];
-       char * bp = buf;
-       std::size_t sz = sizeof(buf);
--  #  if defined(__CYGWIN__) || defined(__USE_GNU)
-+  #  if defined(__GNU_VISIBLE) || defined(__USE_GNU)
-       // Oddball version of strerror_r
-       const char * c_str = strerror_r( ev, bp, sz );
-       return  c_str
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch
deleted file mode 100644
index b60a3ac49d3c..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp
-index 8b2bc43..d04f2fe 100644
---- a/libs/units/example/autoprefixes.cpp
-+++ b/libs/units/example/autoprefixes.cpp
-@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit<thing_base_unit, boost::units::
- struct euro_base_unit : boost::units::base_unit<euro_base_unit, boost::units::dimensionless_type, 5>
- {
-   static const char* name() { return("EUR"); }
--  static const char* symbol() { return("€"); }
-+  static const char* symbol() { return("€"); }
- };
- 
- int main()
-@@ -140,7 +140,7 @@ int main()
- 
-   quantity<euro_base_unit::unit_type> ce = 2048. * euro_base_unit::unit_type();
-   cout << name_format << engineering_prefix << ce << endl;  // 2.048 kiloEUR
--  cout << symbol_format << engineering_prefix << ce << endl;  // 2.048 k€
-+  cout << symbol_format << engineering_prefix << ce << endl;  // 2.048 k€
- 
- 
-     return 0;
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-pool.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-pool.patch
deleted file mode 100644
index 15ce4007675d..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.50.0-pool.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-Index: boost/pool/pool.hpp
-===================================================================
---- a/boost/pool/pool.hpp	(revision 78317)
-+++ b/boost/pool/pool.hpp	(revision 78326)
-@@ -27,4 +27,6 @@
- #include <boost/pool/poolfwd.hpp>
- 
-+// std::numeric_limits
-+#include <boost/limits.hpp>
- // boost::math::static_lcm
- #include <boost/math/common_factor_ct.hpp>
-@@ -358,4 +360,13 @@
-     }
- 
-+    size_type max_chunks() const
-+    { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
-+      size_type partition_size = alloc_size();
-+      size_type POD_size = math::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
-+      size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
-+    
-+      return max_chunks;
-+    }
-+
-     static void * & nextof(void * const ptr)
-     { //! \returns Pointer dereferenced.
-@@ -377,5 +388,7 @@
-       //!   the first time that object needs to allocate system memory.
-       //!   The default is 32. This parameter may not be 0.
--      //! \param nmax_size is the maximum number of chunks to allocate in one block.
-+      //! \param nmax_size is the maximum number of chunks to allocate in one block.			
-+      set_next_size(nnext_size);
-+      set_max_size(nmax_size);
-     }
- 
-@@ -400,7 +413,7 @@
-     }
-     void set_next_size(const size_type nnext_size)
--    { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.
--      //! \returns nnext_size.
--      next_size = start_size = nnext_size;
-+    { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0.     
-+      BOOST_USING_STD_MIN();
-+      next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
-     }
-     size_type get_max_size() const
-@@ -410,5 +423,6 @@
-     void set_max_size(const size_type nmax_size)
-     { //! Set max_size.
--      max_size = nmax_size;
-+      BOOST_USING_STD_MIN();
-+      max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
-     }
-     size_type get_requested_size() const
-@@ -713,7 +727,7 @@
-   BOOST_USING_STD_MIN();
-   if(!max_size)
--    next_size <<= 1;
-+    set_next_size(next_size << 1);
-   else if( next_size*partition_size/requested_size < max_size)
--    next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+    set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
- 
-   //  initialize it,
-@@ -753,7 +767,7 @@
-   BOOST_USING_STD_MIN();
-   if(!max_size)
--    next_size <<= 1;
-+    set_next_size(next_size << 1);
-   else if( next_size*partition_size/requested_size < max_size)
--    next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+    set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
- 
-   //  initialize it,
-@@ -797,4 +811,6 @@
-   //! \returns Address of chunk n if allocated ok.
-   //! \returns 0 if not enough memory for n chunks.
-+  if (n > max_chunks())
-+    return 0;
- 
-   const size_type partition_size = alloc_size();
-@@ -845,7 +861,7 @@
-   BOOST_USING_STD_MIN();
-   if(!max_size)
--    next_size <<= 1;
-+    set_next_size(next_size << 1);
-   else if( next_size*partition_size/requested_size < max_size)
--    next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size);
-+    set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size));
- 
-   //  insert it into the list,
-Index: libs/pool/test/test_bug_6701.cpp
-===================================================================
---- a/libs/pool/test/test_bug_6701.cpp	(revision 78326)
-+++ b/libs/pool/test/test_bug_6701.cpp	(revision 78326)
-@@ -0,0 +1,27 @@
-+/* Copyright (C) 2012 Étienne Dupuis
-+* 
-+* Use, modification and distribution is subject to the 
-+* Boost Software License, Version 1.0. (See accompanying
-+* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
-+*/
-+
-+// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701)
-+
-+#include <boost/pool/object_pool.hpp>
-+#include <boost/limits.hpp>
-+
-+int main()
-+{
-+  boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768);
-+
-+  void *x = p.malloc();
-+  BOOST_ASSERT(!x);
-+  
-+  BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size());
-+  BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size());
-+
-+  void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768);
-+  BOOST_ASSERT(!y);
-+
-+  return 0;
-+}
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch
deleted file mode 100644
index b7c91284d9bb..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp
---- boost_1_54_0-orig/boost/locale/boundary/segment.hpp	2013-07-23 00:47:27.020787174 +0200
-+++ boost_1_54_0/boost/locale/boundary/segment.hpp	2013-07-23 00:50:40.382959016 +0200
-@@ -27,7 +27,6 @@ namespace boundary {
-         int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end)
-         {
-             typedef LeftIterator left_iterator;
--            typedef RightIterator right_iterator;
-             typedef typename std::iterator_traits<left_iterator>::value_type char_type;
-             typedef std::char_traits<char_type> traits;
-             while(l_begin!=l_end && r_begin!=r_end) {
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch
deleted file mode 100644
index 6c1d0a021ed1..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -up ./boost/pool/pool.hpp~ ./boost/pool/pool.hpp
---- a/boost/pool/pool.hpp~	2013-08-21 17:49:56.023296922 +0200
-+++ b/boost/pool/pool.hpp	2013-08-22 11:38:01.133912638 +0200
-@@ -361,9 +361,7 @@ class pool: protected simple_segregated_
-     { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool.
-       size_type partition_size = alloc_size();
-       size_type POD_size = math::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type);
--      size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
--    
--      return max_chunks;
-+      return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
-     }
- 
-     static void * & nextof(void * const ptr)
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-python-unused_typedef.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-python-unused_typedef.patch
deleted file mode 100644
index 8adf8ed2080d..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.54.0-python-unused_typedef.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -up boost_1_53_0/boost/python/to_python_value.hpp\~ boost_1_53_0/boost/python/to_python_value.hpp
---- boost_1_53_0/boost/python/to_python_value.hpp~	2007-12-16 11:12:07.000000000 +0100
-+++ boost_1_53_0/boost/python/to_python_value.hpp	2013-07-23 16:19:02.518904596 +0200
-@@ -147,8 +147,8 @@ namespace detail
-   template <class T>
-   inline PyObject* registry_to_python_value<T>::operator()(argument_type x) const
-   {
--      typedef converter::registered<argument_type> r;
- # if BOOST_WORKAROUND(__GNUC__, < 3)
-+      typedef converter::registered<argument_type> r;
-       // suppresses an ICE, somehow
-       (void)r::converters;
- # endif 
-
-Diff finished.  Tue Jul 23 16:19:05 2013
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-move-is_class.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-move-is_class.patch
deleted file mode 100644
index cf9756e40ea4..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-move-is_class.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up ./move/core.hpp~ ./move/core.hpp
---- a/boost/move/core.hpp~	2015-02-09 17:33:35.000000000 +0100
-+++ b/boost/move/core.hpp	2015-02-13 13:54:52.012130813 +0100
-@@ -43,6 +43,7 @@
- #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_MOVE_DOXYGEN_INVOKED)
- 
-    #include <boost/move/detail/meta_utils.hpp>
-+   #include <boost/type_traits/is_class.hpp>
- 
-    //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
-    #if defined(__GNUC__) && (__GNUC__ >= 4) && \
-@@ -65,7 +66,7 @@
-    template <class T>
-    class rv
-       : public ::boost::move_detail::if_c
--         < ::boost::move_detail::is_class_or_union<T>::value
-+         < ::boost::is_class<T>::value
-          , T
-          , ::boost::move_detail::nat
-          >::type
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-mpl-print.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-mpl-print.patch
deleted file mode 100644
index 561cef19eb23..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-mpl-print.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp
---- boost_1_57_0/boost/mpl/print.hpp~	2014-07-09 23:12:31.000000000 +0200
-+++ boost_1_57_0/boost/mpl/print.hpp	2015-01-20 12:44:59.621400948 +0100
-@@ -52,16 +52,15 @@ struct print
-     enum { n = sizeof(T) + -1 };
- #elif defined(__MWERKS__)
-     void f(int);
--#else 
--    enum {
--        n =
--# if defined(__EDG_VERSION__)
--           aux::dependent_unsigned<T>::value > -1
--# else 
--           sizeof(T) > -1
--# endif 
--        };
--#endif 
-+#elif defined(__EDG_VERSION__)
-+    enum { n = aux::dependent_unsigned<T>::value > -1 };
-+#elif defined(BOOST_GCC)
-+    enum { n1 };
-+    enum { n2 };
-+    enum { n = n1 != n2 };
-+#else
-+    enum { n = sizeof(T) > -1 };
-+#endif
- };
- 
- #if defined(BOOST_MSVC)
-
-Diff finished.  Tue Jan 20 12:45:03 2015
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-pool-test_linking.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-pool-test_linking.patch
deleted file mode 100644
index 57e6206bba15..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-pool-test_linking.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up boost_1_57_0/libs/pool/test/Jamfile.v2\~ boost_1_57_0/libs/pool/test/Jamfile.v2
---- boost_1_57_0/libs/pool/test/Jamfile.v2~	2014-07-10 06:36:10.000000000 +0200
-+++ boost_1_57_0/libs/pool/test/Jamfile.v2	2015-01-20 13:59:10.818700586 +0100
-@@ -28,17 +28,17 @@ explicit valgrind_config_check ;
- local use-valgrind = [ check-target-builds valgrind_config_check "valgrind" : <testing.launcher>"valgrind --error-exitcode=1" : <build>no ] ;
- 
- test-suite pool :
--    [ run test_simple_seg_storage.cpp ]
--    [ run test_pool_alloc.cpp ]
--    [ run pool_msvc_compiler_bug_test.cpp ]
--    [ run test_msvc_mem_leak_detect.cpp ]
--    [ run test_bug_3349.cpp ]
--    [ run test_bug_4960.cpp ]
--    [ run test_bug_1252.cpp ]
--    [ run test_bug_2696.cpp ]
--    [ run test_bug_5526.cpp ]
-+    [ run test_simple_seg_storage.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_pool_alloc.cpp : : : <library>/boost/system//boost_system ]
-+    [ run pool_msvc_compiler_bug_test.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_msvc_mem_leak_detect.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_bug_3349.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_bug_4960.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_bug_1252.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_bug_2696.cpp : : : <library>/boost/system//boost_system ]
-+    [ run test_bug_5526.cpp : : : <library>/boost/system//boost_system ]
-     [ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread <toolset>gcc:<cxxflags>-Wno-attributes <toolset>gcc:<cxxflags>-Wno-missing-field-initializers ]
--    [ run  ../example/time_pool_alloc.cpp ]
-+    [ run  ../example/time_pool_alloc.cpp : : : <library>/boost/system//boost_system ]
-     [ compile test_poisoned_macros.cpp ]
- 
- #
-
-Diff finished.  Tue Jan 20 13:59:16 2015
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch
deleted file mode 100644
index eb9ea14011ff..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/boost/signals2/trackable.hpp
-+++ b/boost/signals2/trackable.hpp
-@@ -18,6 +18,7 @@
- 
- #include <boost/assert.hpp>
- #include <boost/shared_ptr.hpp>
-+#include <boost/weak_ptr.hpp>
- 
- namespace boost {
-   namespace signals2 {
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch
deleted file mode 100644
index 282962987c59..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp
---- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~	2014-10-13 12:21:40.000000000 +0200
-+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp	2015-01-20 13:25:50.069710766 +0100
-@@ -282,12 +282,12 @@ struct grammar_definition
- #if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE)
-         typedef impl::grammar_helper_base<GrammarT> helper_base_t;
-         typedef grammar_helper_list<GrammarT> helper_list_t;
--        typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
- 
-         helper_list_t&  helpers =
-         grammartract_helper_list::do_(self);
- 
- # if defined(BOOST_INTEL_CXX_VERSION)
-+        typedef typename helper_list_t::vector_t::reverse_iterator iterator_t;
-         for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i)
-             (*i)->undefine(self);
- # else
-
-Diff finished.  Tue Jan 20 13:25:53 2015
diff --git a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-uuid-comparison.patch b/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-uuid-comparison.patch
deleted file mode 100644
index 30ebb981b70b..000000000000
--- a/pkgs/development/libraries/boost/cygwin-fedora-boost-1.57.0-uuid-comparison.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/boost/uuid/detail/uuid_x86.hpp
-+++ b/boost/uuid/detail/uuid_x86.hpp
-@@ -100,7 +100,7 @@ inline bool operator< (uuid const& lhs, uuid const& rhs) BOOST_NOEXCEPT
-     cmp = (cmp - 1u) ^ cmp;
-     rcmp = (rcmp - 1u) ^ rcmp;
- 
--    return static_cast< uint16_t >(cmp) < static_cast< uint16_t >(rcmp);
-+    return cmp < rcmp;
- }
- 
- } // namespace uuids
diff --git a/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch b/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch
index feb46021f8c7..9eb53acebb0a 100644
--- a/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/development/libraries/geoclue/add-option-for-installation-sysconfdir.patch
@@ -1,5 +1,5 @@
 diff --git a/data/meson.build b/data/meson.build
-index f826864..8b8a25e 100644
+index c189753..12c10cb 100644
 --- a/data/meson.build
 +++ b/data/meson.build
 @@ -7,7 +7,7 @@ if get_option('enable-backend')
@@ -11,7 +11,16 @@ index f826864..8b8a25e 100644
      configure_file(output: 'geoclue.conf',
                     input: 'geoclue.conf.in',
                     configuration: conf,
-@@ -26,7 +26,7 @@ if get_option('enable-backend')
+@@ -16,7 +16,7 @@ if get_option('enable-backend')
+     conf = configuration_data()
+     conf.set('libexecdir', libexecdir)
+     conf.set('dbus_srv_user', get_option('dbus-srv-user'))
+-    conf.set('sysconfdir', sysconfdir)
++    conf.set('sysconfdir', sysconfdir_install)
+ 
+     service_dir = join_paths(datadir, 'dbus-1', 'system-services')
+     configure_file(output: 'org.freedesktop.GeoClue2.service',
+@@ -33,7 +33,7 @@ if get_option('enable-backend')
      # DBus Service policy file
      dbus_service_dir = get_option('dbus-sys-dir')
      if dbus_service_dir == ''
@@ -21,10 +30,10 @@ index f826864..8b8a25e 100644
      configure_file(output: 'org.freedesktop.GeoClue2.conf',
                     input: 'org.freedesktop.GeoClue2.conf.in',
 diff --git a/demo/meson.build b/demo/meson.build
-index 99c094f..a29ca96 100644
+index 1427fbe..2623f16 100644
 --- a/demo/meson.build
 +++ b/demo/meson.build
-@@ -56,7 +56,7 @@ if get_option('demo-agent')
+@@ -54,7 +54,7 @@ if get_option('demo-agent')
                                     install_dir: desktop_dir)
  
      # Also install in the autostart directory.
@@ -34,7 +43,7 @@ index 99c094f..a29ca96 100644
                               desktop_file.full_path(),
                               autostart_dir)
 diff --git a/meson.build b/meson.build
-index d738ef6..c794a1d 100644
+index fde6fa3..39b7b0a 100644
 --- a/meson.build
 +++ b/meson.build
 @@ -12,7 +12,11 @@ gclue_api_version='2.0'
@@ -50,8 +59,8 @@ index d738ef6..c794a1d 100644
  localedir = join_paths(datadir, 'locale')
  
  header_dir = 'libgeoclue-' + gclue_api_version
-@@ -29,7 +33,7 @@ conf.set_quoted('PACKAGE_URL', 'http://www.freedesktop.org/wiki/Software/GeoClue
- conf.set_quoted('PACKAGE_BUGREPORT', 'http://bugs.freedesktop.org/enter_bug.cgi?product=GeoClue')
+@@ -29,7 +33,7 @@ conf.set_quoted('PACKAGE_URL', 'https://gitlab.freedesktop.org/geoclue/geoclue/w
+ conf.set_quoted('PACKAGE_BUGREPORT', 'https://gitlab.freedesktop.org/geoclue/geoclue/issues/new')
  conf.set_quoted('TEST_SRCDIR', meson.source_root() + '/data/')
  conf.set_quoted('LOCALEDIR', localedir)
 -conf.set_quoted('SYSCONFDIR', sysconfdir)
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index 5b8951cb3e07..70319c9151f5 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -7,14 +7,14 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "geoclue";
-  version = "2.5.2";
+  version = "2.5.3";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1zk6n28q030a9v03whad928b9zwq16d30ch369qv2c0994axdr5p";
+    sha256 = "1wbpi74dw3p7izxwd57irz2i1g55r7wzl5h2yf0ns0hgq2njdfsg";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/herqq/gcc6.patch b/pkgs/development/libraries/herqq/gcc6.patch
deleted file mode 100644
index b0f7d8d0c6fa..000000000000
--- a/pkgs/development/libraries/herqq/gcc6.patch
+++ /dev/null
@@ -1,1320 +0,0 @@
-diff --git c/herqq/apps/simple_avtest-app/mediamanager_dialog.cpp i/herqq/apps/simple_avtest-app/mediamanager_dialog.cpp
-index c4d2ebe..707dbdb 100644
---- c/herqq/apps/simple_avtest-app/mediamanager_dialog.cpp
-+++ i/herqq/apps/simple_avtest-app/mediamanager_dialog.cpp
-@@ -306,7 +306,7 @@ void MediaManagerDialog::avTransportStateChanged(
- {
-     foreach(const HAvtLastChangeInfo& info, infos)
-     {
--        if (info.propertyName().compare("TransportState", Qt::CaseInsensitive) == 0)
-+        if (info.propertyName().compare(QString("TransportState"), Qt::CaseInsensitive) == 0)
-         {
-             HTransportState state(info.value().toString());
-             if (state.isValid())
-diff --git c/herqq/hupnp/src/dataelements/hproduct_tokens.cpp i/herqq/hupnp/src/dataelements/hproduct_tokens.cpp
-index 40f9fda..6739a58 100644
---- c/herqq/hupnp/src/dataelements/hproduct_tokens.cpp
-+++ i/herqq/hupnp/src/dataelements/hproduct_tokens.cpp
-@@ -99,7 +99,7 @@ bool HProductToken::isValidUpnpToken() const
- {
-     QString vrs = version();
- 
--    return (m_token.compare("upnp", Qt::CaseInsensitive) == 0) &&
-+    return (m_token.compare(QString("upnp"), Qt::CaseInsensitive) == 0) &&
-            (vrs.size() == 3    &&
-            (vrs[0]     == '1') &&
-             vrs[1]     == '.'  &&
-@@ -110,7 +110,7 @@ bool HProductToken::isValidDlnaDocToken() const
- {
-     QString vrs = version();
- 
--    bool b = m_token.compare("DLNADOC", Qt::CaseInsensitive) == 0 &&
-+    bool b = m_token.compare(QString("DLNADOC"), Qt::CaseInsensitive) == 0 &&
-              vrs.size() >= 3 &&
-              vrs[0] == '1' &&
-              vrs[1] == '.';
-diff --git c/herqq/hupnp/src/dataelements/hresourcetype.cpp i/herqq/hupnp/src/dataelements/hresourcetype.cpp
-index 8ed2492..94ab1e0 100644
---- c/herqq/hupnp/src/dataelements/hresourcetype.cpp
-+++ i/herqq/hupnp/src/dataelements/hresourcetype.cpp
-@@ -56,7 +56,7 @@ HResourceType::HResourceType(const QString& resourceTypeAsStr) :
-     {
-         return;
-     }
--    if (tmp[1].compare("schemas-upnp-org") != 0)
-+    if (tmp[1].compare(QString("schemas-upnp-org")) != 0)
-     {
-         flags = 0x01;
-         tmp[1] = tmp[1].replace('.', '-');
-@@ -67,11 +67,11 @@ HResourceType::HResourceType(const QString& resourceTypeAsStr) :
-     }
- 
-     tmp[2] = tmp[2].simplified();
--    if (tmp[2].compare("device") == 0)
-+    if (tmp[2].compare(QString("device")) == 0)
-     {
-         flags |= 0x04;
-     }
--    else if (tmp[2].compare("service") == 0)
-+    else if (tmp[2].compare(QString("service")) == 0)
-     {
-         flags |= 0x08;
-     }
-diff --git c/herqq/hupnp/src/dataelements/hserviceid.cpp i/herqq/hupnp/src/dataelements/hserviceid.cpp
-index 9b0fad6..11a8640 100644
---- c/herqq/hupnp/src/dataelements/hserviceid.cpp
-+++ i/herqq/hupnp/src/dataelements/hserviceid.cpp
-@@ -64,7 +64,7 @@ public:
-             return;
-         }
- 
--        if (tmp[0].compare("urn", Qt::CaseInsensitive) != 0)
-+        if (tmp[0].compare(QString("urn"), Qt::CaseInsensitive) != 0)
-         {
-             HLOG_WARN_NONSTD(
-                 QString("Invalid service identifier [%1]").arg(arg));
-@@ -72,7 +72,7 @@ public:
-             return;
-         }
- 
--        if (tmp[1].compare("upnp-org", Qt::CaseInsensitive) != 0)
-+        if (tmp[1].compare(QString("upnp-org"), Qt::CaseInsensitive) != 0)
-         {
-             tmp[1] = tmp[1].replace('.', '-');
-             if (tmp[1].isEmpty())
-@@ -85,7 +85,7 @@ public:
-         }
- 
-         bool warned = false;
--        if (tmp[2].compare("serviceId", Qt::CaseInsensitive) != 0)
-+        if (tmp[2].compare(QString("serviceId"), Qt::CaseInsensitive) != 0)
-         {
-             HLOG_WARN_NONSTD(QString("Invalid service identifier [%1]").arg(arg));
-             warned = true;
-diff --git c/herqq/hupnp/src/devicehosting/hddoc_parser_p.cpp i/herqq/hupnp/src/devicehosting/hddoc_parser_p.cpp
-index b3a58fa..d1853e1 100644
---- c/herqq/hupnp/src/devicehosting/hddoc_parser_p.cpp
-+++ i/herqq/hupnp/src/devicehosting/hddoc_parser_p.cpp
-@@ -195,7 +195,7 @@ bool HDocParser::parseActionArguments(
-         }
- 
-         HActionArgument createdArg;
--        if (dirStr.compare("out", Qt::CaseInsensitive) == 0)
-+        if (dirStr.compare(QString("out"), Qt::CaseInsensitive) == 0)
-         {
-             if (retValWasDefined)
-             {
-@@ -228,7 +228,7 @@ bool HDocParser::parseActionArguments(
- 
-             outArgs->push_back(createdArg);
-         }
--        else if (dirStr.compare("in", Qt::CaseInsensitive) == 0)
-+        else if (dirStr.compare(QString("in"), Qt::CaseInsensitive) == 0)
-         {
-             if (firstOutArgFound)
-             {
-@@ -677,11 +677,11 @@ bool HDocParser::parseStateVariable(
- 
-     QString strSendEvents = stateVariableElement.attribute("sendEvents", "no");
-     bool bSendEvents      = false;
--    if (strSendEvents.compare("yes", Qt::CaseInsensitive) == 0)
-+    if (strSendEvents.compare(QString("yes"), Qt::CaseInsensitive) == 0)
-     {
-         bSendEvents = true;
-     }
--    else if (strSendEvents.compare("no", Qt::CaseInsensitive) != 0)
-+    else if (strSendEvents.compare(QString("no"), Qt::CaseInsensitive) != 0)
-     {
-         m_lastError = InvalidServiceDescriptionError;
-         m_lastErrorDescription = QString(
-@@ -694,11 +694,11 @@ bool HDocParser::parseStateVariable(
- 
-     QString strMulticast  = stateVariableElement.attribute("multicast", "no");
-     bool bMulticast       = false;
--    if (strMulticast.compare("yes", Qt::CaseInsensitive) == 0)
-+    if (strMulticast.compare(QString("yes"), Qt::CaseInsensitive) == 0)
-     {
-         bMulticast = true;
-     }
--    else if (strMulticast.compare("no", Qt::CaseInsensitive) != 0)
-+    else if (strMulticast.compare(QString("no"), Qt::CaseInsensitive) != 0)
-     {
-         m_lastError = InvalidServiceDescriptionError;
-         m_lastErrorDescription = QString(
-diff --git c/herqq/hupnp/src/devicehosting/messages/hevent_messages_p.cpp i/herqq/hupnp/src/devicehosting/messages/hevent_messages_p.cpp
-index 2e375a0..2d6a8cc 100644
---- c/herqq/hupnp/src/devicehosting/messages/hevent_messages_p.cpp
-+++ i/herqq/hupnp/src/devicehosting/messages/hevent_messages_p.cpp
-@@ -197,7 +197,7 @@ HSubscribeRequest::RetVal HSubscribeRequest::setContents(
- 
-     // this appears to be an initial subscription
- 
--    if (nt.simplified().compare("upnp:event", Qt::CaseInsensitive) != 0)
-+    if (nt.simplified().compare(QString("upnp:event"), Qt::CaseInsensitive) != 0)
-     {
-         return PreConditionFailed;
-     }
-diff --git c/herqq/hupnp/src/devicehosting/messages/hnt_p.cpp i/herqq/hupnp/src/devicehosting/messages/hnt_p.cpp
-index aacdfcf..b618ba7 100644
---- c/herqq/hupnp/src/devicehosting/messages/hnt_p.cpp
-+++ i/herqq/hupnp/src/devicehosting/messages/hnt_p.cpp
-@@ -37,7 +37,7 @@ HNt::HNt(const QString& type) :
-     m_typeValue(qMakePair(Type_Undefined, QString(""))),

-     m_subTypeValue(qMakePair(SubType_Undefined, QString("")))

- {

--    if (type.compare("upnp:event", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("upnp:event"), Qt::CaseInsensitive) == 0)

-     {

-         m_typeValue.first  = Type_UpnpEvent;

-         m_typeValue.second = "upnp:event";

-@@ -48,13 +48,13 @@ HNt::HNt(const QString& type, const QString& subtype) :
-     m_typeValue(qMakePair(Type_Undefined, QString(""))),

-     m_subTypeValue(qMakePair(SubType_Undefined, QString("")))

- {

--    if (type.compare("upnp:event", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("upnp:event"), Qt::CaseInsensitive) == 0)

-     {

-         m_typeValue.first  = Type_UpnpEvent;

-         m_typeValue.second = "upnp:event";

-     }

- 

--    if (subtype.compare("upnp:propchange", Qt::CaseInsensitive) == 0)

-+    if (subtype.compare(QString("upnp:propchange"), Qt::CaseInsensitive) == 0)

-     {

-         m_subTypeValue.first  = SubType_UpnpPropChange;

-         m_subTypeValue.second = "upnp:propchange";

-diff --git c/herqq/hupnp/src/devicehosting/messages/htimeout_p.cpp i/herqq/hupnp/src/devicehosting/messages/htimeout_p.cpp
-index 0faf7f4..addbaaf 100644
---- c/herqq/hupnp/src/devicehosting/messages/htimeout_p.cpp
-+++ i/herqq/hupnp/src/devicehosting/messages/htimeout_p.cpp
-@@ -43,7 +43,7 @@ HTimeout::HTimeout(const QString& timeout) :
-     m_value(-1)

- {

-     QString tmp(timeout.simplified());

--    if (tmp.compare("infinite", Qt::CaseInsensitive) != 0)

-+    if (tmp.compare(QString("infinite"), Qt::CaseInsensitive) != 0)

-     {

-         if (tmp.startsWith("Second-", Qt::CaseInsensitive))

-         {

-diff --git c/herqq/hupnp/src/general/hupnp_datatypes.cpp i/herqq/hupnp/src/general/hupnp_datatypes.cpp
-index 9f2084f..ae8e9ae 100644
---- c/herqq/hupnp/src/general/hupnp_datatypes.cpp
-+++ i/herqq/hupnp/src/general/hupnp_datatypes.cpp
-@@ -424,15 +424,15 @@ QVariant HUpnpDataTypes::convertToRightVariantType(
- 

-     case HUpnpDataTypes::boolean:

-     {

--        if (value.compare("true", Qt::CaseInsensitive) == 0 ||

--            value.compare("yes", Qt::CaseInsensitive) == 0 ||

--            value.compare("1") == 0)

-+        if (value.compare(QString("true"), Qt::CaseInsensitive) == 0 ||

-+            value.compare(QString("yes"), Qt::CaseInsensitive) == 0 ||

-+            value.compare(QString("1")) == 0)

-         {

-             retVal = true;

-         }

--        else if (value.compare("false", Qt::CaseInsensitive) == 0 ||

--            value.compare("no", Qt::CaseInsensitive) == 0 ||

--            value.compare("0") == 0)

-+        else if (value.compare(QString("false"), Qt::CaseInsensitive) == 0 ||

-+            value.compare(QString("no"), Qt::CaseInsensitive) == 0 ||

-+            value.compare(QString("0")) == 0)

-         {

-             retVal = false;

-         }

-diff --git c/herqq/hupnp/src/http/hhttp_server_p.cpp i/herqq/hupnp/src/http/hhttp_server_p.cpp
-index eb1a56c..42e93ca 100644
---- c/herqq/hupnp/src/http/hhttp_server_p.cpp
-+++ i/herqq/hupnp/src/http/hhttp_server_p.cpp
-@@ -121,27 +121,27 @@ void HHttpServer::processRequest(HHttpAsyncOperation* op)
-     mi->setKeepAlive(HHttpUtils::keepAlive(*hdr));
- 
-     QString method = hdr->method();
--    if (method.compare("GET", Qt::CaseInsensitive) == 0)
-+    if (method.compare(QString("GET"), Qt::CaseInsensitive) == 0)
-     {
-         processGet(op->takeMessagingInfo(), *hdr);
-     }
--    else if (method.compare("HEAD"), Qt::CaseInsensitive)
-+    else if (method.compare(QString("HEAD")), Qt::CaseInsensitive)
-     {
-         processHead(op->takeMessagingInfo(), *hdr);
-     }
--    else if (method.compare("POST", Qt::CaseInsensitive) == 0)
-+    else if (method.compare(QString("POST"), Qt::CaseInsensitive) == 0)
-     {
-         processPost(op->takeMessagingInfo(), *hdr, op->dataRead());
-     }
--    else if (method.compare("NOTIFY", Qt::CaseInsensitive) == 0)
-+    else if (method.compare(QString("NOTIFY"), Qt::CaseInsensitive) == 0)
-     {
-         processNotifyMessage(op->takeMessagingInfo(), *hdr, op->dataRead());
-     }
--    else if (method.compare("SUBSCRIBE", Qt::CaseInsensitive) == 0)
-+    else if (method.compare(QString("SUBSCRIBE"), Qt::CaseInsensitive) == 0)
-     {
-         processSubscription(op->takeMessagingInfo(), *hdr);
-     }
--    else if (method.compare("UNSUBSCRIBE", Qt::CaseInsensitive) == 0)
-+    else if (method.compare(QString("UNSUBSCRIBE"), Qt::CaseInsensitive) == 0)
-     {
-         processUnsubscription(op->takeMessagingInfo(), *hdr);
-     }
-diff --git c/herqq/hupnp/src/http/hhttp_utils_p.h i/herqq/hupnp/src/http/hhttp_utils_p.h
-index 7285190..b3ee62e 100644
---- c/herqq/hupnp/src/http/hhttp_utils_p.h
-+++ i/herqq/hupnp/src/http/hhttp_utils_p.h
-@@ -64,10 +64,10 @@ public:
-         QString connection = hdr.value("CONNECTION");

-         if (hdr.minorVersion() == 1)

-         {

--            return connection.compare("close", Qt::CaseInsensitive) != 0;

-+            return connection.compare(QString("close"), Qt::CaseInsensitive) != 0;

-         }

- 

--        return connection.compare("Keep-Alive", Qt::CaseInsensitive) == 0;

-+        return connection.compare(QString("Keep-Alive"), Qt::CaseInsensitive) == 0;

-     }

- 

-     // returns the URLs as a string inside brackets. This is the format used in

-diff --git c/herqq/hupnp/src/utils/hmisc_utils_p.cpp i/herqq/hupnp/src/utils/hmisc_utils_p.cpp
-index 6641d14..7ea567a 100644
---- c/herqq/hupnp/src/utils/hmisc_utils_p.cpp
-+++ i/herqq/hupnp/src/utils/hmisc_utils_p.cpp
-@@ -70,10 +70,10 @@ bool toBool(const QString& arg, bool* ok)
-     bool retVal = false, match = true;

-     if (arg == "1") { retVal = true; }

-     else if (arg == "0") { retVal = false; }

--    else if (arg.compare("true", Qt::CaseInsensitive) == 0) { retVal = true; }

--    else if (arg.compare("false", Qt::CaseInsensitive) == 0) { retVal =  false; }

--    else if (arg.compare("yes", Qt::CaseInsensitive) == 0) { retVal = true; }

--    else if (arg.compare("no", Qt::CaseInsensitive) == 0) { retVal = false; }

-+    else if (arg.compare(QString("true"), Qt::CaseInsensitive) == 0) { retVal = true; }

-+    else if (arg.compare(QString("false"), Qt::CaseInsensitive) == 0) { retVal =  false; }

-+    else if (arg.compare(QString("yes"), Qt::CaseInsensitive) == 0) { retVal = true; }

-+    else if (arg.compare(QString("no"), Qt::CaseInsensitive) == 0) { retVal = false; }

-     else { match = false; }

- 

-     if (ok) { *ok = match; }

-diff --git c/herqq/hupnp_av/src/cds_model/cds_objects/hobject.cpp i/herqq/hupnp_av/src/cds_model/cds_objects/hobject.cpp
-index 6531929..8bd05c5 100644
---- c/herqq/hupnp_av/src/cds_model/cds_objects/hobject.cpp
-+++ i/herqq/hupnp_av/src/cds_model/cds_objects/hobject.cpp
-@@ -680,15 +680,15 @@ QString HObject::writeStatusToString(WriteStatus status)
- HObject::WriteStatus HObject::writeStatusFromString(const QString& status)
- {
-     WriteStatus retVal = UnknownWriteStatus;
--    if (status.compare("writable", Qt::CaseInsensitive) == 0)
-+    if (status.compare(QString("writable"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = WritableWriteStatus;
-     }
--    else if (status.compare("protected", Qt::CaseInsensitive) == 0)
-+    else if (status.compare(QString("protected"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = ProtectedWriteStatus;
-     }
--    else if (status.compare("mixed", Qt::CaseInsensitive) == 0)
-+    else if (status.compare(QString("mixed"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = MixedWriteStatus;
-     }
-diff --git c/herqq/hupnp_av/src/cds_model/hmatching_id.cpp i/herqq/hupnp_av/src/cds_model/hmatching_id.cpp
-index 25ee560..bea6ece 100644
---- c/herqq/hupnp_av/src/cds_model/hmatching_id.cpp
-+++ i/herqq/hupnp_av/src/cds_model/hmatching_id.cpp
-@@ -77,11 +77,11 @@ QString HMatchingId::toString(Type type)
- HMatchingId::Type HMatchingId::fromString(const QString& type)
- {
-     Type retVal = Undefined;
--    if (type.compare("SI_SERIESID", Qt::CaseInsensitive) == 0)
-+    if (type.compare(QString("SI_SERIESID"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = SeriesId;
-     }
--    else if (type.compare("SI_PROGRAMID", Qt::CaseInsensitive) == 0)
-+    else if (type.compare(QString("SI_PROGRAMID"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = ProgramId;
-     }
-diff --git c/herqq/hupnp_av/src/cds_model/hscheduledtime.cpp i/herqq/hupnp_av/src/cds_model/hscheduledtime.cpp
-index 06ab6bf..e7cec20 100644
---- c/herqq/hupnp_av/src/cds_model/hscheduledtime.cpp
-+++ i/herqq/hupnp_av/src/cds_model/hscheduledtime.cpp
-@@ -108,11 +108,11 @@ QString HScheduledTime::toString(Type type)
- HScheduledTime::Type HScheduledTime::fromString(const QString& type)
- {
-     Type retVal = Undefined;
--    if (type.compare("SCHEDULED_PROGRAM", Qt::CaseInsensitive) == 0)
-+    if (type.compare(QString("SCHEDULED_PROGRAM"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = ScheduledProgram;
-     }
--    else if (type.compare("ON_DEMAND", Qt::CaseInsensitive) == 0)
-+    else if (type.compare(QString("ON_DEMAND"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = OnDemand;
-     }
-diff --git c/herqq/hupnp_av/src/cds_model/hsortinfo.cpp i/herqq/hupnp_av/src/cds_model/hsortinfo.cpp
-index 078d719..31e1af0 100644
---- c/herqq/hupnp_av/src/cds_model/hsortinfo.cpp
-+++ i/herqq/hupnp_av/src/cds_model/hsortinfo.cpp
-@@ -115,19 +115,19 @@ QString HSortModifier::toString(Type type)
- HSortModifier::Type HSortModifier::fromString(const QString& type)
- {
-     Type retVal = Undefined;
--    if (type.compare("+", Qt::CaseInsensitive) == 0)
-+    if (type.compare(QString("+"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = AscendingByValue;
-     }
--    else if (type.compare("-", Qt::CaseInsensitive) == 0)
-+    else if (type.compare(QString("-"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DescendingByValue;
-     }
--    else if (type.compare("TIME+", Qt::CaseInsensitive) == 0)
-+    else if (type.compare(QString("TIME+"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = AscendingByTime;
-     }
--    else if (type.compare("TIME-", Qt::CaseInsensitive) == 0)
-+    else if (type.compare(QString("TIME-"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DescendingByTime;
-     }
-diff --git c/herqq/hupnp_av/src/cds_model/hstatevariablecollection.cpp i/herqq/hupnp_av/src/cds_model/hstatevariablecollection.cpp
-index 65b67f8..f51e6b2 100644
---- c/herqq/hupnp_av/src/cds_model/hstatevariablecollection.cpp
-+++ i/herqq/hupnp_av/src/cds_model/hstatevariablecollection.cpp
-@@ -198,11 +198,11 @@ HStateVariableCollection::RcsInstanceType HStateVariableCollection::fromString(
-     const QString& type)
- {
-     RcsInstanceType retVal = Undefined;
--    if (type.compare("pre-mix", Qt::CaseInsensitive) == 0)
-+    if (type.compare(QString("pre-mix"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = PreMix;
-     }
--    else if (type.compare("post-mix", Qt::CaseInsensitive) == 0)
-+    else if (type.compare(QString("post-mix"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = PostMix;
-     }
-diff --git c/herqq/hupnp_av/src/cds_model/model_mgmt/hcds_dlite_serializer.cpp i/herqq/hupnp_av/src/cds_model/model_mgmt/hcds_dlite_serializer.cpp
-index 9f5712d..cd4dacb 100644
---- c/herqq/hupnp_av/src/cds_model/model_mgmt/hcds_dlite_serializer.cpp
-+++ i/herqq/hupnp_av/src/cds_model/model_mgmt/hcds_dlite_serializer.cpp
-@@ -568,7 +568,7 @@ bool HCdsDidlLiteSerializer::serializeFromXml(
-         addNamespaces(reader);
-         if (reader.readNextStartElement())
-         {
--            if (reader.name().compare("DIDL-Lite", Qt::CaseInsensitive) != 0)
-+            if (reader.name().compare(QString("DIDL-Lite"), Qt::CaseInsensitive) != 0)
-             {
-                 h_ptr->m_lastErrorDescription = "Missing mandatory DIDL-Lite element";
-                 return false;
-diff --git c/herqq/hupnp_av/src/cds_model/model_mgmt/hcdsproperty_db.cpp i/herqq/hupnp_av/src/cds_model/model_mgmt/hcdsproperty_db.cpp
-index 30af243..af03c5c 100644
---- c/herqq/hupnp_av/src/cds_model/model_mgmt/hcdsproperty_db.cpp
-+++ i/herqq/hupnp_av/src/cds_model/model_mgmt/hcdsproperty_db.cpp
-@@ -749,7 +749,7 @@ bool HCdsPropertyDbPrivate::serializeSvCollectionIn(
- 
-     if (stateVariableReader.readNextStartElement())
-     {
--        if (stateVariableReader.name().compare("stateVariableValuePairs", Qt::CaseInsensitive) != 0)
-+        if (stateVariableReader.name().compare(QString("stateVariableValuePairs"), Qt::CaseInsensitive) != 0)
-         {
-             return false;
-         }
-diff --git c/herqq/hupnp_av/src/common/hradioband.cpp i/herqq/hupnp_av/src/common/hradioband.cpp
-index d35a559..85b7e32 100644
---- c/herqq/hupnp_av/src/common/hradioband.cpp
-+++ i/herqq/hupnp_av/src/common/hradioband.cpp
-@@ -83,23 +83,23 @@ QString HRadioBand::toString(Type type)
- HRadioBand::Type HRadioBand::fromString(const QString& arg)

- {

-     Type retVal = Undefined;

--    if (arg.compare("am", Qt::CaseInsensitive) == 0)

-+    if (arg.compare(QString("am"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = AM;

-     }

--    else if (arg.compare("fm", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("fm"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = FM;

-     }

--    else if (arg.compare("shortwave", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("shortwave"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = ShortWave;

-     }

--    else if (arg.compare("internet", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("internet"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Internet;

-     }

--    else if (arg.compare("satellite", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("satellite"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Satellite;

-     }

-diff --git c/herqq/hupnp_av/src/common/hstoragemedium.cpp i/herqq/hupnp_av/src/common/hstoragemedium.cpp
-index 37ab7e0..c7f2109 100644
---- c/herqq/hupnp_av/src/common/hstoragemedium.cpp
-+++ i/herqq/hupnp_av/src/common/hstoragemedium.cpp
-@@ -187,155 +187,155 @@ QString HStorageMedium::toString(Type type)
- HStorageMedium::Type HStorageMedium::fromString(const QString& type)

- {

-     Type retVal = Unknown;

--    if (type.compare("UNKNOWN", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("UNKNOWN"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Unknown;

-     }

--    else if (type.compare("DV", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DV"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DigitalVideo;

-     }

--    else if (type.compare("VHS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("VHS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = VHS;

-     }

--    else if (type.compare("W-VHS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("W-VHS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = W_VHS;

-     }

--    else if (type.compare("S-VHS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("S-VHS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = S_VHS;

-     }

--    else if (type.compare("D_VHS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("D_VHS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = D_VHS;

-     }

--    else if (type.compare("VHSC", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("VHSC"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = VHSC;

-     }

--    else if (type.compare("VIDEO8", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("VIDEO8"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Video8;

-     }

--    else if (type.compare("HI8", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("HI8"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = HI8;

-     }

--    else if (type.compare("CD-ROM", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CD-ROM"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = CD_ROM;

-     }

--    else if (type.compare("CD-DA", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CD-DA"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = CD_DA;

-     }

--    else if (type.compare("CD-R", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CD-R"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = CD_R;

-     }

--    else if (type.compare("CD-RW", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CD-RW"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = CD_RW;

-     }

--    else if (type.compare("VIDEO-CD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("VIDEO-CD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Video_CD;

-     }

--    else if (type.compare("SACD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SACD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = SACD;

-     }

--    else if (type.compare("MD-AUDIO", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("MD-AUDIO"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = MiniDiscAudio;

-     }

--    else if (type.compare("MD-PICTURE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("MD-PICTURE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = MiniDiscPicture;

-     }

--    else if (type.compare("DVD-ROM", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD-ROM"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_ROM;

-     }

--    else if (type.compare("DVD-VIDEO", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD-VIDEO"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_Video;

-     }

--    else if (type.compare("DVD+R", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD+R"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_PlusRecordable;

-     }

--    else if (type.compare("DVD-R", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD-R"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_MinusRecordable;

-     }

--    else if (type.compare("DVD+RW", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD+RW"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_PlusRewritable;

-     }

--    else if (type.compare("DVD-RW", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD-RW"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_MinusRewritable;

-     }

--    else if (type.compare("DVD-RAM", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DVD-RAM"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DVD_RAM;

-     }

--    else if (type.compare("DAT", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DAT"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DAT;

-     }

--    else if (type.compare("LD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("LD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = LD;

-     }

--    else if (type.compare("HDD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("HDD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = HDD;

-     }

--    else if (type.compare("MICRO-MV", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("MICRO-MV"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = MicroMV;

-     }

--    else if (type.compare("NETWORK", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("NETWORK"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Network;

-     }

--    else if (type.compare("NONE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("NONE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = None;

-     }

--    else if (type.compare("NOT_IMPLEMENTED", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("NOT_IMPLEMENTED"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = NotImplemented;

-     }

--    else if (type.compare("SD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = SecureDigital;

-     }

--    else if (type.compare("PC-CARD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PC-CARD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = PC_Card;

-     }

--    else if (type.compare("MMC", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("MMC"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = MultimediaCard;

-     }

--    else if (type.compare("CF", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CF"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = CompactFlash;

-     }

--    else if (type.compare("BD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("BD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = BluRay;

-     }

--    else if (type.compare("MS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("MS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = MemoryStick;

-     }

--    else if (type.compare("HD_DVD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("HD_DVD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = HD_DVD;

-     }

-diff --git c/herqq/hupnp_av/src/connectionmanager/hconnectionmanager_info.cpp i/herqq/hupnp_av/src/connectionmanager/hconnectionmanager_info.cpp
-index 89d44ae..bb364b5 100644
---- c/herqq/hupnp_av/src/connectionmanager/hconnectionmanager_info.cpp
-+++ i/herqq/hupnp_av/src/connectionmanager/hconnectionmanager_info.cpp
-@@ -57,11 +57,11 @@ HConnectionManagerInfo::Direction
-     HConnectionManagerInfo::directionFromString(const QString& arg)

- {

-     Direction retVal = DirectionUndefined;

--    if (arg.compare("Input", Qt::CaseInsensitive) == 0)

-+    if (arg.compare(QString("Input"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DirectionInput;

-     }

--    else if (arg.compare("Output", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("Output"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = DirectionOutput;

-     }

-@@ -92,23 +92,23 @@ HConnectionManagerInfo::ConnectionStatus
-     HConnectionManagerInfo::statusFromString(const QString& arg)

- {

-     ConnectionStatus retVal = StatusUnknown;

--    if (arg.compare("Ok", Qt::CaseInsensitive) == 0)

-+    if (arg.compare(QString("Ok"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = StatusOk;

-     }

--    else if (arg.compare("Unknown", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("Unknown"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = StatusUnknown;

-     }

--    else if (arg.compare("ContentFormatMismatch", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("ContentFormatMismatch"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = StatusContentFormatMismatch;

-     }

--    else if (arg.compare("InsufficientBandwidth", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("InsufficientBandwidth"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = StatusInsufficientBandwidth;

-     }

--    else if (arg.compare("UnreliableChannel", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("UnreliableChannel"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = StatusUnreliableChannel;

-     }

-diff --git c/herqq/hupnp_av/src/contentdirectory/hcontentdirectory_info.cpp i/herqq/hupnp_av/src/contentdirectory/hcontentdirectory_info.cpp
-index 5c0c0d0..743ed1e 100644
---- c/herqq/hupnp_av/src/contentdirectory/hcontentdirectory_info.cpp
-+++ i/herqq/hupnp_av/src/contentdirectory/hcontentdirectory_info.cpp
-@@ -80,11 +80,11 @@ HContentDirectoryInfo::BrowseFlag
-     HContentDirectoryInfo::browseFlagFromString(const QString& arg)

- {

-     BrowseFlag retVal = Undefined;

--    if (arg.compare("BrowseMetadata", Qt::CaseInsensitive) == 0)

-+    if (arg.compare(QString("BrowseMetadata"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = BrowseMetadata;

-     }

--    else if (arg.compare("BrowseDirectChildren", Qt::CaseInsensitive) == 0)

-+    else if (arg.compare(QString("BrowseDirectChildren"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = BrowseDirectChildren;

-     }

-diff --git c/herqq/hupnp_av/src/contentdirectory/htransferprogressinfo.cpp i/herqq/hupnp_av/src/contentdirectory/htransferprogressinfo.cpp
-index 0a663dc..1771b6f 100644
---- c/herqq/hupnp_av/src/contentdirectory/htransferprogressinfo.cpp
-+++ i/herqq/hupnp_av/src/contentdirectory/htransferprogressinfo.cpp
-@@ -85,15 +85,15 @@ HTransferProgressInfo::~HTransferProgressInfo()
- HTransferProgressInfo::Status HTransferProgressInfo::fromString(const QString& arg)
- {
-     Status retVal = Error;
--    if (arg.compare("IN_PROGRESS", Qt::CaseInsensitive) == 0)
-+    if (arg.compare(QString("IN_PROGRESS"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = InProgress;
-     }
--    else if (arg.compare("STOPPED", Qt::CaseInsensitive) == 0)
-+    else if (arg.compare(QString("STOPPED"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = Stopped;
-     }
--    else if (arg.compare("COMPLETED", Qt::CaseInsensitive) == 0)
-+    else if (arg.compare(QString("COMPLETED"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = Completed;
-     }
-diff --git c/herqq/hupnp_av/src/hav_global.cpp i/herqq/hupnp_av/src/hav_global.cpp
-index c3f93a9..27d98a0 100644
---- c/herqq/hupnp_av/src/hav_global.cpp
-+++ i/herqq/hupnp_av/src/hav_global.cpp
-@@ -647,7 +647,7 @@ HStateVariableCollection parseStateVariableCollection(const QString& arg)
-     addNamespaces(reader);
- 
-     if (!reader.readNextStartElement() ||
--        reader.name().compare("stateVariableValuePairs", Qt::CaseInsensitive) != 0)
-+        reader.name().compare(QString("stateVariableValuePairs"), Qt::CaseInsensitive) != 0)
-     {
-         return retVal;
-     }
-diff --git c/herqq/hupnp_av/src/mediabrowser/hmediabrowser.cpp i/herqq/hupnp_av/src/mediabrowser/hmediabrowser.cpp
-index f9e2dc4..69b7648 100644
---- c/herqq/hupnp_av/src/mediabrowser/hmediabrowser.cpp
-+++ i/herqq/hupnp_av/src/mediabrowser/hmediabrowser.cpp
-@@ -287,7 +287,7 @@ void HMediaBrowserPrivate::lastChangeReceived(
- 
-     if (reader.readNextStartElement())
-     {
--        if (reader.name().compare("StateEvent", Qt::CaseInsensitive) != 0)
-+        if (reader.name().compare(QString("StateEvent"), Qt::CaseInsensitive) != 0)
-         {
-             return;
-         }
-diff --git c/herqq/hupnp_av/src/mediarenderer/hconnection.cpp i/herqq/hupnp_av/src/mediarenderer/hconnection.cpp
-index 651e727..9fb4958 100644
---- c/herqq/hupnp_av/src/mediarenderer/hconnection.cpp
-+++ i/herqq/hupnp_av/src/mediarenderer/hconnection.cpp
-@@ -144,7 +144,7 @@ void HConnection::lastChangeReceived(
- 
-     if (reader.readNextStartElement())
-     {
--        if (reader.name().compare("Event", Qt::CaseInsensitive) != 0)
-+        if (reader.name().compare(QString("Event"), Qt::CaseInsensitive) != 0)
-         {
-             return;
-         }
-@@ -159,7 +159,7 @@ void HConnection::lastChangeReceived(
-     {
-         QStringRef name = reader.name();
- 
--        if (name.compare("InstanceID", Qt::CaseInsensitive))
-+        if (name.compare(QString("InstanceID"), Qt::CaseInsensitive))
-         {
-             continue;
-         }
-@@ -205,7 +205,7 @@ void HConnection::lastChangeReceived(HAvTransportAdapter*, const QString& data)
- 
-     if (reader.readNextStartElement())
-     {
--        if (reader.name().compare("Event", Qt::CaseInsensitive) != 0)
-+        if (reader.name().compare(QString("Event"), Qt::CaseInsensitive) != 0)
-         {
-             return;
-         }
-@@ -220,7 +220,7 @@ void HConnection::lastChangeReceived(HAvTransportAdapter*, const QString& data)
-     {
-         QStringRef name = reader.name();
- 
--        if (name.compare("InstanceID", Qt::CaseInsensitive))
-+        if (name.compare(QString("InstanceID"), Qt::CaseInsensitive))
-         {
-             continue;
-         }
-diff --git c/herqq/hupnp_av/src/mediarenderer/hconnectionmanager_sinkservice_p.cpp i/herqq/hupnp_av/src/mediarenderer/hconnectionmanager_sinkservice_p.cpp
-index 174f423..bf7e9f2 100644
---- c/herqq/hupnp_av/src/mediarenderer/hconnectionmanager_sinkservice_p.cpp
-+++ i/herqq/hupnp_av/src/mediarenderer/hconnectionmanager_sinkservice_p.cpp
-@@ -109,7 +109,7 @@ qint32 HConnectionManagerSinkService::prepareForConnection(
-         return HConnectionManagerInfo::IncompatibleDirections;
-     }
- 
--    if (remoteProtocolInfo.protocol().compare("http-get", Qt::CaseInsensitive) &&
-+    if (remoteProtocolInfo.protocol().compare(QString("http-get"), Qt::CaseInsensitive) &&
-         remoteProtocolInfo.protocol() != "*")
-     {
-         return HConnectionManagerInfo::IncompatibleProtocolInfo;
-diff --git c/herqq/hupnp_av/src/mediarenderer/hrendererconnection_info.cpp i/herqq/hupnp_av/src/mediarenderer/hrendererconnection_info.cpp
-index 1ad337a..0f5e209 100644
---- c/herqq/hupnp_av/src/mediarenderer/hrendererconnection_info.cpp
-+++ i/herqq/hupnp_av/src/mediarenderer/hrendererconnection_info.cpp
-@@ -1578,19 +1578,19 @@ bool HRendererConnectionInfo::hasChannelAssociated(const QString& svName)
- {
-     bool retVal = false;
-     QString trimmed = svName.trimmed();
--    if (trimmed.compare("Mute", Qt::CaseInsensitive) == 0)
-+    if (trimmed.compare(QString("Mute"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = true;
-     }
--    else if (trimmed.compare("Volume", Qt::CaseInsensitive) == 0)
-+    else if (trimmed.compare(QString("Volume"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = true;
-     }
--    else if (trimmed.compare("VolumeDB", Qt::CaseInsensitive) == 0)
-+    else if (trimmed.compare(QString("VolumeDB"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = true;
-     }
--    else if (trimmed.compare("Loudness", Qt::CaseInsensitive) == 0)
-+    else if (trimmed.compare(QString("Loudness"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = true;
-     }
-diff --git c/herqq/hupnp_av/src/mediarenderer/htransport_sinkservice_p.cpp i/herqq/hupnp_av/src/mediarenderer/htransport_sinkservice_p.cpp
-index a614e17..fbb3258 100644
---- c/herqq/hupnp_av/src/mediarenderer/htransport_sinkservice_p.cpp
-+++ i/herqq/hupnp_av/src/mediarenderer/htransport_sinkservice_p.cpp
-@@ -449,7 +449,7 @@ qint32 HTransportSinkService::getStateVariables(
-     foreach(QString svName, stateVarNames)
-     {
-         svName = svName.trimmed();
--        if (svName.compare("LastChange", Qt::CaseInsensitive) == 0 ||
-+        if (svName.compare(QString("LastChange"), Qt::CaseInsensitive) == 0 ||
-             svName.startsWith("A_ARG", Qt::CaseInsensitive))
-         {
-             return HAvTransportInfo::InvalidStateVariableList;
-@@ -512,7 +512,7 @@ qint32 HTransportSinkService::setStateVariables(
- 
-     if (reader.readNextStartElement())
-     {
--        if (reader.name().compare("stateVariableValuePairs", Qt::CaseInsensitive) != 0)
-+        if (reader.name().compare(QString("stateVariableValuePairs"), Qt::CaseInsensitive) != 0)
-         {
-             return UpnpInvalidArgs;
-         }
-diff --git c/herqq/hupnp_av/src/renderingcontrol/hchannel.cpp i/herqq/hupnp_av/src/renderingcontrol/hchannel.cpp
-index 751a3d9..51c1ff4 100644
---- c/herqq/hupnp_av/src/renderingcontrol/hchannel.cpp
-+++ i/herqq/hupnp_av/src/renderingcontrol/hchannel.cpp
-@@ -110,59 +110,59 @@ QString HChannel::toString(Type type)
- HChannel::Type HChannel::fromString(const QString& type)

- {

-     Type retVal = Undefined;

--    if (type.compare("MASTER", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("MASTER"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Master;

-     }

--    else if (type.compare("LF", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("LF"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = LeftFront;

-     }

--    else if (type.compare("RF", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("RF"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RightFront;

-     }

--    else if (type.compare("CF", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CF"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = CenterFront;

-     }

--    else if (type.compare("LFE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("LFE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = LFE;

-     }

--    else if (type.compare("LS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("LS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = LeftSurround;

-     }

--    else if (type.compare("RS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("RS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RightSurround;

-     }

--    else if (type.compare("LFC", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("LFC"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = LeftOfCenter;

-     }

--    else if (type.compare("RFC", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("RFC"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RightOfCenter;

-     }

--    else if (type.compare("SD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Surround;

-     }

--    else if (type.compare("SL", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SL"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = SideLeft;

-     }

--    else if (type.compare("SR", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SR"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = SideRight;

-     }

--    else if (type.compare("T", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("T"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Top;

-     }

--    else if (type.compare("B", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("B"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Bottom;

-     }

-diff --git c/herqq/hupnp_av/src/renderingcontrol/hrenderingcontrol_service_p.cpp i/herqq/hupnp_av/src/renderingcontrol/hrenderingcontrol_service_p.cpp
-index fd52f9a..84f5579 100644
---- c/herqq/hupnp_av/src/renderingcontrol/hrenderingcontrol_service_p.cpp
-+++ i/herqq/hupnp_av/src/renderingcontrol/hrenderingcontrol_service_p.cpp
-@@ -859,7 +859,7 @@ qint32 HRenderingControlService::setStateVariables(
- 
-     if (reader.readNextStartElement())
-     {
--        if (reader.name().compare("stateVariableValuePairs", Qt::CaseInsensitive) != 0)
-+        if (reader.name().compare(QString("stateVariableValuePairs"), Qt::CaseInsensitive) != 0)
-         {
-             return UpnpInvalidArgs;
-         }
-diff --git c/herqq/hupnp_av/src/transport/havtransport_info.cpp i/herqq/hupnp_av/src/transport/havtransport_info.cpp
-index cb18ce0..e3fcd64 100644
---- c/herqq/hupnp_av/src/transport/havtransport_info.cpp
-+++ i/herqq/hupnp_av/src/transport/havtransport_info.cpp
-@@ -94,35 +94,35 @@ HAvTransportInfo::DrmState
-     HAvTransportInfo::drmStateFromString(const QString& state)
- {
-     DrmState retVal = DrmState_Unknown;
--    if (state.compare("OK", Qt::CaseInsensitive) == 0)
-+    if (state.compare(QString("OK"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_Ok;
-     }
--    else if (state.compare("UNKNOWN", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("UNKNOWN"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_Unknown;
-     }
--    else if (state.compare("PROCESSING_CONTENT_KEY", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("PROCESSING_CONTENT_KEY"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_ProcessingContentKey;
-     }
--    else if (state.compare("CONTENT_KEY_FAILURE", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("CONTENT_KEY_FAILURE"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_ContentKeyFailure;
-     }
--    else if (state.compare("ATTEMPTING_AUTHENTICATION", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("ATTEMPTING_AUTHENTICATION"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_AttemptingAuthentication;
-     }
--    else if (state.compare("FAILED_AUTHENTICATION", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("FAILED_AUTHENTICATION"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_FailedAuthentication;
-     }
--    else if (state.compare("NOT_AUTHENTICATED", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("NOT_AUTHENTICATED"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_NotAuthenticated;
-     }
--    else if (state.compare("DEVICE_REVOCATION", Qt::CaseInsensitive) == 0)
-+    else if (state.compare(QString("DEVICE_REVOCATION"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = DrmState_DeviceRevocation;
-     }
-diff --git c/herqq/hupnp_av/src/transport/hmediainfo.cpp i/herqq/hupnp_av/src/transport/hmediainfo.cpp
-index 9e642c1..5f33847 100644
---- c/herqq/hupnp_av/src/transport/hmediainfo.cpp
-+++ i/herqq/hupnp_av/src/transport/hmediainfo.cpp
-@@ -180,15 +180,15 @@ HMediaInfo::MediaCategory HMediaInfo::mediaCategoryFromString(
-     const QString& category)
- {
-     MediaCategory retVal = Undefined;
--    if (category.compare("NO_MEDIA", Qt::CaseInsensitive) == 0)
-+    if (category.compare(QString("NO_MEDIA"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = NoMedia;
-     }
--    else if (category.compare("TRACK_AWARE", Qt::CaseInsensitive) == 0)
-+    else if (category.compare(QString("TRACK_AWARE"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = TrackAware;
-     }
--    else if (category.compare("TRACK_UNAWARE", Qt::CaseInsensitive) == 0)
-+    else if (category.compare(QString("TRACK_UNAWARE"), Qt::CaseInsensitive) == 0)
-     {
-         retVal = TrackUnaware;
-     }
-diff --git c/herqq/hupnp_av/src/transport/hplaymode.cpp i/herqq/hupnp_av/src/transport/hplaymode.cpp
-index 8d3a20e..57605f0 100644
---- c/herqq/hupnp_av/src/transport/hplaymode.cpp
-+++ i/herqq/hupnp_av/src/transport/hplaymode.cpp
-@@ -87,31 +87,31 @@ QString HPlayMode::toString(HPlayMode::Type type)
- HPlayMode::Type HPlayMode::fromString(const QString& type)

- {

-     Type retVal = Undefined;

--    if (type.compare("NORMAL", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("NORMAL"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Normal;

-     }

--    else if (type.compare("SHUFFLE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SHUFFLE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Shuffle;

-     }

--    else if (type.compare("REPEAT_ONE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("REPEAT_ONE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RepeatOne;

-     }

--    else if (type.compare("REPEAT_ALL", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("REPEAT_ALL"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RepeatAll;

-     }

--    else if (type.compare("RANDOM", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("RANDOM"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Random;

-     }

--    else if (type.compare("DIRECT_1", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("DIRECT_1"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Direct_1;

-     }

--    else if (type.compare("INTRO", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("INTRO"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Intro;

-     }

-diff --git c/herqq/hupnp_av/src/transport/hrecordmediumwritestatus.cpp i/herqq/hupnp_av/src/transport/hrecordmediumwritestatus.cpp
-index ab29f09..a1a5de0 100644
---- c/herqq/hupnp_av/src/transport/hrecordmediumwritestatus.cpp
-+++ i/herqq/hupnp_av/src/transport/hrecordmediumwritestatus.cpp
-@@ -81,23 +81,23 @@ HRecordMediumWriteStatus::Type HRecordMediumWriteStatus::fromString(
-     const QString& type)

- {

-     Type retVal = Unknown;

--    if (type.compare("WRITABLE", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("WRITABLE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Writable;

-     }

--    else if (type.compare("PROTECTED", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PROTECTED"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Protected;

-     }

--    else if (type.compare("NOT_WRITABLE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("NOT_WRITABLE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = NotWritable;

-     }

--    else if (type.compare("NOT_IMPLEMENTED", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("NOT_IMPLEMENTED"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = NotImplemented;

-     }

--    else if (type.compare("UNKNOWN", Qt::CaseInsensitive) != 0 && !type.isEmpty())

-+    else if (type.compare(QString("UNKNOWN"), Qt::CaseInsensitive) != 0 && !type.isEmpty())

-     {

-         retVal = VendorDefined;

-     }

-diff --git c/herqq/hupnp_av/src/transport/hrecordqualitymode.cpp i/herqq/hupnp_av/src/transport/hrecordqualitymode.cpp
-index bf7dd90..b659fd7 100644
---- c/herqq/hupnp_av/src/transport/hrecordqualitymode.cpp
-+++ i/herqq/hupnp_av/src/transport/hrecordqualitymode.cpp
-@@ -88,31 +88,31 @@ QString HRecordQualityMode::toString(Type mode)
- HRecordQualityMode::Type HRecordQualityMode::fromString(const QString& mode)

- {

-     Type retVal = Undefined;

--    if (mode.compare("0:EP", Qt::CaseInsensitive) == 0)

-+    if (mode.compare(QString("0:EP"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Ep;

-     }

--    else if (mode.compare("1:LP", Qt::CaseInsensitive) == 0)

-+    else if (mode.compare(QString("1:LP"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Lp;

-     }

--    else if (mode.compare("2:SP", Qt::CaseInsensitive) == 0)

-+    else if (mode.compare(QString("2:SP"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Sp;

-     }

--    else if (mode.compare("0:BASIC", Qt::CaseInsensitive) == 0)

-+    else if (mode.compare(QString("0:BASIC"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Basic;

-     }

--    else if (mode.compare("1:MEDIUM", Qt::CaseInsensitive) == 0)

-+    else if (mode.compare(QString("1:MEDIUM"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Medium;

-     }

--    else if (mode.compare("2:HIGH", Qt::CaseInsensitive) == 0)

-+    else if (mode.compare(QString("2:HIGH"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = High;

-     }

--    else if (mode.compare("NOT_IMPLEMENTED", Qt::CaseInsensitive) == 0)

-+    else if (mode.compare(QString("NOT_IMPLEMENTED"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = NotImplemented;

-     }

-diff --git c/herqq/hupnp_av/src/transport/hseekinfo.cpp i/herqq/hupnp_av/src/transport/hseekinfo.cpp
-index c2ac69a..d3eee2b 100644
---- c/herqq/hupnp_av/src/transport/hseekinfo.cpp
-+++ i/herqq/hupnp_av/src/transport/hseekinfo.cpp
-@@ -102,43 +102,43 @@ QString HSeekMode::toString(Type type)
- HSeekMode::Type HSeekMode::fromString(const QString& type)

- {

-     Type retVal = Unknown;

--    if (type.compare("TRACK_NR", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("TRACK_NR"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = TrackNr;

-     }

--    else if (type.compare("ABS_TIME", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("ABS_TIME"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = AbsTime;

-     }

--    else if (type.compare("REL_TIME", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("REL_TIME"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RelTime;

-     }

--    else if (type.compare("ABS_COUNT", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("ABS_COUNT"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = AbsCount;

-     }

--    else if (type.compare("REL_COUNT", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("REL_COUNT"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RelCount;

-     }

--    else if (type.compare("CHANNEL_FREQ", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("CHANNEL_FREQ"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = ChannelFreq;

-     }

--    else if (type.compare("TAPE-INDEX", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("TAPE-INDEX"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = TapeIndex;

-     }

--    else if (type.compare("REL_TAPE-INDEX", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("REL_TAPE-INDEX"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RelTapeIndex;

-     }

--    else if (type.compare("FRAME", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("FRAME"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Frame;

-     }

--    else if (type.compare("REL_FRAME", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("REL_FRAME"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = RelFrame;

-     }

-diff --git c/herqq/hupnp_av/src/transport/htransportaction.cpp i/herqq/hupnp_av/src/transport/htransportaction.cpp
-index d64b1bc..4a34b8d 100644
---- c/herqq/hupnp_av/src/transport/htransportaction.cpp
-+++ i/herqq/hupnp_av/src/transport/htransportaction.cpp
-@@ -91,31 +91,31 @@ QString HTransportAction::toString(Type type)
- HTransportAction::Type HTransportAction::fromString(const QString& type)

- {

-     Type retVal = Undefined;

--    if (type.compare("PLAY", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("PLAY"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Play;

-     }

--    else if (type.compare("STOP", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("STOP"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Stop;

-     }

--    else if (type.compare("PAUSE", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PAUSE"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Pause;

-     }

--    else if (type.compare("SEEK", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("SEEK"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Seek;

-     }

--    else if (type.compare("NEXT", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("NEXT"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Next;

-     }

--    else if (type.compare("PREVIOUS", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PREVIOUS"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Previous;

-     }

--    else if (type.compare("RECORD", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("RECORD"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Record;

-     }

-diff --git c/herqq/hupnp_av/src/transport/htransportinfo.cpp i/herqq/hupnp_av/src/transport/htransportinfo.cpp
-index ecfaf0b..8ca9b1c 100644
---- c/herqq/hupnp_av/src/transport/htransportinfo.cpp
-+++ i/herqq/hupnp_av/src/transport/htransportinfo.cpp
-@@ -71,11 +71,11 @@ QString HTransportStatus::toString(HTransportStatus::Type type)
- HTransportStatus::Type HTransportStatus::fromString(const QString& type)

- {

-     Type retVal = Undefined;

--    if (type.compare("OK", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("OK"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = OK;

-     }

--    else if (type.compare("ERROR_OCCURRED", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("ERROR_OCCURRED"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = ErrorOccurred;

-     }

-diff --git c/herqq/hupnp_av/src/transport/htransportstate.cpp i/herqq/hupnp_av/src/transport/htransportstate.cpp
-index b460065..f2a1ac3 100644
---- c/herqq/hupnp_av/src/transport/htransportstate.cpp
-+++ i/herqq/hupnp_av/src/transport/htransportstate.cpp
-@@ -89,31 +89,31 @@ QString HTransportState::toString(HTransportState::Type type)
- HTransportState::Type HTransportState::fromString(const QString& type)

- {

-     Type retVal = Undefined;

--    if (type.compare("NO_MEDIA_PRESENT", Qt::CaseInsensitive) == 0)

-+    if (type.compare(QString("NO_MEDIA_PRESENT"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = NoMediaPresent;

-     }

--    else if (type.compare("STOPPED", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("STOPPED"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Stopped;

-     }

--    else if (type.compare("PLAYING", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PLAYING"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Playing;

-     }

--    else if (type.compare("TRANSITIONING", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("TRANSITIONING"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Transitioning;

-     }

--    else if (type.compare("PAUSED_PLAYBACK", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PAUSED_PLAYBACK"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = PausedPlayback;

-     }

--    else if (type.compare("PAUSED_RECORDING", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("PAUSED_RECORDING"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = PausedRecording;

-     }

--    else if (type.compare("RECORDING", Qt::CaseInsensitive) == 0)

-+    else if (type.compare(QString("RECORDING"), Qt::CaseInsensitive) == 0)

-     {

-         retVal = Recording;

-     }

diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index de9a656f6ff1..d5bd065ab648 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -100,7 +100,6 @@ stdenv.mkDerivation rec {
     ++ lib.optional flashplayerFix (substituteAll {
         src = ./dlopen-webkit-nsplugin.diff;
         gtk = gtk2.out;
-        gdk_pixbuf = gdk_pixbuf.out;
       })
     ++ lib.optional stdenv.isAarch64 (fetchpatch {
         url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff
index 14199d405030..d2ebbf3b45a8 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff
+++ b/pkgs/development/libraries/qt-4.x/4.8/dlopen-webkit-nsplugin.diff
@@ -20,7 +20,7 @@ index 2fe69d1..b658e4a 100644
      // The code below has the same effect as this one:
      // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
 -    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gtk@/lib/libgdk-x11-2.0"), 0);
      if (!library.load())
          return 0;
  
@@ -46,7 +46,7 @@ index b8c8f2a..e7f4dc5 100644
      // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
  
 -    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
++    QLibrary library(QLatin1String("@gtk@/lib/libgdk-x11-2.0"), 0);
      if (!library.load())
          return 0;
  
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 6b43f6ed25c0..2a474ab0ffea 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -58,7 +58,8 @@ qtModule {
     ++ optionals flashplayerFix
       [
         ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"''
-        ''-DNIXPKGS_LIBGDK2="${getLib gdk_pixbuf}/lib/libgdk-x11-2.0"''
+        # this file used to exist in gdk_pixbuf?
+        ''-DNIXPKGS_LIBGDK2="${getLib gtk2}/lib/libgdk-x11-2.0"''
       ]
     ++ optional (!stdenv.isDarwin) ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
 
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
index b53335f45c34..addf9a1dbd6c 100644
--- a/pkgs/development/libraries/quazip/default.nix
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, stdenv, zlib, qtbase, qmake }:
+{ fetchFromGitHub, stdenv, zlib, qtbase, qmake, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   pname = "quazip";
@@ -12,12 +12,15 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ zlib qtbase ];
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake ]
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  qmakeFlags = [ "quazip" ]
+    ++ stdenv.lib.optional stdenv.isDarwin [ "LIBS=-lz" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Provides access to ZIP archives from Qt programs";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.lgpl21Plus;
     homepage = https://stachenov.github.io/quazip/; # Migrated from http://quazip.sourceforge.net/
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix
index 14672c78d21c..cab0e69ad1a7 100644
--- a/pkgs/development/libraries/spdk/default.nix
+++ b/pkgs/development/libraries/spdk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "spdk-${version}";
-  version = "18.04";
+  version = "19.04";
 
   src = fetchFromGitHub {
     owner = "spdk";
     repo = "spdk";
     rev = "v${version}";
-    sha256 = "07i13jkf63h5ld9djksxl445v1mj6m5cbq4xydix9y5qcxwlss3n";
+    sha256 = "10mzal1hspnh26ws5d7sc54gyjfzkf6amr0gkd7b368ng2a9z8s6";
   };
 
   nativeBuildInputs = [ python ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Set of libraries for fast user-mode storage";
-    homepage = http://www.spdk.io;
+    homepage = "https://spdk.io/";
     license = licenses.bsd3;
     platforms =  [ "x86_64-linux" ];
     maintainers = with maintainers; [ orivej ];
diff --git a/pkgs/development/pharo/vm/build-vm-legacy.nix b/pkgs/development/pharo/vm/build-vm-legacy.nix
index f2fd6eebd56e..bd84dd06e7f4 100644
--- a/pkgs/development/pharo/vm/build-vm-legacy.nix
+++ b/pkgs/development/pharo/vm/build-vm-legacy.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     cd build/
   '';
-  resources = ./resources;
 
   installPhase = ''
     mkdir -p "$prefix/lib/$name"
diff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.png
deleted file mode 100644
index 7910e17ebc49..000000000000
--- a/pkgs/development/pharo/vm/resources/share/icons/hicolor/16x16/apps/pharo.png
+++ /dev/null
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.png
deleted file mode 100644
index f6e881417524..000000000000
--- a/pkgs/development/pharo/vm/resources/share/icons/hicolor/256x256/apps/pharo.png
+++ /dev/null
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.png
deleted file mode 100644
index ec8a5f95c6c4..000000000000
--- a/pkgs/development/pharo/vm/resources/share/icons/hicolor/32x32/apps/pharo.png
+++ /dev/null
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.png b/pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.png
deleted file mode 100644
index 3f206cf8b18c..000000000000
--- a/pkgs/development/pharo/vm/resources/share/icons/hicolor/48x48/apps/pharo.png
+++ /dev/null
Binary files differdiff --git a/pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml b/pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml
deleted file mode 100644
index 927514dd215b..000000000000
--- a/pkgs/development/pharo/vm/resources/share/mime/packages/pharo-image.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
-  <mime-type type="application/x-pharo-image">
-    <comment>Pharo image file</comment>
-    <comment xml:lang="fr">Fichier d'image Pharo</comment>
-    <glob pattern="*.image"/>
-    <icon name="pharo"/>
-  </mime-type>
-</mime-info>
diff --git a/pkgs/development/pharo/vm/share.nix b/pkgs/development/pharo/vm/share.nix
index 1a24ecd274ee..75ce2ff771c9 100644
--- a/pkgs/development/pharo/vm/share.nix
+++ b/pkgs/development/pharo/vm/share.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   version = "1.0";
   name = "pharo-share-${version}";
 
-  src = ./resources;
+  unpackPhase = "true";
 
   sources10Zip = fetchurl {
     url = http://files.pharo.org/sources/PharoV10.sources.zip;
@@ -41,8 +41,6 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $prefix/lib
 
-    cp -R "$src/"* "$prefix/"
-
     unzip ${sources10Zip} -d $prefix/lib/
     unzip ${sources20Zip} -d $prefix/lib/
     unzip ${sources30Zip} -d $prefix/lib/
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 4cef66a5c2e9..591726ea1ace 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -5,19 +5,19 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.1.0";
+  version = "2.2.5";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08hz675knh4294bancdapql392fmbjyimhbyrmfkz1ka7l035c1m";
+    sha256 = "1x5c8fiqa18frwwfdsw41lpqsyff3w4lxvjx9d5ccs4zfkhy2q35";
   };
 
   # From astroid/__pkginfo__.py
   propagatedBuildInputs = [ lazy-object-proxy six wrapt ]
     ++ lib.optional (pythonOlder "3.5") typing
-    ++ lib.optional (pythonOlder "3.7" && !isPyPy) typed-ast;
+    ++ lib.optional (!isPyPy) typed-ast;
 
   checkInputs = [ pytestrunner pytest ];
 
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 268c08ced848..066d7058fed5 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPythonPackage, /*fetchPypi,*/ fetchFromGitHub, makeWrapper, isPy3k,
+{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
   python, twisted, jinja2, zope_interface, future, sqlalchemy,
   sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
   txrequests, txgithub, pyjade, boto3, moto, mock, python-lz4, setuptoolsTrial,
@@ -25,21 +25,12 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.1.0";
+    version = "2.3.0";
 
-    /*src = fetchPypi {
+    src = fetchPypi {
       inherit pname version;
-      sha256 = "1745hj9s0c0fcdjv6w05bma76xqg1fv42v0dslmi4d8yz9phf37w";
-    };*/
-    # Temporarily use GitHub source because PyPi archive is missing some files
-    # needed for the tests to pass. This has been fixed upstream.
-    # See: https://github.com/buildbot/buildbot/commit/30f5927cf9a80f98ed909241a149469dec3ce68d
-    src = fetchFromGitHub {
-      owner = "buildbot";
-      repo = "buildbot";
-      rev = "v${version}";
-      sha256 = "022ybhdvp0hp2z0cwgx7n41jyh56bpxj3fwm4z7ppzj1qhm7lb65";
-    } + "/master";
+      sha256 = "1fdahbpihs93pj640y2079yilca6w7vlwirfcz221885ih148257";
+    };
 
     propagatedBuildInputs = [
       # core
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 35524040da99..f95d71dc2903 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "buildbot-pkg";
-  version = "2.1.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03lv97q4pp2izjfbwfv4zmf2fyiz7jyp537bi3gc6rhfbrfgib1i";
+    sha256 = "1ajgvnhwvryi10q9bklpfazi7vxw2my9jlqgwnjccycbr6yznzsw";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 2f73fbc81a4f..d15b33912aed 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -11,7 +11,7 @@
     src = fetchPypi {
       inherit pname version format;
       python = "py3";
-      sha256 = "011sagw8zp1z12vzkxi44w3w2lbxncz5yahkrbxj8hp6iwfzfm5v";
+      sha256 = "134b8y498bq5fp4863hj9058wr7mcw0xgl74br0f1dy9n7jdcl39";
     };
 
     meta = with lib; {
@@ -28,7 +28,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "11gz4ry1law3l64ii383cj5fnbw9409czp2ybzkqafr4xi1qbk9h";
+      sha256 = "1yh8xij3wizz0f88chjpdijm7i35ql87g84ph3f76sqyr6aj6ckw";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
@@ -48,7 +48,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0w4iwpj1rg20fbli0ppqz70l1mc9ilg0crq8g3xrf29f9z8d1w27";
+      sha256 = "04iihy1s9r4n5jlk57pdjy3yvp6zym2iv2bgqjhw6fy0hff5j8ys";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
@@ -68,7 +68,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0xyvxamw45qhnfml3x5hfg9nai1jhdwbmq4pm8csf3ad0cw6vqya";
+      sha256 = "0bcilhcz9xnr8799d5j4sm6qz8pdjlckdck7a282nfs64liajsrh";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
@@ -88,7 +88,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1szcrx8vslskifzxaq7lrfg2arilaq1w1aqr0nc8pjclj7idp92c";
+      sha256 = "13lr7lzi9sv0s6xrfalq0dkcys6fp7hn0787rjhnz9gc7x83aqjv";
     };
 
     propagatedBuildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index f888448db218..c8ebdf34b868 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage (rec {
   pname = "buildbot-worker";
-  version = "2.1.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14qimaf513h2hklcpix8vscrawvr1qiyn1vy88ycpsbz9mcqbhps";
+    sha256 = "0nldf4ws1nrkhbapxiy2s8j9fjfbkhp17c5912p6qy3ximfcfa93";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/python-modules/gphoto2/default.nix b/pkgs/development/python-modules/gphoto2/default.nix
index 199f568322ac..9d760b37d379 100644
--- a/pkgs/development/python-modules/gphoto2/default.nix
+++ b/pkgs/development/python-modules/gphoto2/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "gphoto2";
-  version = "1.9.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9c8e0c3ca22c0a2bfd0f27d24be6e4da5fe315d39d51f5af7bb5da416dbfa4b7";
+    sha256 = "01vcbjsy5zpfd9rzshk2d6150vhb66m5n420j0wd0k0i0p74ya98";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 6d9d2a6b309f..db8c5b774e41 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "0.35.4";
+  version = "0.35.6";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "deba0b2803640fcad72c61366bff11d5945173015961586d5e3b2f629ffeb455";
+    sha256 = "2ec845845d51221e39d0d753884a19342c953f39febf3148a68631bf57ecb774";
   };
 
   propagatedBuildInputs = [ jupyterlab_server notebook ];
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 6cfb6367307c..8f1f4378a394 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.2.3";
+  version = "2.3.1";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13109caab4972cb6d7395e94ad7189e93e9454f09ededaa6b6784cc5456d41f1";
+    sha256 = "1wgzq0da87m7708hrc9h4bc5m4z2p7379i4xyydszasmjns3sgkj";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/pysonos/default.nix b/pkgs/development/python-modules/pysonos/default.nix
new file mode 100644
index 000000000000..7e9414d5207c
--- /dev/null
+++ b/pkgs/development/python-modules/pysonos/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, xmltodict
+, requests
+, ifaddr
+
+# Test dependencies
+, pytest_3, pylint, flake8, graphviz
+, mock, sphinx, sphinx_rtd_theme
+}:
+
+buildPythonPackage rec {
+  pname = "pysonos";
+  version = "0.0.13";
+
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0azkbd20qdzdilv5pi4qngw7pjjcsv269dim7xh3qv7s9bp0xik8";
+  };
+
+  propagatedBuildInputs = [ xmltodict requests ifaddr ];
+
+  checkInputs = [
+    pytest_3 pylint flake8 graphviz
+    mock sphinx sphinx_rtd_theme
+  ];
+
+  meta = {
+    homepage = https://github.com/amelchio/pysonos;
+    description = "A SoCo fork with fixes for Home Assistant";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ juaningan ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytricia/default.nix b/pkgs/development/python-modules/pytricia/default.nix
new file mode 100644
index 000000000000..2f95d7fcecb2
--- /dev/null
+++ b/pkgs/development/python-modules/pytricia/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pytricia";
+  version = "unstable-2019-01-16";
+
+  src = fetchFromGitHub {
+    owner = "jsommers";
+    repo = pname;
+    rev = "4ba88f68c3125f789ca8cd1cfae156e1464bde87";
+    sha256 = "0qp5774xkm700g35k5c76pck8pdzqlyzbaqgrz76a1yh67s2ri8h";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A library for fast IP address lookup in Python";
+    homepage = https://github.com/jsommers/pytricia;
+    license = with licenses; [ lgpl3Plus ];
+    maintainers = with maintainers; [ mkg ];
+  };
+}
diff --git a/pkgs/development/python-modules/zxcvbn-python/default.nix b/pkgs/development/python-modules/zxcvbn-python/default.nix
index 8287c05f743b..94e8fc977e06 100644
--- a/pkgs/development/python-modules/zxcvbn-python/default.nix
+++ b/pkgs/development/python-modules/zxcvbn-python/default.nix
@@ -1,24 +1,24 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-}:
+{ lib, buildPythonPackage, fetchFromGitHub
+, pytest_3 }:
 
 buildPythonPackage rec {
   pname = "zxcvbn-python";
-  version = "4.4.24";
+  version = "4.4.27";
 
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "900b28cc5e96be4091d8778f19f222832890264e338765a1c1c09fca2db64b2d";
+  src = fetchFromGitHub {
+    owner = "dwolfhub";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0w0sx9ssjks8da973cdv5xi87yjsf038jqxmzj2y26xvpyjsg2v2";
   };
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [
+    pytest_3
+  ];
 
   meta = {
     description = "Python implementation of Dropbox's realistic password strength estimator, zxcvbn";
     homepage = https://github.com/dwolfhub/zxcvbn-python;
     license = with lib.licenses; [ mit ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/tools/analysis/brakeman/default.nix b/pkgs/development/tools/analysis/brakeman/default.nix
index 90eeffd58da1..78a4396698b6 100644
--- a/pkgs/development/tools/analysis/brakeman/default.nix
+++ b/pkgs/development/tools/analysis/brakeman/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "brakeman";
-  version = "4.5.0";
-  source.sha256 = "0c11i01yw87fssmwbybaqf5rdxsjp44hvxdw54c3iqb8fvj76b68";
+  version = "4.5.1";
+  source.sha256 = "0vqnhlswvrg5fpxszfkjmla85gdlvgspz0whlli730ydx648mi68";
 
   meta = with lib; {
     description = "Static analysis security scanner for Ruby on Rails";
diff --git a/pkgs/development/tools/chit/default.nix b/pkgs/development/tools/chit/default.nix
index c0fa754e1e9d..b312b888e908 100644
--- a/pkgs/development/tools/chit/default.nix
+++ b/pkgs/development/tools/chit/default.nix
@@ -6,13 +6,13 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "chit";
-  version = "0.1.13";
+  version = "0.1.14";
 
   src = fetchFromGitHub {
     owner = "peterheesterman";
     repo = pname;
     rev = version;
-    sha256 = "1qp5ad83lvfz9l4ihz1l500p8bgf7q0z1k4f3i13nd5n7i3ksdjc";
+    sha256 = "1rzy15xwlf87c8kpy9pwvir6s9z3qc8d9iz4pk0gfdj2il3vmjwv";
   };
 
   cargoSha256 = "1jqnnf4jgjpm1i310hda15423nxfw9frgpmc2kbrs66qcsj7avaw";
diff --git a/pkgs/development/tools/pgloader/default.nix b/pkgs/development/tools/pgloader/default.nix
new file mode 100644
index 000000000000..47b426604da0
--- /dev/null
+++ b/pkgs/development/tools/pgloader/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, makeWrapper, sbcl, sqlite, freetds, libzip, curl, git, cacert, openssl }:
+stdenv.mkDerivation rec {
+  pname = "pgloader";
+  version = "3.6.1";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/dimitri/pgloader/releases/download/v3.6.1/pgloader-bundle-3.6.1.tgz";
+    sha256 = "1sm8xmq30d1biin5br0y3vrv4fydbrzfqglz1hnvrkdyxrg7d6f9";
+  };
+
+  nativeBuildInputs = [ git makeWrapper ];
+  buildInputs = [ sbcl cacert sqlite freetds libzip curl openssl ];
+
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ sqlite libzip curl git openssl freetds ];
+
+  buildPhase = ''
+    export PATH=$PATH:$out/bin
+    export HOME=$TMPDIR
+
+    make pgloader
+  '';
+
+  dontStrip = true;
+  enableParallelBuilding = false;
+
+  installPhase = ''
+    install -Dm755 bin/pgloader "$out/bin/pgloader"
+    wrapProgram $out/bin/pgloader --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pgloader.io/;
+    description = "pgloader loads data into PostgreSQL and allows you to implement Continuous Migration from your current database to PostgreSQL";
+    maintainers = with maintainers; [ mguentner ];
+    license = licenses.postgresql;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/web/minify/default.nix b/pkgs/development/web/minify/default.nix
index e63f609fc2b6..76434809cb52 100644
--- a/pkgs/development/web/minify/default.nix
+++ b/pkgs/development/web/minify/default.nix
@@ -1,18 +1,24 @@
-{ buildGoPackage, fetchFromGitHub }:
+{ buildGoModule, fetchFromGitHub, lib }:
 
-buildGoPackage rec {
-  name = "minify-${version}";
-  version = "v2.0.0";
-  rev = "41f3effd65817bac8acea89d49b3982211803a4d";
+buildGoModule rec {
+  pname = "minify";
+  version = "2.5.0";
 
   goPackagePath = "github.com/tdewolff/minify";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "tdewolff";
-    repo = "minify";
-    sha256 = "15d9ivg1a9v9c2n0a9pfw74952xhd4vqgx8d60dhvif9lx1d8wlq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ja26fs7klzggmfqvz5nzj9icaa8r8h4a91qg8rj4gx5cnvwx38d";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "0kff2nj66bifbfi8srcvcsipbddw43mvjdwlq0lz04qak524pbvr";
+
+  meta = with lib; {
+    description = "Minifiers for web formats";
+    license = licenses.mit;
+    homepage = https://go.tacodewolff.nl/minify;
+    platforms = platforms.all;
+  };
 }
diff --git a/pkgs/development/web/minify/deps.nix b/pkgs/development/web/minify/deps.nix
deleted file mode 100644
index 4efaec46d571..000000000000
--- a/pkgs/development/web/minify/deps.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-[
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "d9157a9621b69ad1d8d77a1933590c416593f24f";
-      sha256 = "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931";
-    };
-  }
-  {
-    goPackagePath = "github.com/dustin/go-humanize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustin/go-humanize";
-      rev = "8929fe90cee4b2cb9deb468b51fb34eba64d1bf0";
-      sha256 = "1g155kxjh6hd3ibx41nbpj6f7h5bh54zgl9dr53xzg2xlxljgjy0";
-    };
-  }
-  {
-    goPackagePath = "github.com/tdewolff/buffer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tdewolff/buffer";
-      rev = "0edfcb7b750146ff879e95831de2ef53605a5cb5";
-      sha256 = "1mdd4k9byp22mw0a399j3w73zjb5g0vn58g76rjy7ajb0dzm80vl";
-    };
-  }
-  {
-    goPackagePath = "github.com/tdewolff/parse";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tdewolff/parse";
-      rev = "34d5c1160d4503da4b456e5094609f2331d6dde3";
-      sha256 = "0hxf65fgkrc1q4p99p33xxxy1s6wxpn1vfsnqf9p846awwbqsy0v";
-    };
-  }
-  {
-    goPackagePath = "github.com/tdewolff/strconv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/tdewolff/strconv";
-      rev = "3e8091f4417ebaaa3910da63a45ea394ebbfb0e3";
-      sha256 = "00w2mryfjhz3vaqzxvbwvyhi1vgpc1s4xfv1r9hxn8hwa078q5gp";
-    };
-  }
-  {
-    goPackagePath = "github.com/matryer/try";
-    fetch = {
-      type = "git";
-      url = "https://github.com/matryer/try";
-      rev = "93d30e50512f879b73829eb79867df38084bcd31";
-      sha256 = "0dmc8iar9685ks1ba3vnycjsx8qxwyqv51jb7677dvwnzbqhgw6f";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "30411dbcefb7a1da7e84f75530ad3abe4011b4f8";
-      sha256 = "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm";
-    };
-  }
-  {
-    goPackagePath = "github.com/ogier/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ogier/pflag";
-      rev = "45c278ab3607870051a2ea9040bb85fcb8557481";
-      sha256 = "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l";
-    };
-  }
-]
diff --git a/pkgs/games/flare/default.nix b/pkgs/games/flare/default.nix
new file mode 100644
index 000000000000..5ae656d1fc18
--- /dev/null
+++ b/pkgs/games/flare/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildEnv, callPackage, makeWrapper }:
+
+buildEnv {
+  name = "flare-1.10";
+
+  paths = [
+    (callPackage ./engine.nix {})
+    (callPackage ./game.nix {})
+  ];
+
+  buildInputs = [ makeWrapper ];
+  postBuild = ''
+    mkdir -p $out/bin
+    makeWrapper $out/games/flare $out/bin/flare --run "cd $out/share/games/flare"
+  '';
+
+  meta = with lib; {
+    description = "Fantasy action RPG using the FLARE engine";
+    homepage = "http://flarerpg.org/";
+    maintainers = [ maintainers.aanderse ];
+    license = [ licenses.gpl3 licenses.cc-by-sa-30 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/flare/engine.nix b/pkgs/games/flare/engine.nix
new file mode 100644
index 000000000000..8b620835f857
--- /dev/null
+++ b/pkgs/games/flare/engine.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf }:
+
+stdenv.mkDerivation rec {
+  pname = "flare-engine";
+  version = "1.10";
+
+  src = fetchFromGitHub {
+    owner = "flareteam";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0fm7jmxl86h8199nazdi9ivsrhcv9gcymhz1l5c6l2f4d0aqdqiq";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_ttf ];
+
+  meta = with stdenv.lib; {
+    description = "Free/Libre Action Roleplaying Engine";
+    homepage = "https://github.com/flareteam/flare-engine";
+    maintainers = [ maintainers.aanderse ];
+    license = [ licenses.gpl3 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/flare/game.nix b/pkgs/games/flare/game.nix
new file mode 100644
index 000000000000..b10d7dfedb0f
--- /dev/null
+++ b/pkgs/games/flare/game.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "flare-game";
+  version = "1.10";
+
+  src = fetchFromGitHub {
+    owner = "flareteam";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1lfra4ww8za08vcgza2jvh3jrwi6zryk4ljyj32lpp9v4ws9hdh4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Fantasy action RPG using the FLARE engine";
+    homepage = "https://github.com/flareteam/flare-game";
+    maintainers = [ maintainers.aanderse ];
+    license = [ licenses.cc-by-sa-30 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/openra/common.nix b/pkgs/games/openra/common.nix
index 200b9da4a7eb..b0d1f2a5455e 100644
--- a/pkgs/games/openra/common.nix
+++ b/pkgs/games/openra/common.nix
@@ -3,7 +3,7 @@
 */
 { stdenv, makeSetupHook, curl, unzip, dos2unix, pkgconfig, makeWrapper
 , lua, mono, dotnetPackages, python
-, libGL, openal, SDL2
+, libGL, freetype, openal, SDL2
 , zenity
 }:
 
@@ -11,7 +11,7 @@ with stdenv.lib;
 
 let
   path = makeBinPath ([ mono python ] ++ optional (zenity != null) zenity);
-  rpath = makeLibraryPath [ lua openal SDL2 ];
+  rpath = makeLibraryPath [ lua freetype openal SDL2 ];
   mkdirp = makeSetupHook { } ./mkdirp.sh;
 
 in {
@@ -54,10 +54,7 @@ in {
       StyleCopMSBuild
       StyleCopPlusMSBuild
     ] ++ [
-      lua
       libGL
-      openal
-      SDL2
     ];
 
     # TODO: Test if this is correct.
diff --git a/pkgs/games/openra/engines.nix b/pkgs/games/openra/engines.nix
index 7454d32c1139..a6eb363dcb7d 100644
--- a/pkgs/games/openra/engines.nix
+++ b/pkgs/games/openra/engines.nix
@@ -22,20 +22,20 @@ let
 
 in {
   release = name: (buildUpstreamOpenRAEngine rec {
-    version = "20181215";
+    version = "20190314";
     rev = "${name}-${version}";
-    sha256 = "0p0izykjnz7pz02g2khp7msqa00jhjsrzk9y0g29dirmdv75qa4r";
+    sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr";
   } name);
 
   playtest = name: (buildUpstreamOpenRAEngine rec {
-    version = "20190106";
+    version = "20190302";
     rev = "${name}-${version}";
-    sha256 = "0ps9x379plrrj1hnj4fpr26lc46mzgxknv5imxi0bmrh5y4781ql";
+    sha256 = "1vqvfk2p2lpk3m0d3rpvj34i8cmk3mfc7w4cn4llqd9zp4kk9pya";
   } name);
 
   bleed = buildUpstreamOpenRAEngine {
-    version = "9c9cad1";
-    rev = "9c9cad1a15c3a34dc2a61b305e4a9a735381a5f8";
-    sha256 = "0100p7wrnnlvkmy581m0gbyg3cvi4i1w3lzx2gq91ndz1sbm8nd2";
+    version = "8ee1102";
+    rev = "8ee11028d72cde7556b31d45f556b40be65b4b70";
+    sha256 = "19fjzwgmfdf832c6b1x885kaiyck03kpiba0qpsxvps04i7b3vj4";
   };
 }
diff --git a/pkgs/games/openra/mod-launch-game.sh b/pkgs/games/openra/mod-launch-game.sh
index c0b6feb69c88..88b53e71e1bc 100644
--- a/pkgs/games/openra/mod-launch-game.sh
+++ b/pkgs/games/openra/mod-launch-game.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/usr/bin/env bash
 show_error() {
   if command -v zenity > /dev/null; then
     zenity --no-wrap --no-markup --error --title "OpenRA - @title@" --text "$1" 2>/dev/null
@@ -12,7 +12,7 @@ cd "@out@/lib/openra-@name@"
 
 # Check for missing assets
 assetsError='@assetsError@'
-if [ -n "$assetsError" -a ! -d "$HOME/.openra/Content/@name@" ]; then
+if [[ -n "$assetsError" && ! -d "$HOME/.openra/Content/@name@" ]]; then
   show_error "$assetsError"
 fi
 
@@ -20,6 +20,6 @@ fi
 mono --debug OpenRA.Game.exe Game.Mod=@name@ Engine.LaunchPath="@out@/bin/openra-@name@" Engine.ModSearchPaths="@out@/lib/openra-@name@/mods" "$@"
 
 # Show a crash dialog if something went wrong
-if [ $? -ne 0 -a $? -ne 1 ]; then
+if (( $? != 0 && $? != 1 )); then
   show_error $'OpenRA - @title@ has encountered a fatal error.\nPlease refer to the crash logs for more information.\n\nLog files are located in ~/.openra/Logs'
 fi
diff --git a/pkgs/games/openra/mod-update.sh b/pkgs/games/openra/mod-update.sh
index 52bcada8f9a1..8489d5a97a7c 100755
--- a/pkgs/games/openra/mod-update.sh
+++ b/pkgs/games/openra/mod-update.sh
@@ -1,4 +1,5 @@
 #!/usr/bin/env bash
+# shellcheck disable=SC2034
 
 # for mod in $(nix eval --raw '(
 #   with import <nixpkgs> { };
@@ -9,9 +10,7 @@
 #   ./mod-update.sh "$mod"
 # done
 
-# Uses:
-# https://github.com/msteen/nix-prefetch
-# https://github.com/msteen/nix-update-fetch
+# Uses: https://github.com/msteen/nix-upfetch
 
 mod=$1
 commit_count=$2
@@ -19,7 +18,7 @@ token=
 nixpkgs='<nixpkgs>'
 
 die() {
-  ret=$?
+  local ret=$?
   echo "$*" >&2
   exit $ret
 }
@@ -34,13 +33,16 @@ get_sha1() {
   curl -H "Authorization: token $token" -H 'Accept: application/vnd.github.VERSION.sha' "https://api.github.com/repos/$owner/$repo/commits/$ref"
 }
 
+[[ -n $mod ]] || die "The first argument of this script has to be a mod identifier."
+
 [[ -n $token ]] || die "Please edit this script to include a GitHub API access token, which is required for API v4:
 https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/"
 
 # Get current mod_owner and mod_repo.
-vars=$(nix-prefetch --file "$nixpkgs" "openraPackages.mods.$mod" --index 0 --quiet --output json --skip-hash > >(
+vars=$(nix-prefetch --file "$nixpkgs" "openraPackages.mods.$mod" --index 0 --quiet --output json --no-compute-hash > >(
   jq --raw-output 'with_entries(select(.value | contains("\n") | not)) | to_entries | .[] | .key + "=" + .value')) || exit
 
+mod_owner=; mod_repo=; mod_rev=
 while IFS='=' read -r key val; do
   declare "mod_${key}=${val}"
 done <<< "$vars"
@@ -65,11 +67,12 @@ else
 }'
 fi
 
-query='query {
-  repository(owner: \"'"$mod_owner"'\", name: \"'"$mod_repo"'\") {
+# shellcheck disable=SC2089
+query='{
+  repository(owner: "'$mod_owner'", name: "'$mod_repo'") {
     defaultBranchRef {
       target {
-        ... on Commit '"$query_on_commit"'
+        ... on Commit '$query_on_commit'
       }
     }
     licenseInfo {
@@ -80,7 +83,9 @@ query='query {
 
 # Newlines are not allowed in a query.
 # https://developer.github.com/v4/guides/forming-calls/#communicating-with-graphql
+# shellcheck disable=SC2086 disable=SC2090 disable=SC2116
 query=$(echo $query)
+query=${query//\"/\\\"}
 
 # https://developer.github.com/v4/guides/using-the-explorer/#configuring-graphiql
 json=$(curl -H "Authorization: bearer $token" -X POST -d '{ "query": "'"$query"'" }' https://api.github.com/graphql) || exit
@@ -99,12 +104,14 @@ vars=$(jq --raw-output '.data.repository | {
   rev: .oid,
 }) | to_entries | .[] | .key + "=" + (.value | tostring)' <<< "$json") || exit
 
+mod_license_key=; mod_version=; mod_rev=
 while IFS='=' read -r key val; do
   declare "mod_${key}=${val}"
 done <<< "$vars"
 
 mod_config=$(curl "https://raw.githubusercontent.com/$mod_owner/$mod_repo/$mod_rev/mod.config") || exit
 
+mod_id=; engine_version=; automatic_engine_management=; automatic_engine_source=
 while IFS='=' read -r key val; do
   declare "${key,,}=$(jq --raw-output . <<< "$val")"
 done < <(grep '^\(MOD_ID\|ENGINE_VERSION\|AUTOMATIC_ENGINE_MANAGEMENT\|AUTOMATIC_ENGINE_SOURCE\)=' <<< "$mod_config")
@@ -116,6 +123,7 @@ echo >&2
 
 [[ $mod_id == "$mod" ]] ||
   die "The mod '$mod' reports being mod '$mod_id' instead."
+# shellcheck disable=SC2005 disable=SC2046
 [[ $mod_license_key == gpl-3.0 ]] ||
 [[ $(echo $(head -2 <(curl "https://raw.githubusercontent.com/$mod_owner/$mod_repo/$mod_rev/COPYING"))) == 'GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007' ]] ||
   die "The mod '$mod' is licensed under '$mod_license_key' while expecting 'gpl-3.0'."
@@ -126,6 +134,7 @@ echo >&2
 
 engine_owner=${BASH_REMATCH[1]}
 engine_repo=${BASH_REMATCH[2]}
+# shellcheck disable=SC2016
 [[ ${BASH_REMATCH[3]} == '${ENGINE_VERSION}' ]] || engine_version=${BASH_REMATCH[3]}
 engine_rev=$(get_sha1 "$engine_owner" "$engine_repo" "$engine_version")
 
@@ -146,6 +155,6 @@ for type in mod engine; do
   done
   var="${type}_version"
   version=${!var}
-  nix-update-fetch --yes --version "$version" "$(nix-prefetch --quiet --file "$nixpkgs" "openraPackages.mods.$mod" --index $i --output json --with-position --diff -- "${fetcher_args[@]}")"
+  nix-upfetch --yes --version "$version" "$(nix-preupfetch --file "$nixpkgs" "openraPackages.mods.$mod" --index $i -- "${fetcher_args[@]}")"
   (( i++ ))
 done
diff --git a/pkgs/games/openra/mods.nix b/pkgs/games/openra/mods.nix
index ddc34dbda8f6..1e81e02e59f1 100644
--- a/pkgs/games/openra/mods.nix
+++ b/pkgs/games/openra/mods.nix
@@ -60,23 +60,23 @@ in {
   };
 
   dr = buildOpenRAMod rec {
-    version = "266.git.920b476";
+    version = "324.git.ffcd6ba";
     title = "Dark Reign";
     description = "A re-imagination of the original Command & Conquer: ${title} game";
     homepage = https://github.com/drogoganor/DarkReign;
     src = fetchFromGitHub {
       owner = "drogoganor";
       repo = "DarkReign";
-      rev = "920b476be1b7751db087f1f7acd504b8a048d1e2";
-      sha256 = "11ir4pnichrnv4z9532fp9g166jl8fvy5kk03a2fgxssp3g40zz2";
+      rev = "ffcd6ba72979e5f77508136ed7b0efc13e4b100e";
+      sha256 = "07g4qw909649s3i1yhw75613mpwfka05jana5mpp5smhnf0pkack";
     };
     engine = {
       version = "DarkReign";
       src = fetchFromGitHub {
         owner = "drogoganor";
         repo = "OpenRA" ;
-        rev = "e08b75c2add30439228ea3dd61d6be60d1800329";
-        sha256 = "125vf962p69ajrh5pxgfwsi0ksczqwvlw5kn2fvffiwvh8d5in23";
+        rev = "f91d3f2603bbf51afaa89357e4defcdc36138102";
+        sha256 = "05g900ri6q0zrkrk8rmjaz576vjggmi2y6jm0xz3cwli54prn11w";
         name = "engine";
         inherit extraPostFetch;
       };
@@ -161,15 +161,15 @@ in {
   };
 
   ra2 = buildOpenRAMod rec {
-    version = "881.git.b37f4f9";
+    version = "903.git.2f7c700";
     title = "Red Alert 2";
     description = "Re-imagination of the original Command & Conquer: ${title} game";
     homepage = https://github.com/OpenRA/ra2;
     src = fetchFromGitHub {
       owner = "OpenRA";
       repo = "ra2";
-      rev = "b37f4f9f07404127062d9061966e9cc89dd86445";
-      sha256 = "1jiww66ma3qdk9hzyvhbcaa5h4p2mxxk22kvrw92ckpxy0bqba3h";
+      rev = "2f7c700d6d63c0625e7158ef3098221fa6741569";
+      sha256 = "11vnzwczn47wjfrq6y7z9q234p27ihdrcl5p87i6h2xnrpwi8b6m";
     };
     engine = rec {
       version = "release-20180923";
@@ -189,23 +189,23 @@ in {
   };
 
   raclassic = buildOpenRAMod {
-    version = "181.git.8240890";
+    version = "183.git.c76c13e";
     title = "Red Alert Classic";
     description = "A modernization of the original Command & Conquer: Red Alert game";
     homepage = https://github.com/OpenRA/raclassic;
     src = fetchFromGitHub {
       owner = "OpenRA";
       repo = "raclassic";
-      rev = "8240890b32191ce34241c22158b8a79e8c380879";
-      sha256 = "0dznyb6qa4n3ab87g1c4bihfc2nx53k6z0kajc7ynjdnwzvx69ww";
+      rev = "c76c13e9f0912a66ddebae8d05573632b19736b2";
+      sha256 = "1cnr3ccvrkjlv8kkdcglcfh133yy0fkva9agwgvc7wlj9n5ydl4g";
     };
     engine = rec {
-      version = "playtest-20190106";
+      version = "release-20190314";
       src = fetchFromGitHub {
         owner = "OpenRA";
         repo = "OpenRA" ;
         rev = version;
-        sha256 = "0ps9x379plrrj1hnj4fpr26lc46mzgxknv5imxi0bmrh5y4781ql";
+        sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr";
         name = "engine";
         inherit extraPostFetch;
       };
@@ -242,24 +242,24 @@ in {
   };
 
   sp = unsafeBuildOpenRAMod {
-    version = "176.git.fc89ae8";
+    version = "221.git.ac000cc";
     title = "Shattered Paradise";
     description = "Re-imagination of the original Command & Conquer: Tiberian Sun game";
     homepage = https://github.com/ABrandau/OpenRAModSDK;
     src = fetchFromGitHub {
       owner = "ABrandau";
       repo = "OpenRAModSDK";
-      rev = "fc89ae8a10e0f765ac735f923e01aa24dd20e8d2";
-      sha256 = "0xyxhipmjlld0kp23fwsdwnspr7fci0mdnjd60gcsh34c7m0341p";
+      rev = "ac000cc15377cdf6d3c2b72c737d692aa0ed8bcd";
+      sha256 = "16mzs5wcxj9nlpcyx2c87idsqpbm40lx0rznsccclnlb3hiwqas9";
     };
     engine = {
-      version = "SP-Bleed-Branch";
+      version = "SP-22-04-19";
       mods = [ "as" "ts" ];
       src = fetchFromGitHub {
         owner = "ABrandau";
         repo = "OpenRA" ;
-        rev = "d3545c0b751aea2105748eddaab5919313e35314";
-        sha256 = "1jsldl6vnf3r9dzppdm4z7kqbrzkidda5k74wc809i8c4jjnq9rq";
+        rev = "bb0930008a57c07f3002421023f6b446e3e3af69";
+        sha256 = "1jvgpbf56hd02ikhklv49br4d1jiv5hphc5kl79qnjlaacnj222x";
         name = "engine";
         inherit extraPostFetch;
       };
@@ -315,23 +315,23 @@ in {
   };
 
   yr = unsafeBuildOpenRAMod rec {
-    version = "118.git.c26bf14";
+    version = "199.git.5b8b952";
     homepage = https://github.com/cookgreen/yr;
     title = "Yuri's Revenge";
     description = "Re-imagination of the original Command & Conquer: ${title} game";
     src = fetchFromGitHub {
       owner = "cookgreen";
       repo = "yr";
-      rev = "c26bf14155d040edf33c6c5eb3677517d07b39f8";
-      sha256 = "15k6gv4rx3490n0cs9q7ah7q31z89v0pddsw6nqv0fhcahhvq1bc";
+      rev = "5b8b952dbe21f194a6d00485f20e215ce8362712";
+      sha256 = "0hxzrqnz5d7qj1jjr20imiyih62x1cnmndf75nnil4c4sj82f9a6";
     };
     engine = rec {
-      version = "release-20180923";
+      version = "release-20190314";
       src = fetchFromGitHub {
         owner = "OpenRA";
         repo = "OpenRA" ;
         rev = version;
-        sha256 = "1pgi3zaq9fwwdq6yh19bwxscslqgabjxkvl9bcn1a5agy4bfbqk5";
+        sha256 = "15pvn5cx3g0nzbrgpsfz8dngad5wkzp5dz25ydzn8bmxafiijvcr";
         name = "engine";
         inherit extraPostFetch;
       };
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 598ddc485630..0082b97eb22d 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -28,6 +28,9 @@ let
       iana-etc
       # Steam Play / Proton
       python3
+      # Steam VR
+      procps
+      usbutils
     ] ++ lib.optional withJava jdk
       ++ lib.optional withPrimus primus
       ++ extraPkgs pkgs;
diff --git a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix
index 3fcb2fcbb24a..df741d9a029b 100644
--- a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix
@@ -1,10 +1,10 @@
 { stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.14.102-156";
+  version = "4.14.120-160";
 
   # modDirVersion needs to be x.y.z.
-  modDirVersion = "4.14.102";
+  modDirVersion = "4.14.120";
 
   # branchVersion needs to be x.y.
   extraMeta.branch = "4.14";
@@ -13,7 +13,7 @@ buildLinux (args // rec {
     owner = "hardkernel";
     repo = "linux";
     rev = version;
-    sha256 = "12af0n1lg2w2qm9aq1v8w3x8npaka60ks9xp6jwaw0l06j23ryyv";
+    sha256 = "0sb7k8kpbm4h98jsqjnjmj0ysp55n9cpczpw0jsg0x0sj9qp73nr";
   };
 
   defconfig = "odroidxu4_defconfig";
diff --git a/pkgs/servers/mxisd/0001-gradle.patch b/pkgs/servers/mxisd/0001-gradle.patch
index 55ff6ead22d4..8a9f5a81180b 100644
--- a/pkgs/servers/mxisd/0001-gradle.patch
+++ b/pkgs/servers/mxisd/0001-gradle.patch
@@ -1,19 +1,19 @@
---- a/build.gradle	2018-11-16 15:15:29.021469758 +0100
-+++ b/build.gradle	2018-11-16 15:16:50.982289782 +0100
-@@ -64,7 +64,7 @@
+--- a/build.gradle	2019-05-16 21:09:08.373112953 +0200
++++ b/build.gradle	2019-05-16 21:09:37.093114427 +0200
+@@ -72,7 +72,7 @@
  
  buildscript {
      repositories {
--        mavenCentral()
-+    REPLACE
+-        jcenter()
++REPLACE
      }
  
      dependencies {
-@@ -73,9 +73,7 @@
+@@ -81,9 +81,7 @@
  }
  
  repositories {
--    mavenCentral()
+-    jcenter()
 -    maven { url "https://kamax.io/maven/releases/" }
 -    maven { url "https://kamax.io/maven/snapshots/" }
 +REPLACE
diff --git a/pkgs/servers/mxisd/default.nix b/pkgs/servers/mxisd/default.nix
index 0d3bc4f3e08b..9d26ecb6ab16 100644
--- a/pkgs/servers/mxisd/default.nix
+++ b/pkgs/servers/mxisd/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub, jdk, jre, git, gradle_2_5, perl, makeWrapper, writeText }:
+{ stdenv, fetchFromGitHub, jdk, jre, git, gradle_4_10, perl, makeWrapper, writeText }:
 
 let
   name = "mxisd-${version}";
-  version = "1.2.0";
-  rev = "8c4ddd2e6526c1d2b284ba88cce3c2b926d99c62";
+  version = "1.4.3";
+  rev = "cd890d114a46e4a3792c57cc7a35b95b2c466a16";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "kamax-matrix";
     repo = "mxisd";
-    sha256 = "083plqg0rxsqwzyskin78wkmylhb7cqz37lpsa1zy56sxpdw1a3l";
+    sha256 = "05plcf6bq19fmx528fgnib4bw9gz36irwlnfsykys1bpmi60wj69";
   };
 
 
   deps = stdenv.mkDerivation {
     name = "${name}-deps";
     inherit src;
-    nativeBuildInputs = [ gradle_2_5 perl git ];
+    nativeBuildInputs = [ gradle_4_10 perl git ];
 
     buildPhase = ''
       export MXISD_BUILD_VERSION=${rev}
@@ -35,13 +35,13 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0shshn05nzv23shry1xpcgvqg59gx929n0qngpfjhbq0kp7px68m";
+    outputHash = "0z9f3w7lfdvbk26kyckpbgas7mi98rjghck9w0kvx3r7k48p5vnv";
   };
 
 in
 stdenv.mkDerivation {
   inherit name src version;
-  nativeBuildInputs = [ gradle_2_5 perl makeWrapper ];
+  nativeBuildInputs = [ gradle_4_10 perl makeWrapper ];
   buildInputs = [ jre ];
 
   patches = [ ./0001-gradle.patch ];
diff --git a/pkgs/servers/sql/postgresql/ext/pipelinedb.nix b/pkgs/servers/sql/postgresql/ext/pipelinedb.nix
new file mode 100644
index 000000000000..de3cde8120d6
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/ext/pipelinedb.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, postgresql, zeromq, openssl }:
+
+if stdenv.lib.versionOlder postgresql.version "10"
+then throw "PipelineDB not supported for PostgreSQL ${postgresql.version}"
+else
+stdenv.mkDerivation rec {
+  pname = "pipelinedb";
+  version = "1.0.0-13";
+
+  src = fetchFromGitHub {
+    owner = "pipelinedb";
+    repo = pname;
+    rev = version;
+    sha256 = "1mnqpvx6g1r2n4kjrrx01vbdx7kvndfsbmm7zbzizjnjlyixz75f";
+  };
+
+  buildInputs = [ postgresql openssl zeromq ];
+
+  makeFlags = [ "USE_PGXS=1" ];
+
+  preConfigure = ''
+    substituteInPlace Makefile \
+      --replace "/usr/lib/libzmq.a" "${zeromq}/lib/libzmq.a"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -D -t $out/lib/ pipelinedb.so
+    install -D -t $out/share/extension {pipelinedb-*.sql,pipelinedb.control}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "High-performance time-series aggregation for PostgreSQL";
+    homepage = https://www.pipelinedb.com/;
+    license = licenses.asl20;
+    platforms = postgresql.meta.platforms;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/servers/sql/postgresql/packages.nix b/pkgs/servers/sql/postgresql/packages.nix
index e5f29dc7d57c..60faa2db2407 100644
--- a/pkgs/servers/sql/postgresql/packages.nix
+++ b/pkgs/servers/sql/postgresql/packages.nix
@@ -31,6 +31,8 @@ self: super: {
 
     pgtap = super.callPackage ./ext/pgtap.nix { };
 
+    pipelinedb = super.callPackage ./ext/pipelinedb.nix { };
+
     timescaledb = super.callPackage ./ext/timescaledb.nix { };
 
     tsearch_extras = super.callPackage ./ext/tsearch_extras.nix { };
diff --git a/pkgs/tools/filesystems/android-file-transfer/default.nix b/pkgs/tools/filesystems/android-file-transfer/default.nix
index 6441ae5dbd1b..015408351fde 100644
--- a/pkgs/tools/filesystems/android-file-transfer/default.nix
+++ b/pkgs/tools/filesystems/android-file-transfer/default.nix
@@ -1,22 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, cmake, fuse, readline, pkgconfig, qtbase }:
+{ stdenv, fetchFromGitHub, cmake, fuse, readline, pkgconfig, qtbase }:
 
 stdenv.mkDerivation rec {
-  name = "android-file-transfer-${version}";
-  version = "3.7";
+  pname = "android-file-transfer";
+  version = "3.8";
+
   src = fetchFromGitHub {
     owner = "whoozle";
     repo = "android-file-transfer-linux";
     rev = "v${version}";
-    sha256 = "0a388pqc0azgn0wy85wb1mjk3b5zb6vcr58l4warwfzhca400zn0";
+    sha256 = "0sym33a0ccdka2cpzv003n2xniid70z0gkjxx93gd2bajkgs9ggc";
   };
-  buildInputs = [ cmake fuse readline pkgconfig qtbase ];
-  buildPhase = ''
-    cmake .
-    make
-  '';
-  installPhase = ''
-    make install
-  '';
+
+  nativeBuildInputs = [ cmake readline pkgconfig ];
+  buildInputs = [ fuse qtbase ];
+
   meta = with stdenv.lib; {
     description = "Reliable MTP client with minimalistic UI";
     homepage = https://whoozle.github.io/android-file-transfer-linux/;
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index 514085bee64e..aa53aeb42061 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,35 +1,18 @@
 {
-  mkDerivation, lib, fetchgit, fetchpatch,
+  mkDerivation, lib, fetchurl,
   extra-cmake-modules, kdoctools, wrapGAppsHook,
   kcrash, kconfig, kinit, kparts
 }:
 
 mkDerivation rec {
-  name = "kdiff3-${version}";
-  version = "1.7.0-2017-02-19";
+  pname = "kdiff3";
+  version = "1.8.1";
 
-  src = fetchgit {
-    # gitlab is outdated
-    url = https://anongit.kde.org/scratch/thomasfischer/kdiff3.git;
-    sha256 = "0znlk9m844a6qsskbd898w4yk48dkg5bkqlkd5abvyrk1jipzyy8";
-    rev = "0d2ac328164e3cbe2db35875d3df3a86187ae84f";
+  src = fetchurl {
+    url = "https://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0vj3rw5w0kry2c1y8gv6hniam417w7k3ydb1dkf5xwr4iprw0xvq";
   };
 
-  setSourceRoot = ''sourceRoot="$(echo */kdiff3/)"'';
-
-  patches = [
-    (fetchpatch {
-      name = "git-mergetool.diff"; # see https://gitlab.com/tfischer/kdiff3/merge_requests/2
-      url = "https://gitlab.com/vcunat/kdiff3/commit/6106126216.patch";
-      sha256 = "16xqc24y8bg8gzkdbwapiwi68rzqnkpz4hgn586mi01ngig2fd7y";
-    })
-  ];
-  patchFlags = "-p 2";
-
-  postPatch = ''
-    sed -re "s/(p\\[[^]]+] *== *)('([^']|\\\\')+')/\\1QChar(\\2)/g" -i src/diff.cpp
-  '';
-
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
 
   propagatedBuildInputs = [ kconfig kcrash kinit kparts ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8d2e49510b3a..c41cf93d8972 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2867,6 +2867,8 @@ in
 
   flannel = callPackage ../tools/networking/flannel { };
 
+  flare = callPackage ../games/flare { };
+
   flashbench = callPackage ../os-specific/linux/flashbench { };
 
   flatpak = callPackage ../development/libraries/flatpak { };
@@ -3447,6 +3449,8 @@ in
 
   pgf_graphics = callPackage ../tools/graphics/pgf { };
 
+  pgloader = callPackage ../development/tools/pgloader { };
+
   pigz = callPackage ../tools/compression/pigz { };
 
   pixz = callPackage ../tools/compression/pixz { };
@@ -6024,6 +6028,8 @@ in
 
   systrayhelper = callPackage ../tools/misc/systrayhelper {};
 
+  Sylk = callPackage ../applications/networking/Sylk {};
+
   otter-browser = qt5.callPackage ../applications/networking/browsers/otter {};
 
   privoxy = callPackage ../tools/networking/privoxy {
@@ -8623,9 +8629,7 @@ in
     inherit (gnome2) gnome_vfs libglade libgnome libgnomecanvas libgnomeui;
   };
 
-  guile-lib = callPackage ../development/guile-modules/guile-lib {
-    guile = guile_2_0;
-  };
+  guile-lib = callPackage ../development/guile-modules/guile-lib { };
 
   guile-ncurses = callPackage ../development/guile-modules/guile-ncurses { };
 
@@ -16028,6 +16032,8 @@ in
 
   cherry = callPackage ../data/fonts/cherry { };
 
+  cnstrokeorder = callPackage ../data/fonts/cnstrokeorder {};
+
   comfortaa = callPackage ../data/fonts/comfortaa {};
 
   comic-neue = callPackage ../data/fonts/comic-neue { };
@@ -16216,6 +16222,8 @@ in
 
   junicode = callPackage ../data/fonts/junicode { };
 
+  kanji-stroke-order-font = callPackage ../data/fonts/kanji-stroke-order-font {};
+
   kawkab-mono-font = callPackage ../data/fonts/kawkab-mono {};
 
   kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
@@ -16414,6 +16422,8 @@ in
 
   qogir-theme = callPackage ../data/themes/qogir { };
 
+  redhat-official-fonts = callPackage ../data/fonts/redhat-official { };
+
   route159 = callPackage ../data/fonts/route159 { };
 
   sampradaya = callPackage ../data/fonts/sampradaya { };
@@ -17548,6 +17558,8 @@ in
 
   inherit (gnome3) epiphany;
 
+  ephemeral = callPackage ../applications/networking/browsers/ephemeral { };
+
   epic5 = callPackage ../applications/networking/irc/epic5 { };
 
   eq10q = callPackage ../applications/audio/eq10q { };
@@ -18677,6 +18689,8 @@ in
 
   libvmi = callPackage ../development/libraries/libvmi { };
 
+  lifelines = callPackage ../applications/misc/lifelines { };
+
   liferea = callPackage ../applications/networking/newsreaders/liferea {
     inherit (gnome3) dconf;
   };
@@ -19100,7 +19114,9 @@ in
 
   pig = callPackage ../applications/networking/cluster/pig { };
 
-  pijul = callPackage ../applications/version-management/pijul {};
+  pijul = callPackage ../applications/version-management/pijul {
+    inherit (llvmPackages) clang libclang;
+  };
 
   ping = callPackage ../applications/networking/ping { };
 
@@ -19869,6 +19885,8 @@ in
 
   setbfree = callPackage ../applications/audio/setbfree { };
 
+  sfxr = callPackage ../applications/audio/sfxr { };
+
   sfxr-qt = libsForQt5.callPackage ../applications/audio/sfxr-qt { };
 
   shadowfox = callPackage ../tools/networking/shadowfox { };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 63886bac8577..f680f0952753 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -142,6 +142,26 @@ let
     ];
   };
 
+  event = buildPecl rec {
+    version = "2.5.0";
+    pname = "event";
+
+    sha256 = "1igbxla4s784z7lw1jar6pjyfn596040a52kfmawwclqf9qcvx0v";
+
+    configureFlags = [ "--with-event-libevent-dir=${pkgs.libevent.dev}" ];
+    nativeBuildInputs = [ pkgs.pkgconfig ];
+    buildInputs = with pkgs; [ openssl libevent ];
+
+    meta = with pkgs.lib; {
+      description = ''
+        This is an extension to efficiently schedule I/O, time and signal based
+        events using the best I/O notification mechanism available for specific platform.
+      '';
+      license = licenses.php301;
+      homepage = "https://bitbucket.org/osmanov/pecl-event/";
+    };
+  };
+
   igbinary = buildPecl rec {
     version = "3.0.1";
     pname = "igbinary";
@@ -347,12 +367,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.11.6";
+    version = "0.11.7";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "016zm9ynh0zi40kclvzql7zxs3pl69cacln2c7n3gsicpswr0qa4";
+      sha256 = "0148ygnmj8wwal432isfq3zhf7qw902sfd2llwl6nw4wf0a6kf73";
     };
 
     phases = [ "installPhase" ];
@@ -380,6 +400,67 @@ let
     };
   };
 
+  pinba = if isPhp73 then pinba73 else pinba7;
+
+  pinba7 = assert !isPhp73; buildPecl rec {
+    version = "1.1.1";
+    pname = "pinba";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "tony2001";
+      repo = "pinba_extension";
+      rev = "RELEASE_1_1_1";
+      sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5";
+    };
+
+    meta = with pkgs.lib; {
+      description = "PHP extension for Pinba";
+      longDescription = ''
+        Pinba is a MySQL storage engine that acts as a realtime monitoring and
+        statistics server for PHP using MySQL as a read-only interface.
+      '';
+      homepage = "http://pinba.org/";
+    };
+  };
+
+  pinba73 = assert isPhp73; buildPecl rec {
+    version = "1.1.2-dev";
+    pname = "pinba";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "tony2001";
+      repo = "pinba_extension";
+      rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e";
+      sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80";
+    };
+
+    meta = with pkgs.lib; {
+      description = "PHP extension for Pinba";
+      longDescription = ''
+        Pinba is a MySQL storage engine that acts as a realtime monitoring and
+        statistics server for PHP using MySQL as a read-only interface.
+      '';
+      homepage = "http://pinba.org/";
+    };
+  };
+
+  protobuf = buildPecl rec {
+    version = "3.7.1";
+    pname = "protobuf";
+
+    sha256 = "0fbf29851dpgjfdgi6i1dgy047dfiazm6qh943w22zbj35l7g2yc";
+
+    buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ];
+
+    meta = with pkgs.lib; {
+      description = ''
+        Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
+      '';
+      license = licenses.bsd3;
+      homepage = "https://developers.google.com/protocol-buffers/";
+    };
+  };
+
   psysh = mkDerivation rec {
     version = "0.9.9";
     pname = "psysh";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 54a8f7c6a4cd..7c7ad28bfff9 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -846,6 +846,8 @@ in {
 
   pytimeparse =  callPackage ../development/python-modules/pytimeparse { };
 
+  pytricia =  callPackage ../development/python-modules/pytricia { };
+
   PyWebDAV = callPackage ../development/python-modules/pywebdav { };
 
   pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml{ });
@@ -4055,6 +4057,8 @@ in {
 
   pyserial = callPackage ../development/python-modules/pyserial {};
 
+  pysonos = callPackage ../development/python-modules/pysonos {};
+
   pymongo = callPackage ../development/python-modules/pymongo {};
 
   pyperclip = callPackage ../development/python-modules/pyperclip { };