From Fedora Project Wiki
(Update mission statement to support instead of encouraging, including the elixir language)
(Remove the ongoing work section since its content has been moved to taiga)
Line 30: Line 30:
* 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).
* 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.
* 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:
Related threads:

Revision as of 05:56, 15 August 2019

Erlang Special Interest Group

Mission

To support the packaging of Erlang and elixir projects in Fedora.

Coordination

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
  • 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.

Related threads:

Reviews

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 exmpp
  • erlmedia - 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.