mirror of
https://github.com/status-im/status-desktop.git
synced 2025-03-03 16:00:50 +00:00
chore: upgrade qt to 5.15.14
This commit is contained in:
parent
734c3f65bd
commit
b02eb7f753
@ -7,12 +7,12 @@ Check for any minor version changes.
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{ newScope, generateSplicesForMkScope
|
{ makeScopeWithSplicing', generateSplicesForMkScope
|
||||||
, lib, stdenv, fetchurl, fetchgit, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper
|
, lib, stdenv, fetchurl, fetchgit, fetchpatch, fetchFromGitHub, makeSetupHook, makeWrapper
|
||||||
, bison, cups ? null, harfbuzz, libGL, perl, python3
|
, bison, cups ? null, harfbuzz, libGL, perl, python3
|
||||||
, gstreamer, gst-plugins-base, gtk3, dconf
|
, gstreamer, gst-plugins-base, gtk3, dconf
|
||||||
|
, llvmPackages_15, overrideSDK, overrideLibcxx
|
||||||
, darwin
|
, darwin
|
||||||
, buildPackages
|
|
||||||
|
|
||||||
# options
|
# options
|
||||||
, developerBuild ? false
|
, developerBuild ? false
|
||||||
@ -23,7 +23,7 @@ Check for any minor version changes.
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; };
|
srcs = import ./srcs.nix { inherit lib fetchgit fetchFromGitHub; } // { __attrsFailEvaluation = true; };
|
||||||
|
|
||||||
qtCompatVersion = srcs.qtbase.version;
|
qtCompatVersion = srcs.qtbase.version;
|
||||||
|
|
||||||
@ -51,32 +51,146 @@ let
|
|||||||
./qtdeclarative.patch
|
./qtdeclarative.patch
|
||||||
# prevent headaches from stale qmlcache data
|
# prevent headaches from stale qmlcache data
|
||||||
./qtdeclarative-default-disable-qmlcache.patch
|
./qtdeclarative-default-disable-qmlcache.patch
|
||||||
|
# add version specific QML import path
|
||||||
|
./qtdeclarative-qml-paths.patch
|
||||||
|
];
|
||||||
|
qtlocation = lib.optionals stdenv.cc.isClang [
|
||||||
|
# Fix build with Clang 16
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a.patch";
|
||||||
|
stripLen = 1;
|
||||||
|
extraPrefix = "src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/";
|
||||||
|
hash = "sha256-UEvIXzn387f9BAeBdhheStD/4M7en+rmqX8C6gstl6k=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
qtmultimedia = lib.optionals stdenv.isDarwin [
|
||||||
|
# build patch for qtmultimedia with xcode 15
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/3f509180/qt5/qt5-qtmultimedia-xcode15.patch";
|
||||||
|
stripLen = 1;
|
||||||
|
hash = "sha256-HrEqfmm8WbapWgLM0L4AKW8168pwT2zYI8HOJruEPSs=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
qtpim = [
|
||||||
|
## Upstream patches after the Qt6 transition that apply without problems & fix bugs
|
||||||
|
|
||||||
|
# Fixes QList -> QSet conversion
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/f337e281e28904741a3b1ac23d15c3a83ef2bbc9.patch";
|
||||||
|
hash = "sha256-zlxD45JnbhIgdJxMmGxGMUBcQPcgzpu3s4bLX939jL0=";
|
||||||
|
})
|
||||||
|
# Fixes invalid syntax from a previous bad patch in tests
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/2aefdd8bd28a4decf9ef8381f5b255f39f1ee90c.patch";
|
||||||
|
hash = "sha256-mg93QF3hi50igw1/Ok7fEs9iCaN6co1+p2/5fQtxTmc=";
|
||||||
|
})
|
||||||
|
# Unit test account for QList index change
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/79b41af6a4117f5efb0298289e20c30b4d0b0b2e.patch";
|
||||||
|
hash = "sha256-u+cLl4lu6r2+j5GAiasqbB6/OZPz5A6GpSB33vd/VBg=";
|
||||||
|
})
|
||||||
|
# Remove invalid method overload which confuses the QML engine
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/5679a6141c76ae7d64c3acc8a87b1adb048289e0.patch";
|
||||||
|
hash = "sha256-z8f8kLhC9CqBOfGPL8W9KJq7MwALAAicXfRkHiQEVJ4=";
|
||||||
|
})
|
||||||
|
# Specify enum flag type properly in unit test
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/a43cc24e57db8d3c3939fa540d67da3294dcfc5c.patch";
|
||||||
|
hash = "sha256-SsYkxX6prxi8VRZr4az+wqawcRN8tR3UuIFswJL+3T4=";
|
||||||
|
})
|
||||||
|
# Update qHash methods to return size_t instead of uint
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/9c698155d82fc2b68a87c59d0443c33f9085b117.patch";
|
||||||
|
hash = "sha256-rb8D8taaglhQikYSAPrtLvazgIw8Nga/a9+J21k8gIo=";
|
||||||
|
})
|
||||||
|
# Mark virtual methods with override keyword
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/f34cf2ff2b0f428d5b8a70763b29088075ebbd1c.patch";
|
||||||
|
hash = "sha256-tNPOEVpx1eqHx5T23ueW32KxMQ/SB+TBCJ4PZ6SA3LI=";
|
||||||
|
})
|
||||||
|
# Fix calendardemo example
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/a66590d473753bc49105d3132fb9e4150c92a14a.patch";
|
||||||
|
hash = "sha256-RPRtGQ24NQYewnv6+IqYITpwD/XxuK68a1iKgFmKm3c=";
|
||||||
|
})
|
||||||
|
# Make the tests pass on big endian systems
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/7802f038ed1391078e27fa3f37d785a69314537b.patch";
|
||||||
|
hash = "sha256-hogUXyPXjGE0q53PWOjiQbQ2YzOsvrJ7mo9djGIbjVQ=";
|
||||||
|
})
|
||||||
|
# Fix some deprecated QChar constructor issues in unit tests
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/114615812dcf9398c957b0833e860befe15f840f.patch";
|
||||||
|
hash = "sha256-yZ1qs8y5DSq8FDXRPyuSPRIzjEUTWAhpVide/b+xaLQ=";
|
||||||
|
})
|
||||||
|
# Accessors should be const
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/a2bf7cdf05c264b5dd2560f799760b5508f154e4.patch";
|
||||||
|
hash = "sha256-+YfPrKyOKnPkqFokwW/aDsEivg4TzdJwQpDdAtM+rQE=";
|
||||||
|
})
|
||||||
|
# Enforce detail access constraints in contact operations by default
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/8765a35233aa21a932ee92bbbb92a5f8edd4dc68.patch";
|
||||||
|
hash = "sha256-vp/enerVecEXz4zyxQ66DG+fVVWxI4bYnLj92qaaqNk=";
|
||||||
|
})
|
||||||
|
# Fixes broken file generation, which breaks reverse dependencies that try to find one of its modules
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/qt/qtpim/commit/4b2bdce30bd0629c9dc0567af6eeaa1d038f3152.patch";
|
||||||
|
hash = "sha256-2dXhkZyxPvY2KQq2veerAlpXkpU5/FeArWRlm1aOcEY=";
|
||||||
|
})
|
||||||
|
|
||||||
|
## Patches that haven't been upstreamed
|
||||||
|
|
||||||
|
# Fix tst_QContactManager::compareVariant_data test
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/1001_fix-qtdatetime-null-comparison.patch";
|
||||||
|
hash = "sha256-k/rO9QjwSlRChwFTZLkxDjZWqFkua4FNbaNf1bJKLxc=";
|
||||||
|
})
|
||||||
|
# Avoid crash while parsing vCards from different threads
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/1002_Avoid-crash-while-parsing-vcards-from-different-threads.patch";
|
||||||
|
hash = "sha256-zhayAoWgcmKosEGVBy2k6a2e6BxyVwfGX18tBbzqEk8=";
|
||||||
|
})
|
||||||
|
# Adapt to JSON parser behavior change in Qt 5.15
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/1003_adapt_to_json_parser_change.patch";
|
||||||
|
hash = "sha256-qAIa48hmDd8vMH/ywqW+22vISKai76XnjgFuB+tQbIU=";
|
||||||
|
})
|
||||||
|
# Fix version being 0.0.0
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/2000_revert_module_version.patch";
|
||||||
|
hash = "sha256-6wg/eVu9J83yvIO428U1FX3otz58tAy6pCvp7fqOBKU=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
qtscript = [ ./qtscript.patch ];
|
qtscript = [ ./qtscript.patch ];
|
||||||
qtserialport = [ ./qtserialport.patch ];
|
qtserialport = [ ./qtserialport.patch ];
|
||||||
|
qtsystems = [
|
||||||
|
# Fix crash if no X11 display available
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://salsa.debian.org/qt-kde-team/qt/qtsystems/-/raw/1a4df40671d6f1bb0657a9dfdae4cd9bd48fcf21/debian/patches/1005_check_XOpenDisplay.patch";
|
||||||
|
hash = "sha256-/onla2nlUSySEgz2IYOYajx/LZkJzAKDyxwAZzy0Ivs=";
|
||||||
|
})
|
||||||
|
|
||||||
|
# Enable building with udisks support
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://salsa.debian.org/qt-kde-team/qt/qtsystems/-/raw/a23fd92222c33479d7f3b59e48116def6b46894c/debian/patches/2001_build_with_udisk.patch";
|
||||||
|
hash = "sha256-B/z/+tai01RU/bAJSCp5a0/dGI8g36nwso8MiJv27YM=";
|
||||||
|
})
|
||||||
|
];
|
||||||
qtwebengine = [
|
qtwebengine = [
|
||||||
(fetchpatch {
|
./qtwebengine-link-pulseaudio.patch
|
||||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a6f16c6daea3b5a1f7bc9f175d1645922c131563/qt5/qt5-webengine-python3.patch";
|
|
||||||
sha256 = "sha256-rUSDwTucXVP3Obdck7LRTeKZ+JYQSNhQ7+W31uHZ9yM=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/7ae178a617d1e0eceb742557e63721af949bd28a/qt5/qt5-webengine-chromium-python3.patch";
|
|
||||||
stripLen = 1;
|
|
||||||
extraPrefix = "src/3rdparty/";
|
|
||||||
sha256 = "sha256-MZGYeMdGzwypfKoSUaa56K3inbcGRx7he/+AFyk5ekA=";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/7ae178a617d1e0eceb742557e63721af949bd28a/qt5/qt5-webengine-gcc12.patch";
|
|
||||||
stripLen = 1;
|
|
||||||
extraPrefix = "src/3rdparty/";
|
|
||||||
sha256 = "sha256-s4GsGMJTBNWw2gTJuIEP3tqT82AmTsR2mbj59m2p6rM=";
|
|
||||||
})
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
./qtwebengine-darwin-no-platform-check.patch
|
./qtwebengine-darwin-no-platform-check.patch
|
||||||
./qtwebengine-mac-dont-set-dsymutil-path.patch
|
./qtwebengine-mac-dont-set-dsymutil-path.patch
|
||||||
./qtwebengine-darwin-checks.patch
|
./qtwebengine-darwin-checks.patch
|
||||||
];
|
];
|
||||||
qtwebkit = [
|
qtwebkit = [
|
||||||
|
(fetchpatch {
|
||||||
|
name = "qtwebkit-python39-json.patch";
|
||||||
|
url = "https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd.patch";
|
||||||
|
sha256 = "yCX/UL666BPxjnxT6rIsUrJsPcSWHhZwMFJfuHhbkhk=";
|
||||||
|
})
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
name = "qtwebkit-bison-3.7-build.patch";
|
name = "qtwebkit-bison-3.7-build.patch";
|
||||||
url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
|
url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
|
||||||
@ -92,8 +206,14 @@ let
|
|||||||
url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
|
url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
|
||||||
sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
|
sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
|
||||||
})
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
name = "qtwebkit-libxml2-api-change.patch";
|
||||||
|
url = "https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b.patch";
|
||||||
|
sha256 = "WZEj+UuKhgJBM7auhND3uddk1wWdTY728jtiWVe7CSI=";
|
||||||
|
})
|
||||||
./qtwebkit.patch
|
./qtwebkit.patch
|
||||||
./qtwebkit-icu68.patch
|
./qtwebkit-icu68.patch
|
||||||
|
./qtwebkit-cstdint.patch
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
./qtwebkit-darwin-no-readline.patch
|
./qtwebkit-darwin-no-readline.patch
|
||||||
./qtwebkit-darwin-no-qos-classes.patch
|
./qtwebkit-darwin-no-qos-classes.patch
|
||||||
@ -101,32 +221,24 @@ let
|
|||||||
qttools = [ ./qttools.patch ];
|
qttools = [ ./qttools.patch ];
|
||||||
};
|
};
|
||||||
|
|
||||||
addPackages = self: with self;
|
addPackages = self:
|
||||||
let
|
let
|
||||||
qtModule =
|
qtModule = callPackage ../qtModule.nix {
|
||||||
import ../qtModule.nix
|
inherit patches;
|
||||||
{
|
|
||||||
inherit perl;
|
|
||||||
inherit lib;
|
|
||||||
# Use a variant of mkDerivation that does not include wrapQtApplications
|
# Use a variant of mkDerivation that does not include wrapQtApplications
|
||||||
# to avoid cyclic dependencies between Qt modules.
|
# to avoid cyclic dependencies between Qt modules.
|
||||||
mkDerivation =
|
mkDerivation =
|
||||||
import ../mkDerivation.nix
|
(callPackage ../mkDerivation.nix { wrapQtAppsHook = null; }) stdenv.mkDerivation;
|
||||||
{ inherit lib; inherit debug; wrapQtAppsHook = null; }
|
};
|
||||||
stdenv.mkDerivation;
|
|
||||||
}
|
|
||||||
{ inherit self srcs patches; };
|
|
||||||
|
|
||||||
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs stdenv; };
|
callPackage = self.newScope { inherit qtCompatVersion qtModule srcs stdenv; };
|
||||||
in {
|
in {
|
||||||
|
|
||||||
inherit callPackage qtCompatVersion qtModule srcs;
|
inherit callPackage qtCompatVersion qtModule srcs;
|
||||||
|
|
||||||
mkDerivationWith =
|
mkDerivationWith = callPackage ../mkDerivation.nix { };
|
||||||
import ../mkDerivation.nix
|
|
||||||
{ inherit lib; inherit debug; inherit (self) wrapQtAppsHook; };
|
|
||||||
|
|
||||||
mkDerivation = mkDerivationWith stdenv.mkDerivation;
|
mkDerivation = callPackage ({ mkDerivationWith }: mkDerivationWith stdenv.mkDerivation) { };
|
||||||
|
|
||||||
qtbase = callPackage ../modules/qtbase.nix {
|
qtbase = callPackage ../modules/qtbase.nix {
|
||||||
inherit (srcs.qtbase) src version;
|
inherit (srcs.qtbase) src version;
|
||||||
@ -134,11 +246,18 @@ let
|
|||||||
inherit bison cups harfbuzz libGL;
|
inherit bison cups harfbuzz libGL;
|
||||||
withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
|
withGtk3 = !stdenv.isDarwin; inherit dconf gtk3;
|
||||||
inherit developerBuild decryptSslTraffic;
|
inherit developerBuild decryptSslTraffic;
|
||||||
|
inherit (darwin.apple_sdk_11_0.frameworks) AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
|
||||||
|
CoreLocation CoreServices DiskArbitration Foundation OpenGL MetalKit IOKit;
|
||||||
|
libobjc = darwin.apple_sdk_11_0.objc4;
|
||||||
|
xcbuild = darwin.apple_sdk_11_0.xcodebuild;
|
||||||
};
|
};
|
||||||
|
|
||||||
qt3d = callPackage ../modules/qt3d.nix {};
|
qt3d = callPackage ../modules/qt3d.nix {};
|
||||||
qtcharts = callPackage ../modules/qtcharts.nix {};
|
qtcharts = callPackage ../modules/qtcharts.nix {};
|
||||||
qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
|
qtconnectivity = callPackage ../modules/qtconnectivity.nix {
|
||||||
|
inherit (darwin.apple_sdk_11_0.frameworks) IOBluetooth;
|
||||||
|
};
|
||||||
|
qtdatavis3d = callPackage ../modules/qtdatavis3d.nix {};
|
||||||
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
|
qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
|
||||||
qtdoc = callPackage ../modules/qtdoc.nix {};
|
qtdoc = callPackage ../modules/qtdoc.nix {};
|
||||||
qtgamepad = callPackage ../modules/qtgamepad.nix {
|
qtgamepad = callPackage ../modules/qtgamepad.nix {
|
||||||
@ -153,15 +272,23 @@ let
|
|||||||
inherit gstreamer gst-plugins-base;
|
inherit gstreamer gst-plugins-base;
|
||||||
};
|
};
|
||||||
qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
|
qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
|
||||||
|
qtpim = callPackage ../modules/qtpim.nix {};
|
||||||
|
qtpositioning = callPackage ../modules/qtpositioning.nix {};
|
||||||
|
qtpurchasing = callPackage ../modules/qtpurchasing.nix {
|
||||||
|
inherit (darwin.apple_sdk_11_0.frameworks) Foundation StoreKit;
|
||||||
|
};
|
||||||
qtquick1 = null;
|
qtquick1 = null;
|
||||||
|
qtquick3d = callPackage ../modules/qtquick3d.nix { };
|
||||||
qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
|
qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
|
||||||
qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
|
qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
|
||||||
|
qtremoteobjects = callPackage ../modules/qtremoteobjects.nix {};
|
||||||
qtscript = callPackage ../modules/qtscript.nix {};
|
qtscript = callPackage ../modules/qtscript.nix {};
|
||||||
qtsensors = callPackage ../modules/qtsensors.nix {};
|
qtsensors = callPackage ../modules/qtsensors.nix {};
|
||||||
qtserialbus = callPackage ../modules/qtserialbus.nix {};
|
qtserialbus = callPackage ../modules/qtserialbus.nix {};
|
||||||
qtserialport = callPackage ../modules/qtserialport.nix {};
|
qtserialport = callPackage ../modules/qtserialport.nix {};
|
||||||
qtspeech = callPackage ../modules/qtspeech.nix {};
|
qtspeech = callPackage ../modules/qtspeech.nix {};
|
||||||
qtsvg = callPackage ../modules/qtsvg.nix {};
|
qtsvg = callPackage ../modules/qtsvg.nix {};
|
||||||
|
qtsystems = callPackage ../modules/qtsystems.nix {};
|
||||||
qtscxml = callPackage ../modules/qtscxml.nix {};
|
qtscxml = callPackage ../modules/qtscxml.nix {};
|
||||||
qttools = callPackage ../modules/qttools.nix {};
|
qttools = callPackage ../modules/qttools.nix {};
|
||||||
qttranslations = callPackage ../modules/qttranslations.nix {};
|
qttranslations = callPackage ../modules/qttranslations.nix {};
|
||||||
@ -169,19 +296,26 @@ let
|
|||||||
qtwayland = callPackage ../modules/qtwayland.nix {};
|
qtwayland = callPackage ../modules/qtwayland.nix {};
|
||||||
qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
|
qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
|
||||||
qtwebengine = callPackage ../modules/qtwebengine.nix {
|
qtwebengine = callPackage ../modules/qtwebengine.nix {
|
||||||
|
# The version of Chromium used by Qt WebEngine 5.15.x does not build with clang 16 due
|
||||||
|
# to the following errors:
|
||||||
|
# * -Wenum-constexpr-conversion: This is a downgradable error in clang 16, but it is planned
|
||||||
|
# to be made into a hard error in a future version of clang. Patches are not available for
|
||||||
|
# the version of v8 used by Chromium in Qt WebEngine, and fixing the code is non-trivial.
|
||||||
|
# * -Wincompatible-function-pointer-types: This is also a downgradable error generated
|
||||||
|
# starting with clang 16. Patches are available upstream that can be backported.
|
||||||
|
# Because the first error is non-trivial to fix and suppressing it risks future breakage,
|
||||||
|
# clang is pinned to clang 15. That also makes fixing the second set of errors unnecessary.
|
||||||
|
stdenv =
|
||||||
|
let stdenv' = if stdenv.cc.isClang then overrideLibcxx llvmPackages_15.stdenv else stdenv;
|
||||||
|
in if stdenv'.isDarwin then overrideSDK stdenv' "11.0" else stdenv';
|
||||||
inherit (srcs.qtwebengine) version;
|
inherit (srcs.qtwebengine) version;
|
||||||
python = python3;
|
python = python3;
|
||||||
postPatch = ''
|
|
||||||
# update catapult for python3 compatibility
|
|
||||||
rm -r src/3rdparty/chromium/third_party/catapult
|
|
||||||
cp -r ${srcs.catapult} src/3rdparty/chromium/third_party/catapult
|
|
||||||
'';
|
|
||||||
inherit (darwin) cctools xnu;
|
inherit (darwin) cctools xnu;
|
||||||
inherit (darwin.apple_sdk_11_0) libpm libunwind;
|
inherit (darwin.apple_sdk_11_0) libpm libunwind;
|
||||||
inherit (darwin.apple_sdk_11_0.libs) sandbox;
|
inherit (darwin.apple_sdk_11_0.libs) sandbox;
|
||||||
inherit (darwin.apple_sdk_11_0.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
|
inherit (darwin.apple_sdk_11_0.frameworks) ApplicationServices AVFoundation Foundation ForceFeedback GameController AppKit
|
||||||
ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication
|
ImageCaptureCore CoreBluetooth IOBluetooth CoreWLAN Quartz Cocoa LocalAuthentication
|
||||||
MediaPlayer MediaAccessibility SecurityInterface Vision CoreML;
|
MediaPlayer MediaAccessibility SecurityInterface Vision CoreML OpenDirectory Accelerate;
|
||||||
libobjc = darwin.apple_sdk_11_0.objc4;
|
libobjc = darwin.apple_sdk_11_0.objc4;
|
||||||
};
|
};
|
||||||
qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
|
qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
|
||||||
@ -197,30 +331,51 @@ let
|
|||||||
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
|
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
|
||||||
|
|
||||||
env = callPackage ../qt-env.nix {};
|
env = callPackage ../qt-env.nix {};
|
||||||
full = env "qt-full-${qtbase.version}" ([
|
full = callPackage ({ env, qtbase }: env "qt-full-${qtbase.version}") { }
|
||||||
|
# `with self` is ok to use here because having these spliced is unnecessary
|
||||||
|
(with self; [
|
||||||
qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
|
qt3d qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
|
||||||
qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
|
qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
|
||||||
qtscript qtsensors qtserialport qtsvg qttools qttranslations
|
qtscript qtsensors qtserialport qtsvg qttools qttranslations
|
||||||
qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
|
qtvirtualkeyboard qtwebchannel qtwebengine qtwebsockets
|
||||||
qtwebview qtx11extras qtxmlpatterns qtlottie
|
qtwebview qtx11extras qtxmlpatterns qtlottie qtdatavis3d
|
||||||
] ++ lib.optional (!stdenv.isDarwin) qtwayland
|
] ++ lib.optional (!stdenv.isDarwin) qtwayland
|
||||||
++ lib.optional (stdenv.isDarwin) qtmacextras);
|
++ lib.optional (stdenv.isDarwin) qtmacextras);
|
||||||
|
|
||||||
qmake = makeSetupHook {
|
qmake = callPackage ({ qtbase }: makeSetupHook {
|
||||||
name = "qmake-hook";
|
name = "qmake-hook";
|
||||||
deps = [ self.qtbase.dev ];
|
${if stdenv.buildPlatform == stdenv.hostPlatform
|
||||||
|
then "propagatedBuildInputs"
|
||||||
|
else "depsTargetTargetPropagated"} = [ qtbase.dev ];
|
||||||
substitutions = {
|
substitutions = {
|
||||||
inherit debug;
|
inherit debug;
|
||||||
fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
|
fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
|
||||||
};
|
};
|
||||||
} ../hooks/qmake-hook.sh;
|
} ../hooks/qmake-hook.sh) { };
|
||||||
|
|
||||||
wrapQtAppsHook = makeSetupHook {
|
wrapQtAppsHook = callPackage ({ makeBinaryWrapper, qtbase, qtwayland }: makeSetupHook {
|
||||||
name = "wrap-qt5-apps-hook";
|
name = "wrap-qt5-apps-hook";
|
||||||
deps =
|
propagatedBuildInputs = [ qtbase.dev makeBinaryWrapper ]
|
||||||
[ self.qtbase.dev buildPackages.makeWrapper ]
|
++ lib.optional stdenv.isLinux qtwayland.dev;
|
||||||
++ optional stdenv.isLinux self.qtwayland.dev;
|
} ../hooks/wrap-qt-apps-hook.sh) { };
|
||||||
} ../hooks/wrap-qt-apps-hook.sh;
|
|
||||||
};
|
};
|
||||||
self = lib.makeScope newScope addPackages;
|
|
||||||
in self
|
baseScope = makeScopeWithSplicing' {
|
||||||
|
otherSplices = generateSplicesForMkScope "qt5";
|
||||||
|
f = addPackages;
|
||||||
|
};
|
||||||
|
|
||||||
|
bootstrapScope = baseScope.overrideScope(final: prev: {
|
||||||
|
qtbase = prev.qtbase.override { qttranslations = null; };
|
||||||
|
qtdeclarative = null;
|
||||||
|
});
|
||||||
|
|
||||||
|
finalScope = baseScope.overrideScope(final: prev: {
|
||||||
|
# qttranslations causes eval-time infinite recursion when
|
||||||
|
# cross-compiling; disabled for now.
|
||||||
|
qttranslations =
|
||||||
|
if stdenv.buildPlatform == stdenv.hostPlatform
|
||||||
|
then bootstrapScope.qttranslations
|
||||||
|
else null;
|
||||||
|
});
|
||||||
|
in finalScope
|
||||||
|
@ -21,7 +21,6 @@ qtquickcontrols
|
|||||||
qtquickcontrols2
|
qtquickcontrols2
|
||||||
qtquicktimeline
|
qtquicktimeline
|
||||||
qtremoteobjects
|
qtremoteobjects
|
||||||
qtscript
|
|
||||||
qtscxml
|
qtscxml
|
||||||
qtsensors
|
qtsensors
|
||||||
qtserialbus
|
qtserialbus
|
||||||
|
33
nix/pkgs/qt-5/5.15/qtdeclarative-qml-paths.patch
Normal file
33
nix/pkgs/qt-5/5.15/qtdeclarative-qml-paths.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
|
||||||
|
index 289f11d006..9b0a48c6c7 100644
|
||||||
|
--- a/src/qml/qml/qqmlimport.cpp
|
||||||
|
+++ b/src/qml/qml/qqmlimport.cpp
|
||||||
|
@@ -1897,17 +1897,22 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
|
||||||
|
addImportPath(installImportsPath);
|
||||||
|
|
||||||
|
// env import paths
|
||||||
|
- if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
|
||||||
|
- const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
|
||||||
|
+ auto addEnvImportPath = [this](const char *var) {
|
||||||
|
#if defined(Q_OS_WIN)
|
||||||
|
QLatin1Char pathSep(';');
|
||||||
|
#else
|
||||||
|
QLatin1Char pathSep(':');
|
||||||
|
#endif
|
||||||
|
- QStringList paths = envImportPath.split(pathSep, Qt::SkipEmptyParts);
|
||||||
|
- for (int ii = paths.count() - 1; ii >= 0; --ii)
|
||||||
|
- addImportPath(paths.at(ii));
|
||||||
|
- }
|
||||||
|
+ if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty(var))) {
|
||||||
|
+ const QString envImportPath = qEnvironmentVariable(var);
|
||||||
|
+ QStringList paths = envImportPath.split(pathSep, Qt::SkipEmptyParts);
|
||||||
|
+ for (int ii = paths.count() - 1; ii >= 0; --ii)
|
||||||
|
+ addImportPath(paths.at(ii));
|
||||||
|
+ }
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ addEnvImportPath("QML2_IMPORT_PATH");
|
||||||
|
+ addEnvImportPath("NIXPKGS_QT5_QML_IMPORT_PATH");
|
||||||
|
|
||||||
|
addImportPath(QStringLiteral("qrc:/qt-project.org/imports"));
|
||||||
|
addImportPath(QCoreApplication::applicationDirPath());
|
@ -1,5 +1,5 @@
|
|||||||
diff --git a/configure.pri b/configure.pri
|
diff --git a/configure.pri b/configure.pri
|
||||||
index e072961f0..ac0861c01 100644
|
index 3a33bdc82..c1460b8b5 100644
|
||||||
--- a/configure.pri
|
--- a/configure.pri
|
||||||
+++ b/configure.pri
|
+++ b/configure.pri
|
||||||
@@ -442,24 +442,6 @@ defineTest(qtwebengine_isWindowsPlatformSupported) {
|
@@ -442,24 +442,6 @@ defineTest(qtwebengine_isWindowsPlatformSupported) {
|
||||||
@ -24,6 +24,6 @@ index e072961f0..ac0861c01 100644
|
|||||||
- qtwebengine_platformError("requires a macOS SDK version of 10.13 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
|
- qtwebengine_platformError("requires a macOS SDK version of 10.13 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
|
||||||
- return(false)
|
- return(false)
|
||||||
- }
|
- }
|
||||||
return(true)
|
CONFIG(debug, debug|release):isUniversal(){
|
||||||
}
|
qtwebengine_platformError("Universal builds can not be done with debug configuration due to large binary size.")
|
||||||
|
return(false)
|
||||||
|
8
nix/pkgs/qt-5/5.15/qtwebengine-link-pulseaudio.patch
Normal file
8
nix/pkgs/qt-5/5.15/qtwebengine-link-pulseaudio.patch
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
--- a/src/core/config/common.pri
|
||||||
|
+++ b/src/core/config/common.pri
|
||||||
|
@@ -47,3 +47,5 @@
|
||||||
|
|
||||||
|
!qtConfig(webengine-nodejs10): gn_args += use_rollup=false
|
||||||
|
gn_args += enable_ipc_logging=false
|
||||||
|
+
|
||||||
|
+gn_args += link_pulseaudio=true
|
11
nix/pkgs/qt-5/5.15/qtwebkit-cstdint.patch
Normal file
11
nix/pkgs/qt-5/5.15/qtwebkit-cstdint.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
diff -up qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h
|
||||||
|
--- qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me 2023-02-20 15:40:04.045911245 +0100
|
||||||
|
+++ qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h 2023-02-20 15:40:39.038549787 +0100
|
||||||
|
@@ -16,6 +16,7 @@
|
||||||
|
#include <algorithm>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
+#include <cstdint>
|
||||||
|
|
||||||
|
namespace gl
|
||||||
|
{
|
@ -1,207 +1,202 @@
|
|||||||
{
|
{
|
||||||
"qt3d": {
|
"qt3d": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qt3d.git",
|
"url": "https://invent.kde.org/qt/qt/qt3d.git",
|
||||||
"rev": "c3c7e6ebc29cce466d954f72f340a257d76b5ec2",
|
"rev": "9bf4d03e2515f7c454647d54542330b6e90f8191",
|
||||||
"sha256": "13ixg0gx7sp90k0db2xn7r2rj1w3zw3vs84pav0v8fwfvph9ki98"
|
"sha256": "1w1lq332q270vld7sz0xqpa0f7mvi5gizycfsx9zz9c73qy4idlp"
|
||||||
},
|
},
|
||||||
"qtactiveqt": {
|
"qtactiveqt": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtactiveqt.git",
|
"url": "https://invent.kde.org/qt/qt/qtactiveqt.git",
|
||||||
"rev": "2334cafc110c4e63bec3a5c7abdcd67e5e5ee754",
|
"rev": "91bfd21f86c450b129ac2dde9d33b32e140d8a0c",
|
||||||
"sha256": "0p7pydqsrws5x9l74y37ldffd3yz4riyizl8669x6y6hj6177yd3"
|
"sha256": "06fbiggjq1c1z1wgx63ir8rj1ppd1c046xwz4nzsrf1pi8dqcyl7"
|
||||||
},
|
},
|
||||||
"qtandroidextras": {
|
"qtandroidextras": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtandroidextras.git",
|
"url": "https://invent.kde.org/qt/qt/qtandroidextras.git",
|
||||||
"rev": "7ede0a6c555518a3fecba8930d5e4d9c58875d0d",
|
"rev": "197a7e05cda87a4645f30c8ef5044b342442ebd1",
|
||||||
"sha256": "0nvdrbqm469iikkvzwjni3zb7dxwpy3x161m9yly4irklixhxkzh"
|
"sha256": "0j5al7h2gy67cb2lj4yymdsidr1dcvvahqfysbdl2lwz3zzpdql1"
|
||||||
},
|
},
|
||||||
"qtbase": {
|
"qtbase": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtbase.git",
|
"url": "https://invent.kde.org/qt/qt/qtbase.git",
|
||||||
"rev": "6c09620dc84900c31a2d307a8640dbc15b1fcfdd",
|
"rev": "2b9835f5c9bcfe3105b60a8dd33c1db7d8611378",
|
||||||
"sha256": "0nr8xlfdrgjr6rrd5f99p8vzlxx6n8xch5l2z95pb2lx4w4pz26q"
|
"sha256": "1yms1r42yps06bg8gjbzb5y7x03ks11vg97s2j7r1aplp7kjf7wm"
|
||||||
},
|
},
|
||||||
"qtcharts": {
|
"qtcharts": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtcharts.git",
|
"url": "https://invent.kde.org/qt/qt/qtcharts.git",
|
||||||
"rev": "e30be213e483f2d6f3c40af0cbdc11a8e92e2026",
|
"rev": "7315c48bcec88014e78165bbda54abfcd557e0af",
|
||||||
"sha256": "0vn1xh40lxa6vi87vr6qpskli2vh47mxi3d5srhf8rark0m51lf4"
|
"sha256": "043lbxkaw53qah9ny4nbpp8g7q4rq9x2k21vkprk7nim66d6pmy3"
|
||||||
},
|
},
|
||||||
"qtconnectivity": {
|
"qtconnectivity": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtconnectivity.git",
|
"url": "https://invent.kde.org/qt/qt/qtconnectivity.git",
|
||||||
"rev": "2d241e0b79971917845a6ed448e838ef273d73d7",
|
"rev": "99f30db37c63447c59d5fac15bc8feb832a7fd04",
|
||||||
"sha256": "15zk9q1n9yfg4nkr0rs7agsvzim8nlrqzm1h4h9r0iwr91g9vqp5"
|
"sha256": "09v76kb7fx7bq4vplyk3cf7il3a6f9p673z1l28nrv4w308bhqfy"
|
||||||
},
|
},
|
||||||
"qtdatavis3d": {
|
"qtdatavis3d": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtdatavis3d.git",
|
"url": "https://invent.kde.org/qt/qt/qtdatavis3d.git",
|
||||||
"rev": "9f0f50ebef04d5ac5ed0ee2a3a71e7748fce3005",
|
"rev": "79cd0fb6cafcd42e4037ae1363fda3bc2cec934a",
|
||||||
"sha256": "151650nqq29m99cbf7ac02vxzw4ivm4spr4kd2ss3gwhfxby3zgj"
|
"sha256": "19y33v3l4crzrk7qf5qhx7phxkiax14c2q4xjd1klw7n333d43cq"
|
||||||
},
|
},
|
||||||
"qtdeclarative": {
|
"qtdeclarative": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtdeclarative.git",
|
"url": "https://invent.kde.org/qt/qt/qtdeclarative.git",
|
||||||
"rev": "05c3f4921d81fb1b0eb497515c24ae56221d1e0a",
|
"rev": "50c8def854806485d66aabcf6918e8b987032e55",
|
||||||
"sha256": "0101bbpnrj4rp51dcnn2gjcq7vw55g4c8y4lmg2nd5g69whmkl1c"
|
"sha256": "0qvw72w0m1q4yg4l35rh7ydqgp35xqfwpq0pc7q5578n1xspihhn"
|
||||||
},
|
},
|
||||||
"qtdoc": {
|
"qtdoc": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtdoc.git",
|
"url": "https://invent.kde.org/qt/qt/qtdoc.git",
|
||||||
"rev": "79d6ef693b6241db4a86a90943c02180c4944214",
|
"rev": "bc4503b8b70f4cd435d6e64a9e6c623ca44b9fcd",
|
||||||
"sha256": "0ldskh9dd8qwa96nz1q5sbb8r2jdfcxvq589dyw87m3gpb8v16qq"
|
"sha256": "0pvimmw5c6gh6xi2iblzyikgaw7cr8gqjdvyappcahjpalxxsjbw"
|
||||||
},
|
},
|
||||||
"qtgamepad": {
|
"qtgamepad": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtgamepad.git",
|
"url": "https://invent.kde.org/qt/qt/qtgamepad.git",
|
||||||
"rev": "ad63dc64f4bdafb503f7015d04e8849cef5d99b4",
|
"rev": "b1c2f272f69e222a532485e6f820776c220b3535",
|
||||||
"sha256": "06ag3cmg56f4z9pc3ix9lddz5ydx48pf438xc2l1z3x4wxbkfbsy"
|
"sha256": "1zga6sa901g0fpqyjlyj73s2f94yjm0z3599gngnlvvd7jsnlgnv"
|
||||||
},
|
},
|
||||||
"qtgraphicaleffects": {
|
"qtgraphicaleffects": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtgraphicaleffects.git",
|
"url": "https://invent.kde.org/qt/qt/qtgraphicaleffects.git",
|
||||||
"rev": "4119e4e6dc94447d773a01c1d6e4de0fefb9235a",
|
"rev": "2c39e673d6c15a84dcc7882d3772fa04cc79f9ed",
|
||||||
"sha256": "0sdywxrbjzz9qmrywd54hqqssv59b9mlvra16hjxfd0di50brab2"
|
"sha256": "177xkhi3syx6r3my5rly5bncgjfhdvgrhf6fw5ajqplik6yln4pq"
|
||||||
},
|
},
|
||||||
"qtimageformats": {
|
"qtimageformats": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtimageformats.git",
|
"url": "https://invent.kde.org/qt/qt/qtimageformats.git",
|
||||||
"rev": "dbc9c396199ef78e820b40ddb8a4e76c0a86d48c",
|
"rev": "4e4f5fc6bdac96f5281a3ebeb0fee78df7b1a498",
|
||||||
"sha256": "18dhnvkv9hialjfcm80g9y38fsxfcfk4fgrrsm3hy2yda6a6g1c6"
|
"sha256": "1w68v55y1l1biv7krzv9vmi2czz84jk89f4pymq3ri1w3y4rc1id"
|
||||||
},
|
},
|
||||||
"qtlocation": {
|
"qtlocation": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtlocation.git",
|
"url": "https://invent.kde.org/qt/qt/qtlocation.git",
|
||||||
"rev": "435f931a7e42172e12ceba8f0d9da06ba4ec0bee",
|
"rev": "3beb9c810611337fde61d89aa981e9f177a9ede9",
|
||||||
"sha256": "1p7hz09jv8whlv0m39cnjz3yc6pjzyxkc8zinl6f0qmrska6m4gp"
|
"sha256": "1fwn9x3n01dlkhw53n12z5kb06qj2lmangzvj3fjr5ff0yy47df9"
|
||||||
},
|
},
|
||||||
"qtlottie": {
|
"qtlottie": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtlottie.git",
|
"url": "https://invent.kde.org/qt/qt/qtlottie.git",
|
||||||
"rev": "56f94cb8e2da9801ada7aa06f86ccf807f5a4ed8",
|
"rev": "b8c1fa109dce6f8bff9f55738d2f1e21ff677796",
|
||||||
"sha256": "1pyshl395qmf84h5lyw3rgn3gmz98sm1dq003jvr74w9i746hszf"
|
"sha256": "0qydaqj8945hikby7a9529i0g5ycpvhws6y0zc566jv50qida725"
|
||||||
},
|
},
|
||||||
"qtmacextras": {
|
"qtmacextras": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtmacextras.git",
|
"url": "https://invent.kde.org/qt/qt/qtmacextras.git",
|
||||||
"rev": "bc397be87f9b02e8279cfe2fc9b893c9f95219b9",
|
"rev": "e66cba7cf02aa8aecce03540cd167621f2cda5f0",
|
||||||
"sha256": "1dr8a7sv00dmk1hc6kzs93rhvjk2wkxx0mxl7riafdzxzyajcl7n"
|
"sha256": "0q7d3lh3fpkrakxx1sqx9csa7l7rxzskcavbidxb5298jxn49wn8"
|
||||||
},
|
},
|
||||||
"qtmultimedia": {
|
"qtmultimedia": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtmultimedia.git",
|
"url": "https://invent.kde.org/qt/qt/qtmultimedia.git",
|
||||||
"rev": "32557dbe01ba66005b8e28b38033eeee9819a4c6",
|
"rev": "53069c9c6eb52b744333812f42aed36c3db6e752",
|
||||||
"sha256": "09mds5v3b3jq34r40hqg2a39q16p4q648wda7cqgm2yp249j06g8"
|
"sha256": "0y8km2mp5mj1zw1v3acsdvzrc1jyiwpxy3rmif5ssn40wwxifilp"
|
||||||
},
|
},
|
||||||
"qtnetworkauth": {
|
"qtnetworkauth": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtnetworkauth.git",
|
"url": "https://invent.kde.org/qt/qt/qtnetworkauth.git",
|
||||||
"rev": "f082a4c84c54e888b8d023ba68b7085551403425",
|
"rev": "28180f28c98e329676463e24cef0097cba45bc00",
|
||||||
"sha256": "03sd0a58b8z340in4avk6lqqa9qzkzkaxnk2yn1a270sxrsq6y0l"
|
"sha256": "1g6clwmrpdvl9m6flyrk4vlckjnjv3phqhy1xbxlra3zcfn3357r"
|
||||||
},
|
},
|
||||||
"qtpurchasing": {
|
"qtpurchasing": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtpurchasing.git",
|
"url": "https://invent.kde.org/qt/qt/qtpurchasing.git",
|
||||||
"rev": "9dfea35b04dcb52d02d7a2883df88d89ba9999ef",
|
"rev": "d4903bf08c576a6c085278c1960a2676cd83dca7",
|
||||||
"sha256": "0swliqwzz3b297z7y6sr79ijgv3914s2g9ymq77plxglfdrnm74j"
|
"sha256": "04bry3ys15bd6kaiwyb8fh037s50mcplircpzvrwdc1h8milx7y7"
|
||||||
},
|
},
|
||||||
"qtquick3d": {
|
"qtquick3d": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtquick3d.git",
|
"url": "https://invent.kde.org/qt/qt/qtquick3d.git",
|
||||||
"rev": "47defc8b33b7bdf1dbf289b65b301fba2def9b1c",
|
"rev": "ad229f0c135f74801fba2bcd22c78abc0e3cf1d2",
|
||||||
"sha256": "0kfwkxln3yz0c5rd1kfjmw0y2drwm1gg2s7f52kajfvg4274ha9c"
|
"sha256": "17jdsahdw72l5lpbng8733qv2fp2qkfzlzrayzigz2slfdqgjxnk"
|
||||||
},
|
},
|
||||||
"qtquickcontrols": {
|
"qtquickcontrols": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtquickcontrols.git",
|
"url": "https://invent.kde.org/qt/qt/qtquickcontrols.git",
|
||||||
"rev": "18977875d16e22ad68a1dc2d7ee0a9c9f873c941",
|
"rev": "9325659ec390eda5b160736a926ba58ccb445cce",
|
||||||
"sha256": "0n3930zzvp4s6m715rvx1bjh2s2fg7cadjs2hq6bc8k9mwlqibk1"
|
"sha256": "0r1kkn6pr6yynk8x2ggkfqqrh27g1qra102ilglj7chsmrp92xgc"
|
||||||
},
|
},
|
||||||
"qtquickcontrols2": {
|
"qtquickcontrols2": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git",
|
"url": "https://invent.kde.org/qt/qt/qtquickcontrols2.git",
|
||||||
"rev": "56ce8233382a091a8476c831edd416b5f704ae4f",
|
"rev": "69fea340f8f4c483a9b2889e4e24a4b1b52ebc87",
|
||||||
"sha256": "1h68s2fdgn1pbf5hsk6c8v4icz8c4cpbxv8iirz22yhlzabc3hdm"
|
"sha256": "0v6g146ryabks0sff5dgyx42690xckaqpx44c6g7x0b0w24lj6ws"
|
||||||
},
|
},
|
||||||
"qtquicktimeline": {
|
"qtquicktimeline": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtquicktimeline.git",
|
"url": "https://invent.kde.org/qt/qt/qtquicktimeline.git",
|
||||||
"rev": "4cd0142a30bfa5eef47c720ac24dd73e12764806",
|
"rev": "bf6c73064c82b07fcb1f7e72c263b249e137e224",
|
||||||
"sha256": "13vhlgxq8ap796p3y9c3kj645p0370bqjwm5hkz13pazm15sbc9z"
|
"sha256": "0pnn5ds6sxls8i6pzzmraalvln2pabgga3gnv761b2skgkv26gnq"
|
||||||
},
|
},
|
||||||
"qtremoteobjects": {
|
"qtremoteobjects": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtremoteobjects.git",
|
"url": "https://invent.kde.org/qt/qt/qtremoteobjects.git",
|
||||||
"rev": "929c7ad0676f084b9ecc469cd47a307596923cb3",
|
"rev": "3873bdc809ca8d58d91968cb0de34da26646bc79",
|
||||||
"sha256": "0l94k9fdzk96j40gab2l5n4lmadzaqhvbg8s3m5f3v4im00xa2x9"
|
"sha256": "0bncsi45zjwd6q3g40gxdqxqq4zhjrgw7xnxj1v53npbyw4vd0h5"
|
||||||
},
|
|
||||||
"qtscript": {
|
|
||||||
"url": "https://invent.kde.org/qt/qt/qtscript.git",
|
|
||||||
"rev": "4d8e4bd20b7100b0b7192547b19c3c239aaf7034",
|
|
||||||
"sha256": "1pvihbjjmczby4934lir3h3kq0rqcvxnbw2vdkl9lhkds3lm0qhf"
|
|
||||||
},
|
},
|
||||||
"qtscxml": {
|
"qtscxml": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtscxml.git",
|
"url": "https://invent.kde.org/qt/qt/qtscxml.git",
|
||||||
"rev": "0c93f94a44e2dce7eed9d17d4976b0c1e14be7bb",
|
"rev": "6834b183966d08d9f061642ee7ea2d482cbbf073",
|
||||||
"sha256": "1vvzvin23ws6njhyg93s2dlkxb9p50mkipc611lsx7971gv1wih0"
|
"sha256": "1h88idcfcsbpx2x2djcg1lzazadm676miz19x6n0n6n4gwp46738"
|
||||||
},
|
},
|
||||||
"qtsensors": {
|
"qtsensors": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtsensors.git",
|
"url": "https://invent.kde.org/qt/qt/qtsensors.git",
|
||||||
"rev": "6add85fa1a234a7e1943ba175c6fc799ccbae48e",
|
"rev": "bf0b718cd0b6c7823e9d2037d3bdece44185f444",
|
||||||
"sha256": "1k02x3wzczwg7cqh6hav31akdsz9kk8s0vryd3q7zfrhqy9m88sh"
|
"sha256": "1my7ls1nsaf26kh3hn75jjnxp6gm0ilyfzcczqps0xj7xj9bzwzd"
|
||||||
},
|
},
|
||||||
"qtserialbus": {
|
"qtserialbus": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtserialbus.git",
|
"url": "https://invent.kde.org/qt/qt/qtserialbus.git",
|
||||||
"rev": "ced5c7223d037aece1e7f37d4314f388252de025",
|
"rev": "616bc5b962cdcacb1c1ba985d7236392e9cadb8c",
|
||||||
"sha256": "009ajdry6lvf9pifzm2zl0w5zhkmrrxm53mjf9s76jqrsi6yqk30"
|
"sha256": "0njahb52kshci23xw89j1rgffmrmric8kz54dzmqsmlcqp181qkh"
|
||||||
},
|
},
|
||||||
"qtserialport": {
|
"qtserialport": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtserialport.git",
|
"url": "https://invent.kde.org/qt/qt/qtserialport.git",
|
||||||
"rev": "e2851096dc6f6a7cfa635d69ea950b382e3658ab",
|
"rev": "34c19c6441cd440dc65b59ae7670eadf099d51f8",
|
||||||
"sha256": "071g8d9i3wi8rqqy4lxpp3z25a55pd2xwsy3r8v0a6s6y5g5lcpf"
|
"sha256": "0hiqfvz5jc6ha6ln8jl8vv4ijsdz55f3zp801dbh2r68cmf9qsrm"
|
||||||
},
|
},
|
||||||
"qtspeech": {
|
"qtspeech": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtspeech.git",
|
"url": "https://invent.kde.org/qt/qt/qtspeech.git",
|
||||||
"rev": "255845e2b2e605363762be25932d92fc10d32749",
|
"rev": "8ad0f08ad7e2a8d27dc5e69806812c6a3f298946",
|
||||||
"sha256": "0apyk2z9r7i54sh0zgbs8vfncc4jrcrzzvi3q14d105pkhrschp9"
|
"sha256": "0pyiiqj18c2gvbqvgnaki2hzcizi1lam82x761y2lp717sgb09v9"
|
||||||
},
|
},
|
||||||
"qtsvg": {
|
"qtsvg": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtsvg.git",
|
"url": "https://invent.kde.org/qt/qt/qtsvg.git",
|
||||||
"rev": "a7a0f2491334e8cb4ef5731f5eb741f3f7b9af76",
|
"rev": "690128b2b8fb6d6fbdc43b2b2633f0f1de3f0638",
|
||||||
"sha256": "13zpzvwqv61dsd74s92nf46rhaw2rw3hl8m6d313wjlaaqi95ln6"
|
"sha256": "1iiml673isnqakjzspq5gf6818zmmd7pj6z9y2jwxb2xkkn8ahpc"
|
||||||
},
|
},
|
||||||
"qttools": {
|
"qttools": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qttools.git",
|
"url": "https://invent.kde.org/qt/qt/qttools.git",
|
||||||
"rev": "090e526e713d01eac34c64e4a09ad961c612febf",
|
"rev": "f82ed367d1b80b69d738cfcde534b75854a45476",
|
||||||
"sha256": "1zrxv9wdnqayn5hhblwyqyrdn8mj7x2ks2f4qsr2w3cdidcjjz7y"
|
"sha256": "1pv7af4z3f9d1ifqjwbf7fhgglpnjfby8h2fg5h114mpils661bn"
|
||||||
},
|
},
|
||||||
"qttranslations": {
|
"qttranslations": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qttranslations.git",
|
"url": "https://invent.kde.org/qt/qt/qttranslations.git",
|
||||||
"rev": "af8cd030fed6a47cc1e8727e7ee5445e037bf712",
|
"rev": "c601106c8b5d5495f951c8ea0ad6a9e171416ae0",
|
||||||
"sha256": "14fx3r9s3p16rhv9fyrwnv6bn24nvh5xnjwcw1mb04c44ddb9r86"
|
"sha256": "0w8ggzc4sxfa1y3n40m24zxp59c2y1mfb2c7zdd8nmlrg7xnqsf0"
|
||||||
},
|
},
|
||||||
"qtvirtualkeyboard": {
|
"qtvirtualkeyboard": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git",
|
"url": "https://invent.kde.org/qt/qt/qtvirtualkeyboard.git",
|
||||||
"rev": "5f66c9571303170f07954f73b09cad4cee1ce5d0",
|
"rev": "7389450a5de5fdd210f1459abcf73621ec0496bd",
|
||||||
"sha256": "0jzl7a2zr83nd9sskmz9fk2w2spn3v821j0l7kcp2hxydgyhk8v3"
|
"sha256": "1hv8yi4lq3mdxqkcln2b75drdyfiaqj63khzvy09gdf1x6fyjnn5"
|
||||||
},
|
},
|
||||||
"qtwayland": {
|
"qtwayland": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtwayland.git",
|
"url": "https://invent.kde.org/qt/qt/qtwayland.git",
|
||||||
"rev": "df41e7e3e1f0e5495c5c8c52f1c9bb5a32b0da27",
|
"rev": "75f434f14499eb47ede2cb66f0946527bf555791",
|
||||||
"sha256": "0f292axj0ivgwgx97zc8x744243i7lgqcxbkjxham6md81m1xbwj"
|
"sha256": "17d7bcc3v55ywakaybp88c493bfx63vyiz7n8f5kcijj5q5hdf1r"
|
||||||
},
|
},
|
||||||
"qtwebchannel": {
|
"qtwebchannel": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtwebchannel.git",
|
"url": "https://invent.kde.org/qt/qt/qtwebchannel.git",
|
||||||
"rev": "f8949655ccfacc2d34cfb0af23c540db84a2b9e5",
|
"rev": "fca83088ef430f96257d2014e77d08bd350259af",
|
||||||
"sha256": "1303hghvk6avshb7imnkv24qv1ij5d3nbljba20l6v6dsr7zg7ba"
|
"sha256": "1jc7myns24mzfnfybzzjqkpnl235c0fm0zqkai55xwi3vcv9xyr5"
|
||||||
},
|
},
|
||||||
"qtwebglplugin": {
|
"qtwebglplugin": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtwebglplugin.git",
|
"url": "https://invent.kde.org/qt/qt/qtwebglplugin.git",
|
||||||
"rev": "655be6c5406f8ba42acaca363fc55d78a6198733",
|
"rev": "3681356904277e055759693551357e7e488d1be9",
|
||||||
"sha256": "08biydqk1lhjzvrgl3zhbrrgnjcy611pmh9scyw42avdvj2qzpc2"
|
"sha256": "14v9r4mhqq453dzkc5gvv660gq11zsmzngvwgi44srhzcx7k1qqv"
|
||||||
},
|
},
|
||||||
"qtwebsockets": {
|
"qtwebsockets": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtwebsockets.git",
|
"url": "https://invent.kde.org/qt/qt/qtwebsockets.git",
|
||||||
"rev": "90f3590c3c49a0820462af9a778dd13d8df42244",
|
"rev": "dbbdc64b804f7c4d0ed92198aaab49b07fa15e7f",
|
||||||
"sha256": "1dxc3imh8455vy3pggrzjflb2v5382q9ha2fwplybxawld9wdw45"
|
"sha256": "1gbgga8qy26nxxq0537hm3h6la04xb6m4cc2aifjhhhj8py95170"
|
||||||
},
|
},
|
||||||
"qtwebview": {
|
"qtwebview": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtwebview.git",
|
"url": "https://invent.kde.org/qt/qt/qtwebview.git",
|
||||||
"rev": "dfd86e07019488954cddcf2ba314df3cd0c01c0c",
|
"rev": "bbb1891595aba23ff3c6d137aa74442f9e54479b",
|
||||||
"sha256": "1crph9sdmxxs0787il86j2dv6k3qylmy8a83hfzczcjcx3pwcf7a"
|
"sha256": "0j59r6dj4wvassng39whnidd6nzhndwssfwjppppqbs5xy57zh2z"
|
||||||
},
|
},
|
||||||
"qtwinextras": {
|
"qtwinextras": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtwinextras.git",
|
"url": "https://invent.kde.org/qt/qt/qtwinextras.git",
|
||||||
"rev": "48318520a4031167c4c0ad559e1a11b2f4c053d6",
|
"rev": "907009a4f7e5d2b99805547caf4b901bdbb0d4d6",
|
||||||
"sha256": "04smnp9pl3szizdp05dz7qmdgg8sk57d3r40sdy7v9zwi4lwaqi4"
|
"sha256": "0aam2imp4rkbrjir5gsk4ja7vf7vv68ybsh7qchavb3zdmjsvxcd"
|
||||||
},
|
},
|
||||||
"qtx11extras": {
|
"qtx11extras": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtx11extras.git",
|
"url": "https://invent.kde.org/qt/qt/qtx11extras.git",
|
||||||
"rev": "e44c85e8643f2724109993a7b9eaf0dff3530fec",
|
"rev": "6c3605fcb3b34e55951f597e06c135d97dfa6cd7",
|
||||||
"sha256": "1vs1013zxw54xfmkpid99p5f38hlqds172vija7xjyjaww7j7y3b"
|
"sha256": "0dqmw2yqh5b5ayq93px2na50ghfk55y55zsgwraxglly0zgm39w9"
|
||||||
},
|
},
|
||||||
"qtxmlpatterns": {
|
"qtxmlpatterns": {
|
||||||
"url": "https://invent.kde.org/qt/qt/qtxmlpatterns.git",
|
"url": "https://invent.kde.org/qt/qt/qtxmlpatterns.git",
|
||||||
"rev": "3199d91de3f38e5ece3d36bcefe2c33b2c014f3f",
|
"rev": "087f6f35bd027f940818b1696d0aad822e034377",
|
||||||
"sha256": "1l6babh2cjqwaqk12cqpkkl2qy909b1fd84p0ab19raw419ncawz"
|
"sha256": "0y3hkz7ss6iibpfr7dc855bzhdanz79ix0jm6b28viqjy3bdzgar"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,14 @@
|
|||||||
{ lib, fetchgit, fetchFromGitHub }:
|
{ lib, fetchgit, fetchFromGitHub }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "5.15.8";
|
version = "5.15.14";
|
||||||
overrides = {};
|
|
||||||
|
|
||||||
mk = name: args:
|
mk = name: args:
|
||||||
let
|
|
||||||
override = overrides.${name} or {};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
version = override.version or version;
|
inherit version;
|
||||||
src = override.src or
|
src = fetchgit {
|
||||||
fetchgit {
|
|
||||||
inherit (args) url rev sha256;
|
inherit (args) url rev sha256;
|
||||||
|
fetchLFS = false;
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
deepClone = false;
|
deepClone = false;
|
||||||
leaveDotGit = false;
|
leaveDotGit = false;
|
||||||
@ -21,6 +17,29 @@ let
|
|||||||
in
|
in
|
||||||
lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
|
lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
|
||||||
// {
|
// {
|
||||||
|
# qtpim has no official releases
|
||||||
|
qtpim = {
|
||||||
|
version = "unstable-2020-11-02";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "qt";
|
||||||
|
repo = "qtpim";
|
||||||
|
# Last commit before Qt5 support was broken
|
||||||
|
rev = "f9a8f0fc914c040d48bbd0ef52d7a68eea175a98";
|
||||||
|
hash = "sha256-/1g+vvHjuRLB1vsm41MrHbBZ+88Udca0iEcbz0Q1BNQ=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Has no kde/5.15 branch
|
||||||
|
qtpositioning = rec {
|
||||||
|
version = "5.15.2";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "qt";
|
||||||
|
repo = "qtpositioning";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-L/P+yAQItm3taPpCNoOOm7PNdOFZiIwJJYflk6JDWvU=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# qtwebkit does not have an official release tarball on the qt mirror and is
|
# qtwebkit does not have an official release tarball on the qt mirror and is
|
||||||
# mostly maintained by the community.
|
# mostly maintained by the community.
|
||||||
qtwebkit = rec {
|
qtwebkit = rec {
|
||||||
@ -33,43 +52,37 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
|
|||||||
version = "5.212.0-alpha4";
|
version = "5.212.0-alpha4";
|
||||||
};
|
};
|
||||||
|
|
||||||
catapult = fetchgit {
|
# qtsystems has no official releases
|
||||||
url = "https://chromium.googlesource.com/catapult";
|
qtsystems = {
|
||||||
rev = "5eedfe23148a234211ba477f76fc2ea2e8529189";
|
version = "unstable-2019-01-03";
|
||||||
sha256 = "sha256-LPfBCEB5tJOljXpptsNk0sHGtJf/wIRL7fccN79Nh6o=";
|
src = fetchFromGitHub {
|
||||||
|
owner = "qt";
|
||||||
|
repo = "qtsystems";
|
||||||
|
rev = "e3332ee38d27a134cef6621fdaf36687af1b6f4a";
|
||||||
|
hash = "sha256-P8MJgWiDDBCYo+icbNva0LODy0W+bmQTS87ggacuMP0=";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
qtwebengine =
|
qtscript = rec {
|
||||||
let
|
version = "5.15.17";
|
||||||
branchName = "5.15.12";
|
|
||||||
rev = "v${branchName}-lts";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
version = branchName;
|
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchFromGitHub {
|
||||||
url = "https://github.com/qt/qtwebengine.git";
|
owner = "qt";
|
||||||
sha256 = "sha256-8EQqSvxw9rqf+64CIbcCb1VXhNx1GNC8eDIgLyYDyvk=";
|
repo = "qtscript";
|
||||||
inherit rev branchName;
|
rev = "v${version}-lts";
|
||||||
|
hash = "sha256-wXEKdu2gdlkVsWr3nb/tCBwyo9H8GPHWTUele1cP0ks=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qtwebengine = rec {
|
||||||
|
version = "5.15.17";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "qt";
|
||||||
|
repo = "qtwebengine";
|
||||||
|
rev = "v${version}-lts";
|
||||||
|
hash = "sha256-1be8Y96yHYBCxQsRC/PD2X0TVWpA2/r1hvi8sBKOais=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
leaveDotGit = true;
|
|
||||||
name = "qtwebengine-${lib.substring 0 8 rev}.tar.gz";
|
|
||||||
postFetch = ''
|
|
||||||
# remove submodule .git directory
|
|
||||||
rm -rf "$out/src/3rdparty/.git"
|
|
||||||
|
|
||||||
# compress to not exceed the 2GB output limit
|
|
||||||
# try to make a deterministic tarball
|
|
||||||
tar -I 'gzip -n' \
|
|
||||||
--sort=name \
|
|
||||||
--mtime=1970-01-01 \
|
|
||||||
--owner=root --group=root \
|
|
||||||
--numeric-owner --mode=go=rX,u+rw,a-s \
|
|
||||||
--transform='s@^@source/@' \
|
|
||||||
-cf temp -C "$out" .
|
|
||||||
rm -r "$out"
|
|
||||||
mv temp "$out"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ qtHostPathHook() {
|
|||||||
local qmlDir="$1/${qtQmlPrefix:?}"
|
local qmlDir="$1/${qtQmlPrefix:?}"
|
||||||
if [ -d "$qmlDir" ]
|
if [ -d "$qmlDir" ]
|
||||||
then
|
then
|
||||||
qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir")
|
qtWrapperArgs+=(--prefix NIXPKGS_QT5_QML_IMPORT_PATH : "$qmlDir")
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
addEnvHooks "$targetOffset" qtHostPathHook
|
addEnvHooks "$targetOffset" qtHostPathHook
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
{ lib, debug, wrapQtAppsHook }:
|
{ wrapQtAppsHook }:
|
||||||
|
|
||||||
let inherit (lib) optional; in
|
|
||||||
|
|
||||||
mkDerivation:
|
mkDerivation:
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qt3d";
|
pname = "qt3d";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
# error: use of undeclared identifier 'stat64'
|
# error: use of undeclared identifier 'stat64'
|
||||||
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) "-Dstat64=stat";
|
env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) "-Dstat64=stat";
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
, coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3
|
, coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3
|
||||||
, which
|
, which
|
||||||
|
# darwin support
|
||||||
|
, libiconv, libobjc, xcbuild, AGL, AppKit, ApplicationServices, AVFoundation, Carbon, Cocoa, CoreAudio, CoreBluetooth
|
||||||
|
, CoreLocation, CoreServices, DiskArbitration, Foundation, OpenGL, MetalKit, IOKit
|
||||||
|
|
||||||
, dbus, fontconfig, freetype, glib, harfbuzz, icu, libdrm, libX11, libXcomposite
|
, dbus, fontconfig, freetype, glib, harfbuzz, icu, libdrm, libX11, libXcomposite
|
||||||
, libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng , libxcb
|
, libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng , libxcb
|
||||||
@ -12,6 +15,7 @@
|
|||||||
# optional dependencies
|
# optional dependencies
|
||||||
, cups ? null, postgresql ? null
|
, cups ? null, postgresql ? null
|
||||||
, withGtk3 ? false, dconf, gtk3
|
, withGtk3 ? false, dconf, gtk3
|
||||||
|
, withQttranslation ? true, qttranslations ? null
|
||||||
|
|
||||||
# options
|
# options
|
||||||
, libGLSupported ? !stdenv.isDarwin
|
, libGLSupported ? !stdenv.isDarwin
|
||||||
@ -24,13 +28,19 @@
|
|||||||
, debug ? false
|
, debug ? false
|
||||||
, developerBuild ? false
|
, developerBuild ? false
|
||||||
, decryptSslTraffic ? false
|
, decryptSslTraffic ? false
|
||||||
|
, testers
|
||||||
|
, buildPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
debugSymbols = debug || developerBuild;
|
debugSymbols = debug || developerBuild;
|
||||||
|
qtPlatformCross = plat: with plat;
|
||||||
|
if isLinux
|
||||||
|
then "linux-generic-g++"
|
||||||
|
else throw "Please add a qtPlatformCross entry for ${plat.config}";
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation (finalAttrs: ({
|
||||||
pname = "qtbase";
|
pname = "qtbase";
|
||||||
inherit qtCompatVersion src version;
|
inherit qtCompatVersion src version;
|
||||||
debug = debugSymbols;
|
debug = debugSymbols;
|
||||||
@ -46,6 +56,10 @@ stdenv.mkDerivation {
|
|||||||
pcre2
|
pcre2
|
||||||
] ++ (
|
] ++ (
|
||||||
if stdenv.isDarwin then [
|
if stdenv.isDarwin then [
|
||||||
|
# TODO: move to buildInputs, this should not be propagated.
|
||||||
|
AGL AppKit ApplicationServices AVFoundation Carbon Cocoa CoreAudio CoreBluetooth
|
||||||
|
CoreLocation CoreServices DiskArbitration Foundation OpenGL
|
||||||
|
libobjc libiconv MetalKit IOKit
|
||||||
] else [
|
] else [
|
||||||
dbus glib udev
|
dbus glib udev
|
||||||
|
|
||||||
@ -71,10 +85,24 @@ stdenv.mkDerivation {
|
|||||||
++ lib.optional (mysqlSupport) libmysqlclient
|
++ lib.optional (mysqlSupport) libmysqlclient
|
||||||
++ lib.optional (postgresql != null) postgresql;
|
++ lib.optional (postgresql != null) postgresql;
|
||||||
|
|
||||||
nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which ];
|
nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which ]
|
||||||
|
++ lib.optionals stdenv.isDarwin [ xcbuild ];
|
||||||
|
|
||||||
|
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||||
|
# `qtbase` expects to find `cc` (with no prefix) in the
|
||||||
|
# `$PATH`, so the following is needed even if
|
||||||
|
# `stdenv.buildPlatform.canExecute stdenv.hostPlatform`
|
||||||
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||||
|
} // {
|
||||||
|
|
||||||
propagatedNativeBuildInputs = [ lndir ];
|
propagatedNativeBuildInputs = [ lndir ];
|
||||||
|
|
||||||
|
# libQt5Core links calls CoreFoundation APIs that call into the system ICU. Binaries linked
|
||||||
|
# against it will crash during build unless they can access `/usr/share/icu/icudtXXl.dat`.
|
||||||
|
propagatedSandboxProfile = lib.optionalString stdenv.isDarwin ''
|
||||||
|
(allow file-read* (subpath "/usr/share/icu"))
|
||||||
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
outputs = [ "bin" "dev" "out" ];
|
outputs = [ "bin" "dev" "out" ];
|
||||||
@ -113,6 +141,15 @@ stdenv.mkDerivation {
|
|||||||
patchShebangs ./bin
|
patchShebangs ./bin
|
||||||
'' + (
|
'' + (
|
||||||
if stdenv.isDarwin then ''
|
if stdenv.isDarwin then ''
|
||||||
|
sed -i \
|
||||||
|
-e 's|/usr/bin/xcode-select|xcode-select|' \
|
||||||
|
-e 's|/usr/bin/xcrun|xcrun|' \
|
||||||
|
-e 's|/usr/bin/xcodebuild|xcodebuild|' \
|
||||||
|
-e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
|
||||||
|
./configure
|
||||||
|
substituteInPlace ./mkspecs/common/mac.conf \
|
||||||
|
--replace "/System/Library/Frameworks/OpenGL.framework/" "${OpenGL}/Library/Frameworks/OpenGL.framework/" \
|
||||||
|
--replace "/System/Library/Frameworks/AGL.framework/" "${AGL}/Library/Frameworks/AGL.framework/"
|
||||||
'' else lib.optionalString libGLSupported ''
|
'' else lib.optionalString libGLSupported ''
|
||||||
sed -i mkspecs/common/linux.conf \
|
sed -i mkspecs/common/linux.conf \
|
||||||
-e "/^QMAKE_INCDIR_OPENGL/ s|$|${libGL.dev or libGL}/include|" \
|
-e "/^QMAKE_INCDIR_OPENGL/ s|$|${libGL.dev or libGL}/include|" \
|
||||||
@ -137,6 +174,13 @@ stdenv.mkDerivation {
|
|||||||
export MAKEFLAGS+=" -j$NIX_BUILD_CORES"
|
export MAKEFLAGS+=" -j$NIX_BUILD_CORES"
|
||||||
|
|
||||||
./bin/syncqt.pl -version $version
|
./bin/syncqt.pl -version $version
|
||||||
|
'' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||||
|
# QT's configure script will refuse to use pkg-config unless these two environment variables are set
|
||||||
|
export PKG_CONFIG_SYSROOT_DIR=/
|
||||||
|
export PKG_CONFIG_LIBDIR=${lib.getLib pkg-config}/lib
|
||||||
|
echo "QMAKE_LFLAGS=''${LDFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf
|
||||||
|
echo "QMAKE_CFLAGS=''${CFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf
|
||||||
|
echo "QMAKE_CXXFLAGS=''${CXXFLAGS}" >> mkspecs/devices/${qtPlatformCross stdenv.hostPlatform}/qmake.conf
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
@ -161,8 +205,14 @@ stdenv.mkDerivation {
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
env = {
|
||||||
NIX_CFLAGS_COMPILE = toString ([
|
NIX_CFLAGS_COMPILE = toString ([
|
||||||
"-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
|
"-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
"-Wno-warn=free-nonheap-object"
|
||||||
|
"-Wno-free-nonheap-object"
|
||||||
|
"-w"
|
||||||
|
] ++ [
|
||||||
''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
|
''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
|
||||||
''-DLIBRESOLV_SO="${stdenv.cc.libc.out}/lib/libresolv"''
|
''-DLIBRESOLV_SO="${stdenv.cc.libc.out}/lib/libresolv"''
|
||||||
''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
|
''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
|
||||||
@ -176,6 +226,13 @@ stdenv.mkDerivation {
|
|||||||
''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"''
|
''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"''
|
||||||
''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"''
|
''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"''
|
||||||
] ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC");
|
] ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC");
|
||||||
|
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||||
|
NIX_CFLAGS_COMPILE_FOR_BUILD = toString ([
|
||||||
|
"-Wno-warn=free-nonheap-object"
|
||||||
|
"-Wno-free-nonheap-object"
|
||||||
|
"-w"
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
prefixKey = "-prefix ";
|
prefixKey = "-prefix ";
|
||||||
|
|
||||||
@ -184,6 +241,9 @@ stdenv.mkDerivation {
|
|||||||
# To prevent these failures, we need to override PostgreSQL detection.
|
# To prevent these failures, we need to override PostgreSQL detection.
|
||||||
PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
|
PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
|
||||||
|
|
||||||
|
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||||
|
configurePlatforms = [ ];
|
||||||
|
} // {
|
||||||
# TODO Remove obsolete and useless flags once the build will be totally mastered
|
# TODO Remove obsolete and useless flags once the build will be totally mastered
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"-plugindir $(out)/$(qtPluginPrefix)"
|
"-plugindir $(out)/$(qtPluginPrefix)"
|
||||||
@ -210,11 +270,16 @@ stdenv.mkDerivation {
|
|||||||
"-L" "${icu.out}/lib"
|
"-L" "${icu.out}/lib"
|
||||||
"-I" "${icu.dev}/include"
|
"-I" "${icu.dev}/include"
|
||||||
"-pch"
|
"-pch"
|
||||||
|
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
|
"-device ${qtPlatformCross stdenv.hostPlatform}"
|
||||||
|
"-device-option CROSS_COMPILE=${stdenv.cc.targetPrefix}"
|
||||||
]
|
]
|
||||||
++ lib.optional debugSymbols "-debug"
|
++ lib.optional debugSymbols "-debug"
|
||||||
++ lib.optionals developerBuild [
|
++ lib.optionals developerBuild [
|
||||||
"-developer-build"
|
"-developer-build"
|
||||||
"-no-warnings-are-errors"
|
"-no-warnings-are-errors"
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
"-no-warnings-are-errors"
|
||||||
] ++ (if (!stdenv.hostPlatform.isx86_64) then [
|
] ++ (if (!stdenv.hostPlatform.isx86_64) then [
|
||||||
"-no-sse2"
|
"-no-sse2"
|
||||||
] else [
|
] else [
|
||||||
@ -286,6 +351,9 @@ stdenv.mkDerivation {
|
|||||||
] ++ lib.optionals (mysqlSupport) [
|
] ++ lib.optionals (mysqlSupport) [
|
||||||
"-L" "${libmysqlclient}/lib"
|
"-L" "${libmysqlclient}/lib"
|
||||||
"-I" "${libmysqlclient}/include"
|
"-I" "${libmysqlclient}/include"
|
||||||
|
] ++ lib.optional (withQttranslation && (qttranslations != null)) [
|
||||||
|
# depends on x11
|
||||||
|
"-translationdir" "${qttranslations}/translations"
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -325,6 +393,8 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
setupHook = ../hooks/qtbase-setup-hook.sh;
|
setupHook = ../hooks/qtbase-setup-hook.sh;
|
||||||
|
|
||||||
|
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://www.qt.io/";
|
homepage = "https://www.qt.io/";
|
||||||
description = "A cross-platform application framework for C++";
|
description = "A cross-platform application framework for C++";
|
||||||
@ -352,4 +422,4 @@ stdenv.mkDerivation {
|
|||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}))
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtcharts";
|
pname = "qtcharts";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
{ qtModule, lib, stdenv, qtbase, qtdeclarative, bluez }:
|
{ qtModule, lib, stdenv, qtbase, qtdeclarative, bluez, IOBluetooth }:
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtconnectivity";
|
pname = "qtconnectivity";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
|
||||||
buildInputs = lib.optional stdenv.isLinux bluez;
|
buildInputs = lib.optional stdenv.isLinux bluez;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
qtbase
|
||||||
|
qtdeclarative
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
IOBluetooth
|
||||||
|
];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
9
nix/pkgs/qt-5/modules/qtdatavis3d.nix
Normal file
9
nix/pkgs/qt-5/modules/qtdatavis3d.nix
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{ lib, stdenv, qtModule, qtbase, qtdeclarative }:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtdatavis3d";
|
||||||
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
|
outputs = [ "out" "dev" "bin" ];
|
||||||
|
# error: use of undeclared identifier 'stat64'
|
||||||
|
env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) "-Dstat64=stat";
|
||||||
|
}
|
@ -1,8 +1,10 @@
|
|||||||
{ qtModule, lib, python3, qtbase, qtsvg }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, qtModule, python3, qtbase, qtsvg }:
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtdeclarative";
|
pname = "qtdeclarative";
|
||||||
qtInputs = [ qtbase qtsvg ];
|
propagatedBuildInputs = [ qtbase qtsvg ];
|
||||||
nativeBuildInputs = [ python3 ];
|
nativeBuildInputs = [ python3 ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtdoc";
|
pname = "qtdoc";
|
||||||
qtInputs = [ qtdeclarative ];
|
propagatedBuildInputs = [ qtdeclarative ];
|
||||||
outputs = [ "out" ];
|
outputs = [ "out" ];
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtgamepad";
|
pname = "qtgamepad";
|
||||||
qtInputs = [ qtbase qtdeclarative ]
|
propagatedBuildInputs = [ qtbase qtdeclarative ]
|
||||||
++ lib.optional stdenv.isDarwin GameController;
|
++ lib.optional stdenv.isDarwin GameController;
|
||||||
buildInputs = [ ];
|
buildInputs = [ ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtgraphicaleffects";
|
pname = "qtgraphicaleffects";
|
||||||
qtInputs = [ qtdeclarative ];
|
propagatedBuildInputs = [ qtdeclarative ];
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,20 @@
|
|||||||
{ qtModule, qtbase, libtiff }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, qtModule
|
||||||
|
, qtbase
|
||||||
|
, libwebp
|
||||||
|
, jasper
|
||||||
|
, libmng
|
||||||
|
, libtiff
|
||||||
|
}:
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtimageformats";
|
pname = "qtimageformats";
|
||||||
qtInputs = [ qtbase ];
|
propagatedBuildInputs = [
|
||||||
propagatedBuildInputs = [ libtiff ];
|
qtbase libwebp
|
||||||
|
] ++ lib.optionals (!jasper.meta.broken) [
|
||||||
|
jasper
|
||||||
|
] ++ [
|
||||||
|
libmng libtiff
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtlocation";
|
pname = "qtlocation";
|
||||||
qtInputs = [ qtbase qtmultimedia ];
|
propagatedBuildInputs = [ qtbase qtmultimedia ];
|
||||||
outputs = [ "bin" "out" "dev" ];
|
outputs = [ "bin" "out" "dev" ];
|
||||||
qmakeFlags = lib.optionals stdenv.isDarwin [
|
qmakeFlags = lib.optionals stdenv.isDarwin [
|
||||||
# boost uses std::auto_ptr which has been disabled in clang with libcxx
|
# boost uses std::auto_ptr which has been disabled in clang with libcxx
|
||||||
# This flag re-enables this feature
|
# This flag re-enables this feature
|
||||||
# https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
|
# https://libcxx.llvm.org/docs/UsingLibcxx.html#c-17-specific-configuration-macros
|
||||||
"QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
|
"QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR"
|
||||||
|
"QMAKE_CXXFLAGS+=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -5,5 +5,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtlottie";
|
pname = "qtlottie";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtmacextras";
|
pname = "qtmacextras";
|
||||||
qtInputs = [ qtbase ];
|
propagatedBuildInputs = [ qtbase ];
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
maintainers = with maintainers; [ periklis ];
|
maintainers = with maintainers; [ periklis ];
|
||||||
platforms = platforms.darwin;
|
platforms = platforms.darwin;
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtmultimedia";
|
pname = "qtmultimedia";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ gstreamer gst-plugins-base ]
|
buildInputs = [ gstreamer gst-plugins-base ]
|
||||||
# https://github.com/NixOS/nixpkgs/pull/169336 regarding libpulseaudio
|
# https://github.com/NixOS/nixpkgs/pull/169336 regarding libpulseaudio
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtnetworkauth";
|
pname = "qtnetworkauth";
|
||||||
qtInputs = [ qtbase ];
|
propagatedBuildInputs = [ qtbase ];
|
||||||
}
|
}
|
||||||
|
27
nix/pkgs/qt-5/modules/qtpim.nix
Normal file
27
nix/pkgs/qt-5/modules/qtpim.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ qtModule
|
||||||
|
, lib
|
||||||
|
, qtbase
|
||||||
|
, qtdeclarative
|
||||||
|
}:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtpim";
|
||||||
|
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"dev"
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
qtbase
|
||||||
|
qtdeclarative
|
||||||
|
];
|
||||||
|
|
||||||
|
qmakeFlags = [
|
||||||
|
"CONFIG+=git_build"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ OPNA2608 ];
|
||||||
|
};
|
||||||
|
}
|
14
nix/pkgs/qt-5/modules/qtpositioning.nix
Normal file
14
nix/pkgs/qt-5/modules/qtpositioning.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ qtModule
|
||||||
|
, qtbase
|
||||||
|
, qtdeclarative
|
||||||
|
, qtserialport
|
||||||
|
, pkg-config
|
||||||
|
, openssl
|
||||||
|
}:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtpositioning";
|
||||||
|
propagatedBuildInputs = [ qtbase qtdeclarative qtserialport ];
|
||||||
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
buildInputs = [ openssl ];
|
||||||
|
}
|
14
nix/pkgs/qt-5/modules/qtpurchasing.nix
Normal file
14
nix/pkgs/qt-5/modules/qtpurchasing.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, qtModule
|
||||||
|
, qtbase
|
||||||
|
, qtdeclarative
|
||||||
|
, StoreKit
|
||||||
|
, Foundation
|
||||||
|
}:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtpurchasing";
|
||||||
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
|
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Foundation StoreKit ];
|
||||||
|
}
|
11
nix/pkgs/qt-5/modules/qtquick3d.nix
Normal file
11
nix/pkgs/qt-5/modules/qtquick3d.nix
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{ qtModule
|
||||||
|
, qtbase
|
||||||
|
, qtdeclarative
|
||||||
|
, openssl
|
||||||
|
}:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtquick3d";
|
||||||
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
|
buildInputs = [ openssl ];
|
||||||
|
}
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtquickcontrols";
|
pname = "qtquickcontrols";
|
||||||
qtInputs = [ qtdeclarative ];
|
propagatedBuildInputs = [ qtdeclarative ];
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtquickcontrols2";
|
pname = "qtquickcontrols2";
|
||||||
qtInputs = [ qtdeclarative ];
|
propagatedBuildInputs = [ qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
8
nix/pkgs/qt-5/modules/qtremoteobjects.nix
Normal file
8
nix/pkgs/qt-5/modules/qtremoteobjects.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{ qtModule, qtbase, qtdeclarative }:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtremoteobjects";
|
||||||
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
|
# cycle is detected in build when adding "dev" "bin" too
|
||||||
|
outputs = [ "out" ];
|
||||||
|
}
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtscript";
|
pname = "qtscript";
|
||||||
qtInputs = [ qtbase qttools ];
|
propagatedBuildInputs = [ qtbase qttools ];
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtscxml";
|
pname = "qtscxml";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtsensors";
|
pname = "qtsensors";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtserialbus";
|
pname = "qtserialbus";
|
||||||
qtInputs = [ qtbase qtserialport ];
|
propagatedBuildInputs = [ qtbase qtserialport ];
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtserialport";
|
pname = "qtserialport";
|
||||||
qtInputs = [ qtbase ];
|
propagatedBuildInputs = [ qtbase ];
|
||||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isLinux "-DNIXPKGS_LIBUDEV=\"${lib.getLib systemd}/lib/libudev\"";
|
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isLinux "-DNIXPKGS_LIBUDEV=\"${lib.getLib systemd}/lib/libudev\"";
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtspeech";
|
pname = "qtspeech";
|
||||||
qtInputs = [ ];
|
propagatedBuildInputs = [ ];
|
||||||
buildInputs = lib.optionals stdenv.isLinux [ speechd ];
|
buildInputs = lib.optionals stdenv.isLinux [ speechd ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtsvg";
|
pname = "qtsvg";
|
||||||
qtInputs = [ qtbase ];
|
propagatedBuildInputs = [ qtbase ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
54
nix/pkgs/qt-5/modules/qtsystems.nix
Normal file
54
nix/pkgs/qt-5/modules/qtsystems.nix
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
{ qtModule
|
||||||
|
, stdenv
|
||||||
|
, lib
|
||||||
|
, bluez
|
||||||
|
, libevdev
|
||||||
|
, libX11
|
||||||
|
, pkg-config
|
||||||
|
, qtbase
|
||||||
|
, udev
|
||||||
|
, wrapQtAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
qtModule {
|
||||||
|
pname = "qtsystems";
|
||||||
|
|
||||||
|
outputs = [
|
||||||
|
"out"
|
||||||
|
"dev"
|
||||||
|
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
|
"bin"
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
qtbase
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
|
bluez
|
||||||
|
libevdev
|
||||||
|
libX11
|
||||||
|
udev
|
||||||
|
];
|
||||||
|
|
||||||
|
qmakeFlags = [
|
||||||
|
"CONFIG+=git_build"
|
||||||
|
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||||
|
"CONFIG+=ofono"
|
||||||
|
"CONFIG+=udisks"
|
||||||
|
"CONFIG+=upower"
|
||||||
|
];
|
||||||
|
|
||||||
|
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||||
|
wrapQtApp $bin/bin/servicefw
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ OPNA2608 ];
|
||||||
|
};
|
||||||
|
}
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qttools";
|
pname = "qttools";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
|
|
||||||
# fixQtBuiltinPaths overwrites a builtin path we should keep
|
# fixQtBuiltinPaths overwrites a builtin path we should keep
|
||||||
@ -36,7 +36,7 @@ qtModule {
|
|||||||
"bin/macdeployqt"
|
"bin/macdeployqt"
|
||||||
];
|
];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"'';
|
env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && qtdeclarative != null) ''-DNIXPKGS_QMLIMPORTSCANNER="${qtdeclarative.dev}/bin/qmlimportscanner"'';
|
||||||
|
|
||||||
setupHook = ../hooks/qttools-setup-hook.sh;
|
setupHook = ../hooks/qttools-setup-hook.sh;
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qttranslations";
|
pname = "qttranslations";
|
||||||
qtInputs = [ qttools ];
|
nativeBuildInputs = [ qttools ];
|
||||||
|
outputs = [ "out" ];
|
||||||
}
|
}
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtvirtualkeyboard";
|
pname = "qtvirtualkeyboard";
|
||||||
qtInputs = [ qtbase qtdeclarative qtsvg hunspell ];
|
propagatedBuildInputs = [ qtbase qtdeclarative qtsvg hunspell ];
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
{ lib, qtModule, qtbase, qtquickcontrols, wayland, pkg-config, fetchpatch }:
|
{ qtModule, qtbase, qtquickcontrols, wayland, wayland-scanner, pkg-config, lib }:
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtwayland";
|
pname = "qtwayland";
|
||||||
qtInputs = [ qtbase qtquickcontrols ];
|
propagatedBuildInputs = [ qtbase qtquickcontrols ];
|
||||||
buildInputs = [ wayland ];
|
buildInputs = [ wayland ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config wayland-scanner ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
patches = [
|
patches = [
|
||||||
# NixOS-specific, ensure that app_id is correctly determined for
|
# NixOS-specific, ensure that app_id is correctly determined for
|
||||||
# wrapped executables from `wrapQtAppsHook` (see comment in patch for further
|
# wrapped executables from `wrapQtAppsHook` (see comment in patch for further
|
||||||
# context). Beware: shared among different Qt5 versions.
|
# context).
|
||||||
./qtwayland-app_id.patch
|
./qtwayland-app_id.patch
|
||||||
|
|
||||||
# Backport of https://codereview.qt-project.org/c/qt/qtwayland/+/388338
|
|
||||||
# Pulled from Fedora as they modified it to not apply to KDE as Plasma 5.x
|
|
||||||
# doesn't behave properly with the patch applied. See the discussion at
|
|
||||||
# https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/39 for details
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://src.fedoraproject.org/rpms/qt5-qtwayland/raw/46376bb00d4c3dd3db2e82ad7ca5301ce16ea4ab/f/0080-Client-set-constraint-adjustments-for-popups-in-xdg.patch";
|
|
||||||
sha256 = "sha256-XP+noYCk8fUdA0ItCqMjV7lSXDlNdB7Az9q7NRpupHc=";
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
meta.badPlatforms = lib.platforms.darwin;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
{ qtModule, qtbase, qtdeclarative }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, qtModule
|
||||||
|
, qtbase
|
||||||
|
, qtdeclarative
|
||||||
|
}:
|
||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtwebchannel";
|
pname = "qtwebchannel";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ "bin" ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,13 +2,17 @@
|
|||||||
, qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel
|
, qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel
|
||||||
|
|
||||||
, bison, flex, git, gperf, ninja, pkg-config, python, which
|
, bison, flex, git, gperf, ninja, pkg-config, python, which
|
||||||
, nodejs, qtbase, perl
|
, nodejs, perl
|
||||||
|
, buildPackages
|
||||||
|
, pkgsBuildTarget
|
||||||
|
, pkgsBuildBuild
|
||||||
|
|
||||||
, xorg, libXcursor, libXScrnSaver, libXrandr, libXtst
|
, xorg, libXcursor, libXScrnSaver, libXrandr, libXtst
|
||||||
, fontconfig, freetype, harfbuzz, icu, dbus, libdrm
|
, fontconfig, freetype, harfbuzz, icu, dbus, libdrm
|
||||||
, zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
|
, zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
|
||||||
, jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
|
, jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
|
||||||
, alsa-lib
|
, alsa-lib
|
||||||
|
, pulseaudio
|
||||||
, libcap
|
, libcap
|
||||||
, pciutils
|
, pciutils
|
||||||
, systemd
|
, systemd
|
||||||
@ -17,8 +21,8 @@
|
|||||||
, cctools, libobjc, libpm, libunwind, sandbox, xnu
|
, cctools, libobjc, libpm, libunwind, sandbox, xnu
|
||||||
, ApplicationServices, AVFoundation, Foundation, ForceFeedback, GameController, AppKit
|
, ApplicationServices, AVFoundation, Foundation, ForceFeedback, GameController, AppKit
|
||||||
, ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication
|
, ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication
|
||||||
, MediaPlayer, MediaAccessibility, SecurityInterface, Vision, CoreML
|
, MediaPlayer, MediaAccessibility, SecurityInterface, Vision, CoreML, OpenDirectory, Accelerate
|
||||||
, cups, openbsm, runCommand, xcbuild, writeScriptBin
|
, cups, openbsm, xcbuild, writeScriptBin
|
||||||
, ffmpeg_4 ? null
|
, ffmpeg_4 ? null
|
||||||
, lib, stdenv, fetchpatch
|
, lib, stdenv, fetchpatch
|
||||||
, version ? null
|
, version ? null
|
||||||
@ -26,13 +30,39 @@
|
|||||||
, pipewireSupport ? stdenv.isLinux
|
, pipewireSupport ? stdenv.isLinux
|
||||||
, pipewire_0_2
|
, pipewire_0_2
|
||||||
, postPatch ? ""
|
, postPatch ? ""
|
||||||
|
, nspr
|
||||||
|
, lndir
|
||||||
}:
|
}:
|
||||||
|
|
||||||
qtModule {
|
let
|
||||||
|
# qtwebengine expects to find an executable in $PATH which runs on
|
||||||
|
# the build platform yet knows about the host `.pc` files. Most
|
||||||
|
# configury allows setting $PKG_CONFIG to point to an
|
||||||
|
# arbitrarily-named script which serves this purpose; however QT
|
||||||
|
# insists that it is named `pkg-config` with no target prefix. So
|
||||||
|
# we re-wrap the host platform's pkg-config.
|
||||||
|
pkg-config-wrapped-without-prefix = stdenv.mkDerivation {
|
||||||
|
name = "pkg-config-wrapper-without-target-prefix";
|
||||||
|
dontUnpack = true;
|
||||||
|
dontBuild = true;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s '${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config' $out/bin/pkg-config
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
qtModule ({
|
||||||
pname = "qtwebengine";
|
pname = "qtwebengine";
|
||||||
qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bison flex git gperf ninja pkg-config python which gn nodejs
|
bison flex git gperf ninja pkg-config (python.withPackages(ps: [ ps.html5lib ])) which gn nodejs
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
perl
|
||||||
|
lndir (lib.getDev pkgsBuildTarget.targetPackages.qt5.qtbase)
|
||||||
|
pkgsBuildBuild.pkg-config
|
||||||
|
(lib.getDev pkgsBuildTarget.targetPackages.qt5.qtquickcontrols)
|
||||||
|
pkg-config-wrapped-without-prefix
|
||||||
] ++ lib.optional stdenv.isDarwin xcbuild;
|
] ++ lib.optional stdenv.isDarwin xcbuild;
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
outputs = [ "bin" "dev" "out" ];
|
outputs = [ "bin" "dev" "out" ];
|
||||||
@ -76,8 +106,8 @@ qtModule {
|
|||||||
''
|
''
|
||||||
# Patch library paths in Chromium sources
|
# Patch library paths in Chromium sources
|
||||||
+ lib.optionalString (!stdenv.isDarwin) ''
|
+ lib.optionalString (!stdenv.isDarwin) ''
|
||||||
#sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
|
sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
|
||||||
# src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
|
src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
|
||||||
|
|
||||||
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
|
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
|
||||||
src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
|
src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
|
||||||
@ -102,7 +132,12 @@ qtModule {
|
|||||||
--replace "-Wl,-fatal_warnings" ""
|
--replace "-Wl,-fatal_warnings" ""
|
||||||
'') + postPatch;
|
'') + postPatch;
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [
|
env = {
|
||||||
|
NIX_CFLAGS_COMPILE =
|
||||||
|
toString (
|
||||||
|
lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
"-w "
|
||||||
|
] ++ lib.optionals stdenv.cc.isGNU [
|
||||||
# with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit
|
# with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit
|
||||||
"-Wno-class-memaccess"
|
"-Wno-class-memaccess"
|
||||||
] ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [
|
] ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [
|
||||||
@ -112,6 +147,10 @@ qtModule {
|
|||||||
] ++ lib.optionals stdenv.cc.isClang [
|
] ++ lib.optionals stdenv.cc.isClang [
|
||||||
"-Wno-elaborated-enum-base"
|
"-Wno-elaborated-enum-base"
|
||||||
]);
|
]);
|
||||||
|
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||||
|
NIX_CFLAGS_LINK = "-Wl,--no-warn-search-mismatch";
|
||||||
|
"NIX_CFLAGS_LINK_${buildPackages.stdenv.cc.suffixSalt}" = "-Wl,--no-warn-search-mismatch";
|
||||||
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export NINJAFLAGS=-j$NIX_BUILD_CORES
|
export NINJAFLAGS=-j$NIX_BUILD_CORES
|
||||||
@ -119,13 +158,20 @@ qtModule {
|
|||||||
if [ -d "$PWD/tools/qmake" ]; then
|
if [ -d "$PWD/tools/qmake" ]; then
|
||||||
QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
|
QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
|
||||||
fi
|
fi
|
||||||
|
'' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
||||||
|
export QMAKE_CC=$CC
|
||||||
|
export QMAKE_CXX=$CXX
|
||||||
|
export QMAKE_LINK=$CXX
|
||||||
|
export QMAKE_AR=$AR
|
||||||
'';
|
'';
|
||||||
|
|
||||||
qmakeFlags = [ "--" "-system-ffmpeg" ]
|
qmakeFlags = [ "--" "-system-ffmpeg" ]
|
||||||
++ lib.optional pipewireSupport "-webengine-webrtc-pipewire"
|
++ lib.optional (pipewireSupport && stdenv.buildPlatform == stdenv.hostPlatform) "-webengine-webrtc-pipewire"
|
||||||
++ lib.optional enableProprietaryCodecs "-proprietary-codecs";
|
++ lib.optional enableProprietaryCodecs "-proprietary-codecs";
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
qtdeclarative qtquickcontrols qtlocation qtwebchannel
|
||||||
|
|
||||||
# Image formats
|
# Image formats
|
||||||
libjpeg libpng libtiff libwebp
|
libjpeg libpng libtiff libwebp
|
||||||
|
|
||||||
@ -145,6 +191,7 @@ qtModule {
|
|||||||
|
|
||||||
# Audio formats
|
# Audio formats
|
||||||
alsa-lib
|
alsa-lib
|
||||||
|
pulseaudio
|
||||||
|
|
||||||
# Text rendering
|
# Text rendering
|
||||||
fontconfig freetype
|
fontconfig freetype
|
||||||
@ -186,6 +233,8 @@ qtModule {
|
|||||||
SecurityInterface
|
SecurityInterface
|
||||||
Vision
|
Vision
|
||||||
CoreML
|
CoreML
|
||||||
|
OpenDirectory
|
||||||
|
Accelerate
|
||||||
|
|
||||||
openbsm
|
openbsm
|
||||||
libunwind
|
libunwind
|
||||||
@ -215,7 +264,9 @@ qtModule {
|
|||||||
dontUseNinjaBuild = true;
|
dontUseNinjaBuild = true;
|
||||||
dontUseNinjaInstall = true;
|
dontUseNinjaInstall = true;
|
||||||
|
|
||||||
postInstall = lib.optionalString stdenv.isLinux ''
|
postInstall = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
|
||||||
|
mkdir -p $out/libexec
|
||||||
|
'' + lib.optionalString stdenv.isLinux ''
|
||||||
cat > $out/libexec/qt.conf <<EOF
|
cat > $out/libexec/qt.conf <<EOF
|
||||||
[Paths]
|
[Paths]
|
||||||
Prefix = ..
|
Prefix = ..
|
||||||
@ -230,25 +281,36 @@ qtModule {
|
|||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A web engine based on the Chromium web browser";
|
description = "A web engine based on the Chromium web browser";
|
||||||
|
mainProgram = "qwebengine_convert_dict";
|
||||||
maintainers = with maintainers; [ matthewbauer ];
|
maintainers = with maintainers; [ matthewbauer ];
|
||||||
|
|
||||||
# qtwebengine-5.15.8: "QtWebEngine can only be built for x86,
|
# qtwebengine-5.15.8: "QtWebEngine can only be built for x86,
|
||||||
# x86-64, ARM, Aarch64, and MIPSel architectures."
|
# x86-64, ARM, Aarch64, and MIPSel architectures."
|
||||||
platforms =
|
platforms = with lib.systems.inspect.patterns;
|
||||||
lib.trivial.pipe lib.systems.doubles.all [
|
let inherit (lib.systems.inspect) patternLogicalAnd;
|
||||||
(map (double: lib.systems.elaborate { system = double; }))
|
in concatMap (patternLogicalAnd isUnix) (lib.concatMap lib.toList [
|
||||||
(lib.lists.filter (parsedPlatform: with parsedPlatform;
|
isx86_32
|
||||||
isUnix &&
|
isx86_64
|
||||||
(isx86_32 ||
|
isAarch32
|
||||||
isx86_64 ||
|
isAarch64
|
||||||
isAarch32 ||
|
(patternLogicalAnd isMips isLittleEndian)
|
||||||
isAarch64 ||
|
]);
|
||||||
(isMips && isLittleEndian))))
|
|
||||||
(map (plat: plat.system))
|
|
||||||
];
|
|
||||||
broken = stdenv.isDarwin && stdenv.isx86_64;
|
|
||||||
|
|
||||||
# This build takes a long time; particularly on slow architectures
|
# This build takes a long time; particularly on slow architectures
|
||||||
timeout = 24 * 3600;
|
timeout = 24 * 3600;
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||||
|
configurePlatforms = [ ];
|
||||||
|
# to get progress output in `nix-build` and `nix build -L`
|
||||||
|
preBuild = ''
|
||||||
|
export TERM=dumb
|
||||||
|
'';
|
||||||
|
depsBuildBuild = [
|
||||||
|
pkgsBuildBuild.stdenv
|
||||||
|
zlib
|
||||||
|
nss
|
||||||
|
nspr
|
||||||
|
];
|
||||||
|
|
||||||
|
})
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtwebglplugin";
|
pname = "qtwebglplugin";
|
||||||
qtInputs = [ qtbase qtwebsockets ];
|
propagatedBuildInputs = [ qtbase qtwebsockets ];
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
|
, qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
|
||||||
, fontconfig, libwebp, libxml2, libxslt
|
, fontconfig, libwebp, libxml2, libxslt
|
||||||
, sqlite, systemd, glib, gst_all_1, cmake
|
, sqlite, systemd, glib, gst_all_1, cmake
|
||||||
, bison, flex, gdb, gperf, perl, pkg-config, python38, ruby
|
, bison, flex, gdb, gperf, perl, pkg-config, python3, ruby
|
||||||
, ICU, OpenGL
|
, ICU, OpenGL
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -22,11 +22,11 @@ let
|
|||||||
in
|
in
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtwebkit";
|
pname = "qtwebkit";
|
||||||
qtInputs = [ qtbase qtdeclarative qtlocation qtsensors qtwebchannel ]
|
propagatedBuildInputs = [ qtbase qtdeclarative qtlocation qtsensors qtwebchannel ]
|
||||||
++ lib.optional stdenv.isDarwin qtmultimedia;
|
++ lib.optional stdenv.isDarwin qtmultimedia;
|
||||||
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base hyphen ]
|
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base hyphen ]
|
||||||
++ lib.optionals stdenv.isDarwin [ ICU OpenGL ];
|
++ lib.optionals stdenv.isDarwin [ ICU OpenGL ];
|
||||||
nativeBuildInputs = [ bison flex gdb gperf perl pkg-config python38 ruby cmake ];
|
nativeBuildInputs = [ bison flex gdb gperf perl pkg-config python3 ruby cmake ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DPORT=Qt" ]
|
cmakeFlags = [ "-DPORT=Qt" ]
|
||||||
++ lib.optionals stdenv.isDarwin [
|
++ lib.optionals stdenv.isDarwin [
|
||||||
@ -35,7 +35,7 @@ qtModule {
|
|||||||
"-DMACOS_FORCE_SYSTEM_XML_LIBRARIES=OFF"
|
"-DMACOS_FORCE_SYSTEM_XML_LIBRARIES=OFF"
|
||||||
];
|
];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = toString ([
|
env.NIX_CFLAGS_COMPILE = toString ([
|
||||||
# with gcc7 this warning blows the log over Hydra's limit
|
# with gcc7 this warning blows the log over Hydra's limit
|
||||||
"-Wno-expansion-to-defined"
|
"-Wno-expansion-to-defined"
|
||||||
]
|
]
|
||||||
@ -47,12 +47,13 @@ qtModule {
|
|||||||
|
|
||||||
doCheck = false; # fails 13 out of 13 tests (ctest)
|
doCheck = false; # fails 13 out of 13 tests (ctest)
|
||||||
|
|
||||||
# Hack to avoid TMPDIR in RPATHs.
|
# remove forbidden references to $TMPDIR
|
||||||
preFixup = ''
|
preFixup = lib.optionalString stdenv.isLinux ''
|
||||||
rm -rf "$(pwd)"
|
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$out"/libexec/*
|
||||||
mkdir "$(pwd)"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
maintainers = with lib.maintainers; [ abbradar periklis ];
|
maintainers = with lib.maintainers; [ abbradar periklis ];
|
||||||
knownVulnerabilities = [
|
knownVulnerabilities = [
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtwebsockets";
|
pname = "qtwebsockets";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
outputs = [ "out" "dev" "bin" ];
|
outputs = [ "out" "dev" "bin" ];
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtwebview";
|
pname = "qtwebview";
|
||||||
qtInputs = [ qtdeclarative qtwebengine ];
|
propagatedBuildInputs = [ qtdeclarative qtwebengine ];
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [
|
buildInputs = lib.optionals stdenv.isDarwin [
|
||||||
CoreFoundation
|
CoreFoundation
|
||||||
WebKit
|
WebKit
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtx11extras";
|
pname = "qtx11extras";
|
||||||
qtInputs = [ qtbase ];
|
propagatedBuildInputs = [ qtbase ];
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
qtModule {
|
qtModule {
|
||||||
pname = "qtxmlpatterns";
|
pname = "qtxmlpatterns";
|
||||||
qtInputs = [ qtbase qtdeclarative ];
|
propagatedBuildInputs = [ qtbase qtdeclarative ];
|
||||||
devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ];
|
devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ];
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,16 @@
|
|||||||
{ lib, mkDerivation, perl }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, buildPackages
|
||||||
|
, mkDerivation
|
||||||
|
, perl
|
||||||
|
, qmake
|
||||||
|
, patches
|
||||||
|
, srcs
|
||||||
|
, pkgsHostTarget
|
||||||
|
}:
|
||||||
|
|
||||||
let inherit (lib) licenses maintainers platforms; in
|
let inherit (lib) licenses maintainers platforms; in
|
||||||
|
|
||||||
{ self, srcs, patches }:
|
|
||||||
|
|
||||||
args:
|
args:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -16,8 +23,18 @@ mkDerivation (args // {
|
|||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
patches = (args.patches or []) ++ (patches.${pname} or []);
|
patches = (args.patches or []) ++ (patches.${pname} or []);
|
||||||
|
|
||||||
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl self.qmake ];
|
nativeBuildInputs =
|
||||||
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
(args.nativeBuildInputs or []) ++ [
|
||||||
|
perl qmake
|
||||||
|
] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
|
pkgsHostTarget.qt5.qtbase.dev
|
||||||
|
];
|
||||||
|
propagatedBuildInputs =
|
||||||
|
(lib.warnIf (args ? qtInputs) "qt5.qtModule's qtInputs argument is deprecated" args.qtInputs or []) ++
|
||||||
|
(args.propagatedBuildInputs or []);
|
||||||
|
} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
|
||||||
|
depsBuildBuild = [ buildPackages.stdenv.cc ] ++ (args.depsBuildBuild or []);
|
||||||
|
} // {
|
||||||
|
|
||||||
outputs = args.outputs or [ "out" "dev" ];
|
outputs = args.outputs or [ "out" "dev" ];
|
||||||
setOutputFlags = args.setOutputFlags or false;
|
setOutputFlags = args.setOutputFlags or false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user