URI:
       pack - scripts - various script and utils
  HTML git clone git://z3bra.org/scripts
   DIR Log
   DIR Files
   DIR Refs
       ---
       pack (1529B)
       ---
            1 #!/bin/sh
            2 
            3 set -e
            4 
            5 if [ -f got.conf ]; then
            6         b=~/build/$(basename $PWD .git)
            7         [ ! -d $b ] && got checkout $PWD $b
            8         cd $b
            9 fi
           10 
           11 d=$(basename $PWD)
           12 n=${d%%-*}
           13 tag=${d#*-}
           14 [ "$tag" = "$n" ] && tag=""
           15 
           16 got_tag() {
           17         base=$(got info|sed -rn 's/.*base commit: ([a-f0-9]{10}).*/\1/p')
           18         got tag -ls|grep "commit:$base"|cut -d: -f2|cut -d' ' -f2|tr -d vV:
           19 }
           20 
           21 [ -d .git ] && tag=$(git describe --abbrev=0 --tags|tr -d vV:)
           22 [ -d .got ] && tag=$(got_tag)
           23 
           24 v="${tag:-0.0}"
           25 t="${n}@${v}.tbz"
           26 
           27 export PREFIX=/usr/local
           28 export MANPREFIX=${PREFIX}/man
           29 export MANDIR=${MANPREFIX}
           30 export DESTDIR=$(mktemp -d)
           31 
           32 trap 'rm -rf $DESTDIR' EXIT QUIT INT TERM
           33 
           34 # configure
           35 [ -f ./autogen.sh ]  && ./autogen.sh
           36 [ -f ./configure ]   && ./configure --prefix=$PREFIX --mandir=$MANDIR "$@"
           37 [ -f ./meson.build ] && meson _ --prefix=$PREFIX --mandir=$MANDIR --libdir=lib "$@"
           38 
           39 # build / install
           40 if   [ -f ./mkfile      ]; then mk PREFIX=$PREFIX MANPREFIX=$MANPREFIX MANDIR=$MANDIR DESTDIR=$DESTDIR install
           41 elif [ -f ./[mM]akefile ]; then make PREFIX=$PREFIX MANPREFIX=$MANPREFIX MANDIR=$MANDIR DESTDIR=$DESTDIR install
           42 elif [ -f ./GNUmakefile ]; then make PREFIX=$PREFIX MANPREFIX=$MANPREFIX MANDIR=$MANDIR DESTDIR=$DESTDIR install
           43 elif [ -f _/build.ninja ]; then DESTDIR=$DESTDIR ninja -C _ install
           44 elif [ -f ./build.zig   ]; then zig build --prefix "$PREFIX" install
           45 elif [ -f ./Cargo.toml  ]; then cargo install --path . --root "${DESTDIR}${PREFIX}"
           46 fi
           47 
           48 (cd "$DESTDIR"; tar -cvj *) > /tmp/$t
           49 
           50 printf '\n\t> %s\n' $(readlink -f /tmp/$t)
           51 
           52 echo
           53 doas pm -avf /tmp/$t