summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorxiota2024-03-27 12:26:20 +0000
committerxiota2024-03-27 12:32:09 +0000
commit265c6186b6696da1b35df6097dd900fc0e03a309 (patch)
tree32dcd0462bd2f37f346756bca9fe69f8d0f3c1c1 /PKGBUILD
parentd7ce05d325516579e3ff3e52426348ad126a2d45 (diff)
downloadaur-265c6186b6696da1b35df6097dd900fc0e03a309.tar.gz
2.0.19
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD155
1 files changed, 121 insertions, 34 deletions
diff --git a/PKGBUILD b/PKGBUILD
index e312f6ecba0a..4cbae0cadf66 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,52 +1,139 @@
-# Maintainer: Damien Guihal <dguihal@gmail.com>
-# Maintainer: Rodrigo Bezerra <rodrigobezerra21 at gmail dot com>
+# Maintainer:
+# Contributor: Damien Guihal <dguihal@gmail.com>
+# Contributor: Rodrigo Bezerra <rodrigobezerra21 at gmail dot com>
-pkgname=vdhcoapp
-pkgver=1.6.3
-pkgrel=2
+_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')
-url="https://github.com/mi-g/vdhcoapp"
-license=('GPL2')
-depends=('ffmpeg')
-makedepends=('gulp' 'nodejs' 'npm')
-options=(!strip)
-source=($pkgname-$pkgver.tar.gz::https://github.com/mi-g/vdhcoapp/archive/v${pkgver}.tar.gz
- vdhcoapp.patch
- vdhcoapp-build.patch
- vdhcoapp-install.hook
- vdhcoapp-remove.hook)
-sha256sums=('0b15f1f623193cf6c09fb830e3f5db0a71a63586fa1cb5cb73bf1a819d7c2f55'
- 'ab240d9d9fea27792d008eaffe14de5f798ced0938cc79351ed108185baf93a3'
- '9866e599048cc63f4a09182f8539fe1ba39315c5e33a6e2df41c88efa895064d'
- '9f8cbe84b2543738390b70d770551259c6db2b67235b7792e9094908cecbc955'
- '448ee36b350b6bcd304d33cf7638c13bda88d5086f2256e823d73ccc22e52ce0')
+
+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+=('2fedba42f5d1f207c92938e99cd3fcf0af351820e88ab0df5fcbf7b68ae51d23')
+
+# 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 ${pkgname}-${pkgver}
+ 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&'
- patch -Np2 -i "${srcdir}/vdhcoapp.patch"
- patch -N -i "${srcdir}/vdhcoapp-build.patch"
+ _filepicker_prepare
}
build() {
- cd "${pkgname}-${pkgver}"
+ : ${_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
+ npm install --no-package-lock --no-audit --no-fund --prefer-offline
+ npm install pkg --no-package-lock --no-audit --no-fund --prefer-offline
- gulp
+ 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() {
- cd "${pkgname}-${pkgver}"
+ depends+=('ffmpeg')
+
+ cd "$_pkgsrc"
- install -Dm755 bin/net.downloadhelper.coapp-* "${pkgdir}/usr/bin/vdhcoapp"
- install -Dm644 config.json "${pkgdir}/usr/share/vdhcoapp/config.json"
+ 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/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/"
- install -Dm644 "${srcdir}/vdhcoapp-install.hook" "${pkgdir}/usr/share/libalpm/hooks/vdhcoapp-install.hook"
- install -Dm644 "${srcdir}/vdhcoapp-remove.hook" "${pkgdir}/usr/share/libalpm/hooks/vdhcoapp-remove.hook"
+ _filepicker_package
}