GithubHelp home page GithubHelp logo

heroku-buildpack-apt's Introduction

ATK's heroku-buildpack-apt

Adds support for apt-based dependencies during both compile and runtime.

This repo (originally forked from ddollar/heroku-buildpack-apt ), was used to install dependencies during the Heroku build process for migrating The Feed app from Heroku's Cedar-10 to Cedar-14 stack. The following apache dependencies were absent in Cedar-14 (see Heroku's list of Ubuntu Packages on Cedar and Cedar-14) so apache wouldn't run until these dependencies could be installed & found when starting the app:

libjpeg62
libssl0.9.8 (which includes a dependency, libcrypto.so.0.9.8)

Usage

This buildpack works in conjuction with ATK's heroku-buildpack-multi buildpack.

heroku-buildpack-multi loads on your app's buildpacks that are specified inside its .buildpacks file, such as https://github.com/Americastestkitchen/heroku-buildpack-apt and https://github.com/Americastestkitchen/heroku-wordpress-php as in the ATK's Feed app

I removed the original test folder which contained Aptfile & .buildpacks files to avoid confusion about how and where they are used as they are located on app's code base in the root of the project folder: see them in ATK's Feed app


Original examples

The following is from original repo instructions from ddollar/heroku-buildpack-apt. KEEP IN MIND that they had originally included samples of test/Aptfile & test/.buildpacks just for explanatory purposes which do not actually operate from within THIS buildpack's codebase, ie you still need an app that calls on this buildpack to install dependencies.

Aptfile

libpq-dev
http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.1/wkhtmltox-0.12.1_linux-precise-amd64.deb

.buildpacks

https://github.com/ddollar/heroku-buildpack-apt
https://github.com/heroku/heroku-buildpack-ruby

Gemfile

source "https://rubygems.org"
gem "pg"

Compile with Anvil

$ heroku plugins:install https://github.com/ddollar/heroku-build

$ heroku create apt-pg-test

$ heroku build . -b ddollar/multi -r

Checking for app files to sync... done, 2 files needed
Uploading: 100.0%
Launching build process... done
Preparing app for compilation... done
Fetching buildpack... done
Detecting buildpack... done, Multipack
Fetching cache... done
Compiling app...
=====> Downloading Buildpack: https://github.com/ddollar/heroku-buildpack-apt
=====> Detected Framework: Apt
  Updating apt caches
  ...
  Installing libpq-dev_8.4.17-0ubuntu10.04_amd64.deb
  Installing libpq5_8.4.17-0ubuntu10.04_amd64.deb
  Writing profile script
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-ruby
=====> Detected Framework: Ruby
  Installing dependencies using Bundler version 1.3.2
  ...
Putting cache... done
Creating slug... done
Uploading slug... done
Success, slug is https://api.anvilworks.org/slugs/00000000-0000-0000-0000-0000000000.tgz

Check out the PG library version

$ heroku run bash -a apt-pg-test
~ $ irb
irb(main):001:0> require "pg"
=> true
irb(main):002:0> PG::version_string
=> "PG 0.15.1"

License

MIT

heroku-buildpack-apt's People

Contributors

ddollar avatar evadne avatar gjtorikian avatar npupatk avatar sjansen avatar sobrinho avatar tokafish avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.