summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorEgor Kovetskiy2018-06-19 23:22:21 +0300
committerEgor Kovetskiy2018-06-19 23:22:21 +0300
commitbaa087b77c8b454e759573ce3fb503533ad8d605 (patch)
tree58681635410a2bfe28c56af4147d87a6690ae828
parentecb1f4fb5793774645818fde3753612b8d6adfc9 (diff)
downloadaur-baa087b77c8b454e759573ce3fb503533ad8d605.tar.gz
goimports-improved-git: new patch
-rw-r--r--.SRCINFO2
-rw-r--r--PKGBUILD58
-rw-r--r--fix-package-name.patch39
3 files changed, 58 insertions, 41 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c3594f26618f..d11ac3c2a18f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
# Generated by mksrcinfo v8
-# Mon Feb 26 12:48:46 UTC 2018
+# Tue Jun 19 20:22:19 UTC 2018
pkgbase = goimports-improved-git
pkgdesc = goimports that doesn't write package name before import path
pkgver = autogenerated
diff --git a/PKGBUILD b/PKGBUILD
index 4a01aaaf9dc8..5cc5214f1c42 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,17 +8,17 @@ license=('GPL')
depends=(
)
makedepends=(
- 'go'
- 'git'
+ 'go'
+ 'git'
)
source=(
- "$pkgname::git://github.com/golang/tools#branch=${BRANCH:-master}"
+ "$pkgname::git://github.com/golang/tools#branch=${BRANCH:-master}"
"fix-package-name.patch"
)
md5sums=(
- 'SKIP'
+ 'SKIP'
'SKIP'
)
@@ -26,44 +26,44 @@ backup=(
)
pkgver() {
- if [[ "$PKGVER" ]]; then
- echo "$PKGVER"
- return
- fi
+ if [[ "$PKGVER" ]]; then
+ echo "$PKGVER"
+ return
+ fi
- cd "$srcdir/$pkgname"
- local date=$(git log -1 --format="%cd" --date=short | sed s/-//g)
- local count=$(git rev-list --count HEAD)
- local commit=$(git rev-parse --short HEAD)
- echo "$date.${count}_$commit"
+ cd "$srcdir/$pkgname"
+ local date=$(git log -1 --format="%cd" --date=short | sed s/-//g)
+ local count=$(git rev-list --count HEAD)
+ local commit=$(git rev-parse --short HEAD)
+ echo "$date.${count}_$commit"
}
build() {
- if [ -L "$srcdir/$pkgname" ]; then
- rm "$srcdir/$pkgname" -rf
- mv "$srcdir/go/src/$pkgname/" "$srcdir/$pkgname"
- fi
+ if [ -L "$srcdir/$pkgname" ]; then
+ rm "$srcdir/$pkgname" -rf
+ mv "$srcdir/go/src/$pkgname/" "$srcdir/$pkgname"
+ fi
- rm -rf "$srcdir/go/src"
- mkdir -p "$srcdir/go/src/golang.org/x/"
+ rm -rf "$srcdir/go/src"
+ mkdir -p "$srcdir/go/src/golang.org/x/"
- mv "$srcdir/$pkgname" "$srcdir/go/src/golang.org/x/tools/"
+ mv "$srcdir/$pkgname" "$srcdir/go/src/golang.org/x/tools/"
cd "$srcdir/go/src/golang.org/x/tools/"
- git submodule update --init
+ git submodule update --init
- export GOPATH="$srcdir/go"
- export GOBIN=""
+ export GOPATH="$srcdir/go"
+ export GOBIN=""
patch -p1 < $srcdir/../fix-package-name.patch
- go get -v \
- -gcflags "-trimpath $GOPATH/src" \
- ./cmd/goimports
+ go get -v \
+ -gcflags "-trimpath $GOPATH/src" \
+ ./cmd/goimports
}
package() {
- find "$srcdir/go/bin/" -type f -executable | while read filename; do
- install -DT "$filename" "$pkgdir/usr/bin/$(basename $filename)"
- done
+ find "$srcdir/go/bin/" -type f -executable | while read filename; do
+ install -DT "$filename" "$pkgdir/usr/bin/$(basename $filename)"
+ done
}
diff --git a/fix-package-name.patch b/fix-package-name.patch
index 404156764fd1..5e38bc7f04a1 100644
--- a/fix-package-name.patch
+++ b/fix-package-name.patch
@@ -1,8 +1,17 @@
diff --git a/imports/fix.go b/imports/fix.go
-index de660879..380ec8e9 100644
+index ebb228d1..42c2cf67 100644
--- a/imports/fix.go
+++ b/imports/fix.go
-@@ -908,9 +908,19 @@ func findImportGoPath(pkgName string, symbols map[string]bool, filename string)
+@@ -350,7 +350,7 @@ func fixImports(fset *token.FileSet, f *ast.File, filename string) (added []stri
+ }()
+
+ for result := range results {
+- if result.name != "" {
++ if result.name != "" && isNeedToRename(result.ipath, result.name) {
+ astutil.AddNamedImport(fset, f, result.name, result.ipath)
+ } else {
+ astutil.AddImport(fset, f, result.ipath)
+@@ -951,14 +951,27 @@ func findImportGoPath(ctx context.Context, pkgName string, symbols map[string]bo
if pkg == nil {
continue
}
@@ -10,16 +19,24 @@ index de660879..380ec8e9 100644
// If the package name in the source doesn't match the import path's base,
// return true so the rewriter adds a name (import foo "github.com/bar/go-foo")
- needsRename := path.Base(pkg.importPath) != pkgName
-+ baseName := path.Base(pkg.importPath)
-+ for _, prefix := range []string{"go.", "go-"} {
-+ baseName = strings.TrimPrefix(baseName, prefix)
-+ }
-+ for _, suffix := range []string{".go", "-go"} {
-+ baseName = strings.TrimSuffix(baseName, suffix)
-+ }
-+
-+ needsRename := baseName != pkgName
++ needsRename := isNeedToRename(pkg.importPath, pkgName)
+
return pkg.importPathShort, needsRename, nil
}
return "", false, nil
+ }
+
++func isNeedToRename(ipath string, pkgName string) bool {
++ baseName := path.Base(ipath)
++ for _, prefix := range []string{"go.", "go-"} {
++ baseName = strings.TrimPrefix(baseName, prefix)
++ }
++ for _, suffix := range []string{".go", "-go"} {
++ baseName = strings.TrimSuffix(baseName, suffix)
++ }
++ return baseName != pkgName
++}
++
+ // pkgIsCandidate reports whether pkg is a candidate for satisfying the
+ // finding which package pkgIdent in the file named by filename is trying
+ // to refer to.