Merge pull request #9343 from akaWolf/qtcreator

qtcreator: refactor for using qt54; qt4SDK, qt5SDK: commented
This commit is contained in:
Thomas Tuegel 2015-08-29 18:10:27 -05:00
commit fc0baf0ebe
3 changed files with 13 additions and 28 deletions

View File

@ -14,6 +14,7 @@
aflatter = "Alexander Flatter <flatter@fastmail.fm>";
aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";
ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
akaWolf = "Artjom Vejsel <akawolf0@gmail.com>";
akc = "Anders Claesson <akc@akc.is>";
algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
all = "Nix Committers <nix-commits@lists.science.uu.nl>";

View File

@ -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;
};
}

View File

@ -7977,11 +7977,6 @@ let
developerBuild = true;
});
qt4SDK = qtcreator.override {
sdkBuild = true;
qtLib = qt48Full;
};
qt53 = callPackage ../development/libraries/qt-5/5.3 {
mesa = mesa_noglu;
cups = if stdenv.isLinux then cups else null;
@ -8001,14 +7996,8 @@ let
paths = lib.filter (x: !(builtins.isFunction x)) (lib.attrValues qt5);
});
qt5SDK = qtcreator.override {
sdkBuild = true;
qtLib = qt5Full;
withDocumentation = true;
};
qtcreator = callPackage ../development/qtcreator {
qtLib = qt5Full; # 3.4 only supports qt5; TODO: use modularized qt>=5.4
qtLib = qt54;
withDocumentation = true;
};