qt5: factor out common definitions and remove symlink farm

The module definitions are factored out and shared between qt56 and qt59. The
symlink farm which was created during builds is no longer needed.
This commit is contained in:
Thomas Tuegel
2017-10-24 06:39:54 -05:00
parent 4866f16fba
commit fe0ab944db
92 changed files with 2985 additions and 1967 deletions

View File

@@ -0,0 +1,59 @@
{ lib, mkDerivation, perl }:
let inherit (lib) licenses maintainers platforms; in
{ self, srcs, patches }:
args:
let
inherit (args) name;
version = args.version or srcs."${name}".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 ];
platforms = platforms.unix;
} // (args.meta or {});
})