summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Beard2020-05-14 13:55:28 +0100
committerJohn Beard2020-05-14 14:05:41 +0100
commit2c97cb457ffa11e6e9b30e15d6c171cd43d0e3de (patch)
tree6cc9a56ac1f0769af862e254ac2257bcb7f9515c
downloadaur-2c97cb457ffa11e6e9b30e15d6c171cd43d0e3de.tar.gz
Initial commit
Using PKGBUILD idioms for nodejs from https://wiki.archlinux.org/index.php/Node.js_package_guidelines
-rw-r--r--.SRCINFO22
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD49
3 files changed, 76 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..109b72ec9547
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,22 @@
+pkgbase = rofi-search-git
+ pkgdesc = Search engine plugin for rofi
+ pkgver = r18.535856f
+ pkgrel = 1
+ url = https://github.com/fogine/rofi-search
+ arch = any
+ license = MIT
+ makedepends = git
+ makedepends = jq
+ makedepends = npm
+ depends = nodejs
+ depends = rofi
+ depends = rofi-blocks-git
+ optdepends = googler: retrieve results from Google
+ optdepends = ddgr: retrieve results from DuckDuckGo
+ conflicts = rofi-search
+ replaces = rofi-search
+ source = rofi-search::git+https://github.com/fogine/rofi-search.git
+ sha1sums = SKIP
+
+pkgname = rofi-search-git
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..cc67b0b4d0bf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*
+!.gitignore
+!PKGBUILD
+!.SRCINFO
+!*.install
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..8d08a0143b58
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,49 @@
+# Maintainer: John Beard <john.j.beard@gmail.com>
+
+_npmname=rofi-search
+pkgname=rofi-search-git
+pkgver=r18.535856f
+pkgrel=1
+pkgdesc="Search engine plugin for rofi"
+arch=('any')
+url="https://github.com/fogine/rofi-search"
+license=('MIT')
+makedepends=('git' 'jq' 'npm')
+depends=('nodejs' 'rofi' 'rofi-blocks-git')
+optdepends=('googler: retrieve results from Google'
+ 'ddgr: retrieve results from DuckDuckGo')
+conflicts=('rofi-search')
+replaces=('rofi-search')
+# install='INSTALL'
+source=("rofi-search::git+${url}.git")
+sha1sums=('SKIP')
+
+pkgver(){
+ cd "${_npmname}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+# see: https://wiki.archlinux.org/index.php/Node.js_package_guidelines
+
+package() {
+ local _npmdir="${pkgdir}/usr/lib/node_modules/"
+ mkdir -p ${_npmdir}
+ cd ${_npmdir}
+ npm install -g --prefix "${pkgdir}/usr" "${_npmname}"
+
+ # Non-deterministic race in npm gives 777 permissions to random directories.
+ # See https://github.com/npm/npm/issues/9359 for details.
+ find "${pkgdir}"/usr -type d -exec chmod 755 {} +
+
+ # npm gives ownership of ALL FILES to build user
+ # https://bugs.archlinux.org/task/63396
+ chown -R root:root "$pkgdir"
+
+ # Remove local paths from package.json
+ find "$pkgdir" -name package.json -print0 | xargs -r -0 sed -i '/_where/d'
+ local tmppackage="$(mktemp)"
+ local pkgjson="$pkgdir/usr/lib/node_modules/$_npmname/package.json"
+ jq '.|=with_entries(select(.key|test("_.+")|not))' "$pkgjson" > "$tmppackage"
+ mv "$tmppackage" "$pkgjson"
+ chmod 644 "$pkgjson"
+}