blob: 1090dbcebd3ce01f6edca14666fa93cac81c641c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# Maintainer: sukanka <su975853527 [AT] gmail.com>
pkgname=clash-for-windows-electron-bin
_pkgname=${pkgname%-bin}
pkgver=0.19.27
pkgrel=1
pkgdesc="A Windows/macOS/Linux GUI based on Clash and Electron. Using system clash and electron"
arch=("x86_64" "aarch64")
license=('unknown')
url="https://github.com/Fndroid/clash_for_windows_pkg"
install=clash-for-windows-bin.install
provides=('clash-for-windows' ${_pkgname})
conflicts=('clash-for-windows' 'clash-for-windows-bin')
depends=('electron'
'clash'
'clash-geoip'
)
optdepends=(
'nftables: TUN mode required.'
'iproute2: TUN mode required.'
'clash-premium-tun: TUN mode required'
)
makedepends=('asar' 'npm')
source_x86_64=("${pkgname}-${pkgver}-x86_64-linux.tar.gz::${url}/releases/download/${pkgver}/Clash.for.Windows-${pkgver}-amd64-linux.tar.gz")
source_aarch64=("${pkgname}-${pkgver}-aarch64-linux.tar.gz::${url}/releases/download/${pkgver}/Clash.for.Windows-${pkgver}-arm64-linux.tar.gz")
source=(
"clash-for-windows.desktop"
"cfw"
"cfw-start-pre.sh"
"clash-core-service@.service")
sha256sums=('9a84b05b718913d3d1fbe462a2da671abff2cb94bb2ded75a3af12204cebe32f'
'db2e160e5d5cf82ed69d0926ac51c0eccb9efc541f89be3bb467d85be509f735'
'2d1cb05f33eef51d01bca397ac52796a557b812b243f0d5e5377f7640e4d4433'
'54d4d262356044fb75ce7bdee662aa44046842f9c70765cd6dd0185415388409')
sha256sums_x86_64=('5691f43c07e1a07e773f713062f255a472d6e6bfbae4a8ff278b125d2999bd98')
sha256sums_aarch64=('535616e98692998f18055290ba96d811e2abcb9cf1baabe88da3388d47141113')
_parch=$(echo ${arch} | sed "s/x86_64/x64/;s/aarch64/arm64/")
build() {
cd $srcdir
sed -i "s/pkgver/${pkgver}/" clash-for-windows.desktop
cd "Clash for Windows-${pkgver}-${_parch}-linux"/resources/
asar e app.asar apps
# fix for autostart and system electron
cd apps
sed -i 's|r=n\[1\],|r="cfw\\nIcon=clash\\n",|g' dist/electron/renderer.js
sed -i 's|"electron-log": "^4.1.0",|"electron-log": "^4.4.6",|g' package.json
export HOME=$srcdir
npm install
cd ..
asar p apps app.asar
}
package() {
cd $srcdir
install -Dm755 cfw -t ${pkgdir}/usr/bin
install -Dm644 "clash-for-windows.desktop" -t ${pkgdir}/usr/share/applications
install -Dm644 "clash-core-service@.service" -t ${pkgdir}/usr/lib/systemd/system/
install -Dm755 cfw-start-pre.sh -t ${pkgdir}/opt/clash-for-windows
cd "Clash for Windows-${pkgver}-${_parch}-linux"
install -Dm644 resources/app.asar -t ${pkgdir}/opt/clash-for-windows/
cp -pvr resources/static ${pkgdir}/opt/clash-for-windows/
cd resources/apps/dist/electron/static/imgs
install -Dm644 logo.png ${pkgdir}/usr/share/icons/hicolor/512x512/apps/clash.png
cd ${pkgdir}/opt/clash-for-windows/static/files
rm -rf linux/{common,${_parch}/clash-linux} default/Country.mmdb
ln -s /usr/bin/clash linux/${_parch}/clash-linux
ln -s /etc/clash/Country.mmdb default/Country.mmdb
}
|