cbindgen generates C bindings from Rust code. Unlike rusty-cheddar it
supports generics, C++ enum class and template specialization as well
as multiple modules and crates. It's primarily developed for WebRender
but has been designed to support any project.
Features:
* Builds bindings for a crate, its mods, its dependent crates, and their mods
* Only the necessary types for exposed functions are given bindings
* Can specify annotations for controlling some aspects of binding
* Support for generic structs and unions
* Support for exporting constants and statics
* Customizable formatting, can be used in C or C++ projects
* Support for generating #ifdef's for #[cfg] attributes
* Support for #[repr(sized)] tagged enum's
*/*: Fix many Rust ports to run without COMPAT11
RISCV does not include COMPAT11 by default. But Rust's libc bound the
compat-11 symbols until version 0.2.176. Patch a great many Rust ports
to use a newer version of libc, to eliminate the dependency on COMPAT11.
Explicitly patching Cargo.lock isn't usually necessarily, since within
the build jail cargo is forced to use whichever crates Makefile.crates
installs there.
Notes on specific ports:
* textproc/bookokrat: Rework bookokrat's existing patch to be more
robust. Also, report the issue upstream:
https://github.com/bugzmanov/bookokrat/issues/182
(Only the first 15 lines of the commit message are shown above )
devel/rust-cbindgen: revert to 0.29.3
That 0.29.4 breaks gecko -esr builds.
Revert "devel/rust-cbindgen: update to 0.29.4" and bump PORTEPOCH
This reverts commit 033b0f421534bb7a1442a1155b857c4b9484d3ce.
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
rust: bring back update to 1.63
Revert back the revert of the update of rust and related commits
This revert was drive by beside validation by portmgr via exp-run
and not respectful of the etiquette we have between committers
This reverts commit 8ecb1f8141144c1603eb4026122d2e60eeaccd64.
This reverts commit 04d257baa182926cff158f32cf459e560426add0.
This reverts commit 2757c63bd0e6d01f9f0657fe03bb3a7b49adcae2.
This reverts commit 75f4713de5e3fbd1c6a0cb572e08121814a4072e.
This reverts commit e88e592111c86fdd1c0ac8717dbef9342e15e27c.
This reverts commit 783c056d7d681d66e2c5c59251c275d65274028e.
With hat: portmgr
Fix ports that pull main distfile from CRATESIO (D29760)
- Put distfiles into CARGO_DIST_SUBDIR where they were not
- Use correct crate file extension
MFH: 2021Q2 (to ease future cherry picks)
devel/rust-cbindgen: temporarily revert r558794
mail/thunderbird and www/firefox-esr failed with
In file included from Unified_cpp_dom_webgpu1.cpp:110:
dom/webgpu/ipc/WebGPUParent.cpp:426:29: error: no member named '_0' in
'mozilla::webgpu::ffi::WGPUBufferBinding'
bgb.resource.buffer._0.buffer = entry.mValue;
~~~~~~~~~~~~~~~~~~~ ^
dom/webgpu/ipc/WebGPUParent.cpp:427:29: error: no member named '_0' in
'mozilla::webgpu::ffi::WGPUBufferBinding'
bgb.resource.buffer._0.offset = entry.mBufferOffset;
~~~~~~~~~~~~~~~~~~~ ^
dom/webgpu/ipc/WebGPUParent.cpp:428:29: error: no member named '_0' in
'mozilla::webgpu::ffi::WGPUBufferBinding'
bgb.resource.buffer._0.size = entry.mBufferSize;
~~~~~~~~~~~~~~~~~~~ ^
dom/webgpu/ipc/WebGPUParent.cpp:432:34: error: member reference base type
'mozilla::webgpu::ffi::WGPUTextureViewId' (aka 'unsigned long long') is not a
structure or union
bgb.resource.texture_view._0 = entry.mValue;
~~~~~~~~~~~~~~~~~~~~~~~~~^~~
Don't force downgrade via PORTEPOCH as www/firefox is fine and I plan
to re-land soon.
Reported by: pkg-fallout, leres
lang/rust: Update to 1.45.0
- This Rust release comes with LLVM 10. Drop the LLVM patches we
no longer need.
- On FreeBSD 13.0 powerpc64 set the elfv2 ABI explicitly in the
Rust target instead of patching LLVM.
- Build LLVM with Ninja. It can shorten the build time slightly.
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
Tested by: mikael, pkubaj, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D25658
lang/rust: Update to 1.44.0
- Remove devel/cargo-tree since it is now integrated into cargo
- Add patch to fix build with LibreSSL 3.1.x and 3.2.0 [1]
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/06/04/Rust-1.44.0.html
PR: 246332 [1]
Tested by: mikael, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D25099
lang/rust: Update to 1.43.0
- Add workaround to fix build when CC/CXX have "clang" in them [1]
- Respect AR to fix build with external toolchains [2]
- Force rebuild all consumers to catch regressions early
Changes: https://blog.rust-lang.org/2020/04/23/Rust-1.43.0.html
PR: 238556 [1], 245583 [2]
Reported by: Matthias Apitz <guru@unixarea.de> [1], Greg V
<greg@unrelenting.technology> [2]
Tested by: mikael, pkubaj, tobik
With hat: rust
Differential Revision: https://reviews.freebsd.org/D24521