aboutsummaryrefslogtreecommitdiffstats
path: root/testing/lab
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2019-07-25 17:15:53 -0300
committerLeo <thinkabit.ukim@gmail.com>2019-07-25 17:23:24 -0300
commit7d6cd3741d8132ab5568538bb5d48de92a4b81fc (patch)
tree60d723a594470142b4ad31d069355db496b8abd2 /testing/lab
parent9e124e2caee5b902db787510b077485aa0139ccf (diff)
downloadaports-7d6cd3741d8132ab5568538bb5d48de92a4b81fc.tar.bz2
aports-7d6cd3741d8132ab5568538bb5d48de92a4b81fc.tar.xz
testing/lab: add upstream patches for shell completion and xdg compliance
Diffstat (limited to 'testing/lab')
-rw-r--r--testing/lab/APKBUILD35
-rw-r--r--testing/lab/allow-completion.patch38
-rw-r--r--testing/lab/xdg.patch27
3 files changed, 97 insertions, 3 deletions
diff --git a/testing/lab/APKBUILD b/testing/lab/APKBUILD
index 0b717ae6cb..1054870928 100644
--- a/testing/lab/APKBUILD
+++ b/testing/lab/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Leo <thinkabit.ukim@gmail.com>
pkgname=lab
pkgver=0.16.0
-pkgrel=0
+pkgrel=1
pkgdesc="A Git Wrapper for GitLab"
url="https://zaquestion.github.io/lab/"
arch="all"
@@ -10,7 +10,14 @@ license="CC0-1.0"
depends="git"
makedepends="go"
checkdepends="bash"
-source="lab-$pkgver.tar.gz::https://github.com/zaquestion/lab/archive/v$pkgver.tar.gz"
+subpackages="
+ $pkgname-bash-completion:bashcomp:noarch
+ $pkgname-zsh-completion:zshcomp:noarch
+ "
+source="lab-$pkgver.tar.gz::https://github.com/zaquestion/lab/archive/v$pkgver.tar.gz
+ allow-completion.patch
+ xdg.patch
+ "
builddir="$srcdir/src/github.com/zaquestion/$pkgname"
options="net !check" # Tests require configured GitLab account with SSH keys
@@ -25,6 +32,8 @@ prepare() {
build() {
GO111MODULE=on go build -ldflags "-X main.version=$pkgver" -o bin/$pkgname
+ ./bin/lab completion bash > lab.bash
+ ./bin/lab completion zsh > _lab.zsh
}
package() {
@@ -37,4 +46,24 @@ cleanup_srcdir() {
default_cleanup_srcdir
}
-sha512sums="8036dd3921f2e02433274a4e3dc215e8afc604c385753105c8640f2795f4566641a30a27ce8ddb99496bab5101e573a7607ca3990c4e6587834a6ecf061e92f2 lab-0.16.0.tar.gz"
+bashcomp() {
+ depends=""
+ pkgdesc="Bash completions for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+
+ install -Dm644 "$builddir"/lab.bash \
+ "$subpkgdir"/usr/share/bash-completion/completions/$pkgname
+}
+
+zshcomp() {
+ depends=""
+ pkgdesc="Zsh completions for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel zsh"
+
+ install -Dm644 "$builddir"/_lab.zsh \
+ "$subpkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="8036dd3921f2e02433274a4e3dc215e8afc604c385753105c8640f2795f4566641a30a27ce8ddb99496bab5101e573a7607ca3990c4e6587834a6ecf061e92f2 lab-0.16.0.tar.gz
+9241ae986e7669f46c6bafbf0532bff730eb11b74c73b37785d926c8dc88e9de528a6ad9d685e79e1e8a5e44b903dbe213af92648038fb59514ea2c696ea7dd4 allow-completion.patch
+f45e5f0ccfcfea03090b78fd2af200165883f329684e2301644b88828c072fedf8ff2832254ca3d44c0e1e95e60bff5145f5decbb85907ac9241cbaf5514a146 xdg.patch"
diff --git a/testing/lab/allow-completion.patch b/testing/lab/allow-completion.patch
new file mode 100644
index 0000000000..cbfd6668ae
--- /dev/null
+++ b/testing/lab/allow-completion.patch
@@ -0,0 +1,38 @@
+From c5d445472c183f6437966b2b1e9e68dab5926c24 Mon Sep 17 00:00:00 2001
+From: Zaq? Wiedmann <zaquestion@gmail.com>
+Date: Thu, 25 Jul 2019 12:37:49 -0700
+Subject: [PATCH] #321: allow completions to be generated without
+ authenticating with GitLab
+
+This makes it easy for distributors to provide completion out of the box in packaged versions of lab
+---
+ main.go | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/main.go b/main.go
+index 9a836b9..ba3f21c 100644
+--- a/main.go
++++ b/main.go
+@@ -127,6 +127,20 @@ func getUser(host, token string) string {
+ func main() {
+ log.SetFlags(log.LstdFlags | log.Lshortfile)
+ cmd.Version = version
+- lab.Init(loadConfig())
++ if !skipInit() {
++ lab.Init(loadConfig())
++ }
+ cmd.Execute()
+ }
++
++func skipInit() bool {
++ if len(os.Args) <= 1 {
++ return false
++ }
++ switch os.Args[1] {
++ case "completion":
++ return true
++ default:
++ return false
++ }
++}
+
diff --git a/testing/lab/xdg.patch b/testing/lab/xdg.patch
new file mode 100644
index 0000000000..f4b74d82ad
--- /dev/null
+++ b/testing/lab/xdg.patch
@@ -0,0 +1,27 @@
+From 63bb26a320d43f8ce79626b0adeeaae73f90fd8a Mon Sep 17 00:00:00 2001
+From: Leo <thinkabit.ukim@gmail.com>
+Date: Thu, 25 Jul 2019 04:05:41 -0300
+Subject: [PATCH] try XDG_CONFIG_HOME
+
+---
+ main.go | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/main.go b/main.go
+index dddf7a3..9a836b9 100644
+--- a/main.go
++++ b/main.go
+@@ -35,7 +35,11 @@ func loadConfig() (string, string, string) {
+ home = u.HomeDir
+ }
+ }
+- confpath := path.Join(home, ".config")
++ // Try XDG_CONFIG_HOME which is declared in XDG base directory specification
++ confpath := os.Getenv("XDG_CONFIG_HOME")
++ if confpath == "" {
++ confpath = path.Join(home, ".config")
++ }
+ if _, err := os.Stat(confpath); os.IsNotExist(err) {
+ os.Mkdir(confpath, 0700)
+ }
+