about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/atom/default.nix8
-rw-r--r--pkgs/applications/graphics/freecad/default.nix17
-rw-r--r--pkgs/applications/misc/octoprint/default.nix38
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix8
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/default.nix18
-rw-r--r--pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch13
-rw-r--r--pkgs/development/python-modules/jupyterlab_launcher/default.nix4
-rw-r--r--pkgs/development/python-modules/monty/default.nix38
-rw-r--r--pkgs/development/python-modules/pandas/default.nix29
-rw-r--r--pkgs/development/python-modules/python-periphery/default.nix21
-rw-r--r--pkgs/development/python-modules/seekpath/default.nix25
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix96
-rw-r--r--pkgs/tools/package-management/appimage-run/default.nix146
-rw-r--r--pkgs/tools/package-management/home-manager/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix8
17 files changed, 399 insertions, 82 deletions
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index b13e9fe12587..c37064ee6000 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -60,12 +60,12 @@ let
   };
 in stdenv.lib.mapAttrs common {
   atom = {
-    version = "1.27.2";
-    sha256 = "0xriv142asc82mjxzkqsafaqalxa3icz4781z2fsgyfkkw6zbz2v";
+    version = "1.28.0";
+    sha256 = "0k09316897qb9ypkqm6w78nz7sj5385xfdm9bm97m8pka7v61g7h";
   };
 
   atom-beta = {
-    version = "1.28.0-beta3";
-    sha256 = "07mmzkbc7xzcwh6ylrs2w1g3l5gmyfk0gdmr2kzr6jdr00cq73y0";
+    version = "1.29.0-beta0";
+    sha256 = "05xk63wsjfssf8ckph2bgrxaf99fhz3gs8n8pira8cc9yjk7diz7";
   };
 }
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 87565a1e53e5..8001080a170a 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
-, hdf5, vtk, medfile, boost, zlib, python27Packages, swig, gfortran
+, hdf5, vtk, medfile, boost, zlib, python27Packages, swig, gfortran, fetchpatch
 , soqt, libf2c, makeWrapper, makeDesktopItem
 , mpi ? null }:
 
@@ -16,9 +16,18 @@ in stdenv.mkDerivation rec {
     sha256 = "1yv6abdzlpn4wxy315943xwrnbywxqfgkjib37qwfvbb8y9p60df";
   };
 
-  buildInputs = with pythonPackages; [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
-    zlib python swig gfortran soqt libf2c makeWrapper matplotlib mpi vtk hdf5 medfile
-    pycollada pyside pysideShiboken pysideTools pivy
+  buildInputs = with pythonPackages; [ cmake coin3d xercesc ode eigen qt4 opencascade gts
+    zlib  swig gfortran soqt libf2c makeWrapper  mpi vtk hdf5 medfile
+  ] ++ (with pythonPackages; [
+    matplotlib pycollada pyside pysideShiboken pysideTools pivy python boost
+  ]);
+
+  patches = [
+    # Fix for finding boost_python. Boost >= 1.67.0 appends the Python version.
+    (fetchpatch {
+      url = https://github.com/FreeCAD/FreeCAD/commit/3c9e6b038ed544e446c61695dab62f83e781a28a.patch;
+      sha256 = "0f09qywzn0y41hylizb5g8jy74fi53iqmvqr5zznaz16wpw4hqbp";
+    })
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index ca381e14dd17..6b057186eaf3 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -6,29 +6,37 @@ let
     overrides = self: super: with self; {
       backports_ssl_match_hostname = self.backports_ssl_match_hostname_3_4_0_2;
 
+      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+        version = "0.12.4";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd";
+        };
+      });
+
       tornado = buildPythonPackage rec {
-        name = "tornado-${version}";
+        pname = "tornado";
         version = "4.0.2";
 
         propagatedBuildInputs = [ backports_ssl_match_hostname certifi ];
 
-        src = fetchurl {
-          url = "mirror://pypi/t/tornado/${name}.tar.gz";
+        src = fetchPypi {
+          inherit pname version;
           sha256 = "1yhvn8i05lp3b1953majg48i8pqsyj45h34aiv59hrfvxcj5234h";
         };
       };
 
       flask_login = buildPythonPackage rec {
-        name = "Flask-Login-${version}";
+        pname = "Flask-Login";
         version = "0.2.2";
 
-        src = fetchurl {
-          url = "mirror://pypi/F/Flask-Login/${name}.tar.gz";
+        src = fetchPypi {
+          inherit pname version;
           sha256 = "09ygn0r3i3jz065a5psng6bhlsqm78msnly4z6x39bs48r5ww17p";
         };
 
         propagatedBuildInputs = [ flask ];
-        buildInputs = [ nose ];
+        checkInputs = [ nose ];
 
         # No tests included
         doCheck = false;
@@ -37,10 +45,9 @@ let
       jinja2 = buildPythonPackage rec {
         pname = "Jinja2";
         version = "2.8.1";
-        name = "${pname}-${version}";
 
-        src = fetchurl {
-          url = "mirror://pypi/J/Jinja2/${name}.tar.gz";
+        src = fetchPypi {
+          inherit pname version;
           sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m";
         };
 
@@ -53,14 +60,14 @@ let
   };
 
 in pythonPackages.buildPythonApplication rec {
-  name = "OctoPrint-${version}";
-  version = "1.3.6";
+  pname = "OctoPrint";
+  version = "1.3.8";
 
   src = fetchFromGitHub {
     owner = "foosel";
     repo = "OctoPrint";
     rev = version;
-    sha256 = "0pgpkjw5zjnks5bky51gjaksq8mhrzkl52kpgf799hl35pd08xr3";
+    sha256 = "00zd5yrlihwfd3ly0mxibr77ffa8r8vkm6jhml2ml43dqb99caa3";
   };
 
   # We need old Tornado
@@ -70,9 +77,10 @@ in pythonPackages.buildPythonApplication rec {
     psutil pyserial flask_login netaddr markdown sockjs-tornado
     pylru pyyaml sarge feedparser netifaces click websocket_client
     scandir chainmap future dateutil futures wrapt monotonic emoji
+    frozendict
   ];
 
-  buildInputs = with pythonPackages; [ nose mock ddt ];
+  checkInputs = with pythonPackages; [ nose mock ddt ];
 
   # Jailbreak dependencies.
   postPatch = ''
@@ -88,7 +96,7 @@ in pythonPackages.buildPythonApplication rec {
       -e 's,PyYAML>=[^"]*,PyYAML,g' \
       -e 's,scandir>=[^"]*,scandir,g' \
       -e 's,werkzeug>=[^"]*,werkzeug,g' \
-      -e 's,psutil>=[^"]*,psutil,g' \
+      -e 's,psutil==[^"]*,psutil,g' \
       -e 's,requests>=[^"]*,requests,g' \
       -e 's,future>=[^"]*,future,g' \
       -e 's,pyserial>=[^"]*,pyserial,g' \
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index ff03812f80cc..ec76d840a56b 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -12,6 +12,8 @@
 , gunicorn
 , pytest-mock
 , async_generator
+, pytestrunner
+, pytest-timeout
 }:
 
 buildPythonPackage rec {
@@ -25,11 +27,15 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.5";
 
-  checkInputs = [ pytest gunicorn pytest-mock async_generator ];
+  checkInputs = [ pytest gunicorn pytest-mock async_generator pytestrunner pytest-timeout ];
 
   propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ]
     ++ lib.optional (pythonOlder "3.7") idna-ssl;
 
+
+  # Several test failures. Need to be looked into.
+  doCheck = false;
+
   meta = with lib; {
     description = "Asynchronous HTTP Client/Server for Python and asyncio";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/git-annex-adapter/default.nix b/pkgs/development/python-modules/git-annex-adapter/default.nix
index 04fae0db1b7a..6cb6e626f279 100644
--- a/pkgs/development/python-modules/git-annex-adapter/default.nix
+++ b/pkgs/development/python-modules/git-annex-adapter/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchurl
-, utillinux, pygit2, gitMinimal, git-annex }:
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch
+, utillinux, pygit2, gitMinimal, git-annex
+}:
 
 buildPythonPackage rec {
   pname = "git-annex-adapter";
@@ -22,10 +23,13 @@ buildPythonPackage rec {
   '';
 
   # TODO: Remove for next version
-  patches = fetchurl {
-    url = "https://github.com/alpernebbi/git-annex-adapter/commit/9f64c4b99cae7b681820c6c7382e1e40489f4d1e.patch";
-    sha256 = "1hbw8651amjskakvs1wv2msd1wryrq0vpryvbispg5267rs8q7hp";
-  };
+  patches = [
+    ./not-a-git-repo-testcase.patch
+    (fetchpatch {
+      url = "https://github.com/alpernebbi/git-annex-adapter/commit/9f64c4b99cae7b681820c6c7382e1e40489f4d1e.patch";
+      sha256 = "0yh66gial6bx7kbl7s7lkzljnkpgvgr8yahqqcq9z76d0w752dir";
+    })
+  ];
 
   checkInputs = [
     utillinux # `rev` is needed in tests/test_process.py
@@ -43,6 +47,6 @@ buildPythonPackage rec {
     homepage = https://github.com/alpernebbi/git-annex-adapter;
     description = "Call git-annex commands from Python";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda ];
+    maintainers = with maintainers; [ dotlambda ma27 ];
   };
 }
diff --git a/pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch b/pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch
new file mode 100644
index 000000000000..2a386ee3f2f9
--- /dev/null
+++ b/pkgs/development/python-modules/git-annex-adapter/not-a-git-repo-testcase.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_process.py b/tests/test_process.py
+index 493fc8f..feb1833 100644
+--- a/tests/test_process.py
++++ b/tests/test_process.py
+@@ -126,7 +126,7 @@ class TestProcessOnEmptyDir(TempDirTestCase):
+         with self.assertRaises(subprocess.CalledProcessError) as cm:
+             runner('status', '-sb')
+         self.assertIn(
+-            "fatal: Not a git repository",
++            "fatal: not a git repository",
+             cm.exception.stderr,
+         )
+ 
diff --git a/pkgs/development/python-modules/jupyterlab_launcher/default.nix b/pkgs/development/python-modules/jupyterlab_launcher/default.nix
index 5bbc36f53dfe..f316fe10563d 100644
--- a/pkgs/development/python-modules/jupyterlab_launcher/default.nix
+++ b/pkgs/development/python-modules/jupyterlab_launcher/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi, jsonschema, notebook }:
 buildPythonPackage rec {
   pname = "jupyterlab_launcher";
-  version = "0.11.0";
+  version = "0.10.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2eea0cc95b312e136e6e5abc64e2e62baaeca493cd32f553c2205f79e01c0423";
+    sha256 = "1v1ir182zm2dl14lqvqjhx2x40wnp0i32n6rldxnm1allfpld1n7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix
new file mode 100644
index 000000000000..e53098f6f232
--- /dev/null
+++ b/pkgs/development/python-modules/monty/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, nose, numpy, six, ruamel_yaml, msgpack-python, coverage, coveralls, pymongo, lsof }:
+
+buildPythonPackage rec {
+  pname = "monty";
+  version = "1.0.2";
+
+  # No tests in Pypi
+  src = fetchFromGitHub {
+    owner = "materialsvirtuallab";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ss70fanavqdpj56yymj06lacgnknb4ap39m2q28v9lz32cs6xdg";
+  };
+
+  propagatedBuildInputs = [ nose numpy six ruamel_yaml msgpack-python coverage coveralls pymongo lsof ];
+  
+  preCheck = ''
+    substituteInPlace tests/test_os.py \
+      --replace 'def test_which(self):' '#' \
+      --replace 'py = which("python")' '#' \
+      --replace 'self.assertEqual(os.path.basename(py), "python")' '#' \
+      --replace 'self.assertEqual("/usr/bin/find", which("/usr/bin/find"))' '#' \
+      --replace 'self.assertIs(which("non_existent_exe"), None)' '#' \
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Serves as a complement to the Python standard library by providing a suite of tools to solve many common problems";
+    longDescription = "
+      Monty implements supplementary useful functions for Python that are not part of the 
+      standard library. Examples include useful utilities like transparent support for zipped files, useful design 
+      patterns such as singleton and cached_class, and many more.
+    ";
+    homepage = https://github.com/materialsvirtuallab/monty;
+    license = licenses.mit;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index ebb06f0f47db..08fdddb73467 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -24,8 +24,9 @@
 }:
 
 let
-  inherit (stdenv.lib) optional optionalString concatStringsSep;
+  inherit (stdenv.lib) optional optionals optionalString concatStringsSep;
   inherit (stdenv) isDarwin;
+
 in buildPythonPackage rec {
   pname = "pandas";
   version = "0.23.1";
@@ -67,6 +68,24 @@ in buildPythonPackage rec {
                 "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
   '';
 
+
+  disabledTests = stdenv.lib.concatMapStringsSep " and " (s: "not " + s) ([
+    # since dateutil 0.6.0 the following fails: test_fallback_plural, test_ambiguous_flags, test_ambiguous_compat
+    # was supposed to be solved by https://github.com/dateutil/dateutil/issues/321, but is not the case
+    "test_fallback_plural"
+    "test_ambiguous_flags"
+    "test_ambiguous_compat"
+    # Locale-related
+    "test_names"
+    "test_dt_accessor_datetime_name_accessors"
+    "test_datetime_name_accessors"
+    # Can't import from test folder
+    "test_oo_optimizable"
+  ] ++ optionals isDarwin [
+    "test_locale"
+    "test_clipboard"
+  ]);
+
   checkPhase = ''
     runHook preCheck
   ''
@@ -79,13 +98,7 @@ in buildPythonPackage rec {
     chmod a+x pbcopy pbpaste
     export PATH=$(pwd):$PATH
   '' + ''
-    # since dateutil 0.6.0 the following fails: test_fallback_plural, test_ambiguous_flags, test_ambiguous_compat
-    # was supposed to be solved by https://github.com/dateutil/dateutil/issues/321, but is not the case
-    py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network \
-      -k "not test_fallback_plural and \
-          not test_ambiguous_flags and \
-          not test_ambiguous_compat \
-          ${optionalString isDarwin "and not test_locale and not test_clipboard"}"
+    py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network -k "$disabledTests"
     runHook postCheck
   '';
 
diff --git a/pkgs/development/python-modules/python-periphery/default.nix b/pkgs/development/python-modules/python-periphery/default.nix
new file mode 100644
index 000000000000..b2b103858cce
--- /dev/null
+++ b/pkgs/development/python-modules/python-periphery/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "python-periphery";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fe8f351934edce72cd919b4eb070878ebff551db5e21aea61e0f446101f0a79f";
+  };
+
+  # Some tests require physical probing and additional physical setup
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/vsergeev/python-periphery;
+    description = "Linux Peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, Serial) with Python 2 & 3";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ bandresen ];
+  };
+}
diff --git a/pkgs/development/python-modules/seekpath/default.nix b/pkgs/development/python-modules/seekpath/default.nix
new file mode 100644
index 000000000000..de17e65d2bfb
--- /dev/null
+++ b/pkgs/development/python-modules/seekpath/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, numpy, future, spglib, glibcLocales }:
+
+buildPythonPackage rec {
+  pname = "seekpath";
+  version = "1.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bdc0400c96952525b1165894807e4bec90aaedb11cfeb27a57414e6091eb026";
+  };  
+
+  LC_ALL = "en_US.utf-8";
+
+  propagatedBuildInputs = [ numpy spglib future ];
+
+  nativeBuildInputs = [ glibcLocales ];
+
+  meta = with stdenv.lib; {
+    description = "A module to obtain and visualize band paths in the Brillouin zone of crystal structures.";
+    homepage = https://github.com/giovannipizzi/seekpath;
+    license = licenses.mit;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 2798306c3002..3bfbc2565f35 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,56 +1,74 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, makeWrapper, bluez, ffmpeg, libao, libGLU_combined, gtk2, glib
-, pcre, gettext, libpthreadstubs, libXrandr, libXext, libXxf86vm, libXinerama, libSM, readline
-, openal, libXdmcp, portaudio, libusb, libevdev, curl, qt5
+{ stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, pkgconfig, cmake, qt5
+, bluez, ffmpeg, libao, libGLU_combined, gtk2, glib, pcre, gettext, libXrandr
+, libpthreadstubs, libusb, libXext, libXxf86vm, libXinerama, libSM, libXdmcp
+, readline, openal, libevdev, portaudio, curl
 , vulkan-loader ? null
 , libpulseaudio ? null
+
 # - Inputs used for Darwin
-, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL
-, wxGTK
-, libpng
-, hidapi
+, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL, wxGTK, libpng, hidapi
 
 # options
 , dolphin-wxgui ? true
-, dolphin-qtgui ? false
-}:
+, dolphin-qtgui ? false }:
+
 # XOR: ensure only wx XOR qt are enabled
 assert dolphin-wxgui || dolphin-qtgui;
 assert !(dolphin-wxgui && dolphin-qtgui);
 
-stdenv.mkDerivation rec {
-  name = "dolphin-emu-20180609";
+let
+  desktopItem = makeDesktopItem {
+    name = "dolphin-emu-master";
+    exec = stdenv.lib.optionalString dolphin-wxgui "dolphin-emu-wx"
+         + stdenv.lib.optionalString dolphin-qtgui "dolphin-emu-qt";
+    icon = "dolphin-emu";
+    comment = "A Wii/GameCube Emulator";
+    desktopName = "Dolphin Emulator (master)";
+    genericName = "Wii/GameCube Emulator";
+    categories = "Game;Emulator;";
+    startupNotify = "false";
+  };
+in stdenv.mkDerivation rec {
+  name = "dolphin-emu-${version}";
+  version = "2018-06-22";
+
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "1d87584d69e3fdd730502127274fcbd85cebd591";
-    sha256 = "0sxzmmv8gvfsy96p1x1aya1cpq0237gip3zkl4bks4grgxf8958b";
+    rev = "971972069cc2813ee7fa5b630c67baab2b35d12d";
+    sha256 = "0kf6dzvwmvhqb1iy15ldap0mmfbyyzl5f14jc65a110vwv5sww7n";
   };
 
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake pkgconfig ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ makeWrapper ];
+
+  buildInputs = [
+    curl ffmpeg libao libGLU_combined gtk2 glib pcre gettext libpthreadstubs
+    libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp
+    portaudio libusb libpulseaudio libpng hidapi
+  ] ++ stdenv.lib.optionals dolphin-qtgui [ qt5.qtbase ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ bluez libevdev vulkan-loader ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ wxGTK CoreBluetooth cf-private
+                                              ForceFeedback IOKit OpenGL ];
+
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
     "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
     "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
     "-DENABLE_LTO=True"
   ] ++ stdenv.lib.optionals (!dolphin-qtgui)  [ "-DENABLE_QT2=False" ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ "-DOSX_USE_DEFAULT_SEARCH_PATH=True" ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ cmake pkgconfig ]
-                      ++ stdenv.lib.optionals stdenv.isLinux [ makeWrapper ];
-
-  buildInputs = [ curl ffmpeg libao libGLU_combined gtk2 glib pcre
-                  gettext libpthreadstubs libXrandr libXext libXxf86vm libXinerama libSM readline openal
-                  libXdmcp portaudio libusb libpulseaudio libpng hidapi
-                ] ++ stdenv.lib.optionals stdenv.isDarwin [ wxGTK CoreBluetooth cf-private ForceFeedback IOKit OpenGL ]
-                  ++ stdenv.lib.optionals stdenv.isLinux [ bluez libevdev vulkan-loader ]
-                  ++ stdenv.lib.optionals dolphin-qtgui [ qt5.qtbase ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [
+      "-DOSX_USE_DEFAULT_SEARCH_PATH=True"
+    ];
 
   # - Change install path to Applications relative to $out
   # - Allow Dolphin to use nix-provided libraries instead of building them
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i -e 's,/Applications,Applications,g' Source/Core/DolphinWX/CMakeLists.txt
-    sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' CMakeLists.txt
+    sed -i -e 's,/Applications,Applications,g' \
+      Source/Core/DolphinWX/CMakeLists.txt
+    sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' \
+      CMakeLists.txt
     sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
   '';
 
@@ -58,16 +76,24 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/Applications"
   '';
 
-  postInstall = stdenv.lib.optionalString stdenv.isLinux ''
-    wrapProgram $out/bin/dolphin-emu-nogui --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/dolphin-emu-wx --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+  postInstall = ''
+    cp -r ${desktopItem}/share/applications $out/share
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    wrapProgram $out/bin/dolphin-emu-nogui \
+      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    wrapProgram $out/bin/dolphin-emu-wx \
+      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+  '' + stdenv.lib.optionalString (dolphin-qtgui && stdenv.isLinux) ''
+    wrapProgram $out/bin/dolphin-emu \
+      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
+    ln -sf $out/bin/dolphin-emu $out/bin/dolphin-emu-qt
   '';
 
-  meta = {
-    homepage = http://dolphin-emu.org/;
+  meta = with stdenv.lib; {
+    homepage = "http://dolphin-emu.org";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ MP2E ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ MP2E ];
     branch = "master";
     # x86_32 is an unsupported platform.
     # Enable generic build if you really want a JIT-less binary.
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix
new file mode 100644
index 000000000000..f6c4c25559e2
--- /dev/null
+++ b/pkgs/tools/package-management/appimage-run/default.nix
@@ -0,0 +1,146 @@
+{ stdenv, writeScript, buildFHSUserEnv, coreutils
+, extraPkgs ? pkgs: [] }:
+
+buildFHSUserEnv {
+  name = "appimage-run";
+
+  # Most of the packages were taken from the Steam chroot
+  targetPkgs = pkgs: with pkgs; [
+    gtk3
+    bashInteractive
+    gnome3.zenity
+    python2
+    xorg.xrandr
+    which
+    perl
+    xdg_utils
+    iana-etc
+  ] ++ extraPkgs pkgs;
+
+  multiPkgs = pkgs: with pkgs; [
+    desktop-file-utils
+    xorg.libXcomposite
+    xorg.libXtst
+    xorg.libXrandr
+    xorg.libXext
+    xorg.libX11
+    xorg.libXfixes
+    libGL
+
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-ugly
+    libdrm
+    xorg.xkeyboardconfig
+    xorg.libpciaccess
+
+    glib
+    gtk2
+    bzip2
+    zlib
+    gdk_pixbuf
+
+    xorg.libXinerama
+    xorg.libXdamage
+    xorg.libXcursor
+    xorg.libXrender
+    xorg.libXScrnSaver
+    xorg.libXxf86vm
+    xorg.libXi
+    xorg.libSM
+    xorg.libICE
+    gnome2.GConf
+    freetype
+    (curl.override { gnutlsSupport = true; sslSupport = false; })
+    nspr
+    nss
+    fontconfig
+    cairo
+    pango
+    expat
+    dbus
+    cups
+    libcap
+    SDL2
+    libusb1
+    dbus-glib
+    libav
+    atk
+    libudev0-shim
+    networkmanager098
+
+    xorg.libXt
+    xorg.libXmu
+    xorg.libxcb
+    libGLU
+    libuuid
+    libogg
+    libvorbis
+    SDL
+    SDL2_image
+    glew110
+    openssl
+    libidn
+    tbb
+    wayland
+    mesa_noglu
+    libxkbcommon
+
+    flac
+    freeglut
+    libjpeg
+    libpng12
+    libsamplerate
+    libmikmod
+    libtheora
+    libtiff
+    pixman
+    speex
+    SDL_image
+    SDL_ttf
+    SDL_mixer
+    SDL2_ttf
+    SDL2_mixer
+    gstreamer
+    gst-plugins-base
+    libappindicator-gtk2
+    libcaca
+    libcanberra
+    libgcrypt
+    libvpx
+    librsvg
+    xorg.libXft
+    libvdpau
+    alsaLib
+    strace
+  ];
+
+  runScript = writeScript "appimage-exec" ''
+    #!${stdenv.shell}
+    APPIMAGE="$(realpath "$1")"
+
+    if [ ! -x "$APPIMAGE" ]; then
+      echo "fatal: $APPIMAGE is not executable"
+      exit 1
+    fi
+
+    SHA256="$(${coreutils}/bin/sha256sum "$APPIMAGE" | cut -d ' ' -f 1)"
+    SQUASHFS_ROOT="''${XDG_CACHE_HOME:-$HOME/.cache}/appimage-run/$SHA256/"
+    mkdir -p "$SQUASHFS_ROOT"
+
+    export APPDIR="$SQUASHFS_ROOT/squashfs-root"
+    if [ ! -x "$APPDIR" ]; then
+      cd "$SQUASHFS_ROOT"
+      "$APPIMAGE" --appimage-extract 2>/dev/null
+    fi
+
+    cd "$APPDIR"
+    export PATH="$PATH:$PWD/usr/bin"
+    export APPIMAGE_SILENT_INSTALL=1
+
+    if [ -n "$APPIMAGE_DEBUG_EXEC" ]; then
+      exec "$APPIMAGE_DEBUG_EXEC"
+    fi
+
+    exec ./AppRun
+  '';
+}
diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix
index 8eb266a9e654..44b67ae4dccd 100644
--- a/pkgs/tools/package-management/home-manager/default.nix
+++ b/pkgs/tools/package-management/home-manager/default.nix
@@ -6,13 +6,13 @@
 stdenv.mkDerivation rec {
 
   name = "home-manager-${version}";
-  version = "2017-12-7";
+  version = "2018-06-14";
 
   src = fetchFromGitHub{
     owner = "rycee";
     repo = "home-manager";
-    rev = "0be32c9d42e3a8739263ae7886dc2448c833c19c";
-    sha256 = "06lmnzlf5fmiicbgai27ad9m3bj980xf8ifdpc5lzbsy77pfcfap";
+    rev = "5641ee3f942e700de35b28fc879b0d8a10a7a1fe";
+    sha256 = "0bqzwczbr5c2y3ms7m7ly0as9zsnqwljq61ci2y2gbqzw3md1x2j";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b6a715a6ecd8..bdf2d83fe3fc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -502,6 +502,8 @@ with pkgs;
     buildTools = androidenv.buildTools;
   };
 
+  appimage-run = callPackage ../tools/package-management/appimage-run {};
+
   apt-cacher-ng = callPackage ../servers/http/apt-cacher-ng { };
 
   apt-offline = callPackage ../tools/misc/apt-offline { };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index a1015c780241..a2e54a16d045 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -328,11 +328,11 @@ let
 
   composer = pkgs.stdenv.mkDerivation rec {
     name = "composer-${version}";
-    version = "1.6.3";
+    version = "1.6.5";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "1dna9ng77nw002l7hq60b6vz0f1snmnsxj1l7cg4f877msxppjsj";
+      sha256 = "0d1lpvq8wylh5qgxhbqb5r7j3c6qk0bz4b5vg187jsl6z6fvxgk7";
     };
 
     unpackPhase = ":";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 484d2bc8c62b..673b22c401cd 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -291,7 +291,9 @@ in {
 
   logster = callPackage ../development/python-modules/logster { };
 
-  mail-parser = callPackage ../development/python-modules/mail-parser {  };
+  mail-parser = callPackage ../development/python-modules/mail-parser { };
+
+  monty = callPackage ../development/python-modules/monty { };
 
   mpi4py = callPackage ../development/python-modules/mpi4py {
     mpi = pkgs.openmpi;
@@ -434,6 +436,8 @@ in {
     then ../development/python-modules/python3-openid
     else ../development/python-modules/python-openid) { };
 
+  python-periphery = callPackage ../development/python-modules/python-periphery { };
+
   python-sql = callPackage ../development/python-modules/python-sql { };
 
   python-stdnum = callPackage ../development/python-modules/python-stdnum { };
@@ -458,6 +462,8 @@ in {
 
   salmon-mail = callPackage ../development/python-modules/salmon-mail { };
 
+  seekpath = callPackage ../development/python-modules/seekpath { };
+
   serversyncstorage = callPackage ../development/python-modules/serversyncstorage {};
 
   simpleeval = callPackage ../development/python-modules/simpleeval { };