system/skim: Added (fuzzy finder).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Benjamin Trigona-Harany 2019-12-31 18:05:28 +07:00 committed by Willy Sudiarto Raharjo
parent 4edeb049a1
commit ff988ada8d
No known key found for this signature in database
GPG key ID: 887B8374D7333381
4 changed files with 328 additions and 0 deletions

2
system/skim/README Normal file
View file

@ -0,0 +1,2 @@
skim is a fuzzy finder that can be used as a general filter like grep or as an
interactive interface for invoking commands.

161
system/skim/skim.SlackBuild Normal file
View file

@ -0,0 +1,161 @@
#!/bin/sh
# Slackware build script for skim
# Copyright 2019 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
# 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=skim
BINNAM=sk
VERSION=${VERSION:-0.6.9}
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
if [ "$ARCH" = "i586" ]; then
if rustc -Vv | grep host | grep i686 > /dev/null ; then
ARCH=i686
fi
fi
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=""
CARGOTARGET="--target i586-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
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
CARGOTARGET="--target x86_64-unknown-linux-gnu"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
CARGOTARGET=""
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
# build offline
# configuration tells cargo to use the configured directory
# for dependencies intead 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
# deps and versions come from Cargo.lock
mkdir vendor
(
cd vendor
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
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
)
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 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
cargo build --offline --release $CARGOTARGET
mkdir -p $PKG/usr/bin/
find target -name $BINNAM -exec install -m 755 {} $PKG/usr/bin/$BINNAM \;
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/etc/bash_completion.d
install -m 755 shell/completion.bash $PKG/etc/bash_completion.d/skim
mkdir -p $PKG/usr/man/man1
cp -a man/man1/*.1 $PKG/usr/man/man1
gzip -9 $PKG/usr/man/man1/*.1
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a -r \
CHANGELOG.md LICENSE README.md \
$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}

146
system/skim/skim.info Normal file
View file

@ -0,0 +1,146 @@
PRGNAM="skim"
VERSION="0.6.9"
HOMEPAGE="https://github.com/lotabout/skim"
DOWNLOAD="https://github.com/lotabout/skim/archive/v0.6.9/skim-0.6.9.tar.gz \
https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayvec/arrayvec-0.4.10.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.11.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.0.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.31.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/chrono/chrono-0.4.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.32.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-deque/crossbeam-deque-0.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-epoch/crossbeam-epoch-0.3.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.2.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/darling/darling-0.8.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/darling_core/darling_core-0.8.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/darling_macro/darling_macro-0.8.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/derive_builder/derive_builder-0.7.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/derive_builder_core/derive_builder_core-0.4.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/either/either-1.5.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/env_logger/env_logger-0.6.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fuzzy-matcher/fuzzy-matcher-0.2.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-1.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ident_case/ident_case-1.0.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.3.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.58.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/memoffset/memoffset-0.2.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.14.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/nodrop/nodrop-0.1.13.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.39.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.10.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-0.4.27.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/quick-error/quick-error-1.2.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-0.6.11.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon/rayon-1.0.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon-core/rayon-core-1.4.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.51.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_termios/redox_termios-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.1.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-0.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/shlex/shlex-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.7.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-0.15.29.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/term/term-0.5.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.0.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/termion/termion-1.5.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.10.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-0.3.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.1.42.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/timer/timer-0.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/tuikit/tuikit-0.2.9.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ucd-util/ucd-util-0.1.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.1.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8-ranges/utf8-ranges-1.0.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8parse/utf8parse-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/void/void-1.0.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/vte/vte-0.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/wincolor/wincolor-1.0.1.crate"
MD5SUM="dabd97045f309476e0052a94207d0cc8 \
cb23a78f4c35abcb2d8d1394645674fe \
294a49d3c53865fa7ac5d0ce2f5d5735 \
46a048c0b8b765bcbdc131e166410510 \
5d7155b7fbc0e234c017f418f0dc9d64 \
e5767560aad375059c975285c07022c0 \
e5ff029879cdacd29148cd31da1f0564 \
285a97bd000d85a77550c8bfb5f77022 \
0cd2bb93a82da2e4ca526b40ae8b341e \
ed2b1c5fd000f926c2aedb0c3bd1d199 \
cff9adf6952db7c0442bd9639440bb90 \
b257e50658bf3a23d905c5ff778fa5fe \
d6e5f8acee1145e6d15934f8d1f61e3c \
60ab65d5a410da93a69fb4c668c8b229 \
9198d7e57e9b4cc09fe0d115bf5a1037 \
1d7b1b4bd5f4843d21378a5c95feaecd \
82d10670afed20ce320e816784b7c928 \
4959ccb051fda88b9b9e144bff8c456d \
e15d8361041a761f1c5d26616da099e5 \
9e26419cbf5f540522427b3a2a6685af \
a52ad1aa4f05f96817c8c8e66deebf29 \
b0fd8ad50f5e64c71f0daf8af79ca952 \
bfb343f50033b60cc1828b6382f70012 \
4583a67acf00a437e5cd27857210a526 \
fe77a3f609b6fd8d5b08f3b2ef14d2ad \
1c9fee8f180b6f3402849983a45bbd6d \
0c5dc0c601d5590f3ec6da338abc7892 \
cc65f96341390c0f60f5216e829486e7 \
514a89ff59a9bf0671d7db4812725459 \
43452a6296aea71bef32661bee169d21 \
8f4687dfb2b25c44d9be6ac7b6a69977 \
8a39d8bd95f15af0840d2049f0e78a37 \
4092ed5c67c6ff1c6a7bcf463bc40a53 \
cbdebc326641fcab42bc92a113548740 \
9fc51e79791f918b643e3802a2e0e88f \
4692e7114db87556e0edd3750cdef9ac \
4563373184ff931ec276dc1a659d52d2 \
ed68fecc548f1bd3e6415764c21af10c \
312adefbeab31084c8e418f5820a686d \
690ef3b9334a15b51bca81a889c5d9fb \
3056ab938614a0a76bd60dff8bb3b519 \
01cb5402c0fd99cebac702b76f2f2669 \
9d1baf9d7576dd51ecd02dcc76810678 \
4ee4b798e15d09f65c6e66c7d3c503fd \
500e5bb7d9b5a8882e2e961012391a58 \
e4e7efe2ab7921499d5c247a349e9e1f \
fbb6473579065c9fe4dc3d48c5d5d8a5 \
6a20f74784be5bc490b3a67e0e3a7367 \
019b9ca883a71e25e109e49d8cf779d1 \
6b70927d96d7e02a00964cbd0732dec3 \
de04800c89d374b8a843f91d26fa05ad \
63268e3f02616082705227f0a58fed87 \
baaa166f66e90e94b76b7418afd5df90 \
3d311d2cedf2d3d7b11b32baf470b178 \
a2eb00593ac747dfeced9d0376bd3728 \
44435e6b8630bba5d1fe26e22b52814b \
d34a9f507f3ecf7d93c07deb74f1cd7c \
d7c493ca4f84a7d50b53646421a37487 \
5aaf04f9a94a6450e3e4963ddd62b92d \
9c27232c12abb96c68e10e21f2012639 \
3b656a3aebdf60145eb01a1300cd85ca \
0eedbc32447f40b3045d6de3910b5415 \
689203efc084fc0f1d1f74f5d354ae75 \
9f49c12903d0319936054bf1c128f112 \
40909511b3d0e2dba891f438715808d0 \
db96b50050277bf05a3c68534bbb9586 \
4724370f3179d1ab61f3fd8fa60a2368 \
09de9d01e7331ff3da11f58be8bef0df \
2f9f840bd479751f715a8f530976b6bf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Benjamin Trigona-Harany"
EMAIL="slackbuilds@jaxartes.net"

19
system/skim/slack-desc Normal file
View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
skim: skim (fuzzy finder)
skim:
skim: skim is a fuzzy finder that can be used as a general filter like grep
skim: or as an interactive interface for invoking commands.
skim:
skim:
skim:
skim:
skim:
skim:
skim: