[99s-extend] [erlang-questions] [ANN] erlang.mk build tool

Loïc Hoguin essen at ninenines.eu
Fri Aug 16 16:44:58 CEST 2013


Starting Erlang takes too long. That's a big reason why erlang.mk was 
created. :)

I recall NetBSD being able to download things with a shell script only 
(as it comes with nothing installed), this would be a more interesting 
solution especially since we can bundle it in the erlang.mk file too.

On 08/16/2013 04:42 PM, Grzegorz Junka wrote:
> Why not use Erlang for downloading? Surely if erlang.mk is a tool for
> Erlang then it will be very likely installed. For example this target
> downloads Rebar:
>
> # Erlang Rebar downloading, see:
> #
> https://groups.google.com/forum/?fromgroups=#!topic/erlang-programming/U0JJ3SeUv5Y
> rb_rebar_url=http://cloud.github.com/downloads/basho/rebar/rebar
> ./rebar:
> $(ERL) -noshell -s inets -s ssl \
> -eval 'httpc:request(get, {"$(rb_rebar_url)", []}, [], [{stream,
> "./rebar"}])' \
> -s init stop
> chmod +x ./rebar
> REBAR=$(shell (type rebar 2>/dev/null || echo ./rebar) | tail -1 | awk
> '{ print $$NF }')
>
>
> It could be used to download anything, not just REBAR.
>
> - Greg
>
>
> On 16/08/2013 15:34, Loïc Hoguin wrote:
>> On 08/16/2013 10:39 AM, Benoit Chesneau wrote:
>>> The big problem with erlang.mk <http://erlang.mk> is requiring to have
>>> gmake and more importantly wget installed imo.
>>
>> wget is only used for fetching the package index file. I'm sure if it
>> doesn't work somewhere it'll be patched eventually.
>>
>>> Which makes it quite annoying to distribute on systems that have none of
>>> them. It would be interrestin to have the support for curl for example.
>>> Also what are the makefile extensions that you really need to require
>>> gmake?
>>
>> No idea. Patches are welcome for compatibility with different OS/build
>> tools (as long as it's not "rewrite the whole file" of course, then
>> you're better off just using gmake).
>>
>>> - benoit
>>>
>>>
>>> On Thu, Aug 15, 2013 at 4:19 PM, Loïc Hoguin <essen at ninenines.eu
>>> <mailto:essen at ninenines.eu>> wrote:
>>>
>>>     Hello friendly people,
>>>
>>>     I would like to make an official announcement of erlang.mk
>>> <http://erlang.mk> now that all the features I wanted are in.
>>>
>>>     erlang.mk <http://erlang.mk> is a rebar replacement. It was
>>>     initially created for allowing a faster development process than
>>>     rebar and for better compatibility with Linux build tools. It should
>>>     work on Linux and OSX with GNU Make installed.
>>>
>>>     Projects using erlang.mk <http://erlang.mk> are still compatible
>>>     with rebar. Dependencies fetched by rebar are stored in the same
>>>     deps/ directory, and projects using erlang.mk <http://erlang.mk> can
>>>     still be used as rebar dependencies, with or without a rebar.config
>>>     file.
>>>
>>>     erlang.mk <http://erlang.mk> also features a simple package index.
>>>     Try `make pkg-list` to list all packages currently available. All
>>>     the packages listed are compatible with erlang.mk <http://erlang.mk>
>>>     with no tweaking required.
>>>
>>>     Makefiles written with erlang.mk <http://erlang.mk> are *VERY*
>>>     simple, here are two examples:
>>>
>>>       * https://github.com/extend/__farwest/blob/master/Makefile
>>> <https://github.com/extend/farwest/blob/master/Makefile>
>>>       * https://github.com/extend/__cowboy/blob/master/Makefile
>>> <https://github.com/extend/cowboy/blob/master/Makefile>
>>>
>>>     I wrote about erlang.mk <http://erlang.mk> and relx recently on the
>>>     Nine Nines blog. erlang.mk <http://erlang.mk> is the perfect
>>>     companion to relx.
>>>
>>>       * http://ninenines.eu/articles/__erlang.mk-and-relx
>>> <http://ninenines.eu/articles/erlang.mk-and-relx>
>>>
>>>     Here are examples of projects that are using and compatible with
>>>     erlang.mk <http://erlang.mk>:
>>>
>>>       * https://github.com/jlouis/__etorrent
>>> <https://github.com/jlouis/etorrent>
>>>       * https://github.com/extend/__cowboy
>>> <https://github.com/extend/cowboy>
>>>       * https://github.com/extend/__farwest
>>> <https://github.com/extend/farwest>
>>>
>>>     You can find erlang.mk <http://erlang.mk> at the following URL:
>>>
>>>       * https://github.com/extend/__erlang.mk
>>> <https://github.com/extend/erlang.mk>
>>>
>>>     Contributions to the package index are of course welcome! The only
>>>     requirement is that the package is to be compatible with erlang.mk
>>> <http://erlang.mk> itself. Just send a PR to the erlang.mk
>>> <http://erlang.mk> project updating the packages.v1.txt!
>>>
>>>     Enjoy!
>>>
>>>     --
>>>     Loïc Hoguin
>>>     Erlang Cowboy
>>>     Nine Nines
>>> http://ninenines.eu
>>>     _________________________________________________
>>>     erlang-questions mailing list
>>> erlang-questions at erlang.org <mailto:erlang-questions at erlang.org>
>>> http://erlang.org/mailman/__listinfo/erlang-questions
>>> <http://erlang.org/mailman/listinfo/erlang-questions>
>>>
>>>
>>
>>
>
>
>
> _______________________________________________
> Extend mailing list
> Extend at lists.ninenines.eu
> http://lists.ninenines.eu:81/listinfo/extend
>


-- 
Loïc Hoguin
Erlang Cowboy
Nine Nines
http://ninenines.eu



More information about the Extend mailing list