LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File godoc-path-locations.patch of Package go (Project devel:languages:go)

diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go
index f6dc678..0fa85bc 100644
--- a/src/cmd/godoc/godoc.go
+++ b/src/cmd/godoc/godoc.go
@@ -82,7 +82,35 @@ var (
 	pkgHandler docServer
 )
 
+const (
+	SUSE_DOC_DIR = "/usr/share/doc/packages/go-doc/"
+	SUSE_SRC_DIR = "/usr/share/go"
+	SUSE_CONTRIB_SRC_DIR = "/usr/share/go/contrib/src/pkg/"
+)
+
 func initHandlers() {
+	// OPENSUSE: Bind godoc & source location
+	fs.Bind("/doc", OS(SUSE_DOC_DIR), "/doc", bindReplace)
+	fs.Bind("/src", OS(SUSE_SRC_DIR), "/src", bindBefore)
+
+	d, err := os.Open(SUSE_CONTRIB_SRC_DIR)
+	if err != nil {
+		log.Fatalf("cannot read Go contrib source dir:", err)
+	}
+	if files, err := d.Readdir(0); err == nil {
+		for _, file := range files {
+			if file.IsDir() {
+				path := SUSE_CONTRIB_SRC_DIR + file.Name()
+				if *pkgPath != "" {
+					*pkgPath += ":"
+				}
+				*pkgPath += path
+			}
+		}
+	} else {
+		log.Fatal(err)
+	}
+
 	// Add named directories in -path argument as
 	// subdirectories of src/pkg.
 	for _, p := range filepath.SplitList(*pkgPath) {