flathub / com.obsproject.Studio

This repository is no longer used to build OBS. Issues should be reported at https://github.com/obsproject/obs-studio
https://github.com/obsproject/obs-studio
29 stars 19 forks source link

How to Install NDI plugin in OBS flatpak version? #59

Closed wolfred24 closed 4 years ago

wolfred24 commented 4 years ago

Hi, i want to install NDI plugin for OBS in flatpak version, there is a way to do it?

TingPing commented 4 years ago

I just packaged it up for you, let me know if it works: https://github.com/flathub/com.obsproject.Studio/wiki/NDI-Support

sunix commented 4 years ago

Hey @TingPing I tried, but

TingPing commented 4 years ago

The label issue is surely just a bug in the plugin or obs.

Avahi does indeed not work inside of flatpak, for now at least, so if that is required I'm not sure there is much that can be done.

sunix commented 4 years ago

@TingPing i have seen stuff using avahi in https://github.com/flathub/org.gnome.Rhythmbox3/pull/8/files wouldn't that work ? I don't see what's the point to package NDI if avahi doesn't work ...

sunix commented 4 years ago

@TingPing after having

NDI discovery seems to work.

sunix commented 4 years ago

about the labels ... it's not a bug in obs or the plugin, it's just that we don't copy the files in the right folder: https://github.com/Palakis/obs-ndi/tree/master/data/locale

TingPing commented 4 years ago

Pushed the Avahi permission.

about the labels ... it's not a bug in obs or the plugin, it's just that we don't copy the files in the right folder: Palakis/obs-ndi:data/locale@master

Hmm, well I don't have time to look into it further but I'd appreciate anything you figure out.

sunix commented 4 years ago

ok for the labels: https://github.com/flathub/com.obsproject.Studio/pull/68 It works well, but it is not very clean as I couldn't copy the files to another folder through the extension ... I am not expert enough with flatpak :/

TingPing commented 4 years ago

No worries, thanks a lot for looking into it!

develroo commented 3 years ago

The Wiki needs updating as he current NDISDK is v5 and fails to install.

Changes in the .json are.


    {
      "name": "ndi-sdk",
      "buildsystem": "simple",
      "build-commands": [
        "tar -xf Install_NDI_SDK_v5_Linux.tar.gz",
        "yes | env PAGER=/dev/null ./Install_NDI_SDK_v5_Linux.sh",
        "install --target-directory=/app/lib/ndi -Dm644 NDI\\ SDK\\ for\\ Linux/lib/x86_64-linux-gnu/*"
      ],
      "sources": [
        {
          "type": "file",
          "path": "Install_NDI_SDK_v5_Linux.tar.gz"
        }

However, as I said the install fails, unknown causes.

flatpak-builder builddir --force-clean com.obsproject.Studio.NDI.json --user --install
Emptying app dir 'builddir'
Downloading sources
Starting build of com.obsproject.Studio.NDI
Cache hit for avahi, skipping build
Cache hit for obs-ndi, skipping build
Cache miss, checking out last cache hit
========================================================================
Building module ndi-sdk in /home/user/devel/git/com.obsproject.Studio/.flatpak-builder/build/ndi-sdk-4
========================================================================
Running: tar -xf Install_NDI_SDK_v5_Linux.tar.gz
Running: yes | env PAGER=/dev/null ./Install_NDI_SDK_v5_Linux.sh
NewTek’s NDI® Software Development Kit (SDK) License Agreement

Please read this document carefully before proceeding. You (the undersigned Licensee) hereby agree to the terms of this NDI® Software Development Kit (SDK) License Agreement (the "License") in order to use the SDK. NewTek, Inc. (“NewTek”) agrees to license you certain rights as set forth herein under these terms.

....

Jan 2020        NDI®  Technology License Agreement

NDI SDK for Linux/
NDI SDK for Linux/logos/
NDI SDK for Linux/logos/NDI Intro.mp4
NDI SDK for Linux/logos/NDI_BlueGrey.ico
NDI SDK for Linux/logos/NDI_FrenchVanilla_Inverted.ico
NDI SDK for Linux/logos/NDI_Red.ico
NDI SDK for Linux/logos/NDI®HX.jpg
NDI SDK for Linux/logos/NDI_Green.ico
NDI SDK for Linux/logos/NDI_Purple_Inverted.ico
NDI SDK for Linux/logos/NDI®HX.png
NDI SDK for Linux/logos/NDI_LightBlue.ico
NDI SDK for Linux/logos/NDI_Peach_Inverted.ico
NDI SDK for Linux/logos/NDI_Sprite.ico
NDI SDK for Linux/logos/NDI_LightBlue_Inverted.ico
NDI SDK for Linux/logos/NDI_Pink.ico
NDI SDK for Linux/logos/NDI_Grey_Inverted.ico
NDI SDK for Linux/logos/NDI®.jpg
NDI SDK for Linux/logos/NDI_BlackCherry_Inverted.ico
NDI SDK for Linux/logos/NDI_BlackCherry.ico
NDI SDK for Linux/logos/NDI_Blue.ico
NDI SDK for Linux/logos/NDI_DarkBlue.ico
NDI SDK for Linux/logos/NDI_Green_Inverted.ico
NDI SDK for Linux/logos/NDI_Blue_Inverted.ico
NDI SDK for Linux/logos/NDI®HX.ai
NDI SDK for Linux/logos/NewTek NDI.png
NDI SDK for Linux/logos/NDI_Pink_Inverted.ico
NDI SDK for Linux/logos/NDI®.png
NDI SDK for Linux/logos/NDI_DarkBlue_Inverted.ico
NDI SDK for Linux/logos/NDI_Magenta_Inverted.ico
NDI SDK for Linux/logos/NDI_Red_Inverted.ico
NDI SDK for Linux/logos/NDI_FrenchVanilla.ico
NDI SDK for Linux/logos/NDI_Peach.ico
NDI SDK for Linux/logos/NDI_DarkGreen_Inverted.ico
NDI SDK for Linux/logos/NDI_Purple.ico
NDI SDK for Linux/logos/NDI_Orange_Inverted.ico
NDI SDK for Linux/logos/NDI_Orange.ico
NDI SDK for Linux/logos/NDI_DarkGreen.ico
NDI SDK for Linux/logos/NDI_Icon_Inverted.ico
NDI SDK for Linux/logos/NDI_BlueGrey_Inverted.ico
NDI SDK for Linux/logos/NDI_Magenta.ico
NDI SDK for Linux/logos/NDI Loop.mp4
NDI SDK for Linux/logos/NDI_Yellow.ico
NDI SDK for Linux/logos/NDI_Icon.ico
NDI SDK for Linux/logos/NDI_Grey.ico
NDI SDK for Linux/logos/NDI_Yellow_Inverted.ico
NDI SDK for Linux/logos/NDI_Sprite_Inverted.ico
NDI SDK for Linux/logos/NDI®.eps
NDI SDK for Linux/logos/NDI®.ai
NDI SDK for Linux/logos/NDI®HX.eps
NDI SDK for Linux/documentation/
NDI SDK for Linux/documentation/Introduction to the NDI SDK.pdf
NDI SDK for Linux/documentation/NDI Brand Guidelines.pdf
NDI SDK for Linux/documentation/NDI SDK Documentation.pdf
NDI SDK for Linux/documentation/NDI Changes.pdf
NDI SDK for Linux/NDI SDK License Agreement.txt
NDI SDK for Linux/include/
NDI SDK for Linux/include/Processing.NDI.Recv.ex.h
NDI SDK for Linux/include/Processing.NDI.Routing.h
NDI SDK for Linux/include/Processing.NDI.Lib.h
NDI SDK for Linux/include/Processing.NDI.Lib.cplusplus.h
NDI SDK for Linux/include/Processing.NDI.structs.h
NDI SDK for Linux/include/Processing.NDI.DynamicLoad.h
NDI SDK for Linux/include/Processing.NDI.utilities.h
NDI SDK for Linux/include/Processing.NDI.FrameSync.h
NDI SDK for Linux/include/Processing.NDI.Send.h
NDI SDK for Linux/include/Processing.NDI.Recv.h
NDI SDK for Linux/include/Processing.NDI.Find.h
NDI SDK for Linux/include/Processing.NDI.compat.h
NDI SDK for Linux/include/Processing.NDI.deprecated.h
NDI SDK for Linux/NDI SDK License Agreement.pdf
NDI SDK for Linux/bin/
NDI SDK for Linux/bin/i686-linux-gnu/
NDI SDK for Linux/bin/i686-linux-gnu/ndi-directory-service
NDI SDK for Linux/bin/i686-linux-gnu/ndi-record
NDI SDK for Linux/bin/i686-linux-gnu/ndi-benchmark
NDI SDK for Linux/bin/arm-rpi1-linux-gnueabihf/
NDI SDK for Linux/bin/arm-rpi1-linux-gnueabihf/ndi-directory-service
NDI SDK for Linux/bin/arm-rpi1-linux-gnueabihf/ndi-record
NDI SDK for Linux/bin/arm-rpi1-linux-gnueabihf/ndi-benchmark
NDI SDK for Linux/bin/x86_64-linux-gnu/
NDI SDK for Linux/bin/x86_64-linux-gnu/ndi-directory-service
NDI SDK for Linux/bin/x86_64-linux-gnu/ndi-record
NDI SDK for Linux/bin/x86_64-linux-gnu/ndi-benchmark
NDI SDK for Linux/bin/arm-rpi3-linux-gnueabihf/
NDI SDK for Linux/bin/arm-rpi3-linux-gnueabihf/ndi-directory-service
NDI SDK for Linux/bin/arm-rpi3-linux-gnueabihf/ndi-record
NDI SDK for Linux/bin/arm-rpi3-linux-gnueabihf/ndi-benchmark
NDI SDK for Linux/bin/arm-rpi2-linux-gnueabihf/
NDI SDK for Linux/bin/arm-rpi2-linux-gnueabihf/ndi-directory-service
NDI SDK for Linux/bin/arm-rpi2-linux-gnueabihf/ndi-record
NDI SDK for Linux/bin/arm-rpi2-linux-gnueabihf/ndi-benchmark
NDI SDK for Linux/lib/
NDI SDK for Linux/lib/i686-linux-gnu/
NDI SDK for Linux/lib/i686-linux-gnu/libndi.so.5.0.3
NDI SDK for Linux/lib/arm-rpi1-linux-gnueabihf/
NDI SDK for Linux/lib/arm-rpi1-linux-gnueabihf/libndi.so.5.0.3
NDI SDK for Linux/lib/x86_64-linux-gnu/
NDI SDK for Linux/lib/x86_64-linux-gnu/libndi.so.5.0.3
NDI SDK for Linux/lib/arm-rpi3-linux-gnueabihf/
NDI SDK for Linux/lib/arm-rpi3-linux-gnueabihf/libndi.so.5.0.3
NDI SDK for Linux/lib/arm-rpi2-linux-gnueabihf/
NDI SDK for Linux/lib/arm-rpi2-linux-gnueabihf/libndi.so.5.0.3
NDI SDK for Linux/Version.txt
NDI SDK for Linux/examples/
NDI SDK for Linux/examples/C++/
NDI SDK for Linux/examples/C++/NDIlib_Send_Capabilities/
NDI SDK for Linux/examples/C++/NDIlib_Send_Capabilities/NDIlib_Send_Capabilities.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Benchmark_8K/
NDI SDK for Linux/examples/C++/NDIlib_Send_Benchmark_8K/NDIlib_Send_Benchmark_8K.cpp
NDI SDK for Linux/examples/C++/NDIlib_Tally_Echo/
NDI SDK for Linux/examples/C++/NDIlib_Tally_Echo/rapidxml/
NDI SDK for Linux/examples/C++/NDIlib_Tally_Echo/rapidxml/rapidxml_print.hpp
NDI SDK for Linux/examples/C++/NDIlib_Tally_Echo/rapidxml/rapidxml.hpp
NDI SDK for Linux/examples/C++/NDIlib_Tally_Echo/NDIlib_Tally_Echo.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_PTZ/
NDI SDK for Linux/examples/C++/NDIlib_Recv_PTZ/NDIlib_Recv_PTZ.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_PNG/
NDI SDK for Linux/examples/C++/NDIlib_Send_PNG/picopng.hpp
NDI SDK for Linux/examples/C++/NDIlib_Send_PNG/NDIlib_Send_PNG.cpp
NDI SDK for Linux/examples/C++/NDIlib_Routing/
NDI SDK for Linux/examples/C++/NDIlib_Routing/NDIlib_Routing.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Video_Async/
NDI SDK for Linux/examples/C++/NDIlib_Send_Video_Async/NDIlib_Send_Video_Async.cpp
NDI SDK for Linux/examples/C++/NDIlib_Find/
NDI SDK for Linux/examples/C++/NDIlib_Find/NDIlib_Find.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Audio_16bpp/
NDI SDK for Linux/examples/C++/NDIlib_Send_Audio_16bpp/NDIlib_Send_Audio_16bpp.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_10bit/
NDI SDK for Linux/examples/C++/NDIlib_Send_10bit/NDIlib_Send_10bit.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_16bit/
NDI SDK for Linux/examples/C++/NDIlib_Send_16bit/NDIlib_Send_16bit.cpp
NDI SDK for Linux/examples/C++/NDIlib_DynamicLoad/
NDI SDK for Linux/examples/C++/NDIlib_DynamicLoad/NDIlib_DynamicLoad.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_FrameSync/
NDI SDK for Linux/examples/C++/NDIlib_Recv_FrameSync/NDIlib_Recv_FrameSync.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_VirtualPTZ/
NDI SDK for Linux/examples/C++/NDIlib_Send_VirtualPTZ/rapidxml/
NDI SDK for Linux/examples/C++/NDIlib_Send_VirtualPTZ/rapidxml/rapidxml_print.hpp
NDI SDK for Linux/examples/C++/NDIlib_Send_VirtualPTZ/rapidxml/rapidxml.hpp
NDI SDK for Linux/examples/C++/NDIlib_Send_VirtualPTZ/NDIlib_Send_VirtualPTZ.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Video_Advanced/
NDI SDK for Linux/examples/C++/NDIlib_Send_Video_Advanced/NDIlib_Send_Video_Advanced.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Video_and_Audio/
NDI SDK for Linux/examples/C++/NDIlib_Send_Video_and_Audio/NDIlib_Send_Video_and_Audio.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_Multichannel/
NDI SDK for Linux/examples/C++/NDIlib_Recv_Multichannel/NDIlib_Recv_Multichannel.cpp
NDI SDK for Linux/examples/C++/Makefile.proj
NDI SDK for Linux/examples/C++/Makefile
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/NDIlib_Send_BMD.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIConfiguration_v10_2.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v9_9.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v7_6.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v10_4.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIConfiguration_v10_4.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v9_2.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIVersion.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v10_6.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIDiscovery.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIDispatch.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIConfiguration_v10_9.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIDeckControl.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v7_1.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/LinuxCOM.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPITypes.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIConfiguration_v10_5.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIDispatch_v10_8.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v8_0.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIModes.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v7_3.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIDispatch_v7_6.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v10_5.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v10_9.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIDispatch_v8_0.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v7_9.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v10_2.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPI_v8_1.h
NDI SDK for Linux/examples/C++/NDIlib_Send_BMD/BMDSDK/Linux/include/DeckLinkAPIConfiguration.h
NDI SDK for Linux/examples/C++/NDIlib_Recv_FrameSync_resend/
NDI SDK for Linux/examples/C++/NDIlib_Recv_FrameSync_resend/NDIlib_Recv_FrameSync_resend.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Video/
NDI SDK for Linux/examples/C++/NDIlib_Send_Video/NDIlib_Send_Video.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_WebControl/
NDI SDK for Linux/examples/C++/NDIlib_Recv_WebControl/NDIlib_Recv_WebControl.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Latency/
NDI SDK for Linux/examples/C++/NDIlib_Send_Latency/NDIlib_Send_Latency.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_PNG/
NDI SDK for Linux/examples/C++/NDIlib_Recv_PNG/LodePNG/
NDI SDK for Linux/examples/C++/NDIlib_Recv_PNG/LodePNG/lodepng.h
NDI SDK for Linux/examples/C++/NDIlib_Recv_PNG/LodePNG/lodepng.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_PNG/NDIlib_Recv_PNG.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv/
NDI SDK for Linux/examples/C++/NDIlib_Recv/NDIlib_Recv.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Audio/
NDI SDK for Linux/examples/C++/NDIlib_Send_Audio/NDIlib_Send_Audio.cpp
NDI SDK for Linux/examples/C++/NDIlib_Send_Benchmark/
NDI SDK for Linux/examples/C++/NDIlib_Send_Benchmark/NDIlib_Send_Benchmark.cpp
NDI SDK for Linux/examples/C++/NDIlib_Recv_Audio_16bpp/
NDI SDK for Linux/examples/C++/NDIlib_Recv_Audio_16bpp/NDIlib_Recv_Audio_16bpp.cpp
NDI SDK for Linux/licenses/
NDI SDK for Linux/licenses/libndi_licenses.txt
yes: standard output: Broken pipe
Running: install --target-directory=/app/lib/ndi -Dm644 NDI\ SDK\ for\ Linux/lib/x86_64-linux-gnu/*
Committing stage build-ndi-sdk to cache
Cleaning up
Committing stage cleanup to cache
Finishing app
Please review the exported files and the metadata
Committing stage finish to cache
Exporting com.obsproject.Studio.NDI to repo
Commit: 28e38f967b1c01d9ef7996c87a82793be060f90bfcc44cd3e211586056b71f25
Metadata Total: 7
Metadata Written: 2
Content Total: 18
Content Written: 0
Content Bytes Written: 0 (0 bytes)
Installing runtime/com.obsproject.Studio.NDI/x86_64/stable
Error: Failed to install com.obsproject.Studio.NDI: While trying to checkout 28e38f967b1c01d9ef7996c87a82793be060f90bfcc44cd3e211586056b71f25 into /home/user/.local/share/flatpak/runtime/com.obsproject.Studio.NDI/x86_64/stable/.28e38f967b1c01d9ef7996c87a82793be060f90bfcc44cd3e211586056b71f25-1OID70: Opening content object 7cf501f35dbe82f57bd3665f8c7d8bcfc1756b3643431682ed8235607fd554b3: fgetxattr(user.ostreemeta): No data available
Install failed: Child process exited with code 1
sunix commented 3 years ago

@develroo maybe worth opening a new issue

pierreavizou commented 2 years ago

A bit out of the blue but I managed to make it work without going through the download on NewTek's website. That's what I did to add NDI support to OBS 27.1.3 ~27.2.0-beta1, should work for stable as well~:

I had to build it against the latest stable version (27.1.3) of OBS to make it actually show up in the interface (updated obs source url in the manisfest) ~Note you might want to replace 'beta' with 'stable' if you're on the stable branch~

{
  "id": "com.obsproject.Studio.NDI",
  "branch": "stable",
  "runtime": "com.obsproject.Studio",
  "runtime-version": "stable",
  "sdk": "org.kde.Sdk//5.15-21.08",
  "build-extension": true,
  "separate-locales": false,
  "appstream-compose": false,
  "modules": [
    {
      "name": "avahi",
      "no-make-install": true,
      "config-opts": [
        "--with-distro=none",
        "--disable-qt3",
        "--disable-qt4",
        "--disable-qt5",
        "--disable-gtk",
        "--disable-gtk3",
        "--disable-glib",
        "--disable-gobject",
        "--disable-python",
        "--disable-mono",
        "--disable-monodoc",
        "--disable-libevent",
        "--disable-libdaemon",
        "--disable-dbm",
        "--disable-gdbm",
        "--disable-manpages",
        "--libdir=/app/lib/ndi",
        "--includedir=/app/lib/ndi/include"
      ],
      "post-install": [
        "make -C avahi-common install",
        "make -C avahi-client install",
        "rm -r /app/lib/ndi/include /app/lib/ndi/*.{a,la}"
      ],
      "sources": [
        {
          "type": "archive",
          "url": "https://github.com/lathiat/avahi/releases/download/v0.8/avahi-0.8.tar.gz",
          "sha256": "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda"
        }
      ]
    },
    {
      "name": "obs-ndi",
      "buildsystem": "cmake-ninja",
      "no-make-install": true,
      "config-opts": [
        "-DLIBOBS_INCLUDE_DIR=./obs-source/libobs"
      ],
      "post-install": [
        "install -Dm644 obs-ndi.so /app/lib/ndi/obs-ndi.so",
        "cp -r data/locale /app/lib/ndi/locale"
      ],
      "sources": [
        {
          "type": "archive",
          "url": "https://github.com/Palakis/obs-ndi/archive/4.9.1.tar.gz",
          "sha256": "25ada71fef14b23fa03a0a5bcce87e36161f4f2488f34aa256634e5973d8e66b"
        },
        {
          "type": "archive",
          "//": "It needs a copy of the source for some cmake files, its easier to just download again",
          "url": "https://github.com/obsproject/obs-studio/archive/27.1.3.tar.gz",
          "sha256": "4dfdb018b33ec0a90eb3a7e5a174afd58d52d583990680264afedf678961db1d",
          "dest": "obs-source"
        },
        {
          "type": "shell",
          "commands": [
            "# The NDILIB_REDIST_FOLDER env var doesn't work?",
            "sed -i 's|/usr/lib|/app/lib/ndi|' src/obs-ndi.cpp"
          ]
        }
      ]
    },
    {
      "name": "ndi-sdk",
      "buildsystem": "simple",
      "build-commands": [
        "tar -xf data.tar.xz",
        "install --target-directory=/app/lib/ndi -Dm644 usr/lib/*"
      ],
      "sources": [
      {
          "type": "file",
          "path": "data.tar.xz"
        }
      ]
    }
  ]
}