summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: e40ebf1863f6759d6a1e794a947da1c9a0ec874c (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
# Maintainer: Vryali <vryali ~at~ gmail ~dot~ com>

# Required icon attribution: Twitch Icon created by Vitaly Corbachev - Flaticon
# https://www.flaticon.com/free-icons/twitch

pkgname='stream-overlay'
pkgdesc="Borderless, transparent, click-through browser windows for streaming"
pkgver='5.0.0'
pkgrel='2'
url="https://github.com/hperrin/stream-overlay/"
__baseurl="https://github.com/hperrin/stream-overlay/archive/refs/tags"
license=('Apache')
arch=('any')

# I'd need to install this fresh to remember if there were other deps I had to add, let me know if I missed any
makedepends=('npm')
depends=('hicolor-icon-theme' 'bash' 'nodejs')

source=("${__baseurl}/v${pkgver}.tar.gz"
    "stream-overlay.png"
    "stream-overlay.desktop"
    "stream-overlay.sh")
sha256sums=('8e9629728c52a46de42bc948e8aa4b32dd6f7732351c40f3045620bbdd27ca0c'
            'f2f99d2aed697ee813c0e351f949979148ac22d73271f667f0a7f5690124635e'
            'b936d6454c941232565e282f566845b8de2ee133bdcfeaff127a8f7e43f5b28e'
            '85dfd699c65ba774343def1522c1d929b63ca90af8dd1c3c17e6a6f0fb6f4191')
build() {
    # Go ahead and remove those so they don't clutter up the app folder
    #for i in 'desktop png sh'; do rm ${pkgname}.${i}; done
    # Everything else is part of the app
    #mv "${srcdir}" "${pkgdir}/usr/share/${pkgname}/"
    # Now, build everything out as per the README.md
    cd "${srcdir}/${pkgname}-${pkgver}"
    npm install
    cd 'app/app'
    npm install
    cd '../../'
    npm run clean
    npm run build
    npm run package:linux
}

package() {
    # Prepare system folders
    install -dm755 "${pkgdir}/usr/share/icons/hicolor/512x512/apps" \
                    "${pkgdir}/usr/share/applications"              \
                    "${pkgdir}/usr/share/${pkgname}"          \
                    "${pkgdir}/usr/bin"

    # Setup the directory structure to comply with standards
    install -Dm644 "${srcdir}/${pkgname}.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/${pkgname}.png"
    install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"
    install -Dm755 "${srcdir}/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}"

    # Clean up some of the build files
    rm -rf "${srcdir}/${pkgname}-${pkgver}/flatpak"*

    # Can do some clean-up here from the things used in build
    rm -rf "${srcdir}/${pkgname}-${pkgver}/dist"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/node_modules"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/node_modules/@electron"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/node_modules/@sindresorhus"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/node_modules/@types"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/node_modules/@szmarczak"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/app/node_modules/esbuild"*
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/app/node_modules/@electron"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/app/node_modules/@sindresorhus"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/app/node_modules/@types"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/app/node_modules/@szmarczak"
    rm -rf "${srcdir}/${pkgname}-${pkgver}/app/app/.svelte-kit/output/server/stylesheets"
    unlink "${srcdir}/${pkgname}-${pkgver}/app/app/node_modules/.bin/esbuild"

    # Copy in all the things
    cp -r "${srcdir}/${pkgname}-${pkgver}/"* "${pkgdir}/usr/share/${pkgname}/"
}