From fb021c585530b602ae8d6c8f37c582848ae751fc Mon Sep 17 00:00:00 2001 From: B. Watson Date: Tue, 11 Jan 2022 13:09:55 -0500 Subject: system/xpipe: Added (split input and feed it into the given utility) Signed-off-by: Willy Sudiarto Raharjo --- system/xpipe/README | 7 ++++ system/xpipe/git2tarxz.sh | 44 +++++++++++++++++++++++++ system/xpipe/slack-desc | 19 +++++++++++ system/xpipe/xpipe.SlackBuild | 76 +++++++++++++++++++++++++++++++++++++++++++ system/xpipe/xpipe.info | 10 ++++++ 5 files changed, 156 insertions(+) create mode 100644 system/xpipe/README create mode 100644 system/xpipe/git2tarxz.sh create mode 100644 system/xpipe/slack-desc create mode 100644 system/xpipe/xpipe.SlackBuild create mode 100644 system/xpipe/xpipe.info diff --git a/system/xpipe/README b/system/xpipe/README new file mode 100644 index 0000000000..c1c16006ca --- /dev/null +++ b/system/xpipe/README @@ -0,0 +1,7 @@ +xpipe (split input and feed it into the given utility) + +The xpipe command reads input from stdin and splits it by the given +number of bytes, lines, or if matching the given pattern. It then +invokes the given utility repeatedly, feeding it the generated data +chunks as input. You can think of it as a Unix love-child of the +split(1), tee(1), and xargs(1) commands. diff --git a/system/xpipe/git2tarxz.sh b/system/xpipe/git2tarxz.sh new file mode 100644 index 0000000000..ec693117f8 --- /dev/null +++ b/system/xpipe/git2tarxz.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +# Create source tarball from git repo, with generated version +# number. + +# Note that this script doesn't need to be run as root. It does +# need to be able to write to the current directory it's run from. + +# Takes one optional argument, which is the commit or tag to create +# a tarball of. With no arg, HEAD is used. + +PRGNAM=xpipe +CLONE_URL=https://github.com/jschauma/xpipe + +set -e + +GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX ) +rm -rf $GITDIR +git clone $CLONE_URL $GITDIR + +CWD="$( pwd )" +cd $GITDIR + +if [ "$1" != "" ]; then + git reset --hard "$1" || exit 1 +fi + +GIT_SHA=$( git rev-parse --short HEAD ) + +DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 ) + +VERSION=${DATE}_${GIT_SHA} + +rm -rf .git +find . -name .gitignore -print0 | xargs -0 rm -f + +cd "$CWD" +rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz +mv $GITDIR $PRGNAM-$VERSION +tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION + +echo +echo "Created tarball: $PRGNAM-$VERSION.tar.xz" +echo "VERSION=$VERSION" diff --git a/system/xpipe/slack-desc b/system/xpipe/slack-desc new file mode 100644 index 0000000000..036e32761c --- /dev/null +++ b/system/xpipe/slack-desc @@ -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------------------------------------------------------| +xpipe: xpipe (split input and feed it into the given utility) +xpipe: +xpipe: The xpipe command reads input from stdin and splits it by the given +xpipe: number of bytes, lines, or if matching the given pattern. It then +xpipe: invokes the given utility repeatedly, feeding it the generated data +xpipe: chunks as input. You can think of it as a Unix love-child of the +xpipe: split(1), tee(1), and xargs(1) commands. +xpipe: +xpipe: +xpipe: +xpipe: diff --git a/system/xpipe/xpipe.SlackBuild b/system/xpipe/xpipe.SlackBuild new file mode 100644 index 0000000000..8c69f5c80a --- /dev/null +++ b/system/xpipe/xpipe.SlackBuild @@ -0,0 +1,76 @@ +#!/bin/bash + +# Slackware build script for xpipe + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=xpipe +VERSION=${VERSION:-20200503_60b0aec} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +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.xz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +make CFLAGS="$SLKCFLAGS -Wall -Wl,-s" + +# make install is pretty BSD-specific, don't use. + +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKG/usr/bin $PKG/usr/man/man1 $PKGDOC +install -s $PRGNAM $PKG/usr/bin +gzip -9c < doc/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz +cp -a README* $PKGDOC +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$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 diff --git a/system/xpipe/xpipe.info b/system/xpipe/xpipe.info new file mode 100644 index 0000000000..9c2d820a24 --- /dev/null +++ b/system/xpipe/xpipe.info @@ -0,0 +1,10 @@ +PRGNAM="xpipe" +VERSION="20200503_60b0aec" +HOMEPAGE="https://github.com/jschauma/xpipe" +DOWNLOAD="https://slackware.uk/~urchlay/src/xpipe-20200503_60b0aec.tar.xz" +MD5SUM="3fe86681ff73251d01049e1123e8cb8c" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" -- cgit v1.2.3