qt5: 5.10 -> 5.11

This is the first time since 5.9 that we also update `qtwebkit`.
`qtwebkit` is not maintained by Qt anymore and thus, we switch to the
community port as for example arch has done. To prevent pulling in
single patches, we just stick to the latest git version.
This commit is contained in:
Bastian Köcher
2018-06-12 14:27:11 +02:00
parent dbdad4b44b
commit b785d4813e
19 changed files with 456 additions and 542 deletions
@@ -191,7 +191,7 @@ stdenv.mkDerivation {
[
"-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
''-DNIXPKGS_LIBRESOLV="${stdenv.cc.libc.out}/lib/libresolv"''
''-D${if compareVersion "5.11.0" >= 0 then "LIBRESOLV_SO" else "NIXPKGS_LIBRESOLV"}="${stdenv.cc.libc.out}/lib/libresolv"''
''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
]
@@ -243,10 +243,13 @@ stdenv.mkDerivation {
"-gui"
"-widgets"
"-opengl desktop"
"-qml-debug"
"-icu"
"-pch"
]
++ lib.optionals (compareVersion "5.11.0" < 0)
[
"-qml-debug"
]
++ lib.optionals (compareVersion "5.9.0" < 0)
[
"-c++11"
@@ -387,7 +390,7 @@ stdenv.mkDerivation {
homepage = http://www.qt.io;
description = "A cross-platform application framework for C++";
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
maintainers = with maintainers; [ qknight ttuegel periklis ];
maintainers = with maintainers; [ qknight ttuegel periklis bkchr ];
platforms = platforms.unix;
};
@@ -10,6 +10,7 @@ qtModule {
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\""
'';
configureFlags = lib.optionals (lib.versionAtLeast qtbase.version "5.11.0") [ "-qml-debug" ];
devTools = [
"bin/qml"
"bin/qmlcachegen"
@@ -1,23 +1,40 @@
{ qtModule, stdenv, lib
, qtbase, qtdeclarative, qtlocation, qtsensors
{ qtModule, stdenv, lib, fetchurl
, qtbase, qtdeclarative, qtlocation, qtsensors, qtwebchannel
, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
, sqlite, systemd, glib, gst_all_1
, sqlite, systemd, glib, gst_all_1, cmake
, bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
, darwin
, substituteAll
, flashplayerFix ? false
, src ? null
, version ? null
}:
let inherit (lib) optional optionals getLib; in
let
inherit (lib) optional optionals getLib;
hyphen = stdenv.mkDerivation rec {
name = "hyphen-2.8.8";
src = fetchurl {
url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-${name}.tar.gz";
sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
};
buildInputs = [ perl ];
};
in
qtModule {
name = "qtwebkit";
qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ];
qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ qtwebchannel ];
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ]);
++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ])
++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ hyphen ];
nativeBuildInputs = [
bison2 flex gdb gperf perl pkgconfig python2 ruby
];
] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ cmake ];
cmakeFlags = optionals (lib.versionAtLeast qtbase.version "5.11.0") [ "-DPORT=Qt" ];
inherit src;
inherit version;
__impureHostDeps = optionals (stdenv.isDarwin) [
"/usr/lib/libicucore.dylib"