Subject: bazel-zig-cc v0.7.0

From: Motiejus Jakštys <[email-masked]>
Date: Wed, 20 Apr 2022 12:37:36 +0300

Hi all,

I've released bazel-zig-cc v0.7.0. It's a rewrite by laurynasl@ and
major documentation upgrade by myself.

Incompatible changes
--------------------

1. `register_toolchains` renamed to `toolchains`. Before:

        load("@bazel-zig-cc//toolchain:defs.bzl", zig_register_toolchains = "register_toolchains")

    After:

        load("@bazel-zig-cc//toolchain:defs.bzl", zig_toolchains = "toolchains")

2. `toolchains(register = ...)` was removed. You should be registering
    the toolchains directly in the WORKSPACE or via `.bazelrc` (see README).

3. "glibc version autodetection" is removed: the glibc version must now
    be always specified.

New Features
------------

1. Now one can specify the libc variant (glibc+version or libc) via
   `--platforms` alone. See README.

2. Internal: more examples with multiple architectures, transitions, and
   a new "C" test case.

Ecosystem
---------

While testing this internally, we've realized that the new version of
rules_docker[1] is not compatible with the new libc-in-the-platform
feature, since the libc version is *part of the platform now*. Laurynas
will comment in the PR with more details.

Enjoy!
Motiejus

[1]: https://github.com/bazelbuild/rules_docker/pull/1963

---

From: Laurynas Lubys <[email-masked]>
Date: Wed, 20 Apr 2022 15:20:26 +0300

Regarding rules_docker:

In 0.23.0, rules_docker added transitions based on the architecture
and operating system specified on the container_image. The platform
transition is "hard-coded" in a sense where it will use a specific
platform that only includes the os and cpu constraints. This means
that it is not possible to provide a platform which includes a libc
version. There seem to still be some discussion on how this should
best be solved in rules_docker.

Cheers,
Laurynas