about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-08-29 17:48:49 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-08-29 17:48:49 -0700
commitafe1f0f12706f68d3b8363a0c765d4fecad5c690 (patch)
tree28827fc4536ec3a4aad795ba905e6833e0c89f63 /pkgs/development
parent86e53bdff394951165fddc8aac5a1cfde79fc4c2 (diff)
parente9a8c5a988901a7e9c6f26214916ade70f262a45 (diff)
downloadnixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.tar
nixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.tar.gz
nixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.tar.bz2
nixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.tar.lz
nixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.tar.xz
nixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.tar.zst
nixlib-afe1f0f12706f68d3b8363a0c765d4fecad5c690.zip
Merge branch 'master.upstream' into staging.upstream
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
-rw-r--r--pkgs/development/go-modules/generic/default.nix118
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix4
-rw-r--r--pkgs/development/libraries/getdata/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.3/0014-mkspecs-libgl.patch15
-rw-r--r--pkgs/development/libraries/qt-5/5.3/default.nix3
-rw-r--r--pkgs/development/libraries/qt-5/5.4/0014-mkspecs-libgl.patch15
-rw-r--r--pkgs/development/libraries/qt-5/5.4/qtbase.nix3
-rw-r--r--pkgs/development/libraries/qt-5/qt-env.nix31
-rw-r--r--pkgs/development/qtcreator/default.nix27
-rw-r--r--pkgs/development/web/iojs/default.nix4
11 files changed, 137 insertions, 91 deletions
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index bc1f9a9043d7..861a12f1f09f 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20150520";
+  version = "20150819";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "06pl6z4sh5fvh72drz4bp70yynr4i1rawc97ww5wag8976dirwrm";
+    sha256 = "0gpdlq3aazx121k3ia94qfa4dyv04q7478x2p6hvcjamn18vk56n";
   };
 
   buildInputs = [ stdenv.cc file openssl mlton mysql postgresql sqlite ];
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index f0d3be6487c0..5d65fbc0deac 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -1,4 +1,4 @@
-{ go, govers, lib }:
+{ go, govers, parallel, lib }:
 
 { name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}, preFixup ? ""
 
@@ -41,7 +41,7 @@ go.stdenv.mkDerivation (
   (builtins.removeAttrs args [ "goPackageAliases" "disabled" ]) // {
 
   name = "go${go.meta.branch}-${name}";
-  nativeBuildInputs = [ go ]
+  nativeBuildInputs = [ go parallel ]
     ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs;
   buildInputs = [ go ] ++ buildInputs;
 
@@ -62,7 +62,7 @@ go.stdenv.mkDerivation (
     rmdir extraSrc
 
   '') + ''
-    GOPATH=$NIX_BUILD_TOP/go:$GOPATH
+    export GOPATH=$NIX_BUILD_TOP/go:$GOPATH
 
     runHook postConfigure
   '';
@@ -80,38 +80,39 @@ go.stdenv.mkDerivation (
 
     runHook renameImports
 
-    PIDS=()
-    if [ -n "$subPackages" ] ; then
-        for p in $subPackages ; do
-            go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p &
-            PIDS+=("$!")
-        done
-    else
-        pushd go/src
-        while read d; do
-          {
-            echo "$d" | grep -q "/_" && continue
-            [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && continue
-            local OUT
-            if ! OUT="$(go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $d 2>&1)"; then
-                if ! echo "$OUT" | grep -q 'no buildable Go source files'; then
-                    echo "$OUT" >&2
-                    exit 1
-                fi
-            fi
-            if [ -n "$OUT" ]; then
-              echo "$OUT" >&2
-            fi
-          } &
-          PIDS+=("$!")
-        done < <(find $goPackagePath -type f -name \*.go -exec dirname {} \; | sort | uniq)
-        popd
-    fi
-
-    # Exit on error from the parallel process
-    for PID in "''${PIDS[@]}"; do
-        wait $PID || exit 1
-    done
+    buildGoDir() {
+      local d; local cmd;
+      cmd="$1"
+      d="$2"
+      echo "$d" | grep -q "/_" && return 0
+      [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
+      local OUT
+      if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v $d 2>&1)"; then
+        if ! echo "$OUT" | grep -q 'no buildable Go source files'; then
+          echo "$OUT" >&2
+          return 1
+        fi
+      fi
+      if [ -n "$OUT" ]; then
+        echo "$OUT" >&2
+      fi
+      return 0
+    }
+
+    getGoDirs() {
+      local type;
+      type="$1"
+      if [ -n "$subPackages" ]; then
+        echo "$subPackages" | sed "s,\(^\| \),\1$goPackagePath/,g"
+      else
+        pushd go/src >/dev/null
+        find "$goPackagePath" -type f -name \*$type.go -exec dirname {} \; | sort | uniq
+        popd >/dev/null
+      fi
+    }
+
+    export -f buildGoDir # parallel needs to see the function
+    getGoDirs "" | parallel -j $NIX_BUILD_CORES buildGoDir install
 
     runHook postBuild
   '';
@@ -119,25 +120,7 @@ go.stdenv.mkDerivation (
   checkPhase = args.checkPhase or ''
     runHook preCheck
 
-    PIDS=()
-    if [ -n "$subPackages" ] ; then
-        for p in $subPackages ; do
-            go test -p $NIX_BUILD_CORES -v $goPackagePath/$p &
-            PIDS+=("$!")
-        done
-    else
-        pushd go/src
-        while read d; do
-            go test -p $NIX_BUILD_CORES -v $d &
-            PIDS+=("$!")
-        done < <(find $goPackagePath -type f -name \*_test.go -exec dirname {} \; | sort | uniq)
-        popd
-    fi
-
-    # Exit on error from the parallel process
-    for PID in "''${PIDS[@]}"; do
-        wait $PID || exit 1
-    done
+    getGoDirs test | parallel -j $NIX_BUILD_CORES buildGoDir test
 
     runHook postCheck
   '';
@@ -146,19 +129,17 @@ go.stdenv.mkDerivation (
     runHook preInstall
 
     mkdir -p $out
-
-    if [ -z "$dontInstallSrc" ]; then
-        pushd "$NIX_BUILD_TOP/go"
-        while read f; do
-          echo "$f" | grep -q '^./\(src\|pkg/[^/]*\)/${goPackagePath}' || continue
-          mkdir -p "$(dirname "$out/share/go/$f")"
-          cp "$NIX_BUILD_TOP/go/$f" "$out/share/go/$f"
-        done < <(find . -type f)
-        popd
-    fi
-
+    pushd "$NIX_BUILD_TOP/go"
+    while read f; do
+      echo "$f" | grep -q '^./\(src\|pkg/[^/]*\)/${goPackagePath}' || continue
+      mkdir -p "$(dirname "$out/share/go/$f")"
+      cp "$NIX_BUILD_TOP/go/$f" "$out/share/go/$f"
+    done < <(find . -type f)
+    popd
+
+    mkdir -p $bin
     dir="$NIX_BUILD_TOP/go/bin"
-    [ -e "$dir" ] && cp -r $dir $out
+    [ -e "$dir" ] && cp -r $dir $bin
 
     runHook postInstall
   '';
@@ -168,7 +149,7 @@ go.stdenv.mkDerivation (
       cat $file ${removeExpr removeReferences} > $file.tmp
       mv $file.tmp $file
       chmod +x $file
-    done < <(find $out/bin -type f 2>/dev/null)
+    done < <(find $bin/bin -type f 2>/dev/null)
   '';
 
   disallowedReferences = lib.optional (!allowGoReference) go
@@ -178,6 +159,9 @@ go.stdenv.mkDerivation (
 
   enableParallelBuilding = enableParallelBuilding;
 
+  # I prefer to call this dev but propagatedBuildInputs expects $out to exist
+  outputs = [ "out" "bin" ];
+
   meta = {
     # Add default meta information
     platforms = lib.platforms.all;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 5e135a999733..e107e0b14586 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -465,6 +465,7 @@ self: super: {
   static-resources = dontCheck super.static-resources;
   strive = dontCheck super.strive;                      # fails its own hlint test with tons of warnings
   svndump = dontCheck super.svndump;
+  tar = dontCheck super.tar; #http://hydra.nixos.org/build/25088435/nixlog/2 (fails only on 32-bit)
   thumbnail-plus = dontCheck super.thumbnail-plus;
   tickle = dontCheck super.tickle;
   tpdb = dontCheck super.tpdb;
@@ -1017,4 +1018,7 @@ self: super: {
   # https://github.com/brendanhay/amazonka/issues/203
   amazonka-core = dontCheck super.amazonka-core;
 
+  # https://github.com/agocorona/MFlow/issues/63
+  MFlow = addBuildTool super.MFlow self.cpphs;
+
 }
diff --git a/pkgs/development/libraries/getdata/default.nix b/pkgs/development/libraries/getdata/default.nix
index 464d2f66e454..e3dfc9fe0a90 100644
--- a/pkgs/development/libraries/getdata/default.nix
+++ b/pkgs/development/libraries/getdata/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
-  name = "getdata-0.8.8";
+  name = "getdata-0.8.9";
   src = fetchurl {
     url = "mirror://sourceforge/getdata/${name}.tar.bz2";
-    sha256 = "1p5sncbr0bjrx1ki57di0j9rl5ksv0hbfy7bkcb4vaz9z9mrn8xj";
+    sha256 = "1cgwrflpp9ia2cwnhmwp45nmsg15ymjh03pysrfigyfmag94ac51";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/qt-5/5.3/0014-mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.3/0014-mkspecs-libgl.patch
new file mode 100644
index 000000000000..94a031d12574
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3/0014-mkspecs-libgl.patch
@@ -0,0 +1,15 @@
+Ensure Qt knows where libGL is.
+
+Author: Bjørn Forsman <bjorn.forsman@gmail.com>
+diff -uNr qt-everywhere-opensource-src-5.3.2.orig/qtbase/mkspecs/common/linux.conf qt-everywhere-opensource-src-5.3.2/qtbase/mkspecs/common/linux.conf
+--- qt-everywhere-opensource-src-5.3.2.orig/qtbase/mkspecs/common/linux.conf	2014-09-11 12:48:07.000000000 +0200
++++ qt-everywhere-opensource-src-5.3.2/qtbase/mkspecs/common/linux.conf	2015-08-23 13:03:30.617473019 +0200
+@@ -13,7 +13,7 @@
+ QMAKE_INCDIR_X11        =
+ QMAKE_LIBDIR_X11        =
+ QMAKE_INCDIR_OPENGL     =
+-QMAKE_LIBDIR_OPENGL     =
++QMAKE_LIBDIR_OPENGL     = @mesa@/lib
+ QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+ QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+ QMAKE_INCDIR_EGL        =
diff --git a/pkgs/development/libraries/qt-5/5.3/default.nix b/pkgs/development/libraries/qt-5/5.3/default.nix
index 7f4e0b60c2d0..d1a049d78a72 100644
--- a/pkgs/development/libraries/qt-5/5.3/default.nix
+++ b/pkgs/development/libraries/qt-5/5.3/default.nix
@@ -81,7 +81,8 @@ stdenv.mkDerivation rec {
       (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
       (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
       ./0013-qtwebkit-glib-2.44.patch
-    ];
+    ] ++ optional mesaSupported
+      (substituteAll { src = ./0014-mkspecs-libgl.patch; inherit mesa; });
 
   preConfigure = ''
     export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
diff --git a/pkgs/development/libraries/qt-5/5.4/0014-mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.4/0014-mkspecs-libgl.patch
new file mode 100644
index 000000000000..94a031d12574
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.4/0014-mkspecs-libgl.patch
@@ -0,0 +1,15 @@
+Ensure Qt knows where libGL is.
+
+Author: Bjørn Forsman <bjorn.forsman@gmail.com>
+diff -uNr qt-everywhere-opensource-src-5.3.2.orig/qtbase/mkspecs/common/linux.conf qt-everywhere-opensource-src-5.3.2/qtbase/mkspecs/common/linux.conf
+--- qt-everywhere-opensource-src-5.3.2.orig/qtbase/mkspecs/common/linux.conf	2014-09-11 12:48:07.000000000 +0200
++++ qt-everywhere-opensource-src-5.3.2/qtbase/mkspecs/common/linux.conf	2015-08-23 13:03:30.617473019 +0200
+@@ -13,7 +13,7 @@
+ QMAKE_INCDIR_X11        =
+ QMAKE_LIBDIR_X11        =
+ QMAKE_INCDIR_OPENGL     =
+-QMAKE_LIBDIR_OPENGL     =
++QMAKE_LIBDIR_OPENGL     = @mesa@/lib
+ QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+ QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
+ QMAKE_INCDIR_EGL        =
diff --git a/pkgs/development/libraries/qt-5/5.4/qtbase.nix b/pkgs/development/libraries/qt-5/5.4/qtbase.nix
index 6ec57787e224..2e4a1c1c161a 100644
--- a/pkgs/development/libraries/qt-5/5.4/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/5.4/qtbase.nix
@@ -71,7 +71,8 @@ stdenv.mkDerivation {
       (substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
       (substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
       ./0013-xdg_config_dirs.patch
-    ]
+    ] ++ optional mesaSupported
+      (substituteAll { src = ./0014-mkspecs-libgl.patch; inherit mesa; })
     ++ (optional decryptSslTraffic ./0100-ssl.patch);
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/qt-5/qt-env.nix b/pkgs/development/libraries/qt-5/qt-env.nix
new file mode 100644
index 000000000000..01ddbf314282
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/qt-env.nix
@@ -0,0 +1,31 @@
+{ runCommand, lndir }:
+
+{ paths, qtbase }:
+
+runCommand "qt-env" { inherit paths qtbase; } ''
+
+mkdir -p "$out/bin" "$out/mkspecs" "$out/include" "$out/lib" "$out/share"
+
+cp "$qtbase/bin/qmake" "$out/bin"
+cat >"$out/bin/qt.conf" <<EOF
+[Paths]
+Prefix = $out
+Plugins = lib/qt5/plugins
+Imports = lib/qt5/imports
+Qml2Imports = lib/qt5/qml
+Documentation = share/doc/qt5
+EOF
+
+for path in $paths; do
+    if [[ -d "$path/mkspecs" ]]; then
+        ${lndir}/bin/lndir -silent "$path/mkspecs" "$out/mkspecs"
+
+        for dir in bin include lib share; do
+            if [[ -d "$path/$dir" ]]; then
+                ${lndir}/bin/lndir -silent "$path/$dir" "$out/$dir"
+            fi
+        done
+    fi
+done
+
+''
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index 199df25d5523..0f55d4ee9af6 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qtLib, sdkBuild ? false, withDocumentation ? true }:
+{ stdenv, fetchurl, makeWrapper, qtLib, withDocumentation ? false }:
 
 with stdenv.lib;
 
@@ -9,31 +9,21 @@ let
 in
 
 stdenv.mkDerivation rec {
-  # The package name depends on wether we are just building the QtCreator package or the whole Qt SDK
-  # If we are building the QtCreator package: qtcreator-version
-  # If we are building the QtSDK package, the Qt version is also included: qtsdk-version-qt-version
-  name = "qt${if sdkBuild then "sdk" else "creator"}-${version}"
-    + optionalString sdkBuild "-qt-${qtLib.version}";
+  name = "qtcreator-${version}";
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
     sha256 = "1asbfphws0aqs92gjgh0iqzr1911kg51r9al44jxpfk88yazjzgm";
   };
 
-  # This property can be used in a nix development environment to refer to the Qt package
-  # eg: export QTDIR=${qtSDK.qt}
-  qt = qtLib;
-
-  # We must only propagate Qt (including qmake) when building the QtSDK
-  propagatedBuildInputs = if sdkBuild then [ qtLib ] else [];
-  buildInputs = if sdkBuild == false then [ qtLib ] else [];
+  buildInputs = [ makeWrapper qtLib.base qtLib.script qtLib.quickcontrols qtLib.declarative ];
 
   doCheck = false;
 
   enableParallelBuilding = true;
 
   preConfigure = ''
-    qmake -spec linux-g++ "QT_PRIVATE_HEADERS=${qtLib}/include" qtcreator.pro
+    qmake -spec linux-g++ qtcreator.pro
   '';
 
   buildFlags = optionalString withDocumentation " docs";
@@ -54,6 +44,11 @@ stdenv.mkDerivation rec {
     Type=Application
     Categories=Qt;Development;IDE;
     __EOF__
+    # Wrap the qtcreator binary
+    wrapProgram $out/bin/qtcreator \
+      --prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
+      --prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
+      --prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH"
   '';
 
   meta = {
@@ -63,9 +58,9 @@ stdenv.mkDerivation rec {
       tailored to the needs of Qt developers. It includes features such as an
       advanced code editor, a visual debugger and a GUI designer.
     '';
-    homepage = "http://qt-project.org/wiki/Category:Tools::QtCreator";
+    homepage = "https://wiki.qt.io/Category:Tools::QtCreator";
     license = "LGPL";
-    maintainers = [ maintainers.bbenoist ];
+    maintainers = [ maintainers.akaWolf maintainers.bbenoist ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/web/iojs/default.nix b/pkgs/development/web/iojs/default.nix
index d60724846698..6a0c8ca512e8 100644
--- a/pkgs/development/web/iojs/default.nix
+++ b/pkgs/development/web/iojs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, utillinux, openssl_1_0_2, http-parser, zlib, libuv }:
 
 let
-  version = "3.0.0";
+  version = "3.1.0";
   inherit (stdenv.lib) optional maintainers licenses platforms;
 in stdenv.mkDerivation {
   name = "iojs-${version}";
 
   src = fetchurl {
     url = "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
-    sha256 = "0maxxmr6y7z3y3r88nhcnfzmpvbhs5p8knyz886bh2shgzd6nzqf";
+    sha256 = "15qh5pscg3588hyf4yfhma34gjkg87v5i4xzxj804g6m52m6y727";
   };
 
   prePatch = ''