changeset 1198:5991d43397c2

dev/cbindgen: initial import, closes #2328
author David Demelier <markand@malikania.fr>
date Thu, 31 Oct 2019 08:53:08 +0100
parents 49c2d9de7452
children 29f1ba1b6030
files dev/cbindgen/cbindgen.sh dev/cbindgen/cbindgen.sha1
diffstat 2 files changed, 66 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/cbindgen/cbindgen.sh	Thu Oct 31 08:53:08 2019 +0100
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+PKGNAME=cbindgen
+PKGVERSION=0.9.1
+PKGREVISION=1
+PKGLICENSE="MPLv10"
+PKGSUMMARY="create C/C++11 headers for Rust libraries"
+PKGWWW="https://github.com/eqrion/cbindgen"
+PKGDOWNLOAD="https://github.com/eqrion/cbindgen/archive/v$PKGVERSION.tar.gz
+             $PKGNAME-$PKGVERSION.tar.gz:download"
+
+PKGDEPENDS=
+
+: ${CC:=clang}
+: ${CFLAGS:=-O2}
+: ${CXX:=clang++}
+: ${CXXFLAGS:=-O2}
+: ${STRIP:=llvm-strip}
+
+download()
+{
+	tar -xvzf v$PKGVERSION.tar.gz
+	cd $PKGNAME-$PKGVERSION
+	CARGO_HOME=vendor cargo fetch
+	cd ..
+	tar -czf $PKGNAME-$PKGVERSION.tar.gz $PKGNAME-$PKGVERSION
+	rm -rf $PKGNAME-$PKGVERSION
+}
+
+build()
+{
+	rm -rf $PKGNAME-$PKGVERSION
+	tar xvf $PKGNAME-$PKGVERSION.tar.gz
+	cd $PKGNAME-$PKGVERSION
+
+	# TODO: remove -C target-feature once rustc was patched
+	# TODO: strip in vpk instead.
+	CC="$CC" \
+	CFLAGS="$CFLAGS" \
+	CXX="$CXX" \
+	CXXFLAGS="$CXXFLAGS" \
+	CARGO_HOME=vendor \
+	RUSTFLAGS="-C target-feature=-crt-static" \
+	cargo build --release --verbose --offline
+	cargo install --path . --root=$DESTDIR
+	llvm-strip $DESTDIR/bin/cbindgen
+
+	cd ..
+	rm -rf $PKGNAME-$PKGVERSION
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev/cbindgen/cbindgen.sha1	Thu Oct 31 08:53:08 2019 +0100
@@ -0,0 +1,1 @@
+c7bafebc25b270546fe999e81db1bcf6d89081c1  v0.9.1.tar.gz