From Fedora Project Wiki
(Added more potential packages)
 
(170 intermediate revisions by 7 users not shown)
Line 2: Line 2:


== Mission ==
== Mission ==
To encourage the packaging of Erlang projects in Fedora.
To support the packaging of [https://www.erlang.org/ Erlang] and [https://elixir-lang.org/ elixir] projects in Fedora.
 
== Coordination ==
 
* [https://lists.fedoraproject.org/archives/list/erlang@lists.fedoraproject.org/ Erlang SIG Mailing list] for any SIG-related discussion.
* [https://teams.fedoraproject.org/project/erlang/ Taiga project] (= kanban board) to track what is going on.


== Members/Packagers/Reviewers ==
== Members/Packagers/Reviewers ==
* [[User:Peter|PeterLemenkov]]
* [[User:Peter|PeterLemenkov]]
* [[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]]
* [[User:wmealing|Wade Mealing]]


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 ==


* Create common guidelines for erlang-related applications and libraries
<span style="color:#FF0000">This section is outdated: relevant entries should be moved to our [https://teams.fedoraproject.org/project/erlang/kanban taiga project].</span>
* Rebuild all packages with +debug_info (slightly increase the size of beam-files, but won't hurt performance at all)
 
* 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)
* Allow parallel installation of packages (similar to kernel)
* Update CouchDB in EL-5 / F-12 / F-13 up to 0.11.x.
* Retire compat-erlang in Rawhide. Would it be better to update it to R12 or R13?
* Wings3D is heavily broken now in all repositories. This issue urgently needs fix.
* 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.
* 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 ==
Related threads:
 
* [https://lists.fedoraproject.org/archives/list/erlang@lists.fedoraproject.org/thread/ZLRSPWBF2IVVTPOJAUDQCT5L6XPKDHNB/ Some work for the Erlang SIG (December 2018)]
 
{| border="1"
|-
| '''Name''' || '''EL-4''' || '''EL-5''' || '''EL-6''' || '''F-12''' || '''F-13''' || '''F-14''' || '''Rawhide'''
|-
| {{package|compat-erlang}} || - || - || - || R10B-10 || R10B-10 || R10B-10 || R10B-10
|-
| {{package|couchdb}} || -<ref>Erlang >= R12B is required</ref> ||  0.10.2<ref>0.11.2 is available in epel-testing</ref> || 1.0.1 || 0.10.2<ref>0.11.2 is available in updates-testing</ref> || 0.10.2<ref>0.11.2 is available in updates-testing</ref> || 1.0.1 || 1.0.1
|-
| {{package|ejabberd}} || - || 2.1.5 || 2.1.5 || 2.1.5 || 2.1.5 || 2.1.5 || 2.1.5
|-
| {{package|erlang}} || R11B-2 || R12B-5 || R13B-04 || R13B-04 || R13B-04 || R14A-0 || R14A-0
|-
| {{package|erlang-eradius}} || 0.20070627cvs || 0.20070627cvs || 0.20070627cvs || 0.20070627cvs || 0.20070627cvs || 0.20070627cvs || 0.20070627cvs
|-
| {{package|erlang-erlsyslog}} || 0.1 || 0.1 || 0.1 || 0.1 || 0.1 || 0.1 || 0.1
|-
| {{package|erlang-esdl}} || - || - || - || 1.0.1 || 1.0.1 || 1.0.1 || 1.0.1
|-
| {{package|erlang-oauth}} || -<ref>erlang(public_key) is unavailable in Erlang R11B</ref> || 0.gite8aecf0 || 0.gite8aecf0 || 0.gite8aecf0 || 0.gite8aecf0 || 0.gite8aecf0 || 0.gite8aecf0
|-
| {{package|erlang-pgsql}} || 0.20080825svn || 0.20080825svn || 0.20080825svn || 0.20080825svn || 0.20080825svn || 0.20080825svn || 0.20080825svn
|-
| {{package|erlang-erlsom|erlsom}} || 1.2.1 || 1.2.1 || 1.2.1 || 1.2.1 || 1.2.1 || 1.2.1 || 1.2.1
|-
| {{package|erlang-erlydtl|ErlyDTL}} || - || - || - || - || - || -<ref>0.6.0 is available in updates-testing</ref> || 0.6.0
|-
| {{package|erlang-esasl|esasl}} || -<ref>libgsasl is unavailable for EL-4</ref> || 0.1 || 0.1 || 0.1 || 0.1 || 0.1 || 0.1
|-
| {{package|erlang-etap|etap}} || 0.3.4 || 0.3.4 || 0.3.4 || 0.3.4 || 0.3.4 || 0.3.4 || 0.3.4
|-
| {{package|erlang-ibrowse|ibrowse}} || - || 1.6.0-0.git07153bc || 1.6.0-0.git07153bc || 1.6.0-0.git07153bc || 1.6.0-0.git07153bc || 1.6.0-0.git07153bc || 1.6.0-0.git07153bc
|-
| {{package|erlang-mochiweb|mochiweb}} || -<ref>erlang(eunit) is unavailable in Erlang R11B</ref> || 1.3-0.git9a53dbd7 || 1.3-0.git9a53dbd7 || 1.3-0.git9a53dbd7 || 1.3-0.git9a53dbd7 || 1.3-0.git9a53dbd7 || 1.3-0.20100724git9a53dbd7
|-
| {{package|rabbitmq-server}} || -<ref>Erlang >= R12B-3 is required</ref> || 1.8.0 || 1.8.0 || 1.8.0 || 1.8.0 || 1.8.0 || 1.8.0
|-
| {{package|wings}} || - || - || - || 1.0.1 || 1.0.1 || 1.2 || 1.2
|}
 
<references />


== Reviews ==
== Reviews ==
   
   
* [https://bugzilla.redhat.com/532590 Yaws] - Web server for dynamic content written in Erlang.  ([http://ndim.fedorapeople.org/packages/yaws/ First attempt to package it])
 
* [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/632186 erlang-log4erl] - A logger for erlang in the spirit of Log4J
* [https://bugzilla.redhat.com/652598 erlang-riak_core] - Distributed systems infrastructure used by Riak
* [https://bugzilla.redhat.com/632189 erlang-misultin] - Erlang library for building fast lightweight HTTP(S) servers
* [https://bugzilla.redhat.com/652623 erlang-bitcask] - Eric Brewer-inspired key/value store
* [https://bugzilla.redhat.com/632190 erlang-amf] - Erlang Action Message Format Library
* [https://bugzilla.redhat.com/652629 erlang-riak_kv] - Riak Key/Value Store
* [https://bugzilla.redhat.com/652648 erlang-skerl] - Skein hash function for Erlang, via NIFs
* [https://bugzilla.redhat.com/652665 erlang-luwak] - Large-object storage interface for Riak


== Potential packages ==
== Potential packages ==
* [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.
* erlang-fd_server. Please, note that similar functionality (binding to privileged ports) may be obtained with [http://github.com/klacke/yaws/issues/issue/37 kernel > 2.6.24 with capabilities].
* [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 83: Line 55:
* [http://github.com/mikma/egssapi egssapi] - Erlang GSSAPI and SPNEGO API (one of the runtime requirements for Yaws).
* [http://github.com/mikma/egssapi egssapi] - Erlang GSSAPI and SPNEGO API (one of the runtime requirements for Yaws).
* [http://github.com/etnt/eldap eldap] - Erlang LDAP API. A patched copy is bundled with ejabberd.
* [http://github.com/etnt/eldap eldap] - Erlang LDAP API. A patched copy is bundled with ejabberd.
* [http://github.com/erlyvideo/erlmedia erlmedia] - Erlang library for parsing different media formats
* [http://erlyvideo.org/rtmp erlang-rtmp] - Erlang RTMP library
* [https://wiki.basho.com/display/RIAK/Riak Riak] - a Dynamo-inspired key/value store.
* [http://github.com/uwiger/gproc gproc] - Extended process registry for Erlang. Note - requires gen_leader, and several valuable patches available which still not included into mainline (see [http://github.com/uwiger/gproc/network project's network] at GitHub).
* Erlang's gen_leader module. The current situation is far from perfect - there are several slightly different implementations available. Someone collected them all and started ambitious project called [http://github.com/KirinDave/gen_leader_revival gen_leader_revival] aiming for merge them all.
* [http://hg.basho.com/rebar/ Rebar] - Erlang Build Tools.


== Rejected packages ==
== Rejected packages ==
* <s>[http://support.process-one.net/doc/display/CONTRIBS/Jabberlang Jabberlang]  - a client Jabber library for Erlang</s>. Obsoleted by [https://support.process-one.net/doc/display/EXMPP/ exmpp]
* <s>[http://support.process-one.net/doc/display/CONTRIBS/Jabberlang Jabberlang]  - a client Jabber library for Erlang</s>. Obsoleted by [https://support.process-one.net/doc/display/EXMPP/ exmpp]
* <s>[http://github.com/erlyvideo/erlmedia erlmedia] - Erlang library for parsing different media formats. One of the requirements for erlyvideo</s>. Abandoned by upstream authors.
* <s>[http://erlyvideo.org/rtmp erlang-rtmp] - Erlang RTMP library. One of the requirements for erlyvideo</s>. Abandoned by upstream authors.
* <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]]

Latest revision as of 11:20, 29 October 2022

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

This section is outdated: relevant entries should be moved to our taiga project.

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