Commit graph

24 commits

Author SHA1 Message Date
ryoon
570c28f941 cbindgen: Update to 0.15.0
Changelog:
  * Allow customizing mangling of generic parameters in C (#575)
  * Box<T> simplifies to T* in C (4ce324c)
  * ManuallyDrop<T> and MaubeUninit<T> simplify to T in C, and are opaque in C++ (0076a17)
  * C++ supports a derive-ostream annotation to derive serialization of structs, unions and enums (#582)
  * Large character constants have been fixed on Windows (#586)
  * Constants are now generated for typedefs, etc (#589)
  * The `sort_by` configuration option has been made to work for constants (#587)
  * Default sort order is source order now (sort_by = "None"), and can be changed by the above option (#587)
2020-10-11 13:04:35 +00:00
ryoon
75bf88194b cbindgen: Update to 0.14.6
Changelog:
Not available.
2020-09-28 13:21:03 +00:00
ryoon
c09f008e7d cbindgen: Update to 0.14.6
CHangelog:
Not available.
2020-09-27 15:49:41 +00:00
ryoon
05a2e2a34e cbindgen: Update to 0.14.4
Changelog:
     * Allow to override the mangling separator (#502)

     * cbindgen now handles better having ZSTs in template parameters, and
       default template parameters (#563).

     * Support for annotating nonnull pointers (#558)

     * Fixed bitflags that overflow a signed integer (#556)

     * Support for wildcard argument names (#550)

     * Support for the never return type, with configurable annotation (#549)

     * Properly reject arrays as function arguments (#540)
2020-08-25 14:30:39 +00:00
tnn
51279b13f6 cargo users: drop do-build target where redundant 2020-08-14 20:50:21 +00:00
tnn
296452e94f rust/cargo: replace "--frozen --locked" with "--offline" in various places
The intent of "--frozen --locked" was to not use the network, but the new
"--offline" option is better suited for this purpose.
It for example allows us to patch Cargo.toml if necessary without having
to regen checksums.
2020-08-14 11:04:59 +00:00
maya
798cd7baa9 cbindgen: update to 0.14.3
* Introduce cbindgen:ignore comment annotation, to allow ignoring items or modules. (#519)
     * Support for casts in constant expressions. (#526)
     * Make a non-fatal error a warning message. (#535)
     * Add a --metadata option to the CLI, to allow passing pre-computed cargo metadata. (#538)
2020-07-31 01:20:43 +00:00
nia
9c0808198e Rename rust-bin's PKGNAME to rust-bin. Add rust.mk for rust packages.
This allows rust-bin and rust to coexist in bulk builds (for testing, etc),
but the packages still may not be installed at the same time.

rust.mk as a solution for picking the correct rust variant was suggested
by gdt@. It is intended to be included directly by packages that do not
use cargo.mk, and indirectly by packages that do use cargo.mk.

rust.mk provides one user-settable variable:

RUST_TYPE
	as before, whether to bootstrap rust from source or use
	official binaries. may be "src" or "bin"

And two package-settable variables:

RUST_REQ
	the minimum version of Rust required by the package.
	defaults to "1.20.0"

RUST_RUNTIME
	whether Rust is a runtime dependency, may be "yes" or "no"
2020-06-14 15:33:27 +00:00
ryoon
87ec3931d2 cbindgen: Update to 0.14.2
Changelog:
0.14.2
 * Fixed minimal dependency versions. (#507)
 * Add an option to write pragma once. (#511)
 * Fix submodule scanning for implicit Rust 2018 modules. (#512)
 * Fix dependency parsing / scanning to handle target-specific versions. (#513)
 * Use heck for case conversion. (#514)
 * Add support for verbatim content after includes. (#416)
 * Allow to add attributes to most generated functions. (#515)

0.14.1
 * Handle mangling pointers. (#508)
 * Unconditionally generate a return statement in partialeq implementations. (#509)

0.14.0
 * Minor tweak at how [export.exclude] is handled to allow excluding
   generic instantiations in C mode. (#501)
 * Documented cpp_compat option. (#496)
 * Fixed a panic when parsing associated constants for a built-in type. (#494)

0.13.2
   * Constants now have suitable documentation. (#471)
   * Fixed some C warnings by emitting void when there are no arguments. (#470)
   * Avoids reading cargo.toml when not needed, which can cause panics in workspace situations.
   * Only write `default` cases if the switch is not exhaustive. (#475)
   * Some warnings have been refined. (#477)
   * Code generation for static arrays has been fixed. (#479)
   * Opt-in support for constexpr in constants. (#481)
   * Fix C code generation and some warnings when extremely large constants are used. (#490)
   * Proper escaping of enum variants and fields. (#483)
   * Added support for RefCell (as an opaque type) and Cell. (#489)

5a4d74b
ir: escape export_name while writing source of EnumVariant
2020-06-03 08:53:04 +00:00
ryoon
34b22e0285 cbindgen: Update to 0.13.1
Changelog:
0.13.1
  * Support #[cfg] on individual enum variants. (#469)

0.13.0
 * Support 'swift_name' attributes on generated functions (#449)
 * Add [export.pre_body] to config (#452)
 * Handle new line in doc attribute (#454)
 * Add support for `Self` in tagged enums, structs and unions (#455, #455, #456)
 * Make sentinel variant respect regular config (#459)
 * Fix layout of tagged enums with size under some configurations (#463)
 * Add an option to allow configuring the order of function names in generated headers (#466)

0.12.2
Not available
2020-03-06 14:22:14 +00:00
maya
25acf4336b Rename EFFECTIVE_MAKE_JOBS -> _MAKE_JOBS_N, suggested by gdt.
I am under the impression we use _THING to mean "defined by the
implementation", which would be similar to the C meaning of __ prefix,
rather than "private to this file".
2020-01-19 18:20:45 +00:00
maya
012c313037 Make cargo packages respect MAKE_JOBS 2020-01-19 16:52:46 +00:00
ryoon
ad6d1ab3ef cbindgen: Update to 0.12.1
Changelog:
0.12.1
 * Added support for #[repr*64)] on enums. https://github.com/eqrion/cbindgen/pull/441
 * Added support to generate plain enums instead of enum classes for C++. https://github.com/eqrion/cbindgen/pull/443
 * Fixed dependency resolution with lockfile v2. https://github.com/eqrion/cbindgen/pull/438

0.12.0
 * Added support for #[repr(align)] and #[repr(packed)] on structs and unions. https://github.com/eqrion/cbindgen/pull/431
 * Added support to generate copy-assignment operators for enums. https://github.com/eqrion/cbindgen/pull/434

0.11.1
Not available

0.11.0
 * Made rust char map to uint32_t. https://github.com/eqrion/cbindgen/pull/424
2020-01-09 14:56:28 +00:00
minskim
f5e88c752c lang/rust/cargo.mk: Remove default DIST_SUBDIR
Some packages using cargo.mk have distfiles not from
crates.io.
2019-12-03 16:29:39 +00:00
minskim
fee8b28826 devel/cbindgen: Update to 0.10.1
Changes:
     * Initialize struct literal with list-initializer for C++11 standard.
     * Surround namespace with __cplusplus ifdef in cpp_compat mode.
     * Add support for --quiet flag.
     * Map char to char32_t.
     * Improve binding_crate_ref() error message.
     * avoid prematurely returning during expansion.
     * Add support for adding "using namespace" statements.
     * Improved error message for missing config file.
     * Add missing header for char32_t.
2019-12-03 15:50:09 +00:00
rillig
6e61842d05 devel/cbindgen: fix typo 2019-10-01 21:30:04 +00:00
ryoon
fa49aab0c0 Update to 0.9.1
Changelog:
## 0.9.1
     * Various improvements to comment output. https://github.com/eqrion/cbindgen/pull/370 / https://github.com/eqrion/cbindgen/pull/375.
     * Fixed expand when ran from build.rs. https://github.com/eqrion/cbindgen/pull/371
     * More debugging output for expansion. https://github.com/eqrion/cbindgen/pull/383
     * New option to add a default private constructor in C++ tagged enums. https://github.com/eqrion/cbindgen/pull/377
     * Syn and related dependencies updated to 1.0. https://github.com/eqrion/cbindgen/pull/379
2019-09-06 02:53:19 +00:00
ryoon
03458274ca Update to 0.9.0
Changelog:
## 0.9.0
     * Support to generate C headers with C++ compatibility.
       https://github.com/eqrion/cbindgen/pull/349
     * Fix include guard generation when no_includes is set.
       https://github.com/eqrion/cbindgen/pull/352
     * Fix crate parsing order so that types from the binding crate
       are preferred in presence of conflicting names.
       https://github.com/eqrion/cbindgen/pull/355
     * Add extra_bindings option to generate bindings for dependencies.
       https://github.com/eqrion/cbindgen/pull/362
     * Clap dependency is optional now so it's feasible to avoid
       building it if cbindgen is used as a library.
       https://github.com/eqrion/cbindgen/pull/363
2019-07-04 13:16:07 +00:00
ryoon
c2f59b0d8d Update to 0.8.7
Changelog:
* Support for Rust 2018
2019-05-15 12:24:01 +00:00
wiz
d549c2c261 cbindgen: update to 0.8.4.
0.8.4

* Support for package renaming in Cargo.toml
* Improved error messages for |cargo metadata| failures
* Replaced 'test.py' harness with |cargo test|
* Char constants will now be escaped properly
* Visibility of constants will now be respected
* Added a C99 doc comment style

0.8.3

Changes not found.
2019-05-01 09:24:39 +00:00
ryoon
c59f0c7f53 Update to 0.8.2
Changelog:
Not available
2019-03-15 13:05:55 +00:00
he
afe31a99e9 Update to version 0.8.0 (from 0.6.8).
Also upgrade the various rust crates according to new requirements.
Sadly, no change log available upstream that I can find...
(The old version uses an old libc crate, which hasn't been adapted
for NetBSD/aarch64.)
2019-02-19 22:24:12 +00:00
ryoon
e9aa49c10a Update to 0.6.8
Compatible with www/firefox-64.0.2 and upcomming -65.0

Changelog:
Not available.
2019-01-19 12:49:04 +00:00
ryoon
9b8c6ae65d devel/cbindgen: import cbindgen-0.6.6
This project can be used to generate C bindings for Rust code. It
is currently being developed to support creating bindings for
WebRender, but has been designed to support any project.

cbindgen-0.6.7 is not compatible with www/firefox-63.0.1.
2018-11-04 00:28:01 +00:00