#!/bin/bash

# Maintainer: EndeavourOS-Team <info@endeavouros.com>

# Latest arc-gtk-theme release with a color patch to foreground text.

_prepare_arc-gtk-theme-eos() {

    # VERSION: 1.1             # change this number when this file is modified!

    local _pkgname_orig=arc-gtk-theme
    local _empty_prepare=no
    # local _url_orig=https://github.com/archlinux/svntogit-community/raw/packages/$_pkgname_orig/trunk/PKGBUILD

    ################## Fetch and source the upstream PKGBUILD:
    # curl -Lsm 10 -o PKGBUILD.orig $_url_orig || exit 1

    local curdir="$PWD"
    local tmpdir=$(mktemp -d)
    chmod go-rwx $tmpdir
    cd $tmpdir
    yay -G $_pkgname_orig > /dev/null || exit 1
    mv $_pkgname_orig/PKGBUILD "$curdir"/PKGBUILD.orig
    cd "$curdir"
    rm -rf $tmpdir


    if [ 1 -eq 1 ] ; then     # TODO !!
        _empty_prepare=yes
    else
        # we need a patch line for 'sed' to work below
        echo "Error: upstream $_pkgname_orig PKGBUILD needs to be changed!!" >&2
        exit 1
    fi

    _replace_prepare_eos() {
        # replace the "empty" prepare()
        cat <<EOF > PKGBUILD.orig.empty-prepare
prepare() {
    cd \${_pkgname}-\${pkgver}
}
EOF
        grep -w -A2 ^prepare PKGBUILD.orig > PKGBUILD.orig.prepare

        if diff PKGBUILD.orig.prepare PKGBUILD.orig.empty-prepare ; then
            # prepare() is "empty" (=does essentially nothing), so replace it
            sed -n  '0,/^prepare/'p PKGBUILD.orig | head -n -1 > PKGBUILD.orig.a
            sed -n  '/^build/,//'p PKGBUILD.orig               > PKGBUILD.orig.c
            cat <<EOF                                          > PKGBUILD.orig.b
prepare() {
    cd \${_pkgname}-\${pkgver}
    _darker_text_color
}

EOF
            cat PKGBUILD.orig.{a,b,c} > PKGBUILD.orig
        fi

        rm -f PKGBUILD.orig.{a,b,c} PKGBUILD.orig.empty-prepare PKGBUILD.orig.prepare

        # old sed code:
        #    -e '/^[ \t]*patch -p1 /a \ \n    _darker_text_color'
    }

    ################## Modifications to the original PKGBUILD:
    # - change pkgname to arc-gtk-theme-eos (only)
    # - change package_$pkgname() accordingly
    # - add conflicts
    # - make text color darker (needs an existing patch line in prepare() !!)
    # - change the 'url' value

    if [ "$_empty_prepare" = "yes" ] ; then
        _replace_prepare_eos
    fi
    sed -i PKGBUILD.orig \
        -e "s|^pkgname=.*|pkgname=(arc-gtk-theme-eos)|" \
        -e 's|^package_arc-gtk-theme(|package_arc-gtk-theme-eos(|' \
        -e '/^package_arc-gtk-theme/a \ \n    conflicts=(arc-gtk-theme)'

    ################## now use the modified definitions of PKGBUILD:
    source PKGBUILD.orig
    rm -f PKGBUILD.orig
    rm -f ${pkgname}-*.sig ${pkgname}-*.xz

    ################# still some stuff to change or add:

    url=https://github.com/endeavouros-team/PKGBUILDS/tree/master/$pkgname

    _darker_text_color() {
        # old prepare() !!
        # change the text color code darker
        #cd ${_pkgname}-${pkgver}
        find common -type f -exec sed -i "s/5c616c/111521/g" {} \;
        #find common -type f -exec sed -i "s/5c616c/111521/gI" {} \;
        # Note: case insensitive flag 'I' not really needed...
    }
}
_prepare_arc-gtk-theme-eos
unset -f _prepare_arc-gtk-theme-eos

# This checksum needs to be updated with a new version!
sha512sums=('5a84b717de022c673c6af260381542365550f629f43ae99c7ab8b22b4c09024403a1bc06279b40d3560e86d9810683c2e8337799a4cc67ef7aeb93223b5f56a1'
            'SKIP')
