summaryrefslogblamecommitdiffstats
path: root/_build/static/archives/extend/2013-August/000220.html
blob: b5e46ca0507647c81ea072a49ab84bf584599ab2 (plain) (tree)



































































































































































































































                                                                                                                                                                                                                          
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
 <HEAD>
   <TITLE> [99s-extend] [erlang-questions] [ANN] erlang.mk build tool
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20%5Berlang-questions%5D%20%5BANN%5D%20erlang.mk%20build%20tool&In-Reply-To=%3C520E40DB.5070401%40ninenines.eu%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <style type="text/css">
       pre {
           white-space: pre-wrap;       /* css-2.1, curent FF, Opera, Safari */
           }
   </style>
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="000219.html">
   <LINK REL="Next"  HREF="000221.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[99s-extend] [erlang-questions] [ANN] erlang.mk build tool</H1>
    <B>Lo&#239;c Hoguin</B> 
    <A HREF="mailto:extend%40lists.ninenines.eu?Subject=Re%3A%20%5B99s-extend%5D%20%5Berlang-questions%5D%20%5BANN%5D%20erlang.mk%20build%20tool&In-Reply-To=%3C520E40DB.5070401%40ninenines.eu%3E"
       TITLE="[99s-extend] [erlang-questions] [ANN] erlang.mk build tool">essen at ninenines.eu
       </A><BR>
    <I>Fri Aug 16 17:10:19 CEST 2013</I>
    <P><UL>
        <LI>Previous message: <A HREF="000219.html">[99s-extend] [erlang-questions] [ANN] erlang.mk build tool
</A></li>
        <LI>Next message: <A HREF="000221.html">[99s-extend] [erlang-questions] [ANN] erlang.mk build tool
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#220">[ date ]</a>
              <a href="thread.html#220">[ thread ]</a>
              <a href="subject.html#220">[ subject ]</a>
              <a href="author.html#220">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>I know, and if it makes it work where it currently doesn't I'd merge it. 
But ultimately we want to avoid starting Erlang unless strictly necessary.

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

-- 
Lo&#239;c Hoguin
Erlang Cowboy
Nine Nines
<A HREF="http://ninenines.eu">http://ninenines.eu</A>

</PRE>

<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="000219.html">[99s-extend] [erlang-questions] [ANN] erlang.mk build tool
</A></li>
	<LI>Next message: <A HREF="000221.html">[99s-extend] [erlang-questions] [ANN] erlang.mk build tool
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#220">[ date ]</a>
              <a href="thread.html#220">[ thread ]</a>
              <a href="subject.html#220">[ subject ]</a>
              <a href="author.html#220">[ author ]</a>
         </LI>
       </UL>

<hr>
<a href="https://lists.ninenines.eu/listinfo/extend">More information about the Extend
mailing list</a><br>
</body></html>