mirror of
https://github.com/marcoallegretti/WEFT_OS.git
synced 2026-03-26 17:03:09 +00:00
- weft-packages.nix: add weft-servo-shell and weft-app-shell with servo-embed feature; real sha256 hashes for servo (8e7dc40) and stylo (dca3934) git deps computed via nix-prefetch-git; add clang/cmake/python3 as native build inputs for servo packages; set LIBCLANG_PATH; disable doCheck for VM builds - configuration.nix: import virtualisation/qemu-vm.nix for system.build.vm; replace hardware.opengl with hardware.graphics (NixOS 24.11); add weft-servo-shell systemd user service; add servo-shell/app-shell/pack to environment packages - infra/vm/build.sh: switch to system.build.vm target (qcow2 attribute not provided by default NixOS modules) - infra/vm/run.sh: invoke the VM script produced by system.build.vm
90 lines
2.4 KiB
Nix
90 lines
2.4 KiB
Nix
{ pkgs, ... }:
|
|
|
|
let
|
|
src = ../..;
|
|
|
|
cargoLock = {
|
|
lockFile = ../../Cargo.lock;
|
|
outputHashes = {
|
|
"servo-0.0.1" = "0b803qankr0rs4hi0md26dydf2cvpd6v5x2bxxypzsga0jwfdd26";
|
|
"selectors-0.36.0" = "1x5g61cadq700yhl1wwrjd043grlpdviqqn4n9cm5k68gbx0if81";
|
|
};
|
|
};
|
|
|
|
commonArgs = {
|
|
inherit src cargoLock;
|
|
version = "0.1.0";
|
|
nativeBuildInputs = with pkgs; [ pkg-config ];
|
|
};
|
|
|
|
mkWeftPkg = { pname, extraBuildInputs ? [], extraNativeBuildInputs ? [], cargoFlags ? [], extraEnv ? {} }: pkgs.rustPlatform.buildRustPackage (commonArgs // {
|
|
inherit pname;
|
|
cargoBuildFlags = [ "--package" pname ] ++ cargoFlags;
|
|
cargoTestFlags = [ "--package" pname ];
|
|
buildInputs = extraBuildInputs;
|
|
nativeBuildInputs = commonArgs.nativeBuildInputs ++ extraNativeBuildInputs;
|
|
env = extraEnv;
|
|
doCheck = false;
|
|
});
|
|
|
|
in {
|
|
weft-compositor = mkWeftPkg {
|
|
pname = "weft-compositor";
|
|
extraBuildInputs = with pkgs; [
|
|
libdrm mesa wayland libxkbcommon libseat udev dbus libGL
|
|
];
|
|
extraNativeBuildInputs = with pkgs; [ wayland-scanner ];
|
|
};
|
|
|
|
weft-servo-shell = mkWeftPkg {
|
|
pname = "weft-servo-shell";
|
|
extraBuildInputs = with pkgs; [
|
|
mesa wayland libxkbcommon openssl dbus udev libGL
|
|
];
|
|
extraNativeBuildInputs = with pkgs; [
|
|
pkgs.llvmPackages.clang cmake python3
|
|
];
|
|
cargoFlags = [ "--features" "servo-embed" ];
|
|
extraEnv = {
|
|
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
|
};
|
|
};
|
|
|
|
weft-app-shell = mkWeftPkg {
|
|
pname = "weft-app-shell";
|
|
extraBuildInputs = with pkgs; [
|
|
mesa wayland libxkbcommon openssl dbus udev libGL
|
|
];
|
|
extraNativeBuildInputs = with pkgs; [
|
|
pkgs.llvmPackages.clang cmake python3
|
|
];
|
|
cargoFlags = [ "--features" "servo-embed" ];
|
|
extraEnv = {
|
|
LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib";
|
|
};
|
|
};
|
|
|
|
weft-appd = mkWeftPkg {
|
|
pname = "weft-appd";
|
|
extraBuildInputs = with pkgs; [ openssl ];
|
|
};
|
|
|
|
weft-runtime = mkWeftPkg {
|
|
pname = "weft-runtime";
|
|
extraBuildInputs = with pkgs; [ openssl ];
|
|
cargoFlags = [ "--features" "wasmtime-runtime,net-fetch" ];
|
|
};
|
|
|
|
weft-pack = mkWeftPkg {
|
|
pname = "weft-pack";
|
|
};
|
|
|
|
weft-file-portal = mkWeftPkg {
|
|
pname = "weft-file-portal";
|
|
};
|
|
|
|
weft-mount-helper = mkWeftPkg {
|
|
pname = "weft-mount-helper";
|
|
extraBuildInputs = with pkgs; [ cryptsetup ];
|
|
};
|
|
}
|