Buildpack dependencies

21 views
Skip to first unread message

Piotr Pokora

unread,
Dec 28, 2012, 7:44:29 AM12/28/12
to buildpack-...@googlegroups.com

Hi!

I want to create libgda buildpack. However, to compile it, I need to have gettext and intltool installed first. Intltool requires xml::parser perl module. Should I use multi buildpack?
Should I install perl as "dependency buildpack" and then install perl module, and then try to build intltool? In other words, how the build dependency setup looks like when building buildpack ?

Piotras

Phil Hagelberg

unread,
Dec 28, 2012, 5:34:42 PM12/28/12
to buildpack-...@googlegroups.com
On Fri, Dec 28, 2012 at 4:44 AM, Piotr Pokora <piotrek...@gmail.com> wrote:
> I want to create libgda buildpack. However, to compile it, I need to have
> gettext and intltool installed first. Intltool requires xml::parser perl
> module. Should I use multi buildpack?

Are gettext and intltool compile-time dependencies or runtime dependencies?

> Should I install perl as "dependency buildpack" and then install perl
> module, and then try to build intltool? In other words, how the build
> dependency setup looks like when building buildpack?

We don't currently have a mechanism for dependencies between
buildpacks. Making your users use the multi buildpack would be kind of
a low-fi way of doing it. If you want a more seamless mechanism you
could try making your bin/compile fetch and run the perl buildpack and
its bin/compile script. If perl is just needed to compile libgda and
not at runtime it's much simpler; you can declare your buildpack as a
perl app and perform compilation on a dyno with `heroku run`.

-Phil

Piotr Pokora

unread,
Jan 2, 2013, 10:45:58 AM1/2/13
to buildpack-...@googlegroups.com

Hi!


> I want to create libgda buildpack. However, to compile it, I need to have
> gettext and intltool installed first. Intltool requires xml::parser perl
> module. Should I use multi buildpack?

Are gettext and intltool compile-time dependencies or runtime dependencies?

Both.
 
> Should I install perl as "dependency buildpack" and then install perl
> module, and then try to build intltool? In other words, how the build
> dependency setup looks like when building buildpack?

We don't currently have a mechanism for dependencies between
buildpacks. Making your users use the multi buildpack would be kind of
a low-fi way of doing it. If you want a more seamless mechanism you
could try making your bin/compile fetch and run the perl buildpack and
its bin/compile script. If perl is just needed to compile libgda and
not at runtime it's much simpler; you can declare your buildpack as a
perl app and perform compilation on a dyno with `heroku run`.


I wouldn't like to compile the whole stuff in one buildpack.
It'll be painful in case of any warning or error.

What about perl module being not available? E.g. XML::Parser.
Cpan is available but installing anything during 'heroku run bash' seems to be impossible.

Piotras
Reply all
Reply to author
Forward
0 new messages