#!/bin/env fish
begin
    set -l dir (status dirname)
    source "$dir/../../Scripts/software.fish"

    function installSW -V dir
        set -l dirName (realpath "$dir")
        set -l contextRoot (mktemp -d)
        set -l pkgName logo-ls
        set -l patchName workaround.patch

        if not type -q logo-ls
            begin
                pushd "$contextRoot" > /dev/null
                yay -G -f "$pkgName"
                cd "$pkgName"
                cp "$dirName/$patchName" .

                sed -i \
                    -e "/^source=(/s/source=(/\0$patchName /" \
                    -e "/^md5sums=(/s/^md5sums=(/\0SKIP /" \
                    -e "/^build() {/,/}/{" \
                        -e "/^[[:space:]]*cd/{" \
                            -e "a cat ../$patchName | patch --strip 1 --forward --merge" \
                        -e "}" \
                    -e "}" \
                    PKGBUILD

                makepkg --noconfirm -si --force
                popd > /dev/null
            end

            rm -rf "$contextRoot"
        end

        configureSW
    end

    function configureSW -V dir
        fish "$dir/../../../Common/Software/logo-ls/main.fish" configure
    end

    runInstaller $argv
end