fix(gix-index): handle loongarch64-musl stat struct field names#2428
fix(gix-index): handle loongarch64-musl stat struct field names#2428Byron merged 1 commit intoGitoxideLabs:mainfrom
Conversation
On `loongarch64-unknown-linux-musl` with musl 1.2.3+, the libc `stat` struct uses POSIX timespec fields (`st_mtim`, `st_ctim`) instead of separate seconds and nanoseconds fields (`st_mtime`, `st_mtime_nsec`). This was exposed by libc 0.2.180 which added proper time64 support for this target, causing compilation failures in rust-lang/rust CI. Fixes the same pattern already used for AIX and Hurd targets.
Byron
left a comment
There was a problem hiding this comment.
Thanks a lot, much appreciated!
|
@Byron do you plan to cut a new release? So that I don't need to do this rust-lang/cargo#16615 Up to you. No worries :) |
|
I released it for you @weihanglo, and for Cargo :). Hoping it works for you. |
For addressing loongarch 64bit time API issue. See GitoxideLabs/gitoxide#2428
For addressing loongarch 64bit time API issue. See GitoxideLabs/gitoxide#2428
Right after git-index changed accordingly via GitoxideLabs/gitoxide#2428 for the loongarch timestamp API issue, libc reverted it back rust-lang/libc#4958 and released 0.2.181 We pin to libc@0.2.180 for now. And when gitoxide reverts, we can safely upgrade them # Do not modify or remove the line above. # Everything below it will be ignored. # # On branch libc # Changes to be committed: # modified: Cargo.lock # diff --git a/Cargo.lock b/Cargo.lock index 668d2a2..204d94e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2769,9 +2769,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.181" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459427e2af2b9c839b132acb702a1c654d95e10f8c326bfc2ad11310e458b1c5" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libgit2-sys"
Right after git-index changed accordingly via GitoxideLabs/gitoxide#2428 for the loongarch timestamp API issue, libc reverted it back rust-lang/libc#4958 and released 0.2.181 We pin to libc@0.2.180 for now. And when gitoxide reverts, we can safely upgrade them
|
It is a bit annoying that rust-lang/libc#4958 libc reverted the change and released a 0.2.181 😓. We probably also want to revert. See also rust-lang/cargo#16624 No need to rush into a new release. And sorry about this 😞. |
|
No worries, this happens and at least you will have a release if you still need one later. |
Right after git-index changed accordingly via GitoxideLabs/gitoxide#2428 for the loongarch timestamp API issue, libc reverted it back rust-lang/libc#4958 and released 0.2.181 We pin to libc@0.2.180 for now. And when gitoxide reverts, we can safely upgrade them Previous relevnat PRs: * #16615 * #16613
|
Just back from a long vacation. @Byron, have we reverted this change for git-index? I can poke around if haven't |
|
I didn't revert anything, as I am not fully in the know about what is what. If you are and know what needs to be done, I definitely encourage you to do it 🙏. |
This follows the same pattern already used for AIX and Hurd targets.
On this target with musl 1.2.3+,
musl switched to POSIX timespec structs for time64 support.
Loongarch in 0.2.180 was changed accordingly.
See libc 0.2.180, which added proper time64 support for
loongarch64-unknown-linux-muslwith musl 1.2.3+Found through: