diff --git a/vesktop-bin/lure.sh b/vesktop-bin/lure.sh new file mode 100644 index 0000000..ea6cbd4 --- /dev/null +++ b/vesktop-bin/lure.sh @@ -0,0 +1,43 @@ +name='vesktop-bin' +version='1.5.1' +release='1' +desc='A cross platform electron-based desktop app aiming to give you a snappier Discord experience with Vencord pre-installed' +homepage='https://github.com/Vencord/Vesktop' +maintainer="Евгений Храмов " +architectures=('amd64') +license=('GPL-3.0-only') +provides=('vencord-bin') +conflicts=('vencord' 'vencord-bin') + +deps=('electron') +build_deps=('pnpm' 'git' 'electron') + +opt_deps=( + 'libnotify: Notifications' + 'xdg-utils: Open links, files, etc' + 'xdg-desktop-portal: Screensharing with Wayland' + 'arrpc: Rich presence support' +) + +sources=("https://github.com/Vencord/Vesktop/releases/download/v${version}/vesktop_${version}_amd64.deb" ) +checksums=('SKIP') + +build() { + bsdtar -xf vesktop_${version}_amd64.deb + sed -e "s|@electronversion@|30|" \ + -e "s|@appname@|vesktop|g" \ + -e "s|@runname@|app.asar|g" \ + -e "s|@options@|env ELECTRON_OZONE_PLA4TFORM_HINT=auto|g" \ + -i "${scriptdir}/vesktop.sh" + bsdtar -xf "${srcdir}/data."* + sed "s|/opt/vesktop/vesktop|vesktop|g" -i "${srcdir}/usr/share/applications/vesktop.desktop" +} +package() { + install -Dm755 "${scriptdir}/vesktop.sh" "${pkgdir}/usr/bin/vesktop" + install -Dm644 "${srcdir}/opt/Vesktop/resources/app.asar" -t "${pkgdir}/usr/lib/vesktop" + install -Dm644 "${srcdir}/usr/share/applications/vesktop.desktop" -t "${pkgdir}/usr/share/applications" + for _icons in 16x16 32x32 48x48 64x64 128x128 256x256 512x512 1024x1024;do + install -Dm644 "${srcdir}/usr/share/icons/hicolor/${_icons}/apps/vesktop.png" \ + -t "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps" + done +} diff --git a/vesktop-bin/vesktop.sh b/vesktop-bin/vesktop.sh new file mode 100644 index 0000000..79abbf3 --- /dev/null +++ b/vesktop-bin/vesktop.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e +_APPDIR="/usr/lib/vesktop" +_RUNNAME="${_APPDIR}/app.asar" +_OPTIONS="env ELECTRON_OZONE_PLA4TFORM_HINT=auto" +export PATH="${_APPDIR}:${PATH}" +export LD_LIBRARY_PATH="${_APPDIR}/swiftshader:${_APPDIR}/lib:${LD_LIBRARY_PATH}" +export ELECTRON_IS_DEV=0 +export ELECTRON_FORCE_IS_PACKAGED=true +export NODE_ENV=production +_FLAGS_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/vesktop-flags.conf" +declare -a flags +if [[ -f "${_FLAGS_FILE}" ]]; then + mapfile -t < "${_FLAGS_FILE}" +fi +for line in "${MAPFILE[@]}"; do + if [[ ! "${line}" =~ ^[[:space:]]*#.* ]] && [[ -n "${line}" ]]; then + flags+=("${line}") + fi +done +cd "${_APPDIR}" +if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then + exec electron30 "${_RUNNAME}" "${_OPTIONS}" "$@" "${flags[@]}" || exit $? +else + exec electron30 "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "$@" "${flags[@]}" || exit $? +fi \ No newline at end of file