summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD99
1 files changed, 60 insertions, 39 deletions
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