dmitri.shuralyov.com/website/gido/...

Add missing Linux-only and Windows-only packages.

Some Go packages are not available for all OSes.

Doing a normal "go list" only lists packages that match the current
GOOS/GOARCH pair (darwin/amd64 in my case). So we run it with different
GOOS values to include all packages.
dmitshur committed 1 year ago commit 6f4df718ca1946d4654d2837fcc187966cbedc1a
packages.go
@@ -6,11 +6,13 @@ package main
 // existingPackages is a set of import paths of Go packages that are known to exist.
 // It includes packages in Go standard library and sub-repositories.
 //
 // The list is generated with:
 //
-// 	go list std cmd golang.org/x/...
+// 	GOOS=linux go list std cmd golang.org/x/...
+// 	GOOS=darwin go list std cmd golang.org/x/...
+// 	GOOS=windows go list std cmd golang.org/x/...
 //
 var existingPackages = map[string]struct{}{
 	"archive/tar":                                             {},
 	"archive/zip":                                             {},
 	"bufio":                                                   {},
@@ -214,10 +216,11 @@ var existingPackages = map[string]struct{}{
 	"internal/cpu":                      {},
 	"internal/nettrace":                 {},
 	"internal/poll":                     {},
 	"internal/race":                     {},
 	"internal/singleflight":             {},
+	"internal/syscall/unix":             {},
 	"internal/syscall/windows":          {},
 	"internal/syscall/windows/registry": {},
 	"internal/syscall/windows/sysdll":   {},
 	"internal/testenv":                  {},
 	"internal/testlog":                  {},
@@ -457,10 +460,11 @@ var existingPackages = map[string]struct{}{
 	"golang.org/x/crypto/internal/chacha20":                  {},
 	"golang.org/x/crypto/md4":                                {},
 	"golang.org/x/crypto/nacl/auth":                          {},
 	"golang.org/x/crypto/nacl/box":                           {},
 	"golang.org/x/crypto/nacl/secretbox":                     {},
+	"golang.org/x/crypto/nacl/sign":                          {},
 	"golang.org/x/crypto/ocsp":                               {},
 	"golang.org/x/crypto/openpgp":                            {},
 	"golang.org/x/crypto/openpgp/armor":                      {},
 	"golang.org/x/crypto/openpgp/clearsign":                  {},
 	"golang.org/x/crypto/openpgp/elgamal":                    {},
@@ -535,10 +539,11 @@ var existingPackages = map[string]struct{}{
 	"golang.org/x/exp/shiny/widget/flex":                     {},
 	"golang.org/x/exp/shiny/widget/glwidget":                 {},
 	"golang.org/x/exp/shiny/widget/node":                     {},
 	"golang.org/x/exp/shiny/widget/theme":                    {},
 	"golang.org/x/exp/utf8string":                            {},
+	"golang.org/x/exp/winfsnotify":                           {},
 	"golang.org/x/image/bmp":                                 {},
 	"golang.org/x/image/colornames":                          {},
 	"golang.org/x/image/draw":                                {},
 	"golang.org/x/image/font":                                {},
 	"golang.org/x/image/font/basicfont":                      {},
@@ -574,11 +579,10 @@ var existingPackages = map[string]struct{}{
 	"golang.org/x/mobile/app":                                {},
 	"golang.org/x/mobile/app/internal/apptest":               {},
 	"golang.org/x/mobile/app/internal/testapp":               {},
 	"golang.org/x/mobile/asset":                              {},
 	"golang.org/x/mobile/bind":                               {},
-	"golang.org/x/mobile/bind/benchmark":                     {},
 	"golang.org/x/mobile/bind/java":                          {},
 	"golang.org/x/mobile/bind/objc":                          {},
 	"golang.org/x/mobile/bind/seq":                           {},
 	"golang.org/x/mobile/cmd/gobind":                         {},
 	"golang.org/x/mobile/cmd/gomobile":                       {},
@@ -694,10 +698,15 @@ var existingPackages = map[string]struct{}{
 	"golang.org/x/sync/singleflight":                         {},
 	"golang.org/x/sync/syncmap":                              {},
 	"golang.org/x/sys/unix":                                  {},
 	"golang.org/x/sys/windows":                               {},
 	"golang.org/x/sys/windows/registry":                      {},
+	"golang.org/x/sys/windows/svc":                           {},
+	"golang.org/x/sys/windows/svc/debug":                     {},
+	"golang.org/x/sys/windows/svc/eventlog":                  {},
+	"golang.org/x/sys/windows/svc/example":                   {},
+	"golang.org/x/sys/windows/svc/mgr":                       {},
 	"golang.org/x/talks/2014/go4java/runner":                 {},
 	"golang.org/x/talks/2014/organizeio":                     {},
 	"golang.org/x/talks/2014/research2":                      {},
 	"golang.org/x/talks/2014/static-analysis/egtest":         {},
 	"golang.org/x/talks/2014/taste":                          {},