Serenity Operating System
at master 50 lines 1.3 kB view raw
1#!/usr/bin/env bash 2set -e 3 4# This file will need to be run in bash, for now. 5 6DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 7 8PREFIX_DIR="$DIR/Local/ruby" 9BUILD_DIR="$DIR/Build/ruby" 10TARBALLS_DIR="$DIR/Tarballs" 11 12# shellcheck source=/dev/null 13source "$DIR/../Ports/ruby/version.sh" 14 15mkdir -p "${TARBALLS_DIR}" 16 17pushd "${TARBALLS_DIR}" 18 if [ ! -e "${RUBY_ARCHIVE}" ]; then 19 echo "Downloading Ruby from ${RUBY_ARCHIVE_URL}..." 20 curl -O "${RUBY_ARCHIVE_URL}" 21 else 22 echo "${RUBY_ARCHIVE} already exists, not downloading archive" 23 fi 24 25 if ! sha256sum --status -c <(echo "${RUBY_ARCHIVE_SHA256SUM}" "${RUBY_ARCHIVE}"); then 26 echo "Ruby archive SHA256 sum mismatch, please run script again" 27 rm -f "${RUBY_ARCHIVE}" 28 exit 1 29 fi 30 31 if [ ! -d "ruby-${RUBY_VERSION}" ]; then 32 echo "Extracting ${RUBY_ARCHIVE}..." 33 tar -xf "${RUBY_ARCHIVE}" 34 else 35 echo "ruby-${RUBY_VERSION} already exists, not extracting archive" 36 fi 37popd 38 39if [ -z "$MAKEJOBS" ]; then 40 MAKEJOBS=$(nproc) 41fi 42 43mkdir -p "${PREFIX_DIR}" 44mkdir -p "${BUILD_DIR}" 45 46pushd "${BUILD_DIR}" 47 "${TARBALLS_DIR}"/ruby-"${RUBY_VERSION}"/configure --prefix="${PREFIX_DIR}" 48 make -j "${MAKEJOBS}" 49 make install 50popd