-
-
Notifications
You must be signed in to change notification settings - Fork 15k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xmake: 2.9.4 -> 2.9.5 #343185
xmake: 2.9.4 -> 2.9.5 #343185
Conversation
ping @wineee |
@wineee can I leave this one to you? You appear to have experience with this package. |
@wineee If you DO NOT want to use the submodules in xmake repo to build it (which is totally correct, just like the author of xmake did for Homebrew), please at least add |
I've tried to build xmake with dependencies already available on Nixpkgs. And frankly speaking it's really ugly and unnecessary, Because the author of xmake uses such a hacky build system. For example, tboox/tbox is a C library, and it has specified configure options for xmake. Hard-coding these options like you did in tbox/default.nix is not generic, and you cannot expect the upstream keeps the same options all the time. Not to say, adding a package like The goal of Nixpkgs is not making software packing so idiosyncratic and complex. It will tremendously hurt user experience when they find the software is either unavailable, or behave weirdly compared to the same one provided by another package manager. |
Please rebase and change commit message to: |
Done. Thanks for reviewing. |
Build failed on x86_64-darwin:
https://logs.ofborg.org/?key=nixos/nixpkgs.343185&attempt_id=e2479983-f76a-4d28-a737-c1bc19a2ce6b |
Surprising 🙁 I'll test it later. |
Find the reason and a related post: #338695
Solution: https://github.com/NixOS/nixpkgs/blob/master/doc/stdenv/platform-notes.chapter.md diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4fb008387e5c..50305ee41136 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18916,7 +18916,7 @@ with pkgs;
webdis = callPackage ../development/tools/database/webdis { };
- xmake = callPackage ../development/tools/build-managers/xmake {
+ xmake = darwin.apple_sdk_11_0.callPackage ../development/tools/build-managers/xmake {
inherit (darwin.apple_sdk.frameworks) CoreServices;
}; @wineee Add a new commit, or rebase and override the old commits? |
Add a new commit: Also should use same sdk for CoreServices: -- inherit (darwin.apple_sdk.frameworks) CoreServices;
++ inherit (darwin.apple_sdk_11_0.frameworks) CoreServices; |
xmake requires macOS SDK >= 10.13.0, but Nixpkgs sticks to macOS 10.12.0 for x86_64-darwin now. Use 11.0 SDK as recommended by the doc.
Thanks |
Description of changes
Xmake is actually broken in Nixpkgs. See #342966.
I'm surprised that this simple derivation "just works" - on my MacBook 2021 (aarch64-darwin), on my NixOS virtual machine (aarch64-linux) and on my lab's server (x86_64-linux).
However I'm not sure if the derivation is generic enough. Maybe more tests needed.
Here is the behavior of xmake:
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.