summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorzxp198210052024-01-16 09:29:27 +0800
committerzxp198210052024-01-16 09:29:27 +0800
commitbc9ce57b59207b02bd07785adb6a8a4005359a0b (patch)
tree3067e2077069d978026beb20b028e307c700aa8d
parent19f7eb4f05d8b2f24d11fdaffff8d5debf739df1 (diff)
downloadaur-bc9ce57b59207b02bd07785adb6a8a4005359a0b.tar.gz
update to 0.11.2.r10.gda70945
-rw-r--r--.SRCINFO25
-rw-r--r--PKGBUILD107
2 files changed, 79 insertions, 53 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c86a22cfe571..30e541a032e9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,23 @@
pkgbase = figma-linux-git
- pkgver = 0.11.3.r0.g34deb85
- pkgrel = 0
pkgdesc = The collaborative interface design tool. Unofficial Figma desktop client for Linux
+ pkgver = 0.11.2.r10.gda70945
+ pkgrel = 1
url = https://github.com/Figma-Linux/figma-linux
arch = any
license = GPL2
- depends = hicolor-icon-theme
+ makedepends = gendesk
makedepends = git
- makedepends = nodejs>=18.11.18
- makedepends = npm>=9.8.1
- makedepends = xdg-utils
+ makedepends = nvm
+ makedepends = npm
+ depends = electron27
+ depends = hicolor-icon-theme
+ depends = libdbusmenu-gtk3
+ depends = libdbusmenu-glib
provides = figma-linux
- source = figma-linux::git+https://github.com/Figma-Linux/figma-linux.git#tag=v0.11.3
- 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 74ddeb36c8ed..9778171069ca 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,54 +1,75 @@
-_pkgname="figma-linux"
-pkgname="${_pkgname}-git"
-pkgver="0.11.3.r0.g34deb85"
-pkgrel="0"
+# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
+# Contributor: iFlygo
+pkgname=figma-linux-git
+_pkgname=Figma-linux
+pkgver=0.11.2.r10.gda70945
+_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.3"
-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-gtk3'
+ 'libdbusmenu-glib'
+)
+makedepends=(
+ 'gendesk'
+ 'git'
+ 'nvm'
+ 'npm'
+)
+source=(
+ "${pkgname%-git}.git::git+${url}.git"
+ "${pkgname%-git}.sh"
+)
+sha256sums=('SKIP'
+ 'd4272fed78cdcacd9edfb019134ac485d65b43f4d8c7a4179edbaed56af9b231')
pkgver() {
- cd "${srcdir}/${_pkgname}"
- git describe --long --tags --exclude='*[a-z][a-z]*' | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
+ 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}"
- npm install --no-frozen-lockfile
- npm run build
- ./node_modules/.bin/electron-builder --config=config/builder.json -l dir --c.directories.output=./out
+ sed -e "s|@electronversion@|${_electronversion}|" \
+ -e "s|@appname@|${pkgname}|g" \
+ -e "s|@appasar@|app.asar|g" \
+ -i "${srcdir}/${pkgname%-git}.sh"
+ _ensure_local_nvm
+ gendesk -f -n -q --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 ELECTRONVERSION="${_electronversion}"
+ sed '62,73d;s|"output": "build/installers"|"output": "build"|g' -i config/builder.json
+ npm install --no-frozen-lockfile
+ npm run package
}
-
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"
-
- 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"
- 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 -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname%-git}"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/linux-"*/icons/* -t "${pkgdir}/usr/lib/${pkgname%-git}/icons"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/linux-"*/lib/*/* -t "${pkgdir}/usr/lib/${pkgname%-git}/lib"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/linux-"*/usr/lib/*/*.* -t "${pkgdir}/usr/lib/${pkgname%-git}/lib"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/linux-"*/usr/lib/*/nss/* -t "${pkgdir}/usr/lib/${pkgname%-git}/lib"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/build/linux-"*/swiftshader/* -t "${pkgdir}/usr/lib/${pkgname%-git}/swiftshader"
+ install -Dm644 "${srcdir}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
+ for _icons in 24x24 36x36 48x48 64x64 72x72 96x96 128x128 192x192 256x256 384x384 512x512;do
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/lib/icons/${_icons}.png" \
+ "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png"
+ done
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
} \ No newline at end of file