servo: init at 0-unstable-2024-09-09
This commit is contained in:
parent
0a7d043398
commit
75d956842c
8766
pkgs/by-name/se/servo/Cargo.lock
generated
Normal file
8766
pkgs/by-name/se/servo/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
155
pkgs/by-name/se/servo/package.nix
Normal file
155
pkgs/by-name/se/servo/package.nix
Normal file
@ -0,0 +1,155 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build deps
|
||||
cargo-deny,
|
||||
cmake,
|
||||
dbus,
|
||||
gcc,
|
||||
git,
|
||||
gnumake,
|
||||
libxkbcommon,
|
||||
llvm,
|
||||
llvmPackages,
|
||||
m4,
|
||||
makeWrapper,
|
||||
perl,
|
||||
pkg-config,
|
||||
python3,
|
||||
taplo,
|
||||
vulkan-loader,
|
||||
which,
|
||||
yasm,
|
||||
zlib,
|
||||
|
||||
# runtime deps
|
||||
darwin,
|
||||
fontconfig,
|
||||
freetype,
|
||||
gst_all_1,
|
||||
libGL,
|
||||
libunwind,
|
||||
udev,
|
||||
wayland,
|
||||
xorg,
|
||||
}:
|
||||
|
||||
let
|
||||
customPython = python3.withPackages (
|
||||
ps: with ps; [
|
||||
dbus
|
||||
packaging
|
||||
pip
|
||||
six
|
||||
virtualenv
|
||||
]
|
||||
);
|
||||
runtimePaths = lib.makeLibraryPath [
|
||||
xorg.libXcursor
|
||||
xorg.libXrandr
|
||||
xorg.libXi
|
||||
libxkbcommon
|
||||
vulkan-loader
|
||||
wayland
|
||||
libGL
|
||||
];
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "servo";
|
||||
version = "0-unstable-2024-09-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "servo";
|
||||
repo = "servo";
|
||||
rev = "938fd8c12fc2489303e12538d3e3585bd771141f";
|
||||
hash = "sha256-CrpEBFYd8Qd0rxSnT81IvtxxEuYG0jWGJeHISvxalyY=";
|
||||
};
|
||||
|
||||
# need to use a `Cargo.lock` as there are git dependencies
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"derive_common-0.0.1" = "sha256-z0I2fQQlbUqaFU1EX45eYDy5IbZJ4SIget7WHzq4St0=";
|
||||
"fontsan-0.5.2" = "sha256-4id66xxQ8iu0+OvJKH77WYPUE0eoVa9oUHmr6lRFPa8=";
|
||||
"gilrs-0.10.6" = "sha256-RIfowFShWTPqgVWliK8Fc4cJw0YKITLvmexmTC0SwQk=";
|
||||
"mozjs-0.14.1" = "sha256-RMM28Rd0r58VLfNEJzjWw3Ze6oKEi5lC1Edv03tJbfY=";
|
||||
"peek-poke-0.3.0" = "sha256-WCZYX68vZrPhaAZwpx9/lUp3bVsLMwtmlJSW8wNb2ks=";
|
||||
"servo-media-0.1.0" = "sha256-+J/6ZJPM9eus6YHJA6ENJD63CBiJTtKZdfORq9n6Nf8=";
|
||||
"signpost-0.1.0" = "sha256-xRVXwW3Gynace9Yk5r1q7xA60yy6xhC5wLAyMJ6rPRs=";
|
||||
"webxr-0.0.1" = "sha256-HZ8oWm5BaBLBXo4dS2CbWjpExry7dzeB2ddRLh7+98w=";
|
||||
"naga-22.0.0" = "sha256-Xi2lWZCv4V2mUbQmwV1aw3pcvIIcyltKvv/C+LVqqDI=";
|
||||
"raqote-0.8.5" = "sha256-WLsz5q08VNmYBxUhQ0hOn0K0RVFnnjaWF/MuQGkO/Rg=";
|
||||
};
|
||||
};
|
||||
|
||||
# Remap absolute path between modules to include SEMVER
|
||||
# set `HOME` to a temp dir for write access
|
||||
# Fix invalid option errors during linking (https://github.com/mozilla/nixpkgs-mozilla/commit/c72ff151a3e25f14182569679ed4cd22ef352328)
|
||||
preConfigure = ''
|
||||
sed -i -e 's/\/style\//\/style-0.0.1\//g' ../cargo-vendor-dir/servo_atoms-0.0.1/build.rs
|
||||
export HOME=$TMPDIR
|
||||
unset AS
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo-deny
|
||||
cmake
|
||||
customPython
|
||||
dbus
|
||||
gcc
|
||||
git
|
||||
gnumake
|
||||
llvm
|
||||
llvmPackages.libstdcxxClang
|
||||
m4
|
||||
makeWrapper
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
taplo
|
||||
which
|
||||
yasm
|
||||
zlib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
freetype
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-ugly
|
||||
libunwind
|
||||
udev
|
||||
wayland
|
||||
libGL
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
] ++ (lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit ]);
|
||||
|
||||
# copy resources into `$out` to be used during runtime
|
||||
# link runtime libraries
|
||||
postFixup = ''
|
||||
mkdir -p $out/resources
|
||||
cp -r ./resources $out/
|
||||
|
||||
wrapProgram $out/bin/servo \
|
||||
--prefix LD_LIBRARY_PATH : ${runtimePaths}
|
||||
'';
|
||||
|
||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||
|
||||
meta = {
|
||||
description = "The embeddable, independent, memory-safe, modular, parallel web rendering engine";
|
||||
homepage = "https://servo.org";
|
||||
license = lib.licenses.mpl20;
|
||||
maintainers = with lib.maintainers; [ supinie ];
|
||||
mainProgram = "servo";
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user