From 7f3b08361044e41fa74c7b583d019f9f82c16def Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Mon, 14 Mar 2016 12:32:48 +0300 Subject: [PATCH 01/60] torch: init at torch-git-2016-03-08 Torch is a machine-learning framework written in Lua --- .../machine-learning/torch/default.nix | 10 + .../machine-learning/torch/torch-distro.nix | 355 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 367 insertions(+) create mode 100644 pkgs/applications/science/machine-learning/torch/default.nix create mode 100644 pkgs/applications/science/machine-learning/torch/torch-distro.nix 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 000000000000..0444e6645025 --- /dev/null +++ b/pkgs/applications/science/machine-learning/torch/default.nix @@ -0,0 +1,10 @@ +{ callPackage, fetchgit } : +let + src = fetchgit { + url = "https://github.com/grwlf/torch-distro"; + rev = "f972c4253b14b95b53aefe7b24efa496223e73f2"; + sha256 = "1lhjhivhyypaic33vj1nsghshsajf7vi6gwsclaf3nqdl27d1h1s"; + }; + +in + callPackage (import ./torch-distro.nix) { inherit 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 000000000000..66e7b15a568c --- /dev/null +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -0,0 +1,355 @@ +{ luarocks, lib , stdenv, writeText , readline, makeWrapper, + less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl, + gnuplot, fetchurl, + + src ? ./. +} : + +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 { + + + luajit = + stdenv.mkDerivation rec { + name = "luajit-${version}"; + version = "2.1.0-beta1"; + luaversion = "5.1"; + + src = fetchurl { + url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; + sha256 = "06170d38387c59d1292001a166e7f5524f5c5deafa8705a49a46fa42905668dd"; + }; + + enableParallelBuilding = true; + + patchPhase = '' + substituteInPlace Makefile \ + --replace /usr/local $out + + substituteInPlace src/Makefile --replace gcc cc + '' + stdenv.lib.optionalString (stdenv.cc.libc != null) + '' + substituteInPlace Makefile \ + --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig + ''; + + configurePhase = false; + buildFlags = [ "amalg" ]; # Build highly optimized version + installPhase = '' + make install INSTALL_INC=$out/include PREFIX=$out + ln -s $out/bin/luajit* $out/bin/luajit + ''; + + meta = with stdenv.lib; { + description = "high-performance JIT compiler for Lua 5.1"; + homepage = http://luajit.org; + license = licenses.mit; + platforms = platforms.linux ++ platforms.darwin; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + + luarocks = default_luarocks.override { + lua = luajit; + }; + + 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) ++ + [ luajit coreutils ]; + + mkcfg = '' + export LUAROCKS_CONFIG=config.lua + cat >config.lua <= 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]; + 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"; + }; + + trepl = buildLuaRocks rec { + name = "trepl"; + luadeps = [torch gnuplot paths penlight graph nn nngraph image gnuplot optim sys dok]; + runtimeDeps = [ ncurses readline ]; + src = "${distro_src}/exe/trepl"; + meta = common_meta // { + description = "A pure Lua REPL for LuaJIT, 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=${luajit}/lib/lua/${luajit.luaversion} -DINSTALL_CMOD=$out/lib/lua/${luajit.luaversion} -DINSTALL_MOD=$out/lib/lua/${luajit.luaversion}" + ''; + + buildInputs = [cmake libuuid luajit]; + 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c283e4acb10..a1d5a683c3db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13427,6 +13427,8 @@ let quazip = qt5.quazip.override { qt = qt4; }; }; + torch-packages = recurseIntoAttrs ( callPackage ../applications/science/machine-learning/torch { } ); + torchat = callPackage ../applications/networking/instant-messengers/torchat { wrapPython = pythonPackages.wrapPython; }; From f499f61c85245d28adcd6393b3b2e2a5e891fffc Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Wed, 16 Mar 2016 11:36:04 +0300 Subject: [PATCH 02/60] torch: don't use default value for src --- .../science/machine-learning/torch/torch-distro.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix index 66e7b15a568c..cbbaf0383c72 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -1,8 +1,7 @@ { luarocks, lib , stdenv, writeText , readline, makeWrapper, less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl, gnuplot, fetchurl, - - src ? ./. + src } : let From 1b0513941425af8967e637032bd88dc933892e0a Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Wed, 16 Mar 2016 23:52:09 +0300 Subject: [PATCH 03/60] torch: Read LUA_PATH and LUA_CPATH set by users --- .../science/machine-learning/torch/torch-distro.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix index cbbaf0383c72..2204af0597e4 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -117,8 +117,10 @@ let wrapProgram $p \ --set LD_LIBRARY_PATH "${lib.makeSearchPath "lib" runtimeDeps_}" \ --set PATH "${lib.makeSearchPath "bin" runtimeDeps_}" \ - --set LUA_PATH "'$LUA_PATH;$out/share/lua/${luajit.luaversion}/?.lua;$out/share/lua/${luajit.luaversion}/?/init.lua'" \ - --set LUA_CPATH "'$LUA_CPATH;$out/lib/lua/${luajit.luaversion}/?.so;$out/lib/lua/${luajit.luaversion}/?/init.so'" + --suffix LUA_PATH ';' "\"$LUA_PATH\"" \ + --suffix LUA_PATH ';' "\"$out/share/lua/${luajit.luaversion}/?.lua;$out/share/lua/${luajit.luaversion}/?/init.lua\"" \ + --suffix LUA_CPATH ';' "\"$LUA_CPATH\"" \ + --suffix LUA_CPATH ';' "\"$out/lib/lua/${luajit.luaversion}/?.so;$out/lib/lua/${luajit.luaversion}/?/init.so\"" done eval "$postInstall" From da66fd2b115c564d87ffb904e764bbb0cbd92f9b Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Sat, 19 Mar 2016 12:35:20 +0300 Subject: [PATCH 04/60] luajit: bump to 2.1.0-beta1 --- pkgs/development/interpreters/luajit/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 8e148f1189cd..903af0bfd5f2 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -2,11 +2,12 @@ stdenv.mkDerivation rec { name = "luajit-${version}"; - version = "2.0.4"; + version = "2.1.0-beta1"; + luaversion = "5.1"; src = fetchurl { url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; - sha256 = "0zc0y7p6nx1c0pp4nhgbdgjljpfxsb5kgwp4ysz22l1p2bms83v2"; + sha256 = "06170d38387c59d1292001a166e7f5524f5c5deafa8705a49a46fa42905668dd"; }; enableParallelBuilding = true; @@ -24,13 +25,16 @@ stdenv.mkDerivation rec { configurePhase = false; buildFlags = [ "amalg" ]; # Build highly optimized version - installPhase = "make install PREFIX=$out"; + installPhase = '' + make install INSTALL_INC=$out/include PREFIX=$out + ln -s $out/bin/luajit* $out/bin/luajit + ''; meta = with stdenv.lib; { description = "high-performance JIT compiler for Lua 5.1"; homepage = http://luajit.org; license = licenses.mit; platforms = platforms.linux ++ platforms.darwin; - maintainers = [ maintainers.thoughtpolice ]; + maintainers = with maintainers ; [ thoughtpolice smironov ]; }; } From a56b9ab5bebf9534404cd46f6b61f82e17164a0b Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Sat, 19 Mar 2016 12:35:40 +0300 Subject: [PATCH 05/60] torch: use default luajit --- .../machine-learning/torch/torch-distro.nix | 44 +------------------ 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix index 2204af0597e4..1de2b51a19d9 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -1,7 +1,6 @@ { luarocks, lib , stdenv, writeText , readline, makeWrapper, less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl, - gnuplot, fetchurl, - src + gnuplot, fetchurl, luajit, src } : let @@ -21,47 +20,6 @@ let luapkgs = rec { - - luajit = - stdenv.mkDerivation rec { - name = "luajit-${version}"; - version = "2.1.0-beta1"; - luaversion = "5.1"; - - src = fetchurl { - url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; - sha256 = "06170d38387c59d1292001a166e7f5524f5c5deafa8705a49a46fa42905668dd"; - }; - - enableParallelBuilding = true; - - patchPhase = '' - substituteInPlace Makefile \ - --replace /usr/local $out - - substituteInPlace src/Makefile --replace gcc cc - '' + stdenv.lib.optionalString (stdenv.cc.libc != null) - '' - substituteInPlace Makefile \ - --replace ldconfig ${stdenv.cc.libc}/sbin/ldconfig - ''; - - configurePhase = false; - buildFlags = [ "amalg" ]; # Build highly optimized version - installPhase = '' - make install INSTALL_INC=$out/include PREFIX=$out - ln -s $out/bin/luajit* $out/bin/luajit - ''; - - meta = with stdenv.lib; { - description = "high-performance JIT compiler for Lua 5.1"; - homepage = http://luajit.org; - license = licenses.mit; - platforms = platforms.linux ++ platforms.darwin; - maintainers = [ maintainers.thoughtpolice ]; - }; - }; - luarocks = default_luarocks.override { lua = luajit; }; From 4a36a0c5047e64e7e5227e1b77cc87b177e47f75 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Mon, 21 Mar 2016 12:51:20 +0300 Subject: [PATCH 06/60] torch: unhardcode references to luajit --- .../machine-learning/torch/default.nix | 4 ++-- .../machine-learning/torch/torch-distro.nix | 22 +++++++++---------- pkgs/top-level/all-packages.nix | 5 ++++- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/science/machine-learning/torch/default.nix b/pkgs/applications/science/machine-learning/torch/default.nix index 0444e6645025..bdeeaad189a7 100644 --- a/pkgs/applications/science/machine-learning/torch/default.nix +++ b/pkgs/applications/science/machine-learning/torch/default.nix @@ -1,4 +1,4 @@ -{ callPackage, fetchgit } : +{ callPackage, fetchgit, lua } : let src = fetchgit { url = "https://github.com/grwlf/torch-distro"; @@ -7,4 +7,4 @@ let }; in - callPackage (import ./torch-distro.nix) { inherit src; } + 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 index 1de2b51a19d9..617ba53e516a 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -1,6 +1,6 @@ { luarocks, lib , stdenv, writeText , readline, makeWrapper, less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl, - gnuplot, fetchurl, luajit, src + gnuplot, fetchurl, lua, src } : let @@ -21,7 +21,7 @@ let luapkgs = rec { luarocks = default_luarocks.override { - lua = luajit; + inherit lua; }; buildLuaRocks = { rockspec ? "", luadeps ? [] , buildInputs ? [] @@ -36,7 +36,7 @@ let runtimeDeps_ = runtimeDeps ++ (lib.concatMap (d : if d ? runtimeDeps then d.runtimeDeps else []) luadeps) ++ - [ luajit coreutils ]; + [ lua coreutils ]; mkcfg = '' export LUAROCKS_CONFIG=config.lua @@ -49,7 +49,7 @@ let variables = { LUA_BINDIR = "$out/bin"; LUA_INCDIR = "$out/include"; - LUA_LIBDIR = "$out/lib/lua/${luajit.luaversion}"; + LUA_LIBDIR = "$out/lib/lua/${lua.luaversion}"; }; EOF ''; @@ -63,7 +63,7 @@ let phases = [ "unpackPhase" "patchPhase" "buildPhase"]; - buildInputs = runtimeDeps ++ buildInputs ++ [ makeWrapper luajit ]; + buildInputs = runtimeDeps ++ buildInputs ++ [ makeWrapper lua ]; buildPhase = '' eval "$preBuild" @@ -76,9 +76,9 @@ let --set LD_LIBRARY_PATH "${lib.makeSearchPath "lib" runtimeDeps_}" \ --set PATH "${lib.makeSearchPath "bin" runtimeDeps_}" \ --suffix LUA_PATH ';' "\"$LUA_PATH\"" \ - --suffix LUA_PATH ';' "\"$out/share/lua/${luajit.luaversion}/?.lua;$out/share/lua/${luajit.luaversion}/?/init.lua\"" \ + --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/${luajit.luaversion}/?.so;$out/lib/lua/${luajit.luaversion}/?/init.so\"" + --suffix LUA_CPATH ';' "\"$out/lib/lua/${lua.luaversion}/?.so;$out/lib/lua/${lua.luaversion}/?/init.so\"" done eval "$postInstall" @@ -100,7 +100,7 @@ let makeFlags="PREFIX=$out LUA_LIBRARY=$out/lib/lua" ''; - buildInputs = [luajit]; + buildInputs = [lua]; installPhase = '' make install-extra $makeFlags @@ -260,7 +260,7 @@ let runtimeDeps = [ ncurses readline ]; src = "${distro_src}/exe/trepl"; meta = common_meta // { - description = "A pure Lua REPL for LuaJIT, with heavy support for Torch types."; + description = "A pure Lua REPL for Lua(JIT), with heavy support for Torch types."; }; }; @@ -281,10 +281,10 @@ let }; preConfigure = '' - cmakeFlags="-DLUA_LIBRARY=${luajit}/lib/lua/${luajit.luaversion} -DINSTALL_CMOD=$out/lib/lua/${luajit.luaversion} -DINSTALL_MOD=$out/lib/lua/${luajit.luaversion}" + 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 luajit]; + buildInputs = [cmake libuuid lua]; meta = { # FIXME: set the exact revision for src broken = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a1d5a683c3db..f540404b5051 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5159,6 +5159,7 @@ let lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; }); lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; }); + luajitPackages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = luajit; }); luaPackages = lua52Packages; @@ -13427,7 +13428,9 @@ let quazip = qt5.quazip.override { qt = qt4; }; }; - torch-packages = recurseIntoAttrs ( callPackage ../applications/science/machine-learning/torch { } ); + torchPackages = recurseIntoAttrs ( callPackage ../applications/science/machine-learning/torch { + lua = luajit ; + } ); torchat = callPackage ../applications/networking/instant-messengers/torchat { wrapPython = pythonPackages.wrapPython; From 5211ddb92ea5b9bc326f4b0f9edb4813e03ee811 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Mon, 21 Mar 2016 22:08:32 +0300 Subject: [PATCH 07/60] torch: add main application to the top-level --- pkgs/top-level/all-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f540404b5051..3d7f69699292 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13432,6 +13432,8 @@ let lua = luajit ; } ); + torch-repl = lib.setName "torch-repl" torchPackages.trepl; + torchat = callPackage ../applications/networking/instant-messengers/torchat { wrapPython = pythonPackages.wrapPython; }; From c899444c69d88cba028382692f15bd7fbeb80e54 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Tue, 22 Mar 2016 00:17:31 +0300 Subject: [PATCH 08/60] luajit: symlinked as 'lua' --- pkgs/development/interpreters/luajit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index 903af0bfd5f2..8b5da0528523 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation rec { buildFlags = [ "amalg" ]; # Build highly optimized version installPhase = '' make install INSTALL_INC=$out/include PREFIX=$out + ln -s $out/bin/luajit* $out/bin/lua ln -s $out/bin/luajit* $out/bin/luajit ''; From 6bb8f451826f1bd7bbed69df785ff8e4a5f30fde Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Tue, 22 Mar 2016 00:37:56 +0300 Subject: [PATCH 09/60] torch: image, enable JPEG and PNG support --- .../science/machine-learning/torch/torch-distro.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix index 617ba53e516a..88a3071d897c 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -1,6 +1,6 @@ { luarocks, lib , stdenv, writeText , readline, makeWrapper, less, ncurses, cmake, openblas, coreutils, fetchgit, libuuid, czmq, openssl, - gnuplot, fetchurl, lua, src + gnuplot, fetchurl, lua, src, libjpeg, libpng } : let @@ -227,7 +227,7 @@ let image = buildLuaRocks rec { name = "image"; luadeps = [ torch dok sys xlua ]; - buildInputs = [cmake]; + buildInputs = [cmake libjpeg libpng]; src = "${distro_src}/pkg/image"; rockspec = "image-1.1.alpha-0.rockspec"; preBuild = '' From 56b34be0016276b7bae8c7d4cfcafb90f813be9d Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Tue, 22 Mar 2016 00:47:23 +0300 Subject: [PATCH 10/60] torch: read user PATH and LD_LIBRARY_PATH --- .../science/machine-learning/torch/torch-distro.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix index 88a3071d897c..c0c8c056ab5e 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -73,8 +73,8 @@ let for p in $out/bin/*; do wrapProgram $p \ - --set LD_LIBRARY_PATH "${lib.makeSearchPath "lib" runtimeDeps_}" \ - --set PATH "${lib.makeSearchPath "bin" runtimeDeps_}" \ + --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\"" \ From ebd7598da486772c2634bd71735c6d7ddad2c600 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Tue, 22 Mar 2016 18:03:33 +0300 Subject: [PATCH 11/60] torch: remove broken luajitPackages --- pkgs/top-level/all-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d7f69699292..710118172aab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5159,7 +5159,6 @@ let lua51Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_1; }); lua52Packages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = lua5_2; }); - luajitPackages = recurseIntoAttrs (callPackage ./lua-packages.nix { lua = luajit; }); luaPackages = lua52Packages; From de4f541b0e7b2c042dd4a2b1a1a0c0381c392699 Mon Sep 17 00:00:00 2001 From: Sergey Mironov Date: Tue, 22 Mar 2016 19:42:32 +0300 Subject: [PATCH 12/60] torch: add unsup package --- .../machine-learning/torch/torch-distro.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/machine-learning/torch/torch-distro.nix b/pkgs/applications/science/machine-learning/torch/torch-distro.nix index c0c8c056ab5e..067cb1341140 100644 --- a/pkgs/applications/science/machine-learning/torch/torch-distro.nix +++ b/pkgs/applications/science/machine-learning/torch/torch-distro.nix @@ -254,9 +254,24 @@ let 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]; + 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 // { From 6579acd0157d0c7c96c02d58ee850e91685be5c3 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Fri, 25 Mar 2016 21:05:32 +0000 Subject: [PATCH 13/60] git: add openssh as a runtime dependency Fixes #1923 --- .../git-and-tools/default.nix | 2 +- .../git-and-tools/git/default.nix | 11 +++++++- .../git-and-tools/git/ssh-path.patch | 26 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/version-management/git-and-tools/git/ssh-path.patch diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 584c880566ac..fa8f43a45c6f 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/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 5083c73fb148..089bf8a863e7 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 000000000000..26db3d810823 --- /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) + } From c1abb1d404dff522a4316b91748efdf18398d73a Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Mon, 28 Mar 2016 15:58:10 +0200 Subject: [PATCH 14/60] openblas: 0.2.15 -> 0.2.17 --- pkgs/development/libraries/science/math/openblas/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix index f028e65694e1..8c73353efbb2 100644 --- a/pkgs/development/libraries/science/math/openblas/default.nix +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -22,13 +22,13 @@ let local = config.openblas.preferLocalBuild or false; optionals (hasAttr "target" config.openblas) [ "TARGET=${config.openblas.target}" ]; blas64 = if blas64_ != null then blas64_ else hasPrefix "x86_64" stdenv.system; - version = "0.2.15"; + version = "0.2.17"; in stdenv.mkDerivation { name = "openblas-${version}"; src = fetchurl { url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz"; - sha256 = "0i4hrjx622vw5ff35wm6cnga3ic8hcfa88p1wlj24a3qb770mi3k"; + sha256 = "1gqdrxgc7qmr3xqq4wqcysjhv7ix4ar7ymn3vk5g97r1xvgkds0g"; name = "openblas-${version}.tar.gz"; }; From 307c073fa36dde3e959c685d0e08857e642e8c8a Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Tue, 29 Mar 2016 13:28:20 +0100 Subject: [PATCH 15/60] spl: 0.6.5.5 -> 0.6.5.6 --- pkgs/os-specific/linux/spl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index 09cdcbf8a241..2db3a397aebe 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -17,13 +17,13 @@ assert buildKernel -> kernel != null; stdenv.mkDerivation rec { name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; - version = "0.6.5.5"; + version = "0.6.5.6"; src = fetchFromGitHub { owner = "zfsonlinux"; repo = "spl"; rev = "spl-${version}"; - sha256 = "1f49qv648klg2sn1v1wzwd6ls1njjj0hrazz7msd74ayhwm0zcw7"; + sha256 = "08lbfwsd368sk7dgydabzkyyn2l2n82ifcqakra3xknwgg1ka9bn"; }; patches = [ ./const.patch ./install_prefix.patch ]; From 259eb362050aee50db54c0d22241cc96ff89f38a Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Tue, 29 Mar 2016 13:28:35 +0100 Subject: [PATCH 16/60] zfs: 0.6.5.5 -> 0.6.5.6 --- pkgs/os-specific/linux/zfs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index d29a7560771e..9fc28996a834 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -20,13 +20,13 @@ assert buildKernel -> kernel != null && spl != null; stdenv.mkDerivation rec { name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}"; - version = "0.6.5.5"; + version = "0.6.5.6"; src = fetchFromGitHub { owner = "zfsonlinux"; repo = "zfs"; rev = "zfs-${version}"; - sha256 = "0np03p5zkx87a0a5rw629f9m4wp5gd01c1jkh5p7h63mmvaxfdda"; + sha256 = "0lsb93y5zbwc8fafxzm9vyfpr6fmvl8h86ny4llbd2xy2hnfwk2i"; }; patches = [ ./nix-build.patch ]; From 5aa986fba2d9da27e0ddadcee3c17f81371b6817 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Wed, 30 Mar 2016 06:57:59 +0200 Subject: [PATCH 17/60] dhcpcd: 6.9.4 -> 6.10.1 (security) Fixes CVE-2016-1503 & CVE-2016-1504. Changelog: - http://roy.marples.name/archives/dhcpcd-discuss/2016/1143.html - http://roy.marples.name/archives/dhcpcd-discuss/2016/1146.html --- pkgs/tools/networking/dhcpcd/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix index 856f75f06333..578fe6ea4f7a 100644 --- a/pkgs/tools/networking/dhcpcd/default.nix +++ b/pkgs/tools/networking/dhcpcd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, udev }: stdenv.mkDerivation rec { - name = "dhcpcd-6.9.4"; + name = "dhcpcd-6.10.1"; src = fetchurl { url = "mirror://roy/dhcpcd/${name}.tar.xz"; - sha256 = "184vpid8m5175xa2nkh6mmvk8b6z4isfm6nvf4g8l5ggfdsgzwy3"; + sha256 = "0yxfx3r6ik47rsv1f8q7siw0vas6jcsrbjpaqnx0nn707f6byji8"; }; buildInputs = [ pkgconfig udev ]; @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { description = "A client for the Dynamic Host Configuration Protocol (DHCP)"; homepage = http://roy.marples.name/projects/dhcpcd; platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; + maintainers = with stdenv.lib.maintainers; [ eelco fpletz ]; }; } From 70af93f0ca9b5cd9c3a424dd56ec1f8eac381b1c Mon Sep 17 00:00:00 2001 From: Julien Dehos Date: Wed, 30 Mar 2016 09:40:48 +0200 Subject: [PATCH 18/60] fswebcam: init 20140113 --- pkgs/os-specific/linux/fswebcam/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/os-specific/linux/fswebcam/default.nix diff --git a/pkgs/os-specific/linux/fswebcam/default.nix b/pkgs/os-specific/linux/fswebcam/default.nix new file mode 100644 index 000000000000..fa0797bf7a3c --- /dev/null +++ b/pkgs/os-specific/linux/fswebcam/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, libv4l, gd }: + +stdenv.mkDerivation rec { + name = "fswebcam-20140113"; + + src = fetchurl { + url = "http://www.sanslogic.co.uk/fswebcam/files/${name}.tar.gz"; + sha256 = "3ee389f72a7737700d22e0c954720b1e3bbadc8a0daad6426c25489ba9dc3199"; + }; + + buildInputs = + [ libv4l gd ]; + + meta = { + description = "neat and simple webcam app"; + homepage = http://www.sanslogic.co.uk/fswebcam; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.gpl2; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8e8ba331e894..19a04f92231f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1539,6 +1539,8 @@ in fsfs = callPackage ../tools/filesystems/fsfs { }; + fswebcam = callPackage ../os-specific/linux/fswebcam { }; + fuseiso = callPackage ../tools/filesystems/fuseiso { }; fuse-7z-ng = callPackage ../tools/filesystems/fuse-7z-ng { }; From 19abd5542011950ab8206d7df46088c3f608fc14 Mon Sep 17 00:00:00 2001 From: Chris Martin Date: Sun, 27 Mar 2016 21:48:54 -0700 Subject: [PATCH 19/60] idea.idea15-ultimate: init at 15.0.5 --- pkgs/applications/editors/idea/default.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 7a9f409d1289..5d20d0578ea7 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"; From ca983ec20c2e39c3ec3a4e01c8f6c4ab14764fe1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Mar 2016 11:32:40 +0200 Subject: [PATCH 20/60] thunderbird: 38.7.0 -> 38.7.1 --- .../networking/mailreaders/thunderbird/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index ef9ec03ecd9f..81d725d36214 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 From caa395a56020bdf5b2035529f7232da78f7d76a5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 30 Mar 2016 13:25:51 +0200 Subject: [PATCH 21/60] enblend-enfuse: 4.1.5 -> 4.2; maintain Removed dependency on libxmi (unneeded since 4.1.5). Added new (since 4.2) dependency on tetex (for `pdflatex`). Changes: http://hg.code.sf.net/p/enblend/code/file/a7a247e1e64b/NEWS --- .../tools/graphics/enblend-enfuse/default.nix | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix index f1f5ac878ba9..cf0fd55ad150 100644 --- a/pkgs/tools/graphics/enblend-enfuse/default.nix +++ b/pkgs/tools/graphics/enblend-enfuse/default.nix @@ -1,26 +1,30 @@ { stdenv, fetchurl -, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra -, help2man, pkgconfig, perl }: +, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, mesa, vigra +, help2man, pkgconfig, perl, tetex }: -let version = "4.1.5"; in stdenv.mkDerivation rec { name = "enblend-enfuse-${version}"; + version = "4.2"; src = fetchurl { url = "mirror://sourceforge/enblend/${name}.tar.gz"; - sha256 = "08dz73jgrwfhz0kh57kz048qy1c6a35ckqn9xs5rajm449vnw0pg"; + sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7"; }; - buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ]; + buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff mesa vigra ]; - nativeBuildInputs = [ help2man perl pkgconfig ]; + nativeBuildInputs = [ help2man perl pkgconfig tetex ]; + + preConfigure = '' + patchShebangs src/embrace + ''; enableParallelBuilding = true; - meta = { - inherit version; + meta = with stdenv.lib; { homepage = http://enblend.sourceforge.net/; description = "Blends away the seams in a panoramic image mosaic using a multiresolution spline"; - license = stdenv.lib.licenses.gpl2; + license = licenses.gpl2; + maintainers = with maintainers; [ nckx ]; }; } From 6605fbfe25dbda61c21a42d68df57a21e4a48415 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 30 Mar 2016 14:21:19 +0200 Subject: [PATCH 22/60] libpsl: list 2016-03-10 -> 2016-03-30 --- pkgs/development/libraries/libpsl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix index 74fc4270b80e..8a8346211941 100644 --- a/pkgs/development/libraries/libpsl/default.nix +++ b/pkgs/development/libraries/libpsl/default.nix @@ -3,10 +3,10 @@ let - listVersion = "2016-03-10"; + listVersion = "2016-03-30"; listSources = fetchFromGitHub { - sha256 = "10kc0b41y5cn0cnqvalz9i14j1dj6b9wgr21zz3ngqf943q6z5r9"; - rev = "1e52b7efc42b1505f9580ec15a1d692523db4a3b"; + sha256 = "0433ck6ykcq6pc48mvgif9f785q0ndprk77jsk58gb5289b87yns"; + rev = "6ec573d549e25fc89d930bb64939d947bae38f68"; repo = "list"; owner = "publicsuffix"; }; From 63032dae9d9d87d6b82c3420f099b8feb62b535e Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Wed, 30 Mar 2016 15:00:15 +0200 Subject: [PATCH 23/60] Finance::Quote: 1.37 -> 1.38 & add missing dependency on CGI --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index fbc237b5de49..6d86f5d3e0ec 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5151,12 +5151,12 @@ let self = _self // overrides; _self = with self; { }; FinanceQuote = buildPerlPackage rec { - name = "Finance-Quote-1.37"; + name = "Finance-Quote-1.38"; src = fetchurl { url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz"; - sha256 = "1b6pbh7f76fb5sa4f0lhx085xy55pprz5v7z7li7pqiyw7i4f4bf"; + sha256 = "0zhqb27y4vdxn476s2kwm9zl2f970yjcyyybnjm9b406krr2fm59"; }; - propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc DateTime JSON ]; + propagatedBuildInputs = [ CGI CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc DateTime JSON ]; meta = with stdenv.lib; { homepage = http://finance-quote.sourceforge.net/; description = "Get stock and mutual fund quotes from various exchanges"; From ef753d210e877ef122bbd26001409a94abd959db Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 30 Mar 2016 01:05:07 +0200 Subject: [PATCH 24/60] chromium: Update all channels to latest versions Overview of the updated versions: stable: 49.0.2623.87 -> 49.0.2623.110 beta: 50.0.2661.26 -> 50.0.2661.49 dev: 50.0.2661.18 -> 51.0.2693.2 Most notably, this includes a series of urgent security fixes: * CVE-2016-1646: Out-of-bounds read in V8. Credit to Wen Xu from Tencent KeenLab. * CVE-2016-1647: Use-after-free in Navigation. Credit to anonymous. * CVE-2016-1648: Use-after-free in Extensions. Credit to anonymous. * CVE-2016-1649: Buffer overflow in libANGLE. Credit to lokihardt working with HP's Zero Day Initiative / Pwn2Own. * CVE-2016-1650: Denial of service in PageCaptureSaveAsMHTMLFunction The official release announcement with details about these fixes can be found here: http://googlechromereleases.blogspot.de/2016/03/stable-channel-update_24.html Beta and stable could be also affected, although I didn't do a detailed check whether that's the case. As this introduces Chromium 51 as the dev version, I had to make the following changes to make it build: * libexif got removed, so let's do that on our end as well. See https://codereview.chromium.org/1803883002 for details. * Chromium doesn't seem to compile with our version of libpng, so let's resort to the bundled libpng for now. * site_engagement_ui.cc uses isnan outside of std namespace, so we're fixing that in postPatch using sed. I have successfully built all versions on i686-linux and x86_64-linux and tested it using the VM tests. Test reports can be found at the following evaluation of my Hydra: https://headcounter.org/hydra/eval/314584 Thanks to @grahamc for reporting this. Signed-off-by: aszlig Reported-by: Graham Christensen Fixes: #14299 --- .../networking/browsers/chromium/common.nix | 24 ++++++++++++------- .../browsers/chromium/upstream-info.nix | 18 +++++++------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 5494b77b807c..7bcc6242389d 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, udev, 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\)!"${udev}/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 bcb5c3f2311a..8e5a5d4c90d9 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"; }; } From 96be420e44338776c083224ba892795c57d730a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 30 Mar 2016 14:39:53 +0100 Subject: [PATCH 25/60] move growpart out of nixos into cloud-init package --- .../virtualisation/amazon-grow-partition.nix | 28 +------------------ pkgs/tools/misc/cloud-utils/default.nix | 18 ++++++++++++ .../growpart-util-linux-2.26.patch | 0 pkgs/top-level/all-packages.nix | 2 ++ 4 files changed, 21 insertions(+), 27 deletions(-) create mode 100644 pkgs/tools/misc/cloud-utils/default.nix rename {nixos/modules/virtualisation => pkgs/tools/misc/cloud-utils}/growpart-util-linux-2.26.patch (100%) diff --git a/nixos/modules/virtualisation/amazon-grow-partition.nix b/nixos/modules/virtualisation/amazon-grow-partition.nix index 44a9fa93e7ec..aa13cea2a940 100644 --- a/nixos/modules/virtualisation/amazon-grow-partition.nix +++ b/nixos/modules/virtualisation/amazon-grow-partition.nix @@ -4,37 +4,13 @@ { config, lib, pkgs, ... }: -with lib; - -let - - growpart = pkgs.stdenv.mkDerivation { - name = "growpart"; - src = pkgs.fetchurl { - url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz"; - sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd"; - }; - patches = [ ./growpart-util-linux-2.26.patch ]; - buildPhase = '' - cp bin/growpart $out - sed -i 's|awk|gawk|' $out - sed -i 's|sed|gnused|' $out - ''; - dontInstall = true; - dontPatchShebangs = true; - }; - -in - { - config = mkIf config.ec2.hvm { - boot.initrd.extraUtilsCommands = '' copy_bin_and_libs ${pkgs.gawk}/bin/gawk copy_bin_and_libs ${pkgs.gnused}/bin/sed copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk - cp -v ${growpart} $out/bin/growpart + cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart ln -s sed $out/bin/gnused ''; @@ -44,7 +20,5 @@ in udevadm settle fi ''; - }; - } diff --git a/pkgs/tools/misc/cloud-utils/default.nix b/pkgs/tools/misc/cloud-utils/default.nix new file mode 100644 index 000000000000..fa03962bcdc4 --- /dev/null +++ b/pkgs/tools/misc/cloud-utils/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "cloud-utils-0.27"; + src = fetchurl { + url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz"; + sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd"; + }; + patches = [ ./growpart-util-linux-2.26.patch ]; + buildPhase = '' + mkdir -p $out/bin + cp bin/growpart $out/bin/growpart + sed -i 's|awk|gawk|' $out/bin/growpart + sed -i 's|sed|gnused|' $out/bin/growpart + ''; + dontInstall = true; + dontPatchShebangs = true; +} diff --git a/nixos/modules/virtualisation/growpart-util-linux-2.26.patch b/pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch similarity index 100% rename from nixos/modules/virtualisation/growpart-util-linux-2.26.patch rename to pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b09a913f8e7a..e4b5cf174c47 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1111,6 +1111,8 @@ in cloogppl = callPackage ../development/libraries/cloog-ppl { }; + cloud-utils = callPackage ../tools/misc/cloud-utils { }; + compass = callPackage ../development/tools/compass { }; convmv = callPackage ../tools/misc/convmv { }; From 8a34a3b37a620904a8237216e543774b18b220cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 30 Mar 2016 15:12:41 +0100 Subject: [PATCH 26/60] qemu: 2.5.0 -> 2.5.1 Hopefully this also fixes installer tests on i686 --- pkgs/applications/virtualization/qemu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 158231a6e646..06d75a00b977 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 = From c94f8a4abd521debf926be2f8523edcf643a8ce2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Mar 2016 16:12:44 +0200 Subject: [PATCH 27/60] nixos-rebuild: Fix Nix fallback Somebody forgot that Bash is not a real programming language... --- nixos/modules/installer/tools/nixos-rebuild.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index e0e79f63fab7..cd30958d9e8a 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -257,9 +257,9 @@ fi prebuiltNix() { machine="$1" if [ "$machine" = x86_64 ]; then - return /nix/store/xryr9g56h8yjddp89d6dw12anyb4ch7c-nix-1.10 + echo /nix/store/xryr9g56h8yjddp89d6dw12anyb4ch7c-nix-1.10 elif [[ "$machine" =~ i.86 ]]; then - return /nix/store/2w92k5wlpspf0q2k9mnf2z42prx3bwmv-nix-1.10 + echo /nix/store/2w92k5wlpspf0q2k9mnf2z42prx3bwmv-nix-1.10 else echo "$0: unsupported platform" exit 1 From e2e56a902f2c46e904ce4447246c9ede61d4e7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 30 Mar 2016 16:43:14 +0100 Subject: [PATCH 28/60] fix eval --- nixos/modules/virtualisation/amazon-grow-partition.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/amazon-grow-partition.nix b/nixos/modules/virtualisation/amazon-grow-partition.nix index aa13cea2a940..69b80d900bad 100644 --- a/nixos/modules/virtualisation/amazon-grow-partition.nix +++ b/nixos/modules/virtualisation/amazon-grow-partition.nix @@ -5,7 +5,7 @@ { config, lib, pkgs, ... }: { - config = mkIf config.ec2.hvm { + config = lib.mkIf config.ec2.hvm { boot.initrd.extraUtilsCommands = '' copy_bin_and_libs ${pkgs.gawk}/bin/gawk copy_bin_and_libs ${pkgs.gnused}/bin/sed From 088231fe9ff77b1a03f8e87fe4f402e9f4a38be7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 30 Mar 2016 17:51:00 +0200 Subject: [PATCH 29/60] libiberty: add static variant --- pkgs/development/libraries/libiberty/default.nix | 13 +++++++++---- pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libiberty/default.nix b/pkgs/development/libraries/libiberty/default.nix index 6a68b5610da2..c3dc3a4e8526 100644 --- a/pkgs/development/libraries/libiberty/default.nix +++ b/pkgs/development/libraries/libiberty/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, staticBuild ? false }: stdenv.mkDerivation rec { version = "4.9.3"; @@ -11,11 +11,16 @@ stdenv.mkDerivation rec { postUnpack = "sourceRoot=\${sourceRoot}/libiberty"; - enable_shared = 1; + enable_shared = !staticBuild; installPhase = '' - mkdir -p $out/lib - cp pic/libiberty.a $out/lib/libiberty_pic.a + mkdir -p $out/lib $out/include + cp ../include/libiberty.h $out/include/ + if [ -z "$enabled_shared" ]; then + cp libiberty.a $out/lib/libiberty.a + else + cp pic/libiberty.a $out/lib/libiberty_pic.a + fi ''; meta = with stdenv.lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d40165b05d23..caab56d4b76e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2206,6 +2206,8 @@ in libiberty = callPackage ../development/libraries/libiberty { }; + libiberty_static = callPackage ../development/libraries/libiberty { staticBuild = true; }; + libibverbs = callPackage ../development/libraries/libibverbs { }; libxcomp = callPackage ../development/libraries/libxcomp { }; From 18918507f2f0cf1edc9c2fa43656acf4e62d70cb Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 30 Mar 2016 17:51:12 +0200 Subject: [PATCH 30/60] oprofile: depend on libiberty_static --- pkgs/development/tools/profiling/oprofile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/profiling/oprofile/default.nix b/pkgs/development/tools/profiling/oprofile/default.nix index 01e8152ea96c..063b0375fc7d 100644 --- a/pkgs/development/tools/profiling/oprofile/default.nix +++ b/pkgs/development/tools/profiling/oprofile/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, binutils, popt, zlib, pkgconfig, linuxHeaders -, withGUI ? false , qt4 ? null}: +, libiberty_static, withGUI ? false , qt4 ? null}: # libX11 is needed because the Qt build stuff automatically adds `-lX11'. assert withGUI -> qt4 != null; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0v1nn38h227bgxjwqf22rjp2iqgjm4ls3gckzifks0x6w5nrlxfg"; }; - buildInputs = [ binutils zlib popt pkgconfig linuxHeaders ] + buildInputs = [ binutils zlib popt pkgconfig linuxHeaders libiberty_static ] ++ stdenv.lib.optionals withGUI [ qt4 ]; configureFlags = [ From 0b8dd576949e51d9136b432d0a036bc9479d528f Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 30 Mar 2016 11:47:05 -0500 Subject: [PATCH 31/60] jenkins: copy .war to $out, fixes #14137 --- .../tools/continuous-integration/jenkins/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix index 8cde6e1e3652..ca154469dfd0 100644 --- a/pkgs/development/tools/continuous-integration/jenkins/default.nix +++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -16,5 +16,5 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.coconnor ]; }; - buildCommand = "ln -s $src $out"; + buildCommand = "cp $src $out"; } From ccdda96c2f6f15bb344190770a828744af45b6ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 30 Mar 2016 18:07:34 +0100 Subject: [PATCH 32/60] manual: use a better relaxng validation tool #4966 --- doc/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/default.nix b/doc/default.nix index 5c97bc32a889..ddbee65f1ac4 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -67,9 +67,9 @@ stdenv.mkDerivation { + '' echo ${nixpkgsVersion} > .version - xmllint --noout --nonet --xinclude --noxincludenode \ - --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \ - manual.xml + # validate against relaxng schema + xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml + ${jing}/bin/jing ${docbook5}/xml/rng/docbook/docbook.rng manual-full.xml dst=$out/share/doc/nixpkgs mkdir -p $dst From 11d09c91c5359e0db9d7e7001cf98784719feed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Wed, 30 Mar 2016 11:34:54 -0300 Subject: [PATCH 33/60] cbatticon: 1.4.2 -> 1.6.4 --- pkgs/applications/misc/cbatticon/default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix index 0a7fb1e5f3fe..10c8c4836949 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 ]; From a1cfdb9c88d26f61ea78b2a3801f8b3a94402cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 30 Mar 2016 18:54:58 +0100 Subject: [PATCH 34/60] remove erlangR14: outdated and doesn't build --- pkgs/development/interpreters/erlang/R14.nix | 63 -------------------- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 64 deletions(-) delete mode 100644 pkgs/development/interpreters/erlang/R14.nix diff --git a/pkgs/development/interpreters/erlang/R14.nix b/pkgs/development/interpreters/erlang/R14.nix deleted file mode 100644 index 773ad6986292..000000000000 --- a/pkgs/development/interpreters/erlang/R14.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ stdenv, fetchurl, perl, gnum4, ncurses, openssl -, makeWrapper, gnused, gawk }: - -let version = "14B04"; in - -stdenv.mkDerivation { - name = "erlang-" + version; - - src = fetchurl { - url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz"; - sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9"; - }; - - buildInputs = [ perl gnum4 ncurses openssl makeWrapper ]; - - patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure ''; - - preConfigure = '' - export HOME=$PWD/../ - sed -e s@/bin/pwd@pwd@g -i otp_build - ''; - - configureFlags = "--with-ssl=${openssl}"; - - postInstall = let - manpages = fetchurl { - url = "http://www.erlang.org/download/otp_doc_man_R${version}.tar.gz"; - sha256 = "1nh7l7wilyyaxvlwkjxgm3cq7wpd90sk6vxhgpvg7hwai8g52545"; - }; - in '' - tar xf "${manpages}" -C "$out/lib/erlang" - for i in "$out"/lib/erlang/man/man[0-9]/*.[0-9]; do - prefix="''${i%/*}" - ensureDir "$out/share/man/''${prefix##*/}" - ln -s "$i" "$out/share/man/''${prefix##*/}/''${i##*/}erl" - done - ''; - - # Some erlang bin/ scripts run sed and awk - postFixup = '' - wrapProgram $out/lib/erlang/bin/erl --prefix PATH ":" "${gnused}/bin/" - wrapProgram $out/lib/erlang/bin/start_erl --prefix PATH ":" "${gnused}/bin/:${gawk}/bin" - ''; - - setupHook = ./setup-hook.sh; - - meta = { - homepage = "http://www.erlang.org/"; - description = "Programming language used for massively scalable soft real-time systems"; - - longDescription = '' - Erlang is a programming language used to build massively scalable - soft real-time systems with requirements on high availability. - Some of its uses are in telecoms, banking, e-commerce, computer - telephony and instant messaging. Erlang's runtime system has - built-in support for concurrency, distribution and fault - tolerance. - ''; - - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.simons ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index caab56d4b76e..795f593653ec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5220,7 +5220,6 @@ in clooj = callPackage ../development/interpreters/clojure/clooj.nix { }; - erlangR14 = callPackage ../development/interpreters/erlang/R14.nix { }; erlangR16 = callPackage ../development/interpreters/erlang/R16.nix { }; erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix { odbcSupport = true; }; erlangR17 = callPackage ../development/interpreters/erlang/R17.nix { }; From 71d7eaf55d3d28eb778dcfd3975c4743662c10e9 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Wed, 30 Mar 2016 20:55:40 +0300 Subject: [PATCH 35/60] ntfs-3g: 2015.3.14 -> 2016.2.22; maintain Also old homepage seems to be in a redirect loop. --- pkgs/tools/filesystems/ntfs-3g/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix index fd714b890546..d5c5456515cb 100644 --- a/pkgs/tools/filesystems/ntfs-3g/default.nix +++ b/pkgs/tools/filesystems/ntfs-3g/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { pname = "ntfs-3g"; - version = "2015.3.14"; + version = "2016.2.22"; name = "${pname}-${version}"; buildInputs = [ libuuid ] ++ stdenv.lib.optionals crypto [ gnutls libgcrypt ]; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${version}.tgz"; - sha256 = "1wiqcmy07y02k3iqq56cscnhg5syisbjj9mxfaid85l3bl0rdycp"; + sha256 = "180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp"; }; patchPhase = '' @@ -38,9 +38,9 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://www.tuxera.com/community/; + homepage = http://www.tuxera.com/community/open-source-ntfs-3g/; description = "FUSE-based NTFS driver with full write support"; - maintainers = [ maintainers.urkud ]; + maintainers = with maintainers; [ urkud dezgeg ]; platforms = platforms.linux; license = licenses.gpl2Plus; # and (lib)fuse-lite under LGPL2+ }; From 0e882ccf740289f191fdda5581c51629a8959c5f Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Wed, 30 Mar 2016 20:06:58 +0200 Subject: [PATCH 36/60] hwinfo: 21.12 -> 21.23 --- pkgs/tools/system/hwinfo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix index 6ecbbb98a546..57dfbbeeeb9a 100644 --- a/pkgs/tools/system/hwinfo/default.nix +++ b/pkgs/tools/system/hwinfo/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "hwinfo-${version}"; - version = "21.12"; + version = "21.23"; src = fetchurl { url = "https://github.com/opensuse/hwinfo/archive/${version}.tar.gz"; - sha256 = "01y5jk2jns0a3mgsgmvmpvi5yyc0df7b3yqsg32hn5r2nv17i47p"; + sha256 = "1a8815zp3a7n2jx0cn0hcr69rfr6vmw8r8grbn5mv61g90bbcj6p"; }; patchPhase = '' From 318fdda01cbfe4476b0c6eca1d51961f5e7e5485 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Wed, 30 Mar 2016 20:25:50 +0200 Subject: [PATCH 37/60] git-cola: 2.2.1 -> 2.5 --- .../version-management/git-and-tools/git-cola/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 44a617d70e1f..77c2f45bbd5c 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 ]; From c091e61a098c5cab1f5b6b850d8fc05741cb112e Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 28 Mar 2016 13:26:46 +0300 Subject: [PATCH 38/60] pcre: add 16- and 32-bit character size versions --- pkgs/development/libraries/pcre/default.nix | 25 +++++++++++++++------ pkgs/top-level/all-packages.nix | 8 +++++++ 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix index 92f53b067204..afeffae3e5fa 100644 --- a/pkgs/development/libraries/pcre/default.nix +++ b/pkgs/development/libraries/pcre/default.nix @@ -1,14 +1,24 @@ -{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true +{ stdenv, lib, fetchurl, unicodeSupport ? true, cplusplusSupport ? true , windows ? null +, withCharSize ? 8 }: with stdenv.lib; -stdenv.mkDerivation rec { - name = "pcre-8.38"; +assert withCharSize != 8 -> !cplusplusSupport; + +let + charFlags = if withCharSize == 8 then [ ] + else if withCharSize == 16 then [ "--enable-pcre16" "--disable-pcre8" ] + else if withCharSize == 32 then [ "--enable-pcre32" "--disable-pcre8" ] + else abort "Invalid character size"; + +in stdenv.mkDerivation rec { + name = "pcre${lib.optionalString (withCharSize != 8) (toString withCharSize)}-8.38"; + # FIXME: add "version" attribute and use it in URL src = fetchurl { - url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2"; + url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.bz2"; sha256 = "1pvra19ljkr5ky35y2iywjnsckrs9ch2anrf5b0dc91hw8v2vq5r"; }; @@ -17,11 +27,12 @@ stdenv.mkDerivation rec { outputs = [ "out" "doc" "man" ]; + # FIXME: Refactor into list! configureFlags = '' --enable-jit - ${if unicodeSupport then "--enable-unicode-properties" else ""} - ${if !cplusplusSupport then "--disable-cpp" else ""} - ''; + ${lib.optionalString unicodeSupport "--enable-unicode-properties"} + ${lib.optionalString (!cplusplusSupport) "--disable-cpp"} + '' + lib.optionalString (charFlags != []) " ${toString charFlags}"; doCheck = with stdenv; !(isCygwin || isFreeBSD); # XXX: test failure on Cygwin diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 795f593653ec..4bb16b69dcaf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8345,6 +8345,14 @@ in pcre = callPackage ../development/libraries/pcre { unicodeSupport = config.pcre.unicode or true; }; + pcre16 = pcre.override { + cplusplusSupport = false; + withCharSize = 16; + }; + pcre32 = pcre.override { + cplusplusSupport = false; + withCharSize = 32; + }; pcre2 = callPackage ../development/libraries/pcre2 { }; From c419e3c6d6eda71e5ee1f8abcc7ca5a0406cc5e4 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 28 Mar 2016 16:44:43 +0300 Subject: [PATCH 39/60] libgee_0_6: init at 0.6.8 --- pkgs/development/libraries/libgee/0.6.nix | 27 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/libraries/libgee/0.6.nix diff --git a/pkgs/development/libraries/libgee/0.6.nix b/pkgs/development/libraries/libgee/0.6.nix new file mode 100644 index 000000000000..e30641f0e766 --- /dev/null +++ b/pkgs/development/libraries/libgee/0.6.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, glib }: + +let + ver_maj = "0.6"; + ver_min = "8"; +in +stdenv.mkDerivation rec { + name = "libgee-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "https://download.gnome.org/sources/libgee/${ver_maj}/${name}.tar.xz"; + sha256 = "1lzmxgz1bcs14ghfp8qqzarhn7s64ayx8c508ihizm3kc5wqs7x6"; + }; + + buildInputs = [ glib ]; + nativeBuildInputs = [ pkgconfig ]; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Utility library providing GObject-based interfaces and classes for commonly used data structures"; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + homepage = "http://live.gnome.org/Libgee"; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4bb16b69dcaf..0f3c76ba4dca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7424,6 +7424,8 @@ in libgdata = gnome3.libgdata; + libgee_0_6 = callPackage ../development/libraries/libgee/0.6.nix { }; + libgig = callPackage ../development/libraries/libgig { }; libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; From 01e251166883a32c8e47cb72de7f4634f61b0e12 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 28 Mar 2016 16:45:10 +0300 Subject: [PATCH 40/60] dee: init at 1.2.7 --- pkgs/development/libraries/dee/default.nix | 25 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/libraries/dee/default.nix diff --git a/pkgs/development/libraries/dee/default.nix b/pkgs/development/libraries/dee/default.nix new file mode 100644 index 000000000000..e4d12de28fd4 --- /dev/null +++ b/pkgs/development/libraries/dee/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, python, pkgconfig +, glib, icu, gobjectIntrospection }: + +stdenv.mkDerivation rec { + name = "dee-${version}"; + version = "1.2.7"; + + src = fetchurl { + url = "https://launchpad.net/dee/1.0/${version}/+download/${name}.tar.gz"; + sha256 = "12mzffk0lyd566y46x57jlvb9af152b4dqpasr40zal4wrn37w0v"; + }; + + buildInputs = [ glib gobjectIntrospection icu ]; + nativeBuildInputs = [ python pkgconfig ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus"; + homepage = "https://launchpad.net/dee"; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f3c76ba4dca..9801434578bb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6549,6 +6549,8 @@ in dbus_libs = pkgs.dbus.libs; dbus_daemon = pkgs.dbus.daemon; + dee = callPackage ../development/libraries/dee { }; + dhex = callPackage ../applications/editors/dhex { }; double_conversion = callPackage ../development/libraries/double-conversion { }; From e0ee6dc8fca8a511280084ad2fc35537ed68c4b7 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 28 Mar 2016 16:45:37 +0300 Subject: [PATCH 41/60] breakpad: init at 2016-03-28 --- .../libraries/breakpad/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/libraries/breakpad/default.nix diff --git a/pkgs/development/libraries/breakpad/default.nix b/pkgs/development/libraries/breakpad/default.nix new file mode 100644 index 000000000000..f5876d09a714 --- /dev/null +++ b/pkgs/development/libraries/breakpad/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit }: + +stdenv.mkDerivation { + name = "breakpad-2016-03-28"; + + src = fetchgit { + url = "https://chromium.googlesource.com/breakpad/breakpad"; + rev = "512cac3a1b69721ab727f3079f4d29e4580467b1"; + sha256 = "0v7k7racdl2f16mbi3r0vkbkagh0gf6ksnpf3ri28b9pjfngkl5s"; + }; + + breakpad_lss = fetchgit { + url = "https://chromium.googlesource.com/linux-syscall-support"; + rev = "08056836f2b4a5747daff75435d10d649bed22f6"; + sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz"; + }; + + enableParallelBuilding = true; + + prePatch = '' + cp -r $breakpad_lss src/third_party/lss + chmod +w -R src/third_party/lss + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9801434578bb..675a9dca673f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6389,6 +6389,8 @@ in box2d = callPackage ../development/libraries/box2d { }; box2d_2_0_1 = callPackage ../development/libraries/box2d/2.0.1.nix { }; + breakpad = callPackage ../development/libraries/breakpad { }; + buddy = callPackage ../development/libraries/buddy { }; bwidget = callPackage ../development/libraries/bwidget { }; From a8f5991db775a89b0ce8cb3673828c6ec0d4a91e Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 28 Mar 2016 16:46:10 +0300 Subject: [PATCH 42/60] libunity: init at 6.12.0 --- .../libraries/libunity/default.nix | 27 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/libraries/libunity/default.nix diff --git a/pkgs/development/libraries/libunity/default.nix b/pkgs/development/libraries/libunity/default.nix new file mode 100644 index 000000000000..94e19f97e80c --- /dev/null +++ b/pkgs/development/libraries/libunity/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, vala, python, intltool, pkgconfig +, glib, libgee_0_6, gtk3, dee, libdbusmenu-glib +}: + +stdenv.mkDerivation rec { + name = "libunity-${version}"; + version = "6.12.0"; + + src = fetchurl { + url = "https://launchpad.net/libunity/6.0/${version}/+download/${name}.tar.gz"; + sha256 = "1nadapl3390x98q1wv2yarh60hzi7ck0d1s8zz9xsiq3zz6msbjd"; + }; + + buildInputs = [ glib libgee_0_6 gtk3 ]; + propagatedBuildInputs = [ dee libdbusmenu-glib ]; + nativeBuildInputs = [ vala python intltool pkgconfig ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A library for instrumenting- and integrating with all aspects of the Unity shell"; + homepage = "https://launchpad.net/libunity"; + license = licenses.lgpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 675a9dca673f..9449ae4035c5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7906,6 +7906,8 @@ in libu2f-server = callPackage ../development/libraries/libu2f-server { }; + libunity = callPackage ../development/libraries/libunity { }; + libunistring = callPackage ../development/libraries/libunistring { }; libupnp = callPackage ../development/libraries/pupnp { }; From 1d24a7b6f889e1ed23fd94ca21e5ee02aeac6d26 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 28 Mar 2016 16:46:44 +0300 Subject: [PATCH 43/60] tdesktop: init at 0.9.33 --- .../telegram/tdesktop/default.nix | 164 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix 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 000000000000..2422d1808697 --- /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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9449ae4035c5..4628630b533b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13852,7 +13852,9 @@ in taskserver = callPackage ../servers/misc/taskserver { }; - telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli/default.nix { }; + tdesktop = qt55.callPackage ../applications/networking/instant-messengers/telegram/tdesktop { }; + + telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { }; telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { }; From 184b7ba3c684c5be64c4908ac4973f71865acf4e Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 30 Mar 2016 21:27:20 +0200 Subject: [PATCH 44/60] glib-tested: suppress gdbus test needing machine-id --- pkgs/development/libraries/glib/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 9a3303684a15..9dd927d55ced 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -100,6 +100,7 @@ stdenv.mkDerivation rec { substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true" # Needs machine-id, comment the test sed -e '/\/gdbus\/codegen-peer-to-peer/ s/^\/*/\/\//' -i gio/tests/gdbus-peer.c + sed -e '/g_test_add_func/ s/^\/*/\/\//' -i gio/tests/gdbus-unix-addresses.c # All gschemas fail to pass the test, upstream bug? sed -e '/g_test_add_data_func/ s/^\/*/\/\//' -i gio/tests/gschema-compile.c # Cannot reproduce the failing test_associations on hydra From 0d3738cdcc48bd32a7eae9b914440b67c8db252e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Mar 2016 21:48:12 +0200 Subject: [PATCH 45/60] Fix the EC2 test We now generate a qcow2 image to prevent hitting Hydra's output size limit. Also updated /root/user-data -> /etc/ec2-metadata/user-data. http://hydra.nixos.org/build/33843133 --- nixos/lib/make-disk-image.nix | 6 ++++-- nixos/maintainers/scripts/ec2/amazon-image.nix | 4 +++- nixos/modules/virtualisation/amazon-image.nix | 3 +-- nixos/tests/ec2.nix | 11 +++++------ 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index 7387bf147385..caf0ab4c07b5 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -23,6 +23,8 @@ postVM ? "" , name ? "nixos-disk-image" + +, format ? "raw" }: with lib; @@ -32,8 +34,8 @@ pkgs.vmTools.runInLinuxVM ( { preVM = '' mkdir $out - diskImage=$out/nixos.img - ${pkgs.vmTools.qemu}/bin/qemu-img create -f raw $diskImage "${toString diskSize}M" + diskImage=$out/nixos.${if format == "qcow2" then "qcow2" else "img"} + ${pkgs.vmTools.qemu}/bin/qemu-img create -f ${format} $diskImage "${toString diskSize}M" mv closure xchg/ ''; buildInputs = [ pkgs.utillinux pkgs.perl pkgs.e2fsprogs pkgs.parted ]; diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix index ef8646c66d1e..bfa4f4b3ca59 100644 --- a/nixos/maintainers/scripts/ec2/amazon-image.nix +++ b/nixos/maintainers/scripts/ec2/amazon-image.nix @@ -10,9 +10,11 @@ with lib; ]; system.build.amazonImage = import ../../../lib/make-disk-image.nix { - inherit pkgs lib config; + inherit lib config; + pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package partitioned = config.ec2.hvm; diskSize = if config.ec2.hvm then 2048 else 8192; + format = "qcow2"; configFile = pkgs.writeText "configuration.nix" '' { diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 35af905bc628..5d99bccb0e93 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -65,8 +65,7 @@ let cfg = config.ec2; in fi if ! [ -e "$metaDir/user-data" ]; then - wget -q -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data - chmod 600 "$metaDir/user-data" + wget -q -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data && chmod 600 "$metaDir/user-data" fi if ! [ -e "$metaDir/hostname" ]; then diff --git a/nixos/tests/ec2.nix b/nixos/tests/ec2.nix index 0a95d6cfeff4..597bfe89fb02 100644 --- a/nixos/tests/ec2.nix +++ b/nixos/tests/ec2.nix @@ -11,7 +11,6 @@ let modules = [ ../maintainers/scripts/ec2/amazon-image.nix ../modules/testing/test-instrumentation.nix - ../modules/profiles/minimal.nix ../modules/profiles/qemu-guest.nix { ec2.hvm = true; @@ -30,9 +29,8 @@ let metaData = pkgs.stdenv.mkDerivation { name = "metadata"; buildCommand = '' - mkdir -p $out/2011-01-01 - ln -s ${pkgs.writeText "userData" userData} $out/2011-01-01/user-data mkdir -p $out/1.0/meta-data + ln -s ${pkgs.writeText "userData" userData} $out/1.0/user-data echo "${hostname}" > $out/1.0/meta-data/hostname echo "(unknown)" > $out/1.0/meta-data/ami-manifest-path '' + optionalString (sshPublicKey != null) '' @@ -48,7 +46,7 @@ let my $imageDir = ($ENV{'TMPDIR'} // "/tmp") . "/vm-state-machine"; mkdir $imageDir, 0700; my $diskImage = "$imageDir/machine.qcow2"; - system("qemu-img create -f qcow2 -o backing_file=${image}/nixos.img $diskImage") == 0 or die; + system("qemu-img create -f qcow2 -o backing_file=${image}/nixos.qcow2 $diskImage") == 0 or die; system("qemu-img resize $diskImage 10G") == 0 or die; # Note: we use net=169.0.0.0/8 rather than @@ -91,7 +89,7 @@ in { ''; script = '' $machine->start; - $machine->waitForFile("/root/user-data"); + $machine->waitForFile("/etc/ec2-metadata/user-data"); $machine->waitForUnit("sshd.service"); $machine->succeed("grep unknown /etc/ec2-metadata/ami-manifest-path"); @@ -121,7 +119,7 @@ in { # Just to make sure resizing is idempotent. $machine->shutdown; $machine->start; - $machine->waitForFile("/root/user-data"); + $machine->waitForFile("/etc/ec2-metadata/user-data"); ''; }; @@ -135,6 +133,7 @@ in { imports = [ + ]; environment.etc.testFile = { text = "whoa"; From 04d4d0000f7b6eb6b06bbab5eb608798dd4544e1 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 30 Mar 2016 21:53:44 +0200 Subject: [PATCH 46/60] namazu: mark as broken --- pkgs/tools/text/namazu/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/text/namazu/default.nix b/pkgs/tools/text/namazu/default.nix index 72caa7ba5cb4..21548de5efbd 100644 --- a/pkgs/tools/text/namazu/default.nix +++ b/pkgs/tools/text/namazu/default.nix @@ -40,5 +40,6 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.gnu; # arbitrary choice maintainers = [ ]; + broken = true; # File-MMagic is not compatible with our Perl version }; } From 18451597059455d3dd7683dad42d6d5f58d7f8de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 30 Mar 2016 21:06:28 +0100 Subject: [PATCH 47/60] perlPackages.UnicodeString: fix build (also imapsync) --- .../perl-modules/Unicode-String-perl-5-22.patch | 11 +++++++++++ pkgs/top-level/perl-packages.nix | 3 +++ 2 files changed, 14 insertions(+) create mode 100644 pkgs/development/perl-modules/Unicode-String-perl-5-22.patch diff --git a/pkgs/development/perl-modules/Unicode-String-perl-5-22.patch b/pkgs/development/perl-modules/Unicode-String-perl-5-22.patch new file mode 100644 index 000000000000..08d0d13b41f0 --- /dev/null +++ b/pkgs/development/perl-modules/Unicode-String-perl-5-22.patch @@ -0,0 +1,11 @@ +diff -ru libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm libunicode-string-perl-2.09/lib/Unicode/CharName.pm +--- libunicode-string-perl-2.09.pristine/lib/Unicode/CharName.pm 2005-10-25 19:11:00.000000000 +0100 ++++ libunicode-string-perl-2.09/lib/Unicode/CharName.pm 2012-01-24 12:56:59.730653088 +0000 +@@ -77,7 +77,7 @@ + return join("", "HANGUL SYLLABLE ", @s) + } + } +- _init_names() unless defined %NAMES; ++ _init_names() unless %NAMES; + $NAMES{sprintf("%04X",$code)} + } diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6d86f5d3e0ec..5568d45e7cfb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -13202,6 +13202,9 @@ let self = _self // overrides; _self = with self; { UnicodeString = buildPerlPackage rec { name = "Unicode-String-2.09"; + patches = [ + ../development/perl-modules/Unicode-String-perl-5-22.patch + ]; src = fetchurl { url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz"; sha256 = "1bgsaf3dgmlgyvi84r42ysc037mr5280amnypa4d98jfjpdvw5y8"; From 1783e33b060abce8471219b582195b30eee6e9c9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Mar 2016 22:21:56 +0200 Subject: [PATCH 48/60] Fix the boot-ec2-config test --- nixos/modules/profiles/headless.nix | 3 +++ nixos/tests/ec2.nix | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/nixos/modules/profiles/headless.nix b/nixos/modules/profiles/headless.nix index 4be0fb442161..67f8d633bab5 100644 --- a/nixos/modules/profiles/headless.nix +++ b/nixos/modules/profiles/headless.nix @@ -20,4 +20,7 @@ with lib; # Don't allow emergency mode, because we don't have a console. systemd.enableEmergencyMode = false; + + # Being headless, we don't need a GRUB splash image. + boot.loader.grub.splashImage = null; } diff --git a/nixos/tests/ec2.nix b/nixos/tests/ec2.nix index 597bfe89fb02..e1f7143e3a95 100644 --- a/nixos/tests/ec2.nix +++ b/nixos/tests/ec2.nix @@ -20,6 +20,14 @@ let ln -s vda /dev/xvda ln -s vda1 /dev/xvda1 ''; + + # Needed by nixos-rebuild due to the lack of network + # access. Mostly copied from + # modules/profiles/installation-device.nix. + system.extraDependencies = + [ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio + pkgs.unionfs-fuse pkgs.mkinitcpio-nfs-utils + ]; } ]; }).config.system.build.amazonImage; From 2d4af4b97908f129602390e6ab9c0c7f2be00a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Teo=20Klestrup=20R=C3=B6ijezon?= Date: Thu, 31 Mar 2016 00:08:27 +0200 Subject: [PATCH 49/60] oidentd: Set C dialect to gnu89 (broken by GCC 5) --- pkgs/servers/identd/oidentd/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/servers/identd/oidentd/default.nix b/pkgs/servers/identd/oidentd/default.nix index 04ad25b3fd39..b8eb21e492bc 100644 --- a/pkgs/servers/identd/oidentd/default.nix +++ b/pkgs/servers/identd/oidentd/default.nix @@ -3,6 +3,8 @@ stdenv.mkDerivation rec { name = "oidentd-2.0.8"; + CFLAGS = [ "--std=gnu89" ]; + src = fetchurl { url = "mirror://sourceforge/ojnk/${name}.tar.gz"; sha256 = "0vzv2086rrxcaavrm3js7aqvyc0grgaqy78x61d8s7r8hz8vwk55"; From cd87edce149b38cc2d32358d196bb6039a7b33a4 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Thu, 31 Mar 2016 00:16:01 +0200 Subject: [PATCH 50/60] tinycc: 0.9.26 -> 0.9.27pre-20160328 (from git); apparently fixes the segfaults --- pkgs/development/compilers/tinycc/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix index c9378451d1ff..f1a52f5de91e 100644 --- a/pkgs/development/compilers/tinycc/default.nix +++ b/pkgs/development/compilers/tinycc/default.nix @@ -1,13 +1,19 @@ -{ stdenv, fetchurl, perl, texinfo }: +{ stdenv, fetchurl, fetchgit, perl, texinfo }: assert stdenv ? glibc; stdenv.mkDerivation rec { - name = "tcc-0.9.26"; + #name = "tcc-0.9.26"; + name = "tcc-git-0.9.27pre-20160328"; - src = fetchurl { - url = "mirror://savannah/tinycc/${name}.tar.bz2"; - sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj"; + #src = fetchurl { + # url = "mirror://savannah/tinycc/${name}.tar.bz2"; + # sha256 = "0wbdbdq6090ayw8bxnbikiv989kykff3m5rzbia05hrnwhd707jj"; + #}; + src = fetchgit { + url = "git://repo.or.cz/tinycc.git"; + rev = "80343ab7d829c21c65f8f9a14dd20158d028549f"; + sha256 = "1bz75aj93ivb2d8hfk2bczsrwa56lv7vprvdi8c1r5phjvawbshy"; }; nativeBuildInputs = [ perl texinfo ]; From 254e2cc982808467539b232ffe8f15348b84c36f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 30 Mar 2016 22:17:59 +0200 Subject: [PATCH 51/60] hhvm: disable parallel building /cc #14151. http://hydra.nixos.org/build/33846692/nixlog/1/tail --- pkgs/development/compilers/hhvm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix index d976b6edab84..23f0484e8ead 100644 --- a/pkgs/development/compilers/hhvm/default.nix +++ b/pkgs/development/compilers/hhvm/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { gmp libyaml libedit libvpx imagemagick fribidi gperf ]; - enableParallelBuilding = true; + enableParallelBuilding = false; # occasional build problems; dontUseCmakeBuildDir = true; NIX_LDFLAGS = "-lpam -L${pam}/lib"; MYSQL_INCLUDE_DIR="${mariadb}/include/mysql"; From 016d523d8260d867ea4a2f2e4a6675c873fb9866 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Thu, 31 Mar 2016 01:52:23 +0200 Subject: [PATCH 52/60] cvc4: fix the build by skipping line markers in cpp expansions during configure, helps the configure script to find Boost version --- pkgs/applications/science/logic/cvc4/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix index 769f86d5d77a..5175037f01b3 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; { From 8347f94216c6f33d5f28c3ebc33c40a64d02fc62 Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Wed, 30 Mar 2016 19:49:22 -0400 Subject: [PATCH 53/60] fix nesting error resulting in topydo metadata being attached to the enclosing set --- pkgs/top-level/python-packages.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 763e1aa15ff2..c75c433cd37a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -26325,12 +26325,12 @@ in modules // { buildInputs = with self; [ mock freezegun coverage pkgs.glibcLocales ]; LC_ALL="en_US.UTF-8"; - }; - meta = { - description = "A cli todo application compatible with the todo.txt format"; - homepage = "https://github.com/bram85/topydo"; - license = license.gpl3; + meta = { + description = "A cli todo application compatible with the todo.txt format"; + homepage = "https://github.com/bram85/topydo"; + license = licenses.gpl3; + }; }; } From e0c53be9918e591e5a67a092544ca965ce371cfc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 31 Mar 2016 02:38:14 +0200 Subject: [PATCH 54/60] tzdata: 2016b -> 2016c --- pkgs/data/misc/tzdata/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 0c58ebe60469..5b51da58e622 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -2,16 +2,16 @@ stdenv.mkDerivation rec { name = "tzdata-${version}"; - version = "2016b"; + version = "2016c"; srcs = [ (fetchurl { url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz"; - sha256 = "6392091d92556a32de488ea06a055c51bc46b7d8046c8a677f0ccfe286b3dbdc"; + sha256 = "0j1dk830rkr1pijfac5wkdifi47k28mmvfys6z07l07jws0xj047"; }) (fetchurl { url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz"; - sha256 = "e935c4fe78b5c5da3791f58f3ab7f07fb059a7c71d6b62b69ef345211ae5dfa7"; + sha256 = "05m4ql1x3b4bmlg0vv1ibz2128mkk4xxnixagcmwlnwkhva1njrl"; }) ]; From 57f4678bbb266496edf122602fe7815ccf77b0d6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 31 Mar 2016 02:40:18 +0200 Subject: [PATCH 55/60] x2goclient: 4.0.5.0 -> 4.0.5.1 --- pkgs/applications/networking/remote/x2goclient/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/remote/x2goclient/default.nix b/pkgs/applications/networking/remote/x2goclient/default.nix index ffebeb744cea..02a25b9a2704 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 ]; From 1532ce35b84cb3ccac89fc6b4171f1bef2293b7a Mon Sep 17 00:00:00 2001 From: ne0phyte Date: Thu, 31 Mar 2016 04:28:01 +0200 Subject: [PATCH 56/60] librecad: 2.0.8 -> 2.0.9 --- pkgs/applications/misc/librecad/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index 135291a14905..b41ef70394ec 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 = '' From c12f63821fbcebd0ba42af0bf8633bcd13b17c11 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Thu, 31 Mar 2016 07:20:21 +0300 Subject: [PATCH 57/60] ios-cross-compile: Don't build on hydra --- pkgs/development/compilers/ios-cross-compile/9.2.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/ios-cross-compile/9.2.nix b/pkgs/development/compilers/ios-cross-compile/9.2.nix index 5ec24e01617a..9c4b38f87ded 100644 --- a/pkgs/development/compilers/ios-cross-compile/9.2.nix +++ b/pkgs/development/compilers/ios-cross-compile/9.2.nix @@ -58,6 +58,7 @@ clangStdenv.mkDerivation rec { description = "Provides an iOS cross compiler from 7.1 up to iOS-${version} and ldid"; platforms = stdenv.lib.platforms.linux; + hydraPlatforms = []; maintainers = with stdenv.lib.maintainers; [ fxfactorial ]; license = stdenv.lib.licenses.gpl2; }; From e21dd19168a726f749a00bc96950ce2e09f9eecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2016 09:45:23 +0200 Subject: [PATCH 58/60] Making vm's interactive shell handle the terminal well. --- pkgs/build-support/vm/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 23f95bd49790..cddca950ef48 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -66,6 +66,7 @@ rec { mknod -m 666 ${dev}/random c 1 8 mknod -m 666 ${dev}/urandom c 1 9 mknod -m 666 ${dev}/tty c 5 0 + mknod -m 666 ${dev}/ttyS0 c 4 64 mknod ${dev}/rtc c 254 0 . /sys/class/block/${hd}/uevent mknod ${dev}/${hd} b $MAJOR $MINOR @@ -208,7 +209,7 @@ rec { export PATH=/bin:/usr/bin:${coreutils}/bin echo "Starting interactive shell..." echo "(To run the original builder: \$origBuilder \$origArgs)" - exec ${bash}/bin/sh + exec ${busybox}/bin/setsid ${bashInteractive}/bin/bash < /dev/ttyS0 &> /dev/ttyS0 fi ''; From ab93f8c137ac8d7d67f42c24aa3844f6cd233d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Wed, 30 Mar 2016 09:46:33 +0200 Subject: [PATCH 59/60] Making vm's qemu cache=unsafe. Faster. I don't think it's unsafe, if it's meant for nix expressions. --- pkgs/build-support/vm/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index cddca950ef48..c11c21170e01 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -220,7 +220,7 @@ rec { -nographic -no-reboot \ -virtfs local,path=/nix/store,security_model=none,mount_tag=store \ -virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \ - -drive file=$diskImage,if=virtio,cache=writeback,werror=report \ + -drive file=$diskImage,if=virtio,cache=unsafe,werror=report \ -kernel ${kernel}/${img} \ -initrd ${initrd}/initrd \ -append "console=ttyS0 panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \ From a3ac6300923039901d185ed5a5f57d59fa99a6a5 Mon Sep 17 00:00:00 2001 From: aszlig Date: Thu, 31 Mar 2016 09:26:58 +0200 Subject: [PATCH 60/60] nixos/tests: Add a test for keyboard layouts I had the basic version of this laying around for some while but didn't continue on it. Originally it was for testing support for the Neo layout introduced back then (8cd6d53). We only test the first three Neo layers, because the last three layers are largely comprised of special characters and in addition to that the support for the VT keymap seems to be limited compared to the Xorg keymap. Yesterday @NicolasPetton on IRC had troubles with the Colemak layout (IRC logs: http://nixos.org/irc/logs/log.20160330, starting at 16:08) and I found that test again, so I went for improving and adding to . While the original problem seemed to be related to GDM, we can still add another subtest that checks whether GDM correctly applies the keyboard layout. However I don't have a clue how to properly configure the keyboard layout on GDM, at least not within the NixOS configuration. The main goal of this test is not to test a complete set of all key mappings but to check whether the keymap is loaded and working at all. It also serves as an example for NixOS keyboard configurations. The list of keyboard layouts is by no means complete, so everybody is free to add their own to the test or improve the existing ones. Signed-off-by: aszlig --- nixos/release.nix | 1 + nixos/tests/keymap.nix | 160 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+) create mode 100644 nixos/tests/keymap.nix diff --git a/nixos/release.nix b/nixos/release.nix index d190733d5c13..8a01b2685a78 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -219,6 +219,7 @@ in rec { tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; tests.kde4 = callTest tests/kde4.nix {}; + tests.keymap = callSubTests tests/keymap.nix {}; tests.initrdNetwork = callTest tests/initrd-network.nix {}; tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; }); tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix new file mode 100644 index 000000000000..55a0e7603882 --- /dev/null +++ b/nixos/tests/keymap.nix @@ -0,0 +1,160 @@ +{ system ? builtins.currentSystem }: + +with import ../lib/testing.nix { inherit system; }; + +let + testReader = pkgs.writeScript "test-input-reader" '' + #!${pkgs.stdenv.shell} + readInput() { + touch /tmp/reader.ready + echo "Waiting for '$1' to be typed" + read -r -n1 c + if [ "$c" = "$2" ]; then + echo "SUCCESS: Got back '$c' as expected." + echo 0 >&2 + else + echo "FAIL: Expected '$2' but got '$c' instead." + echo 1 >&2 + fi + } + + main() { + error=0 + while [ $# -gt 0 ]; do + ret="$((readInput "$2" "$3" | systemd-cat -t "$1") 2>&1)" + if [ $ret -ne 0 ]; then error=1; fi + shift 3 + done + return $error + } + + main "$@"; echo -n $? > /tmp/reader.exit + ''; + + mkReaderInput = testname: { qwerty, expect }: with pkgs.lib; let + lq = length qwerty; + le = length expect; + msg = "`qwerty' (${lq}) and `expect' (${le}) lists" + + " need to be of the same length!"; + result = flatten (zipListsWith (a: b: [testname a b]) qwerty expect); + in if lq != le then throw msg else result; + + mkKeyboardTest = layout: { extraConfig ? {}, tests }: with pkgs.lib; let + readerInput = flatten (mapAttrsToList mkReaderInput tests); + perlStr = val: "'${escape ["'" "\\"] val}'"; + perlReaderInput = concatMapStringsSep ", " perlStr readerInput; + in makeTest { + name = "keymap-${layout}"; + + machine.i18n.consoleKeyMap = mkOverride 900 layout; + machine.services.xserver.layout = mkOverride 900 layout; + machine.imports = [ ./common/x11.nix extraConfig ]; + + testScript = '' + sub waitCatAndDelete ($) { + return $machine->succeed( + "for i in \$(seq 600); do if [ -e '$_[0]' ]; then ". + "cat '$_[0]' && rm -f '$_[0]' && exit 0; ". + "fi; sleep 0.1; done; echo timed out after 60 seconds >&2; exit 1" + ); + }; + + sub mkTest ($$) { + my ($desc, $cmd) = @_; + + my @testdata = (${perlReaderInput}); + my $shellTestdata = join ' ', map { "'".s/'/'\\'''/gr."'" } @testdata; + + subtest $desc, sub { + $machine->succeed("$cmd ${testReader} $shellTestdata &"); + while (my ($testname, $qwerty, $expect) = splice(@testdata, 0, 3)) { + waitCatAndDelete "/tmp/reader.ready"; + $machine->sendKeys($qwerty); + }; + my $exitcode = waitCatAndDelete "/tmp/reader.exit"; + die "tests for $desc failed" if $exitcode ne 0; + }; + } + + $machine->waitForX; + + mkTest "VT keymap", "openvt -sw --"; + mkTest "Xorg keymap", "DISPLAY=:0 xterm -fullscreen -e"; + ''; + }; + +in pkgs.lib.mapAttrs mkKeyboardTest { + azerty = { + tests = { + azqw.qwerty = [ "q" "w" ]; + azqw.expect = [ "a" "z" ]; + altgr.qwerty = [ "alt_r-2" "alt_r-3" "alt_r-4" "alt_r-5" "alt_r-6" ]; + altgr.expect = [ "~" "#" "{" "[" "|" ]; + }; + + extraConfig.i18n.consoleKeyMap = "azerty/fr"; + extraConfig.services.xserver.layout = "fr"; + }; + + colemak = { + tests = { + homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ]; + homerow.expect = [ "a" "r" "s" "t" "n" "e" "i" "o" ]; + }; + + extraConfig.i18n.consoleKeyMap = "en-latin9"; + extraConfig.services.xserver.layout = "us"; + extraConfig.services.xserver.xkbVariant = "colemak"; + }; + + dvorak = { + tests = { + homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ]; + homerow.expect = [ "a" "o" "e" "u" "h" "t" "n" "s" ]; + symbols.qwerty = [ "q" "w" "e" "minus" "equal" ]; + symbols.expect = [ "'" "," "." "[" "]" ]; + }; + }; + + dvp = { + tests = { + homerow.qwerty = [ "a" "s" "d" "f" "j" "k" "l" "semicolon" ]; + homerow.expect = [ "a" "o" "e" "u" "h" "t" "n" "s" ]; + numbers.qwerty = map (x: "shift-${x}") + [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "minus" ]; + numbers.expect = [ "%" "7" "5" "3" "1" "9" "0" "2" "4" "6" "8" ]; + symbols.qwerty = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" "minus" ]; + symbols.expect = [ "&" "[" "{" "}" "(" "=" "*" ")" "+" "]" "!" ]; + }; + + extraConfig.services.xserver.layout = "us"; + extraConfig.services.xserver.xkbVariant = "dvp"; + }; + + neo = { + tests = { + layer1.qwerty = [ "f" "j" ]; + layer1.expect = [ "e" "n" ]; + layer2.qwerty = [ "shift-f" "shift-j" "shift-6" ]; + layer2.expect = [ "E" "N" "$" ]; + layer3.qwerty = [ "caps_lock-d" "caps_lock-f" ]; + layer3.expect = [ "{" "}" ]; + }; + + extraConfig.services.xserver.layout = "de"; + extraConfig.services.xserver.xkbVariant = "neo"; + }; + + qwertz = { + tests = { + zy.qwerty = [ "z" "y" ]; + zy.expect = [ "y" "z" ]; + altgr.qwerty = map (x: "alt_r-${x}") + [ "q" "less" "7" "8" "9" "0" ]; + altgr.expect = [ "@" "|" "{" "[" "]" "}" ]; + }; + + extraConfig.i18n.consoleKeyMap = "de"; + extraConfig.services.xserver.layout = "de"; + }; +}