[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