All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- nixpkgs_nodejs_configure_platforms for platform transparent npm_install See [#309]
0.9.0 - 2022-07-19
- nixpkgs_cc_configure gained a flag to disable automatic registration of the toolchain it creates. See #179
- Support registering a Java toolchain for Bazel 5 See #185
- Rust toolchain and example See #178
- python-container example See #226
- Allow to specify platform constraints in
nixpkgs_cc_configure
See #164 - add
fail_not_supported to
nixpkgs_go_configure` See #167 - add exec/target constraints parameters to python toolchain macro See #169
- Support codesigning on MacOs See #224
-
Split into separate components in preparation for bzlmod See #182
-
Detect whether compiler is Clang at nix eval time See #216
Note: If you have previously passed a custom
cc
toolchain tonixpkgs_cc_configure
you need to provide a booleanisClang
attribute now, e.g.:pkgs.buildEnv { name = "bazel-nixpkgs-cc"; paths = [ cumstom-cc ]; pathsToLink = [ "/bin" ]; passthru = { isClang = custom-cc.isClang; }; }
- Avoid error when include dirs list is empty See #234
- Ensure nixpkgs will work with Bazel build from source See #231
- Fix call to
repository_ctx.file
usingnix_file_content
withnixpkgs_local_repository
See #210 - Fix python example build on macOS See #189
nixpkgs_local_repository
strips executable bit of nix files See #160
0.8.0 - 2021-02-11
- Bazel Skylib is now included as a dependency on
rules_nixpkgs_dependencies
. See #125. nixpkgs_python_configure
now exposes thequiet
attribute for the underlyingnispkgs_package
. See #131.- The default
BUILD
file ofnixpkgs_package
now finds more kinds of C/C++ header files in theinclude
target. See [#137][#137].
- The implementation of
nixpkgs_cc_configure
has been replaced by a more hermetic version that no longer uses Bazel's builtin autodetection toolchain under the hood. The previous behavior is now available under the namenixpkgs_cc_configure_deprecated
, if required. See #128. - The values in the
nixopts
attribute tonixpkgs_package
are now subject to location expansion. Any instance of$(location LABEL)
in thenixopts
attribute will be expanded to the file path of the file referenced byLABEL
. To pass a plain$
to Nix it must be escaped as$$
. See #132.
- The old implementation of
nixpkgs_cc_configure
, now available under the namenixpkgs_cc_configure_deprecated
, has been marked as deprecated in favor ofnixpkgs_cc_configure
and will be replaced by it in future. See #128.
- Incorrect label contruction for Nix file dependencies. See #124.
0.7.0 - 2020-04-20
- Define
rules_nixpkgs_dependencies
in//nixpkgs:repositories.bzl
. - Define
nixpkgs_go_configure
in//nixpkgs:toolchains/go.bzl
nixpkgs_package
now has aquiet
attribute.
- The constraint value for targets to detect whether Nix is available
on the current platform is now called
@//nixpkgs/constraints:support_nix
. The associated constraint setting is@//nixpkgs/constraints:nix
. The old constraint@//nixpkgs/constraints:nixpkgs
constraint setting is still available. But it is highly recommended to migrate to the new constraint setting, and update platform definitions accordingly. This is a breaking change for users ofnixpkgs_python_configure
. - Show Nix output by default, like in releases prior to v0.6.
nixpkgs_local_repository
now correctly invalidates the cache when Nix source files change. See #123.
0.6.0 - 2019-11-14
- Check
nix_file_deps
and fail on undeclared dependencies (breaking change). See #76 and #86. - Define a
nixpkgs
platform constraint. See #97. - Define
nixpkgs_python_configure
. See #97. - Define
nixpkgs_sh_posix_configure
to generaterules_sh
POSIX toolchain. See #95.
- Hide Nix output, following Bazel best practices for a quiet build.
- Disable implicit
nixpkgs
configuration loading (breaking change). See #83.
- Improve distributed caching by not leaking user specific Bazel cache directory, see #67.
0.5.2 - 2019-01-28
nixpkgs_package
now has a new optional argumentfail_not_supported
allowing the rule to not fail on Windows (when set toFalse
)nixpkgs_cc_configure
now has a new optional argumentnixopts
which propagates extra arguments to thenix-build
calls.
- The
nixpkgs_package
is now a no-op on non nixpkgs-supported platforms instead of throwing an error.
0.5.1 - 2018-12-18
nixpkgs_package
now has a new optional argumentnixopts
allowing to pass extra arguments to thenix-build
calls
- The various
nix_*
rules are now only triggered when one of their dependency has changed and not each time theWORKSPACE
is modified - The
nixpkgs_cc_configure
macro is now much faster nixpkgs_cc_configure
is now a no-op on non nixpkgs-supported platforms instead of throwing an error- The
lib
filegroup provided in the defaultBUILD
file fornixpkgs_package
now also works on MacOS
0.4.1 - 2018-11-17
nixpkgs_cc_configure
rule to tell Bazel to configure a toolchain from tools found in the given Nixpkgs repository, instead of from tools found in the ambient environment.nixpkgs_local_repository
rule. Works likenixpkgs_git_repository
but takes a checked-in Nix file or Nix expression as input.
- The
repository
attribute is no longer deprecated. Most rules support bothrepository
andrepositories
as attributes.
- Short repository labels work again. That is, you can say
repository = "@nixpkgs"
as a short form forrepository = "@nixpkgs//:default.nix"
.
0.3.1 - 2018-10-24
repositories
is no longer a required argument tonixpkgs_package
.
0.3 - 2018-10-23
nixpkgks_package
now supports referencing arbitrarily named nix files. A bug previously only made it possible to referencedefault.nix
files.
- The
path
attribute has been removed. SeeMigration
section inREADME.md
for instructions.
nixpkgs_packages
does not accept implicit<nixpkgs>
version. See #25.
sha256
attribute tonixpkgs_git_repository
.- Ability to point to a Nixpkgs fork via the new
remote
attribute tonixpkgs_git_repository
.