mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
43 lines
1.3 KiB
Nix
43 lines
1.3 KiB
Nix
# This provides a shell with all the necesarry packages required to run mach and build servo
|
|
# NOTE: This does not work offline or for nix-build
|
|
|
|
with import <nixpkgs> {};
|
|
|
|
clangStdenv.mkDerivation rec {
|
|
name = "servo-env";
|
|
|
|
buildInputs = [
|
|
# Native dependencies
|
|
fontconfig freetype openssl libunwind
|
|
xorg.libxcb xlibsWrapper
|
|
|
|
gst_all_1.gstreamer
|
|
gst_all_1.gst-plugins-base
|
|
gst_all_1.gst-plugins-bad
|
|
|
|
rustup
|
|
|
|
# Build utilities
|
|
cmake dbus gcc git pkg-config which llvm autoconf213 perl yasm m4
|
|
(python3.withPackages (ps: with ps; [virtualenv pip dbus]))
|
|
] ++ (lib.optionals stdenv.isDarwin [
|
|
darwin.apple_sdk.frameworks.AppKit
|
|
]);
|
|
|
|
LIBCLANG_PATH = llvmPackages.clang-unwrapped.lib + "/lib/";
|
|
|
|
# Allow cargo to download crates
|
|
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
|
|
|
# Enable colored cargo and rustc output
|
|
TERMINFO = "${ncurses.out}/share/terminfo";
|
|
|
|
# Fix missing libraries errors (those libraries aren't linked against, so we need to dynamically supply them)
|
|
LD_LIBRARY_PATH = lib.makeLibraryPath [ xorg.libXcursor xorg.libXrandr xorg.libXi libxkbcommon ];
|
|
|
|
shellHook = ''
|
|
# Fix invalid option errors during linking
|
|
# https://github.com/mozilla/nixpkgs-mozilla/commit/c72ff151a3e25f14182569679ed4cd22ef352328
|
|
unset AS
|
|
'';
|
|
}
|