summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorzxp198210052024-01-09 07:00:37 +0800
committerzxp198210052024-01-09 07:00:37 +0800
commit73831b69bf07b06a5ca353d48f892b2e21e10a6e (patch)
tree7c227885a1c2d31c6cd7bd36672e7f1df17e1ee6
parent9daf414100ba2d83d9da565e962a0d895400432b (diff)
downloadaur-73831b69bf07b06a5ca353d48f892b2e21e10a6e.tar.gz
fix errors
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD99
-rw-r--r--figma-linux.sh22
3 files changed, 87 insertions, 57 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9bf1e4ea365b..53d3c923f908 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,23 @@
pkgbase = figma-linux-git
- pkgver = 0.11.2.r0.g27fd357
- pkgrel = 1
pkgdesc = The collaborative interface design tool. Unofficial Figma desktop client for Linux
+ pkgver = 0.11.2.r7.g21a518c
+ pkgrel = 1
url = https://github.com/Figma-Linux/figma-linux
arch = any
license = GPL2
- depends = hicolor-icon-theme
makedepends = git
- makedepends = nodejs>=18.11.18
- makedepends = npm>=9.8.1
+ makedepends = nvm
+ makedepends = npm
makedepends = xdg-utils
+ depends = electron27
+ depends = hicolor-icon-theme
+ depends = libdbusmenu-glib
+ depends = libdbusmenu-gtk3
provides = figma-linux
- source = figma-linux::git+https://github.com/Figma-Linux/figma-linux.git#tag=v0.11.2
- sha256sums = SKIP
conflicts = figma-linux
- conflicts = figma-linux-bin
-pkgname = figma-linux-git \ No newline at end of file
+ source = figma-linux.git::git+https://github.com/Figma-Linux/figma-linux.git
+ source = figma-linux.sh
+ sha256sums = SKIP
+ sha256sums = d4272fed78cdcacd9edfb019134ac485d65b43f4d8c7a4179edbaed56af9b231
+
+pkgname = figma-linux-git
diff --git a/PKGBUILD b/PKGBUILD
index 4a4397ebbce0..de0241bd7191 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,54 +1,75 @@
-_pkgname="figma-linux"
-pkgname="${_pkgname}-git"
-pkgver="0.11.2.r0.g27fd357"
-pkgrel="1"
-arch=("any")
+# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
+# Contributor: iFlygo
+pkgname=figma-linux-git
+pkgver=0.11.2.r7.g21a518c
+_electronversion=27
+_nodeversion=18
+pkgrel=1
+arch=('any')
pkgdesc="The collaborative interface design tool. Unofficial Figma desktop client for Linux"
url="https://github.com/Figma-Linux/figma-linux"
license=("GPL2")
-depends=("hicolor-icon-theme")
-makedepends=("git" "nodejs>=18.11.18" "npm>=9.8.1" "xdg-utils")
-provides=("figma-linux")
-_pkgver="0.11.2"
-source=("${_pkgname}"::"git+${url}.git#tag=v${_pkgver}")
-sha256sums=("SKIP")
-conflicts=("figma-linux" "figma-linux-bin")
-
-
+provides=("${pkgname%-git}")
+conflicts=("${pkgname%-git}")
+depends=(
+ "electron${_electronversion}"
+ 'hicolor-icon-theme'
+ 'libdbusmenu-glib'
+ 'libdbusmenu-gtk3'
+)
+makedepends=(
+ 'git'
+ 'nvm'
+ 'npm'
+ 'xdg-utils'
+)
+source=(
+ "${pkgname%-git}.git::git+${url}.git"
+ "${pkgname%-git}.sh"
+)
+sha256sums=('SKIP'
+ 'd4272fed78cdcacd9edfb019134ac485d65b43f4d8c7a4179edbaed56af9b231')
pkgver() {
- cd "${srcdir}/${_pkgname}"
+ cd "${srcdir}/${pkgname%-git}.git"
git describe --long --tags --exclude='*[a-z][a-z]*' | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
}
-
+_ensure_local_nvm() {
+ export NVM_DIR="${srcdir}/.nvm"
+ source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
+ nvm install "${_nodeversion}"
+ nvm use "${_nodeversion}"
+}
build() {
- cd "${srcdir}/${_pkgname}"
+ sed -e "s|@electronversion@|${_electronversion}|" \
+ -e "s|@appname@|${pkgname%-git}|g" \
+ -e "s|@appasar@|app|g" \
+ -i "${srcdir}/${pkgname%-git}.sh"
+ _ensure_local_nvm
+ 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 ELECTRONVERSION="${_electronversion}"
+ sed '62,73d' -i config/builder.json
npm install --no-frozen-lockfile
npm run build
- ./node_modules/.bin/electron-builder --config=config/builder.json -l dir --c.directories.output=./out
+ npm run package
+ sed "s|/opt/${pkgname%-git}/${pkgname%-git}|${pkgname%-git}|g" -i "resources/${pkgname%-git}.desktop"
}
package() {
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/resources/app.asar" -t "${pkgdir}/usr/lib/${_pkgname}"
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/lib/${CARCH}-linux-gnu/"* -t "${pkgdir}/usr/lib/${_pkgname}/lib"
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/usr/lib/${CARCH}-linux-gnu/"*.* -t "${pkgdir}/usr/lib/${_pkgname}/lib"
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/usr/lib/${CARCH}-linux-gnu/nss/"* -t "${pkgdir}/usr/lib/${_pkgname}/lib/nss"
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/swiftshader/"* -t "${pkgdir}/usr/lib/${_pkgname}/swiftshader"
-
+ install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/resources/app.asar" -t "${pkgdir}/usr/lib/${pkgname%-git}"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/lib/${CARCH}-linux-gnu/"* -t "${pkgdir}/usr/lib/${pkgname%-git}/lib"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/usr/lib/${CARCH}-linux-gnu/"*.* -t "${pkgdir}/usr/lib/${pkgname%-git}/lib"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/usr/lib/${CARCH}-linux-gnu/nss/"* -t "${pkgdir}/usr/lib/${pkgname%-git}/lib/nss"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/swiftshader/"* -t "${pkgdir}/usr/lib/${pkgname%-git}/swiftshader"
for _icons in 24x24 36x36 48x48 64x64 96x96 128x128 256x256 512x512;do
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/icons/${_icons}.png" \
- "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${_pkgname}.png"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/icons/${_icons}.png" \
+ "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png"
done
-
- install -Dm644 "${srcdir}/${_pkgname}/out/linux-unpacked/icons/scalable.svg" \
- "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
- install -Dm644 "${srcdir}/${_pkgname}/resources/${_pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
-
- mkdir -p "${pkgdir}/opt/${_pkgname}"
- chmod 755 "${srcdir}/${_pkgname}/out/linux-unpacked/figma-linux"
- cp -rf ${srcdir}/${_pkgname}/out/linux-unpacked/* ${pkgdir}/opt/${_pkgname}
-
- mkdir -p "${pkgdir}/usr/bin"
- ln -s "/opt/${_pkgname}/figma-linux" "${pkgdir}/usr/bin/${_pkgname}"
-
- xdg-mime default ${_pkgname}.desktop x-scheme-handler/figma
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/installers/linux-unpacked/icons/scalable.svg" \
+ "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${pkgname%-git}.svg"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/resources/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
} \ No newline at end of file
diff --git a/figma-linux.sh b/figma-linux.sh
index cf667cedcb39..aacd8f895847 100644
--- a/figma-linux.sh
+++ b/figma-linux.sh
@@ -1,11 +1,15 @@
-#!/bin/bash
-_ELECTRON=/usr/bin/electron27
-APPDIR="/usr/lib/figma-linux"
-export PATH="${APPDIR}:${PATH}"
-export LD_LIBRARY_PATH="${APPDIR}/swiftshader:${APPDIR}/lib:${APPDIR}/lib/nss:${LD_LIBRARY_PATH}"
-_ASAR="${APPDIR}/app.asar"
+#!/bin/sh
+set -e
+_APPDIR="/usr/lib/@appname@"
+_ASAR="${_APPDIR}/@appasar@"
+export PATH="${_APPDIR}:${PATH}"
+export LD_LIBRARY_PATH="${_APPDIR}/swiftshader:${_APPDIR}/lib:${LD_LIBRARY_PATH}"
+export ELECTRON_IS_DEV=0
+export NODE_ENV=production
+cd "${_APPDIR}"
if [[ $EUID -ne 0 ]] || [[ $ELECTRON_RUN_AS_NODE ]]; then
- exec ${_ELECTRON} ${_ASAR} "$@"
+ exec electron@electronversion@ "${_ASAR}" "$@"
else
- exec ${_ELECTRON} ${_ASAR} --no-sandbox "$@"
-fi \ No newline at end of file
+ exec electron@electronversion@ "${_ASAR}" --no-sandbox "$@"
+fi
+exit \ No newline at end of file