Skip to content

v0.10.0

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Oct 07:50
· 406 commits to master since this release
ff70910

Using Bzlmod with Bazel 6

  1. Enable with common --enable_bzlmod in .bazelrc.
  2. Add to your MODULE.bazel file:
bazel_dep(name = "rules_nixpkgs_core", version = "0.10.0")

Using WORKSPACE

Paste this snippet into your WORKSPACE.bazel file:

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

http_archive(
    name = "io_tweag_rules_nixpkgs",
    sha256 = "980edfceef2e59e1122d9be6c52413bc298435f0a3d452532b8a48d7562ffd67",
    strip_prefix = "rules_nixpkgs-0.10.0",
    urls = ["https://github.com/tweag/rules_nixpkgs/releases/download/v0.10.0/rules_nixpkgs-0.10.0.tar.gz"],
)

load("@io_tweag_rules_nixpkgs//nixpkgs:repositories.bzl", "rules_nixpkgs_dependencies")

rules_nixpkgs_dependencies()

load("@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl", "nixpkgs_git_repository", "nixpkgs_package", "nixpkgs_cc_configure")

load("@io_tweag_rules_nixpkgs//nixpkgs:toolchains/go.bzl", "nixpkgs_go_configure") # optional

0.10.0 - 2023-10-18

Added

  • nixpkgs_nodejs_configure to import a NodeJS toolchain. See #222.
  • nixpkgs_nodejs_configure_platforms for platform transparent npm_install. See [#309].
  • nixkpgs_python_configure generates an interpreter target. See #255.
  • nixpkgs_go_configure gained an attribute_path attribute. See #288.
  • nixpkgs_cc_configure gained the ability to configure CXX_FLAGS. See #298.
  • nixpkgs_local_repository now accepts a flake.lock file to generate a nixpkgs repository. See #338.
  • nixpkgs_python_repository can import Nix provided Python packages, e.g. through poetry. See #343.
  • nixpkgs_http_repository can download a nixpkgs repository over HTTP. See #356.
  • nixpkgs_flake_package can add a Nix package from a flake. See #380.
  • rules_nixpkgs gained the ability to copy generated Nix store paths to a remote store for remote execution support. See #404.
  • rules_nixpkgs_core gained bzlmod module extensions nix_repo and nix_pkg to import nixpkgs repositories and packages in MODULE.bazel files directly. See #423.

Changed

  • nixpkgs_cc_configure now supports cross compilation toolchains. See #241 and #401.
  • rules_nixpkgs_dependencies takes a toolchains parameter to specify which rules_nixpkgs components to imoprt. See #257
  • nixpkgs_cc_configure now works without an explicit nix_file or nix_file_content attribute. See #334.
  • nixpkgs_python_configure now exposes the requirements.json file. See #407.

Fixed

  • A performance issue with nixpkgs_package on MacOS due to slow file copies was resolved. See #256.
  • A performance issue with nixpkgs_package due to repeated rule restarts was resolved. See #263.
  • Compatibility issues with Bazel 6 for nixpkgs_configure_java were resolved. See #273.
  • C++ build errors on MacOS due to -Welaborated-enum-base were fixed. See #382.
  • Hard to read error reporting was improved. See #389.
  • The http_archive type attribute is now forwarded to rules_nixpkgs component imports. See #411.
  • Configuration issues when cross-compiling from Linux to MacOS were fixed. See #413.

Breaking changes

  • rules_nixpkgs_go: Custom derivations passed to nixpkgs_go_configure (via nix-file, nix-file-content or attribute_path) must now contain a version attribute. See #385.

What's Changed

  • Use stat to retain file permissions when copying files by @lamcw in #259
  • Misc doc improvements for default BUILD file for nixpkgs_package by @googleson78 in #260
  • Add an interpreter target to python toolchain by @benradf in #261
  • Avoid restarting nixpkgs_package by @lamcw in #263
  • Update bzlmod dependencies and enhance separation of components by @avdv in #257
  • Convert to flake by @avdv in #265
  • flake.lock: Update by @github-actions in #266
  • Add nodejs toolchain by @betaboon in #222
  • flake.lock: Update by @github-actions in #267
  • Bump nix version for testing to 2.7 by @tshaynik in #270
  • flake.lock: Update by @github-actions in #274
  • Skip writing to the remote cache without API key by @avdv in #276
  • Bump actions/checkout from 3.0.2 to 3.1.0 by @dependabot in #268
  • Skip writing to the remote cache with no API key - no. 2 by @avdv in #277
  • Bump cachix/install-nix-action from 17 to 18 by @dependabot in #271
  • Replace Buildkite CI badge with Github badge by @avdv in #279
  • Add NodeJS docs to top-level readme by @aherrmann in #283
  • Bump DeterminateSystems/update-flake-lock from 14 to 15 by @dependabot in #284
  • examples: mkShell -> mkShellNoCC by @evertedsphere in #286
  • readme: load http_archive explicitly by @evertedsphere in #287
  • toolchains/go: allow specifying go package by attribute_path by @evertedsphere in #288
  • flake.lock: Update by @github-actions in #275
  • flake.lock: Update by @github-actions in #290
  • Bump actions/checkout from 3.1.0 to 3.2.0 by @dependabot in #293
  • Configure bazelisk to use Bazel 5.x by @avdv in #297
  • flake.lock: Update by @github-actions in #292
  • cc: make CXX_FLAG configurable by @evertedsphere in #298
  • Split the docs generation into a separate module by @z8v in #296
  • Fix java toolchain config to allow for use with Bazel 6 by @tshaynik in #273
  • flake.lock: Update by @github-actions in #300
  • Bump actions/checkout from 3.2.0 to 3.3.0 by @dependabot in #302
  • Fix Python container example by @aherrmann in #301
  • Bump DeterminateSystems/update-flake-lock from 15 to 16 by @dependabot in #307
  • Remove any docs references from core by @z8v in #304
  • flake.lock: Update by @github-actions in #308
  • Use OpenSSL in nix rust toolchain example by @benradf in #305
  • Upgrade nixpkgs to nixos-22.11 by @avdv in #311
  • Update platforms to 0.0.6 by @mrkkrp in #312
  • Update the Rust toolchain example by @mrkkrp in #314
  • Pass the workspace name as an attribute by @aherrmann in #315
  • Update to Bazel version 6 and nixpkgs 22.11 by @aherrmann in #313
  • Add example for nodejs toolchain with npm_install repository rule by @kczulko in #309
  • Bump cachix/install-nix-action from 18 to 19 by @dependabot in #317
  • Use libtool from nixpkgs by @uri-canva in #321
  • Separate core tests and test with bzlmod enabled by @aherrmann in #319
  • flake.lock: Update by @github-actions in #316
  • Separate toolchains/java tests and run with bzlmod enabled by @aherrmann in #320
  • Separate testing module and bzlmod tests for toolchains/posix by @aherrmann in #323
  • Separate testing module and bzlmod tests for toolchains/cc by @aherrmann in #325
  • Separate testing module and bzlmod tests for toolchains/rust by @aherrmann in #329
  • Separate testing module and bzlmod tests for toolchains/go by @aherrmann in #326
  • Separate testing module and bzlmod tests for toolchains/nodejs by @aherrmann in #332
  • Update nixpkgs_cc_configure to work without nix_file or nix_content by @z8v in #334
  • Set CODEOWNERS by @aherrmann in #336
  • Update nixopts docs on path literal escaping by @aherrmann in #337
  • Separate testing module and bzlmod tests for toolchains/python by @evertedsphere in #335
  • Generate the local nixpkgs repository from flake.lock by @z8v in #338
  • Bump cachix/install-nix-action from 19 to 20 by @dependabot in #339
  • Design document for Bazel module extension by @aherrmann in #344
  • Initial implementation of python modules with poetry by @layus in #343
  • Bump DeterminateSystems/update-flake-lock from 16 to 17 by @dependabot in #340
  • flake.lock: Update by @github-actions in #333
  • Fix arguments in cc_configure by @dmadisetti in #350
  • ci(Mergify): configuration update by @layus in #352
  • Bump actions/checkout from 3.3.0 to 3.4.0 by @dependabot in #353
  • Add nixpkgs_http_repository by @aherrmann in #356
  • flake.lock: Update by @github-actions in #354
  • README: add instructions for bazel6 + Java by @motiejus in #358
  • Bump actions/checkout from 3.4.0 to 3.5.0 by @dependabot in #360
  • Bump DeterminateSystems/update-flake-lock from 17 to 18 by @dependabot in #362
  • flake.lock: Update by @github-actions in #361
  • Create core module extensions by @aherrmann in #363
  • Bump DeterminateSystems/update-flake-lock from 18 to 19 by @dependabot in #366
  • flake.lock: Update by @github-actions in #367
  • Implement remaining nix_repo tags by @aherrmann in #364
  • Bump actions/checkout from 3.5.0 to 3.5.2 by @dependabot in #372
  • doc: add a guide covering basic rules_nixpkgs use + Nix prerequisites by @evertedsphere in #294
  • flake.lock: Update by @github-actions in #375
  • Implement remaining nix_pkg tags by @aherrmann in #369
  • Fix broken direnv link by @z8v in #376
  • Bump flask from 2.2.3 to 2.3.2 in /testing/python by @dependabot in #378
  • Set -Wno-elaborated-enum-base on Darwin by @aherrmann in #382
  • flake.lock: Update by @github-actions in #377
  • rules_go 0.39.1 by @ylecornec in #384
  • go 1.20 support by @ylecornec in #385
  • feature: nixpkgs_flake_package by @rickvanprim in #380
  • Footnote about enabling experimental features. by @benradf in #387
  • flake.lock: Update by @github-actions in #386
  • flake.lock: Update by @github-actions in #388
  • Improve nix error reporting in bazel logs by @layus in #389
  • Bump cachix/install-nix-action from 20 to 21 by @dependabot in #390
  • Bump actions/checkout from 3.5.2 to 3.5.3 by @dependabot in #394
  • flake.lock: Update by @github-actions in #391
  • Bump cachix/install-nix-action from 21 to 22 by @dependabot in #396
  • flake.lock: Update by @github-actions in #397
  • flake.lock: Update by @github-actions in #399
  • Update rust toolchain to use rules_rust 0.22.0 by @contagnas in #393
  • Add support for cross cc compilers by @layus in #240
  • cc: Add cross_cpu arg to nixpkgs_cc_toolchain_config by @DolceTriade in #401
  • Bump DeterminateSystems/update-flake-lock from 19 to 20 by @dependabot in #406
  • Bump actions/checkout from 3.5.3 to 3.6.0 by @dependabot in #405
  • python: Expose the requirements.json file by @DolceTriade in #407
  • crosscompile: Add an example for cross compiling by @DolceTriade in #402
  • flake.lock: Update by @github-actions in #408
  • Add support for nix store remote copying by @z8v in #404
  • forward http_archive type to submodules by @malt3 in #411
  • build(deps): bump actions/checkout from 3.6.0 to 4.0.0 by @dependabot in #410
  • build(deps): bump cachix/install-nix-action from 22 to 23 by @dependabot in #409
  • Fix darwin flag when cross-compiling from Linux to MacOS by @benradf in #413
  • Skip exec_constraints keyword arg for nixpkgs_package by @avdv in #418
  • Add tutorial for setting up the remote execution infra by @z8v in #414
  • Simplify rules_nixpkgs_core module extensions by @aherrmann in #423
  • build(deps): bump actions/checkout from 4.0.0 to 4.1.1 by @dependabot in #432
  • Exclude .bazeliskrc from git archive by @aherrmann in #431
  • Release 0.10.0 by @aherrmann in #433

New Contributors

Full Changelog: v0.9.0...v0.10.0