qt5: 5.14.2 -> 5.15.0

This commit is contained in:
Timothy DeHerrera 2020-07-24 19:26:29 -06:00 committed by Thomas Tuegel
parent 5bfb3ea696
commit eb919fa712
24 changed files with 2289 additions and 5 deletions

View File

@ -0,0 +1,176 @@
/*
# Updates
Before a major version update, make a copy of this directory. (We like to
keep the old version around for a short time after major updates.) Add a
top-level attribute to `top-level/all-packages.nix`.
1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
2. From the top of the Nixpkgs tree, run
`./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
3. Check that the new packages build correctly.
4. Commit the changes and open a pull request.
*/
{
newScope,
stdenv, fetchurl, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper,
bison, cups ? null, harfbuzz, libGL, perl,
gstreamer, gst-plugins-base, gtk3, dconf,
llvmPackages_5,
# options
developerBuild ? false,
decryptSslTraffic ? false,
debug ? false,
}:
with stdenv.lib;
let
qtCompatVersion = srcs.qtbase.version;
stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
mirror = "https://download.qt.io";
srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
# qtwebkit does not have an official release tarball on the qt mirror and is
# mostly maintained by the community.
qtwebkit = rec {
src = fetchFromGitHub {
owner = "qt";
repo = "qtwebkit";
rev = "v${version}";
sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg";
};
version = "5.212.0-alpha4";
};
};
patches = {
qtbase =
optionals stdenv.isDarwin [
./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
./qtbase.patch.d/0002-qtbase-mac.patch
]
++ [
./qtbase.patch.d/0003-qtbase-mkspecs.patch
./qtbase.patch.d/0004-qtbase-replace-libdir.patch
./qtbase.patch.d/0005-qtbase-cmake.patch
./qtbase.patch.d/0006-qtbase-gtk3.patch
./qtbase.patch.d/0007-qtbase-xcursor.patch
./qtbase.patch.d/0008-qtbase-tzdir.patch
./qtbase.patch.d/0009-qtbase-qtpluginpath.patch
./qtbase.patch.d/0010-qtbase-assert.patch
./qtbase.patch.d/0011-fix-header_module.patch
];
qtdeclarative = [ ./qtdeclarative.patch ];
qtscript = [ ./qtscript.patch ];
qtserialport = [ ./qtserialport.patch ];
qtwebengine = [ ]
++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
qtwebkit = [ ./qtwebkit.patch ]
++ optionals stdenv.isDarwin [
./qtwebkit-darwin-no-readline.patch
./qtwebkit-darwin-no-qos-classes.patch
];
qttools = [ ./qttools.patch ];
};
qtModule =
import ../qtModule.nix
{
inherit perl;
inherit (stdenv) lib;
# Use a variant of mkDerivation that does not include wrapQtApplications
# to avoid cyclic dependencies between Qt modules.
mkDerivation =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
stdenvActual.mkDerivation;
}
{ inherit self srcs patches; };
addPackages = self: with self;
let
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
in {
mkDerivationWith =
import ../mkDerivation.nix
{ inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
mkDerivation = mkDerivationWith stdenvActual.mkDerivation;
qtbase = callPackage ../modules/qtbase.nix {
inherit (srcs.qtbase) src version;
patches = patches.qtbase;
inherit bison cups harfbuzz libGL;
withGtk3 = true; inherit dconf gtk3;
inherit developerBuild decryptSslTraffic;
};
qtcharts = callPackage ../modules/qtcharts.nix {};
qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
qtdoc = callPackage ../modules/qtdoc.nix {};
qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
qtimageformats = callPackage ../modules/qtimageformats.nix {};
qtlocation = callPackage ../modules/qtlocation.nix {};
qtmacextras = callPackage ../modules/qtmacextras.nix {};
qtmultimedia = callPackage ../modules/qtmultimedia.nix {
inherit gstreamer gst-plugins-base;
};
qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
qtquick1 = null;
qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
qtscript = callPackage ../modules/qtscript.nix {};
qtsensors = callPackage ../modules/qtsensors.nix {};
qtserialport = callPackage ../modules/qtserialport.nix {};
qtspeech = callPackage ../modules/qtspeech.nix {};
qtsvg = callPackage ../modules/qtsvg.nix {};
qtscxml = callPackage ../modules/qtscxml.nix {};
qttools = callPackage ../modules/qttools.nix {};
qttranslations = callPackage ../modules/qttranslations.nix {};
qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
qtwayland = callPackage ../modules/qtwayland.nix {};
qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
qtwebengine = callPackage ../modules/qtwebengine.nix {};
qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
qtwebkit = callPackage ../modules/qtwebkit.nix {};
qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
qtwebview = callPackage ../modules/qtwebview.nix {};
qtx11extras = callPackage ../modules/qtx11extras.nix {};
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
env = callPackage ../qt-env.nix {};
full = env "qt-full-${qtbase.version}" ([
qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
qtscript qtsensors qtserialport qtsvg qttools qttranslations
qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
qtwebview qtx11extras qtxmlpatterns
] ++ optional (!stdenv.isDarwin) qtwayland
++ optional (stdenv.isDarwin) qtmacextras);
qmake = makeSetupHook {
deps = [ self.qtbase.dev ];
substitutions = {
fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
};
} ../hooks/qmake-hook.sh;
wrapQtAppsHook = makeSetupHook {
deps =
[ self.qtbase.dev makeWrapper ]
++ optional stdenv.isLinux self.qtwayland.dev;
} ../hooks/wrap-qt-apps-hook.sh;
};
self = makeScope newScope addPackages;
in self

View File

@ -0,0 +1 @@
WGET_ARGS=( http://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/ )

View File

@ -0,0 +1,411 @@
From 5ec1d1009d9943f20e82ffc087deabb31d447e75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
Date: Fri, 3 Apr 2020 21:07:58 +0200
Subject: [PATCH 01/11] qtbase-mkspecs-mac
---
mkspecs/common/mac.conf | 2 +-
mkspecs/features/mac/default_post.prf | 206 --------------------------
mkspecs/features/mac/default_pre.prf | 58 --------
mkspecs/features/mac/sdk.mk | 25 ----
mkspecs/features/mac/sdk.prf | 61 --------
5 files changed, 1 insertion(+), 351 deletions(-)
delete mode 100644 mkspecs/features/mac/sdk.mk
delete mode 100644 mkspecs/features/mac/sdk.prf
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
index 61bea952b2..9909dae726 100644
--- a/mkspecs/common/mac.conf
+++ b/mkspecs/common/mac.conf
@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL = \
QMAKE_FIX_RPATH = install_name_tool -id
-QMAKE_LFLAGS_RPATH = -Wl,-rpath,
+QMAKE_LFLAGS_RPATH =
QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
QMAKE_LFLAGS_REL_RPATH =
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index 92a9112bca..b80ec1e801 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -68,212 +68,6 @@ qt {
}
}
-# Add the same default rpaths as Xcode does for new projects.
-# This is especially important for iOS/tvOS/watchOS where no other option is possible.
-!no_default_rpath {
- uikit: QMAKE_RPATHDIR += @executable_path/Frameworks
- else: QMAKE_RPATHDIR += @executable_path/../Frameworks
- equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
-}
-
-# Don't pass -headerpad_max_install_names when using Bitcode.
-# In that case the linker emits a warning stating that the flag is ignored when
-# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
-# Using this flag is also unnecessary in practice on UIKit platforms since they
-# are sandboxed, and only UIKit platforms support bitcode to begin with.
-!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
-
-app_extension_api_only {
- QMAKE_CFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
- QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
- QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
-}
-
-macx-xcode {
- qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
- !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
- qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
- else: \
- qmake_pkginfo_typeinfo.value = "????"
- QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
-
- bundle_version = $$VERSION
- isEmpty(bundle_version): bundle_version = 1.0.0
-
- l = $$split(bundle_version, '.') 0 0 # make sure there are at least three
- VER_MAJ = $$member(l, 0, 0)
- VER_MIN = $$member(l, 1, 1)
- VER_PAT = $$member(l, 2, 2)
- unset(l)
-
- qmake_full_version.name = QMAKE_FULL_VERSION
- qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
- QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
-
- qmake_short_version.name = QMAKE_SHORT_VERSION
- qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
- QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
-
- !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
- debug_information_format.name = DEBUG_INFORMATION_FORMAT
- debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
- debug_information_format.build = debug
- QMAKE_MAC_XCODE_SETTINGS += debug_information_format
- }
-
- QMAKE_XCODE_ARCHS =
-
- arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
- arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
- QMAKE_MAC_XCODE_SETTINGS += arch_device
-
- simulator {
- arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
- arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
- QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
- QMAKE_MAC_XCODE_SETTINGS += arch_simulator
- }
-
- only_active_arch.name = ONLY_ACTIVE_ARCH
- only_active_arch.value = YES
- only_active_arch.build = debug
- QMAKE_MAC_XCODE_SETTINGS += only_active_arch
-} else {
- device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
- simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
- VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
-
- isEmpty(VALID_ARCHS): \
- error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
-
- single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
-
- ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
- ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
-
- QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
-
- arch_flags = $(EXPORT_ARCH_ARGS)
-
- QMAKE_CFLAGS += $$arch_flags
- QMAKE_CXXFLAGS += $$arch_flags
- QMAKE_LFLAGS += $$arch_flags
-
- QMAKE_PCH_ARCHS = $$VALID_ARCHS
-
- macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
- ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
- tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
- watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
-
- # If we're doing a simulator and device build, device and simulator
- # architectures use different paths and flags for the sysroot and
- # deployment target switch, so we must multiplex them across multiple
- # architectures using -Xarch. Otherwise we fall back to the simple path.
- # This is not strictly necessary, but results in cleaner command lines
- # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
- # individual rules to a different set of architecture(s) from the overall
- # build (such as machtest in QtCore).
- simulator:device {
- QMAKE_XARCH_CFLAGS =
- QMAKE_XARCH_LFLAGS =
- QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
-
- for (arch, VALID_ARCHS) {
- contains(VALID_SIMULATOR_ARCHS, $$arch) {
- sdk = $$simulator.sdk
- version_identifier = $$simulator.deployment_identifier
- } else {
- sdk = $$device.sdk
- version_identifier = $$device.deployment_identifier
- }
-
- version_min_flags = \
- -Xarch_$${arch} \
- -m$${version_identifier}-version-min=$$deployment_target
- QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
- -Xarch_$${arch} \
- -isysroot$$xcodeSDKInfo(Path, $$sdk)
- QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
- -Xarch_$${arch} \
- -isysroot$$xcodeSDKInfo(Path, $$sdk)
-
- QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
- QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
-
- QMAKE_EXTRA_VARIABLES += \
- QMAKE_XARCH_CFLAGS_$${arch} \
- QMAKE_XARCH_LFLAGS_$${arch}
- }
-
- QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
- QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
- QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
- } else {
- simulator {
- version_identifier = $$simulator.deployment_identifier
- sysroot_path = $$xcodeSDKInfo(Path, $$simulator.sdk)
- } else {
- version_identifier = $$device.deployment_identifier
- sysroot_path = $$xcodeSDKInfo(Path, $$device.sdk)
- }
- version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
- QMAKE_CFLAGS += -isysroot $$sysroot_path $$version_min_flag
- QMAKE_CXXFLAGS += -isysroot $$sysroot_path $$version_min_flag
- QMAKE_LFLAGS += -isysroot $$sysroot_path $$version_min_flag
- }
-
- # Enable precompiled headers for multiple architectures
- QMAKE_CFLAGS_USE_PRECOMPILE =
- for (arch, VALID_ARCHS) {
- icc_pch_style: \
- use_flag = "-pch-use "
- else: \
- use_flag = -include
-
- # Only use Xarch with multi-arch, as the option confuses ccache
- count(VALID_ARCHS, 1, greaterThan): \
- QMAKE_CFLAGS_USE_PRECOMPILE += \
- -Xarch_$${arch}
-
- QMAKE_CFLAGS_USE_PRECOMPILE += \
- $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
- }
- icc_pch_style {
- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
- QMAKE_CFLAGS_USE_PRECOMPILE =
- } else {
- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
- QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
- QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
- }
-
- QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
-}
-
-!equals(sdk_version, $$QMAKE_MAC_SDK_VERSION) {
- # Explicit SDK version has been set, respect that
- QMAKE_LFLAGS += -Wl,-sdk_version -Wl,$$sdk_version
-}
-
-cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
-!isEmpty(QMAKE_XCODE_VERSION): \
- cache(QMAKE_XCODE_VERSION, stash)
-
-QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
-
-xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER
-xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX
-isEmpty(xcode_product_bundle_identifier_setting.value): \
- xcode_product_bundle_identifier_setting.value = "com.yourcompany"
-xcode_product_bundle_target = $$QMAKE_BUNDLE
-isEmpty(xcode_product_bundle_target): \
- xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier}
-xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}"
-QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
-
!macx-xcode {
generate_xcode_project.commands = @$(QMAKE) -spec macx-xcode \"$(EXPORT__PRO_FILE_)\" $$QMAKE_ARGS
generate_xcode_project.target = xcodeproj
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
index e3534561a5..3b01424e67 100644
--- a/mkspecs/features/mac/default_pre.prf
+++ b/mkspecs/features/mac/default_pre.prf
@@ -1,60 +1,2 @@
CONFIG = asset_catalogs rez $$CONFIG
load(default_pre)
-
-isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
- # Get path of Xcode's Developer directory
- QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
- isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
- error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
-
- # Make sure Xcode path is valid
- !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
- error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
-}
-
-isEmpty(QMAKE_XCODEBUILD_PATH): \
- QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
-
-!isEmpty(QMAKE_XCODEBUILD_PATH) {
- # Make sure Xcode is set up properly
- !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
- error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
-
- isEmpty(QMAKE_XCODE_VERSION) {
- # Extract Xcode version using xcodebuild
- xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
- QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
- isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
- unset(xcode_version)
- }
-}
-
-isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
- QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
- exists($$QMAKE_XCODE_PREFERENCES_FILE): \
- QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
-
- !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
- cache(QMAKE_TARGET_BUNDLE_PREFIX)
-}
-
-QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
-
-# Make the default debug info format for static debug builds
-# DWARF instead of DWARF with dSYM. This cuts down build times
-# for application debug builds significantly, as Xcode doesn't
-# have to pull out all the DWARF info from the Qt static libs
-# and put it into a dSYM file. We don't need that dSYM file in
-# the first place, since the information is available in the
-# object files inside the archives (static libraries).
-macx-xcode:qtConfig(static): \
- QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
-
-# This variable is used by the xcode_dynamic_library_suffix
-# feature, which allows Xcode to choose the Qt libraries to link to
-# at build time, depending on the current Xcode SDK and configuration.
-QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
-
-xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP
-xcode_copy_phase_strip_setting.value = NO
-QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
diff --git a/mkspecs/features/mac/sdk.mk b/mkspecs/features/mac/sdk.mk
deleted file mode 100644
index c40f58c987..0000000000
--- a/mkspecs/features/mac/sdk.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-
-ifeq ($(QT_MAC_SDK_NO_VERSION_CHECK),)
- CHECK_SDK_COMMAND = /usr/bin/xcrun --sdk $(EXPORT_QMAKE_MAC_SDK) -show-sdk-version 2>&1
- CURRENT_MAC_SDK_VERSION := $(shell DEVELOPER_DIR=$(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) $(CHECK_SDK_COMMAND))
- ifneq ($(CURRENT_MAC_SDK_VERSION),$(EXPORT_QMAKE_MAC_SDK_VERSION))
- # We don't want to complain about out of date SDK unless the target needs to be remade.
- # This covers use-cases such as running 'make check' after moving the build to a
- # computer without Xcode or with a different Xcode version.
- TARGET_UP_TO_DATE := $(shell QT_MAC_SDK_NO_VERSION_CHECK=1 $(MAKE) --question $(QMAKE_TARGET) && echo 1 || echo 0)
- ifeq ($(TARGET_UP_TO_DATE),0)
- ifneq ($(findstring missing DEVELOPER_DIR path,$(CURRENT_MAC_SDK_VERSION)),)
- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) is no longer valid.)
- else ifneq ($(findstring SDK "$(EXPORT_QMAKE_MAC_SDK)" cannot be located,$(CURRENT_MAC_SDK_VERSION)),)
- $(info The developer dir $(EXPORT_QMAKE_XCODE_DEVELOPER_PATH) no longer contains the $(EXPORT_QMAKE_MAC_SDK_VERSION) platform SDK.)
- else ifneq ($(CURRENT_MAC_SDK_VERSION),)
- $(info The platform SDK has been changed from version $(EXPORT_QMAKE_MAC_SDK_VERSION) to version $(CURRENT_MAC_SDK_VERSION).)
- else
- $(info Unknown error resolving current platform SDK version.)
- endif
- $(info This requires a fresh build. Please wipe the build directory completely,)
- $(info including any .qmake.stash and .qmake.cache files generated by qmake.)
- $(error ^)
- endif
- endif
-endif
diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
deleted file mode 100644
index 3a9c2778bb..0000000000
--- a/mkspecs/features/mac/sdk.prf
+++ /dev/null
@@ -1,61 +0,0 @@
-
-isEmpty(QMAKE_MAC_SDK): \
- error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
-
-contains(QMAKE_MAC_SDK, .*/.*): \
- error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
-
-defineReplace(xcodeSDKInfo) {
- info = $$1
- equals(info, "Path"): \
- infoarg = --show-sdk-path
- equals(info, "PlatformPath"): \
- infoarg = --show-sdk-platform-path
- equals(info, "SDKVersion"): \
- infoarg = --show-sdk-version
- sdk = $$2
- isEmpty(sdk): \
- sdk = $$QMAKE_MAC_SDK
-
- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
- QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
- # --show-sdk-platform-path won't work for Command Line Tools; this is fine
- # only used by the XCTest backend to testlib
- isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
- error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
- cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
- }
-
- return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
-}
-
-QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
-QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
-QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
-
-isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) {
- QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL
- sysrootified =
- for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
- QMAKE_INCDIR_OPENGL = $$sysrootified
-}
-
-QMAKESPEC_NAME = $$basename(QMAKESPEC)
-
-# Resolve SDK version of various tools
-for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
- tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
- !isEmpty($$tool_variable) {
- $$tool = $$eval($$tool_variable)
- next()
- }
-
- value = $$eval($$tool)
- isEmpty(value): next()
-
- sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
- isEmpty(sysrooted): next()
-
- $$tool = $$sysrooted $$member(value, 1, -1)
- cache($$tool_variable, set stash, $$tool)
-}
--
2.25.4

View File

@ -0,0 +1,118 @@
From a9ba67d3db7390d9ddc46751346e70b0a522711a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
Date: Fri, 3 Apr 2020 21:15:27 +0200
Subject: [PATCH 02/11] qtbase-mac
---
src/corelib/kernel/qcore_mac_p.h | 16 ++++++++++++++--
src/testlib/qappletestlogger.cpp | 2 +-
src/testlib/qappletestlogger_p.h | 2 +-
src/testlib/qtestcase.cpp | 2 +-
src/testlib/qtestlog.cpp | 2 +-
src/testlib/qtestlog_p.h | 4 ++--
6 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h
index 535d3579b2..3d70bf39c1 100644
--- a/src/corelib/kernel/qcore_mac_p.h
+++ b/src/corelib/kernel/qcore_mac_p.h
@@ -225,7 +225,7 @@ private:
// --------------------------------------------------------------------------
-#if !defined(QT_BOOTSTRAPPED)
+#if 0
QT_END_NAMESPACE
#include <os/activity.h>
@@ -303,7 +303,19 @@ QT_MAC_WEAK_IMPORT(_os_activity_current);
#define QT_APPLE_SCOPED_LOG_ACTIVITY(...) QAppleLogActivity scopedLogActivity = QT_APPLE_LOG_ACTIVITY(__VA_ARGS__).enter();
-#endif // !defined(QT_BOOTSTRAPPED)
+#else // !defined(QT_BOOTSTRAPPED)
+
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT3(...)
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT2(...)
+#define QT_APPLE_LOG_ACTIVITY_WITH_PARENT(...)
+
+#define QT_APPLE_LOG_ACTIVITY2(...)
+#define QT_APPLE_LOG_ACTIVITY1(...)
+#define QT_APPLE_LOG_ACTIVITY(...)
+
+#define QT_APPLE_SCOPED_LOG_ACTIVITY(...)
+
+#endif
// -------------------------------------------------------------------------
diff --git a/src/testlib/qappletestlogger.cpp b/src/testlib/qappletestlogger.cpp
index dfeadebdef..2a74330c1d 100644
--- a/src/testlib/qappletestlogger.cpp
+++ b/src/testlib/qappletestlogger.cpp
@@ -43,7 +43,7 @@
QT_BEGIN_NAMESPACE
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
using namespace QTestPrivate;
diff --git a/src/testlib/qappletestlogger_p.h b/src/testlib/qappletestlogger_p.h
index 62c6d95c5a..f8e0a3b767 100644
--- a/src/testlib/qappletestlogger_p.h
+++ b/src/testlib/qappletestlogger_p.h
@@ -57,7 +57,7 @@
QT_BEGIN_NAMESPACE
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
class QAppleTestLogger : public QAbstractTestLogger
{
public:
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index f45999c7fa..d5b525dc12 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -849,7 +849,7 @@ Q_TESTLIB_EXPORT void qtest_qParseArgs(int argc, const char *const argv[], bool
bool addFallbackLogger = !explicitLoggerRequested;
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
// Any explicitly requested loggers will be added by now, so we can check if they use stdout
const bool safeToAddAppleLogger = !AppleUnifiedLogger::willMirrorToStderr() || !QTestLog::loggerUsingStdout();
if (safeToAddAppleLogger && QAppleTestLogger::debugLoggingEnabled()) {
diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
index a388780532..63ab965101 100644
--- a/src/testlib/qtestlog.cpp
+++ b/src/testlib/qtestlog.cpp
@@ -465,7 +465,7 @@ void QTestLog::addLogger(LogMode mode, const char *filename)
case QTestLog::TAP:
logger = new QTapTestLogger(filename);
break;
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
case QTestLog::Apple:
logger = new QAppleTestLogger;
break;
diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h
index ddaf14ed9b..0c49c93a88 100644
--- a/src/testlib/qtestlog_p.h
+++ b/src/testlib/qtestlog_p.h
@@ -74,8 +74,8 @@ public:
Q_DISABLE_COPY_MOVE(QTestLog)
enum LogMode {
- Plain = 0, XML, LightXML, JUnitXML, CSV, TeamCity, TAP
-#if defined(QT_USE_APPLE_UNIFIED_LOGGING)
+ Plain = 0, XML, LightXML, XunitXML, CSV, TeamCity, TAP
+#if defined(QT_USE_APPLE_UNIFIED_LOGGING) && 0
, Apple
#endif
#if defined(HAVE_XCTEST)
--
2.25.4

View File

@ -0,0 +1,464 @@
From 82771c437957b3684ce296997d795432756aa8b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
Date: Sat, 4 Apr 2020 00:25:52 +0200
Subject: [PATCH 03/11] qtbase-mkspecs
---
mkspecs/features/create_cmake.prf | 51 +++---------
.../data/cmake/Qt5BasicConfig.cmake.in | 80 +------------------
mkspecs/features/qml_module.prf | 2 +-
mkspecs/features/qml_plugin.prf | 2 +-
mkspecs/features/qt_app.prf | 2 +-
mkspecs/features/qt_build_paths.prf | 4 +-
mkspecs/features/qt_docs.prf | 10 +--
mkspecs/features/qt_example_installs.prf | 2 +-
mkspecs/features/qt_functions.prf | 2 +-
mkspecs/features/qt_installs.prf | 22 ++---
mkspecs/features/qt_plugin.prf | 2 +-
11 files changed, 38 insertions(+), 141 deletions(-)
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index 24ed125f12..f0666a1986 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -21,7 +21,7 @@ load(cmake_functions)
# at cmake time whether package has been found via a symlink, and correct
# that to an absolute path. This is only done for installations to
# the /usr or / prefix.
-CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
@@ -77,45 +77,20 @@ split_incpath {
$$cmake_extra_source_includes.output
}
-CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
-contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
- CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
- CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
-}
+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
-CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
-contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
- CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
- CMAKE_LIB_DIR_IS_ABSOLUTE = True
-} else {
- CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
- # We need to go up another two levels because the CMake files are
- # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
- CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
-}
+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
+CMAKE_BIN_DIR_IS_ABSOLUTE = True
-CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
-contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
- CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
- CMAKE_BIN_DIR_IS_ABSOLUTE = True
-}
+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
+CMAKE_LIB_DIR_IS_ABSOLUTE = True
-CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
-contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
- CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
- CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
-}
+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
-win32:!static:!staticlib {
- CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
- contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
- CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
- CMAKE_DLL_DIR_IS_ABSOLUTE = True
- }
-} else {
- CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
- CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
-}
+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
+CMAKE_DLL_DIR_IS_ABSOLUTE = True
static|staticlib:CMAKE_STATIC_TYPE = true
@@ -258,7 +233,7 @@ contains(CONFIG, plugin) {
cmake_qt5_plugin_file.files = $$cmake_target_file.output
static|staticlib: cmake_qt5_plugin_file.files += $$cmake_qt5_plugin_import_file.output
- cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
+ cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
INSTALLS += cmake_qt5_plugin_file
return()
@@ -400,7 +375,7 @@ exists($$cmake_macros_file.input) {
cmake_qt5_module_files.files += $$cmake_macros_file.output
}
-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
# We are generating cmake files. Most developers of Qt are not aware of cmake,
# so we require automatic tests to be available. The only module which should
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index 309798a767..b6c3ab8609 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -2,30 +2,6 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0)
message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
endif()
-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
-!!ELSE
-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
-# Use original install prefix when loaded through a
-# cross-prefix symbolic link such as /lib -> /usr/lib.
-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
-if(_realCurr STREQUAL _realOrig)
- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
-else()
- get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
-endif()
-unset(_realOrig)
-unset(_realCurr)
-unset(_IMPORT_PREFIX)
-!!ENDIF
-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
-!!ELSE
-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
-!!ENDIF
-
!!IF !equals(TEMPLATE, aux)
# For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
@@ -145,11 +121,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
IsDebugAndRelease)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-!!ELSE
set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-!!ENDIF
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
set(_deps
${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}
@@ -209,11 +181,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
!!ENDIF
!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-!!ELSE
set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-!!ENDIF
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
@@ -229,24 +197,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!IF !no_module_headers
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
+ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework\"
+ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Headers\"
)
!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
- )
-!!ELSE
- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-!!ENDIF
-!!ELSE
-!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
- set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
- set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
+ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/\"
+ \"$${CMAKE_LIB_DIR}$${CMAKE_QT_STEM}.framework/Versions/$$section(VERSION, .,0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
)
!!ELSE
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
@@ -262,7 +219,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
!!ENDIF
!!ENDIF
-!!ENDIF
!!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
!!ENDIF
@@ -499,25 +455,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
!!IF isEmpty(CMAKE_DEBUG_TYPE)
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
if (EXISTS
-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-!!ENDIF
AND EXISTS
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-!!ELSE
\"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
endif()
@@ -536,25 +480,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
!!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
!!IF isEmpty(CMAKE_RELEASE_TYPE)
!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" $${CMAKE_DEBUG_AND_RELEASE})
!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
if (EXISTS
-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-!!ENDIF
AND EXISTS
-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-!!ELSE
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
endif()
@@ -581,11 +513,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
IsDebugAndRelease)
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-!!ELSE
set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-!!ENDIF
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
set_target_properties(Qt5::${Plugin} PROPERTIES
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
index c0b50416c9..cabe39b22e 100644
--- a/mkspecs/features/qml_module.prf
+++ b/mkspecs/features/qml_module.prf
@@ -51,7 +51,7 @@ builtin_resources {
# Install rules
qmldir.base = $$qmldir_path
qmldir.files = $$qmldir_file
-qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
+qmldir.path = $$NIX_OUTPUT_QML/$$TARGETPATH
qmlfiles.base = $$_PRO_FILE_PWD_
qmlfiles.files = $$fq_aux_qml_files
diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
index 1b67435787..24a1f78c17 100644
--- a/mkspecs/features/qml_plugin.prf
+++ b/mkspecs/features/qml_plugin.prf
@@ -50,7 +50,7 @@ load(qt_build_paths)
DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-target.path = $$[QT_INSTALL_QML]/$$TARGETPATH
+target.path = $$NIX_OUTPUT_QML/$$TARGETPATH
INSTALLS += target
# Some final setup
diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
index 8354f30eea..62028fef8e 100644
--- a/mkspecs/features/qt_app.prf
+++ b/mkspecs/features/qt_app.prf
@@ -30,7 +30,7 @@ host_build:force_bootstrap {
target.path = $$[QT_HOST_BINS]
} else {
!build_pass:qtConfig(debug_and_release): CONFIG += release
- target.path = $$[QT_INSTALL_BINS]
+ target.path = $$NIX_OUTPUT_BIN/bin
CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
}
INSTALLS += target
diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
index 3bb3823a8e..655b7b7db8 100644
--- a/mkspecs/features/qt_build_paths.prf
+++ b/mkspecs/features/qt_build_paths.prf
@@ -24,6 +24,6 @@ exists($$MODULE_BASE_INDIR/.git): \
!force_independent {
# If the module is not built independently, everything ends up in qtbase.
# This is the case in non-prefix builds, except for selected modules.
- MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
- MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
+ MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
+ MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
}
diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
index 095bf15dac..4cc977bea5 100644
--- a/mkspecs/features/qt_docs.prf
+++ b/mkspecs/features/qt_docs.prf
@@ -65,7 +65,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
!build_online_docs: \
- QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
+ QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
PREP_DOC_INDEXES =
DOC_INDEXES =
!isEmpty(QTREPOS) {
@@ -84,8 +84,8 @@ DOC_INDEXES =
DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
} else {
prepare_docs: \
- PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
- DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
+ PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
+ DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
}
qtattributionsscanner.target = qtattributionsscanner
@@ -108,12 +108,12 @@ prepare_docs {
qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
- inst_html_docs.path = $$[QT_INSTALL_DOCS]
+ inst_html_docs.path = $$NIX_OUTPUT_DOC
inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
INSTALLS += inst_html_docs
inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
- inst_qch_docs.path = $$[QT_INSTALL_DOCS]
+ inst_qch_docs.path = $$NIX_OUTPUT_DOC
inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
INSTALLS += inst_qch_docs
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index 15b373ba40..5c373fe1d5 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -91,7 +91,7 @@ sourcefiles += \
$$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
$$DBUS_ADAPTORS $$DBUS_INTERFACES
addInstallFiles(sources.files, $$sourcefiles)
-sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
INSTALLS += sources
check_examples {
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 7777e615bd..abeb03a663 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -87,7 +87,7 @@ defineTest(qtHaveModule) {
defineTest(qtPrepareTool) {
cmd = $$eval(QT_TOOL.$${2}.binary)
isEmpty(cmd) {
- cmd = $$[QT_HOST_BINS]/$$2
+ cmd = $$system("command -v $$2")
exists($${cmd}.pl) {
$${1}_EXE = $${cmd}.pl
cmd = perl -w $$system_path($${cmd}.pl)
diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
index 1ebca17366..a8f958eae8 100644
--- a/mkspecs/features/qt_installs.prf
+++ b/mkspecs/features/qt_installs.prf
@@ -12,16 +12,10 @@
#library
!qt_no_install_library {
win32 {
- host_build: \
- dlltarget.path = $$[QT_HOST_BINS]
- else: \
- dlltarget.path = $$[QT_INSTALL_BINS]
+ dlltarget.path = $$NIX_OUTPUT_BIN/bin
INSTALLS += dlltarget
}
- host_build: \
- target.path = $$[QT_HOST_LIBS]
- else: \
- target.path = $$[QT_INSTALL_LIBS]
+ target.path = $$NIX_OUTPUT_OUT/lib
!static: target.CONFIG = no_dll
INSTALLS += target
}
@@ -29,35 +23,35 @@
#headers
qt_install_headers {
gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES
- gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
+ gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
INSTALLS += gen_headers
targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES
- targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
+ targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
INSTALLS += targ_headers
private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
- private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
+ private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
generated_privates: \
private_headers.CONFIG += no_check_exist
INSTALLS += private_headers
qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
- qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
+ qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
INSTALLS += qpa_headers
}
#module
qt_install_module {
!isEmpty(MODULE_PRI) {
- pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
+ pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
pritarget.files = $$MODULE_PRI
INSTALLS += pritarget
} else: isEmpty(MODULE_PRIVATE_PRI) {
warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
}
!isEmpty(MODULE_PRIVATE_PRI) {
- privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
+ privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
privpritarget.files = $$MODULE_PRIVATE_PRI
INSTALLS += privpritarget
}
diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
index 573d717eea..024c624cb6 100644
--- a/mkspecs/features/qt_plugin.prf
+++ b/mkspecs/features/qt_plugin.prf
@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
}
}
-target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
INSTALLS += target
qt_libinfix_plugins: TARGET = $$TARGET$$QT_LIBINFIX
--
2.25.4

View File

@ -0,0 +1,68 @@
From 30d3906ff5e8671e9c97c5336c6c549656c0e293 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
Date: Sat, 4 Apr 2020 00:27:41 +0200
Subject: [PATCH 04/11] qtbase-replace-libdir
---
mkspecs/features/qt_common.prf | 20 ++------------------
mkspecs/features/qt_module.prf | 5 +----
2 files changed, 3 insertions(+), 22 deletions(-)
diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
index 8df94aa4ee..414029f31c 100644
--- a/mkspecs/features/qt_common.prf
+++ b/mkspecs/features/qt_common.prf
@@ -31,32 +31,16 @@ contains(TEMPLATE, .*lib)|contains(TEMPLATE, aux) {
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
else: \
rplbase = $$MODULE_BASE_OUTDIR
- host_build {
- qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
- qt_libdir = $$[QT_HOST_LIBS]
- } else {
- qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
- qt_libdir = $$[QT_INSTALL_LIBS]
- }
+ qt_libdir = $$NIX_OUTPUT_OUT/lib
contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
- lib_replace0.match = $$rplbase/lib/
- lib_replace0.replace = $$qqt_libdir/
- lib_replace0.CONFIG = path
- QMAKE_PRL_INSTALL_REPLACE += lib_replace0
lib_replace.match = "[^ ']*$$rplbase/lib"
lib_replace.replace =
} else {
lib_replace.match = $$rplbase/lib
- lib_replace.replace = $$qqt_libdir
+ lib_replace.replace = $$qt_libdir
}
lib_replace.CONFIG = path
QMAKE_PRL_INSTALL_REPLACE += lib_replace
- !equals(qt_libdir, $$rplbase/lib) {
- qtlibdir_replace.match = $$qt_libdir
- qtlibdir_replace.replace = $$qqt_libdir
- qtlibdir_replace.CONFIG = path
- QMAKE_PRL_INSTALL_REPLACE += qtlibdir_replace
- }
}
contains(TEMPLATE, .*lib)|darwin {
if(!host_build|!cross_compile):qtConfig(reduce_exports): CONFIG += hide_symbols
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 828a9621b9..b9e5d35026 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -305,10 +305,7 @@ load(qt_targets)
}
!lib_bundle:unix {
CONFIG += create_libtool
- host_build: \
- QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS]
- else: \
- QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]"
+ QMAKE_LIBTOOL_LIBDIR = $$NIX_OUTPUT_OUT/lib
!isEmpty(lib_replace0.match) {
ltlib_replace0.match = $$lib_replace0.match
ltlib_replace0.replace = $$QMAKE_LIBTOOL_LIBDIR/
--
2.25.4

View File

@ -0,0 +1,194 @@
From 7871fbcefc7596a458cec005edafd9d4962baea3 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 17 Sep 2019 05:34:28 -0500
Subject: [PATCH 05/11] qtbase-cmake
---
mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 2 +-
mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in | 4 ++--
src/corelib/Qt5CoreConfigExtras.cmake.in | 10 +++++-----
src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in | 2 +-
.../Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in | 2 +-
src/dbus/Qt5DBusConfigExtras.cmake.in | 12 ++----------
src/gui/Qt5GuiConfigExtras.cmake.in | 6 +++---
src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
8 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index b6c3ab8609..edb6a89316 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -513,7 +513,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
IsDebugAndRelease)
set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+ set(imported_location \"${PLUGIN_LOCATION}\")
_qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
set_target_properties(Qt5::${Plugin} PROPERTIES
\"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
index b550a52c60..dbd3243885 100644
--- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
@@ -53,10 +53,10 @@ set_property(TARGET Qt5::$$CMAKE_PLUGIN_NAME PROPERTY INTERFACE_SOURCES
!!ENDIF
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\" $${CMAKE_DEBUG_AND_RELEASE})
!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\" $${CMAKE_DEBUG_AND_RELEASE})
!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
index 4c1c3a612b..bb8ab08143 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
@@ -6,7 +6,7 @@ if (NOT TARGET Qt5::qmake)
add_executable(Qt5::qmake IMPORTED)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
!!ELSE
set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
!!ENDIF
@@ -21,7 +21,7 @@ if (NOT TARGET Qt5::moc)
add_executable(Qt5::moc IMPORTED)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
!!ELSE
set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
!!ENDIF
@@ -38,7 +38,7 @@ if (NOT TARGET Qt5::rcc)
add_executable(Qt5::rcc IMPORTED)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
!!ELSE
set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
!!ENDIF
@@ -121,7 +121,7 @@ if (NOT TARGET Qt5::WinMain)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
!!ELSE
set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
!!ENDIF
@@ -135,7 +135,7 @@ if (NOT TARGET Qt5::WinMain)
set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
!!ELSE
set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
!!ENDIF
diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
index c357237d0e..6f0c75de3c 100644
--- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
@@ -1,6 +1,6 @@
!!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
!!ELSE
set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
!!ENDIF
diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
index 706304cf34..546420f6ad 100644
--- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
@@ -1,6 +1,6 @@
!!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
!!ELSE
set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
!!ENDIF
diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
index a814678f7b..b13b964ec8 100644
--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
@@ -2,11 +2,7 @@
if (NOT TARGET Qt5::qdbuscpp2xml)
add_executable(Qt5::qdbuscpp2xml IMPORTED)
-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-!!ENDIF
+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
_qt5_DBus_check_file_exists(${imported_location})
set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
@@ -17,11 +13,7 @@ endif()
if (NOT TARGET Qt5::qdbusxml2cpp)
add_executable(Qt5::qdbusxml2cpp IMPORTED)
-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-!!ENDIF
+ set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
_qt5_DBus_check_file_exists(${imported_location})
set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
index 84dbbfebd4..8ad0720c5c 100644
--- a/src/gui/Qt5GuiConfigExtras.cmake.in
+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
@@ -2,7 +2,7 @@
!!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
!!ELSE
set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
!!ENDIF
@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
!!ELSE
set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
!!ENDIF
!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
- set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
!!ELSE
set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
!!ENDIF
diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
index 83d8004a08..ca0b8e4bfb 100644
--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
add_executable(Qt5::uic IMPORTED)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
- set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
!!ELSE
set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
!!ENDIF
--
2.25.4

View File

@ -0,0 +1,48 @@
From 7a9f4f875053aed8ab387161eea623bf8325cfa8 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 17 Sep 2019 05:35:33 -0500
Subject: [PATCH 06/11] qtbase-gtk3
---
src/plugins/platformthemes/gtk3/main.cpp | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
index 860fc3a26e..8cd4663d49 100644
--- a/src/plugins/platformthemes/gtk3/main.cpp
+++ b/src/plugins/platformthemes/gtk3/main.cpp
@@ -39,6 +39,7 @@
#include <qpa/qplatformthemeplugin.h>
#include "qgtk3theme.h"
+#include <QFile>
QT_BEGIN_NAMESPACE
@@ -54,8 +55,22 @@ public:
QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
{
Q_UNUSED(params);
- if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
+ if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
+
+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
+ QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
+ XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
+ qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
+#endif
+
+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
+ QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
+ GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
+ qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
+#endif
+
return new QGtk3Theme;
+ }
return nullptr;
}
--
2.25.4

View File

@ -0,0 +1,29 @@
From 707098eada20ba074e642a73248de74407bc261c Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 17 Sep 2019 05:35:58 -0500
Subject: [PATCH 07/11] qtbase-xcursor
---
src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
index 42c7a52bd4..ba670ddb44 100644
--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
+++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
@@ -317,10 +317,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
static bool function_ptrs_not_initialized = true;
if (function_ptrs_not_initialized) {
- QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
+ QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
bool xcursorFound = xcursorLib.load();
if (!xcursorFound) { // try without the version number
- xcursorLib.setFileName(QLatin1String("Xcursor"));
+ xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
xcursorFound = xcursorLib.load();
}
if (xcursorFound) {
--
2.25.4

View File

@ -0,0 +1,64 @@
From da003b582ee8823b29b1ff5c0aca8e06e7741b94 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 17 Sep 2019 05:36:25 -0500
Subject: [PATCH 08/11] qtbase-tzdir
---
src/corelib/time/qtimezoneprivate_tz.cpp | 31 +++++++++++++++---------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp
index 01f9a6cce0..910338205a 100644
--- a/src/corelib/time/qtimezoneprivate_tz.cpp
+++ b/src/corelib/time/qtimezoneprivate_tz.cpp
@@ -77,7 +77,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
// Parse zone.tab table, assume lists all installed zones, if not will need to read directories
static QTzTimeZoneHash loadTzTimeZones()
{
- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+ // Try TZDIR first, in case we're running on NixOS.
+ QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
+ // Fallback to traditional paths in case we are not on NixOS.
+ if (!QFile::exists(path))
+ path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
if (!QFile::exists(path))
path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
@@ -672,20 +676,23 @@ QTzTimeZoneCacheEntry QTzTimeZoneCache::findEntry(const QByteArray &ianaId)
if (!tzif.open(QIODevice::ReadOnly))
return ret;
} else {
- // Open named tz, try modern path first, if fails try legacy path
- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+ // Try TZDIR first, in case we're running on NixOS
+ tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
if (!tzif.open(QIODevice::ReadOnly)) {
- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
if (!tzif.open(QIODevice::ReadOnly)) {
- // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ
- const QByteArray zoneInfo = ianaId.split(',').at(0);
- const char *begin = zoneInfo.constBegin();
- if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset()
- && (begin == zoneInfo.constEnd()
- || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) {
- ret.m_posixRule = ianaId;
+ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+ if (!tzif.open(QIODevice::ReadOnly)) {
+ // ianaId may be a POSIX rule, taken from $TZ or /etc/TZ
+ const QByteArray zoneInfo = ianaId.split(',').at(0);
+ const char *begin = zoneInfo.constBegin();
+ if (PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset()
+ && (begin == zoneInfo.constEnd()
+ || PosixZone::parse(begin, zoneInfo.constEnd()).hasValidOffset())) {
+ ret.m_posixRule = ianaId;
+ }
+ return ret;
}
- return ret;
}
}
}
--
2.25.4

View File

@ -0,0 +1,33 @@
From 9fc6efaf774a8716932c98c0b0ea6408ed2614c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Milan=20P=C3=A4ssler?= <me@pbb.lc>
Date: Sun, 10 May 2020 12:47:28 +0200
Subject: [PATCH 09/11] qtbase-qtpluginpath
---
src/corelib/kernel/qcoreapplication.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 5fdcc9b914..1a126ef359 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -2691,6 +2691,16 @@ QStringList QCoreApplication::libraryPathsLocked()
QStringList *app_libpaths = new QStringList;
coreappdata()->app_libpaths.reset(app_libpaths);
+ // Add library paths derived from PATH
+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
+ const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
+ for (const QString &path: paths) {
+ if (!path.isEmpty()) {
+ app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
+ }
+ }
+
+
auto setPathsFromEnv = [&](QString libPathEnv) {
if (!libPathEnv.isEmpty()) {
QStringList paths = libPathEnv.split(QDir::listSeparator(), Qt::SkipEmptyParts);
--
2.25.4

View File

@ -0,0 +1,32 @@
From 015845b3c320d02691f28373097d1e6dbbac79f7 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 17 Sep 2019 05:37:04 -0500
Subject: [PATCH 10/11] qtbase-assert
---
src/testlib/qtestassert.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
index 6498ea84ef..d821ced7fc 100644
--- a/src/testlib/qtestassert.h
+++ b/src/testlib/qtestassert.h
@@ -44,10 +44,13 @@
QT_BEGIN_NAMESPACE
-
+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
+#else
#define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
-
#define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
+#endif
QT_END_NAMESPACE
--
2.25.4

View File

@ -0,0 +1,25 @@
From 2bce8511877db1db532e1437e7140b1d55633f86 Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Mon, 30 Sep 2019 20:15:40 -0500
Subject: [PATCH 11/11] fix header_module
---
mkspecs/features/qt_module.prf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index b9e5d35026..9924271042 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -84,7 +84,7 @@ header_module {
CONFIG += qt_no_install_library
# Allow creation of .prl, .la and .pc files.
- target.path = $$[QT_INSTALL_LIBS]
+ target.path = $$NIX_OUTPUT_OUT/lib
target.CONFIG += dummy_install
INSTALLS += target
} else {
--
2.25.4

View File

@ -0,0 +1,114 @@
diff --git a/src/particles/particles.pro b/src/particles/particles.pro
index aaaa83419a..58aee00036 100644
--- a/src/particles/particles.pro
+++ b/src/particles/particles.pro
@@ -20,6 +20,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick/Particles.2
QML_IMPORT_NAME = QtQuick.Particles
IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
load(qt_module)
diff --git a/src/qml/qml.pro b/src/qml/qml.pro
index e39a8319b6..90c0331278 100644
--- a/src/qml/qml.pro
+++ b/src/qml/qml.pro
@@ -72,6 +72,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQml
QML_IMPORT_NAME = QtQml
IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
load(qt_module)
diff --git a/src/qmlmodels/qmlmodels.pro b/src/qmlmodels/qmlmodels.pro
index 4ac093556d..112e2c2be0 100644
--- a/src/qmlmodels/qmlmodels.pro
+++ b/src/qmlmodels/qmlmodels.pro
@@ -68,6 +68,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQml/Models.2
QML_IMPORT_NAME = QtQml.Models
IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
load(qt_module)
diff --git a/src/qmltest/qmltest.pro b/src/qmltest/qmltest.pro
index c2e8068fc6..79dba368f7 100644
--- a/src/qmltest/qmltest.pro
+++ b/src/qmltest/qmltest.pro
@@ -34,7 +34,7 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/Qt/test/qtestroot
QML_IMPORT_NAME = Qt.test.qtestroot
QML_IMPORT_VERSION = 1.0
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
# Install qmldir
qmldir.files = $$PWD/qmldir
diff --git a/src/qmlworkerscript/qmlworkerscript.pro b/src/qmlworkerscript/qmlworkerscript.pro
index 84466062e1..79885455cc 100644
--- a/src/qmlworkerscript/qmlworkerscript.pro
+++ b/src/qmlworkerscript/qmlworkerscript.pro
@@ -23,6 +23,6 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQml/WorkerScript.2
QML_IMPORT_NAME = QtQml.WorkerScript
IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
load(qt_module)
diff --git a/src/quick/quick.pro b/src/quick/quick.pro
index f2d49cf939..c401b04c4e 100644
--- a/src/quick/quick.pro
+++ b/src/quick/quick.pro
@@ -52,4 +52,4 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick.2
QML_IMPORT_NAME = QtQuick
IMPORT_VERSION = 2.$$QT_MINOR_VERSION
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
diff --git a/src/quickshapes/quickshapes.pro b/src/quickshapes/quickshapes.pro
index 4dbd3e5e46..0c6b186fc8 100644
--- a/src/quickshapes/quickshapes.pro
+++ b/src/quickshapes/quickshapes.pro
@@ -36,4 +36,4 @@ QMLTYPES_FILENAME = plugins.qmltypes
QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick/Shapes
QML_IMPORT_NAME = QtQuick.Shapes
IMPORT_VERSION = 1.$$QT_MINOR_VERSION
-CONFIG += qmltypes install_qmltypes install_metatypes
+CONFIG += qmltypes install_qmltypes
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index 005db4248..685c5b1b2 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
addImportPath(installImportsPath);
+ // Add import paths derived from PATH
+ const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
+ const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
+ for (const QString &path: paths) {
+ if (!path.isEmpty()) {
+ addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
+ }
+ }
+
// env import paths
if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
index 537eaf62ea..e21de58f64 100644
--- a/tools/qmlcachegen/qmlcache.prf
+++ b/tools/qmlcachegen/qmlcache.prf
@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
}
qmlcacheinst.base = $$QMLCACHE_DESTDIR
-qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
qmlcacheinst.CONFIG = no_check_exist
qmlcachegen.input = CACHEGEN_FILES

View File

@ -0,0 +1,13 @@
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
index 1f6d25e..087c3fb 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
@@ -81,7 +81,7 @@
#include <pthread.h>
#elif PLATFORM(GTK)
#include <wtf/gtk/GOwnPtr.h>
-typedef struct _GMutex GMutex;
+typedef union _GMutex GMutex;
typedef struct _GCond GCond;
#endif

View File

@ -0,0 +1,22 @@
diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
index af2dab2..8e17f64 100644
--- a/src/serialport/qtudev_p.h
+++ b/src/serialport/qtudev_p.h
@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
inline bool resolveSymbols(QLibrary *udevLibrary)
{
if (!udevLibrary->isLoaded()) {
+#ifdef NIXPKGS_LIBUDEV
+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
+#else
udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
+#endif
if (!udevLibrary->load()) {
+#ifdef NIXPKGS_LIBUDEV
+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
+#else
udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
+#endif
if (!udevLibrary->load()) {
qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
return false;

View File

@ -0,0 +1,15 @@
--- a/src/macdeployqt/shared/shared.cpp
+++ b/src/macdeployqt/shared/shared.cpp
@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
if (!QFile(qmlImportScannerPath).exists())
qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
+#ifdef NIXPKGS_QMLIMPORTSCANNER
+ // Fallback: Nixpkgs hardcoded path
+ if (!QFile(qmlImportScannerPath).exists())
+ qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
+#endif
+
// Verify that we found a qmlimportscanner binary
if (!QFile(qmlImportScannerPath).exists()) {
LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;

View File

@ -0,0 +1,33 @@
diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
--- a/mkspecs/features/platform.prf
+++ b/mkspecs/features/platform.prf
@@ -40,8 +40,6 @@ defineTest(isPlatformSupported) {
} else:osx {
# FIXME: Try to get it back down to 8.2 for building on OS X 10.11
!isMinXcodeVersion(8, 3, 3) {
- skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 8.3.3 is required to build Qt WebEngine.")
- return(false)
}
!clang|intel_icc {
skipBuild("Qt WebEngine on macOS requires Clang.")
@@ -54,8 +52,6 @@ defineTest(isPlatformSupported) {
return(false)
}
!isMinOSXSDKVersion(10, 12): {
- skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.12 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
- return(false)
}
} else {
skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
--- a/src/core/config/mac_osx.pri
+++ b/src/core/config/mac_osx.pri
@@ -5,8 +5,6 @@ load(functions)
# otherwise query for it.
QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
isEmpty(QMAKE_MAC_SDK_VERSION) {
- QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
- isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
}
QMAKE_CLANG_DIR = "/usr"

View File

@ -0,0 +1,11 @@
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
--- a/Source/cmake/OptionsQt.cmake
+++ b/Source/cmake/OptionsQt.cmake
@@ -683,7 +683,6 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG)
endif ()
if (APPLE)
- SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1)
endif ()
if (ENABLE_MATHML)

View File

@ -0,0 +1,45 @@
diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt
--- a/Source/JavaScriptCore/shell/CMakeLists.txt
+++ b/Source/JavaScriptCore/shell/CMakeLists.txt
@@ -9,7 +9,6 @@ set(JSC_LIBRARIES
)
if (WTF_OS_MAC_OS_X)
- list(APPEND JSC_LIBRARIES edit)
endif ()
if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC")
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -563,7 +563,6 @@
#if PLATFORM(IOS)
#define HAVE_NETWORK_EXTENSION 1
-#define HAVE_READLINE 1
#if USE(APPLE_INTERNAL_SDK)
#define USE_CFNETWORK 1
#endif
@@ -650,7 +649,6 @@
#define HAVE_MADV_DONTNEED 1
#define HAVE_MERGESORT 1
#define HAVE_PTHREAD_SETNAME_NP 1
-#define HAVE_READLINE 1
#define HAVE_SYS_TIMEB_H 1
#if !PLATFORM(GTK) && !PLATFORM(QT)
diff --git a/Source/WTF/wtf/PlatformMac.cmake b/Source/WTF/wtf/PlatformMac.cmake
--- a/Source/WTF/wtf/PlatformMac.cmake
+++ b/Source/WTF/wtf/PlatformMac.cmake
@@ -2,11 +2,9 @@ set(WTF_LIBRARY_TYPE SHARED)
find_library(COCOA_LIBRARY Cocoa)
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
-find_library(READLINE_LIBRARY Readline)
list(APPEND WTF_LIBRARIES
${COREFOUNDATION_LIBRARY}
${COCOA_LIBRARY}
- ${READLINE_LIBRARY}
libicucore.dylib
)

View File

@ -0,0 +1,12 @@
diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
--- a/Source/WebKit2/PlatformQt.cmake
+++ b/Source/WebKit2/PlatformQt.cmake
@@ -261,6 +261,7 @@
list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
${GLIB_INCLUDE_DIRS}
${GSTREAMER_INCLUDE_DIRS}
+ ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
${Qt5Quick_INCLUDE_DIRS}
${Qt5Quick_PRIVATE_INCLUDE_DIRS}
${SQLITE_INCLUDE_DIR}

View File

@ -0,0 +1,342 @@
# DO NOT EDIT! This file is generated automatically.
# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/5.15
{ fetchurl, mirror }:
{
qt3d = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qt3d-everywhere-src-5.15.0.tar.xz";
sha256 = "61856f0c453b79e98b7a1e65ea8f59976fa78230ffa8dec959b5f4b45383dffd";
name = "qt3d-everywhere-src-5.15.0.tar.xz";
};
};
qtactiveqt = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtactiveqt-everywhere-src-5.15.0.tar.xz";
sha256 = "1b455eacfb9ef49912d7a79040ea409a6ab88dfa192d313e6b5e02a79d741b51";
name = "qtactiveqt-everywhere-src-5.15.0.tar.xz";
};
};
qtandroidextras = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtandroidextras-everywhere-src-5.15.0.tar.xz";
sha256 = "c9019185221e94e37e250c84acaebfb7b2f5342e8ad60cdcff052ac2b85ec671";
name = "qtandroidextras-everywhere-src-5.15.0.tar.xz";
};
};
qtbase = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz";
sha256 = "9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5";
name = "qtbase-everywhere-src-5.15.0.tar.xz";
};
};
qtcharts = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtcharts-everywhere-src-5.15.0.tar.xz";
sha256 = "44a24fc16abcaf9ae97ecf3215f6f3b44ebdb3b73bcb4ed3549a51519e4883a7";
name = "qtcharts-everywhere-src-5.15.0.tar.xz";
};
};
qtconnectivity = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtconnectivity-everywhere-src-5.15.0.tar.xz";
sha256 = "f911fb8f8bf3a9958785d0378d25ced8989047938b7138d619854a94fa0b27dd";
name = "qtconnectivity-everywhere-src-5.15.0.tar.xz";
};
};
qtdatavis3d = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdatavis3d-everywhere-src-5.15.0.tar.xz";
sha256 = "8f07747f371f7c515c667240a795105c89aa83c08d88ee92fa1ef7efccea10a3";
name = "qtdatavis3d-everywhere-src-5.15.0.tar.xz";
};
};
qtdeclarative = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdeclarative-everywhere-src-5.15.0.tar.xz";
sha256 = "9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699";
name = "qtdeclarative-everywhere-src-5.15.0.tar.xz";
};
};
qtdoc = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtdoc-everywhere-src-5.15.0.tar.xz";
sha256 = "07ca8db98c317f25cc9a041c48a6824baf63893bf5b535d6f8d266dea8c7659f";
name = "qtdoc-everywhere-src-5.15.0.tar.xz";
};
};
qtgamepad = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtgamepad-everywhere-src-5.15.0.tar.xz";
sha256 = "dda54d9f90897944bed5e6af48a904a677fd97eb6f57ab08a2b232c431caf31a";
name = "qtgamepad-everywhere-src-5.15.0.tar.xz";
};
};
qtgraphicaleffects = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtgraphicaleffects-everywhere-src-5.15.0.tar.xz";
sha256 = "0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda";
name = "qtgraphicaleffects-everywhere-src-5.15.0.tar.xz";
};
};
qtimageformats = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtimageformats-everywhere-src-5.15.0.tar.xz";
sha256 = "83f32101b1a898fcb8ed6f11a657d1125484ac0c2223014b61849d9010efebc8";
name = "qtimageformats-everywhere-src-5.15.0.tar.xz";
};
};
qtlocation = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtlocation-everywhere-src-5.15.0.tar.xz";
sha256 = "c68b0778a521e5522641c41b1778999dd408ebfda1e0de166a83743268be5f3f";
name = "qtlocation-everywhere-src-5.15.0.tar.xz";
};
};
qtlottie = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtlottie-everywhere-src-5.15.0.tar.xz";
sha256 = "2053f474dcd7184fdcae2507f47af6527f6ca25b4424483f9265853c3626c833";
name = "qtlottie-everywhere-src-5.15.0.tar.xz";
};
};
qtmacextras = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtmacextras-everywhere-src-5.15.0.tar.xz";
sha256 = "95a8c35b30373224cdd6d1ca0bdda1a314b20e91551a4824e8ca7e50ce8ff439";
name = "qtmacextras-everywhere-src-5.15.0.tar.xz";
};
};
qtmultimedia = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtmultimedia-everywhere-src-5.15.0.tar.xz";
sha256 = "0708d867697f392dd3600c5c1c88f5c61b772a5250a4d059dca67b844af0fbd7";
name = "qtmultimedia-everywhere-src-5.15.0.tar.xz";
};
};
qtnetworkauth = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtnetworkauth-everywhere-src-5.15.0.tar.xz";
sha256 = "96c6107f6e85662a05f114c5b9bd3503a3100bd940e1494c73a99e77f9e7cf85";
name = "qtnetworkauth-everywhere-src-5.15.0.tar.xz";
};
};
qtpurchasing = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtpurchasing-everywhere-src-5.15.0.tar.xz";
sha256 = "2127f180c4889055d88e2b402b62be80a5a213a0e48d2056cc9a01d9913b3a16";
name = "qtpurchasing-everywhere-src-5.15.0.tar.xz";
};
};
qtquick3d = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquick3d-everywhere-src-5.15.0.tar.xz";
sha256 = "6d3b91b653ba5e33fd5b37cd785ded6cf1dd83d35250c3addb77eb35f90e52cb";
name = "qtquick3d-everywhere-src-5.15.0.tar.xz";
};
};
qtquickcontrols = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquickcontrols-everywhere-src-5.15.0.tar.xz";
sha256 = "7072cf4cd27e9f18b36b1c48dec7c79608cf87ba847d3fc3de133f220ec1acee";
name = "qtquickcontrols-everywhere-src-5.15.0.tar.xz";
};
};
qtquickcontrols2 = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquickcontrols2-everywhere-src-5.15.0.tar.xz";
sha256 = "839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f";
name = "qtquickcontrols2-everywhere-src-5.15.0.tar.xz";
};
};
qtquicktimeline = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtquicktimeline-everywhere-src-5.15.0.tar.xz";
sha256 = "16ffeb733ba15815121fca5705ed5220ce0a0eb2ec0431ad0d55da9426a03c00";
name = "qtquicktimeline-everywhere-src-5.15.0.tar.xz";
};
};
qtremoteobjects = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtremoteobjects-everywhere-src-5.15.0.tar.xz";
sha256 = "86fcfdce77f13c7babdec4dc1d0c4b7b6b02e40120a4250dc59e911c53c08abf";
name = "qtremoteobjects-everywhere-src-5.15.0.tar.xz";
};
};
qtscript = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtscript-everywhere-src-5.15.0.tar.xz";
sha256 = "02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373";
name = "qtscript-everywhere-src-5.15.0.tar.xz";
};
};
qtscxml = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtscxml-everywhere-src-5.15.0.tar.xz";
sha256 = "9c3a72bf5ebd07553b0049cc1943f04cff93b7e53bde8c81d652422dbf12ff72";
name = "qtscxml-everywhere-src-5.15.0.tar.xz";
};
};
qtsensors = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtsensors-everywhere-src-5.15.0.tar.xz";
sha256 = "12b17ed6cbe6c49c8ab71958bc5d8ad1c42bf20e2fa72613ede11001e98144da";
name = "qtsensors-everywhere-src-5.15.0.tar.xz";
};
};
qtserialbus = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtserialbus-everywhere-src-5.15.0.tar.xz";
sha256 = "cee067c84d025e221b83d109b58ea16c4d2dc0af0aea45cc6724acd33a1b7379";
name = "qtserialbus-everywhere-src-5.15.0.tar.xz";
};
};
qtserialport = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtserialport-everywhere-src-5.15.0.tar.xz";
sha256 = "ba19369069a707dffddca8d9c477bb2bb4aa26630dfee6792254c4bf9bd57a67";
name = "qtserialport-everywhere-src-5.15.0.tar.xz";
};
};
qtspeech = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtspeech-everywhere-src-5.15.0.tar.xz";
sha256 = "7219a878c14a24d0ca18d52df1717361b13aee96ac9790baf9ad2b383492dd61";
name = "qtspeech-everywhere-src-5.15.0.tar.xz";
};
};
qtsvg = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz";
sha256 = "ee4d287e2e205ca8c08921b9cbe0fc58bf46be080b5359ad4d7fbdee44aeee0d";
name = "qtsvg-everywhere-src-5.15.0.tar.xz";
};
};
qttools = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz";
sha256 = "ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437";
name = "qttools-everywhere-src-5.15.0.tar.xz";
};
};
qttranslations = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz";
sha256 = "45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe";
name = "qttranslations-everywhere-src-5.15.0.tar.xz";
};
};
qtvirtualkeyboard = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtvirtualkeyboard-everywhere-src-5.15.0.tar.xz";
sha256 = "f22f9204ab65578d9c8aa832a8a39108f826e00a7d391c7884ff490c587f34be";
name = "qtvirtualkeyboard-everywhere-src-5.15.0.tar.xz";
};
};
qtwayland = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwayland-everywhere-src-5.15.0.tar.xz";
sha256 = "084133e10bfbd32a28125639660c59975f23457bba6a79b30a25802cec76a9fb";
name = "qtwayland-everywhere-src-5.15.0.tar.xz";
};
};
qtwebchannel = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebchannel-everywhere-src-5.15.0.tar.xz";
sha256 = "ea80510b363e6f92ce99932f06d176e43459c4a5159fe97b5ef96fcfbab5ed4f";
name = "qtwebchannel-everywhere-src-5.15.0.tar.xz";
};
};
qtwebengine = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebengine-everywhere-src-5.15.0.tar.xz";
sha256 = "c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df";
name = "qtwebengine-everywhere-src-5.15.0.tar.xz";
};
};
qtwebglplugin = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebglplugin-everywhere-src-5.15.0.tar.xz";
sha256 = "f7b81f25ddf7b3a0046daa7224bc1e18c8b754b00b1a33775f30f827a5cdca15";
name = "qtwebglplugin-everywhere-src-5.15.0.tar.xz";
};
};
qtwebsockets = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebsockets-everywhere-src-5.15.0.tar.xz";
sha256 = "87c2f6542778f9b65b3f208740c1d0db643fd0bede21404b9abb265355da5092";
name = "qtwebsockets-everywhere-src-5.15.0.tar.xz";
};
};
qtwebview = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwebview-everywhere-src-5.15.0.tar.xz";
sha256 = "b87ea205ce79c6b438ebe596e91fa80ba11f6aac7e89ffbf52b337d0fc8d6660";
name = "qtwebview-everywhere-src-5.15.0.tar.xz";
};
};
qtwinextras = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz";
sha256 = "d77f2cb2ce83bdbfd0a970bc8d7d11c96b2df16befc257d6594f79dfd92abff0";
name = "qtwinextras-everywhere-src-5.15.0.tar.xz";
};
};
qtx11extras = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtx11extras-everywhere-src-5.15.0.tar.xz";
sha256 = "c72b6c188284facddcf82835af048240e721dc8d6d9e8a7bd71d76fd876881a1";
name = "qtx11extras-everywhere-src-5.15.0.tar.xz";
};
};
qtxmlpatterns = {
version = "5.15.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.15/5.15.0/submodules/qtxmlpatterns-everywhere-src-5.15.0.tar.xz";
sha256 = "2752cf2aa25ebfda89c3736457e27b3d0c7c7ed290dcfd52c209f9f905998507";
name = "qtxmlpatterns-everywhere-src-5.15.0.tar.xz";
};
};
}

View File

@ -295,7 +295,6 @@ stdenv.mkDerivation {
"-make tools"
''-${lib.optionalString (!buildExamples) "no"}make examples''
''-${lib.optionalString (!buildTests) "no"}make tests''
"-v"
]
++ (
@ -312,7 +311,6 @@ stdenv.mkDerivation {
[
"-${lib.optionalString (compareVersion "5.9.0" < 0) "no-"}rpath"
"-system-xcb"
"-xcb"
"-qpa xcb"
"-L" "${libX11.out}/lib"
@ -327,7 +325,6 @@ stdenv.mkDerivation {
''-${lib.optionalString (cups == null) "no-"}cups''
"-dbus-linked"
"-glib"
"-system-libjpeg"
"-system-libpng"
]
++ lib.optional withGtk3 "-gtk"

View File

@ -14842,11 +14842,28 @@ in
inherit llvmPackages_5;
});
qt515 = recurseIntoAttrs (makeOverridable
(import ../development/libraries/qt-5/5.15) {
inherit newScope;
inherit stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper;
inherit bison;
inherit cups;
inherit dconf;
inherit harfbuzz;
inherit libGL;
inherit perl;
inherit gtk3;
inherit (gst_all_1) gstreamer gst-plugins-base;
inherit llvmPackages_5;
});
libsForQt514 = recurseIntoAttrs (lib.makeScope qt514.newScope mkLibsForQt5);
libsForQt515 = recurseIntoAttrs (lib.makeScope qt515.newScope mkLibsForQt5);
# TODO bump to 5.14 on darwin once it's not broken; see #95199
qt5 = if stdenv.hostPlatform.isDarwin then qt512 else qt514;
libsForQt5 = if stdenv.hostPlatform.isDarwin then libsForQt512 else libsForQt514;
qt5 = if stdenv.hostPlatform.isDarwin then qt512 else qt515;
libsForQt5 = if stdenv.hostPlatform.isDarwin then libsForQt512 else libsForQt515;
qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { };