5 of 6 standards met
Pass correct rpath origin setting to linker on Darwin Add function with parameter Add script to generate target metadata for Haskell Add ghc wrapper script which writes ABI hash and a deps file Add helper function Add provider Add rule Add and tool targets make compiler_flags be of arg type (#34) Add scripts to haskell rules Allow to declare dependencies for haskell sources manually Add helper function Make optional in template processor script Add attributes to haskell rules Support HaskellToolchainLibs for ide BXL Make cc toolchain tools optional Determine haskell dependencies and compile modules according to the dependency graph** IMPORTANT: Please don't raise pull requests here, but at facebook/buck2. NOTE: this is a PR to get the discussion started on how to incorporate our changes into upstream. I'll raise a PR at the buck2 repo soonish. These changes requires a few GHC patches: add -dep-json flag for emitting machine-readable dependency info https://gitlab.haskell.org/ghc/ghc/-/merge_requests/11994 https://gitlab.haskell.org/ghc/ghc/-/tree/wip/show-iface-abi-hash?ref_type=heads
Summary: What The rule now auto-detects native C extensions and produces PEP 427/425 compliant wheel filenames and metadata: Extension wheels: โ (CPython-specific ABI tags) Pure Python wheels: โ (PEP 425 normalized python tag) Explicit ABI overrides: respected (e.g. is not overridden) Additionally, the fbsource macro now supports build info version suffixing via . This produces PEP 440 compliant versions like . The suffix is only appended when the configs are explicitly set. Context Previously, wheels with native C extensions were tagged , which means "pure Python, no ABI dependency" โ incorrect for wheels containing extensions compiled against CPython's C API. This caused / compatibility issues. The macro in existed as a genrule workaround to fix these tags post-build. With this change, the fix happens at the source and is no longer needed. Changes 1. : Added and helpers. Auto-detect extensions and switch to tags when . Normalize python tag to PEP 425 format ( โ ). Added attribute for explicit overrides. Added computed metadata. 2. : Added conditional build info version suffixing (timestamp, revision, or both). 3. Tests**: 9 genrule checks for cpython tag correctness, 1 shared_libs tag check, 11 Python unit tests for version suffix PEP 440 compliance, updated wheel_metadata test. Reviewed By: suo, manav-a, seemethere Differential Revision: D93168164
Repository: facebook/buck2-prelude. Description: Prelude for the Buck2 project Stars: 61, Forks: 60. Primary language: Starlark. Languages: Starlark (42.2%), Java (37.5%), Python (8.7%), Kotlin (6.7%), Erlang (3.4%). License: Apache-2.0. Open PRs: 1, open issues: 1. Last activity: 14h ago. Community health: 87%. Top contributors: milend, rmaz, andrewjcg, JakobDegen, podtserkovskiy, stepancheg, chatura-atapattu, blackm00n, NavidQar, ndmitchell and others.
Last 12 weeks ยท 574 commits