summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: f2f7d5695e50ee1616c5c79ad8135269afa28b47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# Maintainer: Cobalt Space <cobaltspace at protonmail dot com>
# Contributor: Benjamin Klettbach <b dot klettbach at gmail dot com >
# Contributor: Antoine Damhet <xdbob at lse.epita.fr>
# Contributor: Jonathan Steel <jsteel at archlinux.org>
# Contributor: ArcticVanguard <LideEmily at gmail dot com>
# Contributor: ledti <antergist at gmail dot com>
pkgname=obs-studio-wayland-git
pkgver=26.1.2.r149.g951acf2df
pkgrel=1
pkgdesc="Free, open source software for live streaming and recording (with wayland patches)"
arch=("i686" "x86_64")
url="https://github.com/obsproject/obs-studio"
license=("GPL2")
depends=("ffmpeg" "jansson" "libxinerama" "libxkbcommon-x11" "mbedtls"
         "qt5-svg" "qt5-x11extras" "curl" "jack" "gtk-update-icon-cache")
makedepends=("cmake" "git" "libfdk-aac" "libxcomposite" "x264" "jack"
             "vlc" "swig" "luajit" "python" "cef-minimal" "wayland")
optdepends=("libfdk-aac: FDK AAC codec support"
            "libxcomposite: XComposite capture support"
            "libva-intel-driver: hardware encoding"
            "libva-mesa-driver: hardware encoding"
            "vlc: VLC Media Source"
            "swig: Scripting"
            "luajit: Lua scripting"
            "python: Python scripting"
            "v4l2loopback-dkms: virtual webcam"
            "wlrobs: screen capture on wlroots compositors"
            "obs-xdg-portal-git: screen capture using xdg-portal")
provides=("obs-studio=$pkgver" "obs-studio-git" "obs-studio-wayland=$pkgver")
conflicts=("obs-studio")
source=("$pkgname::git+https://github.com/obsproject/obs-studio.git#branch=master"
        "git+https://github.com/Mixer/ftl-sdk.git"
        "git+https://github.com/obsproject/obs-browser.git"
        "fix_python_binary_loading.patch"
        "rr-cache.tar.zst")
md5sums=('SKIP'
         'SKIP'
         'SKIP'
         '051b90f05e26bff99236b8fb1ad377d1'
         'b2c579e25a7884084701a71579e0b653')

pkgver() {
  cd $pkgname
  git describe --long --tags master | sed -r "s/([^-]*-g)/r\1/;s/-/./g"
}

prepare() {
  cd $pkgname
  git config submodule.plugins/obs-outputs/ftl-sdk.url $srcdir/ftl-sdk
  git config submodule.plugins/obs-browser.url $srcdir/obs-browser
  git submodule update

  # from https://github.com/obsproject/obs-studio/pull/3338
  cp -a "$srcdir"/.git/rr-cache .git/
  git config rerere.enabled true
  git config user.email "placeholder@example.com"
  git config user.name "Placeholder"
  git fetch origin pull/3338/head
  git checkout -b wayland FETCH_HEAD
  git merge --no-edit master || true
  [[ -z "$(git rerere status)" ]] || exit 1
  git commit --all --no-edit --allow-empty --allow-empty-message

  # from official arch package
  patch -Np1 < "$srcdir"/fix_python_binary_loading.patch
}

build() {
  cmake -S $pkgname -B build\
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DBUILD_BROWSER=ON \
    -DCEF_ROOT_DIR="/opt/cef" \
    -DOBS_VERSION_OVERRIDE=$pkgver

  make -C build
}

package() {
  make -C build install DESTDIR="$pkgdir"
}

# vim: ts=2:sw=2:expandtab