From Fedora Project Wiki
< SIGs
(Updated ibrowse status) |
(Updated erlang-riak_client status) |
||
(44 intermediate revisions by the same user not shown) | |||
Line 16: | Line 16: | ||
* Ensure that all packages are built with +debug_info (slightly increase the size of beam-files, but won't hurt performance at all) | * Ensure that all packages are built with +debug_info (slightly increase the size of beam-files, but won't hurt performance at all) | ||
* Allow parallel installation of packages (similar to kernel) | * Allow parallel installation of packages (similar to kernel) | ||
* Provide pre-built plt images | * Provide pre-built plt images | ||
* Narrow Build Requires - only list packages which are required for building and not the whole erlang stack. | * Narrow Build Requires - only list packages which are required for building and not the whole erlang stack. | ||
Line 29: | Line 28: | ||
{| border="1" | {| border="1" | ||
|- | |- | ||
| '''Name''' || '''EL-4''' || '''EL-5''' || '''EL-6 | | '''Name''' || '''EL-4''' || '''EL-5''' || '''EL-6''' || '''F-13''' || '''F-14''' || '''Rawhide''' | ||
|- | |- | ||
| {{package| | | {{package|erlang-basho_stats|basho_stats}} || - || - || wip || - || wip || {{yes|1.0.1}} | ||
|- | |- | ||
| {{package| | | {{package|compat-erlang}} || - || - || - || {{yes|R10B-10}} || {{yes|R10B-10}} || {{yes|R10B-10}} | ||
|- | |- | ||
| {{package| | | {{package|couchdb}} || {{no|-}} || {{yes|0.11.2}} || {{yes|1.0.1}} || {{yes|0.11.2}} || {{yes|1.0.1}} || {{yes|1.0.1}} | ||
|- | |- | ||
| {{package|erlang | | {{package|erlang-ebloom|ebloom}} || {{no|-}} || {{no|-}} || {{yes|1.0.2}} || - || {{yes|1.0.2}} || {{yes|1.0.2}} | ||
|- | |- | ||
| {{package| | | {{package|ejabberd}} || - || {{yes|2.1.5}} || {{yes|2.1.5}} || {{yes|2.1.5}} || {{yes|2.1.5}} || {{yes|2.1.5}} | ||
|- | |- | ||
| {{package|erlang-eradius}} || {{no|-}}<ref>No ets:delete/2, ets:insert/2, ets:lookup/2, ets:match_object/2, ets:new/2 and ets:update_counter/3 functions in R11B.</ref> || {{yes|0.20070627cvs}} || {{yes|0.20070627cvs}} | | {{package|erlang-eradius|eradius}} || {{no|-}}<ref>No ets:delete/2, ets:insert/2, ets:lookup/2, ets:match_object/2, ets:new/2 and ets:update_counter/3 functions in R11B.</ref> || {{yes|0.20070627cvs}} || {{yes|0.20070627cvs}} || {{yes|0.20070627cvs}} || {{yes|0.20070627cvs}} || {{yes|0.20070627cvs}} | ||
|- | |- | ||
| {{package|erlang | | {{package|erlang}} || {{yes|R11B-2}} || {{yes|R12B-5}} || {{yes|R14B-0}} || {{yes|R13B-04}} || {{yes|R14B-0}} || {{yes|R14B-0}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-amf}} || {{no|-}} || {{yes|0.git27329144}} || {{yes|0.git27329144}} || {{yes|0.git27329144}} || {{yes|0.git27329144}} || {{yes|0.git27329144}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-cluster_info}} || {{no|-}}<ref>requires erlang:get_stacktrace/0</ref> || - || {{yes|0.1.0}} || - || {{yes|0.1.0}} || {{yes|0.1.0}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-erlsyslog}} || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-gen_leader}} || {{no|-}}<ref>No erlang:function_exported/3, lists:keysearch/3 and lists:member/2 functions available in R11B</ref> || {{yes|0.git}} || {{yes|0.git}} || {{yes|0.git}} || {{yes|0.git}} || {{yes|0.git}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-getopt}} || {{no|-}}<ref>No lists:keymember/3, lists:keysearch/3 and string:to_lower/1 functions available in R11B</ref> || {{yes|0.3}} || {{yes|0.3}} || {{yes|0.3}} || {{yes|0.3}} || {{yes|0.3}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-js}} || {{no|-}} || {{no|-}} || {{yes|0.5.0}} || - || {{yes|0.5.0}} || {{yes|0.5.0}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-oauth}} || {{no|-}}<ref>No public_key module and base64:decode/1, base64:encode_to_string/1, httpc:request/4, re:split/3 and string:to_lower/1 functions available in R11B</ref> || {{yes|1.0.1}} || {{yes|1.0.1}} || {{yes|1.0.1}} || {{yes|1.0.1}} || {{yes|1.0.1}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-protobuffs}} || {{no|-}}<ref>No erlang:iolist_to_binary/1, lists:keymember/3, lists:keysearch/3,lists:keytake/3, lists:member/2, string:join/2 and string:to_lower/1 functions available in R11B.</ref> || {{yes|0.git58ff962}} || {{yes|0.git58ff962}} || {{yes|0.git58ff962}} || {{yes|0.git58ff962}} || {{yes|0.git58ff962}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-pgsql}} || {{yes|0.20101203svn}} || {{yes|0.20101203svn}} || {{yes|0.20101203svn}} || {{yes|0.20101203svn}} || {{yes|0.20101203svn}} || {{yes|0.20101203svn}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-erlsom|erlsom}} || {{no|-}}<ref>No erlang:get_stacktrace/0, erlang:list_to_existing_atom/1, erlang:make_fun/3, lists:keysearch/3 and lists:member/2 functions available in R11B. It seems to be a doable task.</ref> || {{yes|1.2.1}} || {{yes|1.2.1}} || {{yes|1.2.1}} || {{yes|1.2.1}} || {{yes|1.2.1}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-erlydtl|ErlyDTL}} || {{no|-}} || {{yes|0.6.0}}<ref>Erlang >= R13B is required, so some functions won't work as expected.</ref> || {{yes|0.6.0}} || - || {{yes|0.6.0}} || {{yes|0.6.0}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-esasl|esasl}} || {{no|-}}<ref>libgsasl is unavailable for EL-4</ref> || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} || {{yes|0.1}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-esdl|esdl}} || - || - || - || {{yes|1.0.1}} || {{yes|1.0.1}} || {{yes|1.0.1}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-etap|etap}} || {{yes|0.3.4}} || {{yes|0.3.4}} || {{yes|0.3.4}} || {{yes|0.3.4}} || {{yes|0.3.4}} || {{yes|0.3.4}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-gettext|gettext}} || {{no|-}} || {{yes|2.1.0}} || {{yes|2.1.0}} || {{yes|2.1.0}} || {{yes|2.1.0}} || {{yes|2.1.0}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-gproc|gproc}} || {{no|-}} || - || {{yes|0.git}} || - || {{yes|0.git}} || {{yes|0.git}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-ibrowse|ibrowse}} || {{no|-}} || {{yes|2.1.0}} || {{yes|2.1.3}} || {{yes|2.1.3}} || {{yes|2.1.3}} || {{yes|2.1.3}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-lfe|lfe}} || {{no|-}} || {{yes|0.6.1}} || {{yes|0.6.1}} || {{yes|0.6.1}} || {{yes|0.6.1}} || {{yes|0.6.1}} | ||
|- | |- | ||
| {{package| | | {{package|erlang-log4erl|log4erl}} || {{no|-}} || {{yes|0.9.0}} || {{yes|0.9.0}} || {{yes|0.9.0}} || {{yes|0.9.0}} || {{yes|0.9.0}} | ||
|- | |- | ||
| {{package| | | {{package|erlang-luke|luke}} || {{no|-}}<ref>lists:member/2 is missing in R11B.</ref> || - || {{yes|0.2.3}} || - || {{yes|0.2.3}} || {{yes|0.2.3}} | ||
|- | |- | ||
| {{package|erlang- | | {{package|erlang-misultin|misultin}} || {{no|-}} || {{yes|0.6.1}} || {{yes|0.6.1}} || {{yes|0.6.1}} || {{yes|0.6.1}} || {{yes|0.6.1}} | ||
|- | |- | ||
| {{package|yaws}} || {{no|-}}<ref>Erlang >= R13B is required</ref> || {{no|-}}<ref>Erlang >= R13B is required</ref> || {{yes|1.89}} || | | {{package|erlang-mochiweb|mochiweb}} || {{no|-}}<ref>Lots of missing required functions in R11B.</ref> || {{yes|1.4.1}} || {{yes|1.4.1}} || {{yes|1.4.1}} || {{yes|1.4.1}} || {{yes|1.4.1}} | ||
|- | |||
| {{package|erlang-mustache|mustache.erl}} || {{no|-}} || {{yes|0.1.0}} || {{yes|0.1.0}} || {{yes|0.1.0}} || {{yes|0.1.0}} || {{yes|0.1.0}} | |||
|- | |||
| {{package|erlang-neotoma|neotoma}} || {{no|-}} || {{yes|1.4}} || {{yes|1.4}} || {{yes|1.4}} || {{yes|1.4}} || {{yes|1.4}} | |||
|- | |||
| {{package|rabbitmq-server}} || {{no|-}} || {{yes|2.2.0}} || {{yes|2.1.1}} || {{yes|2.2.0}} || {{yes|2.2.0}} || {{yes|2.2.0}} | |||
|- | |||
| {{package|erlang-rebar|rebar}} || {{no|-}} || {{no|-}} || {{yes|2}} || - || {{yes|2}} || {{yes|2}} | |||
|- | |||
| {{package|erlang-riak_client|riak_client}} || - || - || {{yes|1.1.0}} || - || {{yes|1.1.0}} || {{yes|1.1.0}} | |||
|- | |||
| {{package|erlang-riak_err|riak_err}} || - || - || {{yes|1.0.1}} || - || {{yes|1.0.1}} || {{yes|1.0.1}} | |||
|- | |||
| {{package|erlang-webmachine|webmachine}} || {{no|-}} || - || {{yes|1.8.0}} || - || {{yes|1.8.0}} || {{yes|1.8.0}} | |||
|- | |||
| {{package|wings}} || - || - || - || {{yes|1.2}} || {{yes|1.2}} || {{yes|1.2}} | |||
|- | |||
| {{package|erlang-xmlrpc|xmlrpc}} || {{no|-}} || {{yes|1.13}} || {{yes|1.13}} || {{yes|1.13}} || {{yes|1.13}} || {{yes|1.13}} | |||
|- | |||
| {{package|yaws}} || {{no|-}}<ref>Erlang >= R13B is required</ref> || {{no|-}}<ref>Erlang >= R13B is required</ref> || {{yes|1.89}} || {{yes|1.89}} || {{yes|1.89}} || {{yes|1.89}} | |||
|} | |} | ||
Line 95: | Line 114: | ||
* [https://bugzilla.redhat.com/543151 exmpp] - a fast and scalable library for the eXtensible Messaging and Presence Protocol. | * [https://bugzilla.redhat.com/543151 exmpp] - a fast and scalable library for the eXtensible Messaging and Presence Protocol. | ||
* [https://bugzilla.redhat.com/639292 erlang-etorrent] - Erlang BitTorrent client and library | * [https://bugzilla.redhat.com/639292 erlang-etorrent] - Erlang BitTorrent client and library | ||
* [https://bugzilla.redhat.com/652598 erlang-riak_core] - Distributed systems infrastructure used by Riak | * [https://bugzilla.redhat.com/652598 erlang-riak_core] - Distributed systems infrastructure used by Riak | ||
* [https://bugzilla.redhat.com/652623 erlang-bitcask] - Eric Brewer-inspired key/value store | * [https://bugzilla.redhat.com/652623 erlang-bitcask] - Eric Brewer-inspired key/value store | ||
* [https://bugzilla.redhat.com/652629 erlang-riak_kv] - Riak Key/Value Store | * [https://bugzilla.redhat.com/652629 erlang-riak_kv] - Riak Key/Value Store | ||
Line 113: | Line 125: | ||
* [http://erlyweb.org/ erlyweb] | * [http://erlyweb.org/ erlyweb] | ||
* [http://www.stacken.kth.se/project/yxa/ Yxa] | * [http://www.stacken.kth.se/project/yxa/ Yxa] | ||
* [http://github.com/ngerakines/erlang_mysql erlang-mysql-driver] - A native Erlang MySQL client library. One of the runtime dependencies for ejabberd. Please, not that there are two forks - [http://svn.process-one.net/ejabberd-modules/mysql/trunk one from P1] and another one from [http://erlang-mysql-driver.googlecode.com/svn/trunk Yariv Sadan]. All these three projects are based on the original work by Magnus Ahltorp. | * [http://github.com/ngerakines/erlang_mysql erlang-mysql-driver] - A native Erlang MySQL client library. One of the runtime dependencies for ejabberd. Please, not that there are two forks - [http://svn.process-one.net/ejabberd-modules/mysql/trunk one from P1] and another one from [http://erlang-mysql-driver.googlecode.com/svn/trunk Yariv Sadan]. All these three projects are based on the original work by Magnus Ahltorp. Read [http://www.eonblast.com/blog/erlang-mysql-driver-history/ this post] for further details. | ||
* [http://jungerl.sourceforge.net/ Jungerl] is also contains some very interesting libraries and applications, however not all of them are in good shape. | * [http://jungerl.sourceforge.net/ Jungerl] is also contains some very interesting libraries and applications, however not all of them are in good shape. | ||
* [http://trapexit.org/Special:UserContributions User contributions page] at trapexit contains some handy user-submitted utilities. | * [http://trapexit.org/Special:UserContributions User contributions page] at trapexit contains some handy user-submitted utilities. |
Revision as of 14:10, 6 April 2011
Erlang Special Interest Group
Mission
To encourage the packaging of Erlang projects in Fedora.
Members/Packagers/Reviewers
Please add your name above if you want to help.
Tasks
- Create common guidelines for erlang-related applications and libraries
- Ensure that all packages are built with +debug_info (slightly increase the size of beam-files, but won't hurt performance at all)
- Allow parallel installation of packages (similar to kernel)
- Provide pre-built plt images
- Narrow Build Requires - only list packages which are required for building and not the whole erlang stack.
- Remove "soft" dependencies. Some package dependencies are not strictly required - application tries to "dlopen" it (it starts to use it only in case of success; in case of failure it fallbacks to some default scenario). Notable one is a debugger which tries to download GUI interface and fallbacks to cli in case of failure.
- Fix installation of jinterface - it doesn't use %{_javadir} for storing jar-file now.
- All man-pages should be marked as docs. Consider also installing them to system-default paths (very likely will produce a conflicts and namespace clashes).
- pgsql needs patching for R11B due to missing lists:keymember/3 function. Seems to be a very simple task.
Current packages
Name | EL-4 | EL-5 | EL-6 | F-13 | F-14 | Rawhide |
basho_stats |
- | - | wip | - | wip | 1.0.1 |
compat-erlang |
- | - | - | R10B-10 | R10B-10 | R10B-10 |
couchdb |
- | 0.11.2 | 1.0.1 | 0.11.2 | 1.0.1 | 1.0.1 |
ebloom |
- | - | 1.0.2 | - | 1.0.2 | 1.0.2 |
ejabberd |
- | 2.1.5 | 2.1.5 | 2.1.5 | 2.1.5 | 2.1.5 |
eradius |
-[1] | 0.20070627cvs | 0.20070627cvs | 0.20070627cvs | 0.20070627cvs | 0.20070627cvs |
erlang |
R11B-2 | R12B-5 | R14B-0 | R13B-04 | R14B-0 | R14B-0 |
erlang-amf |
- | 0.git27329144 | 0.git27329144 | 0.git27329144 | 0.git27329144 | 0.git27329144 |
erlang-cluster_info |
-[2] | - | 0.1.0 | - | 0.1.0 | 0.1.0 |
erlang-erlsyslog |
0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
erlang-gen_leader |
-[3] | 0.git | 0.git | 0.git | 0.git | 0.git |
erlang-getopt |
-[4] | 0.3 | 0.3 | 0.3 | 0.3 | 0.3 |
erlang-js |
- | - | 0.5.0 | - | 0.5.0 | 0.5.0 |
erlang-oauth |
-[5] | 1.0.1 | 1.0.1 | 1.0.1 | 1.0.1 | 1.0.1 |
erlang-protobuffs |
-[6] | 0.git58ff962 | 0.git58ff962 | 0.git58ff962 | 0.git58ff962 | 0.git58ff962 |
erlang-pgsql |
0.20101203svn | 0.20101203svn | 0.20101203svn | 0.20101203svn | 0.20101203svn | 0.20101203svn |
erlsom |
-[7] | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 |
ErlyDTL |
- | 0.6.0[8] | 0.6.0 | - | 0.6.0 | 0.6.0 |
esasl |
-[9] | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
esdl |
- | - | - | 1.0.1 | 1.0.1 | 1.0.1 |
etap |
0.3.4 | 0.3.4 | 0.3.4 | 0.3.4 | 0.3.4 | 0.3.4 |
gettext |
- | 2.1.0 | 2.1.0 | 2.1.0 | 2.1.0 | 2.1.0 |
gproc |
- | - | 0.git | - | 0.git | 0.git |
ibrowse |
- | 2.1.0 | 2.1.3 | 2.1.3 | 2.1.3 | 2.1.3 |
lfe |
- | 0.6.1 | 0.6.1 | 0.6.1 | 0.6.1 | 0.6.1 |
log4erl |
- | 0.9.0 | 0.9.0 | 0.9.0 | 0.9.0 | 0.9.0 |
luke |
-[10] | - | 0.2.3 | - | 0.2.3 | 0.2.3 |
misultin |
- | 0.6.1 | 0.6.1 | 0.6.1 | 0.6.1 | 0.6.1 |
mochiweb |
-[11] | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 | 1.4.1 |
mustache.erl |
- | 0.1.0 | 0.1.0 | 0.1.0 | 0.1.0 | 0.1.0 |
neotoma |
- | 1.4 | 1.4 | 1.4 | 1.4 | 1.4 |
rabbitmq-server |
- | 2.2.0 | 2.1.1 | 2.2.0 | 2.2.0 | 2.2.0 |
rebar |
- | - | 2 | - | 2 | 2 |
riak_client |
- | - | 1.1.0 | - | 1.1.0 | 1.1.0 |
riak_err |
- | - | 1.0.1 | - | 1.0.1 | 1.0.1 |
webmachine |
- | - | 1.8.0 | - | 1.8.0 | 1.8.0 |
wings |
- | - | - | 1.2 | 1.2 | 1.2 |
xmlrpc |
- | 1.13 | 1.13 | 1.13 | 1.13 | 1.13 |
yaws |
-[12] | -[13] | 1.89 | 1.89 | 1.89 | 1.89 |
- ↑ No ets:delete/2, ets:insert/2, ets:lookup/2, ets:match_object/2, ets:new/2 and ets:update_counter/3 functions in R11B.
- ↑ requires erlang:get_stacktrace/0
- ↑ No erlang:function_exported/3, lists:keysearch/3 and lists:member/2 functions available in R11B
- ↑ No lists:keymember/3, lists:keysearch/3 and string:to_lower/1 functions available in R11B
- ↑ No public_key module and base64:decode/1, base64:encode_to_string/1, httpc:request/4, re:split/3 and string:to_lower/1 functions available in R11B
- ↑ No erlang:iolist_to_binary/1, lists:keymember/3, lists:keysearch/3,lists:keytake/3, lists:member/2, string:join/2 and string:to_lower/1 functions available in R11B.
- ↑ No erlang:get_stacktrace/0, erlang:list_to_existing_atom/1, erlang:make_fun/3, lists:keysearch/3 and lists:member/2 functions available in R11B. It seems to be a doable task.
- ↑ Erlang >= R13B is required, so some functions won't work as expected.
- ↑ libgsasl is unavailable for EL-4
- ↑ lists:member/2 is missing in R11B.
- ↑ Lots of missing required functions in R11B.
- ↑ Erlang >= R13B is required
- ↑ Erlang >= R13B is required
Reviews
- exmpp - a fast and scalable library for the eXtensible Messaging and Presence Protocol.
- erlang-etorrent - Erlang BitTorrent client and library
- erlang-riak_core - Distributed systems infrastructure used by Riak
- erlang-bitcask - Eric Brewer-inspired key/value store
- erlang-riak_kv - Riak Key/Value Store
- erlang-skerl - Skein hash function for Erlang, via NIFs
- erlang-luwak - Large-object storage interface for Riak
- riak - Dynamo-inspired key/value store
Potential packages
- erlyweb
- Yxa
- erlang-mysql-driver - A native Erlang MySQL client library. One of the runtime dependencies for ejabberd. Please, not that there are two forks - one from P1 and another one from Yariv Sadan. All these three projects are based on the original work by Magnus Ahltorp. Read this post for further details.
- Jungerl is also contains some very interesting libraries and applications, however not all of them are in good shape.
- User contributions page at trapexit contains some handy user-submitted utilities.
- Nitrogen Web Framework.
- egssapi - Erlang GSSAPI and SPNEGO API (one of the runtime requirements for Yaws).
- eldap - Erlang LDAP API. A patched copy is bundled with ejabberd.
Rejected packages
Jabberlang - a client Jabber library for Erlang. Obsoleted by exmpperlmedia - Erlang library for parsing different media formats. One of the requirements for erlyvideo. Abandoned by upstream authors.erlang-rtmp - Erlang RTMP library. One of the requirements for erlyvideo. Abandoned by upstream authors.erlang-fd_server. Similar functionality (binding to privileged ports) may be obtained with kernel > 2.6.24 with capabilities.