diff options
-rw-r--r-- | .SRCINFO | 9 | ||||
-rw-r--r-- | PKGBUILD | 34 | ||||
-rw-r--r-- | figma-linux.sh | 21 |
3 files changed, 38 insertions, 26 deletions
@@ -1,6 +1,6 @@ pkgbase = figma-linux-git pkgdesc = The collaborative interface design tool. Unofficial Figma desktop client for Linux - pkgver = 0.11.3.r2.g313c270 + pkgver = 0.11.3.r3.gb33dd1d pkgrel = 1 url = https://github.com/Figma-Linux/figma-linux arch = any @@ -9,16 +9,15 @@ pkgbase = figma-linux-git makedepends = git makedepends = nvm makedepends = npm - depends = electron27 - depends = hicolor-icon-theme + makedepends = curl + depends = electron29 depends = libdbusmenu-gtk3 depends = libdbusmenu-glib - depends = xdg-utils provides = figma-linux conflicts = figma-linux source = figma-linux.git::git+https://github.com/Figma-Linux/figma-linux.git source = figma-linux.sh sha256sums = SKIP - sha256sums = dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8 + sha256sums = 2b2e8aeed33fd71c521e49fd54fb2fa81218d16aef8bccb88d77909055ab8051 pkgname = figma-linux-git @@ -2,8 +2,8 @@ # Contributor: iFlygo pkgname=figma-linux-git _pkgname=Figma-linux -pkgver=0.11.3.r2.g313c270 -_electronversion=27 +pkgver=0.11.3.r3.gb33dd1d +_electronversion=29 _nodeversion=18 pkgrel=1 arch=("any") @@ -14,26 +14,25 @@ provides=("${pkgname%-git}") conflicts=("${pkgname%-git}") depends=( "electron${_electronversion}" - 'hicolor-icon-theme' 'libdbusmenu-gtk3' 'libdbusmenu-glib' - 'xdg-utils' ) makedepends=( 'gendesk' 'git' 'nvm' 'npm' + 'curl' ) source=( "${pkgname%-git}.git::git+${url}.git" "${pkgname%-git}.sh" ) sha256sums=('SKIP' - 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8') + '2b2e8aeed33fd71c521e49fd54fb2fa81218d16aef8bccb88d77909055ab8051') pkgver() { cd "${srcdir}/${pkgname%-git}.git" - git describe --long --tags --exclude='*[a-z][a-z]*' | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g' + git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' } _ensure_local_nvm() { @@ -46,27 +45,28 @@ build() { sed -e "s|@electronversion@|${_electronversion}|" \ -e "s|@appname@|${pkgname}|g" \ -e "s|@runname@|app.asar|g" \ - -e "s|@options@||g" \ + -e "s|@cfgdirname@|${pkgname%-git}|g" \ + -e "s|@options@|env ELECTRON_OZONE_PLATFORM_HINT=auto|g" \ -i "${srcdir}/${pkgname%-git}.sh" _ensure_local_nvm - gendesk -f -n -q --categories="Utility" --name="${_pkgname}" --exec="${pkgname} %U" + gendesk -f -n -q --pkgname="${pkgname%-git}" --pkgdesc="${pkgdesc}" --categories="Utility" --name="${_pkgname}" --exec="${pkgname} %U" cd "${srcdir}/${pkgname%-git}.git" export npm_config_build_from_source=true export npm_config_cache="${srcdir}/.npm_cache" export ELECTRON_SKIP_BINARY_DOWNLOAD=1 - export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" - export npm_config_target="${SYSTEM_ELECTRON_VERSION}" - export ELECTRONVERSION="${_electronversion}" - export npm_config_disturl=https://electronjs.org/headers + #export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')" + #export npm_config_target="${SYSTEM_ELECTRON_VERSION}" + #export ELECTRONVERSION="${_electronversion}" HOME="${srcdir}/.electron-gyp" - if [ `curl ifconfig.co/country` = "China" ];then - echo 'registry="https://registry.npmmirror.com/"' >> .npmrc - echo 'electron_mirror="https://registry.npmmirror.com/-/binary/electron/"' >> .npmrc - echo 'electron_builder_binaries_mirror="https://registry.npmmirror.com/-/binary/electron-builder-binaries/"' >> .npmrc + if [ `curl -s ipinfo.io/country | grep CN | wc -l ` -ge 1 ];then + export npm_config_registry=https://registry.npmmirror.com + export npm_config_disturl=https://registry.npmmirror.com/-/binary/node/ + export npm_config_electron_mirror=https://registry.npmmirror.com/-/binary/electron/ + export npm_config_electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/ else echo "Your network is OK." fi - sed "s|--config=config/builder.json -l|--config=config/builder.json --dir|g" -i package.json + sed "s|--config=config/builder.json -l|--config=config/builder.json -l --dir|g" -i package.json sed 's|"output": "build/installers"|"output": "build"|g' -i config/builder.json npm install --no-frozen-lockfile npm run package diff --git a/figma-linux.sh b/figma-linux.sh index 7ddcaab8d734..4cfe3ac09dd8 100644 --- a/figma-linux.sh +++ b/figma-linux.sh @@ -1,16 +1,29 @@ #!/bin/bash -set -e +set -o pipefail _APPDIR="/usr/lib/@appname@" _RUNNAME="${_APPDIR}/@runname@" +_CFGDIR="@cfgdirname@/" _OPTIONS="@options@" 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 ELECTRON_DISABLE_SECURITY_WARNINGS=true +export ELECTRON_OVERRIDE_DIST_PATH="/usr/bin/electron@electronversion@" export NODE_ENV=production +export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +export _FLAGS_FILE="${XDG_CONFIG_HOME}/${_CFGDIR}@appname@-flags.conf" +declare -a _USER_FLAGS +if [[ -f "${_FLAGS_FILE}" ]]; then + while read -r line; do + if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then + _USER_FLAGS+=("${line}") + fi + done < "${_FLAGS_FILE}" +fi cd "${_APPDIR}" -if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then - exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" "$@" || exit $? +if [[ "${EUID}" -ne 0 ]] || [[ "${ELECTRON_RUN_AS_NODE}" ]]; then + exec electron@electronversion@ "${_RUNNAME}" ${_OPTIONS} "${_USER_FLAGS[@]}" "$@" else - exec electron@electronversion@ "${_RUNNAME}" "${_OPTIONS}" --no-sandbox "$@" || exit $? + exec electron@electronversion@ "${_RUNNAME}" ${_OPTIONS} --no-sandbox "${_USER_FLAGS[@]}" "$@" fi
\ No newline at end of file |