summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 5e94418338cd58864506219cc7ba76bbf1d67fa7 (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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>

pkgrealname=webcamoid
pkgname=webcamoid-git
pkgver=9.3.0.r213.gcd702239b
pkgrel=1
pkgdesc="Webcamoid is a full featured webcam capture application."
url='https://webcamoid.github.io/'
license=('GPL')
arch=('i686' 'x86_64' 'armv6h' 'aarch64')
depends=('qt6-declarative'
         'qt6-svg')
optdepends=('v4l-utils: Extra formats support for webcams'
            'akvcam-dkms-git: Virtual camera support (Recommended)'
            'v4l2loopback-dkms: Virtual camera support'
            'ffmpeg: Video playback/recording/conversion (Recommended)'
            'gst-plugins-base: Video playback/conversion'
            'gst-plugins-good: Video playback/conversion'
            'gst-plugins-bad: Video playback/conversion'
            'gst-plugins-ugly: Video playback/conversion'
            'vlc: Video playback (Recommended)'
            'pipewire: Screen capture'
            'libpulse: Audio playback (Recommended)'
            'alsa-lib: Audio playback'
            'jack: Audio playback'
            'portaudio: Audio playback'
            'sdl3: Audio playback'
            'libuvc: Camera capture'
            'qt6-multimedia: Camera capture'
            'polkit: Root privileges for virtual camera module')
makedepends=('alsa-lib'
             'cmake'
             'ffmpeg'
             'git'
             'gst-plugins-base-libs'
             'jack'
             'libpulse'
             'libuvc'
             'pipewire'
             'portaudio'
             'qt6-multimedia'
             'qt6-tools'
             'sdl3'
             'v4l-utils'
             'vlc')
provides=('webcamoid')
conflicts=('webcamoid')
install="${pkgrealname}.install"
source=("git+https://github.com/${pkgrealname}/${pkgrealname}.git")
md5sums=('SKIP')

pkgver() {
    cd "${srcdir}/${pkgrealname}"
    (
        set -o pipefail
        git describe --long --tags --match '[0-9.]*' 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' ||
        printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
    )
}

prepare() {
    cd "${srcdir}/${pkgrealname}"

    if [ "${WEBCAMOID_ENABLE_EXTRA_PLUGINS}" = 1 ]; then
        echo "Building Webcamoid with extra plugins."
        echo "Cloning submodules (this may take a while)..."

        git submodule init
        git submodule update --recursive --depth=1

        echo "Submodules cloned successfully."
    else
        echo "Building Webcamoid without the extra plugins, extra plugins are"
        echo "available to sponsors only, You can become a sponsor at:"
        echo
        echo "https://github.com/sponsors/hipersayanX"
        echo
        echo "To enable them, build with:"
        echo
        echo "WEBCAMOID_ENABLE_EXTRA_PLUGINS=1 makepkg -si"
    fi
}

build() {
    cd "${srcdir}/${pkgrealname}"

    cmake \
        -S . \
        -B build \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DDAILY_BUILD=ON
    make -C build $MAKEFLAGS
}

package() {
    cd "${srcdir}/${pkgrealname}"

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