diff options
author | peeweep | 2019-11-16 10:17:39 +0800 |
---|---|---|
committer | peeweep | 2019-11-16 10:17:39 +0800 |
commit | f7a38ba45452c6ce293a46339a3d296294394c4b (patch) | |
tree | 73e681b6ad41c232339bcf7a7aa67529de8d45fe | |
download | aur-f7a38ba45452c6ce293a46339a3d296294394c4b.tar.gz |
Init
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | PKGBUILD | 56 | ||||
-rw-r--r-- | clash-dashboard.install | 11 | ||||
-rw-r--r-- | clash-dashboard.service | 10 |
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 |