nixpkgs/pkgs/development/libraries/qt-5/qtModule.nix
Bastian Köcher b785d4813e 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.
2018-06-12 14:27:11 +02:00

60 lines
1.6 KiB
Nix

{ lib, mkDerivation, perl }:
let inherit (lib) licenses maintainers platforms; in
{ self, srcs, patches }:
args:
let
inherit (args) name;
version = if (args.version or null) == null then srcs."${name}".version else args.version;
src = args.src or srcs."${name}".src;
in
mkDerivation (args // {
name = "${name}-${version}";
inherit src;
patches = args.patches or patches."${name}" or [];
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl self.qmake ];
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
outputs = args.outputs or [ "out" "dev" ];
setOutputFlags = args.setOutputFlags or false;
preHook = ''
. ${./hooks/move-qt-dev-tools.sh}
. ${./hooks/fix-qt-builtin-paths.sh}
'';
preConfigure = ''
${args.preConfigure or ""}
fixQtBuiltinPaths . '*.pr?'
'';
postFixup = ''
if [ -d "''${!outputDev}/lib/pkgconfig" ]; then
find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do
sed -i "$pc" \
-e "/^prefix=/ c prefix=''${!outputLib}" \
-e "/^exec_prefix=/ c exec_prefix=''${!outputBin}" \
-e "/^includedir=/ c includedir=''${!outputDev}/include"
done
fi
moveQtDevTools
${args.postFixup or ""}
'';
meta = {
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 bkchr ];
platforms = platforms.unix;
} // (args.meta or {});
})