Commit graph

326 commits

Author SHA1 Message Date
PatTheMav 3f85e447a8 mac-virtualcam: Add Camera Extension to main CMake plugin project
Camera Extensions require specific entitlements for the hosting app,
which also require a provisioning profile. To avoid breaking local
builds that do not require the camera extension, an additional
entitlements file that will not trigger the provisioning profile
requirement will be used if the virtualcam (but not the Camera
Extension) is configured.
2023-05-18 14:41:08 -04:00
tytan652 904fe87f83 build-aux,CI: Split Flatpak manifest in multiple files
Also moves Flatpak manifest to build-aux folder
2023-05-13 18:26:17 -07:00
Norihiro Kamae 43c7742f8b CI: Download Qt5 conditionally on Linux
Qt6 libraries are installed if the package is available on the system.
Uses the inverted condition to install Qt5 libraries to avoid
unnecessarily install both libraries.
2023-05-13 16:44:45 -07:00
gxalpha 478bbab159 CI: Remove unused pre-cmake 2.0 Info.plist 2023-04-15 16:03:45 -07:00
Ryan Foster 099b391e7c CI: Update deps to 2023-04-12 release
Notable changes:
 * deps.qt: Add missing obs-deps version file for Qt packages
 * CI: Add detection for single-arch static libraries

This is mostly to fix plugin builds. No dependency versions have
changed.
2023-04-12 21:33:06 +00:00
Ryan Foster 855d9cba4a CI: Update deps to 2023-04-03 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to a6dc92968a
 * deps.qt: Backport macOS disabled combobox items fix

The FFmpeg update is to fix an issue with DTS when using b-frames with
FFmpeg NVENC. In particular, we wanted this commmit:
 * a6dc92968a
2023-04-03 23:28:17 +00:00
Ryan Foster 1be1f51635 CI: Update deps to 2023-03-30 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to 3980415627

This update is to fix a crash when using FFmpeg NVENC. In particular, we
wanted these commmits:
 * 0981053c29
 * 916bdc0f19
2023-03-31 17:59:02 -04:00
tytan652 0315c357f6 flatpak: Remove jack2 module
jack2 is already part of the runtime that we rely on and we use only its
headers.
2023-03-29 19:13:58 -03:00
PatTheMav 84057ba93d CI: Update macOS packaging to use Xcode archiving and extraction 2023-03-29 10:31:57 -04:00
tytan652 eebf1b0e87 flatpak: Update deps based on on obs-deps 2023-03-20
* x264: Updated to the same commit as obs-deps
* nv-codec-headers: Update to n12.0.16.0
* aom: Updated to 3.6.0
* svt-av1: Updated to 1.4.1
* ffmpeg: Updated to 6.0
* luajit: Updated to the same commit as obs-deps
2023-03-26 21:33:41 -04:00
PatTheMav f0dee071c1 CI: Update macOS build scripts to use new CMake presets 2023-03-26 18:20:38 -04:00
tytan652 ad859a3f66 flatpak: Enable obs-libfdk
Freedesktop runtime provides it.
2023-03-26 14:43:03 -07:00
tytan652 070c2ec616 CI: Avoid installing recommended package on Ubuntu 2023-03-20 19:00:24 -04:00
tytan652 3f9b2d627e CI: Add nlohmann JSON, WebSocket++ and Asio on Linux
Those libraries will be kept in the Flatpak to allow plugins to use the
same versions of those headers-only libraries.
2023-03-20 19:00:24 -04:00
tytan652 6181325ed9 flatpak: Add missing CMAKE_BUILD_TYPE
CMake defaults to a type commonly named "None".
Setting the type to "Release" is required to have optimization flags
applied.
2023-03-19 09:16:01 +11:00
tytan652 3eab477211 flatpak: Use Github mirror for nv-codec-headers
git.videolan.org repo seems to be inconsitent.
2023-03-18 11:28:00 +01:00
derrod cb475718bd CI: Create Sparkle appcast and deltas on tag 2023-03-07 14:18:32 -05:00
PatTheMav 112ca44158 CI: Remove deprecated dependency installations via Homebrew
Swig and Freetype are provided via obs-deps instead.
2023-02-22 23:06:52 +01:00
PatTheMav 63e0e49798 CI: Remove unit tests from macOS build scripts 2023-02-22 23:06:52 +01:00
derrod 634fd3231c CI/cmake: Update Sparkle to 2.3.2 2023-02-19 01:35:56 +01:00
Jan Beich 50338afe51 CI: Consistently capitalize PipeWire 2023-02-15 14:44:36 -05:00
Jan Beich 60d20d4618 CI: Enable PipeWire on FreeBSD similar to Linux 2023-02-15 14:44:36 -05:00
tytan652 f81f580d26 flatpak: Override PipeWire to 0.3.65
Fixe crashes with 0.3.48/49 daemons.
2023-02-07 12:02:45 -03:00
derrod 48b2efdb20 CI: Use cURL for downloading dependency packages 2023-02-05 03:16:14 +01:00
tytan652 10a68b5d4e flatpak: Update deps based on obs-deps 2022-11-21
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.1
* aom: Updated to 3.5.0
* svt-av1: Updated to 1.3.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-11-21 18:44:53 -05:00
tytan652 723ca8f034 CI,obs-vst: Update Flatpak KDE Runtime to version 6.4
The 6.4 runtime rely on Freedesktop 22.08 which provide a more recent
version of Mesa and PipeWire.

The switch to 22.08 also requires to migrate paths of VST 2 plugins.
2022-11-20 17:16:02 -05:00
tytan652 688ac3e1a5 flatpak: Add Jansson to modules 2022-11-20 10:11:35 +11:00
Ryan Foster dd5745c66e CI: Re-enable scripting in Windows builds
In dfccb26bb2, in my haste to fix Windows
CI, I accidentally included a change to disable Windows scripting which
I had been using locally. Reverse that change to re-enable scripting in
Windows builds.
2022-11-18 20:46:32 -05:00
Ryan Foster dfccb26bb2 CI: Fix building in PowerShell 7.3.x
The backtick double-quote pattern does not work in PowerShell 7.3.x.
There are still some other possible PowerShell 7.3.x issues in the
packaging steps, but let's fix this first to get regular builds working
in PowerShell 7.3.x again.
2022-11-16 12:20:23 -05:00
derrod 3778d16d6c CI: Fix services checkers using wrong port for RTMPS 2022-11-16 18:18:03 +01:00
PatTheMav 51df553e86 CI: Add debian debug symbols to CI artifacts 2022-11-12 18:20:50 -05:00
derrod 907daf11f7 CI: Upload beta builds as Steam Playtest 2022-11-04 16:30:47 +01:00
derrod 03490a4a12 CI: Fix Steam launching x86 version under Rosetta
Apparently Steam running the OBS launch script makes it run
inside Rosetta as well, so it ended up launching the x86 version
even on arm64 systems.

Explicitly detect Rosetta translation and set arm64 in those cases.
2022-10-19 11:26:06 -04:00
derrod c9b82da5a5 CI: Fix services check using deprecated GHA output
Also fixes an invalid type annotation.
2022-10-18 18:41:12 -04:00
Grant Likely 8779f052fd CI: fix build on non-x86 Linux platforms
The CI build script is useful to build OBS Studio even outside the CI
environment. However, the current script hard codes adding the 'amd64'
architecture to dpkg, the Debian/Ubuntu package management database.
This breaks the system when run on non-x86 machines. e.g., a
linux-aarch64 VM running on an Apple silicon macbook. Fixing the system
requires telling dpkg to remove 'amd64' again with 'sudo dpkg
--remove-architecture amd64'

As the CI build always runs on an amd64 machine, adding amd64 is not
necessary and can be safely removed.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2022-10-01 16:06:39 -07:00
Matt Gajownik 0e7f69ee31 CI: Bump Linux CEF build to disable GTK
Fixes #7146

Normally, Qt and CEF each run their own version of GTK, often causing
conflicts. This commit introduces a build of CEF where GTK has been
disabled using `use_gtk=false` as we do not require the Chrome runtime.
This is an experiment and may end up being the safest long-term solution.

Note: This does introduce potential quirks/incompatibilities, such as
browser sources no longer being able to display alert() dialogs, and
potentially file browser dialogs not working from CEF.
This is better than the alternative. If necessary, such dialogs can be
reimplemented using Qt at a later date, and would likely provide a more
consistent user experience.
2022-08-23 19:47:41 +10:00
tytan652 23f910c149 Revert "flatpak: Install CMake config files"
This reverts commit 43867ce93c.
2022-08-20 20:11:51 -03:00
tytan652 c1e8797009 flatpak: Avoid cleaning all pkgconfig files
Plugins could happen to require libobs, FFmpeg and PipeWire pkgconfig
files.
2022-08-20 20:11:51 -03:00
Ryan Foster f344c9106b flatpak: Use FFmpeg GitHub mirror
The ffmpeg.org domain has had periods of instability recently. If GitHub
is down, our entire CI is down, so let's use the FFmpeg GitHub mirror.
2022-08-06 19:52:34 -04:00
derrod 3c41697b42 CI: Update Steam workflow for Apple Silicon builds 2022-08-03 03:34:49 +02:00
Ryan Foster d39d5f3712 CI: Fix packaging scripts
On CI, do not fetch tags in packaging scripts. For some reason, the
checkout action seems to locally update any new git tags on the runner:

t [tag update]   (commit-hash) -> tag-name

This causes future calls to fetch git tags to fail on CI with:

! [rejected]   tag-name -> tag-name  (would clobber existing tag)

To avoid this, we can simply not fetch tags a second time on CI.

Additionally, fix the Windows Installer job.
2022-08-01 21:38:56 -04:00
cg2121 67f7a84076 CI: Change build file names
This makes the build names with each OS consistent with each other.
2022-08-01 13:15:51 -04:00
Ryan Foster b4e056f39d CI: Use Qt6 by default when available 2022-07-31 13:45:57 -04:00
tytan652 87682e8276 flatpak: Change obs-deps tag to 2022-07-29
2022-07-28 was removed.
2022-07-31 10:15:02 -03:00
tytan652 056bd1aee0 flatpak: Avoid cleaning PipeWire and FFmpeg headers
Plugins could happen to build against them.
2022-07-31 08:37:45 -03:00
tytan652 a2a3cb2288 flatpak: Update deps based on obs-deps 2022-07-28
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.0
* mbedtls: Updated to 3.2.1
* librist: Updated to the same commit as obs-deps
* aom: Updated to 3.4.0
* svt-av1: Updated to 1.1.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-07-31 08:37:45 -03:00
tytan652 2d9c1624c1 flatpak: Update KDE Runtime to version 6.3 2022-07-31 08:37:45 -03:00
Ryan Foster 59e91c7c58 CI: Fix Linux package filename version
In .github/workflows/main.yml, for the linux_build job, the variable
BUILD_FOR_DISTRIBUTION is set to the string "true" or "false" on CI.
Later, in CI/linux/03_package_obs.sh, we perform a boolean check on
this variable. However, "false" will evaluate as true, because it is a
non-null string. This was causing CI Linux packages to always build as
if BUILD_FOR_DISTRIBUTION was enabled, which caused the git commit hash
to be omitted from package filenames.

Since we know the expected values, let's just test directly if the
variable equals "true" to get the expected behavior.
2022-07-31 10:24:36 +10:00
CarrotCodes ba1b5fcaea CI: Fix Sparkle cache location for local macOS CI build 2022-07-31 09:48:57 +10:00
Matt Gajownik 577b11ede4 CI: Bump CEF from 4638 (95) to 5060 (103) 2022-07-31 09:46:44 +10:00