<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,<br>
<br>
I'm about to package some Erlang packages/modules for Guix
<a class="moz-txt-link-rfc2396E" href="https://guix.gnu.org/"><https://guix.gnu.org/></a> and seeking some advice how to do it
correctly. There are not many Erlang packages in other
distributions, to make some general rules out ot it (and many are
still using rebar2). Also I have to admit that I have more or less
no clue about Erlang. (My motivation for packaging is to get
ejabberd into guix, though.)<br>
<br>
I learned that "rebar3" is the standard build tool, used by many
packages (according to what I'v seen at hex.pm).<br>
<br>
My questions are:<br>
</p>
<ul>
<li>
<p>Is there some kind of system-wide directory where rebar3 and
the compiler will search for pre-build packages? (Like
/usr/lib/ and /usr/include for C, /usr/lib/python3.7 for
Python, /usr/lib/guile/3.0 for guile). Currently I'm
symlinking dependencies into "_checkout", which seems awkward.</p>
</li>
<li>
<p>Is there some environment variable where rebar3 and the
compilers will search for pre-build packages? (Like LIBPAAH,
INCPATH, PYTHONPATH, GUILE_LOAD_PATH)</p>
</li>
<li>
<p>Is there some rebar3 install sub-command moving all relevant
file into the correct, system-wide directories? (Like "make
install" is expected to do)</p>
</li>
</ul>
<blockquote>
<p>If not: Which ones are the relevant files or directories to
install? (Currently I'm copying the directories ebin, include
and priv.)<br>
</p>
</blockquote>
<ul>
<li>
<p>Does it make sense to keep files compiled for the "test"
profile as part of the built package? If so: Is there some
standard system-wide location for?</p>
</li>
<li>
<p>Shall the test-suite be run as a specific profile? Which one?
</p>
</li>
<li>When building escripts (rebar3 escript), as far as I've seen,
this will create a "binary" containing all the required
libraries - like static linking for C. Is there some way of
"dynamic linking", where libraries are loaded from a system-wide
location or from a path specified in some environment variable?<br>
</li>
</ul>
<p>Many thanks in advance for any answer<br>
</p>
<pre class="moz-signature" cols="72">--
Regards
Hartmut Goebel
| Hartmut Goebel | <a class="moz-txt-link-abbreviated" href="mailto:h.goebel@crazy-compilers.com">h.goebel@crazy-compilers.com</a> |
| <a class="moz-txt-link-abbreviated" href="http://www.crazy-compilers.com">www.crazy-compilers.com</a> | compilers which you thought are impossible |
</pre>
</body>
</html>