Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 obs-studio, 6 ffmpeg, 7 libjpeg, 8 libimobiledevice, 9 libusbmuxd, 10 libplist, 11 pkg-config, 12}: 13stdenv.mkDerivation (finalAttrs: { 14 pname = "droidcam-obs"; 15 version = "2.4.0"; 16 17 src = fetchFromGitHub { 18 owner = "dev47apps"; 19 repo = "droidcam-obs-plugin"; 20 tag = finalAttrs.version; 21 sha256 = "sha256-rA+EMtAeM2LSUqtiYJt0hHZ85aZ+5bvVUUjIG2LC3pc="; 22 }; 23 24 preBuild = '' 25 mkdir ./build 26 ''; 27 28 buildInputs = [ 29 libjpeg 30 libimobiledevice 31 libusbmuxd 32 libplist 33 obs-studio 34 ffmpeg 35 ]; 36 37 nativeBuildInputs = [ 38 pkg-config 39 ]; 40 41 # Flag reference in regard to: 42 # https://github.com/dev47apps/droidcam-obs-plugin/blob/master/linux/linux.mk 43 makeFlags = [ 44 "ALLOW_STATIC=no" 45 "JPEG_DIR=${lib.getDev libjpeg}" 46 "JPEG_LIB=${lib.getLib libjpeg}/lib" 47 "IMOBILEDEV_DIR=${lib.getDev libimobiledevice}" 48 "IMOBILEDEV_DIR=${lib.getLib libimobiledevice}" 49 "LIBOBS_INCLUDES=${obs-studio}/include/obs" 50 "FFMPEG_INCLUDES=${lib.getLib ffmpeg}" 51 "LIBUSBMUXD=libusbmuxd-2.0" 52 "LIBIMOBILEDEV=libimobiledevice-1.0" 53 ]; 54 55 installPhase = '' 56 runHook preInstall 57 58 mkdir -p $out/share/obs/obs-plugins/droidcam-obs 59 mkdir -p $out/lib/obs-plugins 60 cp build/droidcam-obs.so $out/lib/obs-plugins 61 cp -R ./data/locale $out/share/obs/obs-plugins/droidcam-obs/locale 62 63 runHook postInstall 64 ''; 65 66 doCheck = false; 67 68 meta = { 69 description = "DroidCam OBS"; 70 homepage = "https://github.com/dev47apps/droidcam-obs-plugin"; 71 license = lib.licenses.gpl2Plus; 72 maintainers = with lib.maintainers; [ NotAShelf ]; 73 platforms = lib.platforms.linux; 74 }; 75})