Skip to content
  1. Jan 31, 2025
    • Matthew Clarkson's avatar
      refactor: add `cosmos` downloader · 876c6c7a
      Matthew Clarkson authored
      This vastly simplifies the `MODULE.bazel`. It allows creation of download
      repositories for all versions of `cosmos` easily and creates entrypoints to
      the latest version of the downloads.
      
      This will make it _much_ easier to ingest newer versions of `cosmos` *and*
      provides legacy version downloads which some users may want to pin to.
      
      This patch does not make the extension public at this time but is designed
      in a way that it could be used across the module graph to added extra
      version downloads in. This would allow downstream modules to provide newer
      versions of `cosmos` and the unversioned repositories would point at the
      provided newer versions.
      
      BREAKING CHANGE: A new `ape_cosmos` extension has been implemented that allows flexible downloading of `cosmos.zip` binaries.
      
      Repositories can now be imported directly from that extension rather than `@toolchain_utils//toolchain/export:def.bzl#toolchain_export`.
      
      Previously a repository would be imported as so:
      
      ```py
      export = use_extension("@toolchain_utils//toolchain/export:defs.bzl", "toolchain_export")
      use_repo(export, "ape-zstd")
      ```
      
      Now the extension has all the available repositories:
      
      ```py
      cosmos = use_extension("@ape//ape/cosmos:defs.bzl", "ape_cosmos")
      use_repo(cosmos, "zstd")
      ```
      BREAKING CHANGE: The `@ape//:*` aliases have been removed in favour of the more explicit `@ape//ape/toolchain/info:*` targets.
      BREAKING CHANGE: `ape_binary` rule has been removed. It was plagued with runfile issues that are practically unsolvable in a hermetic way. The `ape_assimilate` rule is far superior and has been the default for the `@ape//ape:*` aliases for many releases. Finally removing the rule in lead up to `1.0.0` release.
      876c6c7a
    • Matthew Clarkson's avatar
  2. Jan 22, 2025
  3. Jan 21, 2025
  4. Dec 06, 2024
  5. Nov 26, 2024
  6. Nov 20, 2024
  7. Oct 30, 2024
  8. Sep 02, 2024
  9. Aug 30, 2024
  10. Jul 26, 2024
  11. Jul 22, 2024
  12. Jun 26, 2024
    • Matthew Clarkson's avatar
      fix(entrypoint): add `local = True` · 699fcb6c
      Matthew Clarkson authored
      This rule only depends on local data so can be marked as such.
      699fcb6c
    • Matthew Clarkson's avatar
      fix(entrypoint): assimilate on Linux · b4ff17be
      Matthew Clarkson authored
      If a Linux user has Wine installed with the `binfmt_misc` registration,
      an APE binary is picked up and ran under the Wine runtime.
      
      Normally, this does not occur, as we force execution under the launcher.
      
      However, Python `sys.executable` will return the original binary so
      any Python script that uses `sys.executable` with `subprocess` will
      unexpectedly run under Wine.
      
      Assimilating the binary on Linux avoids this situation. In all other cases
      we can symlink to the binary.
      b4ff17be
  13. Jun 24, 2024
Loading