79 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  stdenv,
 | 
						|
  fetchurl,
 | 
						|
  autoPatchelfHook,
 | 
						|
  zlib,
 | 
						|
  glib,
 | 
						|
  harfbuzz,
 | 
						|
  fontconfig,
 | 
						|
  freetype,
 | 
						|
  dbus,
 | 
						|
  libunwind,
 | 
						|
  gst_all_1,
 | 
						|
  xorg,
 | 
						|
  libxkbcommon,
 | 
						|
  vulkan-loader,
 | 
						|
}:
 | 
						|
stdenv.mkDerivation rec {
 | 
						|
  pname = "servo";
 | 
						|
  version = "2024-04-12";
 | 
						|
 | 
						|
  src = fetchurl {
 | 
						|
    url = "https://github.com/servo/servo-nightly-builds/releases/download/${version}/servo-latest.tar.gz";
 | 
						|
    hash = "sha256-sMqjnFrJvlu3Dck/HdyKVzqMZxvMatlt9/5cHqzjusI=";
 | 
						|
  };
 | 
						|
 | 
						|
  nativeBuildInputs = [
 | 
						|
    autoPatchelfHook
 | 
						|
  ];
 | 
						|
 | 
						|
  buildInputs =
 | 
						|
    [
 | 
						|
      stdenv.cc.cc.lib
 | 
						|
      zlib
 | 
						|
      glib
 | 
						|
      harfbuzz
 | 
						|
      fontconfig
 | 
						|
      freetype
 | 
						|
      dbus
 | 
						|
      libunwind
 | 
						|
    ]
 | 
						|
    ++ (with gst_all_1; [
 | 
						|
      gstreamer
 | 
						|
      gst-plugins-base
 | 
						|
      gst-plugins-bad
 | 
						|
    ])
 | 
						|
    ++ (with xorg; [
 | 
						|
      libxcb
 | 
						|
      libX11
 | 
						|
    ]);
 | 
						|
 | 
						|
  runtimeDependencies =
 | 
						|
    [
 | 
						|
      libxkbcommon
 | 
						|
      vulkan-loader
 | 
						|
    ]
 | 
						|
    ++ (with xorg; [
 | 
						|
      libXcursor
 | 
						|
      libXrandr
 | 
						|
      libXi
 | 
						|
    ]);
 | 
						|
 | 
						|
  sourceRoot = "servo";
 | 
						|
 | 
						|
  installPhase = ''
 | 
						|
    runHook preInstall
 | 
						|
    install -m755 -D servo $out/bin/._servo
 | 
						|
    echo "WINIT_UNIX_BACKEND=x11 $out/bin/._servo" > $out/bin/servo
 | 
						|
    chmod +x $out/bin/servo
 | 
						|
    cp -r ./resources $out/bin/
 | 
						|
    runHook postInstall
 | 
						|
  '';
 | 
						|
 | 
						|
  meta = with lib; {
 | 
						|
    homepage = "https://servo.org";
 | 
						|
    description = "The embeddable, independent, memory-safe, modular, parallel web rendering engine";
 | 
						|
    platforms = platforms.linux;
 | 
						|
  };
 | 
						|
}
 |