Skip to content

Commit

Permalink
feat(nix): added fake-udev derivation
Browse files Browse the repository at this point in the history
  • Loading branch information
cliarena committed Mar 7, 2024
1 parent 7ef0e0c commit 5c0debb
Showing 1 changed file with 75 additions and 9 deletions.
84 changes: 75 additions & 9 deletions nix/wolf.nix
Original file line number Diff line number Diff line change
@@ -1,13 +1,83 @@
{ pkgs, self, deps, ... }:
pkgs.stdenv.mkDerivation {
let
fake-udev = pkgs.stdenv.mkDerivation {
pname = "fake-udev";
version = "1.0";
src = self;

nativeBuildInputs = with pkgs; [ cmake pkg-config ninja autoPatchelfHook ];

buildInputs = with pkgs; [
glibc.static
deps.gst-wayland-display
wayland
icu
pciutils
git
range-v3
elfutils
libinput
libxkbcommon
pcre2
libunwind
orc
libdrm
boost175
gst_all_1.gstreamer
# Common plugins like "filesrc" to combine within e.g. gst-launch
gst_all_1.gst-plugins-base
# Specialized plugins separated by quality
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
# Plugins to reuse ffmpeg to play almost every video format
gst_all_1.gst-libav
# Support the Video Audio (Hardware) Acceleration API
gst_all_1.gst-vaapi
libevdev
libpulseaudio
openssl
curl
];

cmakeFlags = [
"-DFETCHCONTENT_SOURCE_DIR_IMMER=${deps.immer_src}"
"-DFETCHCONTENT_SOURCE_DIR_EVENTBUS=${deps.eventbus_src}"
"-DFETCHCONTENT_SOURCE_DIR_BOOST_JSON=${deps.boost-json_src}"
"-DFETCHCONTENT_SOURCE_DIR_RANGE=${deps.range_src}"
"-DFETCHCONTENT_SOURCE_DIR_FMTLIB=${deps.fmtlib_src}"
"-DFETCHCONTENT_SOURCE_DIR_NANORS=${deps.nanors_src}"
"-DFETCHCONTENT_SOURCE_DIR_PEGLIB=${deps.peglib_src}"
"-DFETCHCONTENT_SOURCE_DIR_SIMPLEWEBSERVER=${deps.simplewebserver_src}"
"-DFETCHCONTENT_SOURCE_DIR_TOML=${deps.toml_src}"
"-DFETCHCONTENT_SOURCE_DIR_ENET=${deps.enet_src}"
"-DFETCHCONTENT_SOURCE_DIR_CPPTRACE=${deps.cpptrace_src}"
"-DFETCHCONTENT_SOURCE_DIR_LIBDWARF=${deps.libdwarf_src}"
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_CXX_STANDARD=17"
"-DCMAKE_CXX_EXTENSIONS=OFF"
"-DBUILD_SHARED_LIBS=OFF"
"-DBUILD_FAKE_UDEV_CLI=ON"
"-DBUILD_TESTING=OFF"
"-G Ninja"
];
buildPhase = ''
ninja fake-udev
'';
installPhase = ''
mkdir -p $out/bin
cp ./src/fake-udev/fake-udev $out/bin/fake-udev
'';
};
in pkgs.stdenv.mkDerivation {
pname = "wolf";
version = "1.0";
src = self;
patches = [ ];

nativeBuildInputs = with pkgs; [ cmake pkg-config ninja wrapGAppsHook];
nativeBuildInputs = with pkgs; [ cmake pkg-config ninja wrapGAppsHook ];

buildInputs = with pkgs; [
fake-udev
deps.gst-wayland-display
wayland
icu
Expand Down Expand Up @@ -66,16 +136,12 @@ pkgs.stdenv.mkDerivation {
"-G Ninja"
];
buildPhase = ''
# mkdir -p $out/bin
ninja wolf
# ninja fake-udev
# cp -r $src/src $out/bin
# cp ./src/moonlight-server/wolf $out/bin/wolf
'';
installPhase = ''
mkdir -p $out/bin
# cp -r $src/src $out/bin
cp ./src/moonlight-server/wolf $out/bin/wolf
# cp ./src/fake-udev/fake-udev $out/bin/fake-udev
'';
postPatch = ''
substituteInPlace src/moonlight-server/runners/docker.hpp --replace '"WOLF_DOCKER_FAKE_UDEV_PATH", ""' '"WOLF_DOCKER_FAKE_UDEV_PATH", "${fake-udev}/bin/fake-udev"' '';
}

0 comments on commit 5c0debb

Please sign in to comment.