From Fedora Project Wiki
< SIGs
(Add some details to fetch from the Hex package directory) |
m (Fix typo and add some details on hex.pm source achives) |
||
Line 34: | Line 34: | ||
** 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. | *** 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 07:52, 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
- 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.