Mercurial > vanilla
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 +}