veloren: fixed to support darwin (#521756)
This commit is contained in:
@@ -3,10 +3,12 @@
|
||||
rustPlatform,
|
||||
fetchFromGitLab,
|
||||
pkg-config,
|
||||
stdenv,
|
||||
|
||||
# Linux-only
|
||||
vulkan-loader,
|
||||
alsa-lib,
|
||||
udev,
|
||||
shaderc,
|
||||
libxcb,
|
||||
libxkbcommon,
|
||||
autoPatchelfHook,
|
||||
@@ -15,7 +17,12 @@
|
||||
libxcursor,
|
||||
libxrandr,
|
||||
wayland,
|
||||
stdenv,
|
||||
|
||||
# Both platforms
|
||||
shaderc,
|
||||
|
||||
# macOS-only
|
||||
desktopToDarwinBundle,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -25,7 +32,6 @@ let
|
||||
timestamp = "1769191511";
|
||||
rev = "1d12f35edd6cdbfc1fb921c167cdd7beeeffe248";
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "veloren";
|
||||
inherit version;
|
||||
@@ -45,29 +51,38 @@ rustPlatform.buildRustPackage {
|
||||
|
||||
postPatch = ''
|
||||
# Force vek to build in unstable mode
|
||||
cat <<'EOF' | tee "$cargoDepsCopy"/*/vek-*/build.rs
|
||||
tee "$cargoDepsCopy"/*/vek-*/build.rs > /dev/null <<'EOF'
|
||||
fn main() {
|
||||
println!("cargo:rustc-check-cfg=cfg(nightly)");
|
||||
println!("cargo:rustc-cfg=nightly");
|
||||
}
|
||||
EOF
|
||||
|
||||
# Fix assets path
|
||||
substituteAllInPlace common/assets/src/lib.rs
|
||||
|
||||
# Do not use mold, it produces broken binaries
|
||||
substituteInPlace .cargo/config.toml --replace-fail mold gold
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
pkg-config
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
autoPatchelfHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
desktopToDarwinBundle
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
shaderc
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib
|
||||
udev
|
||||
libxcb
|
||||
libxkbcommon
|
||||
shaderc
|
||||
stdenv.cc.cc # libgcc_s.so.1
|
||||
];
|
||||
|
||||
@@ -92,7 +107,7 @@ rustPlatform.buildRustPackage {
|
||||
# Some tests require internet access
|
||||
doCheck = false;
|
||||
|
||||
appendRunpaths = [
|
||||
appendRunpaths = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
(lib.makeLibraryPath (
|
||||
[
|
||||
libx11
|
||||
@@ -113,6 +128,7 @@ rustPlatform.buildRustPackage {
|
||||
install -Dm644 assets/voxygen/net.veloren.veloren.desktop -t "$out/share/applications"
|
||||
install -Dm644 assets/voxygen/net.veloren.veloren.png -t "$out/share/icons/hicolor/256x256/apps"
|
||||
install -Dm644 assets/voxygen/net.veloren.veloren.metainfo.xml -t "$out/share/metainfo"
|
||||
|
||||
# Assets directory
|
||||
mkdir -p "$out/share/veloren"; cp -ar assets "$out/share/veloren/"
|
||||
'';
|
||||
@@ -122,9 +138,10 @@ rustPlatform.buildRustPackage {
|
||||
homepage = "https://www.veloren.net";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "veloren-voxygen";
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [
|
||||
rnhmjoj
|
||||
philocalyst
|
||||
tomodachi94
|
||||
];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user