about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/idea/default.nix12
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix18
-rw-r--r--pkgs/applications/misc/librecad/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix24
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix164
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix4
-rw-r--r--pkgs/applications/science/logic/cvc4/default.nix7
-rw-r--r--pkgs/applications/science/machine-learning/torch/default.nix10
-rw-r--r--pkgs/applications/science/machine-learning/torch/torch-distro.nix329
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/ssh-path.patch26
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtinst/default.nix2
17 files changed, 605 insertions, 38 deletions
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 7a9f409d12898..5d20d0578ea7c 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -195,6 +195,18 @@ in
     };
   };
 
+  idea15-ultimate = buildIdea rec {
+    name = "idea-ultimate-${version}";
+    version = "15.0.5";
+    build = "IU-143.2332.3";
+    description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
+    license = stdenv.lib.licenses.unfree;
+    src = fetchurl {
+      url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
+      sha256 = "1hvc5cmbfpp0qad0236ffh3g7zwfk64rh5bkkb750h3387jz7nr2";
+    };
+  };
+
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
     version = "2016.1";
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
index 0a7fb1e5f3fe1..10c8c48369495 100644
--- a/pkgs/applications/misc/cbatticon/default.nix
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -1,21 +1,25 @@
-{ stdenv, fetchzip, gtk, libnotify, unzip, glib, pkgconfig }:
+{ stdenv, fetchFromGitHub, pkgconfig, gettext, glib, gtk3, libnotify }:
 
 stdenv.mkDerivation rec {
 
   name = "cbatticon-${version}";
-  version = "1.4.2";
+  version = "1.6.4";
 
-  src = fetchzip {
-    url = "https://github.com/valr/cbatticon/archive/${version}.zip";
-    sha256 = "0ixkxvlrn84b8nh75c9s2gvxnycis89mf047iz8j38814979di5l";
+  src = fetchFromGitHub {
+    owner = "valr";
+    repo = "cbatticon";
+    rev = version;
+    sha256 = "0m3bj408mbini97kq0cdf048lnfkdn7bd8ikbfijd7dwfdzv27i5";
   };
 
   makeFlags = "PREFIX=$(out)";
 
-  buildInputs =  [ gtk libnotify unzip glib pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gettext ];
+
+  buildInputs =  [ glib gtk3 libnotify ];
 
   meta = with stdenv.lib; {
-    description = "A lightweight and fast battery icon that sits in your system tray";
+    description = "Lightweight and fast battery icon that sits in the system tray";
     homepage = https://github.com/valr/cbatticon;
     license = licenses.gpl2;
     maintainers = [ maintainers.iElectric ];
diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix
index 135291a149058..b41ef70394ece 100644
--- a/pkgs/applications/misc/librecad/default.nix
+++ b/pkgs/applications/misc/librecad/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, qt4, muparser, which, boost, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.8";
+  version = "2.0.9";
   name = "librecad-${version}";
 
   src = fetchurl {
     url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}";
     name = name + ".tar.gz";
-    sha256 = "110vn1rvzidg8k6ifz1zws2wsn4cd05xl5ha0hbff2ln7izy84zc";
+    sha256 = "0npr2nxwmx1qil7lqhkh6yvkw7dwym0nfashxjglxspjallqjya7";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 8003aaf5c285b..9fbc8959ad26d 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -5,7 +5,7 @@
 , libevent, expat, libjpeg, snappy
 , libpng, libxml2, libxslt, libcap
 , xdg_utils, yasm, minizip, libwebp
-, libusb1, libexif, pciutils, nss
+, libusb1, pciutils, nss
 
 , python, pythonPackages, perl, pkgconfig
 , nspr, libudev, kerberos
@@ -17,6 +17,7 @@
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
+, libexif ? null # only needed for Chromium before version 51
 
 # package customization
 , enableSELinux ? false, libselinux ? null
@@ -55,9 +56,8 @@ let
     use_system_flac = true;
     use_system_libevent = true;
     use_system_libexpat = true;
-    use_system_libexif = true;
     use_system_libjpeg = true;
-    use_system_libpng = true;
+    use_system_libpng = versionOlder upstream-info.version "51.0.0.0";
     use_system_libwebp = true;
     use_system_libxml = true;
     use_system_opus = true;
@@ -86,7 +86,7 @@ let
     libevent expat libjpeg snappy
     libpng libxml2 libxslt libcap
     xdg_utils yasm minizip libwebp
-    libusb1 libexif
+    libusb1
   ];
 
   # build paths and release info
@@ -123,7 +123,8 @@ let
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optional enableSELinux libselinux
       ++ optionals cupsSupport [ libgcrypt cups ]
-      ++ optional pulseSupport libpulseaudio;
+      ++ optional pulseSupport libpulseaudio
+      ++ optional (versionOlder version "51.0.0.0") libexif;
 
     patches = [
       ./patches/build_fixes_46.patch
@@ -140,15 +141,20 @@ let
         -e "/python_arch/s/: *'[^']*'/: '""'/" \
         build/common.gypi chrome/chrome_tests.gypi
 
-      sed -i -e '/module_path *=.*libexif.so/ {
-        s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
-      }' chrome/utility/media_galleries/image_metadata_extractor.cc
+      ${optionalString (versionOlder version "51.0.0.0") ''
+        sed -i -e '/module_path *=.*libexif.so/ {
+          s|= [^;]*|= base::FilePath().AppendASCII("${libexif}/lib/libexif.so")|
+        }' chrome/utility/media_galleries/image_metadata_extractor.cc
+      ''}
 
       sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${libudev.out}/lib/\1!' \
         device/udev_linux/udev?_loader.cc
 
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         gpu/config/gpu_info_collector_linux.cc
+    '' + optionalString (!versionOlder version "51.0.0.0") ''
+      sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \
+        chrome/browser/ui/webui/engagement/site_engagement_ui.cc
     '';
 
     gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
@@ -180,6 +186,8 @@ let
       google_default_client_id = "404761575300.apps.googleusercontent.com";
       google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D";
 
+    } // optionalAttrs (versionOlder version "51.0.0.0") {
+      use_system_libexif = true;
     } // optionalAttrs proprietaryCodecs {
       # enable support for the H.264 codec
       proprietary_codecs = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index bcb5c3f2311ac..8e5a5d4c90d9c 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1lgpjnjhy3idha5b6wp31kdk6knic96dmajyrgn1701q3mq81g1i";
-    sha256bin64 = "1yb3rk38zfgjzka0aim1xc4r0qaz2qkwaq06mjifpkszmfffhyd0";
-    version = "50.0.2661.26";
+    sha256 = "1jwk0x5hjpah0bl4dpirxwyfxv0d0wnkvfgyja91kkbh8471gzmk";
+    sha256bin64 = "10sl3ddd77i1gl3l4yvhkpavfq2bygv7gwql0jnhchmrvyax1cjh";
+    version = "50.0.2661.49";
   };
   dev = {
-    sha256 = "0z9m1mv6pv43y3ccd0nzqg5f9q8qxc8mlmy9y3dc9kqpvmqggnvp";
-    sha256bin64 = "0khsxci970vclfg24b7m8w1jqfkv5rzswgwa62b4r7jzrglx1azj";
-    version = "50.0.2661.18";
+    sha256 = "042h6klyijnhkb4m9lsnfi3qss6pbs4p4981rm4cbc86rsyppkhl";
+    sha256bin64 = "1p6lhd3n9q93fkydxksgfv68vz26yj8i2zx1kqby2z9yc0pdcniq";
+    version = "51.0.2693.2";
   };
   stable = {
-    sha256 = "0kbph3l964bh7cb9yf8nydjaxa20yf8ls5a2vzsj8phz7n20z3f9";
-    sha256bin64 = "1k6nhccdqzzzicwi07nldqfsdlic65i2xfyb7dbasbbg9zl3s9yw";
-    version = "49.0.2623.87";
+    sha256 = "1lmv6nmbqhxmr4340s5i4ypgz2b7vkh0wy5x9v75b5bnscjhk121";
+    sha256bin64 = "1djd2i9phym1d8afv4vfajb7l1bz0ny2wmihwi6jaz712vil4a13";
+    version = "49.0.2623.110";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
new file mode 100644
index 0000000000000..2422d18086977
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -0,0 +1,164 @@
+{ stdenv, lib, fetchFromGitHub, fetchgit, qtbase, qtimageformats
+, breakpad, ffmpeg, openalSoft, openssl, zlib, libexif, lzma, libopus
+, gtk2, glib, cairo, pango, gdk_pixbuf, atk, libappindicator-gtk2
+, libunity, dee, libdbusmenu-glib, libva
+
+, pkgconfig, libxcb, xcbutilwm, xcbutilimage, xcbutilkeysyms
+, libxkbcommon, libpng, libjpeg, freetype, harfbuzz, pcre16
+, xproto, libX11, inputproto, sqlite, dbus
+}:
+
+let
+  system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
+in stdenv.mkDerivation rec {
+  name = "telegram-desktop-${version}";
+  version = "0.9.33";
+  qtVersion = lib.replaceStrings ["."] ["_"] qtbase.version;
+
+  src = fetchFromGitHub {
+    owner = "telegramdesktop";
+    repo = "tdesktop";
+    rev = "v${version}";
+    sha256 = "020vwm7h22951v9zh457d82qy5ifp746vwishkvb16h1vwr1qx4s";
+  };
+
+  tgaur = fetchgit {
+    url = "https://aur.archlinux.org/telegram-desktop.git";
+    rev = "df47a864282959b103a08b65844e9088e012fdb3";
+    sha256 = "1v1dbi8yiaf2hgghniykm5qbnda456xj3zfjnbqysn41f5cn40h4";
+  };
+
+  buildInputs = [
+    breakpad ffmpeg openalSoft openssl zlib libexif lzma libopus
+    gtk2 glib libappindicator-gtk2 libunity cairo pango gdk_pixbuf atk
+    dee libdbusmenu-glib libva
+    # Qt dependencies
+    libxcb xcbutilwm xcbutilimage xcbutilkeysyms libxkbcommon
+    libpng libjpeg freetype harfbuzz pcre16 xproto libX11
+    inputproto sqlite dbus
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  enableParallelBuilding = true;
+
+  qmakeFlags = [
+    "CONFIG+=release"
+    "DEFINES+=TDESKTOP_DISABLE_AUTOUPDATE"
+    "DEFINES+=TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
+    "INCLUDEPATH+=${gtk2}/include/gtk-2.0"
+    "INCLUDEPATH+=${glib}/include/glib-2.0"
+    "INCLUDEPATH+=${glib}/lib/glib-2.0/include"
+    "INCLUDEPATH+=${cairo}/include/cairo"
+    "INCLUDEPATH+=${pango}/include/pango-1.0"
+    "INCLUDEPATH+=${gtk2}/lib/gtk-2.0/include"
+    "INCLUDEPATH+=${gdk_pixbuf}/include/gdk-pixbuf-2.0"
+    "INCLUDEPATH+=${atk}/include/atk-1.0"
+    "INCLUDEPATH+=${libappindicator-gtk2}/include/libappindicator-0.1"
+    "INCLUDEPATH+=${libunity}/include/unity"
+    "INCLUDEPATH+=${dee}/include/dee-1.0"
+    "INCLUDEPATH+=${libdbusmenu-glib}/include/libdbusmenu-glib-0.4"
+    "INCLUDEPATH+=${breakpad}/include/breakpad"
+    "LIBS+=-lcrypto"
+    "LIBS+=-lssl"
+    "LIBS+=-lz"
+    "LIBS+=-lgobject-2.0"
+    "LIBS+=-lxkbcommon"
+    "LIBS+=-lX11"
+    "LIBS+=${breakpad}/lib/libbreakpad_client.a"
+    "LIBS+=./../../../Libraries/QtStatic/qtbase/plugins/platforms/libqxcb.a"
+    "LIBS+=./../../../Libraries/QtStatic/qtimageformats/plugins/imageformats/libqwebp.a"
+  ];
+
+  qtSrcs = qtbase.srcs ++ [ qtimageformats.src ];
+  qtPatches = qtbase.patches;
+
+  buildCommand = ''
+    # We don't use nativeBuildInputs to avoid adding system Qt 5 libraries to various paths.
+    export PATH="${qtbase}/bin:$PATH"
+
+    unpackPhase
+    cd "$sourceRoot"
+    patchPhase
+    sed -i 'Telegram/Telegram.pro' \
+      -e 's/CUSTOM_API_ID//g' \
+      -e 's,/usr,/does-not-exist,g' \
+      -e '/LIBS += .*libxkbcommon.a/d' \
+      -e '/LIBS += .*libz.a/d' \
+      -e '/LIBS += .*libbreakpad_client.a/d' \
+      -e 's,-flto ,,g'
+    echo "Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)" >> Telegram/SourceFiles/stdafx.cpp
+
+    ( mkdir -p ../Libraries
+      cd ../Libraries
+      for i in $qtSrcs; do
+        tar -xaf $i
+      done
+      mv qt-everywhere-opensource-src-* QtStatic
+      mv qtbase-opensource-src-* ./QtStatic/qtbase
+      mv qtimageformats-opensource-src-* ./QtStatic/qtimageformats
+      cd QtStatic/qtbase
+      patch -p1 < ../../../$sourceRoot/Telegram/_qtbase_${qtVersion}_patch.diff
+      cd ..
+      for i in $qtPatches; do
+        patch -p1 < $i
+      done
+      ${qtbase.postPatch}
+
+      export configureFlags="-prefix "../../qt" -release -opensource -confirm-license -system-zlib \
+        -system-libpng -system-libjpeg -system-freetype -system-harfbuzz -system-pcre -system-xcb \
+        -system-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests \
+        -openssl-linked -dbus-linked -system-sqlite -verbose \
+        ${lib.optionalString (!system-x86_64) "-no-sse2"} -no-sse3 -no-ssse3 \
+        -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2"
+      export dontAddPrefix=1
+      export buildFlags="module-qtbase module-qtimageformats"
+      export installFlags="module-qtbase-install_subtargets module-qtimageformats-install_subtargets"
+
+      ( export MAKEFLAGS=-j$NIX_BUILD_CORES
+        configurePhase
+      )
+      buildPhase
+      installPhase
+    )
+
+    ( mkdir -p Linux/DebugIntermediateStyle
+      cd Linux/DebugIntermediateStyle
+      qmake CONFIG+=debug ../../Telegram/MetaStyle.pro
+      buildPhase
+    )
+    ( mkdir -p Linux/DebugIntermediateLang
+      cd Linux/DebugIntermediateLang
+      qmake CONFIG+=debug ../../Telegram/MetaLang.pro
+      buildPhase
+    )
+
+    ( mkdir -p Linux/ReleaseIntermediate
+      cd Linux/ReleaseIntermediate
+      qmake $qmakeFlags ../../Telegram/Telegram.pro
+      pattern="^PRE_TARGETDEPS +="
+      grep "$pattern" "../../Telegram/Telegram.pro" | sed "s/$pattern//g" | xargs make
+
+      qmake $qmakeFlags ../../Telegram/Telegram.pro
+      buildPhase
+    )
+
+    install -Dm755 Linux/Release/Telegram $out/bin/telegram-desktop
+    mkdir -p $out/share/applications $out/share/kde4/services
+    sed "s,/usr/bin,$out/bin,g" $tgaur/telegramdesktop.desktop > $out/share/applications/telegramdesktop.desktop
+    sed "s,/usr/bin,$out/bin,g" $tgaur/tg.protocol > $out/share/kde4/services/tg.protocol
+    for icon_size in 16 32 48 64 128 256 512; do
+      install -Dm644 "Telegram/SourceFiles/art/icon''${icon_size}.png" "$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps/telegram-desktop.png"
+    done
+
+    fixupPhase
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Telegram Desktop messaging app";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    homepage = "https://desktop.telegram.org/";
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index ef9ec03ecd9f3..81d725d36214b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -13,7 +13,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "38.7.0"; in
+let version = "38.7.1"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://archive.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
-    sha256 = "1wbkj8a0p62mcbxlq8yyzrx51xi65qm8f2ccqiv5pb6qd51b5d0v";
+    sha256 = "0a4kbmas0a6wavp8dxkva0fl1y1qrx6b7l3xdjdan7qx7ysmm626";
   };
 
   buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx
diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix
index ffebeb744cea8..02a25b9a27045 100644
--- a/pkgs/applications/networking/remote/x2goclient/default.nix
+++ b/pkgs/applications/networking/remote/x2goclient/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "x2goclient-${version}";
-  version = "4.0.5.0";
+  version = "4.0.5.1";
 
   src = fetchurl {
     url = "http://code.x2go.org/releases/source/x2goclient/${name}.tar.gz";
-    sha256 = "18a2pszh0nq2ir64a1ah1mlzddn4qcd12b339bv30n0y1ir92bi4";
+    sha256 = "04gdccqywas029a76k3r9zhr2mfn385i9r06cmi8mznxpczrhkl4";
   };
 
   buildInputs = [ cups libssh libXpm nxproxy openldap qt4 ];
diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix
index 769f86d5d77a4..5175037f01b32 100644
--- a/pkgs/applications/science/logic/cvc4/default.nix
+++ b/pkgs/applications/science/logic/cvc4/default.nix
@@ -10,7 +10,12 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ gmp libantlr3c boost autoreconfHook ];
-  preConfigure = "patchShebangs ./src/";
+  preConfigure = ''
+    patchShebangs ./src/
+    OLD_CPPFLAGS="$CPPFLAGS"
+    export CPPFLAGS="$CPPFLAGS -P"
+  '';
+  postConfigure = ''CPPFLAGS="$OLD_CPPFLAGS"'';
   doChecks = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/machine-learning/torch/default.nix b/pkgs/applications/science/machine-learning/torch/default.nix
new file mode 100644
index 0000000000000..bdeeaad189a7b
--- /dev/null
+++ b/pkgs/applications/science/machine-learning/torch/default.nix
@@ -0,0 +1,10 @@
+{ callPackage, fetchgit, lua } :
+let
+  src = fetchgit {
+    url = "https://github.com/grwlf/torch-distro";
+    rev = "f972c4253b14b95b53aefe7b24efa496223e73f2";
+    sha256 = "1lhjhivhyypaic33vj1nsghshsajf7vi6gwsclaf3nqdl27d1h1s";
+  };
+
+in
+  callPackage (import ./torch-distro.nix) { inherit lua src; }
diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix
new file mode 100644
index 0000000000000..067cb1341140d
--- /dev/null
+++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix
@@ -0,0 +1,329 @@
+{ luarocks, lib , stdenv,  writeText , readline,  makeWrapper,
+  less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl,
+  gnuplot, fetchurl, lua, src, libjpeg, libpng
+} :
+
+let
+
+  common_meta = {
+    homepage = http://torch.ch;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ smironov ];
+    platforms = stdenv.lib.platforms.gnu;
+  };
+
+  distro_src = src;
+
+  default_luarocks = luarocks;
+
+  pkgs_gnuplot = gnuplot;
+
+  luapkgs = rec {
+
+    luarocks = default_luarocks.override {
+      inherit lua;
+    };
+
+    buildLuaRocks = { rockspec ? "", luadeps ? [] , buildInputs ? []
+                    , preBuild ? "" , postInstall ? ""
+                    , runtimeDeps ? [] ,  ... }@args :
+      let
+
+        luadeps_ =
+          luadeps ++
+          (lib.concatMap (d : if d ? luadeps then d.luadeps else []) luadeps);
+
+        runtimeDeps_ =
+          runtimeDeps ++
+          (lib.concatMap (d : if d ? runtimeDeps then d.runtimeDeps else []) luadeps) ++
+          [ lua coreutils ];
+
+        mkcfg = ''
+          export LUAROCKS_CONFIG=config.lua
+          cat >config.lua <<EOF
+            rocks_trees = {
+                 { name = [[system]], root = [[${luarocks}]] }
+               ${lib.concatImapStrings (i : dep :  ", { name = [[dep${toString i}]], root = [[${dep}]] }") luadeps_}
+            };
+
+            variables = {
+              LUA_BINDIR = "$out/bin";
+              LUA_INCDIR = "$out/include";
+              LUA_LIBDIR = "$out/lib/lua/${lua.luaversion}";
+            };
+          EOF
+        '';
+
+      in
+      stdenv.mkDerivation (args // {
+
+        inherit preBuild postInstall;
+
+        inherit luadeps runtimeDeps;
+
+        phases = [ "unpackPhase" "patchPhase" "buildPhase"];
+
+        buildInputs = runtimeDeps ++ buildInputs ++ [ makeWrapper lua ];
+
+        buildPhase = ''
+          eval "$preBuild"
+          ${mkcfg}
+          eval "`${luarocks}/bin/luarocks --deps-mode=all --tree=$out path`"
+          ${luarocks}/bin/luarocks make --deps-mode=all --tree=$out ${rockspec}
+
+          for p in $out/bin/*; do
+            wrapProgram $p \
+              --suffix LD_LIBRARY_PATH ';' "${lib.makeSearchPath "lib" runtimeDeps_}" \
+              --suffix PATH ';' "${lib.makeSearchPath "bin" runtimeDeps_}" \
+              --suffix LUA_PATH ';' "\"$LUA_PATH\"" \
+              --suffix LUA_PATH ';' "\"$out/share/lua/${lua.luaversion}/?.lua;$out/share/lua/${lua.luaversion}/?/init.lua\"" \
+              --suffix LUA_CPATH ';' "\"$LUA_CPATH\"" \
+              --suffix LUA_CPATH ';' "\"$out/lib/lua/${lua.luaversion}/?.so;$out/lib/lua/${lua.luaversion}/?/init.so\""
+          done
+
+          eval "$postInstall"
+        '';
+      });
+
+    # FIXME: doesn't installs lua-files for some reason
+    # lua-cjson = buildLuaPackage {
+    #   name = "lua-cjson";
+    #   src = ./extra/lua-cjson;
+    #   rockspec = "lua-cjson-2.1devel-1.rockspec";
+    # };
+
+    lua-cjson = stdenv.mkDerivation rec {
+      name = "lua-cjson";
+      src = "${distro_src}/extra/lua-cjson";
+
+      preConfigure = ''
+        makeFlags="PREFIX=$out LUA_LIBRARY=$out/lib/lua"
+      '';
+
+      buildInputs = [lua];
+
+      installPhase = ''
+        make install-extra $makeFlags
+      '';
+    };
+
+    luafilesystem = buildLuaRocks {
+      name = "filesystem";
+      src = "${distro_src}/extra/luafilesystem";
+      luadeps = [lua-cjson];
+      rockspec = "rockspecs/luafilesystem-1.6.3-1.rockspec";
+    };
+
+    penlight = buildLuaRocks {
+      name = "penlight";
+      src = "${distro_src}/extra/penlight";
+      luadeps = [luafilesystem];
+    };
+
+    luaffifb = buildLuaRocks {
+      name = "luaffifb";
+      src = "${distro_src}/extra/luaffifb";
+    };
+
+    sundown = buildLuaRocks rec {
+      name = "sundown";
+      src = "${distro_src}/pkg/sundown";
+      rockspec = "rocks/${name}-scm-1.rockspec";
+    };
+
+    cwrap = buildLuaRocks rec {
+      name = "cwrap";
+      src = "${distro_src}/pkg/cwrap";
+      rockspec = "rocks/${name}-scm-1.rockspec";
+    };
+
+    paths = buildLuaRocks rec {
+      name = "paths";
+      src = "${distro_src}/pkg/paths";
+      buildInputs = [cmake];
+      rockspec = "rocks/${name}-scm-1.rockspec";
+    };
+
+    torch = buildLuaRocks rec {
+      name = "torch";
+      src = "${distro_src}/pkg/torch";
+      luadeps = [ paths cwrap ];
+      buildInputs = [ cmake ];
+      rockspec = "rocks/torch-scm-1.rockspec";
+      preBuild = ''
+        substituteInPlace ${rockspec} \
+          --replace '"sys >= 1.0"' ' '
+        export LUA_PATH="$src/?.lua;$LUA_PATH"
+      '';
+      meta = common_meta // {
+        description = "Torch is a machine-learning library";
+        longDescription = ''
+          Torch is the main package in [Torch7](http://torch.ch) where data
+          structures for multi-dimensional tensors and mathematical operations
+          over these are defined. Additionally, it provides many utilities for
+          accessing files, serializing objects of arbitrary types and other
+          useful utilities.
+        '';
+      };
+    };
+
+    dok = buildLuaRocks rec {
+      name = "dok";
+      src = "${distro_src}/pkg/dok";
+      luadeps = [sundown];
+      rockspec = "rocks/${name}-scm-1.rockspec";
+    };
+
+    sys = buildLuaRocks rec {
+      name = "sys";
+      luadeps = [torch];
+      buildInputs = [readline cmake];
+      src = "${distro_src}/pkg/sys";
+      rockspec = "sys-1.1-0.rockspec";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    xlua = buildLuaRocks rec {
+      name = "xlua";
+      luadeps = [torch sys];
+      src = "${distro_src}/pkg/xlua";
+      rockspec = "xlua-1.0-0.rockspec";
+    };
+
+    nn = buildLuaRocks rec {
+      name = "nn";
+      luadeps = [torch luaffifb];
+      buildInputs = [cmake];
+      src = "${distro_src}/extra/nn";
+      rockspec = "rocks/nn-scm-1.rockspec";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    graph = buildLuaRocks rec {
+      name = "graph";
+      luadeps = [ torch ];
+      buildInputs = [cmake];
+      src = "${distro_src}/extra/graph";
+      rockspec = "rocks/graph-scm-1.rockspec";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    nngraph = buildLuaRocks rec {
+      name = "nngraph";
+      luadeps = [ torch nn graph ];
+      buildInputs = [cmake];
+      src = "${distro_src}/extra/nngraph";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    image = buildLuaRocks rec {
+      name = "image";
+      luadeps = [ torch dok sys xlua ];
+      buildInputs = [cmake libjpeg libpng];
+      src = "${distro_src}/pkg/image";
+      rockspec = "image-1.1.alpha-0.rockspec";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    optim = buildLuaRocks rec {
+      name = "optim";
+      luadeps = [ torch ];
+      buildInputs = [cmake];
+      src = "${distro_src}/pkg/optim";
+      rockspec = "optim-1.0.5-0.rockspec";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    gnuplot = buildLuaRocks rec {
+      name = "gnuplot";
+      luadeps = [ torch paths ];
+      runtimeDeps = [ pkgs_gnuplot less ];
+      src = "${distro_src}/pkg/gnuplot";
+      rockspec = "rocks/gnuplot-scm-1.rockspec";
+    };
+
+    unsup = buildLuaRocks rec {
+      name = "unsup";
+      luadeps = [ torch xlua optim ];
+      buildInputs = [ cmake ];
+      src = fetchgit {
+        url = "https://github.com/koraykv/unsup";
+        rev = "1d4632e716dc3c82feecc7dd4b22549df442859f";
+        sha256 = "0npjq3y1cfmk026sdijcw3f766innrmb3qggnxsz62grczhfvgls";
+      };
+      rockspec = "unsup-0.1-0.rockspec";
+      preBuild = ''
+        export Torch_DIR=${torch}/share/cmake/torch
+      '';
+    };
+
+    trepl = buildLuaRocks rec {
+      name = "trepl";
+      luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot optim sys dok unsup];
+      runtimeDeps = [ ncurses readline ];
+      src = "${distro_src}/exe/trepl";
+      meta = common_meta // {
+        description = "A pure Lua REPL for Lua(JIT), with heavy support for Torch types.";
+      };
+    };
+
+    lbase64 = buildLuaRocks rec {
+      name = "lbase64";
+      src = fetchgit {
+        url = "https://github.com/LuaDist2/lbase64";
+        rev = "1e9e4f1e0bf589a0ed39f58acc185ec5e213d207";
+        sha256 = "1i1fpy9v6r4w3lrmz7bmf5ppq65925rv90gx39b3pykfmn0hcb9c";
+      };
+    };
+
+    luuid = stdenv.mkDerivation rec {
+      name = "luuid";
+      src = fetchgit {
+        url = "https://github.com/LuaDist/luuid";
+        sha256 = "062gdf1rild11jg46vry93hcbb36b4527pf1dy7q9fv89f7m2nav";
+      };
+
+      preConfigure = ''
+        cmakeFlags="-DLUA_LIBRARY=${lua}/lib/lua/${lua.luaversion} -DINSTALL_CMOD=$out/lib/lua/${lua.luaversion} -DINSTALL_MOD=$out/lib/lua/${lua.luaversion}"
+      '';
+
+      buildInputs = [cmake libuuid lua];
+      meta = {
+        # FIXME: set the exact revision for src
+        broken = true;
+      };
+    };
+
+    # Doesn't work due to missing deps (according to luarocs).
+    itorch = buildLuaRocks rec {
+      name = "itorch";
+      luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot
+                  optim sys dok lbase64 lua-cjson luuid];
+      buildInputs = [czmq openssl];
+      src = "${distro_src}/extra/iTorch";
+      meta = {
+        # FIXME: figure out whats wrong with deps
+        broken = true;
+      };
+    };
+
+
+  };
+
+in
+
+luapkgs
+
+
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 584c880566ac3..fa8f43a45c6f6 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -8,7 +8,7 @@ let
   gitBase = lib.makeOverridable (import ./git) {
     inherit fetchurl stdenv curl openssl zlib expat perl python gettext gnugrep
       asciidoc xmlto docbook2x docbook_xsl docbook_xml_dtd_45 libxslt cpio tcl
-      tk makeWrapper subversionClient gzip libiconv;
+      tk makeWrapper subversionClient gzip openssh libiconv;
     texinfo = texinfo5;
     svnSupport = false;         # for git-svn support
     guiSupport = false;         # requires tcl/tk
diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 44a617d70e1f1..77c2f45bbd5ca 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "git-cola-${version}";
-  version = "2.2.1";
+  version = "2.5";
 
   src = fetchurl {
     url = "https://github.com/git-cola/git-cola/archive/v${version}.tar.gz";
-    sha256 = "1v1s9gx16xihdcck4qp92bdci8zc6pb5a3z3y8k9jqj97hfkw2nz";
+    sha256 = "0ybjmlwm1plnvqi20y91ci7sgldzwlwn86vyyn9a157h7lf4ngb8";
   };
 
   buildInputs = [ makeWrapper gettext ];
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 82a3dc79d7c56..4f41ffb916ef2 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,4 +1,5 @@
-{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio, gnugrep, gzip
+{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio
+, gnugrep, gzip, openssh
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
 , libxslt, tcl, tk, makeWrapper, libiconv
 , svnSupport, subversionClient, perlLibs, smtpPerlLibs
@@ -25,8 +26,16 @@ stdenv.mkDerivation {
     ./docbook2texi.patch
     ./symlinks-in-bin.patch
     ./git-sh-i18n.patch
+    ./ssh-path.patch
   ];
 
+  postPatch = ''
+    for x in connect.c git-gui/lib/remote_add.tcl ; do
+      substituteInPlace "$x" \
+        --subst-var-by ssh "${openssh}/bin/ssh"
+    done
+  '';
+
   buildInputs = [curl openssl zlib expat gettext cpio makeWrapper libiconv]
     ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
          docbook_xsl docbook_xml_dtd_45 libxslt ]
diff --git a/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch b/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch
new file mode 100644
index 0000000000000..26db3d810823f
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git/ssh-path.patch
@@ -0,0 +1,26 @@
+diff --git a/connect.c b/connect.c
+index fd7ffe1..20cd992 100644
+--- a/connect.c
++++ b/connect.c
+@@ -768,7 +768,7 @@ struct child_process *git_connect(int fd[2], const char *url,
+ 
+ 				ssh = getenv("GIT_SSH");
+ 				if (!ssh)
+-					ssh = "ssh";
++					ssh = "@ssh@";
+ 
+ 				ssh_dup = xstrdup(ssh);
+ 				base = basename(ssh_dup);
+diff --git a/git-gui/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl
+index 50029d0..17b9594 100644
+--- a/git-gui/lib/remote_add.tcl
++++ b/git-gui/lib/remote_add.tcl
+@@ -139,7 +139,7 @@ method _add {} {
+ 		# Parse the location
+ 		if { [regexp {(?:git\+)?ssh://([^/]+)(/.+)} $location xx host path]
+ 		     || [regexp {([^:][^:]+):(.+)} $location xx host path]} {
+-			set ssh ssh
++			set ssh @ssh@
+ 			if {[info exists env(GIT_SSH)]} {
+ 				set ssh $env(GIT_SSH)
+ 			}
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 158231a6e646f..06d75a00b9771 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -15,7 +15,7 @@
 
 with stdenv.lib;
 let
-  version = "2.5.0";
+  version = "2.5.1";
   audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
-    sha256 = "1m3j6xl7msrniidkvr5pw9d44yba5m7hm42xz8xy77v105s8hhrl";
+    sha256 = "0b2xa8604absdmzpcyjs7fix19y5blqmgflnwjzsp1mp7g1m51q2";
   };
 
   buildInputs =
diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix
index c9a62ce5f92b2..6064972fe9567 100644
--- a/pkgs/applications/virtualization/virtinst/default.nix
+++ b/pkgs/applications/virtualization/virtinst/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   pythonPath = with pythonPackages;
-    [ setuptools eventlet greenlet gflags netaddr sqlalchemy7 carrot routes
+    [ setuptools eventlet greenlet gflags netaddr carrot routes
       PasteDeploy m2crypto ipy twisted sqlalchemy_migrate
       distutils_extra simplejson readline glanceclient cheetah lockfile httplib2
       # !!! should libvirt be a build-time dependency?  Note that