This re-enables build on macOS.#3013
Conversation
|
can we add a macos CI per this change? |
|
@karelzak we've been holding off updating to util-linux 2.40 in Nixpkgs for a long time because of this issue. Could you please take a look? |
|
Looks good to me; @t-8ch, any comments? |
|
The commit subject is really not great. A comment why there is no problem time ABI problem on macOS. |
2.40.1 is still a soft requirement as format will refuse to run without a flag. nixpkgs requiring macOS compatibility of util-linux is a questionable choice. See: - NixOS/nixpkgs#333467 - util-linux/util-linux#3013 Rationale for picking blkid 2.39.3: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes
|
It seems that the motivation for I have no idea if Darwin supports it. Sources:
The pull that added |
|
@iskarian thank you for the background research! @t-8ch From looking at system headers, as they exist now, I see the following in #if defined (__i386__) || defined (__x86_64__)
...
typedef long __darwin_time_t;
...
#endifwhere This is all conjectural, however, since, as I mentioned I don't have an ability to actually build and check what happens on 32-bit3. To remind you, right now the situation is that I am going to add a short summary of the above to the commit message in the hope that this will finally get the fix merged and the issue resolved. Footnotes
|
|
Please also change the commit subject to something matching the common style.
And also add some newlines to the commit message. In general it would be great if somebody could contribute CI configurations for macOS (and Windows for that matter). |
Weak aliases are not supported by clang on Darwin. Instead this fix uses inline asm to make `_uuid_time` an alias to `___uuid_time` It appears that on macOS the time API is purely 32 or 64 bit depending on the build type. There is no ABI issue on that platform and `uuid_time` can be unconditionally aliased to `_uuid_time`. This is all conjectural, however, since I have no ability to make 32-bit builds for macOS - the Apple toolchain doesn't support this since 2019. Fixes util-linux#2873
|
@t-8ch Commit message amended as requested. |
|
@karelzak not sure what the process is in this project, so can this be merged now or there is something else that needs to be done? Thank you! |
2.40.1 is still a soft requirement as format will refuse to run without a flag. nixpkgs requiring macOS compatibility of util-linux is a questionable choice. See: - NixOS/nixpkgs#333467 - util-linux/util-linux#3013 Rationale for picking blkid 2.39.3: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes
2.40.1 is still a soft requirement as format will refuse to run without a flag. nixpkgs requiring macOS compatibility of util-linux is a questionable choice. See: - NixOS/nixpkgs#333467 - util-linux/util-linux#3013 Rationale for picking blkid 2.39.3: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes Signed-off-by: Gabriel de Perthuis <[email protected]>
|
@karelzak This should be ready. |
|
Ah, I forgot this for release v2.41. Sorry. |
|
@karelzak I think this did not make to 2.41.2 release? |
|
The commit f59b47d is within |
|
Note that if you want something included in the next stable release, it's fine to create a pull request against the relevant stable/vX.Y branch. |
Weak aliases are not supported by clang on Darwin. Instead this fix uses inline asm to make
_uuid_timeand alias to___uuid_timeFixes #2873