#!/bin/bash

# Slackware build script for beautysh

# Originally written by Leonardo Citrolo, Italy
# Now maintained by B. Watson (urchlay@slackware.uk).

# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

# 20260104 bkw: update for v6.4.2.
# 20251111 bkw: update for v6.4.1 (new dep python3-editorconfig).

# 20230508 bkw:
# - new maintainer.
# - relicense as WTFPL with original author's permission.
# - update for v6.2.1.
# - expand README and slack-desc

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=beautysh
VERSION=${VERSION:-6.4.2}
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

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

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
chown -R root:root .
find . ! -type l    -a \
  \(     -perm /111 -a ! -perm 755 -a -exec chmod -f 755 {} + \) -o \
  \(   ! -perm /111 -a ! -perm 644 -a -exec chmod -f 644 {} + \)

PYVER=$(pkg-config --modversion python3)
export PYTHONPATH=/opt/python$PYVER/site-packages

# For some reason, this requires "poetry", but our package is called
# poetry-core according to python. *Many* thanks to fourtysixandtwo
# for pointing this out. Also, there are a couple of bogus
# not-really-required requirements listed, which prevent the --help
# and --version options from showing the version number (and make 'pip
# check' complain).
sed -i -e '/^requires =/s,"poetry","poetry-core",' \
       -e '/^types-\(colorama\|setuptools\)/d' \
       pyproject.toml

python3 -m build --no-isolation
python3 -m installer -d "$PKG" dist/*.whl

PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKGDOC
cp -a LICENSE* 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
