summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorpeeweep2019-11-16 10:17:39 +0800
committerpeeweep2019-11-16 10:17:39 +0800
commitf7a38ba45452c6ce293a46339a3d296294394c4b (patch)
tree73e681b6ad41c232339bcf7a7aa67529de8d45fe
downloadaur-f7a38ba45452c6ce293a46339a3d296294394c4b.tar.gz
Init
-rw-r--r--.SRCINFO23
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD56
-rw-r--r--clash-dashboard.install11
-rw-r--r--clash-dashboard.service10
5 files changed, 106 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..f48fc6866ad3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,23 @@
+pkgbase = clash-dashboard-git
+ pkgdesc = web port of clash
+ pkgver = 20191101.5aecab9
+ pkgrel = 1
+ url = https://github.com/Dreamacro/clash-dashboard
+ install = clash-dashboard.install
+ arch = any
+ license = MIT
+ makedepends = npm
+ makedepends = nodejs
+ makedepends = git
+ depends = nodejs
+ optdepends = nginx: web server
+ optdepends = apache: web server
+ conflicts = clash-dashboard
+ options = !strip
+ source = clash-dashboard::git+https://github.com/Dreamacro/clash-dashboard.git
+ source = clash-dashboard.service
+ sha1sums = SKIP
+ sha1sums = 14481461e8af49e6d5bcfb3e23546f96697ebf17
+
+pkgname = clash-dashboard-git
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..7e346b40a061
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+clash-dashboard
+pkg
+src
+*.log
+*.tar.gz
+*.pkg.tar.xz
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b8b609413a8d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,56 @@
+# Maintainer: peeweep <peeweep at 0x0 dot ee>
+
+pkgname=clash-dashboard-git
+_pkgname=clash-dashboard
+pkgver=20191101.5aecab9
+pkgrel=1
+pkgdesc="web port of clash"
+arch=('any')
+url="https://github.com/Dreamacro/clash-dashboard"
+license=('MIT')
+depends=('nodejs')
+makedepends=('npm' 'nodejs' 'git')
+optdepends=(
+ "nginx: web server"
+ "apache: web server"
+)
+options=(!strip)
+install=${_pkgname}.install
+conflicts=('clash-dashboard')
+source=("${_pkgname}::git+$url.git"
+ "${_pkgname}.service")
+sha1sums=('SKIP'
+ '14481461e8af49e6d5bcfb3e23546f96697ebf17')
+
+pkgver() {
+ cd "${srcdir}/${_pkgname}"
+ git log -1 --format='%cd.%h' --date=short | tr -d -
+}
+
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+ npm install --cache "${srcdir}/npm-cache"
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}"
+ npm run-script build
+}
+
+package() {
+ install -dm755 "${pkgdir}/usr/share"
+ cp -r "${srcdir}/${_pkgname}" "${pkgdir}/usr/share/${_pkgname}"
+ find "${pkgdir}/usr/share/${_pkgname}/node_modules" \
+ -name "*.a" -exec rm '{}' \; \
+ -or -name "*.bat" -exec rm '{}' \; \
+ -or -name "*.c" -exec rm '{}' \; \
+ -or -name "*.cpp" -exec rm '{}' \; \
+ -or -name "*.node" -exec chmod a-x '{}' \; \
+ -or -name "benchmark" -prune -exec rm -r '{}' \; \
+ -or -name "doc" -prune -exec rm -r '{}' \; \
+ -or -name "html" -prune -exec rm -r '{}' \; \
+ -or -name "man" -prune -exec rm -r '{}' \; \
+ -or -name "scripts" -prune -exec rm -r '{}' \;
+ install -Dm644 "${srcdir}/${_pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
+ install -Dm644 "${srcdir}/${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${_pkgname}.service"
+}
diff --git a/clash-dashboard.install b/clash-dashboard.install
new file mode 100644
index 000000000000..96cbec565601
--- /dev/null
+++ b/clash-dashboard.install
@@ -0,0 +1,11 @@
+post_install() {
+ cat <<EOF
+
+ Please exec
+ $ sudo systemctl enable clash-dashboard
+ $ sudo systemctl start clash-dashboard
+
+ or set /usr/share/clash-dashboard/dist as nginx server's root
+
+EOF
+}
diff --git a/clash-dashboard.service b/clash-dashboard.service
new file mode 100644
index 000000000000..09cca6062c87
--- /dev/null
+++ b/clash-dashboard.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=web port of clash
+After=network.target
+
+[Service]
+WorkingDirectory=/usr/share/clash-dashboard
+ExecStart=/usr/bin/node node_modules/.bin/webpack-dev-server --config=configs/webpack/dev.js
+
+[Install]
+WantedBy=multi-user.target