Skip to content

Releases: uber/hermetic_cc_toolchain

v3.1.1

21 Sep 22:05
Compare
Choose a tag to compare

What's Changed

  • Update bzlmod example to use released version by @linzhp in #180
  • Mark toolchains registered in our MODULE.bazel as a dev dependency by @jvolkman in #190

WORKSPACE boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v3.1.1"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "907745bf91555f77e8234c0b953371e6cac5ba715d1cf12ff641496dd1bce9d1",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

Full Changelog: v3.1.0...v3.1.1

v3.1.0

13 May 23:08
Compare
Choose a tag to compare

What's Changed

New Contributors

WORKSPACE boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v3.1.0"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "df091afc25d73b0948ed371d3d61beef29447f690508e02bc24e7001ccc12d38",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

Full Changelog: v3.0.1...v3.1.0

v3.0.1

22 Feb 09:01
Compare
Choose a tag to compare

What's Changed

Incompatible changes

Zig cache path in MacOS is now in /var/tmp/zig-cache instead of /tmp/zig-cache, Windows has changed the default path too. Update your project's .bazelrc to make it work for all platforms:

common --enable_platform_specific_config
build:linux --sandbox_add_mount_pair=/tmp
build:macos --sandbox_add_mount_pair=/var/tmp
build:windows --sandbox_add_mount_pair=C:\Temp

WORKSPACE boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v3.0.1"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "3bc6ec127622fdceb4129cb06b6f7ab098c4d539124dde96a6318e7c32a53f7a",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

New Contributors

Full Changelog: v3.0.0...v3.0.1

v3.0.0

15 Feb 12:16
Compare
Choose a tag to compare
v3.0.0 Pre-release
Pre-release

Word of caution

This release is affected by ziglang/zig#19026 ,which is a pretty serious bug. Avoid using this release until we release 3.0.1.

What's Changed

  • Bump zig to 0.12.0-dev.2631+3069669bc, ask users to collaborate by @motiejus-wix in #155
  • CI and MacOS fixes by @motiejus in #156
  • MacOS default cache dir: /tmp -> /var/tmp by @motiejus in #163

Incompatible changes

Zig cache path in MacOS is now in /var/tmp/zig-cache instead of /tmp/zig-cache. Thus update your project's .bazelrc to make it work for both Linux and MacOS:

build --sandbox_add_mount_pair=/tmp
build --sandbox_add_mount_pair=/var/tmp

Windows

Cache path moved to C:\Temp\zig-cache. Update your .bazelrc to:

build --sandbox_add_mount_pair=C:\Temp

WORKSPACE boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v3.0.0"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "fe00bd126e57a4c3fec4efa620bf074e3d1f1fbd70b75113ca56a010d7a70d93",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

Full Changelog: v2.2.1...v3.0.0

v2.2.3

07 Feb 09:39
Compare
Choose a tag to compare
v2.2.3 Pre-release
Pre-release

What's Changed

  • error: FileNotFound workaround in #150
  • Bump zig to 0.12.0-dev.2631+3069669bc, ask users to collaborate in #155

Release boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v2.2.3"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "07a2b1a452065a385100e63c2814fd7631a7c763dab1e008a0108705944c94af",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

Full Changelog: v2.2.1...v2.2.3

v2.2.1

12 Jan 07:48
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.2.0...v2.2.1

WORKSPACE boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v2.2.1"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "3b8107de0d017fe32e6434086a9568f97c60a111b49dc34fc7001e139c30fdea",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

v2.2.0

11 Jan 08:22
Compare
Choose a tag to compare

What's New

  • zig sdk: bump to 0.12.0-dev.2127+fcc0c5ddc in #140 and #141

Zig upgrade brings in the following changes:

  • bump glibc support from 2.34 to 2.38
  • fix integration with some glibc symbols: ziglang/zig#17702
  • mitigat error: AccessDenied, which, according to Noah Santschi-Cooney, also mitigates/fixes the dreaded error: FileNotFound which we sometimes see when setting up Bazel worksace. Relevant commit in Zig: ziglang/zig@6b27096
  • linker: support --(no-)undefined-version: ziglang/zig#18486. This will unbreak some Rust users.
  • LLVM16 -> LLVM17, which now defaults to -Wl,--undefined-version, which can result in failure to link some C code (but easy to mitigate). Example in zlib and the specific workaround.

Full Changelog: v2.1.3...v2.2.0

WORKSPACE boilerplate

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v2.2.0"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "5c97ec998e982742ff32902517acad29a856006a6476ae28e62575fabba2a23c",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

v2.1.3

09 Nov 13:38
Compare
Choose a tag to compare

Highlights

Upgrading is highly recommended for MacOS, as #125 solves many issues due to lack of hermeticity when compiling the zig launcher.

What's Changed

  • Strip the zig-builder binary for reproducibility by @dzbarsky in #124
  • zig-wrapper: compile with explicit -target by @motiejus-wix in #125

New Contributors

  • @dzbarsky made their first contribution in #124
  • @motiejus-wix made their first contribution in #125

Full Changelog: v2.1.2...v2.1.3

WORKSPACE snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v2.1.3"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "a5caccbf6d86d4f60afd45b541a05ca4cc3f5f523aec7d3f7711e584600fb075",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

v2.1.2

25 Sep 04:17
Compare
Choose a tag to compare

This is the first version hermetic_cc_toolchain is published to Bazel Central Repository

What's Changed

Full Changelog: v2.1.1...v2.1.2

WORKSPACE snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v2.1.2"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "28fc71b9b3191c312ee83faa1dc65b38eb70c3a57740368f7e7c7a49bedf3106",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()

MODULE.bazel snippet

bazel_dep(name = "hermetic_cc_toolchain", version = "2.1.2")

zig_toolchains = use_extension("@hermetic_cc_toolchain//toolchain:ext.bzl", "toolchains")
use_repo(zig_toolchains, "zig_sdk")

v2.1.1

05 Sep 00:00
Compare
Choose a tag to compare
v2.1.1 Pre-release
Pre-release

This is a patch release to fix CI builds in Bazel Central Registry

What's Changed

  • Include bzlmod example in release archive by @linzhp in #114

Full Changelog: v2.1.0...v2.1.1

WORKSPACE snippet

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

HERMETIC_CC_TOOLCHAIN_VERSION = "v2.1.1"

http_archive(
    name = "hermetic_cc_toolchain",
    sha256 = "86ace5cd211d0ae49a729a11afb344843698b64464f2095a776c57ebbdf06698",
    urls = [
        "https://mirror.bazel.build/github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
        "https://github.com/uber/hermetic_cc_toolchain/releases/download/{0}/hermetic_cc_toolchain-{0}.tar.gz".format(HERMETIC_CC_TOOLCHAIN_VERSION),
    ],
)

load("@hermetic_cc_toolchain//toolchain:defs.bzl", zig_toolchains = "toolchains")

# Plain zig_toolchains() will pick reasonable defaults. See
# toolchain/defs.bzl:toolchains on how to change the Zig SDK version and
# download URL.
zig_toolchains()