profile
viewpoint
Cameron Martin cameron-martin United Kingdom

cameron-martin/babel-helper-references-import 3

Checks whether an Identifier or MemberExpression references a specific import from a specific package.

cameron-martin/advent-of-code 0

My solutions to Advent of Code in TypeScript

cameron-martin/babel 0

:tropical_fish: Babel is a compiler for writing next generation JavaScript.

cameron-martin/babel-explode-module 0

Serialize a module into an easier format to work with

cameron-martin/babel-plugin-react-intl 0

Extracts string messages from React components that use React Intl.

issue commentdtolnay/cxx

Design for Rust object by-value passing to C++ and back

This sounds interesting. Can you expand on what is generated on the C++ side? What do you mean by "Reserve aligned space in the C++ object for the type"?

schreter

comment created time in 4 hours

issue commentbazelbuild/bazel

cc_library exposes private headers

A private header may still be used by one of your public headers.

Well it shouldn't, and if it does then I want an error when this is used by a dependent library and the included private header is not available.

ahippler

comment created time in a day

issue commentbazelbuild/bazel

Change `build_tag_filters` and `test_tag_filters` options to accumulate uses

This is still an issue, can this be re-opened?

ghost

comment created time in 18 days

pull request commentbazelbuild/bazel

Add `arguments` parameter to `RunEnvironmentInfo`

I don't think the main purpose of this PR is to fix arguments tokenisation. At least the reasons I want it are not for this, but rather mirror the use cases that @UebelAndre provided.

fmeum

comment created time in 24 days

pull request commentbazelbuild/rules_rust

Advertise CcInfo provider on rules

It seems that the CcInfo provider isn't returned when the target arch is wasm, which causes an error in this case. However, you don't have this information when creating the rule. What do you think the best way around this is? Is there a reason why it can't return a CcInfo provider in the wasm case?

cameron-martin

comment created time in 24 days

issue commentbazelbuild/rules_foreign_cc

Correctly extracting built libraries and binaries?

Can you re-open this? This is still an issue.

celskeggs

comment created time in 25 days

issue commentbazelbuild/rules_foreign_cc

configure_make should have instructions how to get at the built binaries

The same thing doesn't seem to work for out_shared_libs. Is this expected?

filmil

comment created time in 25 days

startedszbeni/forcegauge

started time in a month

push eventgraphcore/rules_rust-fork

Cameron Martin

commit sha e9139bf9872fd49d952fbd0eeec72cb2ae700031

Advertise CcInfo provider on rules The aspect used in the `cc_shared_library` implementation in bazel 6.3 and 7 only traverses attributes that advertise the `CcInfo` provider via the `provides` attribute. This means in these versions of bazel, rust libraries are currently omitted from libraries built with `cc_shared_library`.

view details

push time in a month

PR opened bazelbuild/rules_rust

Advertise CcInfo provider on rules

The aspect used in the cc_shared_library implementation in bazel 6.3 and 7 only traverses attributes that advertise the CcInfo provider via the provides attribute. This means in these versions of bazel, rust libraries are currently omitted from libraries built with cc_shared_library.

Fixes #2101.

+57 -0

0 comment

7 changed files

pr created time in a month

PR opened graphcore/rules_rust-fork

Advertise CcInfo provider on rules

The aspect used in the cc_shared_library implementation in bazel 6.3 and 7 only traverses attributes that advertise the CcInfo provider via the provides attribute. This means in these versions of bazel, rust libraries are currently omitted from libraries built with cc_shared_library.

+57 -0

0 comment

7 changed files

pr created time in a month

create barnchgraphcore/rules_rust-fork

branch : advertise-cc-info

created branch time in a month

push eventgraphcore/rules_rust-fork

David Zbarsky

commit sha 3e8f19e47bc23f55ea48f6bbf129cc7b82263fbf

Cleanup args construction (#2122) Some minor optimizations to analysis time memory usage (avoid creating some list temporaries, some extra strings, etc.) Some of the usage might be simpler as `args.add("foo", foo)` instead of `args.add(foo, format="foo=%s")` but I opted to keep the usage the same as before for safety.

view details

Vinh Tran

commit sha d5505c814e644d918fff51464aae43b3c16c492e

Add crate_name attribute (#2118) This PR adds `crate_name` attribute to `rust_proto_library` and `rust_grpc_library` rules. This aligns with `crate_name` attribute provided in other rules to allow custom crate name different from label name. Setting `--crate-name` flag to `rustc_flags` attribute is not an option because `rustc` does not allow `--crate-name` flag to be set twice. @UebelAndre Would you mind reviewing this PR when you have a chance? ---------

view details

David Tolnay

commit sha f347d8d9cdf2b532b7f1ef6e1413eff222bd5639

Make @using_cxx example buildable on Windows (#2114) See the build error on 9221306cb9ef2a77d732c89f6d9980b7e4a1b1b0 (the parent commit of 8b26c2d7637b445889224112ac0c021cb7821592). ```console ERROR: C:/b/gk6ogkw7/external/using_cxx__cxx-1.0.104/BUILD.bazel:96:11: Linking external/using_cxx__cxx-1.0.104/cxx_cc_6cbd2ac8.dll failed: (Exit 1120): link.exe failed: error executing command (from target @using_cxx__cxx-1.0.104//:cxx_cc) cd /d C:/b/gk6ogkw7/execroot/examples SET LIB=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\lib\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\um\x64 SET PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\bin\Roslyn;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\devinit;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\\MSBuild\Current\Bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\;;C:\Windows\system32;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja SET PWD=/proc/self/cwd SET TEMP=C:\temp SET TMP=C:\temp C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\link.exe @bazel-out/x64_windows-fastbuild/bin/external/using_cxx__cxx-1.0.104/cxx_cc_6cbd2ac8.dll-2.params # Configuration: 32fa8a1b9590f00081feb76803a4c79cdb2d501747a2a876b73c055492fe1027 # Execution platform: @local_config_platform//:host Creating library bazel-out/x64_windows-fastbuild/bin/external/using_cxx__cxx-1.0.104/cxx_cc.if.lib and object bazel-out/x64_windows-fastbuild/bin/external/using_cxx__cxx-1.0.104/cxx_cc.if.exp cxx.obj : error LNK2019: unresolved external symbol cxxbridge1$string$new referenced in function "public: __cdecl rust::cxxbridge1::String::String(void)" (??0String@cxxbridge1@rust@@QEAA@XZ) ``` It's trying to build `cxx_cc_6cbd2ac8.dll`. The cxx crate's C++ library cxx.cc is not supposed to be a shared library. It depends on Rust symbols defined in the cxx crate's rlib. It is supposed to be statically linked into the rlib, as done in Cargo builds.

view details

Michael Hackner

commit sha 81af2f9730bff4768d024254f0d79e33bd5b1571

Fix rust_doc_test dependency to allow either rust_library or cc_library (#2112) It is documented to allow either, but as written, requires both.

view details

push time in a month

pull request commentbazelbuild/rules_rust

Remove `mandatory = True` from the `prost_plugin_flag` attribute in `rust_prost_toolchain`.

I can confirm this is a problem

thb-sb

comment created time in 2 months

issue commentbazelbuild/rules_rust

Libraries not linked by cc_shared_library

Sorry it was a typo. I meant rust_shared_library.

cameron-martin

comment created time in 2 months

issue openedbazelbuild/rules_foreign_cc

Libraries not linked by cc_shared_library

Since Bazel 6.3.0, the aspect used in cc_shared_library only propagates to dependencies that advertise themselves as providing CcInfo via the provides attribute of the rule constructor. None of these rules do this, so these libraries are not linked by cc_shared_library.

This is the same issue as https://github.com/bazelbuild/rules_rust/issues/2101.

created time in 2 months

issue openedbazelbuild/rules_rust

Libraries not linked by cc_shared_library

Since Bazel 6.3.0, the aspect used in cc_shared_library only propagates to dependencies that advertise themselves as providing CcInfo via the provides attribute of the rule constructor. cc_static_library does not do this, so these libraries are not linked by cc_shared_library.

created time in 2 months

issue commentbazelbuild/bazel

Bazel Fails with "undeclared inclusion(s) in rule" with custom C++ toolchain and --output_user_root

The problem in my case was using clang but not passing -no-canonical-prefixes. I wonder if this is also the OPs issue.

thomasyoung

comment created time in 2 months

issue commentbazelbuild/bazel

Bazel Fails with "undeclared inclusion(s) in rule" with custom C++ toolchain and --output_user_root

I'm possibly having a similiar issue. It seem that dependencies from external repositories are written to the .d file as an absolute path, and maybe bazel thinks these are undeclared system dependencies.

thomasyoung

comment created time in 2 months

issue commentbazelbuild/bazel

Allow rewriting to a list of URLs with the bazel URL rewriter

The docs suggest this is possible already:

It is possible for multiple rewrite directives for the same URL to be give, and in this case multiple URLs will be returned.

matts1

comment created time in 2 months

issue openedbazelbuild/rules_python

Use bazel's downloader for downloading pip packages

🚀 feature request

Relevant Rules

The relevant rule is whl_library.

Description

Currently whl_library downloads pip packages by executing a python script. However this bypasses bazel's downloader, causing us to lose a few nice features such as:

  • The ability to rewrite these urls to a mirror by using --experimental_downloader_config.
  • Sharing the downloader cache between machines to speed up downloads.

Describe the solution you'd like

It would be nice to use bazel's downloader for these, by using repository_ctx.download.

Describe alternatives you've considered

Not doing this and keeping it like it is, I suppose.

created time in 2 months

issue openedbazelbuild/rules_rust

Tinyjson compilation is not reproducible

When compiling tinyjson, the hashes of the outputs differ:

***************
*** 188019,188040 ****
    }
  }
  listed_outputs: "bazel-out/k8-opt-exec-CF7D65A3/bin/external/rules_rust_tinyjson/libtinyjson-4031717389.rlib"
  remotable: true
  cacheable: true
  progress_message: "Compiling Rust (without process_wrapper) rlib tinyjson (4 files) [for tool]"
  mnemonic: "Rustc"
  actual_outputs {
    path: "bazel-out/k8-opt-exec-CF7D65A3/bin/external/rules_rust_tinyjson/libtinyjson-4031717389.rlib"
    digest {
!     hash: "92a2c8e00550cc2e26a93d9e53beaa4a7b826d21c5112556eed9cb008435c88e"
!     size_bytes: 633710
      hash_function_name: "SHA-256"
    }
  }
  runner: "linux-sandbox"
  remote_cacheable: true
  target_label: "@rules_rust_tinyjson//:tinyjson"
  
  
  ---------------------------------------------------------
  
--- 188019,188040 ----
    }
  }
  listed_outputs: "bazel-out/k8-opt-exec-CF7D65A3/bin/external/rules_rust_tinyjson/libtinyjson-4031717389.rlib"
  remotable: true
  cacheable: true
  progress_message: "Compiling Rust (without process_wrapper) rlib tinyjson (4 files) [for tool]"
  mnemonic: "Rustc"
  actual_outputs {
    path: "bazel-out/k8-opt-exec-CF7D65A3/bin/external/rules_rust_tinyjson/libtinyjson-4031717389.rlib"
    digest {
!     hash: "3ea14e1e2f634961bfeb2d3ba2e9e690dd16c1991bd2a353583994b0098bd509"
!     size_bytes: 633702
      hash_function_name: "SHA-256"
    }
  }
  runner: "linux-sandbox"
  remote_cacheable: true
  target_label: "@rules_rust_tinyjson//:tinyjson"

I ran diffoscope on the output and this is the result: tj_diff.txt. It looks like the paths of files in the sandbox are being written to the library. This is similar to #1530, but this is using Linux (Ubuntu 22.04).

created time in 2 months

IssuesEvent

issue commentbazelbuild/bazel-skylib

Add env attr to native_binary and native_test

Looks like I'm too eager to clean up my issues list. I'll reopen this as you're probably right about this.

cameron-martin

comment created time in 2 months

fork cameron-martin/capnproto

Cap'n Proto serialization/RPC system - core tools and C++ library

https://capnproto.org

fork in 2 months

issue closedbazelbuild/bazel-skylib

Add env attr to native_binary and native_test

native_binary and native_test currently have no way to specify the environment that the target runs with. A RunEnvironmentInfo provider could be returned from these, based on a passed-in env attr.

closed time in 2 months

cameron-martin

issue commentbazelbuild/bazel-skylib

Add env attr to native_binary and native_test

This env param does work even without RunEnvironmentInfo (similar to args).

cameron-martin

comment created time in 2 months

more