Merge #12740: multiple outputs for Qt 5 and KDE 5
This commit is contained in:
commit
d3a3aa8674
@ -55,12 +55,12 @@ in
|
|||||||
services.xserver.desktopManager.session = singleton {
|
services.xserver.desktopManager.session = singleton {
|
||||||
name = "kde5";
|
name = "kde5";
|
||||||
bgSupport = true;
|
bgSupport = true;
|
||||||
start = ''exec ${kde5.plasma-workspace}/bin/startkde;'';
|
start = ''exec startkde;'';
|
||||||
};
|
};
|
||||||
|
|
||||||
security.setuidOwners = singleton {
|
security.setuidOwners = singleton {
|
||||||
program = "kcheckpass";
|
program = "kcheckpass";
|
||||||
source = "${kde5.plasma-workspace}/lib/libexec/kcheckpass";
|
source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass";
|
||||||
owner = "root";
|
owner = "root";
|
||||||
group = "root";
|
group = "root";
|
||||||
setuid = true;
|
setuid = true;
|
||||||
@ -168,12 +168,12 @@ in
|
|||||||
|
|
||||||
# Enable GTK applications to load SVG icons
|
# Enable GTK applications to load SVG icons
|
||||||
environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) {
|
environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) {
|
||||||
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
|
GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];
|
fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ];
|
||||||
|
|
||||||
programs.ssh.askPassword = "${kde5.ksshaskpass}/bin/ksshaskpass";
|
programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass";
|
||||||
|
|
||||||
# Enable helpful DBus services.
|
# Enable helpful DBus services.
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl_1_0_1, freetype
|
{ fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl_1_0_1, freetype
|
||||||
, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
|
, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf
|
||||||
, libgcrypt, udev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }:
|
, libgcrypt, libudev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }:
|
||||||
|
|
||||||
assert stdenv.system == "x86_64-linux";
|
assert stdenv.system == "x86_64-linux";
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ let
|
|||||||
nss
|
nss
|
||||||
pango
|
pango
|
||||||
stdenv.cc.cc
|
stdenv.cc.cc
|
||||||
udev
|
libudev
|
||||||
xorg.libX11
|
xorg.libX11
|
||||||
xorg.libXcomposite
|
xorg.libXcomposite
|
||||||
xorg.libXcursor
|
xorg.libXcursor
|
||||||
|
@ -72,7 +72,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
nativeBuildInputs = [ lndir makeQtWrapper ];
|
nativeBuildInputs = [ lndir makeQtWrapper ];
|
||||||
buildInputs = [ unwrapped ] ++ themes;
|
buildInputs = [ unwrapped ] ++ themes;
|
||||||
inherit themes;
|
themes = map (pkg: pkg.out or pkg) themes;
|
||||||
inherit unwrapped;
|
inherit unwrapped;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
@ -81,7 +81,7 @@ stdenv.mkDerivation {
|
|||||||
mkdir -p "$out/share/sddm"
|
mkdir -p "$out/share/sddm"
|
||||||
for pkg in $unwrapped $themes; do
|
for pkg in $unwrapped $themes; do
|
||||||
local sddmDir="$pkg/share/sddm"
|
local sddmDir="$pkg/share/sddm"
|
||||||
if [[ -d "$sddmDir" ]]; then
|
if [ -d "$sddmDir" ]; then
|
||||||
lndir -silent "$sddmDir" "$out/share/sddm"
|
lndir -silent "$sddmDir" "$out/share/sddm"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -11,6 +11,8 @@ stdenv.mkDerivation (args // {
|
|||||||
name = "${name}-${version}";
|
name = "${name}-${version}";
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
|
outputs = args.outputs or [ "dev" "out" ];
|
||||||
|
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
(args.cmakeFlags or [])
|
(args.cmakeFlags or [])
|
||||||
++ [ "-DBUILD_TESTING=OFF" ]
|
++ [ "-DBUILD_TESTING=OFF" ]
|
||||||
|
@ -6,6 +6,8 @@ kdeApp (args // {
|
|||||||
sname = "kde-l10n-${name}";
|
sname = "kde-l10n-${name}";
|
||||||
name = "kde-l10n-${name}-qt4";
|
name = "kde-l10n-${name}-qt4";
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
[ automoc4 cmake gettext perl ]
|
[ automoc4 cmake gettext perl ]
|
||||||
++ (args.nativeBuildInputs or []);
|
++ (args.nativeBuildInputs or []);
|
||||||
@ -17,4 +19,9 @@ kdeApp (args // {
|
|||||||
sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt
|
sed -e 's/add_subdirectory(5)//' -i CMakeLists.txt
|
||||||
${args.preConfigure or ""}
|
${args.preConfigure or ""}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
propagatedBuildInputs=
|
||||||
|
propagatedNativeBuildInputs=
|
||||||
|
'';
|
||||||
})
|
})
|
||||||
|
@ -6,6 +6,8 @@ kdeApp (args // {
|
|||||||
sname = "kde-l10n-${name}";
|
sname = "kde-l10n-${name}";
|
||||||
name = "kde-l10n-${name}-qt5";
|
name = "kde-l10n-${name}-qt5";
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
[ cmake extra-cmake-modules gettext kdoctools ]
|
[ cmake extra-cmake-modules gettext kdoctools ]
|
||||||
++ (args.nativeBuildInputs or []);
|
++ (args.nativeBuildInputs or []);
|
||||||
@ -14,4 +16,9 @@ kdeApp (args // {
|
|||||||
sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt
|
sed -e 's/add_subdirectory(4)//' -i CMakeLists.txt
|
||||||
${args.preConfigure or ""}
|
${args.preConfigure or ""}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
propagatedBuildInputs=
|
||||||
|
propagatedNativeBuildInputs=
|
||||||
|
'';
|
||||||
})
|
})
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
kdeApp {
|
kdeApp {
|
||||||
name = "kdelibs";
|
name = "kdelibs";
|
||||||
|
|
||||||
|
outputs = [ "out" ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
|
attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
|
||||||
polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre
|
polkit_qt4 qca2 shared_desktop_ontologies udev xz pcre
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
|
{ stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
|
||||||
, libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
|
, libpng, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
|
||||||
, dbus_glib, alsaLib, libpulseaudio, udev, pango
|
, dbus_glib, alsaLib, libpulseaudio, libudev, pango
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -36,7 +36,7 @@ let
|
|||||||
alsaLib
|
alsaLib
|
||||||
libpulseaudio
|
libpulseaudio
|
||||||
dbus_glib
|
dbus_glib
|
||||||
udev
|
libudev
|
||||||
curl
|
curl
|
||||||
pango
|
pango
|
||||||
cairo
|
cairo
|
||||||
|
@ -26,7 +26,7 @@ let
|
|||||||
name = "${name}-${version}";
|
name = "${name}-${version}";
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
setupHook = args.setupHook or ./setup-hook.sh;
|
outputs = args.outputs or [ "dev" "out" ];
|
||||||
|
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
(args.cmakeFlags or [])
|
(args.cmakeFlags or [])
|
||||||
@ -48,8 +48,11 @@ let
|
|||||||
breeze-qt4 = callPackage ./breeze-qt4.nix {};
|
breeze-qt4 = callPackage ./breeze-qt4.nix {};
|
||||||
breeze-qt5 = callPackage ./breeze-qt5.nix {};
|
breeze-qt5 = callPackage ./breeze-qt5.nix {};
|
||||||
breeze =
|
breeze =
|
||||||
let version = (builtins.parseDrvName breeze-qt5.name).version;
|
let
|
||||||
in symlinkJoin "breeze-${version}" [ breeze-gtk breeze-qt4 breeze-qt5 ];
|
version = (builtins.parseDrvName breeze-qt5.name).version;
|
||||||
|
in
|
||||||
|
symlinkJoin "breeze-${version}"
|
||||||
|
(map (pkg: pkg.out or pkg) [ breeze-gtk breeze-qt4 breeze-qt5 ]);
|
||||||
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
|
kde-cli-tools = callPackage ./kde-cli-tools.nix {};
|
||||||
kde-gtk-config = callPackage ./kde-gtk-config {};
|
kde-gtk-config = callPackage ./kde-gtk-config {};
|
||||||
kdecoration = callPackage ./kdecoration.nix {};
|
kdecoration = callPackage ./kdecoration.nix {};
|
||||||
|
@ -22,7 +22,7 @@ plasmaPackage {
|
|||||||
];
|
];
|
||||||
propagatedBuildInputs = [ ki18n kio ];
|
propagatedBuildInputs = [ ki18n kio ];
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib}/lib/glib-2.0/include"
|
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
|
||||||
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2}/lib/gtk-2.0/include"
|
"-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -23,11 +23,6 @@ plasmaPackage {
|
|||||||
qtdeclarative
|
qtdeclarative
|
||||||
qtgraphicaleffects
|
qtgraphicaleffects
|
||||||
];
|
];
|
||||||
propagatedUserEnvPkgs = [
|
|
||||||
libkscreen # D-Bus service
|
|
||||||
qtdeclarative # QML import
|
|
||||||
qtgraphicaleffects # QML import
|
|
||||||
];
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapQtProgram "$out/bin/kscreen-console"
|
wrapQtProgram "$out/bin/kscreen-console"
|
||||||
'';
|
'';
|
||||||
|
@ -60,9 +60,6 @@ plasmaPackage rec {
|
|||||||
qtquickcontrols
|
qtquickcontrols
|
||||||
qtx11extras
|
qtx11extras
|
||||||
];
|
];
|
||||||
# All propagatedBuildInputs should be present in the profile because
|
|
||||||
# wrappers cannot be used here.
|
|
||||||
propagatedUserEnvPkgs = propagatedBuildInputs;
|
|
||||||
patches = [
|
patches = [
|
||||||
./0001-qt-5.5-QML-import-paths.patch
|
./0001-qt-5.5-QML-import-paths.patch
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
|
@ -17,7 +17,4 @@ plasmaPackage rec {
|
|||||||
baloo kactivities kdeclarative kfilemetadata ki18n kio
|
baloo kactivities kdeclarative kfilemetadata ki18n kio
|
||||||
plasma-framework
|
plasma-framework
|
||||||
];
|
];
|
||||||
# All propagatedBuildInputs should be present in the profile because
|
|
||||||
# wrappers cannot be used here.
|
|
||||||
propagatedUserEnvPkgs = propagatedBuildInputs;
|
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
, xprop, xrdb, xset, xsetroot, solid, qtquickcontrols
|
, xprop, xrdb, xset, xsetroot, solid, qtquickcontrols
|
||||||
}:
|
}:
|
||||||
|
|
||||||
plasmaPackage rec {
|
plasmaPackage {
|
||||||
name = "plasma-workspace";
|
name = "plasma-workspace";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -20,10 +20,11 @@ plasmaPackage rec {
|
|||||||
makeQtWrapper
|
makeQtWrapper
|
||||||
];
|
];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
kcmutils kcrash kdbusaddons kdesu kdewebkit kjsembed knewstuff
|
dbus_tools kcmutils kconfig kcrash kdbusaddons kdesu kdewebkit
|
||||||
knotifyconfig kpackage ktextwidgets kwallet kwayland kxmlrpcclient
|
kinit kjsembed knewstuff knotifyconfig kpackage kservice
|
||||||
libdbusmenu libSM libXcursor networkmanager-qt pam phonon
|
ktextwidgets kwallet kwayland kxmlrpcclient libdbusmenu libSM
|
||||||
qtscript wayland
|
libXcursor mkfontdir networkmanager-qt pam phonon qtscript qttools
|
||||||
|
socat wayland xmessage xprop xset xsetroot
|
||||||
];
|
];
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
baloo kactivities kdeclarative kdelibs4support kglobalaccel
|
baloo kactivities kdeclarative kdelibs4support kglobalaccel
|
||||||
@ -32,13 +33,31 @@ plasmaPackage rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||||
inherit bash coreutils gnused gnugrep socat;
|
|
||||||
inherit kconfig kinit kservice qttools;
|
|
||||||
inherit dbus_tools mkfontdir xmessage xprop xrdb xset xsetroot;
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteAllInPlace startkde/startkde.cmake
|
substituteInPlace startkde/startkde.cmake \
|
||||||
|
--subst-var-by bash $(type -P bash) \
|
||||||
|
--subst-var-by sed $(type -P sed) \
|
||||||
|
--subst-var-by grep $(type -P grep) \
|
||||||
|
--subst-var-by socat $(type -P socat) \
|
||||||
|
--subst-var-by kcheckrunning $(type -P kcheckrunning) \
|
||||||
|
--subst-var-by xmessage $(type -P xmessage) \
|
||||||
|
--subst-var-by tr $(type -P tr) \
|
||||||
|
--subst-var-by qtpaths $(type -P qtpaths) \
|
||||||
|
--subst-var-by qdbus $(type -P qdbus) \
|
||||||
|
--subst-var-by dbus-launch $(type -P dbus-launch) \
|
||||||
|
--subst-var-by mkfontdir $(type -P mkfontdir) \
|
||||||
|
--subst-var-by xset $(type -P xset) \
|
||||||
|
--subst-var-by xsetroot $(type -P xsetroot) \
|
||||||
|
--subst-var-by xprop $(type -P xprop) \
|
||||||
|
--subst-var-by start_kdeinit_wrapper "${kinit.out}/lib/libexec/kf5/start_kdeinit_wrapper" \
|
||||||
|
--subst-var-by kwrapper5 $(type -P kwrapper5) \
|
||||||
|
--subst-var-by kdeinit5_shutdown $(type -P kdeinit5_shutdown) \
|
||||||
|
--subst-var-by kbuildsycoca5 $(type -P kbuildsycoca5) \
|
||||||
|
--subst-var-by kreadconfig5 $(type -P kreadconfig5) \
|
||||||
|
--subst-var out
|
||||||
substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
|
substituteInPlace startkde/kstartupconfig/kstartupconfig.cpp \
|
||||||
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
|
--replace kdostartupconfig5 $out/bin/kdostartupconfig5
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -4,7 +4,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
+++ plasma-workspace-5.5.1/startkde/startkde.cmake
|
+++ plasma-workspace-5.5.1/startkde/startkde.cmake
|
||||||
@@ -1,8 +1,31 @@
|
@@ -1,8 +1,31 @@
|
||||||
-#!/bin/sh
|
-#!/bin/sh
|
||||||
+#!@bash@/bin/bash
|
+#!@bash@
|
||||||
#
|
#
|
||||||
# DEFAULT KDE STARTUP SCRIPT ( @PROJECT_VERSION@ )
|
# DEFAULT KDE STARTUP SCRIPT ( @PROJECT_VERSION@ )
|
||||||
#
|
#
|
||||||
@ -29,7 +29,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
+# in Trolltech.conf. A better solution would be to stop
|
+# in Trolltech.conf. A better solution would be to stop
|
||||||
+# Qt from doing this wackiness in the first place.
|
+# Qt from doing this wackiness in the first place.
|
||||||
+if [ -e $HOME/.config/Trolltech.conf ]; then
|
+if [ -e $HOME/.config/Trolltech.conf ]; then
|
||||||
+ @gnused@/bin/sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
|
+ @sed@ -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
|
||||||
+fi
|
+fi
|
||||||
+
|
+
|
||||||
if test "x$1" = x--failsafe; then
|
if test "x$1" = x--failsafe; then
|
||||||
@ -54,13 +54,13 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
-
|
-
|
||||||
# Check if a KDE session already is running and whether it's possible to connect to X
|
# Check if a KDE session already is running and whether it's possible to connect to X
|
||||||
-kcheckrunning
|
-kcheckrunning
|
||||||
+@out@/bin/kcheckrunning
|
+@kcheckrunning@
|
||||||
kcheckrunning_result=$?
|
kcheckrunning_result=$?
|
||||||
if test $kcheckrunning_result -eq 0 ; then
|
if test $kcheckrunning_result -eq 0 ; then
|
||||||
- echo "KDE seems to be already running on this display."
|
- echo "KDE seems to be already running on this display."
|
||||||
- xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null
|
- xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null
|
||||||
+ echo "KDE seems to be already running on this display."
|
+ echo "KDE seems to be already running on this display."
|
||||||
+ @xmessage@/bin/xmessage -geometry 500x100 "KDE seems to be already running on this display."
|
+ @xmessage@ -geometry 500x100 "KDE seems to be already running on this display."
|
||||||
exit 1
|
exit 1
|
||||||
elif test $kcheckrunning_result -eq 2 ; then
|
elif test $kcheckrunning_result -eq 2 ; then
|
||||||
echo "\$DISPLAY is not set or cannot connect to the X server."
|
echo "\$DISPLAY is not set or cannot connect to the X server."
|
||||||
@ -80,7 +80,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
-fi
|
-fi
|
||||||
-
|
-
|
||||||
-mkdir -p $configDir
|
-mkdir -p $configDir
|
||||||
+configDir=$(@qttools@/bin/qtpaths --writable-path GenericConfigLocation)
|
+configDir=$(@qtpaths@ --writable-path GenericConfigLocation)
|
||||||
+mkdir -p "$configDir"
|
+mkdir -p "$configDir"
|
||||||
|
|
||||||
#This is basically setting defaults so we can use them with kstartupconfig5
|
#This is basically setting defaults so we can use them with kstartupconfig5
|
||||||
@ -126,7 +126,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
returncode=$?
|
returncode=$?
|
||||||
if test $returncode -ne 0; then
|
if test $returncode -ne 0; then
|
||||||
- xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
|
- xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
|
||||||
+ @xmessage@/bin/xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
|
+ @xmessage@ -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
[ -r $configDir/startupconfig ] && . $configDir/startupconfig
|
[ -r $configDir/startupconfig ] && . $configDir/startupconfig
|
||||||
@ -134,7 +134,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor
|
export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor
|
||||||
fi
|
fi
|
||||||
|
|
||||||
+XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @coreutils@/bin/tr ":" "\n" | @gnused@/bin/sed 's,$,/icons,g' | @coreutils@/bin/tr "\n" ":")
|
+XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @tr@ ":" "\n" | @sed@ 's,$,/icons,g' | @tr@ "\n" ":")
|
||||||
+export XCURSOR_PATH
|
+export XCURSOR_PATH
|
||||||
+
|
+
|
||||||
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
|
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver
|
||||||
@ -160,7 +160,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
+# If the user has overwritten fonts, the cursor font may be different now
|
+# If the user has overwritten fonts, the cursor font may be different now
|
||||||
+# so don't move this up.
|
+# so don't move this up.
|
||||||
+#
|
+#
|
||||||
+@xsetroot@/bin/xsetroot -cursor_name left_ptr
|
+@xsetroot@ -cursor_name left_ptr
|
||||||
|
|
||||||
dl=$DESKTOP_LOCKED
|
dl=$DESKTOP_LOCKED
|
||||||
unset DESKTOP_LOCKED # Don't want it in the environment
|
unset DESKTOP_LOCKED # Don't want it in the environment
|
||||||
@ -168,14 +168,14 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
+# Make sure that D-Bus is running
|
+# Make sure that D-Bus is running
|
||||||
+# D-Bus autolaunch is broken
|
+# D-Bus autolaunch is broken
|
||||||
+if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
|
+if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
|
||||||
+ eval `@dbus_tools@/bin/dbus-launch --sh-syntax --exit-with-session`
|
+ eval `@dbus-launch@ --sh-syntax --exit-with-session`
|
||||||
+fi
|
+fi
|
||||||
+if @qttools@/bin/qdbus >/dev/null 2>/dev/null; then
|
+if @qdbus@ >/dev/null 2>/dev/null; then
|
||||||
+ : # ok
|
+ : # ok
|
||||||
+else
|
+else
|
||||||
+ echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2
|
+ echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2
|
||||||
+ test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
+ test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
||||||
+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
|
+ @xmessage@ -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
|
||||||
+ exit 1
|
+ exit 1
|
||||||
+fi
|
+fi
|
||||||
+
|
+
|
||||||
@ -195,7 +195,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
|
|
||||||
-# TODO: Use GenericConfigLocation once we depend on Qt 5.4
|
-# TODO: Use GenericConfigLocation once we depend on Qt 5.4
|
||||||
-scriptpath=`qtpaths --paths ConfigLocation | tr ':' '\n' | sed 's,$,/plasma-workspace,g'`
|
-scriptpath=`qtpaths --paths ConfigLocation | tr ':' '\n' | sed 's,$,/plasma-workspace,g'`
|
||||||
+scriptpath=$(@qttools@/bin/qtpaths --paths GenericConfigLocation | tr ':' '\n' | @gnused@/bin/sed 's,$,/plasma-workspace,g')
|
+scriptpath=$(@qtpaths@ --paths GenericConfigLocation | tr ':' '\n' | @sed@ 's,$,/plasma-workspace,g')
|
||||||
|
|
||||||
# Add /env/ to the directory to locate the scripts to be sourced
|
# Add /env/ to the directory to locate the scripts to be sourced
|
||||||
for prefix in `echo $scriptpath`; do
|
for prefix in `echo $scriptpath`; do
|
||||||
@ -204,7 +204,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
|
|
||||||
if test -n "$KDEDIRS"; then
|
if test -n "$KDEDIRS"; then
|
||||||
- kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
|
- kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
|
||||||
+ kdedirs_first=`echo "$KDEDIRS" | @gnused@/bin/sed -e 's/:.*//'`
|
+ kdedirs_first=`echo "$KDEDIRS" | @sed@ -e 's/:.*//'`
|
||||||
sys_odir=$kdedirs_first/share/fonts/override
|
sys_odir=$kdedirs_first/share/fonts/override
|
||||||
sys_fdir=$kdedirs_first/share/fonts
|
sys_fdir=$kdedirs_first/share/fonts
|
||||||
else
|
else
|
||||||
@ -216,10 +216,10 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
-test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir")
|
-test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir")
|
||||||
-test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir")
|
-test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir")
|
||||||
-test -d "$sys_fdir" && xset fp+ "$sys_fdir"
|
-test -d "$sys_fdir" && xset fp+ "$sys_fdir"
|
||||||
+test -d "$sys_odir" && @xset@/bin/xset +fp "$sys_odir"
|
+test -d "$sys_odir" && @xset@ +fp "$sys_odir"
|
||||||
+test -d "$usr_odir" && ( @mkfontdir@/bin/mkfontdir "$usr_odir" ; @xset@/bin/xset +fp "$usr_odir" )
|
+test -d "$usr_odir" && ( @mkfontdir@ "$usr_odir" ; @xset@ +fp "$usr_odir" )
|
||||||
+test -d "$usr_fdir" && ( @mkfontdir@/bin/mkfontdir "$usr_fdir" ; @xset@/bin/xset fp+ "$usr_fdir" )
|
+test -d "$usr_fdir" && ( @mkfontdir@ "$usr_fdir" ; @xset@ fp+ "$usr_fdir" )
|
||||||
+test -d "$sys_fdir" && @xset@/bin/xset fp+ "$sys_fdir"
|
+test -d "$sys_fdir" && @xset@ fp+ "$sys_fdir"
|
||||||
|
|
||||||
# Ask X11 to rebuild its font list.
|
# Ask X11 to rebuild its font list.
|
||||||
-xset fp rehash
|
-xset fp rehash
|
||||||
@ -233,7 +233,7 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
-# so don't move this up.
|
-# so don't move this up.
|
||||||
-#
|
-#
|
||||||
-xsetroot -cursor_name left_ptr
|
-xsetroot -cursor_name left_ptr
|
||||||
+@xset@/bin/xset fp rehash
|
+@xset@ fp rehash
|
||||||
|
|
||||||
# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
|
# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
|
||||||
if test -n "$GS_LIB" ; then
|
if test -n "$GS_LIB" ; then
|
||||||
@ -269,12 +269,12 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
KDE_FULL_SESSION=true
|
KDE_FULL_SESSION=true
|
||||||
export KDE_FULL_SESSION
|
export KDE_FULL_SESSION
|
||||||
-xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
|
-xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
|
||||||
+@xprop@/bin/xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
|
+@xprop@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
|
||||||
|
|
||||||
KDE_SESSION_VERSION=5
|
KDE_SESSION_VERSION=5
|
||||||
export KDE_SESSION_VERSION
|
export KDE_SESSION_VERSION
|
||||||
-xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
|
-xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
|
||||||
+@xprop@/bin/xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
|
+@xprop@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
|
||||||
|
|
||||||
KDE_SESSION_UID=`id -ru`
|
KDE_SESSION_UID=`id -ru`
|
||||||
export KDE_SESSION_UID
|
export KDE_SESSION_UID
|
||||||
@ -283,12 +283,12 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
# At this point all the environment is ready, let's send it to kwalletd if running
|
# At this point all the environment is ready, let's send it to kwalletd if running
|
||||||
if test -n "$PAM_KWALLET_LOGIN" ; then
|
if test -n "$PAM_KWALLET_LOGIN" ; then
|
||||||
- env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
|
- env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
|
||||||
+ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
|
+ env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
|
||||||
fi
|
fi
|
||||||
# ...and also to kwalletd5
|
# ...and also to kwalletd5
|
||||||
if test -n "$PAM_KWALLET5_LOGIN" ; then
|
if test -n "$PAM_KWALLET5_LOGIN" ; then
|
||||||
- env | socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN
|
- env | socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN
|
||||||
+ env | @socat@/bin/socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN
|
+ env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
|
# At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
|
||||||
@ -297,27 +297,27 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
echo 'startkde: Could not sync environment to dbus.' 1>&2
|
echo 'startkde: Could not sync environment to dbus.' 1>&2
|
||||||
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
||||||
- xmessage -geometry 500x100 "Could not sync environment to dbus."
|
- xmessage -geometry 500x100 "Could not sync environment to dbus."
|
||||||
+ @xmessage@/bin/xmessage -geometry 500x100 "Could not sync environment to dbus."
|
+ @xmessage@ -geometry 500x100 "Could not sync environment to dbus."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We set LD_BIND_NOW to increase the efficiency of kdeinit.
|
# We set LD_BIND_NOW to increase the efficiency of kdeinit.
|
||||||
# kdeinit unsets this variable before loading applications.
|
# kdeinit unsets this variable before loading applications.
|
||||||
-LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
|
-LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
|
||||||
+LD_BIND_NOW=true @kinit@/lib/libexec/kf5/start_kdeinit_wrapper --kded +kcminit_startup
|
+LD_BIND_NOW=true @start_kdeinit_wrapper@ --kded +kcminit_startup
|
||||||
if test $? -ne 0; then
|
if test $? -ne 0; then
|
||||||
# Startup error
|
# Startup error
|
||||||
echo 'startkde: Could not start kdeinit5. Check your installation.' 1>&2
|
echo 'startkde: Could not start kdeinit5. Check your installation.' 1>&2
|
||||||
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
||||||
- xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
|
- xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
|
||||||
+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
|
+ @xmessage@ -geometry 500x100 "Could not start kdeinit5. Check your installation."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
+# (NixOS) We run kbuildsycoca5 before starting the user session because things
|
+# (NixOS) We run kbuildsycoca5 before starting the user session because things
|
||||||
+# may be missing or moved if they have run nixos-rebuild and it may not be
|
+# may be missing or moved if they have run nixos-rebuild and it may not be
|
||||||
+# possible for them to start Konsole to run it manually!
|
+# possible for them to start Konsole to run it manually!
|
||||||
+@kservice@/bin/kbuildsycoca5
|
+@kbuildsycoca5@
|
||||||
+
|
+
|
||||||
# finally, give the session control to the session manager
|
# finally, give the session control to the session manager
|
||||||
# see kdebase/ksmserver for the description of the rest of the startup sequence
|
# see kdebase/ksmserver for the description of the rest of the startup sequence
|
||||||
@ -327,33 +327,33 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
KSMSERVEROPTIONS=""
|
KSMSERVEROPTIONS=""
|
||||||
test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen"
|
test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen"
|
||||||
-kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
|
-kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
|
||||||
+@kinit@/bin/kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
|
+@kwrapper5@ @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
|
||||||
if test $? -eq 255; then
|
if test $? -eq 255; then
|
||||||
# Startup error
|
# Startup error
|
||||||
echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2
|
echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2
|
||||||
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
|
||||||
- xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
|
- xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
|
||||||
+ @xmessage@/bin/xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
|
+ @xmessage@ -geometry 500x100 "Could not start ksmserver. Check your installation."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
-wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
|
-wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
|
||||||
+wait_drkonqi=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
|
+wait_drkonqi=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true`
|
||||||
|
|
||||||
if test x"$wait_drkonqi"x = x"true"x ; then
|
if test x"$wait_drkonqi"x = x"true"x ; then
|
||||||
# wait for remaining drkonqi instances with timeout (in seconds)
|
# wait for remaining drkonqi instances with timeout (in seconds)
|
||||||
- wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
|
- wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
|
||||||
+ wait_drkonqi_timeout=`@kconfig@/bin/kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
|
+ wait_drkonqi_timeout=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
|
||||||
wait_drkonqi_counter=0
|
wait_drkonqi_counter=0
|
||||||
- while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
|
- while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
|
||||||
+ while @qttools@/bin/qdbus | @gnugrep@/bin/grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
|
+ while @qdbus@ | @grep@ "^[^w]*org.kde.drkonqi" > /dev/null ; do
|
||||||
sleep 5
|
sleep 5
|
||||||
wait_drkonqi_counter=$((wait_drkonqi_counter+5))
|
wait_drkonqi_counter=$((wait_drkonqi_counter+5))
|
||||||
if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
|
if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
|
||||||
# ask remaining drkonqis to die in a graceful way
|
# ask remaining drkonqis to die in a graceful way
|
||||||
- $qdbus | grep 'org.kde.drkonqi-' | while read address ; do
|
- $qdbus | grep 'org.kde.drkonqi-' | while read address ; do
|
||||||
- $qdbus "$address" "/MainApplication" "quit"
|
- $qdbus "$address" "/MainApplication" "quit"
|
||||||
+ @qttools@/bin/qdbus | @gnugrep@/bin/grep 'org.kde.drkonqi-' | while read address ; do
|
+ @qdbus@ | @grep@ 'org.kde.drkonqi-' | while read address ; do
|
||||||
+ @qttools@/bin/qdbus "$address" "/MainApplication" "quit"
|
+ @qdbus@ "$address" "/MainApplication" "quit"
|
||||||
done
|
done
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@ -362,14 +362,14 @@ Index: plasma-workspace-5.5.1/startkde/startkde.cmake
|
|||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
-kdeinit5_shutdown
|
-kdeinit5_shutdown
|
||||||
+@kinit@/bin/kdeinit5_shutdown
|
+@kdeinit5_shutdown@
|
||||||
|
|
||||||
unset KDE_FULL_SESSION
|
unset KDE_FULL_SESSION
|
||||||
-xprop -root -remove KDE_FULL_SESSION
|
-xprop -root -remove KDE_FULL_SESSION
|
||||||
+@xprop@/bin/xprop -root -remove KDE_FULL_SESSION
|
+@xprop@ -root -remove KDE_FULL_SESSION
|
||||||
unset KDE_SESSION_VERSION
|
unset KDE_SESSION_VERSION
|
||||||
-xprop -root -remove KDE_SESSION_VERSION
|
-xprop -root -remove KDE_SESSION_VERSION
|
||||||
+@xprop@/bin/xprop -root -remove KDE_SESSION_VERSION
|
+@xprop@ -root -remove KDE_SESSION_VERSION
|
||||||
unset KDE_SESSION_UID
|
unset KDE_SESSION_UID
|
||||||
|
|
||||||
echo 'startkde: Done.' 1>&2
|
echo 'startkde: Done.' 1>&2
|
||||||
|
@ -1 +0,0 @@
|
|||||||
addToSearchPath XDG_DATA_DIRS @out@/share
|
|
@ -6,5 +6,5 @@
|
|||||||
kdeFramework {
|
kdeFramework {
|
||||||
name = "breeze-icons";
|
name = "breeze-icons";
|
||||||
nativeBuildInputs = [ extra-cmake-modules ];
|
nativeBuildInputs = [ extra-cmake-modules ];
|
||||||
propagatedUserEnvPkgs = [ qtsvg ];
|
buildInputs = [ qtsvg ];
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,8 @@ let
|
|||||||
name = "${name}-${version}";
|
name = "${name}-${version}";
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
|
outputs = args.outputs or [ "dev" "out" ];
|
||||||
|
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
(args.cmakeFlags or [])
|
(args.cmakeFlags or [])
|
||||||
++ [ "-DBUILD_TESTING=OFF" ]
|
++ [ "-DBUILD_TESTING=OFF" ]
|
||||||
@ -58,14 +60,14 @@ let
|
|||||||
kdbusaddons = callPackage ./kdbusaddons.nix {};
|
kdbusaddons = callPackage ./kdbusaddons.nix {};
|
||||||
kdeclarative = callPackage ./kdeclarative.nix {};
|
kdeclarative = callPackage ./kdeclarative.nix {};
|
||||||
kded = callPackage ./kded.nix {};
|
kded = callPackage ./kded.nix {};
|
||||||
kdelibs4support = callPackage ./kdelibs4support.nix {};
|
kdelibs4support = callPackage ./kdelibs4support {};
|
||||||
kdesignerplugin = callPackage ./kdesignerplugin.nix {};
|
kdesignerplugin = callPackage ./kdesignerplugin.nix {};
|
||||||
kdewebkit = callPackage ./kdewebkit.nix {};
|
kdewebkit = callPackage ./kdewebkit.nix {};
|
||||||
kdesu = callPackage ./kdesu.nix {};
|
kdesu = callPackage ./kdesu.nix {};
|
||||||
kdnssd = callPackage ./kdnssd.nix {};
|
kdnssd = callPackage ./kdnssd.nix {};
|
||||||
kdoctools = callPackage ./kdoctools {};
|
kdoctools = callPackage ./kdoctools {};
|
||||||
kemoticons = callPackage ./kemoticons.nix {};
|
kemoticons = callPackage ./kemoticons.nix {};
|
||||||
kfilemetadata = callPackage ./kfilemetadata.nix {};
|
kfilemetadata = callPackage ./kfilemetadata {};
|
||||||
kglobalaccel = callPackage ./kglobalaccel.nix {};
|
kglobalaccel = callPackage ./kglobalaccel.nix {};
|
||||||
kguiaddons = callPackage ./kguiaddons.nix {};
|
kguiaddons = callPackage ./kguiaddons.nix {};
|
||||||
khtml = callPackage ./khtml.nix {};
|
khtml = callPackage ./khtml.nix {};
|
||||||
|
@ -1,74 +0,0 @@
|
|||||||
From 3cc148e878b69fc3e0228f3e3bf1bbe689dad87c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
|
||||||
Date: Fri, 20 Feb 2015 23:17:39 -0600
|
|
||||||
Subject: [PATCH] extra-cmake-modules paths
|
|
||||||
|
|
||||||
---
|
|
||||||
kde-modules/KDEInstallDirs.cmake | 37 ++++---------------------------------
|
|
||||||
1 file changed, 4 insertions(+), 33 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
|
|
||||||
index b7cd34d..2f868ac 100644
|
|
||||||
--- a/kde-modules/KDEInstallDirs.cmake
|
|
||||||
+++ b/kde-modules/KDEInstallDirs.cmake
|
|
||||||
@@ -193,37 +193,8 @@
|
|
||||||
# (To distribute this file outside of extra-cmake-modules, substitute the full
|
|
||||||
# License text for the above reference.)
|
|
||||||
|
|
||||||
-# Figure out what the default install directory for libraries should be.
|
|
||||||
-# This is based on the logic in GNUInstallDirs, but simplified (the
|
|
||||||
-# GNUInstallDirs code deals with re-configuring, but that is dealt with
|
|
||||||
-# by the _define_* macros in this module).
|
|
||||||
+# The default library directory on NixOS is *always* /lib.
|
|
||||||
set(_LIBDIR_DEFAULT "lib")
|
|
||||||
-# Override this default 'lib' with 'lib64' iff:
|
|
||||||
-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
|
|
||||||
-# - we are NOT on debian
|
|
||||||
-# - we are on a 64 bits system
|
|
||||||
-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
|
|
||||||
-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
|
|
||||||
-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
|
|
||||||
-# See http://wiki.debian.org/Multiarch
|
|
||||||
-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
|
|
||||||
- AND NOT CMAKE_CROSSCOMPILING)
|
|
||||||
- if (EXISTS "/etc/debian_version") # is this a debian system ?
|
|
||||||
- if(CMAKE_LIBRARY_ARCHITECTURE)
|
|
||||||
- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
|
|
||||||
- endif()
|
|
||||||
- else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
|
|
||||||
- if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
|
|
||||||
- message(AUTHOR_WARNING
|
|
||||||
- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
|
|
||||||
- "Please enable at least one language before including KDEInstallDirs.")
|
|
||||||
- else()
|
|
||||||
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
|
||||||
- set(_LIBDIR_DEFAULT "lib64")
|
|
||||||
- endif()
|
|
||||||
- endif()
|
|
||||||
- endif()
|
|
||||||
-endif()
|
|
||||||
|
|
||||||
set(_gnu_install_dirs_vars
|
|
||||||
BINDIR
|
|
||||||
@@ -445,15 +416,15 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
|
|
||||||
"QtQuick2 imports"
|
|
||||||
QML_INSTALL_DIR)
|
|
||||||
else()
|
|
||||||
- _define_relative(QTPLUGINDIR LIBDIR "plugins"
|
|
||||||
+ _define_relative(QTPLUGINDIR LIBDIR "qt5/plugins"
|
|
||||||
"Qt plugins"
|
|
||||||
QT_PLUGIN_INSTALL_DIR)
|
|
||||||
|
|
||||||
- _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
|
|
||||||
+ _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "qt5/imports"
|
|
||||||
"QtQuick1 imports"
|
|
||||||
IMPORTS_INSTALL_DIR)
|
|
||||||
|
|
||||||
- _define_relative(QMLDIR LIBDIR "qml"
|
|
||||||
+ _define_relative(QMLDIR LIBDIR "qt5/qml"
|
|
||||||
"QtQuick2 imports"
|
|
||||||
QML_INSTALL_DIR)
|
|
||||||
endif()
|
|
||||||
--
|
|
||||||
2.3.0
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
|||||||
{ kdeFramework, lib, stdenv, cmake, pkgconfig, qttools }:
|
{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }:
|
||||||
|
|
||||||
kdeFramework {
|
kdeFramework {
|
||||||
name = "extra-cmake-modules";
|
name = "extra-cmake-modules";
|
||||||
patches = [ ./0001-extra-cmake-modules-paths.patch ];
|
|
||||||
|
|
||||||
|
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||||
|
|
||||||
|
outputs = [ "out" ]; # this package has no runtime components
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
# It is OK to propagate these inputs as long as
|
# It is OK to propagate these inputs as long as
|
||||||
@ -11,8 +13,8 @@ kdeFramework {
|
|||||||
# of some other derivation.
|
# of some other derivation.
|
||||||
propagatedNativeBuildInputs = [ cmake pkgconfig qttools ];
|
propagatedNativeBuildInputs = [ cmake pkgconfig qttools ];
|
||||||
|
|
||||||
meta = {
|
meta = with lib; {
|
||||||
license = stdenv.lib.licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
maintainers = [ lib.maintainers.ttuegel ];
|
maintainers = [ maintainers.ttuegel ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
|
||||||
|
===================================================================
|
||||||
|
--- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake
|
||||||
|
+++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
|
||||||
|
@@ -200,32 +200,6 @@
|
||||||
|
# GNUInstallDirs code deals with re-configuring, but that is dealt with
|
||||||
|
# by the _define_* macros in this module).
|
||||||
|
set(_LIBDIR_DEFAULT "lib")
|
||||||
|
-# Override this default 'lib' with 'lib64' iff:
|
||||||
|
-# - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
|
||||||
|
-# - we are NOT on debian
|
||||||
|
-# - we are on a 64 bits system
|
||||||
|
-# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
|
||||||
|
-# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
|
||||||
|
-# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
|
||||||
|
-# See http://wiki.debian.org/Multiarch
|
||||||
|
-if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
|
||||||
|
- AND NOT CMAKE_CROSSCOMPILING)
|
||||||
|
- if (EXISTS "/etc/debian_version") # is this a debian system ?
|
||||||
|
- if(CMAKE_LIBRARY_ARCHITECTURE)
|
||||||
|
- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
|
||||||
|
- endif()
|
||||||
|
- else() # not debian, rely on CMAKE_SIZEOF_VOID_P:
|
||||||
|
- if(NOT DEFINED CMAKE_SIZEOF_VOID_P)
|
||||||
|
- message(AUTHOR_WARNING
|
||||||
|
- "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. "
|
||||||
|
- "Please enable at least one language before including KDEInstallDirs.")
|
||||||
|
- else()
|
||||||
|
- if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
|
||||||
|
- set(_LIBDIR_DEFAULT "lib64")
|
||||||
|
- endif()
|
||||||
|
- endif()
|
||||||
|
- endif()
|
||||||
|
-endif()
|
||||||
|
|
||||||
|
set(_gnu_install_dirs_vars
|
||||||
|
BINDIR
|
@ -0,0 +1 @@
|
|||||||
|
nix-lib-path.patch
|
@ -1,27 +1,81 @@
|
|||||||
addMimePkg() {
|
_ecmSetXdgDirs() {
|
||||||
local propagated
|
addToSearchPathOnce XDG_DATA_DIRS "$1/share"
|
||||||
|
addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg"
|
||||||
if [[ -d "$1/share/mime" ]]; then
|
addToSearchPathOnce NIX_WRAP_XDG_CONFIG_DIRS "$1/etc/xdg"
|
||||||
propagated=
|
|
||||||
for pkg in $propagatedBuildInputs; do
|
|
||||||
if [[ "z$pkg" == "z$1" ]]; then
|
|
||||||
propagated=1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedBuildInputs="$propagatedBuildInputs $1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
propagated=
|
|
||||||
for pkg in $propagatedUserEnvPkgs; do
|
|
||||||
if [[ "z$pkg" == "z$1" ]]; then
|
|
||||||
propagated=1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
envHooks+=(addMimePkg)
|
_ecmPropagateSharedData() {
|
||||||
|
local sharedPaths=( \
|
||||||
|
"config.cfg" \
|
||||||
|
"doc" \
|
||||||
|
"kconf_update" \
|
||||||
|
"kservices5" \
|
||||||
|
"kservicetypes5" \
|
||||||
|
"kxmlgui5" \
|
||||||
|
"knotifications5" \
|
||||||
|
"icons" \
|
||||||
|
"sounds" \
|
||||||
|
"templates" \
|
||||||
|
"wallpapers" \
|
||||||
|
"applications" \
|
||||||
|
"desktop-directories" \
|
||||||
|
"mime" \
|
||||||
|
"info" \
|
||||||
|
"dbus-1" \
|
||||||
|
"interfaces" \
|
||||||
|
"services" \
|
||||||
|
"system-services" )
|
||||||
|
for dir in ${sharedPaths[@]}; do
|
||||||
|
if [ -d "$1/share/$dir" ]; then
|
||||||
|
addToSearchPathOnce NIX_WRAP_XDG_DATA_DIRS "$1/share"
|
||||||
|
propagateOnce propagatedUserEnvPkgs "$1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
_ecmConfig() {
|
||||||
|
# Because we need to use absolute paths here, we must set *all* the paths.
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_EXECROOTDIR=${!outputBin}"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_BINDIR=${!outputBin}/bin"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_SBINDIR=${!outputBin}/sbin"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_LIBDIR=${!outputLib}/lib"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_LIBEXECDIR=${!outputLib}/lib/libexec"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_CMAKEPACKAGEDIR=${!outputDev}/lib/cmake"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputLib}/lib/qt5/plugins"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputLib}/lib/qt5/plugins"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_QTQUICKIMPORTSDIR=${!outputLib}/lib/qt5/imports"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputLib}/lib/qt5/qml"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_INCLUDEDIR=${!outputInclude}/include"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_LOCALSTATEDIR=/var"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DATAROOTDIR=${!outputLib}/share"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DATADIR=${!outputLib}/share"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DOCBUNDLEDIR=${!outputLib}/share/doc/HTML"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_KCFGDIR=${!outputLib}/share/config.kcfg"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_KCONFUPDATEDIR=${!outputLib}/share/kconf_update"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_KSERVICES5DIR=${!outputLib}/share/kservices5"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_KSERVICETYPES5DIR=${!outputLib}/share/kservicetypes5"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_KXMLGUI5DIR=${!outputLib}/share/kxmlgui5"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_KNOTIFY5RCDIR=${!outputLib}/share/knotifications5"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_ICONDIR=${!outputLib}/share/icons"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_LOCALEDIR=${!outputLib}/share/locale"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_SOUNDDIR=${!outputLib}/share/sounds"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_TEMPLATEDIR=${!outputLib}/share/templates"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_WALLPAPERDIR=${!outputLib}/share/wallpapers"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_APPDIR=${!outputLib}/share/applications"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DESKTOPDIR=${!outputLib}/share/desktop-directories"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_MIMEDIR=${!outputLib}/share/mime/packages"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_METAINFODIR=${!outputLib}/share/appdata"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_MANDIR=${!outputLib}/share/man"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_INFODIR=${!outputLib}/share/info"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DBUSDIR=${!outputLib}/share/dbus-1"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DBUSINTERFACEDIR=${!outputLib}/share/dbus-1/interfaces"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DBUSSERVICEDIR=${!outputLib}/share/dbus-1/services"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_DBUSSYSTEMSERVICEDIR=${!outputLib}/share/dbus-1/system-services"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_SYSCONFDIR=${!outputLib}/etc"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputLib}/etc/xdg"
|
||||||
|
cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputLib}/etc/xdg/autostart"
|
||||||
|
}
|
||||||
|
|
||||||
|
envHooks+=(_ecmSetXdgDirs _ecmPropagateSharedData)
|
||||||
|
preConfigureHooks+=(_ecmConfig)
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
Index: kauth-5.18.0/KF5AuthConfig.cmake.in
|
||||||
|
===================================================================
|
||||||
|
--- kauth-5.18.0.orig/KF5AuthConfig.cmake.in
|
||||||
|
+++ kauth-5.18.0/KF5AuthConfig.cmake.in
|
||||||
|
@@ -4,9 +4,9 @@ set(KAUTH_STUB_FILES_DIR "@PACKAGE_KDE_I
|
||||||
|
|
||||||
|
set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
|
||||||
|
set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
|
||||||
|
-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
|
||||||
|
-set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
|
||||||
|
-set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@")
|
||||||
|
+set(KAUTH_POLICY_FILES_INSTALL_DIR "${KDE_INSTALL_DATADIR}/polkit-1/actions")
|
||||||
|
+set(KAUTH_HELPER_INSTALL_DIR "${KDE_INSTALL_LIBEXECDIR}")
|
||||||
|
+set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "${KDE_INSTALL_LIBEXECDIR}")
|
||||||
|
|
||||||
|
find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
{ kdeFramework, lib
|
{ kdeFramework, lib, copyPathsToStore
|
||||||
, extra-cmake-modules
|
, extra-cmake-modules
|
||||||
, kcoreaddons
|
, kcoreaddons
|
||||||
, polkit-qt
|
, polkit-qt
|
||||||
@ -9,7 +9,7 @@ kdeFramework {
|
|||||||
nativeBuildInputs = [ extra-cmake-modules ];
|
nativeBuildInputs = [ extra-cmake-modules ];
|
||||||
buildInputs = [ polkit-qt ];
|
buildInputs = [ polkit-qt ];
|
||||||
propagatedBuildInputs = [ kcoreaddons ];
|
propagatedBuildInputs = [ kcoreaddons ];
|
||||||
patches = [ ./kauth-policy-install.patch ];
|
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = [ lib.maintainers.ttuegel ];
|
maintainers = [ lib.maintainers.ttuegel ];
|
||||||
};
|
};
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
|
|
||||||
index e859ec7..9a8ab18 100644
|
|
||||||
--- a/KF5AuthConfig.cmake.in
|
|
||||||
+++ b/KF5AuthConfig.cmake.in
|
|
||||||
@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
|
|
||||||
|
|
||||||
set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
|
|
||||||
set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
|
|
||||||
-set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
|
|
||||||
+set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
|
|
||||||
set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
|
|
||||||
|
|
||||||
find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
|
|
@ -0,0 +1 @@
|
|||||||
|
cmake-install-paths.patch
|
@ -1,4 +1,5 @@
|
|||||||
{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45, kauth
|
{ kdeFramework, lib, copyPathsToStore
|
||||||
|
, extra-cmake-modules, docbook_xml_dtd_45, kauth
|
||||||
, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons
|
, karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons
|
||||||
, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons
|
, kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons
|
||||||
, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels
|
, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels
|
||||||
@ -11,6 +12,9 @@
|
|||||||
|
|
||||||
kdeFramework {
|
kdeFramework {
|
||||||
name = "kdelibs4support";
|
name = "kdelibs4support";
|
||||||
|
outputs = [ "dev" "out" ];
|
||||||
|
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||||
|
setupHook = ./setup-hook.sh;
|
||||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
kcompletion kconfig kded kservice kwidgetsaddons
|
kcompletion kconfig kded kservice kwidgetsaddons
|
@ -0,0 +1,13 @@
|
|||||||
|
Index: kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp
|
||||||
|
===================================================================
|
||||||
|
--- kdelibs4support-5.18.0.orig/src/kdecore/kstandarddirs.cpp
|
||||||
|
+++ kdelibs4support-5.18.0/src/kdecore/kstandarddirs.cpp
|
||||||
|
@@ -292,7 +292,7 @@ static QString relativeInstallPath(const
|
||||||
|
return QFile::decodeName(ICON_INSTALL_DIR "/");
|
||||||
|
}
|
||||||
|
if (strcmp("include", type) == 0) {
|
||||||
|
- return QFile::decodeName(INCLUDE_INSTALL_DIR "/");
|
||||||
|
+ return QFile::decodeName(qgetenv("NIX_KDE_INCLUDE_DIR"));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'l':
|
@ -0,0 +1 @@
|
|||||||
|
nix-kde-include-dir.patch
|
@ -0,0 +1 @@
|
|||||||
|
export NIX_KDE_INCLUDE_DIR="@dev@/include/" # trailing slash is required!
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
kdeFramework {
|
kdeFramework {
|
||||||
name = "kdoctools";
|
name = "kdoctools";
|
||||||
setupHook = ./setup-hook.sh;
|
|
||||||
nativeBuildInputs = [ extra-cmake-modules ];
|
nativeBuildInputs = [ extra-cmake-modules ];
|
||||||
buildInputs = [ karchive ];
|
buildInputs = [ karchive ];
|
||||||
propagatedBuildInputs = [ ki18n ];
|
propagatedBuildInputs = [ ki18n ];
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
addXdgData() {
|
|
||||||
addToSearchPath XDG_DATA_DIRS "$1/share"
|
|
||||||
}
|
|
||||||
|
|
||||||
envHooks+=(addXdgData)
|
|
@ -0,0 +1,13 @@
|
|||||||
|
Index: kfilemetadata-5.18.0/src/CMakeLists.txt
|
||||||
|
===================================================================
|
||||||
|
--- kfilemetadata-5.18.0.orig/src/CMakeLists.txt
|
||||||
|
+++ kfilemetadata-5.18.0/src/CMakeLists.txt
|
||||||
|
@@ -49,7 +49,7 @@ install(TARGETS KF5FileMetaData EXPORT K
|
||||||
|
|
||||||
|
install(EXPORT KF5FileMetaDataTargets
|
||||||
|
NAMESPACE KF5::
|
||||||
|
- DESTINATION ${LIB_INSTALL_DIR}/cmake/KF5FileMetaData
|
||||||
|
+ DESTINATION ${KDE_INSTALL_FULL_CMAKEPACKAGEDIR}/KF5FileMetaData
|
||||||
|
FILE KF5FileMetaDataTargets.cmake)
|
||||||
|
|
||||||
|
install(FILES
|
@ -1,9 +1,10 @@
|
|||||||
{ kdeFramework, lib, extra-cmake-modules, attr, ebook_tools, exiv2
|
{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules
|
||||||
, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
|
, attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
kdeFramework {
|
kdeFramework {
|
||||||
name = "kfilemetadata";
|
name = "kfilemetadata";
|
||||||
|
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||||
nativeBuildInputs = [ extra-cmake-modules ];
|
nativeBuildInputs = [ extra-cmake-modules ];
|
||||||
buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ];
|
buildInputs = [ attr ebook_tools exiv2 ffmpeg karchive poppler taglib ];
|
||||||
propagatedBuildInputs = [ qtbase ki18n ];
|
propagatedBuildInputs = [ qtbase ki18n ];
|
@ -0,0 +1 @@
|
|||||||
|
cmake-install-paths.patch
|
@ -4,11 +4,10 @@
|
|||||||
|
|
||||||
kdeFramework {
|
kdeFramework {
|
||||||
name = "kservice";
|
name = "kservice";
|
||||||
setupHook = ./setup-hook.sh;
|
propagatedNativeBuildInputs = [ extra-cmake-modules ];
|
||||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
nativeBuildInputs = [ kdoctools ];
|
||||||
buildInputs = [ kcrash kdbusaddons ];
|
buildInputs = [ kcrash kdbusaddons ];
|
||||||
propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ];
|
propagatedBuildInputs = [ kconfig kcoreaddons ki18n kwindowsystem ];
|
||||||
propagatedUserEnvPkgs = [ kcoreaddons ];
|
|
||||||
patches = [
|
patches = [
|
||||||
./0001-qdiriterator-follow-symlinks.patch
|
./0001-qdiriterator-follow-symlinks.patch
|
||||||
./0002-no-canonicalize-path.patch
|
./0002-no-canonicalize-path.patch
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
addServicePkg() {
|
|
||||||
local propagated
|
|
||||||
for dir in "share/kservices5" "share/kservicetypes5"; do
|
|
||||||
if [[ -d "$1/$dir" ]]; then
|
|
||||||
propagated=
|
|
||||||
for pkg in $propagatedBuildInputs; do
|
|
||||||
if [[ "z$pkg" == "z$1" ]]; then
|
|
||||||
propagated=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedBuildInputs="$propagatedBuildInputs $1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
propagated=
|
|
||||||
for pkg in $propagatedUserEnvPkgs; do
|
|
||||||
if [[ "z$pkg" == "z$1" ]]; then
|
|
||||||
propagated=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedUserEnvPkgs="$propagatedUserEnvPkgs $1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
envHooks+=(addServicePkg)
|
|
||||||
|
|
||||||
local propagated
|
|
||||||
for pkg in $propagatedBuildInputs; do
|
|
||||||
if [[ "z$pkg" == "z@out@" ]]; then
|
|
||||||
propagated=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedBuildInputs="$propagatedBuildInputs @out@"
|
|
||||||
fi
|
|
@ -37,21 +37,19 @@ let
|
|||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
||||||
|
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig ];
|
||||||
|
|
||||||
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
|
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
|
||||||
dontAddPrefix = args.dontAddPrefix or true;
|
dontAddPrefix = args.dontAddPrefix or true;
|
||||||
dontFixLibtool = args.dontFixLibtool or true;
|
dontFixLibtool = args.dontFixLibtool or true;
|
||||||
configureScript = args.configureScript or "qmake";
|
configureScript = args.configureScript or "qmake";
|
||||||
|
|
||||||
|
outputs = args.outputs or [ "dev" "out" ];
|
||||||
|
setOutputFlags = false;
|
||||||
|
|
||||||
enableParallelBuilding = args.enableParallelBuilding or true;
|
enableParallelBuilding = args.enableParallelBuilding or true;
|
||||||
|
|
||||||
meta = {
|
meta = self.qtbase.meta // (args.meta or {});
|
||||||
homepage = http://qt-project.org;
|
|
||||||
description = "A cross-platform application framework for C++";
|
|
||||||
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
|
|
||||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
} // (args.meta or {});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
addPackages = self: with self;
|
addPackages = self: with self;
|
||||||
@ -110,7 +108,10 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
|
makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
|
||||||
|
fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in makeScope pkgs.newScope addPackages
|
self = makeScope pkgs.newScope addPackages;
|
||||||
|
|
||||||
|
in self
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
fixQtModuleCMakeConfig() {
|
||||||
|
local module="$1"
|
||||||
|
sed -e "/set(imported_location/ s@\\\${_qt5${module}_install_prefix}@${!outputLib}@" \
|
||||||
|
-i "${!outputDev}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake"
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, lib, fetchurl, copyPathsToStore, makeWrapper
|
{ stdenv, lib, fetchurl, copyPathsToStore, fixQtModuleCMakeConfig
|
||||||
, srcs
|
, srcs
|
||||||
|
|
||||||
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
|
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
|
||||||
@ -14,8 +14,7 @@
|
|||||||
, mysql ? null, postgresql ? null
|
, mysql ? null, postgresql ? null
|
||||||
|
|
||||||
# options
|
# options
|
||||||
, mesaSupported, mesa, mesa_glu
|
, mesaSupported, mesa
|
||||||
, buildDocs ? false
|
|
||||||
, buildExamples ? false
|
, buildExamples ? false
|
||||||
, buildTests ? false
|
, buildTests ? false
|
||||||
, developerBuild ? false
|
, developerBuild ? false
|
||||||
@ -37,6 +36,8 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
sourceRoot = "qt-everywhere-opensource-src-${version}";
|
sourceRoot = "qt-everywhere-opensource-src-${version}";
|
||||||
|
|
||||||
|
outputs = [ "dev" "out" ];
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
|
mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
|
||||||
'';
|
'';
|
||||||
@ -94,12 +95,34 @@ stdenv.mkDerivation {
|
|||||||
--replace "@mesa_inc@" "${mesa.dev}"
|
--replace "@mesa_inc@" "${mesa.dev}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
setOutputFlags = false;
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH"
|
||||||
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
||||||
|
|
||||||
export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml"
|
_multioutQtDevs() {
|
||||||
export configureFlags+=" -docdir $out/share/doc/qt5"
|
# We cannot simply set these paths in configureFlags because libQtCore retains
|
||||||
|
# references to the paths it was built with.
|
||||||
|
moveToOutput "bin" "$dev"
|
||||||
|
moveToOutput "include" "$dev"
|
||||||
|
moveToOutput "mkspecs" "$dev"
|
||||||
|
|
||||||
|
# The destination directory must exist or moveToOutput will do nothing
|
||||||
|
mkdir -p "$dev/share"
|
||||||
|
moveToOutput "share/doc" "$dev"
|
||||||
|
|
||||||
|
mkdir -p "$dev/lib"
|
||||||
|
lndir -silent "$out/lib" "$dev/lib"
|
||||||
|
if [[ -h "$dev/lib/cmake" ]]; then rm "$dev/lib/cmake"; fi
|
||||||
|
if [[ -h "$dev/lib/pkgconfig" ]]; then rm "$dev/lib/pkgconfig"; fi
|
||||||
|
}
|
||||||
|
preFixupHooks+=(_multioutQtDevs)
|
||||||
|
|
||||||
|
configureFlags+="\
|
||||||
|
-plugindir $out/lib/qt5/plugins \
|
||||||
|
-importdir $out/lib/qt5/imports \
|
||||||
|
-qmldir $out/lib/qt5/qml \
|
||||||
|
-docdir $out/share/doc/qt5"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prefixKey = "-prefix ";
|
prefixKey = "-prefix ";
|
||||||
@ -182,32 +205,38 @@ stdenv.mkDerivation {
|
|||||||
zlib libjpeg libpng libtiff sqlite icu
|
zlib libjpeg libpng libtiff sqlite icu
|
||||||
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
||||||
]
|
]
|
||||||
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and
|
++ lib.optional mesaSupported mesa;
|
||||||
# doesn't remain a runtime-dep if not used
|
|
||||||
++ lib.optionals mesaSupported [ mesa mesa_glu ]
|
|
||||||
++ lib.optional (cups != null) cups
|
|
||||||
++ lib.optional (mysql != null) mysql.lib
|
|
||||||
++ lib.optional (postgresql != null) postgresql
|
|
||||||
++ lib.optionals gtkStyle [gnome_vfs libgnomeui gtk GConf];
|
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ bison flex gperf ruby ]
|
[ bison flex gperf ruby ]
|
||||||
++ lib.optional developerBuild gdb;
|
++ lib.optional developerBuild gdb
|
||||||
|
++ lib.optional (cups != null) cups
|
||||||
|
++ lib.optional (mysql != null) mysql.lib
|
||||||
|
++ lib.optional (postgresql != null) postgresql
|
||||||
|
++ lib.optionals gtkStyle [gnome_vfs libgnomeui gtk GConf];
|
||||||
|
|
||||||
nativeBuildInputs = [ python perl pkgconfig ];
|
nativeBuildInputs = [ fixQtModuleCMakeConfig lndir python perl pkgconfig ];
|
||||||
|
|
||||||
propagatedNativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
# freetype-2.5.4 changed signedness of some struct fields
|
# freetype-2.5.4 changed signedness of some struct fields
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
|
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
|
||||||
|
|
||||||
postInstall =
|
postFixup =
|
||||||
''
|
''
|
||||||
# Don't retain build-time dependencies like gdb and ruby.
|
# Don't retain build-time dependencies like gdb and ruby.
|
||||||
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
|
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i "$dev/mkspecs/qconfig.pri"
|
||||||
''
|
|
||||||
+ lib.optionalString buildDocs ''
|
fixQtModuleCMakeConfig "Concurrent"
|
||||||
make docs && make install_docs
|
fixQtModuleCMakeConfig "Core"
|
||||||
|
fixQtModuleCMakeConfig "DBus"
|
||||||
|
fixQtModuleCMakeConfig "Gui"
|
||||||
|
fixQtModuleCMakeConfig "Network"
|
||||||
|
fixQtModuleCMakeConfig "OpenGL"
|
||||||
|
fixQtModuleCMakeConfig "OpenGLExtensions"
|
||||||
|
fixQtModuleCMakeConfig "PrintSupport"
|
||||||
|
fixQtModuleCMakeConfig "Sql"
|
||||||
|
fixQtModuleCMakeConfig "Test"
|
||||||
|
fixQtModuleCMakeConfig "Widgets"
|
||||||
|
fixQtModuleCMakeConfig "Xml"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit lndir;
|
inherit lndir;
|
||||||
@ -216,9 +245,9 @@ stdenv.mkDerivation {
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = http://qt-project.org;
|
homepage = http://www.qt.io;
|
||||||
description = "A cross-platform application framework for C++";
|
description = "A cross-platform application framework for C++";
|
||||||
license = "GPL/LGPL";
|
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
|
||||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
@ -1,45 +1,26 @@
|
|||||||
if [[ -z "$QMAKE" ]]; then
|
if [[ -z "$QMAKE" ]]; then
|
||||||
|
|
||||||
linkDependencyDir() {
|
_qtLinkDependencyDir() {
|
||||||
@lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2"
|
@lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2"
|
||||||
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
||||||
find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs"
|
find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
addQtModule() {
|
_qtLinkModule() {
|
||||||
if [[ -d "$1/mkspecs" ]]; then
|
if [ -d "$1/mkspecs" ]; then
|
||||||
# $1 is a Qt module
|
# $1 is a Qt module
|
||||||
linkDependencyDir "$1" mkspecs
|
_qtLinkDependencyDir "$1" mkspecs
|
||||||
|
|
||||||
for dir in bin include lib share; do
|
for dir in bin include lib share; do
|
||||||
if [[ -d "$1/$dir" ]]; then
|
if [ -d "$1/$dir" ]; then
|
||||||
linkDependencyDir "$1" "$dir"
|
_qtLinkDependencyDir "$1" "$dir"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
propagateRuntimeDeps() {
|
_qtRmModules() {
|
||||||
local propagated
|
|
||||||
for dir in "etc/xdg" "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports" "share"; do
|
|
||||||
if [[ -d "$1/$dir" ]]; then
|
|
||||||
propagated=
|
|
||||||
for pkg in $propagatedBuildInputs; do
|
|
||||||
if [[ "z$pkg" == "z$1" ]]; then
|
|
||||||
propagated=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedBuildInputs="$propagatedBuildInputs $1"
|
|
||||||
fi
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
rmQtModules() {
|
|
||||||
cat "$out/nix-support/qt-inputs" | while read file; do
|
cat "$out/nix-support/qt-inputs" | while read file; do
|
||||||
if [[ -h "$out/$file" ]]; then
|
if [[ -h "$out/$file" ]]; then
|
||||||
rm "$out/$file"
|
rm "$out/$file"
|
||||||
@ -55,14 +36,65 @@ rmQtModules() {
|
|||||||
rm "$out/nix-support/qt-inputs"
|
rm "$out/nix-support/qt-inputs"
|
||||||
}
|
}
|
||||||
|
|
||||||
rmQMake() {
|
addToSearchPathOnceWithCustomDelimiter() {
|
||||||
|
local delim="$1"
|
||||||
|
local search="$2"
|
||||||
|
local target="$3"
|
||||||
|
local dirs
|
||||||
|
local exported
|
||||||
|
IFS="$delim" read -a dirs <<< "${!search}"
|
||||||
|
for dir in ${dirs[@]}; do
|
||||||
|
if [ "z$dir" == "z$target" ]; then exported=1; fi
|
||||||
|
done
|
||||||
|
if [ -z $exported ]; then
|
||||||
|
eval "export ${search}=\"${!search}${!search:+$delim}$target\""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
addToSearchPathOnce() {
|
||||||
|
addToSearchPathOnceWithCustomDelimiter ':' "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
propagateOnce() {
|
||||||
|
addToSearchPathOnceWithCustomDelimiter ' ' "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
_qtPropagateRuntimeDependencies() {
|
||||||
|
for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do
|
||||||
|
if [ -d "$1/$dir" ]; then
|
||||||
|
propagateOnce propagatedBuildInputs "$1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins"
|
||||||
|
addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports"
|
||||||
|
addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml"
|
||||||
|
}
|
||||||
|
|
||||||
|
_qtRmQmake() {
|
||||||
rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf"
|
rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
setQMakePath() {
|
_qtSetQmakePath() {
|
||||||
export PATH="$qtOut/bin${PATH:+:}$PATH"
|
export PATH="$qtOut/bin${PATH:+:}$PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_qtMultioutModuleDevs() {
|
||||||
|
# We cannot simply set these paths in configureFlags because libQtCore retains
|
||||||
|
# references to the paths it was built with.
|
||||||
|
moveToOutput "bin" "${!outputDev}"
|
||||||
|
moveToOutput "include" "${!outputDev}"
|
||||||
|
|
||||||
|
# The destination directory must exist or moveToOutput will do nothing
|
||||||
|
mkdir -p "${!outputDev}/share"
|
||||||
|
moveToOutput "share/doc" "${!outputDev}"
|
||||||
|
}
|
||||||
|
|
||||||
|
_qtMultioutDevs() {
|
||||||
|
# This is necessary whether the package is a Qt module or not
|
||||||
|
moveToOutput "mkspecs" "${!outputDev}"
|
||||||
|
}
|
||||||
|
|
||||||
qtOut=""
|
qtOut=""
|
||||||
if [[ -z "$NIX_QT_SUBMODULE" ]]; then
|
if [[ -z "$NIX_QT_SUBMODULE" ]]; then
|
||||||
qtOut=`mktemp -d`
|
qtOut=`mktemp -d`
|
||||||
@ -72,7 +104,7 @@ fi
|
|||||||
|
|
||||||
mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share"
|
mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share"
|
||||||
|
|
||||||
cp "@out@/bin/qmake" "$qtOut/bin"
|
cp "@dev@/bin/qmake" "$qtOut/bin"
|
||||||
cat >"$qtOut/bin/qt.conf" <<EOF
|
cat >"$qtOut/bin/qt.conf" <<EOF
|
||||||
[Paths]
|
[Paths]
|
||||||
Prefix = $qtOut
|
Prefix = $qtOut
|
||||||
@ -84,17 +116,20 @@ EOF
|
|||||||
|
|
||||||
export QMAKE="$qtOut/bin/qmake"
|
export QMAKE="$qtOut/bin/qmake"
|
||||||
|
|
||||||
envHooks+=(addQtModule propagateRuntimeDeps)
|
envHooks+=(_qtLinkModule _qtPropagateRuntimeDependencies)
|
||||||
preConfigurePhases+=(setQMakePath)
|
# Set PATH to find qmake first in a preConfigure hook
|
||||||
|
# It must run after all the envHooks!
|
||||||
|
preConfigureHooks+=(_qtSetQmakePath)
|
||||||
|
|
||||||
|
preFixupHooks+=(_qtMultioutDevs)
|
||||||
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
||||||
preFixupPhases+=(rmQtModules)
|
postInstallHooks+=(_qtRmQmake _qtRmModules)
|
||||||
postPhases+=(rmQMake)
|
preFixupHooks+=(_qtMultioutModuleDevs)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$NIX_QT_PIC" ]]; then
|
if [[ -z "$NIX_QT_PIC" ]]; then
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC"
|
||||||
export NIX_QT_PIC=1
|
export NIX_QT_PIC=1
|
||||||
fi
|
fi
|
||||||
|
@ -3,4 +3,8 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtconnectivity";
|
name = "qtconnectivity";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Bluetooth"
|
||||||
|
fixQtModuleCMakeConfig "Nfc"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,10 @@ qtSubmodule {
|
|||||||
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
||||||
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
|
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
|
||||||
nativeBuildInputs = [ python ];
|
nativeBuildInputs = [ python ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Qml"
|
||||||
|
fixQtModuleCMakeConfig "Quick"
|
||||||
|
fixQtModuleCMakeConfig "QuickTest"
|
||||||
|
fixQtModuleCMakeConfig "QuickWidgets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtenginio";
|
name = "qtenginio";
|
||||||
qtInputs = [ qtdeclarative ];
|
qtInputs = [ qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Enginio"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,8 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtlocation";
|
name = "qtlocation";
|
||||||
qtInputs = [ qtbase qtmultimedia ];
|
qtInputs = [ qtbase qtmultimedia ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Location"
|
||||||
|
fixQtModuleCMakeConfig "Positioning"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -9,4 +9,8 @@ qtSubmodule {
|
|||||||
pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
|
pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
|
||||||
];
|
];
|
||||||
configureFlags = "GST_VERSION=1.0";
|
configureFlags = "GST_VERSION=1.0";
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Multimedia"
|
||||||
|
fixQtModuleCMakeConfig "MultimediaWidgets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,7 @@ qtSubmodule {
|
|||||||
name = "qtquick1";
|
name = "qtquick1";
|
||||||
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
||||||
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
|
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Declarative"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,7 @@ qtSubmodule {
|
|||||||
name = "qtscript";
|
name = "qtscript";
|
||||||
qtInputs = [ qtbase qttools ];
|
qtInputs = [ qtbase qttools ];
|
||||||
patches = [ ./0001-glib-2.32.patch ];
|
patches = [ ./0001-glib-2.32.patch ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Script"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtsensors";
|
name = "qtsensors";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Sensors"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -10,4 +10,7 @@ qtSubmodule {
|
|||||||
libudev = libudev.out;
|
libudev = libudev.out;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "SerialPort"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtsvg";
|
name = "qtsvg";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Svg"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,14 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qttools";
|
name = "qttools";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
moveToOutput "bin/qdbus" "$out"
|
||||||
|
moveToOutput "bin/qtpaths" "$out"
|
||||||
|
|
||||||
|
fixQtModuleCMakeConfig "Designer"
|
||||||
|
fixQtModuleCMakeConfig "Help"
|
||||||
|
fixQtModuleCMakeConfig "LinguistTools"
|
||||||
|
fixQtModuleCMakeConfig "UiPlugin"
|
||||||
|
fixQtModuleCMakeConfig "UiTools"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -31,4 +31,8 @@ qtSubmodule {
|
|||||||
};
|
};
|
||||||
in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
|
in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
|
||||||
++ [ dlopen-webkit-udev ];
|
++ [ dlopen-webkit-udev ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "WebKit"
|
||||||
|
fixQtModuleCMakeConfig "WebKitWidgets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtwebsockets";
|
name = "qtwebsockets";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "WebSockets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtx11extras";
|
name = "qtx11extras";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "X11Extras"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtxmlpatterns";
|
name = "qtxmlpatterns";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "XmlPatterns"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,20 @@
|
|||||||
# Maintainer's Notes:
|
/*
|
||||||
#
|
|
||||||
# Minor updates:
|
# Minor Updates
|
||||||
# 1. Edit ./fetchsrcs.sh to point to the updated URL.
|
|
||||||
# 2. Run ./fetchsrcs.sh.
|
1. Edit ./fetchsrcs.sh to point to the updated URL.
|
||||||
# 3. Build and enjoy.
|
2. Run ./fetchsrcs.sh.
|
||||||
#
|
3. Build and enjoy.
|
||||||
# Major updates:
|
|
||||||
# We prefer not to immediately overwrite older versions with major updates, so
|
# Major Updates
|
||||||
# make a copy of this directory first. After copying, be sure to delete ./tmp
|
|
||||||
# if it exists. Then follow the minor update instructions. Be sure to check if
|
1. Make a copy of this directory. (We like to keep the old version around
|
||||||
# any new components have been added and package them as necessary.
|
for a short time after major updates.)
|
||||||
|
2. Delete the tmp/ subdirectory of the copy.
|
||||||
|
3. Follow the minor update instructions above.
|
||||||
|
4. Package any new Qt modules, if necessary.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
{ pkgs
|
{ pkgs
|
||||||
|
|
||||||
@ -37,21 +42,19 @@ let
|
|||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
||||||
|
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig ];
|
||||||
|
|
||||||
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
|
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
|
||||||
dontAddPrefix = args.dontAddPrefix or true;
|
dontAddPrefix = args.dontAddPrefix or true;
|
||||||
dontFixLibtool = args.dontFixLibtool or true;
|
dontFixLibtool = args.dontFixLibtool or true;
|
||||||
configureScript = args.configureScript or "qmake";
|
configureScript = args.configureScript or "qmake";
|
||||||
|
|
||||||
|
outputs = args.outputs or [ "dev" "out" ];
|
||||||
|
setOutputFlags = args.setOutputFlags or false;
|
||||||
|
|
||||||
enableParallelBuilding = args.enableParallelBuilding or true;
|
enableParallelBuilding = args.enableParallelBuilding or true;
|
||||||
|
|
||||||
meta = {
|
meta = self.qtbase.meta // (args.meta or {});
|
||||||
homepage = http://qt-project.org;
|
|
||||||
description = "A cross-platform application framework for C++";
|
|
||||||
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
|
|
||||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
} // (args.meta or {});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
addPackages = self: with self;
|
addPackages = self: with self;
|
||||||
@ -61,6 +64,7 @@ let
|
|||||||
|
|
||||||
qtbase = callPackage ./qtbase {
|
qtbase = callPackage ./qtbase {
|
||||||
mesa = pkgs.mesa_noglu;
|
mesa = pkgs.mesa_noglu;
|
||||||
|
harfbuzz = pkgs.harfbuzz-icu;
|
||||||
cups = if stdenv.isLinux then pkgs.cups else null;
|
cups = if stdenv.isLinux then pkgs.cups else null;
|
||||||
# GNOME dependencies are not used unless gtkStyle == true
|
# GNOME dependencies are not used unless gtkStyle == true
|
||||||
inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
|
inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
|
||||||
@ -110,7 +114,10 @@ let
|
|||||||
];
|
];
|
||||||
|
|
||||||
makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
|
makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
|
||||||
|
fixQtModuleCMakeConfig = makeSetupHook { } ./fix-qt-module-cmake-config.sh;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
in makeScope pkgs.newScope addPackages
|
self = makeScope pkgs.newScope addPackages;
|
||||||
|
|
||||||
|
in self
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
fixQtModuleCMakeConfig() {
|
||||||
|
local module="$1"
|
||||||
|
sed -e "/set(imported_location/ s@\\\${_qt5${module}_install_prefix}@${!outputLib}@" \
|
||||||
|
-i "${!outputDev}/lib/cmake/Qt5${module}/Qt5${module}Config.cmake"
|
||||||
|
}
|
@ -1,11 +1,3 @@
|
|||||||
addQtDependency() {
|
|
||||||
addToSearchPath QT_PLUGIN_PATH "$1/lib/qt5/plugins"
|
|
||||||
addToSearchPath QML_IMPORT_PATH "$1/lib/qt5/imports"
|
|
||||||
addToSearchPath QML2_IMPORT_PATH "$1/lib/qt5/qml"
|
|
||||||
addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
|
|
||||||
addToSearchPath XDG_DATA_DIRS "$1/share"
|
|
||||||
}
|
|
||||||
|
|
||||||
wrapQtProgram() {
|
wrapQtProgram() {
|
||||||
local prog="$1"
|
local prog="$1"
|
||||||
shift
|
shift
|
||||||
@ -13,8 +5,8 @@ wrapQtProgram() {
|
|||||||
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
|
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
|
||||||
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
|
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
|
||||||
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
|
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
|
||||||
--prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \
|
--prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \
|
||||||
--prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \
|
--prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \
|
||||||
"$@"
|
"$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,16 +19,16 @@ makeQtWrapper() {
|
|||||||
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
|
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
|
||||||
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
|
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
|
||||||
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
|
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
|
||||||
--prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \
|
--prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \
|
||||||
--prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \
|
--prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \
|
||||||
"$@"
|
"$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
# cannot use addToSearchPath because these directories may not exist yet
|
# cannot use addToSearchPath because these directories may not exist yet
|
||||||
export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}$out/lib/qt5/plugins"
|
export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins"
|
||||||
export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}$out/lib/qt5/imports"
|
export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports"
|
||||||
export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}$out/lib/qt5/qml"
|
export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml"
|
||||||
export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}$out/etc/xdg"
|
export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg"
|
||||||
export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}$out/share"
|
export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share"
|
||||||
|
export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg"
|
||||||
envHooks+=(addQtDependency)
|
export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share"
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
{ stdenv, lib, fetchurl, copyPathsToStore, makeWrapper
|
{ stdenv, lib, fetchurl, copyPathsToStore, fixQtModuleCMakeConfig
|
||||||
, srcs
|
, srcs
|
||||||
|
|
||||||
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
|
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
|
||||||
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
|
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
|
||||||
, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre
|
, fontconfig, freetype, harfbuzz
|
||||||
|
, openssl, dbus, glib, udev, libxml2, libxslt, pcre
|
||||||
, zlib, libjpeg, libpng, libtiff, sqlite, icu
|
, zlib, libjpeg, libpng, libtiff, sqlite, icu
|
||||||
|
|
||||||
, coreutils, bison, flex, gdb, gperf, lndir, ruby
|
, coreutils, bison, flex, gdb, gperf, lndir, ruby
|
||||||
@ -14,8 +15,7 @@
|
|||||||
, mysql ? null, postgresql ? null
|
, mysql ? null, postgresql ? null
|
||||||
|
|
||||||
# options
|
# options
|
||||||
, mesaSupported, mesa, mesa_glu
|
, mesaSupported, mesa
|
||||||
, buildDocs ? false
|
|
||||||
, buildExamples ? false
|
, buildExamples ? false
|
||||||
, buildTests ? false
|
, buildTests ? false
|
||||||
, developerBuild ? false
|
, developerBuild ? false
|
||||||
@ -26,6 +26,12 @@
|
|||||||
let
|
let
|
||||||
inherit (srcs.qt5) version;
|
inherit (srcs.qt5) version;
|
||||||
system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
|
system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
|
||||||
|
|
||||||
|
dontInvalidateBacking = fetchurl {
|
||||||
|
url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=0f68f8920573cdce1729a285a92ac8582df32841;hp=24c50f8dcf7fa61ac3c3d4d6295c259a104a2b8c";
|
||||||
|
name = "qtbug-48321-dont-invalidate-backing-store.patch";
|
||||||
|
sha256 = "07vnndmvri73psz0nrs2hg0zw2i4b1k1igy2al6kwjbp7d5xpglr";
|
||||||
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
@ -37,6 +43,8 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
sourceRoot = "qt-everywhere-opensource-src-${version}";
|
sourceRoot = "qt-everywhere-opensource-src-${version}";
|
||||||
|
|
||||||
|
outputs = [ "dev" "out" ];
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
|
mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
|
||||||
'';
|
'';
|
||||||
@ -49,6 +57,10 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
postPatch =
|
postPatch =
|
||||||
''
|
''
|
||||||
|
cd qtbase
|
||||||
|
patch -p1 <${dontInvalidateBacking}
|
||||||
|
cd ..
|
||||||
|
|
||||||
substituteInPlace configure --replace /bin/pwd pwd
|
substituteInPlace configure --replace /bin/pwd pwd
|
||||||
substituteInPlace qtbase/configure --replace /bin/pwd pwd
|
substituteInPlace qtbase/configure --replace /bin/pwd pwd
|
||||||
substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
|
substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
|
||||||
@ -83,7 +95,7 @@ stdenv.mkDerivation {
|
|||||||
--replace "@gtk@" "${gtk.out}" \
|
--replace "@gtk@" "${gtk.out}" \
|
||||||
--replace "@gnome_vfs@" "${gnome_vfs.out}" \
|
--replace "@gnome_vfs@" "${gnome_vfs.out}" \
|
||||||
--replace "@libgnomeui@" "${libgnomeui.out}" \
|
--replace "@libgnomeui@" "${libgnomeui.out}" \
|
||||||
--replace "@gconf@" "${GConf}"
|
--replace "@gconf@" "${GConf.out}"
|
||||||
''
|
''
|
||||||
+ lib.optionalString mesaSupported ''
|
+ lib.optionalString mesaSupported ''
|
||||||
substituteInPlace \
|
substituteInPlace \
|
||||||
@ -94,12 +106,34 @@ stdenv.mkDerivation {
|
|||||||
--replace "@mesa_inc@" "${mesa.dev}"
|
--replace "@mesa_inc@" "${mesa.dev}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
setOutputFlags = false;
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH"
|
||||||
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
||||||
|
|
||||||
export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml"
|
_multioutQtDevs() {
|
||||||
export configureFlags+=" -docdir $out/share/doc/qt5"
|
# We cannot simply set these paths in configureFlags because libQtCore retains
|
||||||
|
# references to the paths it was built with.
|
||||||
|
moveToOutput "bin" "$dev"
|
||||||
|
moveToOutput "include" "$dev"
|
||||||
|
moveToOutput "mkspecs" "$dev"
|
||||||
|
|
||||||
|
# The destination directory must exist or moveToOutput will do nothing
|
||||||
|
mkdir -p "$dev/share"
|
||||||
|
moveToOutput "share/doc" "$dev"
|
||||||
|
|
||||||
|
mkdir -p "$dev/lib"
|
||||||
|
lndir -silent "$out/lib" "$dev/lib"
|
||||||
|
if [[ -h "$dev/lib/cmake" ]]; then rm "$dev/lib/cmake"; fi
|
||||||
|
if [[ -h "$dev/lib/pkgconfig" ]]; then rm "$dev/lib/pkgconfig"; fi
|
||||||
|
}
|
||||||
|
preFixupHooks+=(_multioutQtDevs)
|
||||||
|
|
||||||
|
configureFlags+="\
|
||||||
|
-plugindir $out/lib/qt5/plugins \
|
||||||
|
-importdir $out/lib/qt5/imports \
|
||||||
|
-qmldir $out/lib/qt5/qml \
|
||||||
|
-docdir $out/share/doc/qt5"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
prefixKey = "-prefix ";
|
prefixKey = "-prefix ";
|
||||||
@ -154,6 +188,7 @@ stdenv.mkDerivation {
|
|||||||
-no-mips_dspr2
|
-no-mips_dspr2
|
||||||
|
|
||||||
-system-zlib
|
-system-zlib
|
||||||
|
-system-harfbuzz
|
||||||
-system-libpng
|
-system-libpng
|
||||||
-system-libjpeg
|
-system-libjpeg
|
||||||
-system-xcb
|
-system-xcb
|
||||||
@ -177,37 +212,50 @@ stdenv.mkDerivation {
|
|||||||
PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
|
PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
dbus glib libxml2 libxslt openssl pcre sqlite udev zlib
|
||||||
|
|
||||||
|
# Image formats
|
||||||
|
libjpeg libpng libtiff
|
||||||
|
|
||||||
|
# Text rendering
|
||||||
|
fontconfig freetype harfbuzz icu
|
||||||
|
|
||||||
|
# X11 libs
|
||||||
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
|
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
|
||||||
fontconfig freetype openssl dbus glib udev libxml2 libxslt pcre
|
|
||||||
zlib libjpeg libpng libtiff sqlite icu
|
|
||||||
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
||||||
]
|
]
|
||||||
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and
|
++ lib.optional mesaSupported mesa;
|
||||||
# doesn't remain a runtime-dep if not used
|
|
||||||
++ lib.optionals mesaSupported [ mesa mesa_glu ]
|
|
||||||
++ lib.optional (cups != null) cups
|
|
||||||
++ lib.optional (mysql != null) mysql.lib
|
|
||||||
++ lib.optional (postgresql != null) postgresql
|
|
||||||
++ lib.optionals gtkStyle [gnome_vfs.out libgnomeui.out gtk GConf];
|
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ bison flex gperf ruby ]
|
[ bison flex gperf ruby ]
|
||||||
++ lib.optional developerBuild gdb;
|
++ lib.optional developerBuild gdb
|
||||||
|
++ lib.optional (cups != null) cups
|
||||||
|
++ lib.optional (mysql != null) mysql.lib
|
||||||
|
++ lib.optional (postgresql != null) postgresql
|
||||||
|
++ lib.optionals gtkStyle [gnome_vfs.out libgnomeui.out gtk GConf];
|
||||||
|
|
||||||
nativeBuildInputs = [ python perl pkgconfig ];
|
nativeBuildInputs = [ fixQtModuleCMakeConfig lndir python perl pkgconfig ];
|
||||||
|
|
||||||
propagatedNativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
# freetype-2.5.4 changed signedness of some struct fields
|
# freetype-2.5.4 changed signedness of some struct fields
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
|
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
|
||||||
|
|
||||||
postInstall =
|
postFixup =
|
||||||
''
|
''
|
||||||
# Don't retain build-time dependencies like gdb and ruby.
|
# Don't retain build-time dependencies like gdb and ruby.
|
||||||
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
|
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
|
||||||
''
|
|
||||||
+ lib.optionalString buildDocs ''
|
fixQtModuleCMakeConfig "Concurrent"
|
||||||
make docs && make install_docs
|
fixQtModuleCMakeConfig "Core"
|
||||||
|
fixQtModuleCMakeConfig "DBus"
|
||||||
|
fixQtModuleCMakeConfig "Gui"
|
||||||
|
fixQtModuleCMakeConfig "Network"
|
||||||
|
fixQtModuleCMakeConfig "OpenGL"
|
||||||
|
fixQtModuleCMakeConfig "OpenGLExtensions"
|
||||||
|
fixQtModuleCMakeConfig "PrintSupport"
|
||||||
|
fixQtModuleCMakeConfig "Sql"
|
||||||
|
fixQtModuleCMakeConfig "Test"
|
||||||
|
fixQtModuleCMakeConfig "Widgets"
|
||||||
|
fixQtModuleCMakeConfig "Xml"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit lndir;
|
inherit lndir;
|
||||||
@ -216,9 +264,9 @@ stdenv.mkDerivation {
|
|||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = http://qt-project.org;
|
homepage = http://www.qt.io;
|
||||||
description = "A cross-platform application framework for C++";
|
description = "A cross-platform application framework for C++";
|
||||||
license = "GPL/LGPL";
|
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
|
||||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
@ -1,45 +1,26 @@
|
|||||||
if [[ -z "$QMAKE" ]]; then
|
if [[ -z "$QMAKE" ]]; then
|
||||||
|
|
||||||
linkDependencyDir() {
|
_qtLinkDependencyDir() {
|
||||||
@lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2"
|
@lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2"
|
||||||
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
||||||
find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs"
|
find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
addQtModule() {
|
_qtLinkModule() {
|
||||||
if [[ -d "$1/mkspecs" ]]; then
|
if [ -d "$1/mkspecs" ]; then
|
||||||
# $1 is a Qt module
|
# $1 is a Qt module
|
||||||
linkDependencyDir "$1" mkspecs
|
_qtLinkDependencyDir "$1" mkspecs
|
||||||
|
|
||||||
for dir in bin include lib share; do
|
for dir in bin include lib share; do
|
||||||
if [[ -d "$1/$dir" ]]; then
|
if [ -d "$1/$dir" ]; then
|
||||||
linkDependencyDir "$1" "$dir"
|
_qtLinkDependencyDir "$1" "$dir"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
propagateRuntimeDeps() {
|
_qtRmModules() {
|
||||||
local propagated
|
|
||||||
for dir in "etc/xdg" "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports" "share"; do
|
|
||||||
if [[ -d "$1/$dir" ]]; then
|
|
||||||
propagated=
|
|
||||||
for pkg in $propagatedBuildInputs; do
|
|
||||||
if [[ "z$pkg" == "z$1" ]]; then
|
|
||||||
propagated=1
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [[ -z $propagated ]]; then
|
|
||||||
propagatedBuildInputs="$propagatedBuildInputs $1"
|
|
||||||
fi
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
rmQtModules() {
|
|
||||||
cat "$out/nix-support/qt-inputs" | while read file; do
|
cat "$out/nix-support/qt-inputs" | while read file; do
|
||||||
if [[ -h "$out/$file" ]]; then
|
if [[ -h "$out/$file" ]]; then
|
||||||
rm "$out/$file"
|
rm "$out/$file"
|
||||||
@ -55,14 +36,66 @@ rmQtModules() {
|
|||||||
rm "$out/nix-support/qt-inputs"
|
rm "$out/nix-support/qt-inputs"
|
||||||
}
|
}
|
||||||
|
|
||||||
rmQMake() {
|
addToSearchPathOnceWithCustomDelimiter() {
|
||||||
|
local delim="$1"
|
||||||
|
local search="$2"
|
||||||
|
local target="$3"
|
||||||
|
local dirs
|
||||||
|
local exported
|
||||||
|
IFS="$delim" read -a dirs <<< "${!search}"
|
||||||
|
for dir in ${dirs[@]}; do
|
||||||
|
if [ "z$dir" == "z$target" ]; then exported=1; fi
|
||||||
|
done
|
||||||
|
if [ -z $exported ]; then
|
||||||
|
eval "export ${search}=\"${!search}${!search:+$delim}$target\""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
addToSearchPathOnce() {
|
||||||
|
addToSearchPathOnceWithCustomDelimiter ':' "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
propagateOnce() {
|
||||||
|
addToSearchPathOnceWithCustomDelimiter ' ' "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
_qtPropagateRuntimeDependencies() {
|
||||||
|
for dir in "lib/qt5/plugins" "lib/qt5/qml" "lib/qt5/imports"; do
|
||||||
|
if [ -d "$1/$dir" ]; then
|
||||||
|
propagateOnce propagatedBuildInputs "$1"
|
||||||
|
propagateOnce propagatedUserEnvPkgs "$1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
addToSearchPathOnce QT_PLUGIN_PATH "$1/lib/qt5/plugins"
|
||||||
|
addToSearchPathOnce QML_IMPORT_PATH "$1/lib/qt5/imports"
|
||||||
|
addToSearchPathOnce QML2_IMPORT_PATH "$1/lib/qt5/qml"
|
||||||
|
}
|
||||||
|
|
||||||
|
_qtRmQmake() {
|
||||||
rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf"
|
rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
setQMakePath() {
|
_qtSetQmakePath() {
|
||||||
export PATH="$qtOut/bin${PATH:+:}$PATH"
|
export PATH="$qtOut/bin${PATH:+:}$PATH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_qtMultioutModuleDevs() {
|
||||||
|
# We cannot simply set these paths in configureFlags because libQtCore retains
|
||||||
|
# references to the paths it was built with.
|
||||||
|
moveToOutput "bin" "${!outputDev}"
|
||||||
|
moveToOutput "include" "${!outputDev}"
|
||||||
|
|
||||||
|
# The destination directory must exist or moveToOutput will do nothing
|
||||||
|
mkdir -p "${!outputDev}/share"
|
||||||
|
moveToOutput "share/doc" "${!outputDev}"
|
||||||
|
}
|
||||||
|
|
||||||
|
_qtMultioutDevs() {
|
||||||
|
# This is necessary whether the package is a Qt module or not
|
||||||
|
moveToOutput "mkspecs" "${!outputDev}"
|
||||||
|
}
|
||||||
|
|
||||||
qtOut=""
|
qtOut=""
|
||||||
if [[ -z "$NIX_QT_SUBMODULE" ]]; then
|
if [[ -z "$NIX_QT_SUBMODULE" ]]; then
|
||||||
qtOut=`mktemp -d`
|
qtOut=`mktemp -d`
|
||||||
@ -72,7 +105,7 @@ fi
|
|||||||
|
|
||||||
mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share"
|
mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share"
|
||||||
|
|
||||||
cp "@out@/bin/qmake" "$qtOut/bin"
|
cp "@dev@/bin/qmake" "$qtOut/bin"
|
||||||
cat >"$qtOut/bin/qt.conf" <<EOF
|
cat >"$qtOut/bin/qt.conf" <<EOF
|
||||||
[Paths]
|
[Paths]
|
||||||
Prefix = $qtOut
|
Prefix = $qtOut
|
||||||
@ -84,17 +117,20 @@ EOF
|
|||||||
|
|
||||||
export QMAKE="$qtOut/bin/qmake"
|
export QMAKE="$qtOut/bin/qmake"
|
||||||
|
|
||||||
envHooks+=(addQtModule propagateRuntimeDeps)
|
envHooks+=(_qtLinkModule _qtPropagateRuntimeDependencies)
|
||||||
preConfigurePhases+=(setQMakePath)
|
# Set PATH to find qmake first in a preConfigure hook
|
||||||
|
# It must run after all the envHooks!
|
||||||
|
preConfigureHooks+=(_qtSetQmakePath)
|
||||||
|
|
||||||
|
preFixupHooks+=(_qtMultioutDevs)
|
||||||
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
if [[ -n "$NIX_QT_SUBMODULE" ]]; then
|
||||||
preFixupPhases+=(rmQtModules)
|
postInstallHooks+=(_qtRmQmake _qtRmModules)
|
||||||
postPhases+=(rmQMake)
|
preFixupHooks+=(_qtMultioutModuleDevs)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$NIX_QT_PIC" ]]; then
|
if [[ -z "$NIX_QT_PIC" ]]; then
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE${NIX_CFLAGS_COMPILE:+ }-fPIC"
|
||||||
export NIX_QT_PIC=1
|
export NIX_QT_PIC=1
|
||||||
fi
|
fi
|
||||||
|
@ -3,4 +3,8 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtconnectivity";
|
name = "qtconnectivity";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Bluetooth"
|
||||||
|
fixQtModuleCMakeConfig "Nfc"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -5,4 +5,10 @@ qtSubmodule {
|
|||||||
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
||||||
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
|
qtInputs = [ qtbase qtsvg qtxmlpatterns ];
|
||||||
nativeBuildInputs = [ python ];
|
nativeBuildInputs = [ python ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Qml"
|
||||||
|
fixQtModuleCMakeConfig "Quick"
|
||||||
|
fixQtModuleCMakeConfig "QuickTest"
|
||||||
|
fixQtModuleCMakeConfig "QuickWidgets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtenginio";
|
name = "qtenginio";
|
||||||
qtInputs = [ qtdeclarative ];
|
qtInputs = [ qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Enginio"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,8 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtlocation";
|
name = "qtlocation";
|
||||||
qtInputs = [ qtbase qtmultimedia ];
|
qtInputs = [ qtbase qtmultimedia ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Location"
|
||||||
|
fixQtModuleCMakeConfig "Positioning"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -9,4 +9,8 @@ qtSubmodule {
|
|||||||
pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
|
pkgconfig alsaLib gstreamer gst-plugins-base libpulseaudio
|
||||||
];
|
];
|
||||||
configureFlags = "GST_VERSION=1.0";
|
configureFlags = "GST_VERSION=1.0";
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Multimedia"
|
||||||
|
fixQtModuleCMakeConfig "MultimediaWidgets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,7 @@ qtSubmodule {
|
|||||||
name = "qtquick1";
|
name = "qtquick1";
|
||||||
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
patches = [ ./0001-nix-profiles-import-paths.patch ];
|
||||||
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
|
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Declarative"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -4,4 +4,7 @@ qtSubmodule {
|
|||||||
name = "qtscript";
|
name = "qtscript";
|
||||||
qtInputs = [ qtbase qttools ];
|
qtInputs = [ qtbase qttools ];
|
||||||
patches = [ ./0001-glib-2.32.patch ];
|
patches = [ ./0001-glib-2.32.patch ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Script"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtsensors";
|
name = "qtsensors";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Sensors"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -9,4 +9,7 @@ qtSubmodule {
|
|||||||
libudev = libudev.out;
|
libudev = libudev.out;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "SerialPort"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtsvg";
|
name = "qtsvg";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "Svg"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,14 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qttools";
|
name = "qttools";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
moveToOutput "bin/qdbus" "$out"
|
||||||
|
moveToOutput "bin/qtpaths" "$out"
|
||||||
|
|
||||||
|
fixQtModuleCMakeConfig "Designer"
|
||||||
|
fixQtModuleCMakeConfig "Help"
|
||||||
|
fixQtModuleCMakeConfig "LinguistTools"
|
||||||
|
fixQtModuleCMakeConfig "UiPlugin"
|
||||||
|
fixQtModuleCMakeConfig "UiTools"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -31,4 +31,8 @@ qtSubmodule {
|
|||||||
};
|
};
|
||||||
in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
|
in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
|
||||||
++ [ dlopen-webkit-udev ];
|
++ [ dlopen-webkit-udev ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "WebKit"
|
||||||
|
fixQtModuleCMakeConfig "WebKitWidgets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtwebsockets";
|
name = "qtwebsockets";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
qtInputs = [ qtbase qtdeclarative ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "WebSockets"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtx11extras";
|
name = "qtx11extras";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "X11Extras"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,7 @@
|
|||||||
qtSubmodule {
|
qtSubmodule {
|
||||||
name = "qtxmlpatterns";
|
name = "qtxmlpatterns";
|
||||||
qtInputs = [ qtbase ];
|
qtInputs = [ qtbase ];
|
||||||
|
postFixup = ''
|
||||||
|
fixQtModuleCMakeConfig "XmlPatterns"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ fixCmakeFiles() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cmakeConfigurePhase() {
|
cmakeConfigurePhase() {
|
||||||
eval "$preConfigure"
|
runHook preConfigure
|
||||||
|
|
||||||
if [ -z "$dontFixCmake" ]; then
|
if [ -z "$dontFixCmake" ]; then
|
||||||
fixCmakeFiles .
|
fixCmakeFiles .
|
||||||
@ -53,10 +53,11 @@ cmakeConfigurePhase() {
|
|||||||
|
|
||||||
cmake ${cmakeDir:-.} $cmakeFlags "${cmakeFlagsArray[@]}"
|
cmake ${cmakeDir:-.} $cmakeFlags "${cmakeFlagsArray[@]}"
|
||||||
|
|
||||||
eval "$postConfigure"
|
runHook postConfigure
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
|
if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
|
||||||
|
setOutputFlags=
|
||||||
configurePhase=cmakeConfigurePhase
|
configurePhase=cmakeConfigurePhase
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user