Skip to content
This repository has been archived by the owner on Oct 8, 2020. It is now read-only.

Commit

Permalink
Export env variables into exports so next buildpack can use it
Browse files Browse the repository at this point in the history
  • Loading branch information
Photonios committed Jan 16, 2019
1 parent 7318eb0 commit 34acd69
Showing 1 changed file with 31 additions and 16 deletions.
47 changes: 31 additions & 16 deletions bin/compile
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,17 @@ S3_BUCKET=${HEROKU_GEO_BUILDBACK_S3_BUCKET:-"heroku-buildpack-geo"}

# Parameters
BUILD_DIR=$1
BP_DIR=$(cd $(dirname ${0:-}); cd ..; pwd)
CACHE_DIR="${2}/${STACK}"
BP_DIR=$(cd $(dirname ${0:-}); cd ..; pwd)

# Setup profile file
PROFILE_PATH="$BUILD_DIR/.profile.d/geo.sh"
mkdir -p $(dirname $PROFILE_PATH)

# Set up exports file
EXPORTS_PATH="$BP_DIR/export"

# Functions
function indent() {
c='s/^/ /'
Expand Down Expand Up @@ -53,6 +57,10 @@ function set-default-env (){
echo "export $1=\${$1:-$2}" >> $PROFILE_PATH
}

function set-export (){
echo "export $1=$2" >> $EXPORTS_PATH
}

# Retrieve versions
GEOS_VERSION=$(manifest_version "geos")
GDAL_VERSION=$(manifest_version "gdal")
Expand Down Expand Up @@ -97,21 +105,28 @@ for dir in $VENDORED_GEOS $VENDORED_GDAL $VENDORED_PROJ; do
done

# App directories
APP_VENDOR="$BUILD_DIR/$TARGET_VENDOR_DIR"

# Setup environment variables
set-env GEOS_LIBRARY_PATH "$APP_VENDOR/lib"
set-env GDAL_LIBRARY_PATH "$APP_VENDOR/lib"
set-env PROJ4_LIBRARY_PATH "$APP_VENDOR/lib"
set-env GDAL_DATA "$APP_VENDOR/share/gdal"


# Export env var for next build
echo "BUNDLE_BUILD__RGEO=\"--with-opt-dir=$BUILD_DIR/$TARGET_VENDOR_DIR --with-geos-config=$BUILD_DIR/$TARGET_VENDOR_DIR/bin/geos-config\"" >> $BP_DIR/export
set-default-env BUNDLE_BUILD__RGEO "--with-opt-dir=$TARGET_VENDOR_DIR --with-geos-config=$TARGET_VENDOR_DIR/bin/geos-config"
set-default-env LIBRARY_PATH "$APP_VENDOR/lib"
set-default-env LD_LIBRARY_PATH "$APP_VENDOR/lib"
set-default-env CPATH "$APP_VENDOR/include"
set-default-env PATH "$APP_VENDOR/bin"
APP_VENDOR_RUNTIME="$\HOME/$TARGET_VENDOR_DIR"
APP_VENDOR_BUILD="$BUILD_DIR/$TARGET_VENDOR_DIR"

# Setup environment variables needed to run the app
set-env GEOS_LIBRARY_PATH "$APP_VENDOR_RUNTIME/lib"
set-env GDAL_LIBRARY_PATH "$APP_VENDOR_RUNTIME/lib"
set-env PROJ4_LIBRARY_PATH "$APP_VENDOR_RUNTIME/lib"
set-env GDAL_DATA "$APP_VENDOR_RUNTIME/share/gdal"
set-default-env LIBRARY_PATH "$APP_VENDOR_RUNTIME/lib"
set-default-env LD_LIBRARY_PATH "$APP_VENDOR_RUNTIME/lib"
set-default-env CPATH "$APP_VENDOR_RUNTIME/include"
set-default-env PATH "$APP_VENDOR_RUNTIME/bin"

# Set up environment variables needed during the remainder of
# the build process.. These can be read by subsequent buildpacks
set-export GEOS_LIBRARY_PATH "$APP_VENDOR_BUILD/lib"
set-export GDAL_LIBRARY_PATH "$APP_VENDOR_BUILD/lib"
set-export PROJ4_LIBRARY_PATH "$APP_VENDOR_BUILD/lib"
set-export GDAL_DATA "$APP_VENDOR_BUILD/share/gdal"
set-export LIBRARY_PATH "$APP_VENDOR_BUILD/lib"
set-export LD_LIBRARY_PATH "$APP_VENDOR_BUILD/lib"
set-export CPATH "$APP_VENDOR_BUILD/include"
set-export PATH "$APP_VENDOR_BUILD/bin:\$PATH"

echo "-----> Vendoring geo libraries done"

0 comments on commit 34acd69

Please sign in to comment.