1{
2 buildGoModule,
3 fetchFromGitHub,
4 lib,
5 libjpeg,
6 nix-update-script,
7 obs-studio,
8}:
9
10buildGoModule rec {
11 pname = "obs-teleport";
12 version = "0.7.4";
13
14 src = fetchFromGitHub {
15 owner = "fzwoch";
16 repo = "obs-teleport";
17 rev = version;
18 sha256 = "sha256-mHHPlmUyR9NDdQHqw1YNgThGl/8DH/aiCE9rdZhrIK4=";
19 };
20
21 vendorHash = "sha256-U/5smUMpcVEFWB+xMxLKF9E6N7dyh67QoB+Afq5Ga2Q=";
22
23 buildInputs = [
24 libjpeg
25 obs-studio
26 ];
27
28 ldflags = [
29 "-s"
30 "-w"
31 ];
32
33 CGO_CFLAGS = "-I${obs-studio}/include/obs";
34 CGO_LDFLAGS = "-L${obs-studio}/lib -lobs -lobs-frontend-api";
35
36 buildPhase = ''
37 runHook preBuild
38
39 go build -buildmode=c-shared -o obs-teleport.so .
40
41 runHook postBuild
42 '';
43
44 postInstall = ''
45 mkdir -p $out/lib/obs-plugins
46 mv obs-teleport.so $out/lib/obs-plugins
47 '';
48
49 passthru.updateScript = nix-update-script { };
50
51 meta = {
52 description = "OBS Studio plugin for an open NDI-like replacement";
53 homepage = "https://github.com/fzwoch/obs-teleport";
54 maintainers = [ ];
55 license = lib.licenses.gpl2Plus;
56 platforms = obs-studio.meta.platforms;
57 };
58}