From Fedora Project Wiki
(Add some details to fetch from the Hex package directory)
m (Add links to RHBZ bugs for rebar3 issues)
(2 intermediate revisions by the same user not shown)
Line 30: Line 30:
* Package rebar3 ('the' erlang build tool) and deprecate rebar2, as upstream did.
* 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]
** 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
** 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 [[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
** Update the macros to use rebar3 inseated of rebar2
** Make better use of the [https://hex.pm/ Hex] erlang/elixir package repository
** Make better use of the [https://hex.pm/ Hex] erlang/elixir package repository
*** Packages can be downloaded from https://repo.hex.pam/tarballs/$PACKAGE-$PACKAGE_REVISION.tar 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].
*** 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
* 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]
** See [https://pagure.io/fedora-infrastructure/issue/7456 #7456 on the infrastructure's issue tracker]

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

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.