From 2c3a72eb42a1166edbe0cb2f6b7e9e6cd7f2ba64 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 12 Feb 2024 13:02:16 +0100 Subject: [PATCH] Use Conan v2 Contributes to CURA-11622 --- .github/workflows/conan-package.yml | 24 +- conandata.yml | 355 +++++++++++++++++++++++++++- conanfile.py | 69 +++--- test_package/conanfile.py | 34 ++- 4 files changed, 424 insertions(+), 58 deletions(-) diff --git a/.github/workflows/conan-package.yml b/.github/workflows/conan-package.yml index f18668883b..ba28f112e5 100644 --- a/.github/workflows/conan-package.yml +++ b/.github/workflows/conan-package.yml @@ -14,31 +14,43 @@ on: - main - 'CURA-*' - 'PP-*' + - 'NP-*' - '[0-9].[0-9]*' - '[0-9].[0-9][0-9]*' - + - env: CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }} CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }} jobs: +# FIXME: Use main once merged conan-recipe-version: - uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-version.yml@main + uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-version.yml@CURA-11622_conan_v2 with: project_name: uranium +# FIXME: Use main once merged conan-package-export: needs: [ conan-recipe-version ] - uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-export.yml@main + uses: ultimaker/cura-workflows/.github/workflows/conan-recipe-export.yml@CURA-11622_conan_v2 with: + recipe_id_name: ${{ needs.conan-recipe-version.outputs.project_name }} + recipe_id_version: ${{ needs.conan-recipe-version.outputs.recipe_semver_full }} + recipe_id_user: ${{ needs.conan-recipe-version.outputs.user }} + recipe_id_channel: ${{ needs.conan-recipe-version.outputs.channel }} recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }} - recipe_id_latest: ${{ needs.conan-recipe-version.outputs.recipe_id_latest }} secrets: inherit - conan-package-create: +# FIXME: Use main once merged + conan-package-create-linux: needs: [ conan-recipe-version, conan-package-export ] - uses: ultimaker/cura-workflows/.github/workflows/conan-package-create-linux.yml@main + if: ${{ (github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'master' || needs.conan-recipe-version.outputs.is_release_branch == 'true')) }} + uses: ultimaker/cura-workflows/.github/workflows/conan-package-create-linux.yml@CURA-11622_conan_v2 with: + recipe_id_name: ${{ needs.conan-recipe-version.outputs.project_name }} + recipe_id_version: ${{ needs.conan-recipe-version.outputs.recipe_semver_full }} + recipe_id_user: ${{ needs.conan-recipe-version.outputs.user }} + recipe_id_channel: ${{ needs.conan-recipe-version.outputs.channel }} recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }} conan_extra_args: "-o uranium:enable_i18n=True" secrets: inherit \ No newline at end of file diff --git a/conandata.yml b/conandata.yml index 93806c8fe9..f4a0b50390 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,3 +1,356 @@ version: "5.7.0-alpha.1" requirements: - - "pyarcus/5.3.1" + - "pyarcus/[>=5.4.0]@ultimaker/cura_11622" +pip_requirements: + any: + PyQt6: + version: "6.6.0" + hashes: + - sha256:33655db05ac2de699320f035250c21434c77144a6a2943aca3f4c579dabc3f7b + - sha256:3ef68830a9b32050c30f7962c56a5927802c9193b68eaf405faecb8ce9ae10a8 + - sha256:d41512d66044c2df9c5f515a56a922170d68a37b3406ffddc8b4adc57181b576 + - sha256:fc7185d65755f26d7a6842492ec5398c92544dc4eafbbcbef1b1922aca585c96 + colorlog: + version: "6.6.0" + hashes: + - sha256:344f73204009e4c83c5b6beb00b3c45dc70fcdae3c80db919e0a4171d006fde8 + - sha256:351c51e866c86c3217f08e4b067a7974a678be78f07f85fc2d55b8babde6d94e + cryptography: + version: "41.0.1" + hashes: + - sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db + - sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a + - sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039 + - sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c + - sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3 + - sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485 + - sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c + - sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca + - sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5 + - sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5 + - sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3 + - sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb + - sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43 + - sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31 + - sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc + - sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b + - sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006 + - sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a + - sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699 + pyclipper: + version: "1.3.0.post5" + hashes: + - sha256:010ee13d40d924341cc41b6d9901d763175040c68753939f140bc0cc714f18bb + - sha256:02a98d09af9b60bcf8e9480d153c0839e20b92689f5602f87242a4933842fecd + - sha256:0589b80f2da1ad322345a93c053b5d46dc692def5a188351be01f34bcf041218 + - sha256:0f516fd69aa61a9698a3ce3ba2f7edda5ac6aafc8d964ee3bc60897906947fcb + - sha256:0f78a1c18ff4f9276f78d9353d6ed4309c3886a9d0172437e48328aef499165e + - sha256:1158a2b13d59bdfab33d1d928f7b72c8c7fb8a76e7d2283839cb45d7c0ff2140 + - sha256:2ce6e0a6ab32182c26537965cf521822cd11a28a7ffcef48635a94c6ca8559ef + - sha256:36d456fdf32a6410a87bd7af8ebc4c01f19b4e3b839104b3072558cad0d8bf4c + - sha256:39ccd920b192a4f8096589a2a1f8faaf6aaaadb7a163b5ce913d03faac2449bb + - sha256:3c45f99b8180dd4df4c86642657ca92b7d5289a5e3724521822e0f9461961fe2 + - sha256:46499b361ae067662b22578401d83d57716f3cc0071d592feb07d504b439fea7 + - sha256:5237282f906049c307e6c90333c7d56f6b8712bf087ef97b141830c40b09ca0a + - sha256:567ffd419a0bdc3727fa4562cfa1f18484691817a2bc0bc675750aa28ed98bd4 + - sha256:59c8c75661a6d87e98b1655851578a2917d3c8859912c9a4f1956b9830940fd9 + - sha256:5a041f1a7982b17cf92fd3be349ec41ff1901792149c166bf283f469567b52d6 + - sha256:5f3484b4dffa64f0e3a43b63165a5c0f507c5850e70b9cc2eaa82474d7746393 + - sha256:5f445a2d03690faa23a1b90e32dfb4352a60b23437323de87388c6c611d3d1e3 + - sha256:741910bfd7b0bd40f027869f4bf86bdd9678ae7f74e8dabcf62d170269f6191d + - sha256:847f1e2fc3994bb498fe675f55c98129b95dc26a5c92304ba4cf0ab40721ea3d + - sha256:85ca06f382f999903d809380e4c01ec127d3eb26431402e9b3f01facaec68b80 + - sha256:87efec9795744cef786f2f8cab17d6dc07f57dfce5e3b7f3be96eb79a4ce5794 + - sha256:8bb9cd95fd4bd88fb1590d1763a52e3ea6a1095e11b3e885ff164da1313aae79 + - sha256:a496efa146d2d88b59350021739e4685e439dc569b6654e9e6d5e42e9a0b1666 + - sha256:a678999d728023f1f3988a14a2e6d89d6f1ed4d0786d5992c1bffb4c1ab30318 + - sha256:aca8635573646b65c054399433fb3493637f1445db942de8a52fca9ef493ba3d + - sha256:b7a983ae019932bfa0a1971a2dc8c856704add5f3d567bed8fac02dbc0e7f0bf + - sha256:ba692cf11873886085a0445dcfc362b24ca35bcb997ad9e9b5685854a290d8ff + - sha256:bb2fb22927c3ac3191e555efd335c6efa819aa1ff4d0901979673ab5a18eb740 + - sha256:bf3a2ccd6e4e078250b0a31a12c519b0be6d1bc160acfceee62407dbd68558f6 + - sha256:c0239f928e0bf78a3efc2f2f615a10bfcdb9f33012d46d64c8d1225b4bde7096 + - sha256:c9c1fdf4ecae6b55033ede3f4e931156ffc969334300f44f8bf1b356ec0a3d63 + - sha256:cfea42972e90954b3c89da9216993373a2270a5103d4916fd543a1109528ed4c + - sha256:d5c77e39ab05a6cf277c819639968b21e6959e996ea1a074afc24236541708ff + - sha256:d8760075c395b924f894aa16ee06e8c040c6f9b63e0903e49de3cc8d82d9e637 + - sha256:d8a9e3e46aa50e4c3667db9a816d59ae4f9c62b05f997abb8a9b3f3afe6d94a4 + - sha256:da30e59c684eea198f6e19244e9a41e855a23a416cc708821fd4eb8f5f18626c + - sha256:dd3c4b312a931e668a7a291d4bd5b10bacb0687bd163220a9f0418c7e23169e2 + - sha256:e346e7adba43e40f5f5f293b6b6a45de5a6a3bdc74e437dedd948c5d74de9405 + - sha256:e36f018303656ea4a629d2fba0d0d4c74960eacec7119fe2ab3c658ce84c494b + - sha256:e4ea61ca5899d3346c614951342c506f119601ed0a1f4889a9cc236558afec6b + - sha256:ead0f3ecd1961005f61d50c896e33442138b4e7c9e0c035784d3525068dd2b10 + - sha256:eb9d1cb2999bc1ea8ad1c3a031ba33b0a89a5ace25d33df7529d3ff18c16604c + - sha256:ee1c4797b1dc982ae9d60333269536ea03ddc0baa1c3383a6d5b741dbbb12675 + - sha256:f0b84fcf5230aca2de06ddb7920459daa858853835f8774739ca30dd516e7d37 + scipy: + version: "1.11.3" + hashes: + - sha256:00f325434b6424952fbb636506f0567898dca7b0f7654d48f1c382ea338ce9a3 + - sha256:033c3fd95d55012dd1148b201b72ae854d5086d25e7c316ec9850de4fe776929 + - sha256:0d3a136ae1ff0883fffbb1b05b0b2fea251cb1046a5077d0b435a1839b3e52b7 + - sha256:15f237e890c24aef6891c7d008f9ff7e758c6ef39a2b5df264650eb7900403c0 + - sha256:370f569c57e1d888304052c18e58f4a927338eafdaef78613c685ca2ea0d1fa0 + - sha256:3e1a8a4657673bfae1e05e1e1d6e94b0cabe5ed0c7c144c8aa7b7dbb774ce5c1 + - sha256:4b4bb134c7aa457e26cc6ea482b016fef45db71417d55cc6d8f43d799cdf9ef2 + - sha256:5305792c7110e32ff155aed0df46aa60a60fc6e52cd4ee02cdeb67eaccd5356e + - sha256:5664e364f90be8219283eeb844323ff8cd79d7acbd64e15eb9c46b9bc7f6a42a + - sha256:5f290cf561a4b4edfe8d1001ee4be6da60c1c4ea712985b58bf6bc62badee221 + - sha256:74e89dc5e00201e71dd94f5f382ab1c6a9f3ff806c7d24e4e90928bb1aafb280 + - sha256:7abda0e62ef00cde826d441485e2e32fe737bdddee3324e35c0e01dee65e2a88 + - sha256:90271dbde4be191522b3903fc97334e3956d7cfb9cce3f0718d0ab4fd7d8bfd6 + - sha256:91770cb3b1e81ae19463b3c235bf1e0e330767dca9eb4cd73ba3ded6c4151e4d + - sha256:925c6f09d0053b1c0f90b2d92d03b261e889b20d1c9b08a3a51f61afc5f58165 + - sha256:9885e3e4f13b2bd44aaf2a1a6390a11add9f48d5295f7a592393ceb8991577a3 + - sha256:9ea7f579182d83d00fed0e5c11a4aa5ffe01460444219dedc448a36adf0c3917 + - sha256:a63d1ec9cadecce838467ce0631c17c15c7197ae61e49429434ba01d618caa83 + - sha256:bae66a2d7d5768eaa33008fa5a974389f167183c87bf39160d3fefe6664f8ddc + - sha256:bba4d955f54edd61899776bad459bf7326e14b9fa1c552181f0479cc60a568cd + - sha256:c77da50c9a91e23beb63c2a711ef9e9ca9a2060442757dffee34ea41847d8156 + - sha256:d2f6dee6cbb0e263b8142ed587bc93e3ed5e777f1f75448d24fb923d9fd4dce6 + - sha256:dfcc1552add7cb7c13fb70efcb2389d0624d571aaf2c80b04117e2755a0c5d15 + - sha256:e04aa19acc324a1a076abb4035dabe9b64badb19f76ad9c798bde39d41025cdc + - sha256:e1f97cd89c0fe1a0685f8f89d85fa305deb3067d0668151571ba50913e445820 + numpy-stl: + version: "2.10.1" + hashes: + - sha256:1c9f8209ba4fc9b5eb54740b375d6ab3c238ed3a1ce3f776d72e04f44c8b91fa + - sha256:f6b529b8a8112dfe456d4f7697c7aee0aca62be5a873879306afe4b26fca963c + mypy: + version: "0.931" + hashes: + - sha256:0038b21890867793581e4cb0d810829f5fd4441aa75796b53033af3aa30430ce + - sha256:1171f2e0859cfff2d366da2c7092b06130f232c636a3f7301e3feb8b41f6377d + - sha256:1b06268df7eb53a8feea99cbfff77a6e2b205e70bf31743e786678ef87ee8069 + - sha256:1b65714dc296a7991000b6ee59a35b3f550e0073411ac9d3202f6516621ba66c + - sha256:1bf752559797c897cdd2c65f7b60c2b6969ffe458417b8d947b8340cc9cec08d + - sha256:300717a07ad09525401a508ef5d105e6b56646f7942eb92715a1c8d610149714 + - sha256:3c5b42d0815e15518b1f0990cff7a705805961613e701db60387e6fb663fe78a + - sha256:4365c60266b95a3f216a3047f1d8e3f895da6c7402e9e1ddfab96393122cc58d + - sha256:50c7346a46dc76a4ed88f3277d4959de8a2bd0a0fa47fa87a4cde36fe247ac05 + - sha256:5b56154f8c09427bae082b32275a21f500b24d93c88d69a5e82f3978018a0266 + - sha256:74f7eccbfd436abe9c352ad9fb65872cc0f1f0a868e9d9c44db0893440f0c697 + - sha256:7b3f6f557ba4afc7f2ce6d3215d5db279bcf120b3cfd0add20a5d4f4abdae5bc + - sha256:8c11003aaeaf7cc2d0f1bc101c1cc9454ec4cc9cb825aef3cafff8a5fdf4c799 + - sha256:8ca7f8c4b1584d63c9a0f827c37ba7a47226c19a23a753d52e5b5eddb201afcd + - sha256:c89702cac5b302f0c5d33b172d2b55b5df2bede3344a2fbed99ff96bddb2cf00 + - sha256:d8f1ff62f7a879c9fe5917b3f9eb93a79b78aad47b533911b853a757223f72e7 + - sha256:d9d2b84b2007cea426e327d2483238f040c49405a6bf4074f605f0156c91a47a + - sha256:e839191b8da5b4e5d805f940537efcaa13ea5dd98418f06dc585d2891d228cf0 + - sha256:f9fe20d0872b26c4bba1c1be02c5340de1019530302cf2dcc85c7f9fc3252ae0 + - sha256:ff3bf387c14c805ab1388185dd22d6b210824e164d4bb324b195ff34e322d166 + cffi: + version: "1.15.0" + hashes: + - sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 + - sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 + - sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636 + - sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20 + - sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728 + - sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27 + - sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66 + - sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443 + - sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0 + - sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7 + - sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39 + - sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605 + - sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a + - sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37 + - sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029 + - sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139 + - sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc + - sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df + - sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14 + - sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880 + - sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2 + - sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a + - sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e + - sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474 + - sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024 + - sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8 + - sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0 + - sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e + - sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a + - sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e + - sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032 + - sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6 + - sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e + - sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b + - sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e + - sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 + - sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962 + - sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c + - sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4 + - sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55 + - sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962 + - sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023 + - sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c + - sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6 + - sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8 + - sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382 + - sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7 + - sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc + - sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997 + - sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796 + networkx: + version: "2.6.2" + hashes: + - sha256:2306f1950ce772c5a59a57f5486d59bb9cab98497c45fc49cbc45ac0dec119bb + - sha256:5fcb7004be69e8fbdf07dcb502efa5c77cadcaad6982164134eeb9721f826c2e + pycparser: + version: "2.20" + hashes: + - sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 + - sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 + PyQt6-Qt6: + version: "6.6.0" + hashes: + - sha256:1b079a33088d32ff47872cdb37fd15aa42101f0be46c3340244483849b781438 + - sha256:8cb30d64a4d32465ea1686bc827cbe452225fb387c4873356b0fa7b9ae63534f + - sha256:a151f34712cd645111e89cb30b02e5fb69c9dcc3603ab3c03a561e874bd7cbcf + - sha256:e5483ae04bf107411c7469f1be9f9e2eb9840303e788b3ac524fe30af90d45f4 + PyQt6-sip: + version: "13.6.0" + hashes: + - sha256:0dfd22cfedd87e96f9d51e0778ca2ba3dc0be83e424e9e0f98f6994d8d9c90f0 + - sha256:13885361ca2cb2f5085d50359ba61b3fabd41b139fb58f37332acbe631ef2357 + - sha256:24441032a29791e82beb7dfd76878339058def0e97fdb7c1cea517f3a0e6e96b + - sha256:2486e1588071943d4f6657ba09096dc9fffd2322ad2c30041e78ea3f037b5778 + - sha256:3075d8b325382750829e6cde6971c943352309d35768a4d4da0587459606d562 + - sha256:33ea771fe777eb0d1a2c3ef35bcc3f7a286eb3ff09cd5b2fdd3d87d1f392d7e8 + - sha256:39854dba35f8e5a4288da26ecb5f40b4c5ec1932efffb3f49d5ea435a7f37fb3 + - sha256:3bf03e130fbfd75c9c06e687b86ba375410c7a9e835e4e03285889e61dd4b0c4 + - sha256:43fb8551796030aae3d66d6e35e277494071ec6172cd182c9569ab7db268a2f5 + - sha256:58f68a48400e0b3d1ccb18090090299bad26e3aed7ccb7057c65887b79b8aeea + - sha256:5b9c6b6f9cfccb48cbb78a59603145a698fb4ffd176764d7083e5bf47631d8df + - sha256:747f6ca44af81777a2c696bd501bc4815a53ec6fc94d4e25830e10bc1391f8ab + - sha256:86a7b67c64436e32bffa9c28c9f21bf14a9faa54991520b12c3f6f435f24df7f + - sha256:8c282062125eea5baf830c6998587d98c50be7c3a817a057fb95fef647184012 + - sha256:8f9df9f7ccd8a9f0f1d36948c686f03ce1a1281543a3e636b7b7d5e086e1a436 + - sha256:98bf954103b087162fa63b3a78f30b0b63da22fd6450b610ec1b851dbb798228 + - sha256:9adf672f9114687533a74d5c2d4c03a9a929ad5ad9c3e88098a7da1a440ab916 + - sha256:a6ce80bc24618d8a41be8ca51ad9f10e8bc4296dd90ab2809573df30a23ae0e5 + - sha256:d6b5f699aaed0ac1fcd23e8fbca70d8a77965831b7c1ce474b81b1678817a49d + - sha256:fa759b6339ff7e25f9afe2a6b651b775f0a36bcb3f5fa85e81a90d3b033c83f4 + - sha256:fa7b10af7488efc5e53b41dd42c0f421bde6c2865a107af7ae259aff9d841da9 + python-utils: + version: "2.3.0" + hashes: + - sha256:34aaf26b39b0b86628008f2ae0ac001b30e7986a8d303b61e1357dfcdad4f6d3 + - sha256:e25f840564554eaded56eaa395bca507b0b9e9f0ae5ecb13a8cb785305c56d25 + mypy-extensions: + version: "0.4.3" + hashes: + - sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d + - sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8 + six: + version: "1.16.0" + hashes: + - sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 + - sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + tomli: + version: "2.0.1" + hashes: + - sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc + - sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + typing-extensions: + version: "4.3.0" + hashes: + - sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02 + - sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6 + Windows: + numpy: + version: "1.26.1" + url: https://cura.jfrog.io/artifactory/cura-local-pypi/numpy/numpy/numpy-mkl-1.26.1-cp312-cp312-win_amd64.whl + hashes: + - sha256:9e2c5e7f01bedb3c688e22ad27ffaf7904adee536d6c555a12aa7a01769a7aa0 + colorama: + version: "0.4.5" + hashes: + - sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da + Linux: + numpy: + version: "1.26.4" + hashes: + - sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b + - sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818 + - sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20 + - sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0 + - sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010 + - sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a + - sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea + - sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c + - sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71 + - sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110 + - sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be + - sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a + - sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a + - sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5 + - sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed + - sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd + - sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c + - sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e + - sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0 + - sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c + - sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a + - sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b + - sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0 + - sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6 + - sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2 + - sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a + - sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30 + - sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218 + - sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5 + - sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07 + - sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2 + - sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4 + - sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764 + - sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef + - sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3 + - sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f + macOS: + numpy: + version: "1.26.4" + hashes: + - sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b + - sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818 + - sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20 + - sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0 + - sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010 + - sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a + - sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea + - sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c + - sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71 + - sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110 + - sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be + - sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a + - sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a + - sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5 + - sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed + - sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd + - sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c + - sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e + - sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0 + - sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c + - sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a + - sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b + - sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0 + - sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6 + - sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2 + - sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a + - sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30 + - sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218 + - sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5 + - sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07 + - sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2 + - sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4 + - sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764 + - sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef + - sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3 + - sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f +pip_requirements_dev: + - pytest + - twisted + - pytest-benchmark + - sip \ No newline at end of file diff --git a/conanfile.py b/conanfile.py index 50a98b5e89..4476ed4331 100644 --- a/conanfile.py +++ b/conanfile.py @@ -9,7 +9,7 @@ from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.58.0 <2.0.0" +required_conan_version = ">=1.58.0" class UraniumConan(ConanFile): @@ -21,8 +21,9 @@ class UraniumConan(ConanFile): topics = ("conan", "python", "pyqt6", "qt", "3d-graphics", "3d-models", "python-framework") exports = "LICENSE*" settings = "os", "compiler", "build_type", "arch" + package_type = "header-library" - python_requires = "translationextractor/[>=2.1.2]@ultimaker/stable" + python_requires = "translationextractor/[>=2.2.0]@ultimaker/cura_11622" options = { "devtools": [True, False], @@ -32,14 +33,14 @@ class UraniumConan(ConanFile): "devtools": False, "enable_i18n": False, } - + def set_version(self): if not self.version: self.version = self.conan_data["version"] @property def _i18n_options(self): - return self.conf.get("user.i18n:options", default = {"extract": True, "build": True}, check_type = dict) + return self.conf.get("user.i18n:options", default={"extract": True, "build": True}, check_type=dict) @property def _base_dir(self): @@ -54,7 +55,7 @@ def _base_dir(self): @property def requirements_txts(self): - if self.options.devtools: + if self.options.get_safe("devtools", False): return ["requirements.txt", "requirements-dev.txt"] return ["requirements.txt"] @@ -86,15 +87,17 @@ def export(self): update_conandata(self, {"version": self.version}) def export_sources(self): - copy(self, "*", os.path.join(self.recipe_folder, "plugins"), os.path.join(self.export_sources_folder, "plugins")) - copy(self, "*", os.path.join(self.recipe_folder, "resources"), os.path.join(self.export_sources_folder, "resources"), excludes = "*.mo") + copy(self, "*", os.path.join(self.recipe_folder, "plugins"), + os.path.join(self.export_sources_folder, "plugins")) + copy(self, "*", os.path.join(self.recipe_folder, "resources"), + os.path.join(self.export_sources_folder, "resources"), excludes="*.mo") copy(self, "*", os.path.join(self.recipe_folder, "tests"), os.path.join(self.export_sources_folder, "tests")) copy(self, "*", os.path.join(self.recipe_folder, "UM"), os.path.join(self.export_sources_folder, "UM")) copy(self, "requirements.txt", self.recipe_folder, self.export_sources_folder) copy(self, "requirements-dev.txt", self.recipe_folder, self.export_sources_folder) def config_options(self): - if self.settings.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", check_type = str): + if self.settings.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", check_type=str): del self.options.enable_i18n def configure(self): @@ -111,12 +114,12 @@ def validate(self): def requirements(self): for req in self.conan_data["requirements"]: self.requires(req) - self.requires("cpython/3.12.2@ultimaker/cura_11079") - self.requires("openssl/3.2.0") + self.requires("cpython/3.12.2@ultimaker/cura_11622") # FIXME: use stable after merge + self.requires("openssl/3.2.1") def build_requirements(self): if self.options.get_safe("enable_i18n", False): - self.tool_requires("gettext/0.21", force_host_context = True) + self.tool_requires("gettext/0.21") def generate(self): vr = VirtualRunEnv(self) @@ -126,8 +129,7 @@ def generate(self): vb = VirtualBuildEnv(self) vb.generate() - # FIXME: once m4, autoconf, automake are Conan V2 ready use self.win_bash and add gettext as base tool_requirement - cpp_info = self.dependencies["gettext"].cpp_info + cpp_info = self.dependencies.build["gettext"].cpp_info pot = self.python_requires["translationextractor"].module.ExtractTranslations(self, cpp_info.bindirs[0]) pot.generate() @@ -137,8 +139,9 @@ def build(self): mo_file = Path(self.build_folder, po_file.with_suffix('.mo').relative_to(self.source_path)) mo_file = mo_file.parent.joinpath("LC_MESSAGES", mo_file.name) mkdir(self, str(unix_path(self, Path(mo_file).parent))) - cpp_info = self.dependencies["gettext"].cpp_info - self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", ignore_errors=True) + cpp_info = self.dependencies.build["gettext"].cpp_info + self.run(f"{cpp_info.bindirs[0]}/msgfmt {po_file} -o {mo_file} -f", env="conanbuild", + ignore_errors=True) def layout(self): self.folders.source = "." @@ -146,30 +149,32 @@ def layout(self): self.folders.generators = os.path.join(self.folders.build, "conan") self.cpp.package.libdirs = [os.path.join("site-packages", "UM")] - self.cpp.package.resdirs = ["resources", "plugins", "pip_requirements"] # Note: pip_requirements should be the last item in the list + self.cpp.package.resdirs = ["resources", "plugins", + "pip_requirements"] # Note: pip_requirements should be the last item in the list + + self.layouts.source.runenv_info.prepend_path("PYTHONPATH", ".") + self.layouts.source.runenv_info.prepend_path("PYTHONPATH", "plugins") + self.layouts.package.runenv_info.prepend_path("PYTHONPATH", "site-packages") + self.layouts.package.runenv_info.prepend_path("PYTHONPATH", self.cpp.package.resdirs[1]) def package(self): - copy(self, "*", src = os.path.join(self.source_folder, "UM"), dst = os.path.join(self.package_folder, self.cpp.package.libdirs[0])) - copy(self, "*", src = os.path.join(self.source_folder, "resources"), dst = os.path.join(self.package_folder, self.cpp.package.resdirs[0])) - copy(self, "*.mo", src = os.path.join(self.build_folder, "resources"), dst = os.path.join(self.package_folder, self.cpp.package.resdirs[0])) - copy(self, "*", src = os.path.join(self.source_folder, "plugins"), dst = os.path.join(self.package_folder, self.cpp.package.resdirs[1])) - copy(self, "requirement*.txt", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.resdirs[-1])) + copy(self, "*", src=os.path.join(self.source_folder, "UM"), + dst=os.path.join(self.package_folder, self.cpp.package.libdirs[0])) + copy(self, "*", src=os.path.join(self.source_folder, "resources"), + dst=os.path.join(self.package_folder, self.cpp.package.resdirs[0])) + copy(self, "*.mo", src=os.path.join(self.build_folder, "resources"), + dst=os.path.join(self.package_folder, self.cpp.package.resdirs[0])) + copy(self, "*", src=os.path.join(self.source_folder, "plugins"), + dst=os.path.join(self.package_folder, self.cpp.package.resdirs[1])) + copy(self, "requirement*.txt", src=self.source_folder, + dst=os.path.join(self.package_folder, self.cpp.package.resdirs[-1])) def package_info(self): self.user_info.pip_requirements = "requirements.txt" self.user_info.pip_requirements_build = "requirements-dev.txt" - if self.in_local_cache: - self.runenv_info.append_path("PYTHONPATH", os.path.join(self.package_folder, "site-packages")) - self.runenv_info.append_path("PYTHONPATH", os.path.join(self.package_folder, "plugins")) - else: - self.runenv_info.append_path("PYTHONPATH", self.source_folder) - self.runenv_info.append_path("PYTHONPATH", os.path.join(self.source_folder, "plugins")) - def package_id(self): self.info.clear() - del self.info.options.devtools - if self.options.get_safe("enable_i18n", False): - del self.info.options.enable_i18n - + self.info.options.rm_safe("devtools") + self.info.options.rm_safe("enable_i18n") diff --git a/test_package/conanfile.py b/test_package/conanfile.py index 05bf1cbe3c..b221912237 100644 --- a/test_package/conanfile.py +++ b/test_package/conanfile.py @@ -1,37 +1,33 @@ -import shutil - from io import StringIO -from pathlib import Path from conan import ConanFile from conan.tools.env import VirtualRunEnv -from conans import tools -from conans.errors import ConanException +from conan.tools.build import can_run +from conan.errors import ConanException +from conan.tools.files import copy + class UraniumTestConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) def generate(self): venv = VirtualRunEnv(self) venv.generate() - def build(self): - if not tools.cross_building(self): - shutil.copy(Path(self.source_folder).joinpath("test.py"), Path(self.build_folder).joinpath("test.py")) + cpp_info = self.dependencies[self.tested_reference_str].cpp_info + copy(self, "*.pyd", src=cpp_info.libdirs[0], dst=self.build_folder) - def imports(self): - if self.settings.os == "Windows" and not tools.cross_building(self, skip_x64_x86 = True): - self.copy("*.pyd", dst=".", src="@libdirs") + for dep in self.dependencies.values(): + for bin_dir in dep.cpp_info.bindirs: + copy(self, "*.dll", src=bin_dir, dst=self.build_folder) def test(self): - if not tools.cross_building(self): + if can_run(self): test_buf = StringIO() - try: - self.run(f"python test.py", env="conanrun", output=test_buf) - except Exception: - print(test_buf.getvalue()) - raise ConanException("Uranium wasn't build correctly!") - + self.run(f"python test.py", env="conanrun", stdout=test_buf, scope="run") if "True" not in test_buf.getvalue(): raise ConanException("Uranium wasn't build correctly!")