summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorzxp198210052024-04-01 16:34:28 +0800
committerzxp198210052024-04-01 16:34:28 +0800
commit6d1f0c5e9b4561417f6d65ceb13b2cac52b93414 (patch)
tree83f68e858a534aeac169316e9f825b5b9e470213 /PKGBUILD
parent18c315a0ec5ff5e2e261b505cfe9f54eeea1ebe0 (diff)
downloadaur-github-desktop-git.tar.gz
update to release.2.9.10.r4415.ge315c497a1
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD112
1 files changed, 75 insertions, 37 deletions
diff --git a/PKGBUILD b/PKGBUILD
index f454fa325b1d..f7701c3c1032 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,47 +1,85 @@
-# Maintainer: Ian MacKay <immackay0@gmail.com>
-# Prior Maintainer: Mikel Pintado <mikelaitornube2010@gmail.com>
+# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
+# Contributor: Ian MacKay <immackay0@gmail.com>
+# Contributor: Mikel Pintado <mikelaitornube2010@gmail.com>
# Contributor: Jiawen Geng
-
-_pkgname='github-desktop'
-pkgname="${_pkgname}-git"
-pkgver=r26627.3461639c7
-gitname="linux"
+pkgname=github-desktop-git
+_pkgname="GitHub Desktop"
+pkgver=release.2.9.10.r4415.ge315c497a1
+_electronversion=28
+_nodeversion=18
pkgrel=1
-pkgdesc="GUI for managing Git and GitHub."
-arch=('x86_64')
-url="https://desktop.github.com"
+pkgdesc="GUI for managing Git and GitHub.Use system-wide electron."
+arch=('any')
+url="https://github.com/shiftkey/desktop"
license=('MIT')
-depends=('gnome-keyring' 'libsecret' 'git' 'curl' 'libxss' 'gconf' 'nss' 'nspr' 'unzip')
-optdepends=('hub: CLI interface for GitHub.')
-makedepends=('xorg-server-xvfb' 'nodejs>=10.16.0' 'yarn' 'python2' 'unzip')
-provides=(${_pkgname})
-conflicts=(${_pkgname})
-DLAGENTS=("https::/usr/bin/git clone --branch ${gitname} --single-branch %u")
-source=(
- git+https://github.com/shiftkey/desktop.git
- ${_pkgname}.desktop
+conflicts=("${pkgname%-git}")
+provides=("${pkgname%-git}=${pkgver%.r*}")
+depends=(
+ "electron${_electronversion}"
+ 'perl'
+ 'libsecret'
)
-sha256sums=(
- 'SKIP'
- 932e4c456e8c6db03d27172cf0daa37806bf025bb560d8b3d758c0997d1a618c
+makedepends=(
+ 'npm'
+ 'yarn'
+ 'git'
+ 'nvm'
+ 'gendesk'
+ 'base-devel'
+ 'gcc'
)
+source=(
+ "${pkgname%-git}.git::git+${url}.git"
+ "${pkgname%-git}.sh")
+sha256sums=('SKIP'
+ 'dc0c5ca385ad81a08315a91655c7c064b5bf110eada55e61265633ae198b39f8')
pkgver() {
- cd desktop
- printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+ cd "${srcdir}/${pkgname%-git}.git"
+ git describe --tags | sed 's/\w\+\///g;s/\([^-]*-g\)/r\1/;s/-/./g;s/v//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 desktop
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
- yarn install
- yarn build:prod
+ sed -e "s|@electronversion@|${_electronversion}|" \
+ -e "s|@appname@|${pkgname%-git}|g" \
+ -e "s|@runname@|app|g" \
+ -e "s|@options@|env ELECTRON_OZONE_PLATFORM_HINT=auto|g" \
+ -i "${srcdir}/${pkgname%-git}.sh"
+ _ensure_local_nvm
+ gendesk -q -f -n --categories="Utility" --name="${_pkgname}" --exec="${pkgname%-git} %U"
+ cd "${srcdir}/${pkgname%-git}.git"
+ export npm_config_build_from_source=true
+ 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
+ HOME="${srcdir}/.electron-gyp"
+ mkdir -p "${srcdir}/.electron-gyp"
+ touch "${srcdir}/.electron-gyp/.yarnrc"
+ if [ `curl -s ipinfo.io/country | grep CN | wc -l ` -ge 1 ];then
+ export npm_config_registry=https://registry.npmmirror.com
+ 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
+ rm -rf dist node_mudules out
+ yarn install --cache-folder "${srcdir}/.yarn_cache"
+ yarn run build:prod
}
package() {
- install -d "${pkgdir}/opt/${_pkgname}"
- cp -r --preserve=mode desktop/dist/github-desktop-linux-x64/* "${pkgdir}/opt/${_pkgname}/"
- install -Dm644 "${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
- install -Dm644 "desktop/app/static/logos/1024x1024.png" "${pkgdir}/usr/share/icons/hicolor/1024x1024/apps/${_pkgname}.png"
- install -Dm644 "desktop/app/static/logos/512x512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/${_pkgname}.png"
- install -Dm644 "desktop/app/static/logos/256x256.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/${_pkgname}.png"
- printf "#!/bin/sh\n\n/opt/${_pkgname}/github-desktop \"\$@\"\n" | install -Dm755 /dev/stdin "${pkgdir}/usr/bin/${_pkgname}"
-}
+ install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
+ install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
+ cp -r "${srcdir}/${pkgname%-git}.git/dist/${pkgname%-git}-linux-"*/resources/app "${pkgdir}/usr/lib/${pkgname%-git}"
+ for _icons in 32x32 64x64 128x128 256x256 512x512 1024x1024;do
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/app/static/linux/logos/${_icons}.png" \
+ "${pkgdir}/usr/share/icons/hicolor/${_icons}/apps/${pkgname%-git}.png"
+ done
+ install -Dm644 "${srcdir}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
+ install -Dm644 "${srcdir}/${pkgname%-git}.git/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
+} \ No newline at end of file