Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 101 lines 1.7 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 nixosTests, 6 cmake, 7 meson, 8 ninja, 9 pkg-config, 10 wf-config, 11 cairo, 12 doctest, 13 libGL, 14 libdrm, 15 libexecinfo, 16 libevdev, 17 libinput, 18 libjpeg, 19 libxkbcommon, 20 wayland, 21 wayland-protocols, 22 wayland-scanner, 23 wlroots, 24 pango, 25 nlohmann_json, 26 xorg, 27}: 28 29stdenv.mkDerivation (finalAttrs: { 30 pname = "wayfire"; 31 version = "0.9.0"; 32 33 src = fetchFromGitHub { 34 owner = "WayfireWM"; 35 repo = "wayfire"; 36 rev = "v${finalAttrs.version}"; 37 fetchSubmodules = true; 38 hash = "sha256-xQZ4/UE66IISZQLl702OQXAAr8XmEsA4hJwB7aXua+E="; 39 }; 40 41 nativeBuildInputs = [ 42 meson 43 ninja 44 pkg-config 45 wayland-scanner 46 ]; 47 48 buildInputs = [ 49 libGL 50 libdrm 51 libexecinfo 52 libevdev 53 libinput 54 libjpeg 55 libxkbcommon 56 wayland-protocols 57 xorg.xcbutilwm 58 nlohmann_json 59 ]; 60 61 propagatedBuildInputs = [ 62 wf-config 63 wlroots 64 wayland 65 cairo 66 pango 67 ]; 68 69 nativeCheckInputs = [ 70 cmake 71 doctest 72 ]; 73 74 # CMake is just used for finding doctest. 75 dontUseCmakeConfigure = true; 76 77 doCheck = true; 78 79 mesonFlags = [ 80 "--sysconfdir /etc" 81 "-Duse_system_wlroots=enabled" 82 "-Duse_system_wfconfig=enabled" 83 (lib.mesonEnable "wf-touch:tests" (stdenv.buildPlatform.canExecute stdenv.hostPlatform)) 84 ]; 85 86 passthru.providedSessions = [ "wayfire" ]; 87 88 passthru.tests.mate = nixosTests.mate-wayland; 89 90 meta = { 91 homepage = "https://wayfire.org/"; 92 description = "3D Wayland compositor"; 93 license = lib.licenses.mit; 94 maintainers = with lib.maintainers; [ 95 wucke13 96 rewine 97 ]; 98 platforms = lib.platforms.unix; 99 mainProgram = "wayfire"; 100 }; 101})