This commit is contained in:
Osyotr 2024-09-08 21:46:15 +03:00 коммит произвёл GitHub
Родитель 59ab5cf205
Коммит ee08875bfb
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
92 изменённых файлов: 346 добавлений и 665 удалений

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-3d",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-activeqt",
"version": "5.15.14",
"version": "5.15.15",
"description": "Active Qt is a helper framework that enables the developer to access and use ActiveX controls and COM objects provided by any ActiveX server. It also makes it possible to make the developer's own Qt applications available as COM servers on Windows.",
"license": null,
"supports": "windows",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-androidextras",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Android Extras module provided a set of classes and functions that were specific to Android applications written with Qt. This module helped developers to integrate various Android-specific features and services into their Qt applications.",
"license": null,
"supports": "android",

Просмотреть файл

@ -1,53 +1,55 @@
# Every update requires an update of these hashes and the version within the control file of each of the 32 ports.
# So it is probably better to have a central location for these hashes and let the ports update via a script
set(QT_MAJOR_MINOR_VER 5.15)
set(QT_PATCH_VER 14)
set(QT_PATCH_VER 15)
set(QT_UPDATE_VERSION OFF) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes.
set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth
purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets
webview winextras xmlpatterns doc x11extras androidextras translations serialbus webengine webglplugin wayland)
set(QT_HASH_qt5-3d 502d80fddbf8d3ba18dd262c85df04abf6aa2ee76ba3eb10666588872635497a2828f34963945662b54ac9552d63e0463061d2065c34fdf8a7ea78d0871ebb2e)
set(QT_HASH_qt5-activeqt ebef84c37875ab2deaf3931664527afce1e433984e8dda6036b244d29f3e561a3f1d8c948d45100658a34fca4ff098f885e53af14de68e260afc6070d1a48dc5)
set(QT_HASH_qt5-androidextras e08080a88f7dd96fec59359fe109ab3f85916f2d8c7f6b7a441fc787514dfa64ec33c346764b2d8bbe71baf883291e73642909c5480144dacf0851282e0a9bca)
set(QT_HASH_qt5-base 1280e7da926ff0c888dc3455ebeb73708bf8e44a3fe77ecf015e902608d75d7304639271dedba63635f959411452cd2b64a6f9166365a3aa3440656c00120272)
set(QT_HASH_qt5-charts 1deee169cf86bef6d92b0cc1000106e84cbbe2ccb93729e299a94e794bcc6d882e1818b1b74ddb0b2f2b7427a4dfe556218dd9988c9b31888c21907f6d1efaf3)
set(QT_HASH_qt5-connectivity a327711dcbe8d45e33732055784246ea23399aac8efecf23500709a16caabc61cc586fd21ab385573f0cc9d5a2da39de426fd882cf2c4c07bdf8c60c683d8388)
set(QT_HASH_qt5-datavis3d b1778a2a1124caa01ec931d2c018f79a6810b8931a40a1ee7889acb0f9a47fb0d6547375f0dd3435009359be73e873a2acfe16fac918bb17b9f99a55094efca3)
set(QT_HASH_qt5-declarative 06c48938c5ab96c4a9e010fdf4a8fbf2b84b7669a486298044363048de3b7da01aa5d9284d1b08b563331887e326befb25566f9972f5143ca3cde47016394bbd)
set(QT_HASH_qt5-doc ac670058501cc7732bb3d83038cb2862149ddd115d636412e95e0c8362000e38aa6eddc0ec71d4c34cea94fbf10c56ad074f790471b452e1c8ac7a6201e1223c)
set(QT_HASH_qt5-gamepad a6fffbf01fd9e022949c99e926c9f877e9802b61e9517f36a574e90b60c3cb045061907114c6aaed1da0d2d068758617931ca123facd79ead9bae3b445174e26)
set(QT_HASH_qt5-graphicaleffects 774411e6fdcec6e91fa2368d4e8d0326581c638daad0b5b9fb7bba210fad854e51fe59555ccabf9bd331f601d93e8c5e3652095daa993dbc74b205db4b46e506)
set(QT_HASH_qt5-imageformats 8b9994b7e31a941ee265958da3829240bea89662d70f0e8ded7fb0cf354d4f6a38bd16664c32a97ae73424dc9ac853b24c0b6a645e20f8c39177e26fc1d43f2e)
set(QT_HASH_qt5-location 5a6271d61bb9ede80b8483e784d8cc15170cf3f7b019472b2362c742e1e1fd52d811c2132b751574dacee6f7274b81e6049b8a3dc934ba7612c0aef6643062dd)
set(QT_HASH_qt5-macextras 70275814cbf9f9d3c4a4aa10d9d526a4082f892fdec95de10e8eeaf87b7aa0d29cc7881882039a8a0cd8b1dd09faac071be73e80923aff89c1193efe2e52291a)
set(QT_HASH_qt5-mqtt ac99b314e6223158e946a798c6c937f6f5f5541b6a574f7e35626f93cda808c8368b26fe2d8e564c1160d5d40cf87afd28d715684c8e9d35b87e4a33bebe9f0e)
set(QT_HASH_qt5-multimedia 6059bd9aec65888ed6f3a1f87506a94ea567f9e064bb4a586859bc8f76ee4dca573eb256623452ddd9daf2305f49c707673425ea08edca9cd2db7b56bf5cab9c)
set(QT_HASH_qt5-networkauth e0315df81f7ee6da7798212ac18b2e5b7936f5ec355c089f2c095bc8edd5f59cdb68c0bfec300dad30f62f4444549cfe19c5b5fe14943328064da7416cbf5f00)
set(QT_HASH_qt5-purchasing d916c404ac73a9e8a063e103c3e850bd015dc16cd860d7abf8f7cae5107dbf1e87d5f784bd7f07737a0c4224640fbaeaa4a38eaaf697810404850bb877b92fb0)
set(QT_HASH_qt5-quickcontrols 1fdfda2cd1922801dc59c0cae8dfcd3e7e342cc820e092921a7c1e40123740c527df1777209b90109ad277cac47964c40a30ad1a5d4184b9283c015c91d43ce3)
set(QT_HASH_qt5-quickcontrols2 acf6a03086fd840e13eafda20e8aef3803edfdd90ea9932e9ef8ef3c1f029375010624b1ce2b8f1386c1f0dcf08c1abc86182ceec8a00f480f1cef13e8b693cf)
set(QT_HASH_qt5-remoteobjects 78942dd10d39352850677b383eca93fb74170b5a5c037b4db1fea1a17002009ad62f0310a711accde1193535dedf5eff01c5e14b088590d91b62ba4c7dc4999e)
set(QT_HASH_qt5-script b1b5e700be35e9c063e15f2a53b97a78368642d3287dea67cc4f97a049cc6ffa1a9a39da61ac49608cfeac435215c544a6cd80d67da673fd16f341f2aa0628e1)
set(QT_HASH_qt5-scxml 1490824b0108300b1924f404431e3871ce067def15993aed9af768c871b3d0eae4cd0b8f467671d3ebcada98d5e11dfe86e250467b7dbf9708ce9f37766861d5)
set(QT_HASH_qt5-sensors 777882f3bf3ddbfe053132f123c14590538fdf483479877779cfdd3dc242021d86aedc6484a453b67282f1ba4447c73e4f7a04bf3d4b741789b37e646ab67f35)
set(QT_HASH_qt5-serialbus ac30e163fd2ef7a3d6dbb8f8f3cac06d68f915d29c87d1d49be541c38c3dd09873d89525508062b7cf6dc17d750167e0cc13bb48718f2a42b80b2e7f04e7633d)
set(QT_HASH_qt5-serialport 64980191cf8bc27a7a28bc8d373f1ee4d16bec5ab6b1e3296d4bc245498bb59d29bec49ebe609f8242bffb205f923acff7ab736f80d01d7689032896ee8f9bad)
set(QT_HASH_qt5-speech 87d021efb5d07704dd5469bb3050e9381e8da47d2ef41bd37a95ac1903410b781283af42694dd1300c84bd0f0ea219e61da0a3aaf6204937578d26044a297f79)
set(QT_HASH_qt5-svg 4f781bddaae619125fc0f73b5736eb33dc49f368cc9cab9fce436cb57b389e66d14d2625e9100c2c1d809b67c3ceb16f718f50ce4abe1c925cf8dc8bb8b285a8)
set(QT_HASH_qt5-tools c936ed67a7c5d36fadf55ab8ebb9d22d6697a86b34b1c162f472341de31fa14fc2a3116b50d847d46ba953dab0231eae8131634c4ad0dfd4009b7d7f9ba960ae)
set(QT_HASH_qt5-translations bf41fea921151c10f78804e274919805ccee12c13c57fe50e8f6df863aa955e4a1aa939d23a7500cd3b5fe6aa5656b1a12628cdbed1e9c8dc1f126e2cf7d7176)
set(QT_HASH_qt5-virtualkeyboard d6ff2770282e460a8d9fff3746225918cb21c65ef0d0d89e1c6876428ca1e860ecf45b44d57c9ef6e9a85cb050a4a67ecc1b20ae5c5be0a37d8b73ca439587c3)
set(QT_HASH_qt5-wayland 9e8add52353f7a146759511c49c001cd76a56790a81af5222f6f2d3d1a2f1ee9cc62048c72efe69708eb3444c6115272d4af8d738df7b1e1da959359d7420dbb)
set(QT_HASH_qt5-webchannel 8b87f73a256dff16ec8de226b10d8a34d9a1c4f1c2d510ea58824558f3b188a3a4d66c4507764b713407f44a0861e96d061fd164a1a050129fcf4148efd3999f)
set(QT_HASH_qt5-webengine be25e76518346b0059f3331bee786fa6ba7551931794d29a59d5cc3b9f80863f9da47bf5a91f749ba7dbfae037040b4bad4f48ef40f70a188186645923550c0c)
set(QT_HASH_qt5-webglplugin 1b4d9ac16653f4e64b2c2838b4677b554b8ca1c6cbff1632a1f65f2edc4a7f925b850b2e71e2fcbd2d63f8de170887f191112ca365f0bce2e9d6c86ac8687282)
set(QT_HASH_qt5-websockets bfd3738a9bdf51dd4534c2341c20e3918a1183ca3f4307de5c2fd7224dfcc890162530e7d8c67ceed9ca56c2c9d15d4c80355e65c4e5a41bd7f7ce4d3b072b1b)
set(QT_HASH_qt5-webview 5a48688439a8d4eaa13c4a5c8453e6a399413d28a8cbdcb1d04a4723b9a0a527d64c2c48bc040cf960300335db958add05a63fb39a6a94fbe1ad19f4989864f6)
set(QT_HASH_qt5-winextras 7383843f65ba5b9a3fd20f34fbbfbb89c847fcfa05d4a948360f072b148d2eff2543c4fb1df48bf695504a01a843224a5d89c83bbb2acb6d9145e1ee11397edc)
set(QT_HASH_qt5-x11extras 32825110fb272b03cda432c25ca26eb645685d2c70beaf10045256cfc2837c64307d2475c8dabc7daeb4e19341e282d23cb4a1579fddaf17853525ad232d55f1)
set(QT_HASH_qt5-xmlpatterns a9c46ffd6c13221d981d4a5b3cb31cdcdd8250fbe11262c1778815e83892d8c299e4c78b2cf31f7c33eb573e38c8e18255d501c8b95e809d877e2c981a6e7c8a)
set(QT_HASH_qt5-3d 66332383f242c76abe4b01c1d6d036e990d99de2abdc5d66a58506c397633507296f6d6c5e33a5cc2608c0ae2d7936ceffb832564239ffcf2ebdf60cabd12fb6)
set(QT_HASH_qt5-activeqt c99ac3ce89c72576025d2824fc0f54b46c3c8ce10f66ea3386cc3f990609d88a514ffe11aa28c3e811b1995f1f315b3a3e9cd5399098ba93ae64790ba6e15953)
set(QT_HASH_qt5-androidextras d4497a5e1659e5111c2fbaf0f0574b3f4434b4be3427f2631e73c502c733f24174b0b5920b3c92660f804577e7a5e7e4d3d26f20255c1a8926b8abd85c12741a)
set(QT_HASH_qt5-base fb49a64ba57d75f721929643c042423277c5c7259d2071fdb73d97db723ab3134e3eb6d4828027f6342ce5cb66cbd658e5db149a4633540e403a3b91fcb6681e)
set(QT_HASH_qt5-charts 873a15a6617cd809892968bd499c1d302e9ca63644205364a15711d6db8a6b3c88b4f5553b1302972d8923175fde5dac3db4af9290b9226476c3b8cd1f978fbc)
set(QT_HASH_qt5-connectivity bcfcfb5305e59a2f0b26aa7c0dba65ae1444df2c3035556147acb63801080667a6b24020961189e476060f12b0568cee883957c30e1c65a894e2780f34081cf3)
set(QT_HASH_qt5-datavis3d f172ee7a509a44e01aa595ce5bbfb4a9bc8d99c5264e4d4161a085f4971a35ceea82b9c5404cbde82caef51d1d2537a2bcfab97f2a80c8f1f54074ab35b4a643)
set(QT_HASH_qt5-declarative 9c1672037c491729805bb8a08f56b8a7ab06b8958f593c32f16c56350a13afcab38a23d35d04b1a5f67c7c5bd8724918baa6fb71f6d1c31218310c8f04544d48)
set(QT_HASH_qt5-doc d91ee2058f5ae1f395793f9467187da7a6ff353193ff339a9201b6b3051457555acac71b3623fcbd63d3dd94ab5fc8206bc25781cebf87ff89f717f107ed230e)
set(QT_HASH_qt5-doc d91ee2058f5ae1f395793f9467187da7a6ff353193ff339a9201b6b3051457555acac71b3623fcbd63d3dd94ab5fc8206bc25781cebf87ff89f717f107ed230e)
set(QT_HASH_qt5-doc d91ee2058f5ae1f395793f9467187da7a6ff353193ff339a9201b6b3051457555acac71b3623fcbd63d3dd94ab5fc8206bc25781cebf87ff89f717f107ed230e)
set(QT_HASH_qt5-gamepad 6c41351a16126d69e59775f352247cb817bb15a5b40f8ec02715245375f74e1d56aadbf476f498a36a377f98d39268b3952f13a041c193d800252f067ddb3e5d)
set(QT_HASH_qt5-graphicaleffects 0d68e8e788139fecf1dbf6fea218255d6d940314104ee445c117eba668333fa0db794d9cc9cf9b4da358508852b4052921ad93a87328e0dfef61e7ded8f3a4ae)
set(QT_HASH_qt5-imageformats ec9a60d343c240e7e85cdac68949927393b958f5e0b196fb1b3063c09b90600a46e9188c00a9dc744b526e95291dbe5c3d4fbca2b775e9824f82c36d754816cc)
set(QT_HASH_qt5-location a12d2d3979abddbcdf2750215337f10cece11b7a82125ffb3f0b75c4c8a186c6aba09a33b397cb195407292e37bf242056a33c8d7b1cf1d6f26470ec26ed2407)
set(QT_HASH_qt5-macextras 810a5cf23b6f638303e5252360717127f46a5f04e0be96acfcf99b2192f4848329a945bb07be48d1fe9e9b3f2ce762c171930482f4d46384d70e62fbb5a304b7)
set(QT_HASH_qt5-mqtt 137fe48d8c5309ef0026157abbeaec818f0865319f1374c84cf5bdd2bcd238d8a2d9612deffc76f6ae2bdaa1f00d1039f32a3e7944acae7e6639e43eb262cc97)
set(QT_HASH_qt5-multimedia a2a0649001d6fcde1fdefba4c4ccc35a7e4d776acd5a41a169f002db5fa6785a8dc1cde5ec8166e11a2c18701a650e32ea94b1ca3a967d7ecf062a18b0c18c04)
set(QT_HASH_qt5-networkauth 1645175195ecdea8576c725935c4186e709ee98fdb1e563e11481d44c8bfba20a3d3d096a968df0e6451c2bbed4a6b6fe77feb2a8d2293c88341ba272c22e8f7)
set(QT_HASH_qt5-purchasing b2746aac0e950bb969f66b3f73b7ffb0d6a2aaa810eefd775f30fb25765fb5f50d37103da90564c1312ab6f21aa7485db183dba4900feea69ab084ece80c57b7)
set(QT_HASH_qt5-quickcontrols 2477b780fd60c4b160016ad1774d74156a16aedfebc062e71bb5e62f53fbfe16a8951b046415571017bfb0289acfe469e61f1095fe7b38a5c48c10876760a8f4)
set(QT_HASH_qt5-quickcontrols2 e19fa073e42d4dddc84f2b5c258068ac7a922948e88b0002c3e77a74509532e0107dcd05ee7509b17e640593bc645b16ea1ce31621b393143a98c56e2e0fc4a9)
set(QT_HASH_qt5-remoteobjects 08f5373fd94b8db627d16dfe21efea5df062ae6a18641443b881966070b7b3e1941c182766f309dae962c81e21a0578ffe5d11530950bb4122a9ea2112f2a8ea)
set(QT_HASH_qt5-script e4898af8fe66f8b3a2fbf813eca63520686e67dc893f4636bff7591c287ddfde2680bcf900394a154f81744ca5c20ab1e379dd235915e17c8c803aefa194bd69)
set(QT_HASH_qt5-scxml 9284bdfadc94bd514c9389c44265b489b213ec8455c506d00c7f824b290ce436e1c73888695a0cddee56382b01727c57ad8ae44e908e963d16adce89fdf7570e)
set(QT_HASH_qt5-sensors 693e7764c44aebf801dc6d979b78dbf3b2af1cabc9a2c9b66b0bb21d791c3719413494c7013df4ec2f9eb467f8d29c6decbf7a59635344ae11e7208c3ebf2223)
set(QT_HASH_qt5-serialbus 6ccb01d938159954c5ff3591a3e80b221f748edd1074c5721410599135b8e22f5e992b793c9a3406343d806fe4f37bf7904c88d927f292ea2c58f50c2e78fb5e)
set(QT_HASH_qt5-serialport 8d7eaf72a29c1e33ac6ee22578fc003a1d73cfd8af432a2c1368eab846a65caa0f435f254064dbe31095d42d2bf69bf119f5a4839ebede7a38607367d6df68df)
set(QT_HASH_qt5-speech f4770a7e9578da24c02e7fe03dbddec4a75640bfa71b389657e5cf20561e56b172d8f56900eebebf2f95c5b6842a4203ea2370e4828356c9c93793fdfebcaac2)
set(QT_HASH_qt5-svg 924f88a7aaed5a8e63120cc8a669eddc122682674a3f6ac52221a49057e8c95e5c248ddc8722bd596d39583de2bc5c65f48b4472d8de3cb81bd111d8a3740160)
set(QT_HASH_qt5-tools 5ebc569fdbb781374b9ce993131a072704eea50348aea98ff12e57a2606d2accea29724d2c54953c467430b8657bcbe98509ee8cc40b4b869e11a5db8e663a88)
set(QT_HASH_qt5-translations 82846016137bea7847d15bd8aacc85e2ae826b1f6a8a15517cd99479f038cbe4ca217a2cf8eb1befd9aa901c1272bf0e6f9100f86a015eec670776a79c6015f7)
set(QT_HASH_qt5-virtualkeyboard 4db72101949ad15a3e5964293f8abea4ad5c7f449e0263920520bc57a434d7ebef3506aa67075031ba098af227c675773998d7cff52d555d1590c44cad8711cd)
set(QT_HASH_qt5-wayland ef6f210431fa04d166e814bf7269ee9ed77f355871240f629839c5637ea598a3b71c85c7e53aafbfe2e9c1c8d4f24867da37144707d9b48749be4a883e1b679c)
set(QT_HASH_qt5-webchannel 4819f656a0ca8a38d4eb92e1ab16e7911d3162e646516a944c2e693ce2da5bebe730d4552cefb40b700e9136ae01df4a372cbdb061551c83547448eeec7339a7)
set(QT_HASH_qt5-webengine 21a261f56228ca254d2fc1f952c9e7ad83b2b42cd92c11d54c2b4b7204bdeedb31168fb64dbf74254687c7e1d83090dd5f21312676d695a2ccb36c756316b052)
set(QT_HASH_qt5-webglplugin 2caa17a1a06f3d6b2e71c47a317125759194a9b50b130bbacd83770aa3d493777b2481b36abbc737f78647cb8861a23eca2c64ca292283fe76c40bdc62e503da)
set(QT_HASH_qt5-websockets 625701fd196c82634fb311020fdd6d4a4ce4adaa57dab02b0ccae3f25ed4d6bfdf1aef1285ee255c212d3cc4f4125713e90f046803064ac1da484f5c6acc2b7d)
set(QT_HASH_qt5-webview ea0f2a095c4a860ccdf324e939af0cb56385ecfe2b263bdbcdedc375d16294528fe25b81fad8af3e00d83f715713e5be91e7c07637ce9f3f03d7cd630582bf89)
set(QT_HASH_qt5-winextras 8d190e95ea5d29d734a565a102ed82fec45aeee04bd2a9d41c91b364736fe7d956ca3b4acec557c52b38d5cbb8cfea3b9448365373999ac9b05174c455086445)
set(QT_HASH_qt5-x11extras 3ff1002ff75e33237229c4639a9e66f43368752b2085609bc644609b4ee50c56c9c175ac811f6fae670907242de9fe05bd99474f03339bb2a7442c4e7a14cac7)
set(QT_HASH_qt5-xmlpatterns 1575a76dd8d2aefcaa4b0d483d98451c75908cca517f38e8bbd54f03d64b77c8c876bf2960abb213f78cf04ee81179b9e6addbc8f497514e42370cf3d651b1db)
if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")

Просмотреть файл

@ -1,45 +0,0 @@
--- a/src/gui/painting/qfixed_p.h
+++ b/src/gui/painting/qfixed_p.h
@@ -54,6 +54,7 @@
#include <QtGui/private/qtguiglobal_p.h>
#include "QtCore/qdebug.h"
#include "QtCore/qpoint.h"
+#include <QtCore/private/qnumeric_p.h>
#include "QtCore/qsize.h"
QT_BEGIN_NAMESPACE
@@ -182,6 +183,14 @@ Q_DECL_CONSTEXPR inline bool operator<(int i, const QFixed &f) { return i * 64 <
Q_DECL_CONSTEXPR inline bool operator>(const QFixed &f, int i) { return f.value() > i * 64; }
Q_DECL_CONSTEXPR inline bool operator>(int i, const QFixed &f) { return i * 64 > f.value(); }
+inline bool qAddOverflow(QFixed v1, QFixed v2, QFixed *r)
+{
+ int val;
+ bool result = add_overflow(v1.value(), v2.value(), &val);
+ r->setValue(val);
+ return result;
+}
+
#ifndef QT_NO_DEBUG_STREAM
inline QDebug &operator<<(QDebug &dbg, const QFixed &f)
{ return dbg << f.toReal(); }
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -2163,11 +2163,14 @@ found:
eng->maxWidth = qMax(eng->maxWidth, line.textWidth);
} else {
eng->minWidth = qMax(eng->minWidth, lbh.minw);
- eng->maxWidth += line.textWidth;
+ if (qAddOverflow(eng->maxWidth, line.textWidth, &eng->maxWidth))
+ eng->maxWidth = QFIXED_MAX;
}
- if (line.textWidth > 0 && item < eng->layoutData->items.size())
- eng->maxWidth += lbh.spaceData.textWidth;
+ if (line.textWidth > 0 && item < eng->layoutData->items.size()) {
+ if (qAddOverflow(eng->maxWidth, lbh.spaceData.textWidth, &eng->maxWidth))
+ eng->maxWidth = QFIXED_MAX;
+ }
line.textWidth += trailingSpace;
if (lbh.spaceData.length) {

Просмотреть файл

@ -1,52 +0,0 @@
--- a/src/network/ssl/qsslsocket_schannel.cpp
+++ b/src/network/ssl/qsslsocket_schannel.cpp
@@ -1880,6 +1880,28 @@ bool QSslSocketBackendPrivate::verifyCertContext(CERT_CONTEXT *certContext)
if (configuration.peerVerifyDepth > 0 && DWORD(configuration.peerVerifyDepth) < verifyDepth)
verifyDepth = DWORD(configuration.peerVerifyDepth);
+ const auto &caCertificates = q->sslConfiguration().caCertificates();
+
+ if (!rootCertOnDemandLoadingAllowed()
+ && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN)
+ && (q->peerVerifyMode() == QSslSocket::VerifyPeer
+ || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) {
+ // When verifying a peer Windows "helpfully" builds a chain that
+ // may include roots from the system store. But we don't want that if
+ // the user has set their own CA certificates.
+ // Since Windows claims this is not a partial chain the root is included
+ // and we have to check that it is one of our configured CAs.
+ CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1];
+ QSslCertificate certificate = getCertificateFromChainElement(element);
+ if (!caCertificates.contains(certificate)) {
+ auto error = QSslError(QSslError::CertificateUntrusted, certificate);
+ sslErrors += error;
+ emit q->peerVerifyError(error);
+ if (q->state() != QAbstractSocket::ConnectedState)
+ return false;
+ }
+ }
+
for (DWORD i = 0; i < verifyDepth; i++) {
CERT_CHAIN_ELEMENT *element = chain->rgpElement[i];
QSslCertificate certificate = getCertificateFromChainElement(element);
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -2221,6 +2221,10 @@ QSslSocketPrivate::QSslSocketPrivate()
, flushTriggered(false)
{
QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration);
+ // If the global configuration doesn't allow root certificates to be loaded
+ // on demand then we have to disable it for this socket as well.
+ if (!configuration.allowRootCertOnDemandLoading)
+ allowRootCertOnDemandLoading = false;
}
/*!
@@ -2470,6 +2474,7 @@ void QSslConfigurationPrivate::deepCopyDefaultConfiguration(QSslConfigurationPri
ptr->sessionProtocol = global->sessionProtocol;
ptr->ciphers = global->ciphers;
ptr->caCertificates = global->caCertificates;
+ ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading;
ptr->protocol = global->protocol;
ptr->peerVerifyMode = global->peerVerifyMode;
ptr->peerVerifyDepth = global->peerVerifyDepth;

Просмотреть файл

@ -1,203 +0,0 @@
diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp
index 7cd457ba3a..11d162cb79 100644
--- a/src/corelib/serialization/qxmlstream.cpp
+++ b/src/corelib/serialization/qxmlstream.cpp
@@ -1302,15 +1302,18 @@ inline int QXmlStreamReaderPrivate::fastScanContentCharList()
return n;
}
-inline int QXmlStreamReaderPrivate::fastScanName(int *prefix)
+// Fast scan an XML attribute name (e.g. "xml:lang").
+inline QXmlStreamReaderPrivate::FastScanNameResult
+QXmlStreamReaderPrivate::fastScanName(Value *val)
{
int n = 0;
uint c;
while ((c = getChar()) != StreamEOF) {
if (n >= 4096) {
// This is too long to be a sensible name, and
- // can exhaust memory
- return 0;
+ // can exhaust memory, or the range of decltype(*prefix)
+ raiseNamePrefixTooLongError();
+ return {};
}
switch (c) {
case '\n':
@@ -1339,23 +1342,23 @@ inline int QXmlStreamReaderPrivate::fastScanName(int *prefix)
case '+':
case '*':
putChar(c);
- if (prefix && *prefix == n+1) {
- *prefix = 0;
+ if (val && val->prefix == n + 1) {
+ val->prefix = 0;
putChar(':');
--n;
}
- return n;
+ return FastScanNameResult(n);
case ':':
- if (prefix) {
- if (*prefix == 0) {
- *prefix = n+2;
+ if (val) {
+ if (val->prefix == 0) {
+ val->prefix = n + 2;
} else { // only one colon allowed according to the namespace spec.
putChar(c);
- return n;
+ return FastScanNameResult(n);
}
} else {
putChar(c);
- return n;
+ return FastScanNameResult(n);
}
Q_FALLTHROUGH();
default:
@@ -1364,12 +1367,12 @@ inline int QXmlStreamReaderPrivate::fastScanName(int *prefix)
}
}
- if (prefix)
- *prefix = 0;
+ if (val)
+ val->prefix = 0;
int pos = textBuffer.size() - n;
putString(textBuffer, pos);
textBuffer.resize(pos);
- return 0;
+ return FastScanNameResult(0);
}
enum NameChar { NameBeginning, NameNotBeginning, NotName };
@@ -1878,6 +1881,14 @@ void QXmlStreamReaderPrivate::raiseWellFormedError(const QString &message)
raiseError(QXmlStreamReader::NotWellFormedError, message);
}
+void QXmlStreamReaderPrivate::raiseNamePrefixTooLongError()
+{
+ // TODO: add a ImplementationLimitsExceededError and use it instead
+ raiseError(QXmlStreamReader::NotWellFormedError,
+ QXmlStream::tr("Length of XML attribute name exceeds implemnetation limits (4KiB "
+ "characters)."));
+}
+
void QXmlStreamReaderPrivate::parseError()
{
diff --git a/src/corelib/serialization/qxmlstream.g b/src/corelib/serialization/qxmlstream.g
index 4321fed68a..8c6a1a5887 100644
--- a/src/corelib/serialization/qxmlstream.g
+++ b/src/corelib/serialization/qxmlstream.g
@@ -516,7 +516,16 @@ public:
int fastScanLiteralContent();
int fastScanSpace();
int fastScanContentCharList();
- int fastScanName(int *prefix = nullptr);
+
+ struct FastScanNameResult {
+ FastScanNameResult() : ok(false) {}
+ explicit FastScanNameResult(int len) : addToLen(len), ok(true) { }
+ operator bool() { return ok; }
+ int operator*() { Q_ASSERT(ok); return addToLen; }
+ int addToLen;
+ bool ok;
+ };
+ FastScanNameResult fastScanName(Value *val = nullptr);
inline int fastScanNMTOKEN();
@@ -525,6 +534,7 @@ public:
void raiseError(QXmlStreamReader::Error error, const QString& message = QString());
void raiseWellFormedError(const QString &message);
+ void raiseNamePrefixTooLongError();
QXmlStreamEntityResolver *entityResolver;
@@ -1811,7 +1821,12 @@ space_opt ::= space;
qname ::= LETTER;
/.
case $rule_number: {
- sym(1).len += fastScanName(&sym(1).prefix);
+ Value &val = sym(1);
+ if (auto res = fastScanName(&val))
+ val.len += *res;
+ else
+ return false;
+
if (atEnd) {
resume($rule_number);
return false;
@@ -1822,7 +1837,11 @@ qname ::= LETTER;
name ::= LETTER;
/.
case $rule_number:
- sym(1).len += fastScanName();
+ if (auto res = fastScanName())
+ sym(1).len += *res;
+ else
+ return false;
+
if (atEnd) {
resume($rule_number);
return false;
diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h
index e5bde7b98e..b01484cac3 100644
--- a/src/corelib/serialization/qxmlstream_p.h
+++ b/src/corelib/serialization/qxmlstream_p.h
@@ -1005,7 +1005,16 @@ public:
int fastScanLiteralContent();
int fastScanSpace();
int fastScanContentCharList();
- int fastScanName(int *prefix = nullptr);
+
+ struct FastScanNameResult {
+ FastScanNameResult() : ok(false) {}
+ explicit FastScanNameResult(int len) : addToLen(len), ok(true) { }
+ operator bool() { return ok; }
+ int operator*() { Q_ASSERT(ok); return addToLen; }
+ int addToLen;
+ bool ok;
+ };
+ FastScanNameResult fastScanName(Value *val = nullptr);
inline int fastScanNMTOKEN();
@@ -1014,6 +1023,7 @@ public:
void raiseError(QXmlStreamReader::Error error, const QString& message = QString());
void raiseWellFormedError(const QString &message);
+ void raiseNamePrefixTooLongError();
QXmlStreamEntityResolver *entityResolver;
@@ -1939,7 +1949,12 @@ bool QXmlStreamReaderPrivate::parse()
break;
case 262: {
- sym(1).len += fastScanName(&sym(1).prefix);
+ Value &val = sym(1);
+ if (auto res = fastScanName(&val))
+ val.len += *res;
+ else
+ return false;
+
if (atEnd) {
resume(262);
return false;
@@ -1947,7 +1962,11 @@ bool QXmlStreamReaderPrivate::parse()
} break;
case 263:
- sym(1).len += fastScanName();
+ if (auto res = fastScanName())
+ sym(1).len += *res;
+ else
+ return false;
+
if (atEnd) {
resume(263);
return false;

Просмотреть файл

@ -1,219 +0,0 @@
diff --git a/src/corelib/serialization/qxmlstream.cpp b/src/corelib/serialization/qxmlstream.cpp
index bf8a2a9..6ab5d49 100644
--- a/src/corelib/serialization/qxmlstream.cpp
+++ b/src/corelib/serialization/qxmlstream.cpp
@@ -160,7 +160,7 @@
addData() or by waiting for it to arrive on the device().
\value UnexpectedElementError The parser encountered an element
- that was different to those it expected.
+ or token that was different to those it expected.
*/
@@ -295,13 +295,34 @@
QXmlStreamReader is a well-formed XML 1.0 parser that does \e not
include external parsed entities. As long as no error occurs, the
- application code can thus be assured that the data provided by the
- stream reader satisfies the W3C's criteria for well-formed XML. For
- example, you can be certain that all tags are indeed nested and
- closed properly, that references to internal entities have been
- replaced with the correct replacement text, and that attributes have
- been normalized or added according to the internal subset of the
- DTD.
+ application code can thus be assured, that
+ \list
+ \li the data provided by the stream reader satisfies the W3C's
+ criteria for well-formed XML,
+ \li tokens are provided in a valid order.
+ \endlist
+
+ Unless QXmlStreamReader raises an error, it guarantees the following:
+ \list
+ \li All tags are nested and closed properly.
+ \li References to internal entities have been replaced with the
+ correct replacement text.
+ \li Attributes have been normalized or added according to the
+ internal subset of the \l DTD.
+ \li Tokens of type \l StartDocument happen before all others,
+ aside from comments and processing instructions.
+ \li At most one DOCTYPE element (a token of type \l DTD) is present.
+ \li If present, the DOCTYPE appears before all other elements,
+ aside from StartDocument, comments and processing instructions.
+ \endlist
+
+ In particular, once any token of type \l StartElement, \l EndElement,
+ \l Characters, \l EntityReference or \l EndDocument is seen, no
+ tokens of type StartDocument or DTD will be seen. If one is present in
+ the input stream, out of order, an error is raised.
+
+ \note The token types \l Comment and \l ProcessingInstruction may appear
+ anywhere in the stream.
If an error occurs while parsing, atEnd() and hasError() return
true, and error() returns the error that occurred. The functions
@@ -620,6 +641,7 @@
d->token = -1;
return readNext();
}
+ d->checkToken();
return d->type;
}
@@ -740,6 +762,14 @@
};
+static const char QXmlStreamReader_XmlContextString[] =
+ "Prolog\0"
+ "Body\0";
+
+static const short QXmlStreamReader_XmlContextString_indices[] = {
+ 0, 7
+};
+
/*!
\property QXmlStreamReader::namespaceProcessing
The namespace-processing flag of the stream reader
@@ -775,6 +805,16 @@
QXmlStreamReader_tokenTypeString_indices[d->type]);
}
+/*!
+ \internal
+ \return \param ctxt (Prolog/Body) as a string.
+ */
+QString contextString(QXmlStreamReaderPrivate::XmlContext ctxt)
+{
+ return QLatin1String(QXmlStreamReader_XmlContextString +
+ QXmlStreamReader_XmlContextString_indices[static_cast<int>(ctxt)]);
+}
+
#endif // QT_NO_XMLSTREAMREADER
QXmlStreamPrivateTagStack::QXmlStreamPrivateTagStack()
@@ -866,6 +906,8 @@
type = QXmlStreamReader::NoToken;
error = QXmlStreamReader::NoError;
+ currentContext = XmlContext::Prolog;
+ foundDTD = false;
}
/*
@@ -4061,6 +4103,92 @@
}
}
+static bool isTokenAllowedInContext(QXmlStreamReader::TokenType type,
+ QXmlStreamReaderPrivate::XmlContext loc)
+{
+ switch (type) {
+ case QXmlStreamReader::StartDocument:
+ case QXmlStreamReader::DTD:
+ return loc == QXmlStreamReaderPrivate::XmlContext::Prolog;
+
+ case QXmlStreamReader::StartElement:
+ case QXmlStreamReader::EndElement:
+ case QXmlStreamReader::Characters:
+ case QXmlStreamReader::EntityReference:
+ case QXmlStreamReader::EndDocument:
+ return loc == QXmlStreamReaderPrivate::XmlContext::Body;
+
+ case QXmlStreamReader::Comment:
+ case QXmlStreamReader::ProcessingInstruction:
+ return true;
+
+ case QXmlStreamReader::NoToken:
+ case QXmlStreamReader::Invalid:
+ return false;
+ default:
+ return false;
+ }
+}
+
+/*!
+ \internal
+ \brief QXmlStreamReader::isValidToken
+ \return \c true if \param type is a valid token type.
+ \return \c false if \param type is an unexpected token,
+ which indicates a non-well-formed or invalid XML stream.
+ */
+bool QXmlStreamReaderPrivate::isValidToken(QXmlStreamReader::TokenType type)
+{
+ // Don't change currentContext, if Invalid or NoToken occur in the prolog
+ if (type == QXmlStreamReader::Invalid || type == QXmlStreamReader::NoToken)
+ return false;
+
+ // If a token type gets rejected in the body, there is no recovery
+ const bool result = isTokenAllowedInContext(type, currentContext);
+ if (result || currentContext == XmlContext::Body)
+ return result;
+
+ // First non-Prolog token observed => switch context to body and check again.
+ currentContext = XmlContext::Body;
+ return isTokenAllowedInContext(type, currentContext);
+}
+
+/*!
+ \internal
+ Checks token type and raises an error, if it is invalid
+ in the current context (prolog/body).
+ */
+void QXmlStreamReaderPrivate::checkToken()
+{
+ Q_Q(QXmlStreamReader);
+
+ // The token type must be consumed, to keep track if the body has been reached.
+ const XmlContext context = currentContext;
+ const bool ok = isValidToken(type);
+
+ // Do nothing if an error has been raised already (going along with an unexpected token)
+ if (error != QXmlStreamReader::Error::NoError)
+ return;
+
+ if (!ok) {
+ raiseError(QXmlStreamReader::UnexpectedElementError,
+ QLatin1String("Unexpected token type %1 in %2.")
+ .arg(q->tokenString(), contextString(context)));
+ return;
+ }
+
+ if (type != QXmlStreamReader::DTD)
+ return;
+
+ // Raise error on multiple DTD tokens
+ if (foundDTD) {
+ raiseError(QXmlStreamReader::UnexpectedElementError,
+ QLatin1String("Found second DTD token in %1.").arg(contextString(context)));
+ } else {
+ foundDTD = true;
+ }
+}
+
/*!
\fn bool QXmlStreamAttributes::hasAttribute(const QString &qualifiedName) const
\since 4.5
diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h
index 8f7c9e0..708059b 100644
--- a/src/corelib/serialization/qxmlstream_p.h
+++ b/src/corelib/serialization/qxmlstream_p.h
@@ -804,6 +804,17 @@
#endif
bool atEnd;
+ enum class XmlContext
+ {
+ Prolog,
+ Body,
+ };
+
+ XmlContext currentContext = XmlContext::Prolog;
+ bool foundDTD = false;
+ bool isValidToken(QXmlStreamReader::TokenType type);
+ void checkToken();
+
/*!
\sa setType()
*/

Просмотреть файл

@ -47,10 +47,6 @@ endif()
qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH
PATCHES
# CVE fixes from https://download.qt.io/official_releases/qt/5.15/
patches/CVE-2023-32763-qtbase-5.15.diff
patches/CVE-2023-34410-qtbase-5.15.diff
patches/CVE-2023-37369-qtbase-5.15.diff
patches/CVE-2023-38197-qtbase-5.15.diff
patches/CVE-2023-43114-5.15.patch
patches/0001-CVE-2023-51714-qtbase-5.15.diff
patches/0002-CVE-2023-51714-qtbase-5.15.diff
@ -101,7 +97,8 @@ set(CORE_OPTIONS
#-combined-angle-lib
# ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt)
#-optimized-tools
#-force-debug-info
-force-debug-info
-no-separate-debug-info
-verbose
)

Просмотреть файл

@ -1,7 +1,6 @@
{
"name": "qt5-base",
"version": "5.15.14",
"port-version": 2,
"version": "5.15.15",
"description": "Qt Base provides the basic non-GUI functionality required by all Qt applications.",
"homepage": "https://www.qt.io/",
"license": null,

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-charts",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Charts module provides a set of easy to use chart components.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-connectivity",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Connectivity module provides access to Bluetooth and NFC hardware.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-datavis3d",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Data Visualization module provides a way to visualize data in 3D as bar, scatter, and surface graphs.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-declarative",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Declarative (Quick 2)",
"license": null,
"dependencies": [

Просмотреть файл

@ -4,9 +4,11 @@ set(VCPKG_BUILD_TYPE release)
include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake")
qt_submodule_installation()
vcpkg_build_qmake(TARGETS docs SKIP_MAKEFILES BUILD_LOGNAME docs)
qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
vcpkg_build_qmake(TARGETS install_docs SKIP_MAKEFILES BUILD_LOGNAME install-docs)
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/qt5/doc/qtdoc.qch")
message(FATAL_ERROR "Failed to install qtdoc.qch.")
if(NOT QT_UPDATE_VERSION)
vcpkg_build_qmake(TARGETS docs SKIP_MAKEFILES BUILD_LOGNAME docs)
qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/")
vcpkg_build_qmake(TARGETS install_docs SKIP_MAKEFILES BUILD_LOGNAME install-docs)
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/qt5/doc/qtdoc.qch")
message(FATAL_ERROR "Failed to install qtdoc.qch.")
endif()
endif()

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-doc",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt documentation.",
"license": null,
"supports": "native",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-gamepad",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Gamepad is an add-on library that enables Qt applications to support the use of gamepad hardware and in some cases remote control equipment.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-graphicaleffects",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Graphical Effects module provides a set of QML types for adding visually impressive and configurable effects to user interfaces.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-imageformats",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Image Formats add-on module provides optional support for other image file formats.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,7 +1,6 @@
{
"name": "qt5-location",
"version": "5.15.14",
"port-version": 1,
"version": "5.15.15",
"description": "The Qt Location API helps you create viable mapping solutions using the data available from some of the popular location services.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,5 +1,2 @@
include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake)
if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT QT_UPDATE_VERSION)
message(FATAL_ERROR "qt5-macextras only support OSX.")
endif()
qt_submodule_installation()
include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake")
qt_submodule_installation()

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-macextras",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Mac Extras provide classes and functions that enable you to use miscellaneous functionality specific to the macOS and iOS operating systems.",
"license": null,
"supports": "osx",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-mqtt",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt MQTT enables you to create applications and devices that can communicate over the MQ telemetry transport (MQTT) protocol.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-multimedia",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Multimedia is an essential module that provides a rich set of QML types and C++ classes to handle multimedia content. It also provides necessary APIs to access the camera and radio functionality.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-networkauth",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Network Authorization provides a set of APIs that enable Qt applications to obtain limited access to online accounts and HTTP services without exposing users' passwords.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-purchasing",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Purchasing is an add-on library that enables Qt applications to support in-app purchases. It is a cross-platform library that currently supports purchases made to the Mac App Store on OS X, App Store on iOS, and Google Play on Android.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-quickcontrols",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Quick Controls module provides a set of controls that can be used to build complete interfaces in Qt Quick.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-quickcontrols2",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Quick Controls provides a set of controls that can be used to build complete interfaces in Qt Quick.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-remoteobjects",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Remote Objects (QtRO) is an Inter-Process Communication (IPC) module developed for Qt. This module extends Qt's existing functionalities to enable information exchange between processes or computers, easily.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-script",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Script provides support for application scripting with ECMAScript.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-scxml",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt SCXML module provides classes for embedding state machines created from State Chart XML (SCXML) files in Qt applications.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-sensors",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Sensors API provides access to sensor hardware via QML and C++ interfaces. The Qt Sensors API also provides a motion gesture recognition API for devices.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-serialbus",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Serial Bus API provides classes and functions to access the various industrial serial buses and protocols, such as CAN, ModBus, and others.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-serialport",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt5 Serial Port - provides access to hardware and virtual serial ports",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-speech",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Speech module enables a Qt application to support accessibility features such as text-to-speech, which is useful for end-users who are visually challenged or cannot access the application for whatever reason.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-svg",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt SVG provides classes for rendering and displaying SVG drawings in widgets and on other paint devices.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-tools",
"version": "5.15.14",
"version": "5.15.15",
"description": "A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-translations",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt translations.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-virtualkeyboard",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt Virtual Keyboard project provides an input framework and reference keyboard frontend for Qt 5 on Linux Desktop/X11, Windows Desktop, and Boot2Qt targets.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-wayland",
"version": "5.15.14",
"version": "5.15.15",
"description": "QtWayland is a Qt 5 module that wraps the functionality of Wayland.",
"license": null,
"supports": "linux",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-webchannel",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt WebChannel enables peer-to-peer communication between a server (QML/C++ application) and a client (HTML/JavaScript or QML application).",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,7 +1,6 @@
{
"name": "qt5-webengine",
"version": "5.15.14",
"port-version": 1,
"version": "5.15.15",
"description": "Qt WebEngine provides functionality for rendering regions of dynamic web content.",
"license": null,
"supports": "!static",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-webglplugin",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt WebGL Plugin module enables Qt applications to be run in web browsers through WebGL streaming.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-websockets",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt WebSockets module provides C++ and QML interfaces that enable Qt applications to act as a server that can process WebSocket requests, or a client that can consume data received from the server, or both.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-webview",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt WebView provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-winextras",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt Windows Extras provide classes and functions that enable you to use miscellaneous Windows-specific functions. For example, you can convert Qt objects to Windows object handles and manipulate DWM glass frames.",
"license": null,
"supports": "windows",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-x11extras",
"version": "5.15.14",
"version": "5.15.15",
"description": "Qt X11 Extras enables the Qt programmer to write applications for the Linux/X11 platform.",
"license": null,
"supports": "!windows",

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5-xmlpatterns",
"version": "5.15.14",
"version": "5.15.15",
"description": "The Qt XML Patterns module provides support for XPath, XQuery, XSLT, and XML Schema validation.",
"license": null,
"dependencies": [

Просмотреть файл

@ -1,6 +1,6 @@
{
"name": "qt5",
"version": "5.15.14",
"version": "5.15.15",
"description": "A cross-platform application and UI framework.",
"homepage": "https://www.qt.io/",
"license": null,

Просмотреть файл

@ -63,11 +63,11 @@ function(vcpkg_configure_qmake)
vcpkg_list(APPEND arg_OPTIONS "CONFIG-=shared" "CONFIG*=static")
else()
vcpkg_list(APPEND arg_OPTIONS "CONFIG-=static" "CONFIG*=shared")
vcpkg_list(APPEND arg_OPTIONS_DEBUG "CONFIG*=separate_debug_info")
endif()
vcpkg_list(APPEND arg_OPTIONS "CONFIG*=force_debug_info")
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static")
vcpkg_list(APPEND arg_OPTIONS "CONFIG*=static-runtime")
vcpkg_list(APPEND arg_OPTIONS "CONFIG*=static_runtime")
endif()
if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)

Просмотреть файл

@ -7269,67 +7269,67 @@
"port-version": 0
},
"qt5": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-3d": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-activeqt": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-androidextras": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-base": {
"baseline": "5.15.14",
"port-version": 2
"baseline": "5.15.15",
"port-version": 0
},
"qt5-canvas3d": {
"baseline": "0",
"port-version": 3
},
"qt5-charts": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-connectivity": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-datavis3d": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-declarative": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-doc": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-gamepad": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-graphicaleffects": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-imageformats": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-location": {
"baseline": "5.15.14",
"port-version": 1
"baseline": "5.15.15",
"port-version": 0
},
"qt5-macextras": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-modularscripts": {
@ -7337,107 +7337,107 @@
"port-version": 1
},
"qt5-mqtt": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-multimedia": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-networkauth": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-purchasing": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-quickcontrols": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-quickcontrols2": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-remoteobjects": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-script": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-scxml": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-sensors": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-serialbus": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-serialport": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-speech": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-svg": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-tools": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-translations": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-virtualkeyboard": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-wayland": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-webchannel": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-webengine": {
"baseline": "5.15.14",
"port-version": 1
"baseline": "5.15.15",
"port-version": 0
},
"qt5-webglplugin": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-websockets": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-webview": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-winextras": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-x11extras": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5-xmlpatterns": {
"baseline": "5.15.14",
"baseline": "5.15.15",
"port-version": 0
},
"qt5compat": {

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "24ea39b5002568463c4999ef84b7fbcad5d215e3",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "2f2239787354a37f67fde266bda1905c5b939f6c",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "ad09a82988d1e3267f36c1803de6d6ca7451cc4d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "68954bbbd80d173831862ad6a8fe782247202a98",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b37f59e3909e093b8e04ec07f88db3719bca70c9",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "b5701bed9e0e92a1e5be10d2c2bff6b005ac8d3f",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "99dfc2c88d6a863afc5eef00463166c50e5e12d2",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "70b9f2253a8552920bde3808c812936bcf4d66cd",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "22d5d38889b54d158619cb0a072b2a0be705b495",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "617e5f04a89dd5f5a16b486666c365b7995c7bf0",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "67afa17d2cf24f95a1296dfd1f8ff8805be17d7e",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "96790dd0d12ad1a3db8f8e4aa5457eef33d4dd5a",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "87229921890204be93a49bb4cd239d8ffbea157e",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "9720ef8b7fe53731a6464067ec9204694670108d",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "0c3955c17df5c3af891092d66097102f0a1e8a14",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "51104b45f8a66c7cc5eb8e9626c8d0e539a7ec72",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "64381c648cd89178e444f4ebfd9bcafaadc8b2ca",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "82b3e331022238938d3f9b1938fb99533e2cc11b",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e951bd00bff8370f027727a031830f351afb2d25",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "0340d2963d846673c5e8d81a7fcb268e5c6abebd",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "837709f0c2958b0e503227dc473cacd2de21a52d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "c1f2f135ffff583e0cad4c6877a4f547792343d7",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "4c3d360158ff3a553a721f981af0ac80f82581f9",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "7b5ed4f41b91eb19f218b840bd00430bb44e00c7",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "1c8e76a3559b61499f5543bad499cc7580c3502e",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "e8a87780b543e7e9d72d23b684ad6d389fb7d963",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e18c6a0c3e4a001fe2c34cd70e24a673c96f353d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "efa382cb68fc399537647af6176e48ffb26cd22c",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8b0caaea5133e7f444a2320b39c039c380781e9d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "3af1b17c18c2b011e016a5802eab1a9a08646414",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "4ed714b52d718c1970016cac9b6f685275fae53d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "84260450a36ccfc3cd60349e52f777de578d6fc3",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e87f2905d6391a45f9c6f8e85c530392a21ccd75",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "1becb066422d37bb022147618c963e271cf937bd",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3e3a79b1d8d89350ba3091212d0d658d2d2c7624",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "e3dccbaa13d1f1d20b116f3f10fc4ad990744be5",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "dc4aab10b2454a206d30e5bbd034f0094d913013",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "dbfe2aab6a84f092177e276c8947096bfa1de8ce",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "44e3863dd5521d8b95e6d1f6ba475d164ea81d02",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "d62a3faad47d36883818acc3f53533371f09ab2d",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "3e233b54911e2da5a259199154350a3a47fe1771",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "1a55468e0abae43f77239363f49ca6582fd9f503",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b3c3724c57f9f19d79b15f8f7d62f79fbb5c4d1d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "6fd49d3d791cd9b1788f9da0f2f974e884b15b13",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a161681b5493bb83b4eb296a3b5c8f3d750a32ad",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "00c0e0c150442d04fde5be60ee495efeb3570c06",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "66509571b96c882b2a3a3dd0996afafed796e800",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "2cc9901693afd47513d41d1c6b69d7c25dc345c5",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "779fc63975cd6a8584c27efc21ab30546735f573",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "33600a10a871bc1423353f5e14d70bde496750c0",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "2332f39e0bdce11214c7974c83df14b49672d780",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "da9203dc22c027daa7a613c469de5df34e4cba0f",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "a0bf98b8eaa905324c531724265c39a50c905e25",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "e6ce03e938c8f321a40a1fadaeb9edfce9bc00b9",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e052ae98b8fa07175f593dac7f7454308704cfc1",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "57e9f57b728b905216e887427be54c8e9972d3b2",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "cb208d6c3109d2bf0c29a72a81eb291c82ee5f1e",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "5bc30d72aa07bdececbf78dfd8d14fb110759d18",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "d0aad797572cfe6289ebc863aa09819966ce6829",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "08801f65cf92611896f37da27d9416586811329b",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8ac50bea0b2c4a920838bc9cc5d7dee78b868595",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "a5263ebbe578fe2207e4dcffee326343717dd8ef",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "0573cbd28f1fe16d109354aa1d658d34a3981d75",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "343a94ea2e1ee1ca8e70f59892dc7e3b5fc312e3",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "7d514be154e444509227c208123305bd098b5aff",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "17d221761f10219246887a928d2f4cf61d9cb864",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "eeece45f507ad36455883b753c5914ef7e266c26",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "3a7ec5e30688651f573aff75217a83180298a520",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "5d45c7dca5dd0562a2d0042968c3f95f0b1050b1",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "cded906204530ee472dbe2823a4148e5e465c885",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "06ee7adf56b994d4463c49966798f9f070821386",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "3ffb36d0a2683ed1d41921492c19ee700f412de0",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "47bd08d247597b6c393cd87bd06575fff70608c0",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "7588d155e2c75b173ecfdb2560aa3b948388155f",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "4d5dc088639d7c38aca26eb84da5ff40482f8575",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "869da2d4e97b7b89bc39ecc236f7df90d8d9e032",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8b8c1e12c49745ca5962d3330784b8ea0535ec0d",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "4999fada23fd639dbafaf9e4dfb846613ea7ebdc",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "8db01c570ec7532552fe918c4205e553d96ac18a",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "bd4228b23790b204a9f10ad7d20c81e7a269c0c4",
"version": "5.15.14",

Просмотреть файл

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e50cf12eba43b94575a5d79394938e3b08728b55",
"version": "5.15.15",
"port-version": 0
},
{
"git-tree": "00841a503c2d50d0133e412e52e3a81e8091818e",
"version": "5.15.14",