diff --git a/CI/before-deploy-osx.sh b/CI/before-deploy-osx.sh deleted file mode 100755 index 690cb8f2e..000000000 --- a/CI/before-deploy-osx.sh +++ /dev/null @@ -1,114 +0,0 @@ -hr() { - echo "───────────────────────────────────────────────────" - echo $1 - echo "───────────────────────────────────────────────────" -} - -# Exit if something fails -set -e - -# Generate file name variables -export GIT_TAG=$(git describe --abbrev=0) -export GIT_HASH=$(git rev-parse --short HEAD) -export FILE_DATE=$(date +%Y-%m-%d.%H-%M-%S) -export FILENAME=$FILE_DATE-$GIT_HASH-$TRAVIS_BRANCH-osx.dmg - -echo "git tag: $GIT_TAG" - -cd ./build - -# Move obslua -hr "Moving OBS LUA" -mv ./rundir/RelWithDebInfo/data/obs-scripting/obslua.so ./rundir/RelWithDebInfo/bin/ - -# Move obspython -hr "Moving OBS Python" -# mv ./rundir/RelWithDebInfo/data/obs-scripting/_obspython.so ./rundir/RelWithDebInfo/bin/ -# mv ./rundir/RelWithDebInfo/data/obs-scripting/obspython.py ./rundir/RelWithDebInfo/bin/ - -# Package everything into a nice .app -hr "Packaging .app" -STABLE=false -if [ -n "${TRAVIS_TAG}" ]; then - STABLE=true -fi - -#sudo python ../CI/install/osx/build_app.py --public-key ../CI/install/osx/OBSPublicDSAKey.pem --sparkle-framework ../../sparkle/Sparkle.framework --stable=$STABLE - -../CI/install/osx/packageApp.sh - -# fix obs outputs plugin it doesn't play nicely with dylibBundler at the moment -if [ -f /usr/local/opt/mbedtls/lib/libmbedtls.12.dylib ]; then - cp /usr/local/opt/mbedtls/lib/libmbedtls.12.dylib ./OBS.app/Contents/Frameworks/ - cp /usr/local/opt/mbedtls/lib/libmbedcrypto.3.dylib ./OBS.app/Contents/Frameworks/ - cp /usr/local/opt/mbedtls/lib/libmbedx509.0.dylib ./OBS.app/Contents/Frameworks/ - chmod +w ./OBS.app/Contents/Frameworks/*.dylib - install_name_tool -id @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Frameworks/libmbedtls.12.dylib - install_name_tool -id @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Frameworks/libmbedcrypto.3.dylib - install_name_tool -id @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Frameworks/libmbedx509.0.dylib - install_name_tool -change libmbedtls.12.dylib @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Plugins/obs-outputs.so - install_name_tool -change libmbedcrypto.3.dylib @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Plugins/obs-outputs.so - install_name_tool -change libmbedx509.0.dylib @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Plugins/obs-outputs.so -elif [ -f /usr/local/opt/mbedtls/lib/libmbedtls.13.dylib ]; then - cp /usr/local/opt/mbedtls/lib/libmbedtls.13.dylib ./OBS.app/Contents/Frameworks/ - cp /usr/local/opt/mbedtls/lib/libmbedcrypto.5.dylib ./OBS.app/Contents/Frameworks/ - cp /usr/local/opt/mbedtls/lib/libmbedx509.1.dylib ./OBS.app/Contents/Frameworks/ - chmod +w ./OBS.app/Contents/Frameworks/*.dylib - install_name_tool -id @executable_path/../Frameworks/libmbedtls.13.dylib ./OBS.app/Contents/Frameworks/libmbedtls.13.dylib - install_name_tool -id @executable_path/../Frameworks/libmbedcrypto.5.dylib ./OBS.app/Contents/Frameworks/libmbedcrypto.5.dylib - install_name_tool -id @executable_path/../Frameworks/libmbedx509.1.dylib ./OBS.app/Contents/Frameworks/libmbedx509.1.dylib - install_name_tool -change libmbedtls.13.dylib @executable_path/../Frameworks/libmbedtls.13.dylib ./OBS.app/Contents/Plugins/obs-outputs.so - install_name_tool -change libmbedcrypto.5.dylib @executable_path/../Frameworks/libmbedcrypto.5.dylib ./OBS.app/Contents/Plugins/obs-outputs.so - install_name_tool -change libmbedx509.1.dylib @executable_path/../Frameworks/libmbedx509.1.dylib ./OBS.app/Contents/Plugins/obs-outputs.so -fi - -install_name_tool -change /usr/local/opt/curl/lib/libcurl.4.dylib @executable_path/../Frameworks/libcurl.4.dylib ./OBS.app/Contents/Plugins/obs-outputs.so -install_name_tool -change @rpath/libobs.0.dylib @executable_path/../Frameworks/libobs.0.dylib ./OBS.app/Contents/Plugins/obs-outputs.so -install_name_tool -change /tmp/obsdeps/bin/libjansson.4.dylib @executable_path/../Frameworks/libjansson.4.dylib ./OBS.app/Contents/Plugins/obs-outputs.so - -# copy sparkle into the app -hr "Copying Sparkle.framework" -cp -R ../../sparkle/Sparkle.framework ./OBS.app/Contents/Frameworks/ -install_name_tool -change @rpath/Sparkle.framework/Versions/A/Sparkle @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle ./OBS.app/Contents/MacOS/obs - -# Copy Chromium embedded framework to app Frameworks directory -hr "Copying Chromium Embedded Framework.framework" -sudo mkdir -p OBS.app/Contents/Frameworks -sudo cp -R ../../cef_binary_${CEF_BUILD_VERSION}_macosx64/Release/Chromium\ Embedded\ Framework.framework OBS.app/Contents/Frameworks/ - -install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/Plugins/obs-browser.so -install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Plugins/obs-browser.so -install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/Plugins/obs-browser.so - -cp ../CI/install/osx/OBSPublicDSAKey.pem OBS.app/Contents/Resources - -# edit plist -plutil -insert CFBundleVersion -string $GIT_TAG ./OBS.app/Contents/Info.plist -plutil -insert CFBundleShortVersionString -string $GIT_TAG ./OBS.app/Contents/Info.plist -plutil -insert OBSFeedsURL -string https://obsproject.com/osx_update/feeds.xml ./OBS.app/Contents/Info.plist -plutil -insert SUFeedURL -string https://obsproject.com/osx_update/stable/updates.xml ./OBS.app/Contents/Info.plist -plutil -insert SUPublicDSAKeyFile -string OBSPublicDSAKey.pem ./OBS.app/Contents/Info.plist - -dmgbuild -s ../CI/install/osx/settings.json "OBS" obs.dmg - -if [ -v "$TRAVIS" ]; then - # Signing stuff - hr "Decrypting Cert" - openssl aes-256-cbc -K $encrypted_dd3c7f5e9db9_key -iv $encrypted_dd3c7f5e9db9_iv -in ../CI/osxcert/Certificates.p12.enc -out Certificates.p12 -d - hr "Creating Keychain" - security create-keychain -p mysecretpassword build.keychain - security default-keychain -s build.keychain - security unlock-keychain -p mysecretpassword build.keychain - security set-keychain-settings -t 3600 -u build.keychain - hr "Importing certs into keychain" - security import ./Certificates.p12 -k build.keychain -T /usr/bin/productsign -P "" - # macOS 10.12+ - security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword build.keychain -fi - -cp ./OBS.dmg ./$FILENAME - -# Move to the folder that travis uses to upload artifacts from -hr "Moving package to nightly folder for distribution" -mkdir ../nightly -sudo mv ./$FILENAME ../nightly diff --git a/CI/before-script-osx.sh b/CI/before-script-osx.sh deleted file mode 100755 index fb7b213a0..000000000 --- a/CI/before-script-osx.sh +++ /dev/null @@ -1,17 +0,0 @@ -# Make sure ccache is found -export PATH=/usr/local/opt/ccache/libexec:$PATH - -git fetch --tags - -mkdir build -cd build -cmake -DENABLE_SPARKLE_UPDATER=ON \ --DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 \ --DDISABLE_PYTHON=ON \ --DQTDIR=/usr/local/Cellar/qt/5.14.1 \ --DDepsPath=/tmp/obsdeps \ --DVLCPath=$PWD/../../vlc-3.0.8 \ --DBUILD_BROWSER=ON \ --DBROWSER_DEPLOY=ON \ --DWITH_RTMPS=ON \ --DCEF_ROOT_DIR=$PWD/../../cef_binary_${CEF_BUILD_VERSION}_macosx64 .. diff --git a/CI/install-dependencies-osx.sh b/CI/install-dependencies-osx.sh deleted file mode 100755 index 35e4fb19f..000000000 --- a/CI/install-dependencies-osx.sh +++ /dev/null @@ -1,81 +0,0 @@ -hr() { - echo "───────────────────────────────────────────────────" - echo $1 - echo "───────────────────────────────────────────────────" -} - -# Exit if something fails -set -e - -# Echo all commands before executing -set -v - -if [[ $TRAVIS ]]; then - git fetch --unshallow -fi - -git fetch origin --tags - -# Leave obs-studio folder -cd ../ - -# Install Packages app so we can build a package later -# http://s.sudre.free.fr/Software/Packages/about.html -hr "Downloading Packages app" -wget --quiet --retry-connrefused --waitretry=1 https://s3-us-west-2.amazonaws.com/obs-nightly/Packages.pkg -sudo installer -pkg ./Packages.pkg -target / - -brew update - -#Base OBS Deps and ccache -for DEPENDENCY in jack speexdsp ccache mbedtls freetype fdk-aac cmocka; do - if [ ! -d "$(brew --cellar)/${DEPENDENCY}" ]; then - brew install $DEPENDENCY - else - brew upgrade $DEPENDENCY - fi -done - -brew install https://gist.githubusercontent.com/DDRBoxman/9c7a2b08933166f4b61ed9a44b242609/raw/ef4de6c587c6bd7f50210eccd5bd51ff08e6de13/qt.rb -if [ -d "$(brew --cellar)/swig" ]; then - brew unlink swig -fi -brew install https://gist.githubusercontent.com/DDRBoxman/4cada55c51803a2f963fa40ce55c9d3e/raw/572c67e908bfbc1bcb8c476ea77ea3935133f5b5/swig.rb - -pip install dmgbuild - -export PATH=/usr/local/opt/ccache/libexec:$PATH -ccache -s || echo "CCache is not available." - -# Fetch and untar prebuilt OBS deps that are compatible with older versions of OSX -hr "Downloading OBS deps" -wget --quiet --retry-connrefused --waitretry=1 https://github.com/obsproject/obs-deps/releases/download/2020-04-24/osx-deps-2020-04-24.tar.gz -tar -xf ./osx-deps-2020-04-24.tar.gz -C /tmp - -# Fetch vlc codebase -hr "Downloading VLC repo" -wget --quiet --retry-connrefused --waitretry=1 https://downloads.videolan.org/vlc/3.0.8/vlc-3.0.8.tar.xz -tar -xf vlc-3.0.8.tar.xz - -# Get sparkle -hr "Downloading Sparkle framework" -wget --quiet --retry-connrefused --waitretry=1 -O sparkle.tar.bz2 https://github.com/sparkle-project/Sparkle/releases/download/1.23.0/Sparkle-1.23.0.tar.bz2 -mkdir ./sparkle -tar -xf ./sparkle.tar.bz2 -C ./sparkle -sudo cp -R ./sparkle/Sparkle.framework /Library/Frameworks/Sparkle.framework - -# CEF Stuff -hr "Downloading CEF" -wget --quiet --retry-connrefused --waitretry=1 https://obs-nightly.s3-us-west-2.amazonaws.com/cef_binary_${CEF_BUILD_VERSION}_macosx64.tar.bz2 -tar -xf ./cef_binary_${CEF_BUILD_VERSION}_macosx64.tar.bz2 -cd ./cef_binary_${CEF_BUILD_VERSION}_macosx64 -# remove a broken test -sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt -# target 10.11 -sed -i '.orig' s/\"10.9\"/\"10.11\"/ ./cmake/cef_variables.cmake -mkdir build -cd ./build -cmake -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 .. -make -j4 -mkdir libcef_dll -cd ../../ diff --git a/CI/install/osx/CMakeLists.pkgproj b/CI/install/osx/CMakeLists.pkgproj deleted file mode 100644 index 81f193455..000000000 --- a/CI/install/osx/CMakeLists.pkgproj +++ /dev/null @@ -1,1026 +0,0 @@ - - - - - PACKAGES - - - PACKAGE_FILES - - DEFAULT_INSTALL_LOCATION - / - HIERARCHY - - CHILDREN - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - ../../../build/OBS.app - PATH_TYPE - 3 - PERMISSIONS - 493 - TYPE - 3 - UID - 0 - - - CHILDREN - - GID - 80 - PATH - Utilities - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 80 - PATH - Applications - PATH_TYPE - 0 - PERMISSIONS - 509 - TYPE - 1 - UID - 0 - - - CHILDREN - - - CHILDREN - - - CHILDREN - - - CHILDREN - - - CHILDREN - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - ../../../build/plugins/obs-browser/obs-browser-page - PATH_TYPE - 3 - PERMISSIONS - 493 - TYPE - 3 - UID - 0 - - - CHILDREN - - GID - 80 - PATH - ../../../build/plugins/obs-browser/obs-browser.so - PATH_TYPE - 3 - PERMISSIONS - 493 - TYPE - 3 - UID - 0 - - - GID - 80 - PATH - bin - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 2 - UID - 0 - - - GID - 80 - PATH - obs-browser - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 2 - UID - 0 - - - GID - 80 - PATH - plugins - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 2 - UID - 0 - - - GID - 80 - PATH - obs-studio - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 2 - UID - 0 - - - GID - 80 - PATH - Application Support - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Documentation - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Filesystems - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Frameworks - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Input Methods - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Internet Plug-Ins - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - LaunchAgents - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - LaunchDaemons - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - PreferencePanes - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Preferences - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 80 - PATH - Printers - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - PrivilegedHelperTools - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - QuickLook - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - QuickTime - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Screen Savers - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Scripts - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Services - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - GID - 0 - PATH - Widgets - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 0 - PATH - Library - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - - CHILDREN - - - CHILDREN - - GID - 0 - PATH - Extensions - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 0 - PATH - Library - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 0 - PATH - System - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - CHILDREN - - - CHILDREN - - GID - 0 - PATH - Shared - PATH_TYPE - 0 - PERMISSIONS - 1023 - TYPE - 1 - UID - 0 - - - GID - 80 - PATH - Users - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - - GID - 0 - PATH - / - PATH_TYPE - 0 - PERMISSIONS - 493 - TYPE - 1 - UID - 0 - - PAYLOAD_TYPE - 0 - VERSION - 2 - - PACKAGE_SCRIPTS - - POSTINSTALL_PATH - - PATH - post-install.sh - PATH_TYPE - 3 - - PREINSTALL_PATH - - RESOURCES - - - PACKAGE_SETTINGS - - AUTHENTICATION - 1 - CONCLUSION_ACTION - 0 - IDENTIFIER - org.obsproject.pkg.obs-studio - NAME - OBS - OVERWRITE_PERMISSIONS - - VERSION - 1.0 - - UUID - 19CCE3F2-8911-4364-B673-8B5BC3ABD4DA - - - PACKAGE_SETTINGS - - LOCATION - 0 - NAME - SyphonInject - - PATH - - PATH - SyphonInject.pkg - PATH_TYPE - 1 - - TYPE - 1 - UUID - 0CC9C67E-4D14-4794-9930-019925513B1C - - - PROJECT - - PROJECT_COMMENTS - - NOTES - - PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M - IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv - c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l - cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7 - IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250 - ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp - dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u - dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD - b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjE1MDQuODEiPgo8c3R5bGUg - dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5 - Pgo8L2JvZHk+CjwvaHRtbD4K - - - PROJECT_PRESENTATION - - BACKGROUND - - ALIGNMENT - 4 - BACKGROUND_PATH - - PATH - obs.png - PATH_TYPE - 1 - - CUSTOM - 1 - SCALING - 0 - - INSTALLATION TYPE - - HIERARCHIES - - INSTALLER - - LIST - - - DESCRIPTION - - OPTIONS - - HIDDEN - - STATE - 0 - - PACKAGE_UUID - 19CCE3F2-8911-4364-B673-8B5BC3ABD4DA - REQUIREMENTS - - TITLE - - TOOLTIP - - TYPE - 0 - UUID - 7C540711-59F4-479C-9CFD-8C4D6594992E - - - DESCRIPTION - - OPTIONS - - HIDDEN - - STATE - 1 - - PACKAGE_UUID - 0CC9C67E-4D14-4794-9930-019925513B1C - REQUIREMENTS - - TITLE - - TOOLTIP - - TYPE - 0 - UUID - BBDE08F6-D7EE-47CB-881F-7F208B3A604B - - - REMOVED - - - - INSTALLATION TYPE - 0 - MODE - 0 - - INSTALLATION_STEPS - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewIntroductionController - INSTALLER_PLUGIN - Introduction - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewReadMeController - INSTALLER_PLUGIN - ReadMe - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewLicenseController - INSTALLER_PLUGIN - License - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewDestinationSelectController - INSTALLER_PLUGIN - TargetSelect - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewInstallationTypeController - INSTALLER_PLUGIN - PackageSelection - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewInstallationController - INSTALLER_PLUGIN - Install - LIST_TITLE_KEY - InstallerSectionTitle - - - ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS - ICPresentationViewSummaryController - INSTALLER_PLUGIN - Summary - LIST_TITLE_KEY - InstallerSectionTitle - - - INTRODUCTION - - LOCALIZATIONS - - - LICENSE - - KEYWORDS - - LOCALIZATIONS - - MODE - 0 - - README - - LOCALIZATIONS - - - SUMMARY - - LOCALIZATIONS - - - TITLE - - LOCALIZATIONS - - - LANGUAGE - English - VALUE - OBS - - - - - PROJECT_REQUIREMENTS - - LIST - - POSTINSTALL_PATH - - PREINSTALL_PATH - - RESOURCES - - ROOT_VOLUME_ONLY - - - PROJECT_SETTINGS - - ADVANCED_OPTIONS - - BUILD_FORMAT - 0 - BUILD_PATH - - PATH - ../../../build - PATH_TYPE - 3 - - EXCLUDED_FILES - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - .DS_Store - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Remove .DS_Store files - PROXY_TOOLTIP - Remove ".DS_Store" files created by the Finder. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - .pbdevelopment - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Remove .pbdevelopment files - PROXY_TOOLTIP - Remove ".pbdevelopment" files created by ProjectBuilder or Xcode. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - CVS - TYPE - 1 - - - REGULAR_EXPRESSION - - STRING - .cvsignore - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - .cvspass - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - .svn - TYPE - 1 - - - REGULAR_EXPRESSION - - STRING - .git - TYPE - 1 - - - REGULAR_EXPRESSION - - STRING - .gitignore - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Remove SCM metadata - PROXY_TOOLTIP - Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - classes.nib - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - designable.db - TYPE - 0 - - - REGULAR_EXPRESSION - - STRING - info.nib - TYPE - 0 - - - PROTECTED - - PROXY_NAME - Optimize nib files - PROXY_TOOLTIP - Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles. - STATE - - - - PATTERNS_ARRAY - - - REGULAR_EXPRESSION - - STRING - Resources Disabled - TYPE - 1 - - - PROTECTED - - PROXY_NAME - Remove Resources Disabled folders - PROXY_TOOLTIP - Remove "Resources Disabled" folders. - STATE - - - - SEPARATOR - - - - NAME - OBS - - - TYPE - 0 - VERSION - 2 - - diff --git a/CI/install/osx/Info.plist b/CI/install/osx/Info.plist deleted file mode 100644 index 074e14aed..000000000 --- a/CI/install/osx/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleIconFile - obs.icns - CFBundleName - OBS - CFBundleGetInfoString - OBS - Free and Open Source Streaming/Recording Software - CFBundleExecutable - obs - CFBundleIdentifier - com.obsproject.obs-studio - CFBundlePackageType - APPL - LSMinimumSystemVersion - 10.8.5 - NSHighResolutionCapable - - LSAppNapIsDisabled - - NSCameraUsageDescription - OBS needs to access the camera to enable camera sources to work. - NSMicrophoneUsageDescription - OBS needs to access the microphone to enable audio input. - - diff --git a/CI/install/osx/OBSPublicDSAKey.pem b/CI/install/osx/OBSPublicDSAKey.pem deleted file mode 100644 index 91adb402f..000000000 --- a/CI/install/osx/OBSPublicDSAKey.pem +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN PUBLIC KEY----- -MIIGPDCCBC4GByqGSM44BAEwggQhAoICAQCZZZ2y7H2GJmMfP4KQihJTJOoiGNUw -mue6sqMbH+utRykRnSKBZux6R665eRFMpNgrgFO1TLLGbdD2U31KiGtCvFJOmOl3 -+QP055BuXjEG36NU7AWEFLAlbDlr/2D3oumq3Ib3iMnnr9RrVztJ2VFOvVio1eWr -ZxboVwKPK8D6BqsWiv15vbYlJnTC4Fls6ySmdjVBxwoPlTaMu1ysi5DfbIZ93s5u -aQt1FvXuWtPBWjyVUORcNbcWf49E5R2pV0OSBK95Hw2/wXz4vmj+w92dTePGnVaW -Me4CoF5PIeZILwp6DCLStX4eW2WG1NChJTC8zeQ/3bMMoGyKM/MadyvrDqMywsKY -caxkIwHrDKOEdXXGo80dIwZMMLipPA8DKhx5ojphfkeXjIhKSx+49knXT3ED5okE -Wai7tGUXj/8D8sGh+7b+AVsdujvr4v8WQaZiKUOZ2IIHOg3VLz9T9v0zet1Yt987 -KNymFcp2CHeJ6KnDP/ZGQ6Nl0HsPxUgscsXV+R2FEc8Q1j0Ukkuxnopa0E4/huUu -gjyRzpXD734qFMDf7LcXca6qNjBor6gVj5sRyRKCpZ+KQfMUlr8jp506ztYSyeJu -dxJV30tQgztwkbrs02CqOt4Z3Peo6sdht7hWKSPVwmja3tq8/TfUSSoo6wKYN9/w -Mf3dVeRF8hCzJQIVAJnzuzmzQhCKPiQnl3jh5qGII2XfAoICAQCCVATAff89ceHj -ROHEbHTQFpVxJ/kRZPfxnU46DSw79Tih7tthV68oakPSOTP3cx/Tga0GwogarZ9N -F2VVan5w9OQSSewXsr5UDT5bnmJF+h+JB7TMy+sXZBYobUqjlUd5VtKc8RsN86P4 -s7xbK0mA+hfe+27r18JT81/eH3xUfh7UOUGSdMN2Ch9f7RFSMZIgUAZUzu2K3ODp -hPgtc2QJ8QVAp7GLvQgw8ZUME/ChZslyBIyJvYgUIxfxlgRWYro5pQT7/ngkgdXo -wlghHKkldwMuY3zaFdhPnFNuEUEtc18ILsbz0+AnagCUd6n+3safskCRqLIHMOY6 -iLBSZPX9hJQhVCqSqz1VNDDww8FNa/fojJ1Lr/TI0I+0Ib2pCiY2LChXUqGY5SLZ -2KNs5qFsyZP+I0L8YsGwqvUYyFwk7Ok224n0NtaOwqpLCrtXd/i6DaDNiaoJuwJC -1ELCfaZivorgkC5rhBt2H7qWUAR+EtrFE/gb0k/G5EIhjYql7onGbX+G2re38vQA -fg1pzguhig2dafP/BxMLZrn1Gg61xzmEYPuS9gclktaf675srv8GVb46VkOxXL+D -YvTmpJPP7UUOVlmAMCo4j4y09MW3jq9TDp42VTLeZVubyjslGnavlnq1O+ZyXUye -1FMeby65sIbSHHHwoFnRv3hLSEXI5gOCAgYAAoICAQCUkYnZkPfHfOJZI403xUYP -CE/bLpkza074Xo6EXElsWRnpQgNTx+JFOvItgj3v0OkIqDin9UredKOwfkiftslV -jxUVKA6I5kwnGvCpvTpQMLyLjq+VQr+J2D6eId6tV/iajhdu5r4JThU8KllT7Ywb -NAur34ftLNCVAMRUaDNeEoHfePgderW384e+lbvpmtifmBluammGSxxRtUsdjvJZ -BFkhaJu86CKxcU7D1lbPVOtV/jaxz6d16VdGcfBdi2LzXZzZtYpT9XGPX3NF+xii -spAURWsoe11LTRXF+eJhgCm5iIDN3kh1HEQKYKAVpmrcM0aFzk/NpS+tFyU72vaq -IRSSJw/aa1oELOAakG5oPldc4RcYWl32sbnVwXHO7TZvgTrBSC10o65MAC5CHP/s -b07heDYAIt7re7szvOYq+c/9zAMAlu3pcO8MqaXYMmybdHBXHQ2b+DdJWHmIUWcX -CbUzr09vzGkJAvqsXqbmJPr8aixrO75DhT0iDTILLWe/GWK51nf+Tg0pNxVgGyAl -BqvRqqo7SSDu9FMkwQesFFHhuoHLyEHwVPJ+sMQTNwQcm9c6YuW8EYDRSkeKLWYk -3fkjG+Pe9uVE8a1taDg3FjSY0UqjUT6XMw+i0Lajyus2L6wFBwrrGM6E4xa6x1CC -MGjmuSOlPA1umQsToIcO4g== ------END PUBLIC KEY----- diff --git a/CI/install/osx/SyphonInject.pkg b/CI/install/osx/SyphonInject.pkg deleted file mode 100644 index 4371acc00..000000000 Binary files a/CI/install/osx/SyphonInject.pkg and /dev/null differ diff --git a/CI/install/osx/background.png b/CI/install/osx/background.png deleted file mode 100644 index 02c4d5501..000000000 Binary files a/CI/install/osx/background.png and /dev/null differ diff --git a/CI/install/osx/background.pxd/QuickLook/Icon.tiff b/CI/install/osx/background.pxd/QuickLook/Icon.tiff deleted file mode 100644 index 4ef96a409..000000000 Binary files a/CI/install/osx/background.pxd/QuickLook/Icon.tiff and /dev/null differ diff --git a/CI/install/osx/background.pxd/QuickLook/Preview.tiff b/CI/install/osx/background.pxd/QuickLook/Preview.tiff deleted file mode 100644 index b28ab1ec4..000000000 Binary files a/CI/install/osx/background.pxd/QuickLook/Preview.tiff and /dev/null differ diff --git a/CI/install/osx/background.pxd/QuickLook/Thumbnail.tiff b/CI/install/osx/background.pxd/QuickLook/Thumbnail.tiff deleted file mode 100644 index 1bd46a7ea..000000000 Binary files a/CI/install/osx/background.pxd/QuickLook/Thumbnail.tiff and /dev/null differ diff --git a/CI/install/osx/background.pxd/data/556CF265-5721-4F18-BE83-8CF39483B4C2 b/CI/install/osx/background.pxd/data/556CF265-5721-4F18-BE83-8CF39483B4C2 deleted file mode 100644 index 3036891ae..000000000 Binary files a/CI/install/osx/background.pxd/data/556CF265-5721-4F18-BE83-8CF39483B4C2 and /dev/null differ diff --git a/CI/install/osx/background.pxd/data/8CA689C3-ED2A-459E-952C-E08026CFCD07 b/CI/install/osx/background.pxd/data/8CA689C3-ED2A-459E-952C-E08026CFCD07 deleted file mode 100644 index 52d94b97c..000000000 Binary files a/CI/install/osx/background.pxd/data/8CA689C3-ED2A-459E-952C-E08026CFCD07 and /dev/null differ diff --git a/CI/install/osx/background.pxd/metadata.info b/CI/install/osx/background.pxd/metadata.info deleted file mode 100644 index 6054a580b..000000000 Binary files a/CI/install/osx/background.pxd/metadata.info and /dev/null differ diff --git a/CI/install/osx/background.tiff b/CI/install/osx/background.tiff deleted file mode 100644 index 454874005..000000000 Binary files a/CI/install/osx/background.tiff and /dev/null differ diff --git a/CI/install/osx/background@2x.png b/CI/install/osx/background@2x.png deleted file mode 100644 index a001edf36..000000000 Binary files a/CI/install/osx/background@2x.png and /dev/null differ diff --git a/CI/install/osx/buildDMG b/CI/install/osx/buildDMG deleted file mode 100755 index af2c798e4..000000000 --- a/CI/install/osx/buildDMG +++ /dev/null @@ -1 +0,0 @@ -dmgbuild -s ./settings.json "OBS" obs.dmg diff --git a/CI/install/osx/build_app.py b/CI/install/osx/build_app.py deleted file mode 100644 index 69e7cf217..000000000 --- a/CI/install/osx/build_app.py +++ /dev/null @@ -1,238 +0,0 @@ -#!/usr/bin/env python - -candidate_paths = "bin obs-plugins data".split() - -plist_path = "../cmake/osxbundle/Info.plist" -icon_path = "../cmake/osxbundle/obs.icns" -run_path = "../cmake/osxbundle/obslaunch.sh" - -#not copied -blacklist = """/usr /System""".split() - -#copied -whitelist = """/usr/local""".split() - -# -# -# - - -from sys import argv -from glob import glob -from subprocess import check_output, call -from collections import namedtuple -from shutil import copy, copytree, rmtree -from os import makedirs, rename, walk, path as ospath -import plistlib - -import argparse - -def _str_to_bool(s): - """Convert string to bool (in argparse context).""" - if s.lower() not in ['true', 'false']: - raise ValueError('Need bool; got %r' % s) - return {'true': True, 'false': False}[s.lower()] - -def add_boolean_argument(parser, name, default=False): - """Add a boolean argument to an ArgumentParser instance.""" - group = parser.add_mutually_exclusive_group() - group.add_argument( - '--' + name, nargs='?', default=default, const=True, type=_str_to_bool) - group.add_argument('--no' + name, dest=name, action='store_false') - -parser = argparse.ArgumentParser(description='obs-studio package util') -parser.add_argument('-d', '--base-dir', dest='dir', default='rundir/RelWithDebInfo') -parser.add_argument('-n', '--build-number', dest='build_number', default='0') -parser.add_argument('-k', '--public-key', dest='public_key', default='OBSPublicDSAKey.pem') -parser.add_argument('-f', '--sparkle-framework', dest='sparkle', default=None) -parser.add_argument('-b', '--base-url', dest='base_url', default='https://obsproject.com/osx_update') -parser.add_argument('-u', '--user', dest='user', default='jp9000') -parser.add_argument('-c', '--channel', dest='channel', default='master') -add_boolean_argument(parser, 'stable', default=False) -parser.add_argument('-p', '--prefix', dest='prefix', default='') -args = parser.parse_args() - -def cmd(cmd): - import subprocess - import shlex - return subprocess.check_output(shlex.split(cmd)).rstrip('\r\n') - -LibTarget = namedtuple("LibTarget", ("path", "external", "copy_as")) - -inspect = list() - -inspected = set() - -build_path = args.dir -build_path = build_path.replace("\\ ", " ") - -def add(name, external=False, copy_as=None): - if external and copy_as is None: - copy_as = name.split("/")[-1] - if name[0] != "/": - name = build_path+"/"+name - t = LibTarget(name, external, copy_as) - if t in inspected: - return - inspect.append(t) - inspected.add(t) - - -for i in candidate_paths: - print("Checking " + i) - for root, dirs, files in walk(build_path+"/"+i): - for file_ in files: - if ".ini" in file_: - continue - if ".png" in file_: - continue - if ".effect" in file_: - continue - if ".py" in file_: - continue - if ".json" in file_: - continue - path = root + "/" + file_ - try: - out = check_output("{0}otool -L '{1}'".format(args.prefix, path), shell=True, - universal_newlines=True) - if "is not an object file" in out: - continue - except: - continue - rel_path = path[len(build_path)+1:] - print(repr(path), repr(rel_path)) - add(rel_path) - -def add_plugins(path, replace): - for img in glob(path.replace( - "lib/QtCore.framework/Versions/5/QtCore", - "plugins/%s/*"%replace).replace( - "Library/Frameworks/QtCore.framework/Versions/5/QtCore", - "share/qt5/plugins/%s/*"%replace)): - if "_debug" in img: - continue - add(img, True, img.split("plugins/")[-1]) - -actual_sparkle_path = '@loader_path/Frameworks/Sparkle.framework/Versions/A/Sparkle' - -while inspect: - target = inspect.pop() - print("inspecting", repr(target)) - path = target.path - if path[0] == "@": - continue - out = check_output("{0}otool -L '{1}'".format(args.prefix, path), shell=True, - universal_newlines=True) - - if "QtCore" in path: - add_plugins(path, "platforms") - add_plugins(path, "imageformats") - add_plugins(path, "accessible") - add_plugins(path, "styles") - - - for line in out.split("\n")[1:]: - new = line.strip().split(" (")[0] - if '@' in new and "sparkle.framework" in new.lower(): - actual_sparkle_path = new - print "Using sparkle path:", repr(actual_sparkle_path) - if not new or new[0] == "@" or new.endswith(path.split("/")[-1]): - continue - whitelisted = False - for i in whitelist: - if new.startswith(i): - whitelisted = True - if not whitelisted: - blacklisted = False - for i in blacklist: - if new.startswith(i): - blacklisted = True - break - if blacklisted: - continue - add(new, True) - -changes = list() -for path, external, copy_as in inspected: - if not external: - continue #built with install_rpath hopefully - changes.append("-change '%s' '@rpath/%s'"%(path, copy_as)) -changes = " ".join(changes) - -info = plistlib.readPlist(plist_path) - -latest_tag = cmd('git describe --tags --abbrev=0') -log = cmd('git log --pretty=oneline {0}...HEAD'.format(latest_tag)) - -from os import path -# set version -if args.stable: - info["CFBundleVersion"] = latest_tag - info["CFBundleShortVersionString"] = latest_tag - info["SUFeedURL"] = '{0}/stable/updates.xml'.format(args.base_url) -else: - info["CFBundleVersion"] = args.build_number - info["CFBundleShortVersionString"] = '{0}.{1}'.format(latest_tag, args.build_number) - info["SUFeedURL"] = '{0}/{1}/{2}/updates.xml'.format(args.base_url, args.user, args.channel) - -info["SUPublicDSAKeyFile"] = path.basename(args.public_key) -info["OBSFeedsURL"] = '{0}/feeds.xml'.format(args.base_url) - -app_name = info["CFBundleName"]+".app" -icon_file = "tmp/Contents/Resources/%s"%info["CFBundleIconFile"] - -copytree(build_path, "tmp/Contents/Resources/", symlinks=True) -copy(icon_path, icon_file) -plistlib.writePlist(info, "tmp/Contents/Info.plist") -makedirs("tmp/Contents/MacOS") -copy(run_path, "tmp/Contents/MacOS/%s"%info["CFBundleExecutable"]) -try: - copy(args.public_key, "tmp/Contents/Resources") -except: - pass - -if args.sparkle is not None: - copytree(args.sparkle, "tmp/Contents/Frameworks/Sparkle.framework", symlinks=True) - -prefix = "tmp/Contents/Resources/" -sparkle_path = '@loader_path/{0}/Frameworks/Sparkle.framework/Versions/A/Sparkle' - -cmd('{0}install_name_tool -change {1} {2} {3}/bin/obs'.format( - args.prefix, actual_sparkle_path, sparkle_path.format('../..'), prefix)) - - - -for path, external, copy_as in inspected: - id_ = "" - filename = path - rpath = "" - if external: - if copy_as == "Python": - continue - id_ = "-id '@rpath/%s'"%copy_as - filename = prefix + "bin/" +copy_as - rpath = "-add_rpath @loader_path/ -add_rpath @executable_path/" - if "/" in copy_as: - try: - dirs = copy_as.rsplit("/", 1)[0] - makedirs(prefix + "bin/" + dirs) - except: - pass - copy(path, filename) - else: - filename = path[len(build_path)+1:] - id_ = "-id '@rpath/../%s'"%filename - if not filename.startswith("bin"): - print(filename) - rpath = "-add_rpath '@loader_path/{}/'".format(ospath.relpath("bin/", ospath.dirname(filename))) - filename = prefix + filename - - cmd = "{0}install_name_tool {1} {2} {3} '{4}'".format(args.prefix, changes, id_, rpath, filename) - call(cmd, shell=True) - -try: - rename("tmp", app_name) -except: - print("App already exists") - rmtree("tmp") diff --git a/CI/install/osx/dylibBundler b/CI/install/osx/dylibBundler deleted file mode 100755 index a28f20985..000000000 Binary files a/CI/install/osx/dylibBundler and /dev/null differ diff --git a/CI/install/osx/makeRetinaBG b/CI/install/osx/makeRetinaBG deleted file mode 100755 index 5d7f309b5..000000000 --- a/CI/install/osx/makeRetinaBG +++ /dev/null @@ -1 +0,0 @@ -tiffutil -cathidpicheck background.png background@2x.png -out background.tiff diff --git a/CI/install/osx/obs.icns b/CI/install/osx/obs.icns deleted file mode 100644 index 6f878d6a3..000000000 Binary files a/CI/install/osx/obs.icns and /dev/null differ diff --git a/CI/install/osx/obs.png b/CI/install/osx/obs.png deleted file mode 100644 index 44f19c002..000000000 Binary files a/CI/install/osx/obs.png and /dev/null differ diff --git a/CI/install/osx/packageApp.sh b/CI/install/osx/packageApp.sh deleted file mode 100755 index ba8fa6045..000000000 --- a/CI/install/osx/packageApp.sh +++ /dev/null @@ -1,77 +0,0 @@ -# Exit if something fails -set -e - -rm -rf ./OBS.app - -mkdir OBS.app -mkdir OBS.app/Contents -mkdir OBS.app/Contents/MacOS -mkdir OBS.app/Contents/PlugIns -mkdir OBS.app/Contents/Resources - -cp -R rundir/RelWithDebInfo/bin/ ./OBS.app/Contents/MacOS -cp -R rundir/RelWithDebInfo/data ./OBS.app/Contents/Resources -cp ../CI/install/osx/obs.icns ./OBS.app/Contents/Resources -cp -R rundir/RelWithDebInfo/obs-plugins/ ./OBS.app/Contents/PlugIns -cp ../CI/install/osx/Info.plist ./OBS.app/Contents - -../CI/install/osx/dylibBundler -b -cd -d ./OBS.app/Contents/Frameworks -p @executable_path/../Frameworks/ \ --s ./OBS.app/Contents/MacOS \ --s /usr/local/opt/mbedtls/lib/ \ --x ./OBS.app/Contents/PlugIns/coreaudio-encoder.so \ --x ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so \ --x ./OBS.app/Contents/PlugIns/frontend-tools.so \ --x ./OBS.app/Contents/PlugIns/image-source.so \ --x ./OBS.app/Contents/PlugIns/linux-jack.so \ --x ./OBS.app/Contents/PlugIns/mac-avcapture.so \ --x ./OBS.app/Contents/PlugIns/mac-capture.so \ --x ./OBS.app/Contents/PlugIns/mac-decklink.so \ --x ./OBS.app/Contents/PlugIns/mac-syphon.so \ --x ./OBS.app/Contents/PlugIns/mac-vth264.so \ --x ./OBS.app/Contents/PlugIns/obs-browser.so \ --x ./OBS.app/Contents/PlugIns/obs-browser-page \ --x ./OBS.app/Contents/PlugIns/obs-ffmpeg.so \ --x ./OBS.app/Contents/PlugIns/obs-filters.so \ --x ./OBS.app/Contents/PlugIns/obs-transitions.so \ --x ./OBS.app/Contents/PlugIns/obs-vst.so \ --x ./OBS.app/Contents/PlugIns/rtmp-services.so \ --x ./OBS.app/Contents/MacOS/obs \ --x ./OBS.app/Contents/MacOS/obs-ffmpeg-mux \ --x ./OBS.app/Contents/MacOS/obslua.so \ --x ./OBS.app/Contents/PlugIns/obs-x264.so \ --x ./OBS.app/Contents/PlugIns/text-freetype2.so \ --x ./OBS.app/Contents/PlugIns/obs-libfdk.so -# -x ./OBS.app/Contents/MacOS/_obspython.so \ -# -x ./OBS.app/Contents/PlugIns/obs-outputs.so \ - -/usr/local/Cellar/qt/5.14.1/bin/macdeployqt ./OBS.app - -mv ./OBS.app/Contents/MacOS/libobs-opengl.so ./OBS.app/Contents/Frameworks - -rm -f -r ./OBS.app/Contents/Frameworks/QtNetwork.framework - -# put qt network in here becasuse streamdeck uses it -cp -R /usr/local/opt/qt/lib/QtNetwork.framework ./OBS.app/Contents/Frameworks -chmod -R +w ./OBS.app/Contents/Frameworks/QtNetwork.framework -rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Headers -rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Headers/ -chmod 644 ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources/Info.plist -install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork -install_name_tool -change /usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork - - -# decklink ui qt -install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so -install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so -install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so - -# frontend tools qt -install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/PlugIns/frontend-tools.so -install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/PlugIns/frontend-tools.so -install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/PlugIns/frontend-tools.so - -# vst qt -install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/PlugIns/obs-vst.so -install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/PlugIns/obs-vst.so -install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/PlugIns/obs-vst.so -install_name_tool -change /usr/local/opt/qt/lib/QtMacExtras.framework/Versions/5/QtMacExtras @executable_path/../Frameworks/QtMacExtras.framework/Versions/5/QtMacExtras ./OBS.app/Contents/PlugIns/obs-vst.so diff --git a/CI/install/osx/package_util.py b/CI/install/osx/package_util.py deleted file mode 100644 index 2ab0b9473..000000000 --- a/CI/install/osx/package_util.py +++ /dev/null @@ -1,94 +0,0 @@ -def cmd(cmd): - import subprocess - import shlex - return subprocess.check_output(shlex.split(cmd)).rstrip('\r\n') - -def get_tag_info(tag): - rev = cmd('git rev-parse {0}'.format(latest_tag)) - anno = cmd('git cat-file -p {0}'.format(rev)) - tag_info = [] - for i, v in enumerate(anno.splitlines()): - if i <= 4: - continue - tag_info.append(v.lstrip()) - - return tag_info - -def gen_html(github_user, latest_tag): - - url = 'https://github.com/{0}/obs-studio/commit/%H'.format(github_user) - - with open('readme.html', 'w') as f: - f.write("") - log_cmd = """git log {0}...HEAD --pretty=format:'
  • (view) %s
  • '""" - log_res = cmd(log_cmd.format(latest_tag, url)) - if len(log_res.splitlines()): - f.write('

    Changes since {0}: (Newest to oldest)

    '.format(latest_tag)) - f.write(log_res) - - ul = False - f.write('

    ') - import re - - for l in get_tag_info(latest_tag): - if not len(l): - continue - if l.startswith('*'): - ul = True - if not ul: - f.write('

    ') - ul = False - f.write('

    {0}

    '.format(l)) - if ul: - f.write('') - f.write('

    ') - - cmd('textutil -convert rtf readme.html -output readme.rtf') - cmd("""sed -i '' 's/Times-Roman/Verdana/g' readme.rtf""") - -def save_manifest(latest_tag, user, jenkins_build, branch, stable): - log = cmd('git log --pretty=oneline {0}...HEAD'.format(latest_tag)) - manifest = {} - manifest['commits'] = [] - for v in log.splitlines(): - manifest['commits'].append(v) - manifest['tag'] = { - 'name': latest_tag, - 'description': get_tag_info(latest_tag) - } - - manifest['version'] = cmd('git rev-list HEAD --count') - manifest['sha1'] = cmd('git rev-parse HEAD') - manifest['jenkins_build'] = jenkins_build - - manifest['user'] = user - manifest['branch'] = branch - manifest['stable'] = stable - - import cPickle - with open('manifest', 'w') as f: - cPickle.dump(manifest, f) - -def prepare_pkg(project, package_id): - cmd('packagesutil --file "{0}" set package-1 identifier {1}'.format(project, package_id)) - cmd('packagesutil --file "{0}" set package-1 version {1}'.format(project, '1.0')) - - -import argparse -parser = argparse.ArgumentParser(description='obs-studio package util') -parser.add_argument('-u', '--user', dest='user', default='jp9000') -parser.add_argument('-p', '--package-id', dest='package_id', default='org.obsproject.pkg.obs-studio') -parser.add_argument('-f', '--project-file', dest='project', default='OBS.pkgproj') -parser.add_argument('-j', '--jenkins-build', dest='jenkins_build', default='0') -parser.add_argument('-b', '--branch', dest='branch', default='master') -parser.add_argument('-s', '--stable', dest='stable', required=False, action='store_true', default=False) -args = parser.parse_args() - -latest_tag = cmd('git describe --tags --abbrev=0') -gen_html(args.user, latest_tag) -prepare_pkg(args.project, args.package_id) -save_manifest(latest_tag, args.user, args.jenkins_build, args.branch, args.stable) diff --git a/CI/install/osx/post-install.sh b/CI/install/osx/post-install.sh deleted file mode 100644 index f1f641af1..000000000 --- a/CI/install/osx/post-install.sh +++ /dev/null @@ -1 +0,0 @@ -#!/usr/bin/env bash diff --git a/CI/install/osx/settings.json b/CI/install/osx/settings.json deleted file mode 100644 index 34fbc2ff4..000000000 --- a/CI/install/osx/settings.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "title": "OBS", - "background": "../CI/install/osx/background.tiff", - "format": "UDZO", - "compression-level": 9, - "window": { "position": { "x": 100, "y": 100 }, - "size": { "width": 540, "height": 380 } }, - "contents": [ - { "x": 120, "y": 180, "type": "file", - "path": "./OBS.app" }, - { "x": 420, "y": 180, "type": "link", "path": "/Applications" } - ] -} diff --git a/CI/osxcert/Certificates.p12.enc b/CI/osxcert/Certificates.p12.enc deleted file mode 100644 index 0fb42bc8d..000000000 Binary files a/CI/osxcert/Certificates.p12.enc and /dev/null differ diff --git a/CI/util/build-package-deps-osx.sh b/CI/util/build-package-deps-osx.sh deleted file mode 100755 index 20c0c30dd..000000000 --- a/CI/util/build-package-deps-osx.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/env bash - -set -e - -# This script builds a tar file that contains a bunch of deps that OBS needs for -# advanced functionality on OSX. Currently this tar file is pulled down off of s3 -# and used in the CI build process on travis. -# Mostly this sets build flags to compile with older SDKS and make sure that -# the libs are portable. - -exists() -{ - command -v "$1" >/dev/null 2>&1 -} - -if ! exists nasm; then - echo "nasm not found. Try brew install nasm" - exit -fi - -CURDIR=$(pwd) - -# the temp directory -WORK_DIR=`mktemp -d` - -# deletes the temp directory -function cleanup { - #rm -rf "$WORK_DIR" - echo "Deleted temp working directory $WORK_DIR" -} - -# register the cleanup function to be called on the EXIT signal -trap cleanup EXIT - -cd $WORK_DIR - -DEPS_DEST=$WORK_DIR/obsdeps - -# make dest dirs -mkdir $DEPS_DEST -mkdir $DEPS_DEST/bin -mkdir $DEPS_DEST/include -mkdir $DEPS_DEST/lib - -# OSX COMPAT -export MACOSX_DEPLOYMENT_TARGET=10.11 - -# If you need an olders SDK and Xcode won't give it to you -# https://github.com/phracker/MacOSX-SDKs - -# libopus -curl -L -O https://ftp.osuosl.org/pub/xiph/releases/opus/opus-1.2.1.tar.gz -tar -xf opus-1.2.1.tar.gz -cd ./opus-1.2.1 -mkdir build -cd ./build -../configure --disable-shared --enable-static --prefix="/tmp/obsdeps" -make -j 12 -make install - -cd $WORK_DIR - -# libogg -curl -L -O https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-1.3.3.tar.gz -tar -xf libogg-1.3.3.tar.gz -cd ./libogg-1.3.3 -mkdir build -cd ./build -../configure --disable-shared --enable-static --prefix="/tmp/obsdeps" -make -j 12 -make install - -cd $WORK_DIR - -# libvorbis -curl -L -O https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.6.tar.gz -tar -xf libvorbis-1.3.6.tar.gz -cd ./libvorbis-1.3.6 -mkdir build -cd ./build -../configure --disable-shared --enable-static --prefix="/tmp/obsdeps" -make -j 12 -make install - -cd $WORK_DIR - -# libvpx -curl -L -O https://chromium.googlesource.com/webm/libvpx/+archive/v1.7.0.tar.gz -mkdir -p ./libvpx-v1.7.0 -tar -xf v1.7.0.tar.gz -C $PWD/libvpx-v1.7.0 -cd ./libvpx-v1.7.0 -mkdir -p build -cd ./build -../configure --disable-shared --prefix="/tmp/obsdeps" --libdir="/tmp/obsdeps/lib" -make -j 12 -make install - -cd $WORK_DIR - -# x264 -git clone git://git.videolan.org/x264.git -cd ./x264 -git checkout origin/stable -mkdir build -cd ./build -../configure --extra-ldflags="-mmacosx-version-min=10.11" --enable-static --prefix="/tmp/obsdeps" -make -j 12 -make install -../configure --extra-ldflags="-mmacosx-version-min=10.11" --enable-shared --libdir="/tmp/obsdeps/bin" --prefix="/tmp/obsdeps" -make -j 12 -ln -f -s libx264.*.dylib libx264.dylib -find . -name \*.dylib -exec cp \{\} $DEPS_DEST/bin/ \; -rsync -avh --include="*/" --include="*.h" --exclude="*" ../* $DEPS_DEST/include/ -rsync -avh --include="*/" --include="*.h" --exclude="*" ./* $DEPS_DEST/include/ - -cd $WORK_DIR - -# janson -curl -L -O http://www.digip.org/jansson/releases/jansson-2.11.tar.gz -tar -xf jansson-2.11.tar.gz -cd jansson-2.11 -mkdir build -cd ./build -../configure --libdir="/tmp/obsdeps/bin" --enable-shared --disable-static -make -j 12 -find . -name \*.dylib -exec cp \{\} $DEPS_DEST/bin/ \; -rsync -avh --include="*/" --include="*.h" --exclude="*" ../* $DEPS_DEST/include/ -rsync -avh --include="*/" --include="*.h" --exclude="*" ./* $DEPS_DEST/include/ - -cd $WORK_DIR - -export LDFLAGS="-L/tmp/obsdeps/lib" -export CFLAGS="-I/tmp/obsdeps/include" - -# FFMPEG -curl -L -O https://github.com/FFmpeg/FFmpeg/archive/n4.0.2.zip -unzip ./n4.0.2.zip -cd ./FFmpeg-n4.0.2 -mkdir build -cd ./build -../configure --pkg-config-flags="--static" --extra-ldflags="-mmacosx-version-min=10.11" --enable-shared --disable-static --shlibdir="/tmp/obsdeps/bin" --enable-gpl --disable-doc --enable-libx264 --enable-libopus --enable-libvorbis --enable-libvpx --disable-outdev=sdl -make -j 12 -find . -name \*.dylib -exec cp \{\} $DEPS_DEST/bin/ \; -rsync -avh --include="*/" --include="*.h" --exclude="*" ../* $DEPS_DEST/include/ -rsync -avh --include="*/" --include="*.h" --exclude="*" ./* $DEPS_DEST/include/ - -#luajit -curl -L -O https://luajit.org/download/LuaJIT-2.0.5.tar.gz -tar -xf LuaJIT-2.0.5.tar.gz -cd LuaJIT-2.0.5 -make PREFIX=/tmp/obsdeps -make PREFIX=/tmp/obsdeps install -find /tmp/obsdeps/lib -name libluajit\*.dylib -exec cp \{\} $DEPS_DEST/lib/ \; -rsync -avh --include="*/" --include="*.h" --exclude="*" src/* $DEPS_DEST/include/ -make PREFIX=/tmp/obsdeps uninstall - -cd $WORK_DIR - -tar -czf osx-deps.tar.gz obsdeps - -cp ./osx-deps.tar.gz $CURDIR diff --git a/CI/util/win32.sh b/CI/util/win32.sh deleted file mode 100755 index a1a291930..000000000 --- a/CI/util/win32.sh +++ /dev/null @@ -1,69 +0,0 @@ -#/bin/bash - -cd x264 -make clean -LDFLAGS="-static-libgcc" ./configure --enable-shared --enable-win32thread --disable-avs --disable-ffms --disable-gpac --disable-interlaced --disable-lavf --cross-prefix=i686-w64-mingw32- --host=i686-pc-mingw32 --prefix="/home/jim/packages/win32" -make -j6 fprofiled VIDS="CITY_704x576_60_orig_01.yuv" -make install -i686-w64-mingw32-dlltool -z /home/jim/packages/win32/bin/x264.orig.def --export-all-symbols /home/jim/packages/win32/bin/libx264-148.dll -grep "EXPORTS\|x264" /home/jim/packages/win32/bin/x264.orig.def > /home/jim/packages/win32/bin/x264.def -rm -f /home/jim/packages/win32/bin/x264.org.def -sed -i -e "/\\t.*DATA/d" -e "/\\t\".*/d" -e "s/\s@.*//" /home/jim/packages/win32/bin/x264.def -i686-w64-mingw32-dlltool -m i386 -d /home/jim/packages/win32/bin/x264.def -l /home/jim/packages/win32/bin/x264.lib -D /home/jim/win32/packages/bin/libx264-148.dll -cd .. - -cd opus -make clean -LDFLAGS="-static-libgcc" ./configure -host=i686-w64-mingw32 --prefix="/home/jim/packages/win32" --enable-shared -make -j6 -make install -cd .. - -cd zlib/build32 -make clean -cmake .. -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_INSTALL_PREFIX=/home/jim/packages/win32 -DINSTALL_PKGCONFIG_DIR=/home/jim/packages/win32/lib/pkgconfig -DCMAKE_RC_COMPILER=i686-w64-mingw32-windres -DCMAKE_SHARED_LINKER_FLAGS="-static-libgcc" -make -j6 -make install -mv ../../win32/lib/libzlib.dll.a ../../win32/lib/libz.dll.a -mv ../../win32/lib/libzlibstatic.a ../../win32/lib/libz.a -cp ../win32/zlib.def /home/jim/packages/win32/bin -i686-w64-mingw32-dlltool -m i386 -d ../win32/zlib.def -l /home/jim/packages/win32/bin/zlib.lib -D /home/jim/win32/packages/bin/zlib.dll -cd ../.. - -cd libpng -make clean -PKG_CONFIG_PATH="/home/jim/packages/win32/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win32/lib -static-libgcc" CPPFLAGS="-I/home/jim/packages/win32/include" ./configure -host=i686-w64-mingw32 --prefix="/home/jim/packages/win32" --enable-shared -make -j6 -make install -cd .. - -cd libogg -make clean -PKG_CONFIG_PATH="/home/jim/packages/win32/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win32/lib -static-libgcc" CPPFLAGS="-I/home/jim/packages/win32/include" ./configure -host=i686-w64-mingw32 --prefix="/home/jim/packages/win32" --enable-shared -make -j6 -make install -cd .. - -cd libvorbis -make clean -PKG_CONFIG_PATH="/home/jim/packages/win32/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win32/lib -static-libgcc" CPPFLAGS="-I/home/jim/packages/win32/include" ./configure -host=i686-w64-mingw32 --prefix="/home/jim/packages/win32" --enable-shared --with-ogg="/home/jim/packages/win32" -make -j6 -make install -cd .. - -cd libvpxbuild -make clean -PKG_CONFIG_PATH="/home/jim/packages/win32/lib/pkgconfig" CROSS=i686-w64-mingw32- LDFLAGS="-static-libgcc" ../libvpx/configure --prefix=/home/jim/packages/win32 --enable-vp8 --enable-vp9 --disable-docs --disable-examples --enable-shared --disable-static --enable-runtime-cpu-detect --enable-realtime-only --disable-install-bins --disable-install-docs --disable-unit-tests --target=x86-win32-gcc -make -j6 -make install -i686-w64-mingw32-dlltool -m i386 -d libvpx.def -l /home/jim/packages/win32/bin/vpx.lib -D /home/jim/win32/packages/bin/libvpx-1.dll -cd .. - -cd ffmpeg -make clean -cp /media/sf_linux/nvEncodeAPI.h /home/jim/packages/win32/include -PKG_CONFIG_PATH="/home/jim/packages/win32/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win32/lib -static-libgcc" CFLAGS="-I/home/jim/packages/win32/include" ./configure --enable-memalign-hack --enable-gpl --disable-programs --disable-doc --arch=x86 --enable-shared --enable-nvenc --enable-libx264 --enable-libopus --enable-libvorbis --enable-libvpx --disable-debug --cross-prefix=i686-w64-mingw32- --target-os=mingw32 --pkg-config=pkg-config --prefix="/home/jim/packages/win32" --disable-postproc -read -n1 -r -p "Press any key to continue building FFmpeg..." key -make -j6 -make install -cd .. diff --git a/CI/util/win64.sh b/CI/util/win64.sh deleted file mode 100755 index 1ff97883d..000000000 --- a/CI/util/win64.sh +++ /dev/null @@ -1,69 +0,0 @@ -#/bin/bash - -cd x264 -make clean -LDFLAGS="-static-libgcc" ./configure --enable-shared --enable-win32thread --disable-avs --disable-ffms --disable-gpac --disable-interlaced --disable-lavf --cross-prefix=x86_64-w64-mingw32- --host=x86_64-pc-mingw32 --prefix="/home/jim/packages/win64" -make -j6 fprofiled VIDS="CITY_704x576_60_orig_01.yuv" -make install -x86_64-w64-mingw32-dlltool -z /home/jim/packages/win64/bin/x264.orig.def --export-all-symbols /home/jim/packages/win64/bin/libx264-148.dll -grep "EXPORTS\|x264" /home/jim/packages/win64/bin/x264.orig.def > /home/jim/packages/win64/bin/x264.def -rm -f /home/jim/packages/win64/bin/x264.org.def -sed -i -e "/\\t.*DATA/d" -e "/\\t\".*/d" -e "s/\s@.*//" /home/jim/packages/win64/bin/x264.def -x86_64-w64-mingw32-dlltool -m i386:x86-64 -d /home/jim/packages/win64/bin/x264.def -l /home/jim/packages/win64/bin/x264.lib -D /home/jim/win64/packages/bin/libx264-148.dll -cd .. - -cd opus -make clean -LDFLAGS="-static-libgcc" ./configure -host=x86_64-w64-mingw32 --prefix="/home/jim/packages/win64" --enable-shared -make -j6 -make install -cd .. - -cd zlib/build64 -make clean -cmake .. -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_INSTALL_PREFIX=/home/jim/packages/win64 -DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres -DCMAKE_SHARED_LINKER_FLAGS="-static-libgcc" -make -j6 -make install -mv ../../win64/lib/libzlib.dll.a ../../win64/lib/libz.dll.a -mv ../../win64/lib/libzlibstatic.a ../../win64/lib/libz.a -cp ../win64/zlib.def /home/jim/packages/win64/bin -x86_64-w64-mingw32-dlltool -m i386:x86-64 -d ../win32/zlib.def -l /home/jim/packages/win64/bin/zlib.lib -D /home/jim/win64/packages/bin/zlib.dll -cd ../.. - -cd libpng -make clean -PKG_CONFIG_PATH="/home/jim/packages/win64/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win64/lib" CPPFLAGS="-I/home/jim/packages/win64/include" ./configure -host=x86_64-w64-mingw32 --prefix="/home/jim/packages/win64" --enable-shared -make -j6 -make install -cd .. - -cd libogg -make clean -PKG_CONFIG_PATH="/home/jim/packages/win64/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win64/lib -static-libgcc" CPPFLAGS="-I/home/jim/packages/win64/include" ./configure -host=x86_64-w64-mingw32 --prefix="/home/jim/packages/win64" --enable-shared -make -j6 -make install -cd .. - -cd libvorbis -make clean -PKG_CONFIG_PATH="/home/jim/packages/win64/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win64/lib -static-libgcc" CPPFLAGS="-I/home/jim/packages/win64/include" ./configure -host=x86_64-w64-mingw32 --prefix="/home/jim/packages/win64" --enable-shared --with-ogg="/home/jim/packages/win64" -make -j6 -make install -cd .. - -cd libvpxbuild -make clean -PKG_CONFIG_PATH="/home/jim/packages/win64/lib/pkgconfig" CROSS=x86_64-w64-mingw32- LDFLAGS="-static-libgcc" ../libvpx/configure --prefix=/home/jim/packages/win64 --enable-vp8 --enable-vp9 --disable-docs --disable-examples --enable-shared --disable-static --enable-runtime-cpu-detect --enable-realtime-only --disable-install-bins --disable-install-docs --disable-unit-tests --target=x86_64-win64-gcc -make -j6 -make install -x86_64-w64-mingw32-dlltool -m i386:x86-64 -d libvpx.def -l /home/jim/packages/win64/bin/vpx.lib -D /home/jim/win64/packages/bin/libvpx-1.dll -cd .. - -cd ffmpeg -make clean -cp /media/sf_linux/nvEncodeAPI.h /home/jim/packages/win64/include -PKG_CONFIG_PATH="/home/jim/packages/win64/lib/pkgconfig" LDFLAGS="-L/home/jim/packages/win64/lib" CPPFLAGS="-I/home/jim/packages/win64/include" ./configure --enable-memalign-hack --enable-gpl --disable-doc --arch=x86_64 --enable-shared --enable-nvenc --enable-libx264 --enable-libopus --enable-libvorbis --enable-libvpx --disable-debug --cross-prefix=x86_64-w64-mingw32- --target-os=mingw32 --pkg-config=pkg-config --prefix="/home/jim/packages/win64" --disable-postproc -read -n1 -r -p "Press any key to continue building FFmpeg..." key -make -j6 -make install -cd ..