From Fedora Project Wiki
< SIGs
(Updated rabbitmq status) |
m (Add links to RHBZ bugs for rebar3 issues) |
||
(18 intermediate revisions by 5 users not shown) | |||
Line 8: | Line 8: | ||
* [[ConradMeyer]] | * [[ConradMeyer]] | ||
* [[User:Ndim|Hans Ulrich Niedermann (ndim)]] | * [[User:Ndim|Hans Ulrich Niedermann (ndim)]] | ||
* [[User:rbarlow|Randy Barlow]] | |||
* [[User:jcline|Jeremy Cline]] | |||
* [[User:fnux|Timothée Floure]] | |||
Please add your name above if you want to help. | Please send a mail to the [https://lists.fedoraproject.org/archives/list/erlang@lists.fedoraproject.org/ erlang mailing list] and add your name above if you want to help. | ||
== Tasks == | == Tasks == | ||
Line 23: | Line 26: | ||
* pgsql needs patching for R11B due to missing lists:keymember/3 function. Seems to be a very simple task. | * pgsql needs patching for R11B due to missing lists:keymember/3 function. Seems to be a very simple task. | ||
== | == Ongoing work == | ||
* Package rebar3 ('the' erlang build tool) and deprecate rebar2, as upstream did. | |||
** Rebar3 is in the archive starting F30: [https://src.fedoraproject.org/rpms/erlang-rebar3 erlang-rebar3] | |||
** FIXME: rebar3 fetch dependencies from the network to run tests ([https://bugzilla.redhat.com/show_bug.cgi?id=1672914 RHBZ#672914]) | |||
** FIXME: the erlang-rebar3 package breaks erlang-rebar when installed ([https://bugzilla.redhat.com/show_bug.cgi?id=1672916 RHBZ#1672916]) | |||
* Update [[User:Peter/Erlang Packaging Guidelines|Peter's Erlang packaging guidelines]] and promote them to the official guidelines. | |||
** Update the macros to use rebar3 inseated of rebar2 | |||
** Make better use of the [https://hex.pm/ Hex] erlang/elixir package repository | |||
*** Packages can be downloaded from https://repo.hex.pm/tarballs/$PACKAGE-$PACKAGE_REVISION.tar (containing some metadata and the source code under a nested tar.gz archive) and the (generated) documentation from https://repo.hex.pam/docs/$PACKAGE-$PACKAGE_REVISION.tar.gz ; You'll find more details on the [https://github.com/hexpm/specifications hexpm specification]. | |||
* Create an Erlang SIG group in dist-git providing RW access to erlang packages | |||
** See [https://pagure.io/fedora-infrastructure/issue/7456 #7456 on the infrastructure's issue tracker] | |||
* Extend this SIG to the [https://elixir-lang.org/ elixir language] (ask [[User:Fnux|fnux]] for details) | |||
Related threads: | |||
* [https://lists.fedoraproject.org/archives/list/erlang@lists.fedoraproject.org/thread/ZLRSPWBF2IVVTPOJAUDQCT5L6XPKDHNB/ Some work for the Erlang SIG (December 2018)] | |||
== Reviews == | == Reviews == | ||
Line 111: | Line 47: | ||
* [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 | ||
Line 122: | Line 57: | ||
* [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. | ||
Line 135: | Line 70: | ||
* <s>erlang-fd_server</s>. Similar functionality (binding to privileged ports) may be obtained with [http://github.com/klacke/yaws/issues/issue/37 kernel > 2.6.24 with capabilities]. | * <s>erlang-fd_server</s>. Similar functionality (binding to privileged ports) may be obtained with [http://github.com/klacke/yaws/issues/issue/37 kernel > 2.6.24 with capabilities]. | ||
[[Category:SIGs]] | |||
[[Category:Fedora special-interest groups]] | |||
[[Category:Language-specific SIGs]] | [[Category:Language-specific SIGs]] |
Revision as of 08:15, 6 February 2019
Erlang Special Interest Group
Mission
To encourage the packaging of Erlang projects in Fedora.
Members/Packagers/Reviewers
Please send a mail to the erlang mailing list and 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.
Ongoing work
- Package rebar3 ('the' erlang build tool) and deprecate rebar2, as upstream did.
- Rebar3 is in the archive starting F30: erlang-rebar3
- FIXME: rebar3 fetch dependencies from the network to run tests (RHBZ#672914)
- FIXME: the erlang-rebar3 package breaks erlang-rebar when installed (RHBZ#1672916)
- Update Peter's Erlang packaging guidelines and promote them to the official guidelines.
- Update the macros to use rebar3 inseated of rebar2
- Make better use of the Hex erlang/elixir package repository
- Packages can be downloaded from https://repo.hex.pm/tarballs/$PACKAGE-$PACKAGE_REVISION.tar (containing some metadata and the source code under a nested tar.gz archive) and the (generated) documentation from https://repo.hex.pam/docs/$PACKAGE-$PACKAGE_REVISION.tar.gz ; You'll find more details on the hexpm specification.
- Create an Erlang SIG group in dist-git providing RW access to erlang packages
- Extend this SIG to the elixir language (ask fnux for details)
Related threads:
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.