diff options
Diffstat (limited to 'development/cargo/cargo.SlackBuild')
-rw-r--r-- | development/cargo/cargo.SlackBuild | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/development/cargo/cargo.SlackBuild b/development/cargo/cargo.SlackBuild deleted file mode 100644 index 94f6a72ec7a42..0000000000000 --- a/development/cargo/cargo.SlackBuild +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/sh - -# Slackware build script for cargo - -# Copyright 2017 Andrew Clemons, Wellington New Zealand -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -PRGNAM=cargo -VERSION=${VERSION:-0.20.0} -VERSION_BOOTSTRAP=${VERSION_BOOTSTRAP:-0.19.0} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION - -# if you already have rust and cargo installed, you can bootstrap from the -# previous version. -if [ "$LOCAL_BOOTSTRAP" = "" ] && [ -x /usr/bin/cargo ] && [ -x /usr/bin/rustc ] ; then - LOCAL_BOOTSTRAP=yes -fi - -if [ "$LOCAL_BOOTSTRAP" != "yes" ] ; then - tar xvf $CWD/cargo-$VERSION_BOOTSTRAP-$ARCH-unknown-linux-gnu.tar.gz - - PATH="$(pwd)/cargo-$VERSION_BOOTSTRAP-$ARCH-unknown-linux-gnu/cargo/bin:$PATH" - export PATH -fi - -# build offline -# configuration tells cargo to use the configured directory -# for dependencies instead of downloading from crates.io. -mkdir .cargo -cat << EOF >> .cargo/config -[source.crates-io] -registry = 'https://github.com/rust-lang/crates.io-index' -replace-with = 'vendored-sources' - -[source.vendored-sources] -directory = '$(pwd)/vendor' -EOF - -if [ -e $CWD/$PRGNAM-$VERSION-vendor.tar.gz ] ; then - tar xvf $CWD/$PRGNAM-$VERSION-vendor.tar.gz -else - # deps and versions come from Cargo.lock - mkdir vendor - ( - cd vendor - - for dependency in advapi32-sys=0.2.0 \ - aho-corasick=0.5.3 \ - aho-corasick=0.6.3 \ - backtrace=0.3.2 \ - backtrace-sys=0.1.11 \ - bitflags=0.9.1 \ - bufstream=0.1.3 \ - cfg-if=0.1.0 \ - cmake=0.1.24 \ - crossbeam=0.2.10 \ - curl=0.4.6 \ - curl-sys=0.3.12 \ - dbghelp-sys=0.2.0 \ - docopt=0.7.0 \ - dtoa=0.4.1 \ - env_logger=0.4.3 \ - error-chain=0.10.0 \ - filetime=0.1.10 \ - flate2=0.2.19 \ - foreign-types=0.2.0 \ - fs2=0.4.1 \ - gcc=0.3.50 \ - gdi32-sys=0.2.0 \ - git2=0.6.6 \ - git2-curl=0.7.0 \ - glob=0.2.11 \ - hamcrest=0.1.1 \ - idna=0.1.2 \ - itoa=0.3.1 \ - jobserver=0.1.6 \ - kernel32-sys=0.2.2 \ - lazy_static=0.2.8 \ - libc=0.2.23 \ - libgit2-sys=0.6.12 \ - libssh2-sys=0.2.6 \ - libz-sys=1.0.14 \ - log=0.3.8 \ - matches=0.1.4 \ - memchr=0.1.11 \ - memchr=1.0.1 \ - miniz-sys=0.1.9 \ - miow=0.2.1 \ - net2=0.2.29 \ - num=0.1.37 \ - num-bigint=0.1.37 \ - num-complex=0.1.37 \ - num-integer=0.1.34 \ - num-iter=0.1.33 \ - num-rational=0.1.36 \ - num-traits=0.1.37 \ - num_cpus=1.5.0 \ - openssl=0.9.13 \ - openssl-probe=0.1.1 \ - openssl-sys=0.9.13 \ - pkg-config=0.3.9 \ - psapi-sys=0.1.0 \ - quote=0.3.15 \ - rand=0.3.15 \ - regex=0.1.80 \ - regex=0.2.2 \ - regex-syntax=0.3.9 \ - regex-syntax=0.4.1 \ - rustc-demangle=0.1.4 \ - rustc-serialize=0.3.24 \ - scoped-tls=0.1.0 \ - semver=0.7.0 \ - semver-parser=0.7.0 \ - serde=1.0.8 \ - serde_derive=1.0.8 \ - serde_derive_internals=0.15.1 \ - serde_ignored=0.0.3 \ - serde_json=1.0.2 \ - shell-escape=0.1.3 \ - strsim=0.6.0 \ - syn=0.11.11 \ - synom=0.11.3 \ - tar=0.4.13 \ - tempdir=0.3.5 \ - term=0.4.5 \ - thread-id=2.0.0 \ - thread-id=3.1.0 \ - thread_local=0.2.7 \ - thread_local=0.3.3 \ - toml=0.4.1 \ - unicode-bidi=0.3.3 \ - unicode-normalization=0.1.4 \ - unicode-xid=0.0.4 \ - unreachable=0.1.1 \ - url=1.4.1 \ - user32-sys=0.2.0 \ - utf8-ranges=0.1.3 \ - utf8-ranges=1.0.0 \ - vcpkg=0.2.1 \ - void=1.0.2 \ - winapi=0.2.8 \ - winapi-build=0.1.1 \ - ws2_32-sys=0.2.1 ; do - dep="$(echo "$dependency" | cut -d= -f1)" - ver="$(echo "$dependency" | cut -d= -f2)" - - tar xvf $CWD/$dep-$ver.crate - - touch $dep-$ver/.cargo-ok - - # generate checksum - { - printf "{\n" - printf ' "files": {\n' - - ( - cd $dep-$ver - find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/' - ) | sed '$ s/,$//' - - printf " },\n" - printf ' "package": "' - - sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/' - - printf "}\n" - } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json - done - ) -fi - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -cargo doc -cargo install --root $PKG/usr - -rm $PKG/usr/.crates.toml - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/man/man1 -cp -a src/etc/man/* $PKG/usr/man/man1 - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/share/bash-completion/completions -mkdir -p $PKG/usr/share/zsh/site-functions - -install -m 0755 src/etc/cargo.bashcomp.sh $PKG/usr/share/bash-completion/completions/cargo -install -m 0755 src/etc/_cargo $PKG/usr/share/zsh/site-functions/_cargo - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE-APACHE LICENSE-MIT LICENSE-THIRD-PARTY README.md $PKG/usr/doc/$PRGNAM-$VERSION -cp -a target/doc/cargo $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |