summaryrefslogtreecommitdiff
path: root/Ports/alpine/package.sh
blob: ffa0d0328055b4960c4204458a94dedcea903b90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/usr/bin/env -S bash ../.port_include.sh
port='alpine'
version='2.26'
useconfigure='true'
configopts=(
    '--disable-static'
    '--enable-shared'
)
use_fresh_config_sub='true'
use_fresh_config_guess='true'
files="https://alpineapp.email/alpine/release/src/alpine-2.26.tar.xz alpine-${version}.tar.xz c0779c2be6c47d30554854a3e14ef5e36539502b331068851329275898a9baba"
auth_type='sha256'
depends=(
    'openssl'
    'ncurses'
    'ca-certificates'
)
launcher_name='Alpine'
launcher_category='Internet'
launcher_command='/usr/local/bin/alpine'
launcher_run_in_terminal='true'
icon_file='web/cgi/favicon.ico'

pre_configure() {
    # Rebuild after patching configure.ac to support serenity host.

    # `automake` may exit with a warning about how there is a mismatch
    # between the versions of autoconf and automake that were previously
    # used to generate aclocal and specifed in configure.ac.
    # We just need `automake` to generate `./compile` (so that we can run
    # autoreconf to regenerate everything).
    run automake --add-missing || true
    run autoreconf
}

configure() {
    run ./"$configscript" \
        "${configopts[@]}" \
        --host="${SERENITY_ARCH}-pc-serenity" \
        --build="$($workdir/config.guess)" \
        --with-ssl-lib-dir="${SERENITY_INSTALL_ROOT}/usr/local/lib" \
        --with-include-path="${SERENITY_INSTALL_ROOT}/usr/local/include:${SERENITY_INSTALL_ROOT}/usr/local/include/openssl" \
        --with-system-pinerc='/etc/pine.conf' \
        --with-system-fixed-pinerc='/etc/pine.conf.fixed'
}

install() {
    run make DESTDIR="$DESTDIR" "${installopts[@]}" install
    # Install system configuration file that tells Alpine where to find CA certificates
    # installed from the `ca-certificates` package.
    # (The full `/usr/bin/install` path is used because `install()` is a function within this script.)
    run /usr/bin/install \
        --mode=644 \
        --no-target-directory \
        -D \
        pine-system.serenity.conf "${SERENITY_INSTALL_ROOT}/etc/pine.conf"
}

post_install() {
    echo "==== Post Installation Instructions ===="
    echo "To save account passwords, create an empty file named .alpine.pwd"
    echo "in your home diretory:"
    echo "    touch ~/.alpine.pwd"
}