treewide: enable pure Go by default

Pure can be safely enabled by default. For those targets which need cgo,
we can set `pure = "off"` on the go_binary or go_test.

This simplifies transitions, and makes the files/files_cc distinction
obsolete.

Change-Id: Ic1a985e7d347a7222f55735c1ee2016e8a7e1c65
Reviewed-on: https://review.monogon.dev/c/monogon/+/4158
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/osbase/build/def.bzl b/osbase/build/def.bzl
index f3ef7a9..66644b4 100644
--- a/osbase/build/def.bzl
+++ b/osbase/build/def.bzl
@@ -1,31 +1,6 @@
-def _build_pure_transition_impl(settings, _attr):
-    """
-    Transition that enables pure, static build of Go binaries.
-    """
-    race = settings["@io_bazel_rules_go//go/config:race"]
-    pure = not race
-
-    return {
-        "@io_bazel_rules_go//go/config:pure": pure,
-        "@io_bazel_rules_go//go/config:static": True,
-        "//command_line_option:platforms": "//build/platforms:linux_amd64_static",
-    }
-
-build_pure_transition = transition(
-    implementation = _build_pure_transition_impl,
-    inputs = [
-        "@io_bazel_rules_go//go/config:race",
-    ],
-    outputs = [
-        "@io_bazel_rules_go//go/config:pure",
-        "@io_bazel_rules_go//go/config:static",
-        "//command_line_option:platforms",
-    ],
-)
-
 def _build_static_transition_impl(_settings, _attr):
     """
-    Transition that enables static builds with CGo and musl for Go binaries.
+    Transition that enables static build of Go and C binaries.
     """
     return {
         "@io_bazel_rules_go//go/config:static": True,