capture-studio-bin: rename from tenzen-studio-bin
This commit is contained in:
1 parent
17e236c774
commit
c81f77d539
4 files changed
+12
-10
No files matched your search
@@ -0,0 +1,25 @@
|
||||
pkgbase = capture-studio-bin
|
||||
pkgdesc = Record and edit product demos: cut pauses, add zooms and captions (upstream Flatpak bundle)
|
||||
pkgver = 0.1.31
|
||||
pkgrel = 1
|
||||
url = https://tenzen.studio
|
||||
arch = x86_64
|
||||
license = LicenseRef-proprietary
|
||||
makedepends = ostree
|
||||
makedepends = asar
|
||||
depends = gtk3
|
||||
depends = nss
|
||||
depends = alsa-lib
|
||||
depends = ffmpeg
|
||||
depends = python-xlib
|
||||
optdepends = libpulse: record system audio
|
||||
provides = capture-studio
|
||||
conflicts = capture-studio
|
||||
conflicts = tenzen-studio-bin
|
||||
noextract = Capture-Studio-0.1.31-linux-x64.flatpak
|
||||
options = !strip
|
||||
options = !debug
|
||||
source = Capture-Studio-0.1.31-linux-x64.flatpak::https://downloads.tenzen.studio/desktop/stable/linux/0.1.31/Capture-Studio-0.1.31-linux-x64.flatpak
|
||||
sha256sums = 7da913c08bd574869c3c2cc7e465c42c3d937194a349b384fb8b6314f21d0483
|
||||
|
||||
pkgname = capture-studio-bin
|
||||
@@ -0,0 +1,79 @@
|
||||
# Maintainer: Felitendo
|
||||
# This PKGBUILD is updated automatically:
|
||||
# https://github.com/Felitendo/PKGBUILDS
|
||||
|
||||
pkgname=capture-studio-bin
|
||||
_pkgname=tenzen
|
||||
pkgver=0.1.31
|
||||
pkgrel=1
|
||||
pkgdesc="Record and edit product demos: cut pauses, add zooms and captions (upstream Flatpak bundle)"
|
||||
arch=('x86_64')
|
||||
url="https://tenzen.studio"
|
||||
license=('LicenseRef-proprietary')
|
||||
depends=('gtk3' 'nss' 'alsa-lib' 'ffmpeg' 'python-xlib')
|
||||
optdepends=('libpulse: record system audio')
|
||||
makedepends=('ostree' 'asar')
|
||||
provides=('capture-studio')
|
||||
# called tenzen-studio-bin on the AUR before
|
||||
conflicts=('capture-studio' 'tenzen-studio-bin')
|
||||
options=('!strip' '!debug')
|
||||
_bundle="Capture-Studio-${pkgver}-linux-x64.flatpak"
|
||||
source=("${_bundle}::https://downloads.tenzen.studio/desktop/stable/linux/${pkgver}/${_bundle}")
|
||||
noextract=("${_bundle}")
|
||||
sha256sums=('7da913c08bd574869c3c2cc7e465c42c3d937194a349b384fb8b6314f21d0483')
|
||||
|
||||
prepare() {
|
||||
# A Flatpak bundle is an OSTree static delta carrying a single commit:
|
||||
# apply it to a throwaway repository and check that commit out.
|
||||
rm -rf repo flatpak
|
||||
ostree init --repo=repo --mode=bare-user-only
|
||||
ostree static-delta apply-offline --repo=repo "${_bundle}"
|
||||
|
||||
local _commit
|
||||
_commit="$(find repo/objects -name '*.commit')"
|
||||
_commit="$(basename "$(dirname "${_commit}")")$(basename "${_commit}" .commit)"
|
||||
ostree checkout --repo=repo --user-mode "${_commit}" flatpak
|
||||
|
||||
# the bundle exports no icon - the app's own is only inside app.asar
|
||||
asar extract-file flatpak/files/lib/com.tenzen.desktop/resources/app.asar \
|
||||
dist/assets/brand/icon.png
|
||||
}
|
||||
|
||||
package() {
|
||||
install -d "${pkgdir}/opt/${pkgname}"
|
||||
cp -a "${srcdir}/flatpak/files/lib/com.tenzen.desktop/." "${pkgdir}/opt/${pkgname}/"
|
||||
|
||||
install -d "${pkgdir}/usr/bin"
|
||||
ln -s "/opt/${pkgname}/${_pkgname}" "${pkgdir}/usr/bin/${_pkgname}"
|
||||
|
||||
# named after the app's desktopName, so windows are matched to the entry
|
||||
install -Dm644 "${srcdir}/flatpak/files/share/applications/com.tenzen.desktop.desktop" \
|
||||
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
|
||||
sed -i \
|
||||
-e "s|^Exec=.*|Exec=${_pkgname} %U|" \
|
||||
-e "s|^Icon=.*|Icon=${_pkgname}|" \
|
||||
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
|
||||
|
||||
# 1024x1024, which the hicolor theme has no directory for
|
||||
install -Dm644 "${srcdir}/icon.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
|
||||
|
||||
# A custom licence has to ship its terms. Upstream publishes none as a file,
|
||||
# so what goes in is the reference to the terms it is used under, next to
|
||||
# the notices for everything bundled with it, which the app dir does carry.
|
||||
install -Dm644 /dev/stdin "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" <<'EOF'
|
||||
Capture Studio is proprietary software, distributed by Tenzen Studio.
|
||||
|
||||
It is not covered by a free-software licence: use is governed by the terms
|
||||
of service the vendor publishes, and redistribution of the build this
|
||||
package installs is not granted by them.
|
||||
|
||||
Terms of service: https://tenzen.studio/legal/terms-of-service/
|
||||
EOF
|
||||
|
||||
ln -s "/opt/${pkgname}/resources/THIRD_PARTY_NOTICES.txt" \
|
||||
"${pkgdir}/usr/share/licenses/${pkgname}/THIRD_PARTY_NOTICES.txt"
|
||||
ln -s "/opt/${pkgname}/LICENSE.electron.txt" \
|
||||
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.electron.txt"
|
||||
ln -s "/opt/${pkgname}/LICENSES.chromium.html" \
|
||||
"${pkgdir}/usr/share/licenses/${pkgname}/LICENSES.chromium.html"
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
# capture-studio-bin - Capture Studio by Tenzen Studio (https://tenzen.studio),
|
||||
# a proprietary Electron app for recording and editing product demos.
|
||||
#
|
||||
# Upstream publishes no source, so there is only this -bin package. For Linux
|
||||
# it ships nothing but a Flatpak bundle, versioned on its own download host:
|
||||
# the PKGBUILD unpacks that with ostree (a Flatpak bundle is an OSTree static
|
||||
# delta) and takes the icon out of app.asar, so the test build needs both.
|
||||
#
|
||||
# The release API names the current version and lists every artifact with its
|
||||
# sha256, so nothing has to be downloaded to refresh the checksum - makepkg's
|
||||
# test build verifies it against the real download anyway.
|
||||
|
||||
API="https://tenzen.studio/api/v1/desktop/releases/latest?channel=stable"
|
||||
|
||||
BUILD_DEPS=(ostree asar)
|
||||
|
||||
latest_version() {
|
||||
curl -sf "$API" | jq -r '.release.version'
|
||||
}
|
||||
|
||||
# refresh_checksums <version> <pkgbuild-path>
|
||||
refresh_checksums() {
|
||||
local ver="$1" pkgbuild="$2" sha
|
||||
|
||||
sha="$(curl -sf "$API" | jq -r --arg f "Capture-Studio-$ver-linux-x64.flatpak" \
|
||||
'.release.artifacts[] | select(.file_name == $f) | .sha256')"
|
||||
if [[ ! "$sha" =~ ^[0-9a-f]{64}$ ]]; then
|
||||
echo "the release API lists no Capture-Studio-$ver-linux-x64.flatpak" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
sed -i "s|^sha256sums=.*|sha256sums=('$sha')|" "$pkgbuild"
|
||||
}
|
||||
Reference in new issue
Block a user