Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-maturin for openSUSE:Factory checked in at 2022-12-02 13:13:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-maturin (Old) and /work/SRC/openSUSE:Factory/.python-maturin.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-maturin" Fri Dec 2 13:13:09 2022 rev:20 rq:1039390 version:0.14.3 Changes: -------- --- /work/SRC/openSUSE:Factory/python-maturin/python-maturin.changes 2022-11-25 13:22:55.167603546 +0100 +++ /work/SRC/openSUSE:Factory/.python-maturin.new.1835/python-maturin.changes 2022-12-02 13:13:25.001944069 +0100 @@ -1,0 +2,30 @@ +Thu Dec 1 20:14:41 UTC 2022 - Mia Herkt <[email protected]> + +- Update to v0.14.3: + * Bump MSRV to 1.62.0 + gh#PyO3/maturin#1297 + * CI: Run ruff in lint jobs + gh#PyO3/maturin#1298 + * Fix build error when required features of bin target isn't + enabled + gh#PyO3/maturin#1299 + * Build and publish armv6l wheels for maturin + gh#PyO3/maturin#1300 + * Fix wrong platform tag when building in i386 docker container + on x86_64 host + gh#PyO3/maturin#1301 + * Fix wrong platform tag when building in armv7 docker container + on aarch64 host + gh#PyO3/maturin#1303 + * CI: Stop caching test crates target directory + gh#PyO3/maturin#1302 + * refactor: Use clap_complete_command + gh#PyO3/maturin#1304 + * Remove human-panic dependency + gh#PyO3/maturin#1305 + * chore: cargo update to remove rustix 0.35.x + gh#PyO3/maturin#1307 + * chore: cargo update cargo-zigbuild and cargo-xwin + gh#PyO3/maturin#1314 + +------------------------------------------------------------------- Old: ---- maturin-0.14.2.tar.gz New: ---- maturin-0.14.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-maturin.spec ++++++ --- /var/tmp/diff_new_pack.aptJLF/_old 2022-12-02 13:13:26.425951900 +0100 +++ /var/tmp/diff_new_pack.aptJLF/_new 2022-12-02 13:13:26.433951944 +0100 @@ -17,7 +17,7 @@ Name: python-maturin -Version: 0.14.2 +Version: 0.14.3 Release: 0 Summary: Rust/Python Interoperability License: Apache-2.0 OR MIT ++++++ maturin-0.14.2.tar.gz -> maturin-0.14.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/Cargo.lock new/maturin-0.14.3/Cargo.lock --- old/maturin-0.14.2/Cargo.lock 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/Cargo.lock 2022-12-01 07:51:10.000000000 +0100 @@ -3,15 +3,6 @@ version = 3 [[package]] -name = "addr2line" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" -dependencies = [ - "gimli", -] - -[[package]] name = "adler" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -111,9 +102,9 @@ [[package]] name = "async-io" -version = "1.10.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7" +checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" dependencies = [ "async-lock", "autocfg", @@ -126,7 +117,7 @@ "slab", "socket2", "waker-fn", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -145,7 +136,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -157,21 +148,6 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] -name = "backtrace" -version = "0.3.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] name = "base64" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -293,12 +269,6 @@ ] [[package]] -name = "cache-padded" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" - -[[package]] name = "camino" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -309,11 +279,11 @@ [[package]] name = "cargo-options" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6755badfe5e0224c6e2ae710d82cd7dce5866e8ebcb22e5f3eced8f25fbd1ace" +checksum = "860cd643171bc868500aff16c2405559b42fc71bd3130d761c2847b3e9e71cdc" dependencies = [ - "clap 4.0.26", + "clap 4.0.29", ] [[package]] @@ -327,13 +297,13 @@ [[package]] name = "cargo-xwin" -version = "0.12.2" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff9dcba0018e9156cfb5802be23e5e1e4edf228e7b09034dcf0f4fb4b9a2d2a" +checksum = "e1396a7cea49da420388d759e81653a7b46cd9a207c82129c3453d8ccba8121e" dependencies = [ "anyhow", "cargo-options", - "clap 4.0.26", + "clap 4.0.29", "dirs", "fs-err", "indicatif", @@ -344,14 +314,14 @@ [[package]] name = "cargo-zigbuild" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10e51487576b4ad8ef787545325fa5841a685365bd12c0b3812e004b76ebb379" +checksum = "364c8bae773d8879ae9ea3bf63e7c052b3e47c095e871f03027e176489df5477" dependencies = [ "anyhow", "cargo-options", "cargo_metadata", - "clap 4.0.26", + "clap 4.0.29", "dirs", "fs-err", "path-slash", @@ -409,7 +379,7 @@ dependencies = [ "byteorder", "fnv", - "uuid 1.2.2", + "uuid", ] [[package]] @@ -466,42 +436,52 @@ "once_cell", "strsim", "termcolor", - "terminal_size 0.2.2", "textwrap", ] [[package]] name = "clap" -version = "4.0.26" +version = "4.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2148adefda54e14492fb9bddcc600b4344c5d1a3123bd666dcb939c6f0e0e57e" +checksum = "4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d" dependencies = [ - "atty", "bitflags", "clap_derive 4.0.21", "clap_lex 0.3.0", + "is-terminal", "once_cell", "strsim", "termcolor", - "terminal_size 0.2.2", + "terminal_size 0.2.3", ] [[package]] name = "clap_complete" -version = "4.0.5" +version = "4.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b0fba905b035a30d25c1b585bf1171690712fbb0ad3ac47214963aa4acc36c" +checksum = "b7b3c9eae0de7bf8e3f904a5e40612b21fb2e2e566456d177809a48b892d24da" dependencies = [ - "clap 4.0.26", + "clap 4.0.29", +] + +[[package]] +name = "clap_complete_command" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4160b4a4f72ef58bd766bad27c09e6ef1cc9d82a22f6a0f55d152985a4a48e31" +dependencies = [ + "clap 4.0.29", + "clap_complete", + "clap_complete_fig", ] [[package]] name = "clap_complete_fig" -version = "4.0.1" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36d1abc7184a737efc9f589e6e783e8b56c72e71fca748cf9947ed0a6f46d44" +checksum = "46b30e010e669cd021e5004f3be26cff6b7c08d2a8a0d65b48d43a8cc0efd6c3" dependencies = [ - "clap 4.0.26", + "clap 4.0.29", "clap_complete", ] @@ -571,13 +551,13 @@ [[package]] name = "concolor" -version = "0.0.9" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90f9dcd9490a97db91a85ccd79e38a87e14323f0bb824659ee3274e9143ba37" +checksum = "318d6c16e73b3a900eb212ad6a82fc7d298c5ab8184c7a9998646455bc474a16" dependencies = [ - "atty", "bitflags", "concolor-query", + "is-terminal", ] [[package]] @@ -588,11 +568,11 @@ [[package]] name = "concurrent-queue" -version = "1.2.4" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" +checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" dependencies = [ - "cache-padded", + "crossbeam-utils", ] [[package]] @@ -1001,9 +981,9 @@ [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", "miniz_oxide", @@ -1171,12 +1151,6 @@ ] [[package]] -name = "gimli" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" - -[[package]] name = "glob" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1242,6 +1216,15 @@ ] [[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] name = "hkdf" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1262,21 +1245,6 @@ ] [[package]] -name = "human-panic" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f357a500abcbd7c5f967c1d45c8838585b36743823b9d43488f24850534e36" -dependencies = [ - "backtrace", - "os_type", - "serde", - "serde_derive", - "termcolor", - "toml", - "uuid 0.8.2", -] - -[[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1359,9 +1327,25 @@ [[package]] name = "io-lifetimes" -version = "0.7.5" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" +checksum = "46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c" +dependencies = [ + "libc", + "windows-sys 0.42.0", +] + +[[package]] +name = "is-terminal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +dependencies = [ + "hermit-abi 0.2.6", + "io-lifetimes", + "rustix", + "windows-sys 0.42.0", +] [[package]] name = "itertools" @@ -1424,9 +1408,9 @@ [[package]] name = "linux-raw-sys" -version = "0.0.46" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" +checksum = "8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f" [[package]] name = "lock_api" @@ -1475,7 +1459,7 @@ [[package]] name = "maturin" -version = "0.14.2" +version = "0.14.3" dependencies = [ "anyhow", "base64", @@ -1486,9 +1470,8 @@ "cargo_metadata", "cbindgen", "cc", - "clap 4.0.26", - "clap_complete", - "clap_complete_fig", + "clap 4.0.29", + "clap_complete_command", "configparser", "console", "dialoguer", @@ -1499,7 +1482,6 @@ "fs-err", "glob", "goblin 0.6.0", - "human-panic", "ignore", "indoc", "itertools", @@ -1594,9 +1576,9 @@ [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] @@ -1610,7 +1592,7 @@ "byteorder", "cfb", "encoding", - "uuid 1.2.2", + "uuid", ] [[package]] @@ -1784,7 +1766,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", ] @@ -1795,15 +1777,6 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] -name = "object" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" -dependencies = [ - "memchr", -] - -[[package]] name = "once_cell" version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1872,12 +1845,12 @@ [[package]] name = "os_pipe" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dceb7e43f59c35ee1548045b2c72945a5a3bb6ce6d6f07cdc13dc8f6bc4930a" +checksum = "c6a252f1f8c11e84b3ab59d7a488e48e4478a93937e027076638c49536204639" dependencies = [ "libc", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -1887,15 +1860,6 @@ checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" [[package]] -name = "os_type" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24d44c0eea30167516ed8f6daca4b5e3eebcde1bde1e4e6e08b809fb02c7ba5" -dependencies = [ - "regex", -] - -[[package]] name = "output_vt100" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1928,9 +1892,9 @@ [[package]] name = "parking_lot_core" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" +checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" dependencies = [ "cfg-if", "libc", @@ -2003,16 +1967,16 @@ [[package]] name = "polling" -version = "2.4.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4609a838d88b73d8238967b60dd115cc08d38e2bbaf51ee1e4b695f89122e2" +checksum = "166ca89eb77fd403230b9c156612965a81e094ec6ec3aa13663d4c8b113fa748" dependencies = [ "autocfg", "cfg-if", "libc", "log", "wepoll-ffi", - "winapi", + "windows-sys 0.42.0", ] [[package]] @@ -2277,19 +2241,24 @@ [[package]] name = "rpassword" -version = "7.1.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c9f5d2a0c3e2ea729ab3706d22217177770654c3ef5056b68b69d07332d3f5" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" dependencies = [ "libc", + "rtoolbox", "winapi", ] [[package]] -name = "rustc-demangle" -version = "0.1.21" +name = "rtoolbox" +version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +dependencies = [ + "libc", + "winapi", +] [[package]] name = "rustc_version" @@ -2302,9 +2271,9 @@ [[package]] name = "rustix" -version = "0.35.13" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +checksum = "cb93e85278e08bb5788653183213d3a60fc242b10cb9be96586f5a73dcb67c23" dependencies = [ "bitflags", "errno", @@ -2453,18 +2422,18 @@ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "e53f64bb4ba0191d6d0676e1b141ca55047d83b74f5607e6d8eb88126c52c2dc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "a55492425aa53521babf6137309e7d34c20bbfbbfcfe2c7f3a047fd1f6b92c0c" dependencies = [ "proc-macro2", "quote", @@ -2561,9 +2530,9 @@ [[package]] name = "snapbox" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "827c00e91b15e2674d8a5270bae91f898693cbf9561cbb58d8eaa31974597293" +checksum = "efbd7b250c7243273b5aec4ca366fced84ad716d110bb7baae4814678952ebde" dependencies = [ "concolor", "content_inspector", @@ -2577,7 +2546,7 @@ "tempfile", "wait-timeout", "walkdir", - "winapi", + "windows-sys 0.42.0", "yansi", ] @@ -2634,9 +2603,9 @@ [[package]] name = "syn" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "4ae548ec36cf198c0ef7710d3c230987c2d6d7bd98ad6edc0274462724c585ce" dependencies = [ "proc-macro2", "quote", @@ -2695,9 +2664,9 @@ [[package]] name = "terminal_size" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ca90c434fd12083d1a6bdcbe9f92a14f96c8a1ba600ba451734ac334521f7a" +checksum = "cb20089a8ba2b69debd491f8d2d023761cbf196e999218c591fa1e7e15a21907" dependencies = [ "rustix", "windows-sys 0.42.0", @@ -2710,7 +2679,6 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" dependencies = [ "smawk", - "terminal_size 0.2.2", "unicode-linebreak", "unicode-width", ] @@ -2903,9 +2871,9 @@ [[package]] name = "trycmd" -version = "0.14.4" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e44a0ef010323b99f3b8fc13c6cac2e25df2e3bf5daacea5abef7bf5bd841bb8" +checksum = "e381af441e13a3635303d26769620a9454aef05ec3303711efc3f1dd785a33af" dependencies = [ "glob", "humantime", @@ -3050,15 +3018,6 @@ [[package]] name = "uuid" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom", -] - -[[package]] -name = "uuid" version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" @@ -3082,6 +3041,16 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] +name = "versions" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee97e1d97bd593fb513912a07691b742361b3dd64ad56f2c694ea2dbfe0665d3" +dependencies = [ + "itertools", + "nom", +] + +[[package]] name = "wait-timeout" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3367,15 +3336,15 @@ [[package]] name = "xwin" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d800084cf7137e4a3e80587ff027d53943e05586a50a3655c2622e6700ba3f" +checksum = "5c53c43cb1b0385c4e1482f160cd72e4e43b8a9f436a42e3f539480c52056492" dependencies = [ "anyhow", "bytes", "cab", "camino", - "clap 3.2.23", + "clap 4.0.29", "cli-table", "flate2", "indicatif", @@ -3392,6 +3361,7 @@ "tracing-subscriber", "twox-hash", "ureq", + "versions", "zip", ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/Cargo.toml new/maturin-0.14.3/Cargo.toml --- old/maturin-0.14.2/Cargo.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/maturin-0.14.3/Cargo.toml 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +1,7 @@ [package] authors = ["konstin <[email protected]>", "messense <[email protected]>"] name = "maturin" -version = "0.14.2" +version = "0.14.3" description = "Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages" exclude = ["test-crates/**/*", "sysconfig/*", "test-data/*", "ci/*", "tests/*", "guide/*", ".github/*"] homepage = "https://github.com/pyo3/maturin" @@ -11,7 +11,7 @@ keywords = ["python", "cffi", "packaging", "pypi", "pyo3"] categories = ["api-bindings", "development-tools::ffi", "command-line-utilities"] edition = "2021" -rust-version = "1.61" +rust-version = "1.62" [[bin]] name = "maturin" @@ -26,19 +26,17 @@ cargo_metadata = "0.15.2" cargo-options = "0.5.2" cargo-zigbuild = "0.14.1" -cargo-xwin = { version = "0.12.2", default-features = false } +cargo-xwin = { version = "0.13.0", default-features = false } cbindgen = { version = "0.24.2", default-features = false } uniffi_bindgen = "0.21.0" flate2 = "1.0.18" goblin = "0.6.0" -human-panic = { version = "1.0.3", optional = true } -keyring = { version = "1.1.1", optional = true } platform-info = "1.0.0" -regex = "1.4.5" +regex = "1.7.0" serde = { version = "1.0.141", features = ["derive"] } serde_json = "1.0.80" sha2 = "0.10.3" -tar = "0.4.33" +tar = "0.4.38" tempfile = "3.2.0" toml_edit = { version = "0.15.0", features = ["easy"] } zip = { version = "0.6.1", default-features = false, features = ["bzip2", "deflate", "time"] } @@ -55,20 +53,25 @@ textwrap = "0.16.0" ignore = "0.4.18" itertools = "0.10.5" -dialoguer = { version = "0.10.2", default-features = false } -console = "0.15.2" -minijinja = "0.26.0" lddtree = "0.3.2" cc = "1.0.72" -clap = { version = "4.0.0", features = ["derive", "env", "wrap_help"] } -clap_complete = "4.0.2" -clap_complete_fig = "4.0.0" -tracing = "0.1.36" -tracing-subscriber = { version = "0.3.15", features = ["env-filter"], optional = true } dunce = "1.0.2" normpath = "0.3.2" pep440 = "0.2.0" +# cli +clap = { version = "4.0.0", features = ["derive", "env", "wrap_help"] } +clap_complete_command = "0.4.0" + +# log +tracing = "0.1.36" +tracing-subscriber = { version = "0.3.15", features = ["env-filter"], optional = true } + +# project scaffolding, maturin new/init +dialoguer = { version = "0.10.2", default-features = false } +console = "0.15.2" +minijinja = "0.26.0" + # upload bytesize = { version = "1.0.1", optional = true } configparser = { version = "3.0.0", optional = true } @@ -76,6 +79,7 @@ rpassword = { version = "7.0.0", optional = true } ureq = { version = "2.3.1", features = ["gzip", "socks-proxy"], default-features = false, optional = true } native-tls-crate = { package = "native-tls", version = "0.2.8", optional = true } +keyring = { version = "1.1.1", optional = true } [dev-dependencies] indoc = "1.0.3" @@ -84,7 +88,7 @@ trycmd = "0.14.0" [features] -default = ["log", "upload", "rustls", "human-panic"] +default = ["log", "upload", "rustls"] upload = ["ureq", "multipart", "rpassword", "configparser", "bytesize"] password-storage = ["upload", "keyring"] log = ["tracing-subscriber"] @@ -92,6 +96,8 @@ native-tls = ["ureq/native-tls", "native-tls-crate", "cargo-xwin/native-tls"] # Internal feature to speed up the tests significantly faster-tests = [] +# Deprecated features, keep it now for compatibility +human-panic = [] # Without this, compressing the .gz archive becomes notably slow for debug builds [profile.dev.package.miniz_oxide] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/Changelog.md new/maturin-0.14.3/Changelog.md --- old/maturin-0.14.2/Changelog.md 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/Changelog.md 2022-12-01 07:51:10.000000000 +0100 @@ -7,6 +7,17 @@ ## [Unreleased] +## [0.14.3] - 2022-12-01 + +* Bump MSRV to 1.62.0 in [#1297](https://github.com/PyO3/maturin/pull/1297) +* Fix build error when required features of bin target isn't enabled in [#1299](https://github.com/PyO3/maturin/pull/1299) +* Fix wrong platform tag when building in i386 docker container on x86_64 host in [#1301](https://github.com/PyO3/maturin/pull/1301) +* Fix wrong platform tag when building in armv7 docker container on aarch64 host in [#1303](https://github.com/PyO3/maturin/pull/1303) +* Add Solaris operating system support in [#1310](https://github.com/PyO3/maturin/pull/1310) +* Add armv6 and armv7 target support for FreeBSD in [#1312](https://github.com/PyO3/maturin/pull/1312) +* Add riscv64 and powerpc target support for FreeBSD in [#1313](https://github.com/PyO3/maturin/pull/1313) +* Fix powerpc64 and powerpc64le Python wheel platform tag for FreeBSD in [#1313](https://github.com/PyO3/maturin/pull/1313) + ## [0.14.2] - 2022-11-24 * Tighten src-layout detection logic in [#1281](https://github.com/PyO3/maturin/pull/1282) @@ -755,7 +766,8 @@ * Initial Release -[Unreleased]: https://github.com/pyo3/maturin/compare/v0.14.2...HEAD +[Unreleased]: https://github.com/pyo3/maturin/compare/v0.14.3...HEAD +[0.14.3]: https://github.com/pyo3/maturin/compare/v0.14.3...v0.14.3 [0.14.2]: https://github.com/pyo3/maturin/compare/v0.14.1...v0.14.2 [0.14.1]: https://github.com/pyo3/maturin/compare/v0.14.0...v0.14.1 [0.14.0]: https://github.com/pyo3/maturin/compare/v0.13.7...v0.14.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/PKG-INFO new/maturin-0.14.3/PKG-INFO --- old/maturin-0.14.2/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 +++ new/maturin-0.14.3/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +1,15 @@ Metadata-Version: 2.1 Name: maturin -Version: 0.14.2 +Version: 0.14.3 Classifier: Topic :: Software Development :: Build Tools Classifier: Programming Language :: Rust Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Requires-Dist: tomli>=1.1.0 ; python_version<'3.11' -Requires-Dist: patchelf; extra == 'patchelf' Requires-Dist: ziglang~=0.10.0; extra == 'zig' -Provides-Extra: patchelf +Requires-Dist: patchelf; extra == 'patchelf' Provides-Extra: zig +Provides-Extra: patchelf Summary: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages Keywords: python,cffi,packaging,pypi,pyo3 Home-Page: https://github.com/pyo3/maturin @@ -20,8 +20,8 @@ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM Project-URL: Issues, https://github.com/PyO3/maturin/issues Project-URL: Documentation, https://maturin.rs -Project-URL: Changelog, https://maturin.rs/changelog.html Project-URL: Source Code, https://github.com/PyO3/maturin +Project-URL: Changelog, https://maturin.rs/changelog.html # Maturin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/pyproject.toml new/maturin-0.14.3/pyproject.toml --- old/maturin-0.14.2/pyproject.toml 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/pyproject.toml 2022-12-01 07:51:10.000000000 +0100 @@ -44,3 +44,35 @@ # Ignore cargo-generate templates ^/src/templates ''' + +[tool.ruff] +line-length = 120 +target-version = "py37" +exclude = [ + ".bzr", + ".direnv", + ".eggs", + ".git", + ".hg", + ".mypy_cache", + ".nox", + ".pants.d", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "venv", + # maturin specific excludes + "venvs", + "target", + "targets", + # auto-generated files + "test-crates/cffi-mixed/cffi_mixed/cffi_mixed/ffi.py", + "test-crates/uniffi-mixed/uniffi_mixed/uniffi_mixed/math.py", +] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/setup.py new/maturin-0.14.3/setup.py --- old/maturin-0.14.2/setup.py 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/setup.py 2022-12-01 07:51:10.000000000 +0100 @@ -55,10 +55,10 @@ "riscv64", "sparc64", ) or (sys.platform == "win32" and platform.machine() == "ARM64"): - cargo_args.extend(["--no-default-features", "--features=upload,log,human-panic"]) + cargo_args.extend(["--no-default-features", "--features=upload,log"]) elif sys.platform.startswith("haiku"): # mio and ring doesn't build on haiku - cargo_args.extend(["--no-default-features", "--features=log,human-panic"]) + cargo_args.extend(["--no-default-features", "--features=log"]) setup( name="maturin", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/src/compile.rs new/maturin-0.14.3/src/compile.rs --- old/maturin-0.14.2/src/compile.rs 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/src/compile.rs 2022-12-01 07:51:10.000000000 +0100 @@ -38,11 +38,30 @@ bindings_crate: &BridgeModel, ) -> Result<Vec<HashMap<String, BuildArtifact>>> { let root_pkg = context.cargo_metadata.root_package().unwrap(); + let resolved_features = context + .cargo_metadata + .resolve + .as_ref() + .and_then(|resolve| resolve.nodes.iter().find(|node| node.id == root_pkg.id)) + .map(|node| node.features.clone()) + .unwrap_or_default(); let mut targets: Vec<_> = root_pkg .targets .iter() .filter(|target| match bindings_crate { - BridgeModel::Bin(_) => target.kind.contains(&"bin".to_string()), + BridgeModel::Bin(_) => { + let is_bin = target.kind.contains(&"bin".to_string()); + if target.required_features.is_empty() { + is_bin + } else { + // Check all required features are enabled for this bin target + is_bin + && target + .required_features + .iter() + .all(|f| resolved_features.contains(f)) + } + } _ => target.kind.contains(&"cdylib".to_string()), }) .collect(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/src/lib.rs new/maturin-0.14.3/src/lib.rs --- old/maturin-0.14.2/src/lib.rs 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/src/lib.rs 2022-12-01 07:51:10.000000000 +0100 @@ -5,7 +5,7 @@ //! //! # Cargo features //! -//! Default features: log, upload, rustls, human-panic +//! Default features: log, upload, rustls //! //! - log: Configures pretty-env-logger, even though maturin doesn't use logging itself. //! @@ -16,8 +16,6 @@ //! //! - native-tls: Makes ureq use the platform native tls stack //! -//! - human-panic: Adds https://github.com/rust-clique/human-panic -//! //! - password-storage (off by default): Uses the keyring package to store the password. keyring //! pulls in a lot of shared libraries and outdated dependencies, so this is off by default, except //! for the build on the github releases page. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/src/main.rs new/maturin-0.14.3/src/main.rs --- old/maturin-0.14.2/src/main.rs 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/src/main.rs 2022-12-01 07:51:10.000000000 +0100 @@ -5,8 +5,7 @@ use anyhow::{bail, Context, Result}; use cargo_zigbuild::Zig; -use clap::{CommandFactory, Parser, Subcommand, ValueEnum}; -use clap_complete::Generator; +use clap::{CommandFactory, Parser, Subcommand}; use maturin::{ develop, init_project, new_project, write_dist_info, BridgeModel, BuildOptions, CargoOptions, GenerateProjectOptions, PathWriter, PlatformTag, PythonInterpreter, Target, @@ -16,7 +15,6 @@ use std::env; use std::io; use std::path::PathBuf; -use std::str::FromStr; #[derive(Debug, Parser)] #[command( @@ -152,7 +150,7 @@ #[command(name = "completions", hide = true)] Completions { #[arg(value_name = "SHELL")] - shell: Shell, + shell: clap_complete_command::Shell, }, /// Zig linker wrapper #[command(subcommand, hide = true)] @@ -203,33 +201,6 @@ }, } -#[derive(Debug, Clone, Copy, ValueEnum)] -#[allow(clippy::enum_variant_names)] -enum Shell { - Bash, - Elvish, - Fish, - PowerShell, - Zsh, - Fig, -} - -impl FromStr for Shell { - type Err = String; - - fn from_str(s: &str) -> Result<Self, Self::Err> { - match s.to_ascii_lowercase().as_str() { - "bash" => Ok(Shell::Bash), - "elvish" => Ok(Shell::Elvish), - "fish" => Ok(Shell::Fish), - "powershell" => Ok(Shell::PowerShell), - "zsh" => Ok(Shell::Zsh), - "fig" => Ok(Shell::Fig), - _ => Err("[valid values: bash, elvish, fish, powershell, zsh, fig]".to_string()), - } - } -} - /// Dispatches into the native implementations of the PEP 517 functions /// /// The last line of stdout is used as return value from the python part of the implementation @@ -429,30 +400,7 @@ upload_ui(&files, &publish)? } Opt::Completions { shell } => { - let mut cmd = Opt::command(); - match shell { - Shell::Fig => { - cmd.set_bin_name(env!("CARGO_BIN_NAME")); - let fig = clap_complete_fig::Fig; - fig.generate(&cmd, &mut io::stdout()); - } - _ => { - let shell = match shell { - Shell::Bash => clap_complete::Shell::Bash, - Shell::Elvish => clap_complete::Shell::Elvish, - Shell::Fish => clap_complete::Shell::Fish, - Shell::PowerShell => clap_complete::Shell::PowerShell, - Shell::Zsh => clap_complete::Shell::Zsh, - Shell::Fig => unreachable!(), - }; - clap_complete::generate( - shell, - &mut cmd, - env!("CARGO_BIN_NAME"), - &mut io::stdout(), - ) - } - } + shell.generate(&mut Opt::command(), &mut io::stdout()); } Opt::Zig(subcommand) => { subcommand @@ -465,11 +413,6 @@ } fn main() { - #[cfg(feature = "human-panic")] - { - human_panic::setup_panic!(); - } - if let Err(e) = run() { eprintln!("ð¥ maturin failed"); for cause in e.chain().collect::<Vec<_>>().iter() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/src/python_interpreter/sysconfig-freebsd.json new/maturin-0.14.3/src/python_interpreter/sysconfig-freebsd.json --- old/maturin-0.14.2/src/python_interpreter/sysconfig-freebsd.json 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/src/python_interpreter/sysconfig-freebsd.json 2022-12-01 07:51:10.000000000 +0100 @@ -35,6 +35,156 @@ "ext_suffix": ".cpython-310.so", "abi_tag": "310", "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 + } + ], + "i686": [ + { + "major": 3, + "minor": 7, + "abiflags": "m", + "interpreter": "cpython", + "ext_suffix": ".so", + "abi_tag": "37m", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 8, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-38.so", + "abi_tag": "38", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 9, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-39.so", + "abi_tag": "39", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 10, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-310.so", + "abi_tag": "310", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 + } + ], + "aarch64": [ + { + "major": 3, + "minor": 7, + "abiflags": "m", + "interpreter": "cpython", + "ext_suffix": ".so", + "abi_tag": "37m", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 8, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-38.so", + "abi_tag": "38", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 9, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-39.so", + "abi_tag": "39", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 10, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-310.so", + "abi_tag": "310", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 + } + ], + "armv7l": [ + { + "major": 3, + "minor": 7, + "abiflags": "m", + "interpreter": "cpython", + "ext_suffix": ".so", + "abi_tag": "37m", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 8, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-38.so", + "abi_tag": "38", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 9, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-39.so", + "abi_tag": "39", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 10, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-310.so", + "abi_tag": "310", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 } ] } \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/src/python_interpreter/sysconfig-openbsd.json new/maturin-0.14.3/src/python_interpreter/sysconfig-openbsd.json --- old/maturin-0.14.2/src/python_interpreter/sysconfig-openbsd.json 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/src/python_interpreter/sysconfig-openbsd.json 2022-12-01 07:51:10.000000000 +0100 @@ -17,6 +17,100 @@ "ext_suffix": ".cpython-39.so", "abi_tag": "39", "pointer_width": 64 + }, + { + "major": 3, + "minor": 10, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-310.so", + "abi_tag": "310", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 + } + ], + "i686": [ + { + "major": 3, + "minor": 8, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-38.so", + "abi_tag": "38", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 9, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-39.so", + "abi_tag": "39", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 10, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-310.so", + "abi_tag": "310", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 + } + ], + "aarch64": [ + { + "major": 3, + "minor": 8, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-38.so", + "abi_tag": "38", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 9, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-39.so", + "abi_tag": "39", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 10, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-310.so", + "abi_tag": "310", + "pointer_width": 64 + }, + { + "major": 3, + "minor": 11, + "abiflags": "", + "interpreter": "cpython", + "ext_suffix": ".cpython-311.so", + "abi_tag": "311", + "pointer_width": 64 } ] } \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/maturin-0.14.2/src/target.rs new/maturin-0.14.3/src/target.rs --- old/maturin-0.14.2/src/target.rs 2022-11-24 08:09:36.000000000 +0100 +++ new/maturin-0.14.3/src/target.rs 2022-12-01 07:51:10.000000000 +0100 @@ -11,6 +11,7 @@ use std::path::PathBuf; use std::str; use target_lexicon::{Architecture, Environment, Triple}; +use tracing::error; pub(crate) const RUST_1_64_0: semver::Version = semver::Version::new(1, 64, 0); @@ -25,6 +26,7 @@ NetBsd, OpenBsd, Dragonfly, + Solaris, Illumos, Haiku, Emscripten, @@ -41,6 +43,7 @@ Os::NetBsd => write!(f, "NetBSD"), Os::OpenBsd => write!(f, "OpenBSD"), Os::Dragonfly => write!(f, "DragonFly"), + Os::Solaris => write!(f, "Solaris"), Os::Illumos => write!(f, "Illumos"), Os::Haiku => write!(f, "Haiku"), Os::Emscripten => write!(f, "Emscripten"), @@ -117,15 +120,19 @@ Os::NetBsd => vec![Arch::Aarch64, Arch::X86, Arch::X86_64], Os::FreeBsd => vec![ Arch::Aarch64, + Arch::Armv6L, + Arch::Armv7L, Arch::Powerpc64, Arch::Powerpc64Le, Arch::X86, Arch::X86_64, + Arch::Riscv64, ], Os::OpenBsd => vec![Arch::X86, Arch::X86_64, Arch::Aarch64], Os::Dragonfly => vec![Arch::X86_64], Os::Illumos => vec![Arch::X86_64], Os::Haiku => vec![Arch::X86_64], + Os::Solaris => vec![Arch::X86_64, Arch::Sparc64], Os::Emscripten | Os::Wasi => vec![Arch::Wasm32], } } @@ -176,6 +183,7 @@ OperatingSystem::Freebsd => Os::FreeBsd, OperatingSystem::Openbsd => Os::OpenBsd, OperatingSystem::Dragonfly => Os::Dragonfly, + OperatingSystem::Solaris => Os::Solaris, OperatingSystem::Illumos => Os::Illumos, OperatingSystem::Haiku => Os::Haiku, OperatingSystem::Emscripten => Os::Emscripten, @@ -231,8 +239,12 @@ (Os::FreeBsd, Arch::X86) | (Os::FreeBsd, Arch::X86_64) | (Os::FreeBsd, Arch::Aarch64) + | (Os::FreeBsd, Arch::Armv6L) + | (Os::FreeBsd, Arch::Armv7L) + | (Os::FreeBsd, Arch::Powerpc) | (Os::FreeBsd, Arch::Powerpc64) | (Os::FreeBsd, Arch::Powerpc64Le) + | (Os::FreeBsd, Arch::Riscv64) // NetBSD | (Os::NetBsd, Arch::X86) | (Os::NetBsd, Arch::X86_64) @@ -246,8 +258,9 @@ Arch::X86_64 => "amd64", Arch::X86 => "i386", Arch::Aarch64 => "arm64", - Arch::Powerpc64 => "powerpc64", - Arch::Powerpc64Le => "powerpc64le", + Arch::Armv6L | Arch::Armv7L => "arm", + Arch::Powerpc | Arch::Powerpc64 | Arch::Powerpc64Le => "powerpc", + Arch::Riscv64 => "riscv", _ => panic!( "unsupported architecture should not have reached get_platform_tag()" ), @@ -271,7 +284,9 @@ "x86_64" ) } - // Illumos + // Solaris and Illumos + (Os::Solaris, Arch::X86_64) | + (Os::Solaris, Arch::Sparc64) | (Os::Illumos, Arch::X86_64) => { let info = PlatformInfo::new()?; let mut release = info.release().replace(['.', '-'], "_"); @@ -279,13 +294,15 @@ let mut os = self.os.to_string().to_ascii_lowercase(); // See https://github.com/python/cpython/blob/46c8d915715aa2bd4d697482aa051fe974d440e1/Lib/sysconfig.py#L722-L730 - if let Some((major, other)) = release.split_once('_') { - let major_ver: u64 = major.parse().context("illumos major version is not a number")?; - if major_ver >= 5 { - // SunOS 5 == Solaris 2 - os = "solaris".to_string(); - release = format!("{}_{}", major_ver - 3, other); - arch = format!("{}_64bit", arch); + if os.starts_with("sunos") { + if let Some((major, other)) = release.split_once('_') { + let major_ver: u64 = major.parse().context("illumos major version is not a number")?; + if major_ver >= 5 { + // SunOS 5 == Solaris 2 + os = "solaris".to_string(); + release = format!("{}_{}", major_ver - 3, other); + arch = format!("{}_64bit", arch); + } } } format!( @@ -297,13 +314,7 @@ } // Linux (Os::Linux, _) => { - let arch = if self.cross_compiling { - self.arch.to_string() - } else { - PlatformInfo::new() - .map(|info| info.machine().into_owned()) - .unwrap_or_else(|_| self.arch.to_string()) - }; + let arch = self.get_platform_arch()?; let mut platform_tags = platform_tags.to_vec(); platform_tags.sort(); let mut tags = vec![]; @@ -366,6 +377,31 @@ Ok(tag) } + fn get_platform_arch(&self) -> Result<String> { + if self.cross_compiling { + return Ok(self.arch.to_string()); + } + let machine = PlatformInfo::new().map(|info| info.machine().into_owned()); + let arch = match machine { + Ok(machine) => { + let linux32 = (machine == "x86_64" && self.arch != Arch::X86_64) + || (machine == "aarch64" && self.arch != Arch::Aarch64); + if linux32 { + // When running in Docker sometimes uname returns 64-bit architecture while the container is actually 32-bit, + // In this case we trust the architecture of rustc target + self.arch.to_string() + } else { + machine + } + } + Err(err) => { + error!("Failed to get machine architecture: {}", err); + self.arch.to_string() + } + }; + Ok(arch) + } + fn get_platform_release(&self) -> Result<String> { let os = self.os.to_string(); let os_version = env::var(format!("MATURIN_{}_VERSION", os.to_ascii_uppercase())); @@ -411,6 +447,7 @@ Os::NetBsd => "netbsd", Os::OpenBsd => "openbsd", Os::Dragonfly => "dragonfly", + Os::Solaris => "sunos", Os::Illumos => "sunos", Os::Haiku => "haiku", Os::Emscripten => "emscripten", @@ -484,6 +521,7 @@ | Os::NetBsd | Os::OpenBsd | Os::Dragonfly + | Os::Solaris | Os::Illumos | Os::Haiku | Os::Emscripten ++++++ vendor.tar.xz ++++++ /work/SRC/openSUSE:Factory/python-maturin/vendor.tar.xz /work/SRC/openSUSE:Factory/.python-maturin.new.1835/vendor.tar.xz differ: char 25, line 1
