svn commit: r477583 - in head/devel: . rust-cbindgen

Jan Beich jbeich at FreeBSD.org
Sun Aug 19 16:39:18 UTC 2018


Author: jbeich
Date: Sun Aug 19 16:39:16 2018
New Revision: 477583
URL: https://svnweb.freebsd.org/changeset/ports/477583

Log:
  devel/rust-cbindgen: add new port (required by Firefox 63)
  
  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.
  
  https://github.com/eqrion/cbindgen
  https://www.mail-archive.com/dev-platform@lists.mozilla.org/msg26147.html

Added:
  head/devel/rust-cbindgen/
  head/devel/rust-cbindgen/Makefile   (contents, props changed)
  head/devel/rust-cbindgen/distinfo   (contents, props changed)
  head/devel/rust-cbindgen/pkg-descr   (contents, props changed)
Modified:
  head/devel/Makefile   (contents, props changed)

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Sun Aug 19 16:32:13 2018	(r477582)
+++ head/devel/Makefile	Sun Aug 19 16:39:16 2018	(r477583)
@@ -6090,6 +6090,7 @@
     SUBDIR += rudeconfig
     SUBDIR += rudiments
     SUBDIR += runsnakerun
+    SUBDIR += rust-cbindgen
     SUBDIR += rvi
     SUBDIR += rvm
     SUBDIR += sabre

Added: head/devel/rust-cbindgen/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/rust-cbindgen/Makefile	Sun Aug 19 16:39:16 2018	(r477583)
@@ -0,0 +1,60 @@
+# $FreeBSD$
+
+PORTNAME=	cbindgen
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.6.1
+CATEGORIES=	devel
+PKGNAMEPREFIX=	rust-
+
+MAINTAINER=	jbeich at FreeBSD.org
+COMMENT=	Generate C bindings from Rust code
+
+LICENSE=	MPL20
+
+RUN_DEPENDS=	cargo:lang/rust
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	eqrion
+PLIST_FILES=	bin/cbindgen
+
+CARGO_CRATES=	ansi_term-0.11.0 \
+		atty-0.2.10 \
+		bitflags-1.0.3 \
+		cfg-if-0.1.3 \
+		clap-2.31.2 \
+		dtoa-0.4.2 \
+		fuchsia-zircon-0.3.3 \
+		fuchsia-zircon-sys-0.3.3 \
+		itoa-0.4.1 \
+		libc-0.2.41 \
+		log-0.3.9 \
+		log-0.4.1 \
+		proc-macro2-0.4.4 \
+		quote-0.3.15 \
+		quote-0.6.3 \
+		rand-0.4.2 \
+		redox_syscall-0.1.40 \
+		redox_termios-0.1.1 \
+		remove_dir_all-0.5.1 \
+		serde-1.0.64 \
+		serde_derive-1.0.21 \
+		serde_derive_internals-0.17.0 \
+		serde_json-1.0.19 \
+		strsim-0.7.0 \
+		syn-0.11.11 \
+		syn-0.14.1 \
+		synom-0.11.3 \
+		tempdir-0.3.7 \
+		termion-1.5.1 \
+		textwrap-0.9.0 \
+		toml-0.4.6 \
+		unicode-width-0.1.5 \
+		unicode-xid-0.0.4 \
+		unicode-xid-0.1.0 \
+		vec_map-0.8.1 \
+		winapi-0.3.4 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0
+
+.include <bsd.port.mk>

Added: head/devel/rust-cbindgen/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/rust-cbindgen/distinfo	Sun Aug 19 16:39:16 2018	(r477583)
@@ -0,0 +1,79 @@
+TIMESTAMP = 1532545741
+SHA256 (rust/crates/ansi_term-0.11.0.tar.gz) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.tar.gz) = 17087
+SHA256 (rust/crates/atty-0.2.10.tar.gz) = 2fc4a1aa4c24c0718a250f0681885c1af91419d242f29eb8f2ab28502d80dbd1
+SIZE (rust/crates/atty-0.2.10.tar.gz) = 5962
+SHA256 (rust/crates/bitflags-1.0.3.tar.gz) = d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789
+SIZE (rust/crates/bitflags-1.0.3.tar.gz) = 13838
+SHA256 (rust/crates/cfg-if-0.1.3.tar.gz) = 405216fd8fe65f718daa7102ea808a946b6ce40c742998fbfd3463645552de18
+SIZE (rust/crates/cfg-if-0.1.3.tar.gz) = 7115
+SHA256 (rust/crates/clap-2.31.2.tar.gz) = f0f16b89cbb9ee36d87483dc939fe9f1e13c05898d56d7b230a0d4dff033a536
+SIZE (rust/crates/clap-2.31.2.tar.gz) = 194051
+SHA256 (rust/crates/dtoa-0.4.2.tar.gz) = 09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab
+SIZE (rust/crates/dtoa-0.4.2.tar.gz) = 14227
+SHA256 (rust/crates/fuchsia-zircon-0.3.3.tar.gz) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
+SIZE (rust/crates/fuchsia-zircon-0.3.3.tar.gz) = 22565
+SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
+SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) = 7191
+SHA256 (rust/crates/itoa-0.4.1.tar.gz) = c069bbec61e1ca5a596166e55dfe4773ff745c3d16b700013bcaff9a6df2c682
+SIZE (rust/crates/itoa-0.4.1.tar.gz) = 10563
+SHA256 (rust/crates/libc-0.2.41.tar.gz) = ac8ebf8343a981e2fa97042b14768f02ed3e1d602eac06cae6166df3c8ced206
+SIZE (rust/crates/libc-0.2.41.tar.gz) = 333728
+SHA256 (rust/crates/log-0.3.9.tar.gz) = e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b
+SIZE (rust/crates/log-0.3.9.tar.gz) = 16686
+SHA256 (rust/crates/log-0.4.1.tar.gz) = 89f010e843f2b1a31dbd316b3b8d443758bc634bed37aabade59c686d644e0a2
+SIZE (rust/crates/log-0.4.1.tar.gz) = 20731
+SHA256 (rust/crates/proc-macro2-0.4.4.tar.gz) = 1fa93823f53cfd0f5ac117b189aed6cfdfb2cfc0a9d82e956dd7927595ed7d46
+SIZE (rust/crates/proc-macro2-0.4.4.tar.gz) = 28564
+SHA256 (rust/crates/quote-0.3.15.tar.gz) = 7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a
+SIZE (rust/crates/quote-0.3.15.tar.gz) = 12041
+SHA256 (rust/crates/quote-0.6.3.tar.gz) = e44651a0dc4cdd99f71c83b561e221f714912d11af1a4dff0631f923d53af035
+SIZE (rust/crates/quote-0.6.3.tar.gz) = 14154
+SHA256 (rust/crates/rand-0.4.2.tar.gz) = eba5f8cb59cc50ed56be8880a5c7b496bfd9bd26394e176bc67884094145c2c5
+SIZE (rust/crates/rand-0.4.2.tar.gz) = 76170
+SHA256 (rust/crates/redox_syscall-0.1.40.tar.gz) = c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1
+SIZE (rust/crates/redox_syscall-0.1.40.tar.gz) = 14745
+SHA256 (rust/crates/redox_termios-0.1.1.tar.gz) = 7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76
+SIZE (rust/crates/redox_termios-0.1.1.tar.gz) = 3227
+SHA256 (rust/crates/remove_dir_all-0.5.1.tar.gz) = 3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5
+SIZE (rust/crates/remove_dir_all-0.5.1.tar.gz) = 8726
+SHA256 (rust/crates/serde-1.0.64.tar.gz) = fba5be06346c5200249c8c8ca4ccba4a09e8747c71c16e420bd359a0db4d8f91
+SIZE (rust/crates/serde-1.0.64.tar.gz) = 71347
+SHA256 (rust/crates/serde_derive-1.0.21.tar.gz) = 652bc323d694dc925829725ec6c890156d8e70ae5202919869cb00fe2eff3788
+SIZE (rust/crates/serde_derive-1.0.21.tar.gz) = 25544
+SHA256 (rust/crates/serde_derive_internals-0.17.0.tar.gz) = 32f1926285523b2db55df263d2aa4eb69ddcfa7a7eade6430323637866b513ab
+SIZE (rust/crates/serde_derive_internals-0.17.0.tar.gz) = 17674
+SHA256 (rust/crates/serde_json-1.0.19.tar.gz) = 93aee34bb692dde91e602871bc792dd319e489c7308cdbbe5f27cf27c64280f5
+SIZE (rust/crates/serde_json-1.0.19.tar.gz) = 65039
+SHA256 (rust/crates/strsim-0.7.0.tar.gz) = bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550
+SIZE (rust/crates/strsim-0.7.0.tar.gz) = 8435
+SHA256 (rust/crates/syn-0.11.11.tar.gz) = d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad
+SIZE (rust/crates/syn-0.11.11.tar.gz) = 63309
+SHA256 (rust/crates/syn-0.14.1.tar.gz) = 6dfd71b2be5a58ee30a6f8ea355ba8290d397131c00dfa55c3d34e6e13db5101
+SIZE (rust/crates/syn-0.14.1.tar.gz) = 133459
+SHA256 (rust/crates/synom-0.11.3.tar.gz) = a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6
+SIZE (rust/crates/synom-0.11.3.tar.gz) = 17120
+SHA256 (rust/crates/tempdir-0.3.7.tar.gz) = 15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8
+SIZE (rust/crates/tempdir-0.3.7.tar.gz) = 11468
+SHA256 (rust/crates/termion-1.5.1.tar.gz) = 689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096
+SIZE (rust/crates/termion-1.5.1.tar.gz) = 20659
+SHA256 (rust/crates/textwrap-0.9.0.tar.gz) = c0b59b6b4b44d867f1370ef1bd91bfb262bf07bf0ae65c202ea2fbc16153b693
+SIZE (rust/crates/textwrap-0.9.0.tar.gz) = 15795
+SHA256 (rust/crates/toml-0.4.6.tar.gz) = a0263c6c02c4db6c8f7681f9fd35e90de799ebd4cfdeab77a38f4ff6b3d8c0d9
+SIZE (rust/crates/toml-0.4.6.tar.gz) = 40203
+SHA256 (rust/crates/unicode-width-0.1.5.tar.gz) = 882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526
+SIZE (rust/crates/unicode-width-0.1.5.tar.gz) = 15761
+SHA256 (rust/crates/unicode-xid-0.0.4.tar.gz) = 8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc
+SIZE (rust/crates/unicode-xid-0.0.4.tar.gz) = 16034
+SHA256 (rust/crates/unicode-xid-0.1.0.tar.gz) = fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc
+SIZE (rust/crates/unicode-xid-0.1.0.tar.gz) = 16000
+SHA256 (rust/crates/vec_map-0.8.1.tar.gz) = 05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a
+SIZE (rust/crates/vec_map-0.8.1.tar.gz) = 14959
+SHA256 (rust/crates/winapi-0.3.4.tar.gz) = 04e3bd221fcbe8a271359c04f21a76db7d0c6028862d1bb5512d85e1e2eb5bb3
+SIZE (rust/crates/winapi-0.3.4.tar.gz) = 905247
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 2947998
+SHA256 (eqrion-cbindgen-v0.6.1_GH0.tar.gz) = 66f7099d115ad3e202e5501761d2f77a6df78e27b78a1b16e416e8f26afe443c
+SIZE (eqrion-cbindgen-v0.6.1_GH0.tar.gz) = 75275

Added: head/devel/rust-cbindgen/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/rust-cbindgen/pkg-descr	Sun Aug 19 16:39:16 2018	(r477583)
@@ -0,0 +1,16 @@
+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
+
+WWW: https://github.com/eqrion/cbindgen


More information about the svn-ports-all mailing list