Split the Qt requirements into per-platform deps

Since more often than not, we can't use the same Qt version on all
platforms due to regressions.
This commit is contained in:
Damien Elmes 2023-06-21 21:39:37 +10:00
parent 7619891d4f
commit 823ca4c8a9
11 changed files with 84 additions and 79 deletions

View File

@ -18,20 +18,21 @@ use ninja_gen::Build;
use ninja_gen::Result;
pub fn setup_venv(build: &mut Build) -> Result<()> {
let requirements_txt = if cfg!(windows) {
let platform_deps = if cfg!(windows) {
inputs![
"python/requirements.dev.txt",
"python/requirements.qt6_4.txt",
"python/requirements.qt6_win.txt",
"python/requirements.win.txt",
]
} else if cfg!(target_os = "darwin") {
inputs!["python/requirements.qt6_mac.txt",]
} else if cfg!(all(target_os = "linux", target_arch = "aarch64")) {
inputs!["python/requirements.dev.txt"]
// system-provided Qt on ARM64
inputs![]
} else {
inputs![
"python/requirements.dev.txt",
"python/requirements.qt6_5.txt",
]
// normal linux
inputs!["python/requirements.qt6_lin.txt"]
};
let requirements_txt = inputs!["python/requirements.dev.txt", platform_deps];
build.add_action(
"pyenv",
PythonEnvironment {

View File

@ -329,7 +329,9 @@ pysocks==1.7.1 \
requests==2.31.0 \
--hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \
--hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1
# via -r requirements.anki.in
# via
# -r requirements.anki.in
# -r requirements.aqt.in
send2trash==1.8.0 \
--hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \
--hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08

View File

@ -1,5 +0,0 @@
pyqt6==6.3.1
pyqt6-qt6==6.3.1
pyqt6-webengine==6.3.1
pyqt6-webengine-qt6==6.3.1
pyqt6_sip==13.4.0

View File

@ -1,51 +0,0 @@
pyqt6==6.3.1 \
--hash=sha256:115f809810c236af90352b4df4a9dfc79cbd05b7c0200c05886c8b3035c2847b \
--hash=sha256:8cc6e21dbaf7047d1fc897e396ccd9710a12f2ef976563dad65f06017d2c9757 \
--hash=sha256:c87c909eeafc44ea911a94490d55055058f51a27ec5ca0e439a9feb943a73fd1 \
--hash=sha256:f7ad13b44959b72c8d40fa1856470015fab3368983dd2c1c781d4061c45d96b3
# via
# -r requirements.qt6_3.in
# pyqt6-webengine
pyqt6-qt6==6.3.1 \
--hash=sha256:07d4d825515c8d05ffc9fed002e4d9c861467cfff6f8c57ff1a89fe18f73b06d \
--hash=sha256:33d010c9ac85b7482b3f425fb1d00c1f5bf4422ff057dc848632c26eec96a2ca \
--hash=sha256:5db960e00cceb93762e6755026dbbe2e781d7e3bdcbc79e107db4d5557041421 \
--hash=sha256:731e472addf9e0aca32e27577ac3d6a98e3e8e8723d352714366c47abe9294af
# via
# -r requirements.qt6_3.in
# pyqt6
pyqt6-sip==13.4.0 \
--hash=sha256:2694ae67811cefb6ea3ee0e9995755b45e4952f4dcadec8c04300fd828f91c75 \
--hash=sha256:3486914137f5336cff6e10a5e9d52c1e60ff883473938b45f267f794daeacb2f \
--hash=sha256:3ac7e0800180202dcc0c7035ff88c2a6f4a0f5acb20c4a19f71d807d0f7857b7 \
--hash=sha256:3de18c4a32f717a351d560a39f528af24077f5135aacfa8890a2f2d79f0633da \
--hash=sha256:6d87a3ee5872d7511b76957d68a32109352caf3b7a42a01d9ee20032b350d979 \
--hash=sha256:77af9c7e3f50414ec5af9b1534aaf2ba25115ae65aa5ed735111c8ef0884b862 \
--hash=sha256:802b0cfed19900183220c46895c2635f0dd062f2d275a25506423f911ef74db4 \
--hash=sha256:83b446d247a92d119d507dbc94fc1f47389d8118a5b6232a2859951157319a30 \
--hash=sha256:9c5231536e6153071b22175e46e368045fd08d772a90d772a0977d1166c7822c \
--hash=sha256:9e03c780846fd5d71c06e33322fd11a05713d9cd410e3571d069ac9a84077647 \
--hash=sha256:bb4f2e2fdcf3a8dafe4256750bbedd9e7107c4fd8afa9c25be28423c36bb12b8 \
--hash=sha256:cfdcd43e123bd55c155cfe7a33895033e6d25de90a48ed9c25a0ddd0196a810e \
--hash=sha256:d51704d50b82713fd7c928b7deb31e17be239ddac74fc2fd708e52bd21ecea3a \
--hash=sha256:de601187055d684b36ebe6e800a5deacaa55b69d71ad43312b76422cfeae0e12 \
--hash=sha256:e3b17308ca729bcb6d25c01144c6b2e17d40812231c3ef9caaa72a78db2b1069 \
--hash=sha256:fd2df2a9479b8ac858117bd55dc0ec0bd1ce6c8f3486b0cc5e860c0540a8bba0
# via
# -r requirements.qt6_3.in
# pyqt6
# pyqt6-webengine
pyqt6-webengine==6.3.1 \
--hash=sha256:096651b305f1b8baa9a91895a64d41f7cd8628e7b2f33d5a30cddabd6f8e9c7b \
--hash=sha256:24d159dc0f0e006b153bb4c853157ea03a84e12066ddec4b48142cf9f85c764b \
--hash=sha256:9ceaf7925c01700a5f7d8b3f22824add8d69a01445ba463198e79242b227af20 \
--hash=sha256:c3d1f5527b4b15f44102d617c59b1d74d9af50f821629e9335f13df47de8f007
# via -r requirements.qt6_3.in
pyqt6-webengine-qt6==6.3.1 \
--hash=sha256:30dfe708f9356ea9085f9b71b72852883e2da58ef4039b0551a798f1c6723f1e \
--hash=sha256:657b3f81105e603332f77fe4319bf5a371e413de7b581be343301932c98a06af \
--hash=sha256:6eeb50030b14385341f9fc40b5f05c8edf281fd4533305cd2b000f8e587e7ec6 \
--hash=sha256:d8360631d10301684589db45ca5ea8503e1321e7f2d19cdf45dae716d31cda83
# via
# -r requirements.qt6_3.in
# pyqt6-webengine

View File

@ -7,7 +7,7 @@ pyqt6==6.5.0 \
--hash=sha256:b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc \
--hash=sha256:e3c8289d9a509be897265981b77eb29e64ce29e9d221fdf52545c2c95e819c9b
# via
# -r requirements.qt6_5.in
# -r requirements.qt6_lin.in
# pyqt6-webengine
pyqt6-qt6==6.5.0 \
--hash=sha256:1178fcd5e9590fec4261e06a753a8fa028222ec0bd9a0788b3bd37720fbbe6cf \
@ -15,7 +15,7 @@ pyqt6-qt6==6.5.0 \
--hash=sha256:8c1f898f4d02a31615fe7613a38f82b489fb2c8554965c917d551470731635a8 \
--hash=sha256:9d82d8af986a0eef55905f309fdda4303d1354eba10175824ae62ab6547f7a96
# via
# -r requirements.qt6_5.in
# -r requirements.qt6_lin.in
# pyqt6
pyqt6-sip==13.5.1 \
--hash=sha256:08b69898aab0fcc73661b212d434f9e9eb50319481bc2ac3aaf1ac06bc9feca6 \
@ -35,7 +35,7 @@ pyqt6-sip==13.5.1 \
--hash=sha256:e0d715bb5b86eb8f09d84b2b4400df7e4c96ef730801bc145a1c23be79f39fac \
--hash=sha256:f7b4e3cad598afd9b50a32732007184141b400769d425cae86f4e702cbc882b3
# via
# -r requirements.qt6_5.in
# -r requirements.qt6_lin.in
# pyqt6
# pyqt6-webengine
pyqt6-webengine==6.5.0 \
@ -43,12 +43,12 @@ pyqt6-webengine==6.5.0 \
--hash=sha256:45849365b1ba196724dc6a520ceed3ddaca4e9c09da28eac3c448d26cefdf001 \
--hash=sha256:83a7e97a518d4001fb6c22e26a71e28d6d3b38c40ee0cbe21abfa46982b203d3 \
--hash=sha256:8ba9db56c4c181a2a2fab1673ca35e5b63dc69113f085027ddc43c710b6d6ee9
# via -r requirements.qt6_5.in
# via -r requirements.qt6_lin.in
pyqt6-webengine-qt6==6.5.0 \
--hash=sha256:5acadcc6608df8d9eba385e04ced2fc88e7eb92e366556ee4ac3c57a02c00088 \
--hash=sha256:6f2be9044060ed3e9e0c55e0d8863fae08c815e994bcf17f2ff24945a2264ff7 \
--hash=sha256:8d7eee4e864c89d6865ff95394dec3aa5b6620ac20412d09a313e83a5baaecb5 \
--hash=sha256:ee2300d372cf38bfb2e426e5036f58bfcaf121e460dc7f89913dc7bd6c3c8953
# via
# -r requirements.qt6_5.in
# -r requirements.qt6_lin.in
# pyqt6-webengine

View File

@ -0,0 +1,5 @@
pyqt6==6.5.0
pyqt6-qt6==6.5.0
pyqt6-webengine==6.5.0
pyqt6-webengine-qt6==6.5.0
pyqt6_sip==13.5.1

View File

@ -0,0 +1,54 @@
pyqt6==6.5.0 \
--hash=sha256:2b0d9628134811fbfc988d1757111ca8e25cb697f136fa54c969fb1a4d4a61d1 \
--hash=sha256:6f3d232fe2abb02689d23a83f9629ccca6d57a36384688cd6411700ff5cf43f2 \
--hash=sha256:952ba3b50c10f61289ea74db4c7a616170219959ac5300e0d9ec5427a27e95c7 \
--hash=sha256:99ea0e68f548509b7ef97cded0feeaf3dca7d1fe719388569407326be3be38c2 \
--hash=sha256:b3f2bf611e7f09c25f5decb82fc27bbe63fcc498e63bf11d17e23916d716c805 \
--hash=sha256:b97cb4be9b2c8997904ea668cf3b0a4ae5822196f7792590d05ecde6216a9fbc \
--hash=sha256:e3c8289d9a509be897265981b77eb29e64ce29e9d221fdf52545c2c95e819c9b
# via
# -r requirements.qt6_mac.in
# pyqt6-webengine
pyqt6-qt6==6.5.0 \
--hash=sha256:1178fcd5e9590fec4261e06a753a8fa028222ec0bd9a0788b3bd37720fbbe6cf \
--hash=sha256:5f40ef19eb632731828283361f800928517650c74c914c093af9a364d6843953 \
--hash=sha256:8c1f898f4d02a31615fe7613a38f82b489fb2c8554965c917d551470731635a8 \
--hash=sha256:9d82d8af986a0eef55905f309fdda4303d1354eba10175824ae62ab6547f7a96
# via
# -r requirements.qt6_mac.in
# pyqt6
pyqt6-sip==13.5.1 \
--hash=sha256:08b69898aab0fcc73661b212d434f9e9eb50319481bc2ac3aaf1ac06bc9feca6 \
--hash=sha256:18c0e75e6ebd91dc96dbc6290f044ec37e764890ef2182c82b99ea5b655ea466 \
--hash=sha256:1e7bb3e45e57dfdb9437043d99b7cb797707e7f2475d122928b13688458f94b7 \
--hash=sha256:2a15f080a994936ed182f4a81343baa19bac9063ec6efc0a93d026f5cfc95ace \
--hash=sha256:4b2e70d21069fe6e20bf22de1de2985e064e00d1368e0a171ce38824be4339ab \
--hash=sha256:52931307cf06c5ac992df2877e899f8b8ba72464e2828fe442b18fd51c7bf787 \
--hash=sha256:5e8fdb0821c0c556d2a34db1229d4bd711499a1102241b1b9fcf1ee34f87e564 \
--hash=sha256:a867601c38acc9b0c7f9aab4f96d9ec8cbedfcd5ae245f82a9c1c48f352413e4 \
--hash=sha256:ad802005e68bb9bb6f869b7f904c73d7c7793d11b83d317c33ff6b0c163d785f \
--hash=sha256:c3e2f155f92f96d73c680caf3d87f4f9f9aaf6487c125ecbe7140daad7d87245 \
--hash=sha256:c71d303ff654ad947d8c0cb5ebfde9a59390aac52eb695a775234a08bee8f44e \
--hash=sha256:d1e9141752966669576d04b37ba0b122abbc41cc9c35493751028d7d91c4dd49 \
--hash=sha256:d79957dd0c0ea1a17f0846806ea203dce827df6a9dcd93ebfe98fdd6186d9ecc \
--hash=sha256:d90dfec64c35c91644a3e32d3e5680cdee549d00245ea7252cb6298797f9bcef \
--hash=sha256:e0d715bb5b86eb8f09d84b2b4400df7e4c96ef730801bc145a1c23be79f39fac \
--hash=sha256:f7b4e3cad598afd9b50a32732007184141b400769d425cae86f4e702cbc882b3
# via
# -r requirements.qt6_mac.in
# pyqt6
# pyqt6-webengine
pyqt6-webengine==6.5.0 \
--hash=sha256:26ff8d3362328bed09f8f1155c48122b83daf35998d6d299de1dbfcd9d4fc47c \
--hash=sha256:45849365b1ba196724dc6a520ceed3ddaca4e9c09da28eac3c448d26cefdf001 \
--hash=sha256:83a7e97a518d4001fb6c22e26a71e28d6d3b38c40ee0cbe21abfa46982b203d3 \
--hash=sha256:8ba9db56c4c181a2a2fab1673ca35e5b63dc69113f085027ddc43c710b6d6ee9
# via -r requirements.qt6_mac.in
pyqt6-webengine-qt6==6.5.0 \
--hash=sha256:5acadcc6608df8d9eba385e04ced2fc88e7eb92e366556ee4ac3c57a02c00088 \
--hash=sha256:6f2be9044060ed3e9e0c55e0d8863fae08c815e994bcf17f2ff24945a2264ff7 \
--hash=sha256:8d7eee4e864c89d6865ff95394dec3aa5b6620ac20412d09a313e83a5baaecb5 \
--hash=sha256:ee2300d372cf38bfb2e426e5036f58bfcaf121e460dc7f89913dc7bd6c3c8953
# via
# -r requirements.qt6_mac.in
# pyqt6-webengine

View File

@ -4,7 +4,7 @@ pyqt6==6.4.0 \
--hash=sha256:8e614cc4b95dec8bec8ba3c3eaf821058b45862e66d69a8c4fb5576123f2be98 \
--hash=sha256:91392469be1f491905fa9e78fa4e4059a89ab616ddf2ecfd525bc1d65c26bb93
# via
# -r requirements.qt6_4.in
# -r requirements.qt6_win.in
# pyqt6-webengine
pyqt6-qt6==6.4.3 \
--hash=sha256:27cc19976c872ae7111fcab8a9e9eae8c5ec5e55bfb6938a379551148b85f5b0 \
@ -12,7 +12,7 @@ pyqt6-qt6==6.4.3 \
--hash=sha256:b0151097aa93235676c0f83ce23916ee31ca8584bd1b45923725068404542cc2 \
--hash=sha256:b133bbc53e1cc05aafd78bfd3a577826481a976021d041c1c57d7dadc7de1c11
# via
# -r requirements.qt6_4.in
# -r requirements.qt6_win.in
# pyqt6
pyqt6-sip==13.5.1 \
--hash=sha256:08b69898aab0fcc73661b212d434f9e9eb50319481bc2ac3aaf1ac06bc9feca6 \
@ -32,7 +32,7 @@ pyqt6-sip==13.5.1 \
--hash=sha256:e0d715bb5b86eb8f09d84b2b4400df7e4c96ef730801bc145a1c23be79f39fac \
--hash=sha256:f7b4e3cad598afd9b50a32732007184141b400769d425cae86f4e702cbc882b3
# via
# -r requirements.qt6_4.in
# -r requirements.qt6_win.in
# pyqt6
# pyqt6-webengine
pyqt6-webengine==6.4.0 \
@ -40,12 +40,12 @@ pyqt6-webengine==6.4.0 \
--hash=sha256:4c71c130860abcd11e04cafb22e33983fa9a3aee8323c51909b15a1701828e21 \
--hash=sha256:7f6cde52b7b8c00ef2a1522ad92cde66f2bd3a3066646efe4ef96a4907b1b1cd \
--hash=sha256:9658919bc1c5279a6fae9e6990448dfe483e136e957e6fb14e8f6265f4e9d1da
# via -r requirements.qt6_4.in
# via -r requirements.qt6_win.in
pyqt6-webengine-qt6==6.4.3 \
--hash=sha256:8a43a75ddf9936ad6e5b23a04862665a93e26b17b829f1fd1c70728c2774c93e \
--hash=sha256:b7d7bb7497f28a42c6b1790edc952d68f5981ee02fb3e774122e69677aad880f \
--hash=sha256:c220b8db4839a9c16102ac2d52cef9a0eab9142a873d7444529b5c2a4906ca30 \
--hash=sha256:c9cb28464216584c97e6a55b601bf99525e3164c31ed8d6f438ce684846b3a38
# via
# -r requirements.qt6_4.in
# -r requirements.qt6_win.in
# pyqt6-webengine

View File

@ -17,10 +17,9 @@ args="--resolver=backtracking --allow-unsafe --no-header --strip-extras --genera
# during bundle
../out/pyenv/bin/pip-compile $args $upgrade requirements.bundle.in
#../out/pyenv/bin/pip-compile $args $upgrade requirements.qt6_4.in
../out/pyenv/bin/pip-compile $args $upgrade requirements.qt6_5.in
# ../out/pyenv/bin/pip-compile $args $upgrade requirements.qt5_14.in
# ../out/pyenv/bin/pip-compile $args $upgrade requirements.qt5_15.in
../out/pyenv/bin/pip-compile $args $upgrade requirements.qt6_win.in
../out/pyenv/bin/pip-compile $args $upgrade requirements.qt6_lin.in
../out/pyenv/bin/pip-compile $args $upgrade requirements.qt6_mac.in
# during build/development/testing
../out/pyenv/bin/pip-compile $args $upgrade requirements.dev.in