vdhcoapp-git: auto updated to 2.0.19.r4.g0b40d3e-2

This commit is contained in:
Lilac 2024-03-23 14:32:32 +00:00
parent 0416758e51
commit 93f027c8c6
4 changed files with 432 additions and 0 deletions

215
repo/vdhcoapp-git/PKGBUILD Normal file
View file

@ -0,0 +1,215 @@
# Maintainer:
## options
if [ -n "$_srcinfo" ] || [ -n "$_pkgver" ] ; then
: ${_autoupdate:=false}
else
: ${_autoupdate:=true}
fi
: ${_build_git:=true}
unset _pkgtype
[[ "${_build_git::1}" == "t" ]] && _pkgtype+="-git"
## basic info
_pkgname="vdhcoapp"
pkgname="$_pkgname${_pkgtype:-}"
pkgver=2.0.19.r4.g0b40d3e
pkgrel=2
pkgdesc="Companion application for Video DownloadHelper browser add-on"
url="https://github.com/aclap-dev/vdhcoapp"
license=('GPL-2.0-or-later')
arch=('x86_64')
_main_package() {
makedepends+=(
'esbuild'
'jq'
'yq'
# AUR
'nvm'
)
options=(!strip emptydirs)
install="$_pkgname.install"
if [ "${_build_git::1}" != "t" ] ; then
_main_stable
else
_main_git
fi
_main_filepicker
}
# stable package
_main_stable() {
_update_version
_pkgsrc="$_pkgname-${_pkgver:?}"
_pkgext="tar.gz"
source+=("$_pkgsrc.$_pkgext"::"$url/archive/v$_pkgver.$_pkgext")
sha256sums+=('SKIP')
pkgver() {
echo "${_pkgver:?}"
}
}
# git package
_main_git() {
#makedepends+=('git')
provides=("$_pkgname=${pkgver%%.r*}")
conflicts=("$_pkgname")
_pkgsrc="$_pkgname"
source+=("$_pkgsrc"::"git+$url.git")
sha256sums+=('SKIP')
pkgver() {
cd "$_pkgsrc"
git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
}
# filepicker
_main_filepicker() {
depends+=(
'at-spi2-core'
'gdk-pixbuf2'
'gtk3'
'pango'
)
makedepends+=(
'cargo'
'git'
)
_filepicker_url="https://github.com/paulrouget/static-filepicker"
_filepicker_pkgsrc="vdhcoapp-filepicker"
source+=("$_filepicker_pkgsrc"::"git+$_filepicker_url.git")
sha256sums+=('SKIP')
}
_filepicker_prepare() {
export CARGO_HOME="${CARGO_HOME:-$SRCDEST/cargo-home}"
export RUSTUP_TOOLCHAIN=${RUSTUP_TOOLCHAIN:-stable}
export CARGO_TARGET_DIR=target
cd "$srcdir/$_filepicker_pkgsrc"
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
_filepicker_build() {
cd "$srcdir/$_filepicker_pkgsrc"
cargo build --frozen --release --all-features
}
_filepicker_package() {
install -Dm755 "$srcdir/$_filepicker_pkgsrc/$CARGO_TARGET_DIR/release/filepicker" -t "$pkgdir/usr/bin/"
}
# common functions
prepare() {
cd "$_pkgsrc"
mv -f app/* .
# create config.json
tomlq . ./config.toml \
| jq '.target.os = "linux"' \
| jq '.target.arch = "amd64"' \
> src/config.json
# fix path to config.json
sed -E -i src/main.js src/native-autoinstall.js \
-e 's&^(const config = require\('\'')(config.json'\''\);)$&\1./\2&'
_filepicker_prepare
}
build() {
: ${_nodeversion:=18}
export HOME="$srcdir/node-home"
export NVM_DIR="${SRCDEST:-${startdir:-$srcdir}}/node-nvm"
# set up nvm
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
nvm install $_nodeversion
nvm use $_nodeversion
# build
cd "$_pkgsrc"
npm install --no-package-lock --no-audit --no-fund --prefer-offline
npm install pkg --no-package-lock --no-audit --no-fund --prefer-offline
local _esbuild_options=(
src/main.js
--target=esnext
"--banner:js=const _importMetaUrl=require('url').pathToFileURL(__filename)"
"--define:import.meta.url=_importMetaUrl"
--format=cjs
--bundle
--platform=node
--tree-shaking=true
--alias:electron=electron2
--outfile=bundled.js
)
esbuild "${_esbuild_options[@]}"
local _pkg_options=(
bundled.js
--target "node$_nodeversion-linux-x64"
--output vdhcoapp
)
./node_modules/.bin/pkg "${_pkg_options[@]}"
_filepicker_build
}
package() {
depends+=('ffmpeg')
cd "$_pkgsrc"
install -Dm755 vdhcoapp -t "$pkgdir/usr/bin/"
install -dm755 "$pkgdir/usr/lib/mozilla/native-messaging-hosts/"
install -dm755 "$pkgdir/etc/opt/chrome/native-messaging-hosts/"
install -dm755 "$pkgdir/etc/chromium/native-messaging-hosts/"
install -dm755 "$pkgdir/etc/opt/edge/native-messaging-hosts/"
_filepicker_package
}
# update version
_update_version() {
: ${_pkgver:=${pkgver%%.r*}}
if [[ "${_autoupdate::1}" != "t" ]] ; then
return
fi
local _response=$(curl -Ssf "$url/releases.atom")
local _tag=$(
printf '%s' "$_response" \
| grep '"https://.*/releases/tag/.*"' \
| sed -E 's@^.*/releases/tag/(.*)".*$@\1@' \
| grep -Ev '[a-z]{2}' | sort -rV | head -1
)
local _pkgver_new="${_tag#v}"
# update _pkgver
if [ "$_pkgver" != "${_pkgver_new:?}" ] ; then
_pkgver="${_pkgver_new:?}"
fi
}
# execute
_main_package

View file

@ -0,0 +1,50 @@
# Maintainer:
# options
export CARGO_HOME="${CARGO_HOME:-$SRCDEST/cargo-home}"
export RUSTUP_TOOLCHAIN=${RUSTUP_TOOLCHAIN:-stable}
export CARGO_TARGET_DIR=target
: ${_build_git:=false}
unset _pkgtype
[[ "${_build_git::1}" == "t" ]] && _pkgtype+="-git"
# basic info
_pkgname=vdhcoapp-filepicker
pkgname="$_pkgname${_pkgtype:-}"
pkgver=1.0.1
pkgrel=1
pkgdesc="Filepicker for VDHCoApp" # added in 2.0.16
url="https://github.com/paulrouget/static-filepicker"
arch=('x86_64')
license=('LicenseRef-Pending')
depends=(
'at-spi2-core'
'gdk-pixbuf2'
'gtk3'
'pango'
)
makedepends=(
'cargo'
'git'
)
_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+$url.git#tag=v$pkgver")
sha256sums=('SKIP')
prepare() {
cd "$_pkgsrc"
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "$_pkgsrc"
cargo build --frozen --release --all-features
}
package() {
install -Dm755 "$_pkgsrc/$CARGO_TARGET_DIR/release/filepicker" -t "$pkgdir/usr/bin/"
}

View file

@ -0,0 +1,153 @@
_pkgname="vdhcoapp"
pkgname="$_pkgname"
pkgver=2.0.19
pkgrel=1
pkgdesc="Companion application for Video DownloadHelper browser add-on"
url="https://github.com/aclap-dev/vdhcoapp"
license=('GPL-2.0-or-later')
arch=('x86_64')
makedepends=(
'esbuild'
'jq'
'yq'
# AUR
'nvm'
)
options=(!strip emptydirs)
install="$_pkgname.install"
_pkgsrc="$_pkgname-$pkgver"
_pkgext="tar.gz"
source+=("$_pkgsrc.$_pkgext"::"$url/archive/v$pkgver.$_pkgext")
sha256sums+=('SKIP')
# filepicker
depends+=(
'at-spi2-core'
'gdk-pixbuf2'
'gtk3'
'pango'
)
makedepends+=(
'cargo'
'git'
)
_filepicker_url="https://github.com/paulrouget/static-filepicker"
_filepicker_pkgsrc="vdhcoapp-filepicker"
source+=("$_filepicker_pkgsrc"::"git+$_filepicker_url.git")
sha256sums+=('SKIP')
_filepicker_prepare() {
export CARGO_HOME="${CARGO_HOME:-$SRCDEST/cargo-home}"
export RUSTUP_TOOLCHAIN=${RUSTUP_TOOLCHAIN:-stable}
export CARGO_TARGET_DIR=target
cd "$srcdir/$_filepicker_pkgsrc"
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
_filepicker_build() {
cd "$srcdir/$_filepicker_pkgsrc"
cargo build --frozen --release --all-features
}
_filepicker_package() {
install -Dm755 "$srcdir/$_filepicker_pkgsrc/$CARGO_TARGET_DIR/release/filepicker" -t "$pkgdir/usr/bin/"
}
prepare() {
cd "$_pkgsrc"
mv -f app/* .
# create config.json
tomlq . ./config.toml \
| jq '.target.os = "linux"' \
| jq '.target.arch = "amd64"' \
> src/config.json
# fix path to config.json
sed -E -i src/main.js src/native-autoinstall.js \
-e 's&^(const config = require\('\'')(config.json'\''\);)$&\1./\2&'
_filepicker_prepare
}
build() {
: ${_nodeversion:=18}
export HOME="$srcdir/node-home"
export NVM_DIR="${SRCDEST:-${startdir:-$srcdir}}/node-nvm"
# set up nvm
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
nvm install $_nodeversion
nvm use $_nodeversion
# build
cd "$_pkgsrc"
npm install --no-package-lock --no-audit --no-fund --prefer-offline
npm install pkg --no-package-lock --no-audit --no-fund --prefer-offline
local _esbuild_options=(
src/main.js
--target=esnext
"--banner:js=const _importMetaUrl=require('url').pathToFileURL(__filename)"
"--define:import.meta.url=_importMetaUrl"
--format=cjs
--bundle
--platform=node
--tree-shaking=true
--alias:electron=electron2
--outfile=bundled.js
)
esbuild "${_esbuild_options[@]}"
local _pkg_options=(
bundled.js
--target "node$_nodeversion-linux-x64"
--output vdhcoapp
)
./node_modules/.bin/pkg "${_pkg_options[@]}"
_filepicker_build
}
package() {
depends+=('ffmpeg')
cd "$_pkgsrc"
install -Dm755 vdhcoapp -t "$pkgdir/usr/bin/"
install -dm755 "$pkgdir/usr/lib/mozilla/native-messaging-hosts/"
install -dm755 "$pkgdir/etc/opt/chrome/native-messaging-hosts/"
install -dm755 "$pkgdir/etc/chromium/native-messaging-hosts/"
install -dm755 "$pkgdir/etc/opt/edge/native-messaging-hosts/"
_filepicker_package
}
cat >vdhcoapp.install <<END
post_install() {
echo "vdhcoapp: system install"
vdhcoapp install --system
}
post_upgrade() {
echo "vdhcoapp: system install"
vdhcoapp install --system
}
pre_remove() {
echo "vdhcoapp: system uninstall"
vdhcoapp uninstall --system
}
END

View file

@ -0,0 +1,14 @@
post_install() {
echo "vdhcoapp: system install"
vdhcoapp install --system
}
post_upgrade() {
echo "vdhcoapp: system install"
vdhcoapp install --system
}
pre_remove() {
echo "vdhcoapp: system uninstall"
vdhcoapp uninstall --system
}