libsForQt5.qtpim: init at unstable-2020-11-02 (#214164)

* libsForQt5.qtpim: init at unstable-2020-11-02

* libsForQt5.qtpim: Move to pkgs/development/libraries/qt-5

* libsForQt5.qtpim: unstable-2020-11-02 -> unstable-2021-04-09

By try reverting Qt6 commits instead of pulling in Qt5-compatible ones

* Revert "libsForQt5.qtpim: unstable-2020-11-02 -> unstable-2021-04-09"

This reverts commit 9384825791ee59c7981afb3ee3c1b3b83c992d34.

authored by Christoph Neidahl and committed by GitHub 434cd105 36f6a3c2

+132
+93
pkgs/development/libraries/qt-5/5.15/default.nix
··· 52 # prevent headaches from stale qmlcache data 53 ./qtdeclarative-default-disable-qmlcache.patch 54 ]; 55 qtscript = [ ./qtscript.patch ]; 56 qtserialport = [ ./qtserialport.patch ]; 57 qtsystems = [ ··· 167 inherit gstreamer gst-plugins-base; 168 }; 169 qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {}; 170 qtpositioning = callPackage ../modules/qtpositioning.nix {}; 171 qtquick1 = null; 172 qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
··· 52 # prevent headaches from stale qmlcache data 53 ./qtdeclarative-default-disable-qmlcache.patch 54 ]; 55 + qtpim = [ 56 + ## Upstream patches after the Qt6 transition that apply without problems & fix bugs 57 + 58 + # Fixes QList -> QSet conversion 59 + (fetchpatch { 60 + url = "https://github.com/qt/qtpim/commit/f337e281e28904741a3b1ac23d15c3a83ef2bbc9.patch"; 61 + hash = "sha256-zlxD45JnbhIgdJxMmGxGMUBcQPcgzpu3s4bLX939jL0="; 62 + }) 63 + # Fixes invalid syntax from a previous bad patch in tests 64 + (fetchpatch { 65 + url = "https://github.com/qt/qtpim/commit/2aefdd8bd28a4decf9ef8381f5b255f39f1ee90c.patch"; 66 + hash = "sha256-mg93QF3hi50igw1/Ok7fEs9iCaN6co1+p2/5fQtxTmc="; 67 + }) 68 + # Unit test account for QList index change 69 + (fetchpatch { 70 + url = "https://github.com/qt/qtpim/commit/79b41af6a4117f5efb0298289e20c30b4d0b0b2e.patch"; 71 + hash = "sha256-u+cLl4lu6r2+j5GAiasqbB6/OZPz5A6GpSB33vd/VBg="; 72 + }) 73 + # Remove invalid method overload which confuses the QML engine 74 + (fetchpatch { 75 + url = "https://github.com/qt/qtpim/commit/5679a6141c76ae7d64c3acc8a87b1adb048289e0.patch"; 76 + hash = "sha256-z8f8kLhC9CqBOfGPL8W9KJq7MwALAAicXfRkHiQEVJ4="; 77 + }) 78 + # Specify enum flag type properly in unit test 79 + (fetchpatch { 80 + url = "https://github.com/qt/qtpim/commit/a43cc24e57db8d3c3939fa540d67da3294dcfc5c.patch"; 81 + hash = "sha256-SsYkxX6prxi8VRZr4az+wqawcRN8tR3UuIFswJL+3T4="; 82 + }) 83 + # Update qHash methods to return size_t instead of uint 84 + (fetchpatch { 85 + url = "https://github.com/qt/qtpim/commit/9c698155d82fc2b68a87c59d0443c33f9085b117.patch"; 86 + hash = "sha256-rb8D8taaglhQikYSAPrtLvazgIw8Nga/a9+J21k8gIo="; 87 + }) 88 + # Mark virtual methods with override keyword 89 + (fetchpatch { 90 + url = "https://github.com/qt/qtpim/commit/f34cf2ff2b0f428d5b8a70763b29088075ebbd1c.patch"; 91 + hash = "sha256-tNPOEVpx1eqHx5T23ueW32KxMQ/SB+TBCJ4PZ6SA3LI="; 92 + }) 93 + # Fix calendardemo example 94 + (fetchpatch { 95 + url = "https://github.com/qt/qtpim/commit/a66590d473753bc49105d3132fb9e4150c92a14a.patch"; 96 + hash = "sha256-RPRtGQ24NQYewnv6+IqYITpwD/XxuK68a1iKgFmKm3c="; 97 + }) 98 + # Make the tests pass on big endian systems 99 + (fetchpatch { 100 + url = "https://github.com/qt/qtpim/commit/7802f038ed1391078e27fa3f37d785a69314537b.patch"; 101 + hash = "sha256-hogUXyPXjGE0q53PWOjiQbQ2YzOsvrJ7mo9djGIbjVQ="; 102 + }) 103 + # Fix some deprecated QChar constructor issues in unit tests 104 + (fetchpatch { 105 + url = "https://github.com/qt/qtpim/commit/114615812dcf9398c957b0833e860befe15f840f.patch"; 106 + hash = "sha256-yZ1qs8y5DSq8FDXRPyuSPRIzjEUTWAhpVide/b+xaLQ="; 107 + }) 108 + # Accessors should be const 109 + (fetchpatch { 110 + url = "https://github.com/qt/qtpim/commit/a2bf7cdf05c264b5dd2560f799760b5508f154e4.patch"; 111 + hash = "sha256-+YfPrKyOKnPkqFokwW/aDsEivg4TzdJwQpDdAtM+rQE="; 112 + }) 113 + # Enforce detail access constraints in contact operations by default 114 + (fetchpatch { 115 + url = "https://github.com/qt/qtpim/commit/8765a35233aa21a932ee92bbbb92a5f8edd4dc68.patch"; 116 + hash = "sha256-vp/enerVecEXz4zyxQ66DG+fVVWxI4bYnLj92qaaqNk="; 117 + }) 118 + # Fixes broken file generation, which breaks reverse dependencies that try to find one of its modules 119 + (fetchpatch { 120 + url = "https://github.com/qt/qtpim/commit/4b2bdce30bd0629c9dc0567af6eeaa1d038f3152.patch"; 121 + hash = "sha256-2dXhkZyxPvY2KQq2veerAlpXkpU5/FeArWRlm1aOcEY="; 122 + }) 123 + 124 + ## Patches that haven't been upstreamed 125 + 126 + # Fix tst_QContactManager::compareVariant_data test 127 + (fetchpatch { 128 + url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/1001_fix-qtdatetime-null-comparison.patch"; 129 + hash = "sha256-k/rO9QjwSlRChwFTZLkxDjZWqFkua4FNbaNf1bJKLxc="; 130 + }) 131 + # Avoid crash while parsing vCards from different threads 132 + (fetchpatch { 133 + url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/1002_Avoid-crash-while-parsing-vcards-from-different-threads.patch"; 134 + hash = "sha256-zhayAoWgcmKosEGVBy2k6a2e6BxyVwfGX18tBbzqEk8="; 135 + }) 136 + # Adapt to JSON parser behavior change in Qt 5.15 137 + (fetchpatch { 138 + url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/1003_adapt_to_json_parser_change.patch"; 139 + hash = "sha256-qAIa48hmDd8vMH/ywqW+22vISKai76XnjgFuB+tQbIU="; 140 + }) 141 + # Fix version being 0.0.0 142 + (fetchpatch { 143 + url = "https://salsa.debian.org/qt-kde-team/qt/qtpim/-/raw/360682f88457b5ae7c92f32f574e51ccc5edbea0/debian/patches/2000_revert_module_version.patch"; 144 + hash = "sha256-6wg/eVu9J83yvIO428U1FX3otz58tAy6pCvp7fqOBKU="; 145 + }) 146 + ]; 147 qtscript = [ ./qtscript.patch ]; 148 qtserialport = [ ./qtserialport.patch ]; 149 qtsystems = [ ··· 259 inherit gstreamer gst-plugins-base; 260 }; 261 qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {}; 262 + qtpim = callPackage ../modules/qtpim.nix {}; 263 qtpositioning = callPackage ../modules/qtpositioning.nix {}; 264 qtquick1 = null; 265 qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
+12
pkgs/development/libraries/qt-5/5.15/srcs.nix
··· 22 in 23 lib.mapAttrs mk (lib.importJSON ./srcs-generated.json) 24 // { 25 # Has no kde/5.15 branch 26 qtpositioning = rec { 27 version = "5.15.2";
··· 22 in 23 lib.mapAttrs mk (lib.importJSON ./srcs-generated.json) 24 // { 25 + # qtpim has no official releases 26 + qtpim = { 27 + version = "unstable-2020-11-02"; 28 + src = fetchFromGitHub { 29 + owner = "qt"; 30 + repo = "qtpim"; 31 + # Last commit before Qt5 support was broken 32 + rev = "f9a8f0fc914c040d48bbd0ef52d7a68eea175a98"; 33 + hash = "sha256-/1g+vvHjuRLB1vsm41MrHbBZ+88Udca0iEcbz0Q1BNQ="; 34 + }; 35 + }; 36 + 37 # Has no kde/5.15 branch 38 qtpositioning = rec { 39 version = "5.15.2";
+27
pkgs/development/libraries/qt-5/modules/qtpim.nix
···
··· 1 + { qtModule 2 + , lib 3 + , qtbase 4 + , qtdeclarative 5 + }: 6 + 7 + qtModule { 8 + pname = "qtpim"; 9 + 10 + outputs = [ 11 + "out" 12 + "dev" 13 + ]; 14 + 15 + qtInputs = [ 16 + qtbase 17 + qtdeclarative 18 + ]; 19 + 20 + qmakeFlags = [ 21 + "CONFIG+=git_build" 22 + ]; 23 + 24 + meta = { 25 + maintainers = with lib.maintainers; [ OPNA2608 ]; 26 + }; 27 + }