# Build recipe for aspell.
#
# Copyright (c) 2018-2019, 2021 Matias Fonzo, <selk@dragora.org>.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Exit immediately on any error
set -e

program=aspell
version=0.60.8
release=1

# Define a category for the output of the package name
pkgcategory=dict

tarname=${program}-${version}.tar.gz

# Remote source(s)
fetch=ftp://ftp.gnu.org/gnu/aspell/$tarname

description="
A spell checker.

GNU Aspell is a Free and Open Source spell checker designed to
eventually replace Ispell.  It can either be used as a library or as an
independent spell checker.  Its main feature is that it does a superior
job of suggesting possible replacements for a misspelled word than just
about any other spell checker out there for the English language.

Unlike Ispell, Aspell can also easily check documents in UTF-8 without
having to use a special dictionary.  Aspell will also do its best to
respect the current locale setting.  Other advantages over Ispell
include support for using multiple dictionaries at once and
intelligently handling personal dictionaries when more than one Aspell
process is open at once.
"

homepage=https://www.aspell.net
license=LGPLv2.1

# Source documentation
docs="COPYING README TODO"
docsdir="${docdir}/${program}-${version}"

build()
{
    unpack "${tardir}/$tarname"

    cd "$srcdir"

    # Set sane permissions
    chmod -R u+w,go-w,a+rX-s .

    ./configure \
    CPPFLAGS="$QICPPFLAGS" CFLAGS="$QICFLAGS" CXXFLAGS="$QICXXFLAGS" LDFLAGS="$QILDFLAGS" \
     $configure_args \
     --libdir=/usr/lib${libSuffix} \
     --infodir=$infodir \
     --mandir=$mandir \
     --docdir=$docsdir \
     --enable-pkgdatadir=/usr/lib${libSuffix}/aspell \
     --enable-pkglibdir=/usr/lib${libSuffix}/aspell \
     --enable-dict-dir=/usr/lib${libSuffix}/aspell \
     --build="$(gcc -dumpmachine)"

    make -j${jobs} V=1
    make -j${jobs} DESTDIR="$destdir" install-strip

    # Compress info documents deleting index file for the package
    rm -f "${destdir}/${infodir}/dir"
    lzip -9 "${destdir}/${infodir}"/*

    # Compress and link man pages (if needed)
    (
        cd "${destdir}/$mandir"
        find . -type f -exec lzip -9 {} +
        find . -type l | while read -r file
        do
            ln -sf "$(readlink -- "$file").lz" "${file}.lz"
            rm -- "$file"
        done
    )

    # Copy documentation
    mkdir -p "${destdir}${docsdir}"
    cp -p $docs "${destdir}${docsdir}"
}

