summaryrefslogtreecommitdiffstats
path: root/development/racer/racer.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/racer/racer.SlackBuild')
-rw-r--r--development/racer/racer.SlackBuild117
1 files changed, 46 insertions, 71 deletions
diff --git a/development/racer/racer.SlackBuild b/development/racer/racer.SlackBuild
index ff8b181330..f4901fce37 100644
--- a/development/racer/racer.SlackBuild
+++ b/development/racer/racer.SlackBuild
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for racer
-# Copyright 2017-2018 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2018,2020-2021 Andrew Clemons, Wellington New Zealand
+# Copyright 2022 Andrew Clemons, Tokyo Japan
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +23,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=racer
-VERSION=${VERSION:-2.0.14}
+VERSION=${VERSION:-2.2.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -41,7 +45,11 @@ if [ -z "$ARCH" ]; then
fi
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -49,15 +57,15 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
- CARGOTARGET="--target i586-unknown-linux-gnu"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
- CARGOTARGET="--target i686-unknown-linux-gnu"
-elif [ "$ARCH" = "x86_64" ]; then
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "aarch64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
- CARGOTARGET="--target x86_64-unknown-linux-gnu"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -70,7 +78,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.crate
cd $PRGNAM-$VERSION
# build offline
@@ -91,65 +99,13 @@ mkdir vendor
(
cd vendor
- for dependency in aho-corasick=0.6.4 \
- ansi_term=0.11.0 \
- atty=0.2.8 \
- bitflags=0.7.0 \
- bitflags=1.0.1 \
- cfg-if=0.1.2 \
- clap=2.31.1 \
- clippy=0.0.103 \
- clippy_lints=0.0.103 \
- env_logger=0.5.5 \
- fuchsia-zircon-sys=0.3.3 \
- fuchsia-zircon=0.3.3 \
- humantime=1.1.1 \
- kernel32-sys=0.2.2 \
- lazy_static=1.0.0 \
- libc=0.2.39 \
- log=0.3.9 \
- log=0.4.1 \
- matches=0.1.6 \
- memchr=2.0.1 \
- nom=1.2.4 \
- quick-error=1.2.1 \
- quine-mc_cluskey=0.2.4 \
- rand=0.4.2 \
- redox_syscall=0.1.37 \
- redox_termios=0.1.1 \
- regex-syntax=0.3.9 \
- regex-syntax=0.5.3 \
- regex=0.2.10 \
- rustc-serialize=0.3.24 \
- semver=0.2.3 \
- serde=1.0.36 \
- strsim=0.7.0 \
- syntex_errors=0.52.0 \
- syntex_pos=0.52.0 \
- syntex_syntax=0.52.0 \
- term=0.4.6 \
- termcolor=0.3.5 \
- termion=1.5.1 \
- textwrap=0.9.0 \
- thread_local=0.3.5 \
- toml=0.1.30 \
- toml=0.4.5 \
- ucd-util=0.1.1 \
- unicode-normalization=0.1.5 \
- unicode-width=0.1.4 \
- unicode-xid=0.0.3 \
- unreachable=1.0.0 \
- utf8-ranges=1.0.0 \
- vec_map=0.8.0 \
- void=1.0.2 \
- winapi-build=0.1.1 \
- winapi-i686-pc-windows-gnu=0.4.0 \
- winapi-x86_64-pc-windows-gnu=0.4.0 \
- winapi=0.2.8 \
- winapi=0.3.4 \
- wincolor=0.1.6; do
- dep="$(echo "$dependency" | cut -d= -f1)"
- ver="$(echo "$dependency" | cut -d= -f2)"
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
tar xvf $CWD/$dep-$ver.crate
@@ -171,10 +127,24 @@ mkdir vendor
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
+ } > $dep-$ver/.cargo-checksum.json
done
)
+# racer needs a specific nightly version of rust
+tar -xf $CWD/rust-nightly-$ARCH*-unknown-linux-gnu*.tar.gz
+tar -xf $CWD/rustc-dev-nightly-$ARCH*-unknown-linux-gnu*.tar.gz
+(
+ cd rust-nightly-$ARCH*-unknown-linux-gnu*
+ ./install.sh --destdir=../.rust --prefix="" --without=rust-docs --disable-ldconfig
+)
+(
+ cd rustc-dev-nightly-$ARCH*-unknown-linux-gnu*
+ ./install.sh --destdir=../.rust --prefix="" --disable-ldconfig
+)
+rm -rf rust-nightly-$ARCH*-unknown-linux-gnu*
+rm -rf rustc-dev-nightly-$ARCH*-unknown-linux-gnu*
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -182,11 +152,16 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+PATH="$(pwd)/.rust/bin/:$PATH" \
+LD_LIBRARY_PATH="$(pwd)/.rust/lib:$LD_LIBRARY_PATH" \
+CARGO_HOME=.cargo \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
cargo build --release $CARGOTARGET
-mkdir -p $PKG/usr/bin
+mkdir -p $PKG/usr/bin/
+
find target -name racer -exec install -m 755 {} $PKG/usr/bin/racer \;
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
@@ -200,4 +175,4 @@ 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}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE