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

Grzegorz Junka list1 at gjunka.com
Fri Aug 16 17:02:00 CEST 2013


But it "is only used for fetching the package index file"... :) If the 
target is up to date there is no starting of Erlang. But on the other 
hand it could be used conditionally, e.g. use wget on systems on which 
it is installed and Erlang otherwise. It's just down to creating a 
properly structured target, isn't?

On 16/08/2013 15:44, Loïc Hoguin wrote:
> 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
>>
>
>




More information about the Extend mailing list