diff --git a/.gitignore b/.gitignore index 64d7460a..e4718437 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ xap/st/patches/st-vertcenter* /ap/hledger-bin/*.md.* /xap/x49gp/newrplfw.bin /d/crystal/completion.zsh +/wayland/sway/patches/*.previous +/d/crystal-lang-bin/completion.zsh diff --git a/ap/jj/SlackBuild b/ap/jj/SlackBuild new file mode 100755 index 00000000..9e647c84 --- /dev/null +++ b/ap/jj/SlackBuild @@ -0,0 +1,91 @@ +#!/bin/bash + +# variables +GITHUB_REPO=martinvonz/jj +VERSION=${VERSION:-latest} +BUILD=${BUILD:-1} + +TAG=gwh +TMP=/tmp/$TAG +CWD=$(pwd) + +PRGNAM=$(basename $CWD) +PKG=$TMP/pkg-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +ARCH=${ARCH:-$(uname -m)} + +REPOSITORY=${REPOSITORY:-/home/installs/SlackBuilds/_repositories/$PRGNAM} +PREFIX=${PREFIX:-/usr} + +# nettoyage préalable +rm -fr $PKG $TMP/$PRGNAM + +mkdir -p $PKG + +# mise en place +cd $TMP +[ ! -e $REPOSITORY ] && git clone https://github.com/${GITHUB_REPO}.git $REPOSITORY +cd $REPOSITORY +git pull --all + +cp -R $REPOSITORY $TMP/ +cd $TMP/$PRGNAM +[ "x$VERSION" == "xlatest" ] && VERSION=$(git describe --tags --abbrev=0) +[ "x$VERSION" == "x" ] && VERSION=trunk +[ "x$VERSION" == "xtrunk" ] && VERSION="git_r$(git rev-list --count HEAD)_$(git log -1 --format=%h)" || git checkout $VERSION + +cargo build --release + +mkdir -p $PKG$PREFIX/bin +find target/release/ -type f -executable -maxdepth 1 -exec cp {} $PKG$PREFIX/bin/ \; +chmod 755 $PKG$PREFIX/bin/* + +# Completions +mkdir -p $PKG/usr/share/bash-completion/completions/ +$PKG$PREFIX/bin/jj util completion > $PKG/usr/share/bash-completion/completions/jj + +mkdir -p $PKG/usr/share/fish/vendor_completions.d/ +$PKG$PREFIX/bin/jj util completion --fish > $PKG/usr/share/fish/vendor_completions.d/jj.fish + +mkdir -p $PKG/usr/share/zsh/site-functions/ +$PKG$PREFIX/bin/jj util completion --zsh > $PKG/usr/share/zsh/site-functions/_jj + +# move doc/ to the appropriate location +mkdir -p $PKG$PREFIX/doc/$PRGNAM +cp -a AUTHORS LICENSE* ./*.md docs/ $PKG$PREFIX/doc/$PRGNAM + +# correction +cd $PKG +chown -R root:root * + +[ -d $PKG$PREFIX/man ] && find $PKG$PREFIX/man -type f -not -name \*.gz -exec gzip -9 {} \; + +# embaumement +mkdir -p $PKG/install + +cat < $PKG/install/slack-desc +# 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 ':'. + + |-----handy-ruler------------------------------------------------------| +$PRGNAM: $PRGNAM (A Git-compatible DVCS that is both simple and powerful) +$PRGNAM: +$PRGNAM: Jujutsu is a Git-compatible DVCS. It combines features from Git (data +$PRGNAM: model, speed), Mercurial (anonymous branching, simple CLI free from +$PRGNAM: "the index", revsets, powerful history-rewriting), and Pijul/Darcs +$PRGNAM: (first-class conflicts), with features not found in most of them +$PRGNAM: (working-copy-as-a-commit, undo functionality, automatic rebase, +$PRGNAM: safe replication via rsync, Dropbox, or distributed file system). +$PRGNAM: +$PRGNAM: +$PRGNAM: https://github.com/${GITHUB_REPO} +EOF + +# empaquetage +rm -f $PKG/{,usr/}lib$(uname -m | grep -o 64)/*.la +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txz