GitHub CI: download NDI directly from NewTek

and build it unconditionaly.
This commit is contained in:
Martin Pulec
2022-01-11 09:50:14 +01:00
parent ac6ffee02a
commit 8645e4bcb4
6 changed files with 62 additions and 39 deletions

View File

@@ -76,18 +76,17 @@ if [ -n "$SDK_URL" ]; then
fi
# Install NDI
if [ -n "$SDK_URL" ]; then
if curl -f -S $SDK_URL/NDISDK_Linux.tar.gz -O; then
tar -C /var/tmp -xzf NDISDK_Linux.tar.gz
yes | PAGER=cat /var/tmp/Install*NDI*sh
sudo cp -r NDI\ SDK\ for\ Linux/include/* /usr/local/include
cat NDI\ SDK\ for\ Linux/Version.txt | sed 's/\(.*\)/\#define NDI_VERSION \"\1\"/' | sudo tee /usr/local/include/ndi_version.h
sudo cp -r NDI\ SDK\ for\ Linux/lib/x86_64-linux-gnu/* /usr/local/lib
FEATURES="${FEATURES:+$FEATURES }--enable-ndi"
echo "FEATURES=$FEATURES" >> $GITHUB_ENV
sudo ldconfig
fi
fi
install_ndi() {
(
cd /var/tmp
tar -xzf Install_NDI_SDK_Linux.tar.gz
yes | PAGER=cat ./Install*NDI*sh
sudo cp -r NDI\ SDK\ for\ Linux/include/* /usr/local/include
cat NDI\ SDK\ for\ Linux/Version.txt | sed 's/\(.*\)/\#define NDI_VERSION \"\1\"/' | sudo tee /usr/local/include/ndi_version.h
sudo cp -r NDI\ SDK\ for\ Linux/lib/x86_64-linux-gnu/* /usr/local/lib
sudo ldconfig
)
}
# Install live555
git clone https://github.com/xanview/live555/
@@ -98,6 +97,8 @@ make -j $(nproc) CPLUSPLUS_COMPILER="c++ -DXLOCALE_NOT_USED"
sudo make install
cd ..
install_ndi
# Install cross-platform deps
$GITHUB_WORKSPACE/.github/scripts/install-common-deps.sh

View File

@@ -18,19 +18,12 @@ Start-Process -FilePath .\XIMEA_API_Installer.exe -ArgumentList "/S /SecXiApi=ON
Remove-Item XIMEA_API_Installer.exe
# Install NDI
if (${env:SDK_URL}) {
try {
Invoke-WebRequest ${env:SDK_URL}/NDI_SDK.exe -OutFile C:\ndi.exe
# TODO: NDI installer opens a manual in a browser and doesn't end, thus StartProcess with -Wait
# waits infinitely. Therefore, there is a hack with Sleep (and not removint the installer)
#Start-Process -FilePath "C:\ndi.exe" -ArgumentList "/VERYSILENT" -Wait -NoNewWindow
Start-Process -FilePath "C:\ndi.exe" -ArgumentList "/VERYSILENT"
Sleep 10
$sdk=(dir "C:\Program Files\NDI" -Filter *SDK -Name)
echo "C:\Program Files\NDI\$sdk\Bin\x64" >> ${env:GITHUB_PATH}
#Remove-Item C:\ndi.exe
} catch {
Write-Output "Status Code --- $($_.Exception.Response.StatusCode.Value__) "
}
}
# TODO: NDI installer opens a manual in a browser and doesn't end, thus StartProcess with -Wait
# waits infinitely. Therefore, there is a hack with Sleep (and not removint the installer)
#Start-Process -FilePath "C:\ndi.exe" -ArgumentList "/VERYSILENT" -Wait -NoNewWindow
Start-Process -FilePath "C:\ndi.exe" -ArgumentList "/VERYSILENT"
Sleep 10
$sdk=(dir "C:\Program Files\NDI" -Filter *SDK -Name)
echo "C:\Program Files\NDI\$sdk\Bin\x64" >> ${env:GITHUB_PATH}
#Remove-Item C:\ndi.exe

View File

@@ -20,7 +20,6 @@ if test -d /c/Program\ Files/NDI; then
export CPATH=$CPATH:$NDI_D/Include
export LIBRARY_PATH=$LIBRARY_PATH:$NDI_D/Lib/x64
cat $NDI_D/Version.txt | sed 's/\(.*\)/\#define NDI_VERSION \"\1\"/' | tee /usr/local/include/ndi_version.h
FEATURES="$FEATURES --enable-ndi"
fi
JACK_D=/c/Program\ Files/JACK2

View File

@@ -53,8 +53,8 @@ if [ -d $DELTA_CACHE_INST ]; then
fi
# Install NDI
if [ -f $SDK_NONFREE_PATH/NDISDK_Apple.pkg ]; then
sudo installer -pkg $SDK_NONFREE_PATH/NDISDK_Apple.pkg -target /
install_ndi() {
sudo installer -pkg /private/var/tmp/Install_NDI_SDK_Apple.pkg -target /
sudo mv /Library/NDI\ SDK\ for\ * /Library/NDI
cat /Library/NDI/Version.txt | sed 's/\(.*\)/\#define NDI_VERSION \"\1\"/' | sudo tee /usr/local/include/ndi_version.h
if [ -d /Library/NDI/lib/x64 ]; then # NDI 4
@@ -70,12 +70,10 @@ if [ -f $SDK_NONFREE_PATH/NDISDK_Apple.pkg ]; then
export MY_DYLD_LIBRARY_PATH="${MY_DYLD_LIBRARY_PATH:+$MY_DYLD_LIBRARY_PATH:}$NDI_LIB"
echo "CPATH=$CPATH" >> $GITHUB_ENV
echo "DYLIBBUNDLER_FLAGS=$DYLIBBUNDLER_FLAGS" >> $GITHUB_ENV
FEATURES="$FEATURES --enable-ndi"
echo "FEATURES=$FEATURES" >> $GITHUB_ENV
echo "LIBRARY_PATH=$LIBRARY_PATH" >> $GITHUB_ENV
echo "MY_DYLD_LIBRARY_PATH=$MY_DYLD_LIBRARY_PATH" >> $GITHUB_ENV
cd $TEMP_INST
fi
}
# Install live555
git clone https://github.com/xanview/live555/
@@ -90,6 +88,8 @@ wget --no-verbose https://github.com/Syphon/Syphon-Framework/releases/download/5
unzip Syphon.SDK.5.zip
sudo cp -R 'Syphon SDK 5/Syphon.framework' /Library/Frameworks
install_ndi
# Install cross-platform deps
$GITHUB_WORKSPACE/.github/scripts/install-common-deps.sh