63 lines
1.7 KiB
Bash
63 lines
1.7 KiB
Bash
#!/bin/sh
|
|
#
|
|
# install-eggs.sh
|
|
#
|
|
# Local installer of CHICKEN eggs required for building.
|
|
#
|
|
# ISC License
|
|
#
|
|
# Copyright 2023 Brmlab, z.s.
|
|
# Dominik Pantůček <dominik.pantucek@trustica.cz>
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software
|
|
# for any purpose with or without fee is hereby granted, provided
|
|
# that the above copyright notice and this permission notice appear
|
|
# in all copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
|
# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
|
# AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
|
|
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
|
# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
|
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
#
|
|
|
|
# Source root directory
|
|
owd=$(pwd)
|
|
cd $(dirname "$0")
|
|
SRCDIR=$(pwd)
|
|
cd "$owd"
|
|
|
|
# Make temporary prefix directory (eggs shared throwaway files)
|
|
TMPDIR=$(mktemp -d)
|
|
|
|
# Installs given egg locally
|
|
chicken_install() {
|
|
echo "Installing $1 ..."
|
|
CHICKEN_INSTALL_PREFIX="$TMPDIR" \
|
|
CHICKEN_REPOSITORY_PATH="$SRCDIR/eggs":`chicken-install -repository` \
|
|
CHICKEN_INSTALL_REPOSITORY="$SRCDIR/eggs" \
|
|
chicken-install "$1" 2>&1 | \
|
|
sed -u 's/^/ /'
|
|
}
|
|
|
|
# Removes throwaway files
|
|
chicken_cleanup() {
|
|
echo "Cleaning up ..."
|
|
rm -fr ${TMPDIR}
|
|
}
|
|
|
|
# Always cleanup
|
|
trap chicken_cleanup INT QUIT
|
|
|
|
# Install required eggs
|
|
chicken_install openssl
|
|
chicken_install spiffy
|
|
chicken_install postgresql
|
|
chicken_install json
|
|
chicken_install posix-groups
|
|
|
|
# Normal termination cleanup
|
|
chicken_cleanup
|