diff options
-rw-r--r-- | core/core.mk | 2 | ||||
-rw-r--r-- | core/deps.mk | 128 | ||||
-rw-r--r-- | core/erlc.mk | 6 | ||||
-rw-r--r-- | packages.v1.tsv | 73 | ||||
-rw-r--r-- | packages.v1.txt | 73 | ||||
-rw-r--r-- | packages.v2.tsv | 75 | ||||
-rw-r--r-- | plugins/xref.mk | 4 | ||||
-rw-r--r-- | test/Makefile | 62 |
8 files changed, 324 insertions, 99 deletions
diff --git a/core/core.mk b/core/core.mk index 75a3706..dd66bec 100644 --- a/core/core.mk +++ b/core/core.mk @@ -124,7 +124,7 @@ endef # Adding erlang.mk to make Erlang scripts who call init:get_plain_arguments() happy. define erlang -$(ERL) -pa $(ERLANG_MK_TMP)/ebin -eval "$(subst $(newline),,$(subst ",\",$(1)))" -- erlang.mk +$(ERL) -pa $(ERLANG_MK_TMP)/rebar/ebin -eval "$(subst $(newline),,$(subst ",\",$(1)))" -- erlang.mk endef ifeq ($(shell which wget 2>/dev/null | wc -l), 1) diff --git a/core/deps.mk b/core/deps.mk index d032fbb..9a5fa9a 100644 --- a/core/deps.mk +++ b/core/deps.mk @@ -66,7 +66,12 @@ define dep_autopatch elif [ 0 != `find $(DEPS_DIR)/$(1)/ -type f -name \*.mk -not -name erlang.mk | xargs grep -ci rebar` ]; then \ $(call dep_autopatch2,$(1)); \ else \ - $(call dep_autopatch_erlang_mk,$(1)); \ + if [ -f $(DEPS_DIR)/$(1)/erlang.mk ]; then \ + $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))); \ + $(call dep_autopatch_erlang_mk,$(1)); \ + else \ + $(call erlang,$(call dep_autopatch_app.erl,$(1))); \ + fi \ fi \ else \ if [ ! -d $(DEPS_DIR)/$(1)/src/ ]; then \ @@ -78,8 +83,9 @@ define dep_autopatch endef define dep_autopatch2 + $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))); \ if [ -f $(DEPS_DIR)/$(1)/rebar.config -o -f $(DEPS_DIR)/$(1)/rebar.config.script ]; then \ - $(call dep_autopatch_rebar_utils); \ + $(call dep_autopatch_fetch_rebar); \ $(call dep_autopatch_rebar,$(1)); \ else \ $(call dep_autopatch_gen,$(1)); \ @@ -94,38 +100,28 @@ endef ifeq ($(NO_AUTOPATCH_ERLANG_MK),) define dep_autopatch_erlang_mk rm -f $(DEPS_DIR)/$(1)/erlang.mk; \ - cd $(DEPS_DIR)/$(1)/ && ln -s ../../erlang.mk; \ - $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))) + cd $(DEPS_DIR)/$(1)/ && ln -s ../../erlang.mk endef else define dep_autopatch_erlang_mk - $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))) + echo -n endef endif define dep_autopatch_gen printf "%s\n" \ "ERLC_OPTS = +debug_info" \ - "include ../../erlang.mk" > $(DEPS_DIR)/$(1)/Makefile; \ - $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))) + "include ../../erlang.mk" > $(DEPS_DIR)/$(1)/Makefile endef -define dep_autopatch_rebar_utils - mkdir -p $(ERLANG_MK_TMP)/ebin; \ - if [ ! -f $(ERLANG_MK_TMP)/rebar.hrl ]; then \ - $(call core_http_get,$(ERLANG_MK_TMP)/rebar.hrl,https://raw.githubusercontent.com/rebar/rebar/791db716b5a3a7671e0b351f95ddf24b848ee173/include/rebar.hrl); \ - fi; \ - if [ ! -f $(ERLANG_MK_TMP)/rebar_utils.erl ]; then \ - $(call core_http_get,$(ERLANG_MK_TMP)/rebar_utils.erl,https://raw.githubusercontent.com/rebar/rebar/791db716b5a3a7671e0b351f95ddf24b848ee173/src/rebar_utils.erl); \ - fi; \ - if [ ! -f $(ERLANG_MK_TMP)/ebin/rebar_utils.beam ]; then \ - erlc -o $(ERLANG_MK_TMP)/ebin $(ERLANG_MK_TMP)/rebar_utils.erl; \ - fi; \ - if [ ! -f $(ERLANG_MK_TMP)/rebar_log.erl ]; then \ - $(call core_http_get,$(ERLANG_MK_TMP)/rebar_log.erl,https://raw.githubusercontent.com/rebar/rebar/791db716b5a3a7671e0b351f95ddf24b848ee173/src/rebar_log.erl); \ - fi; \ - if [ ! -f $(ERLANG_MK_TMP)/ebin/rebar_log.beam ]; then \ - erlc -o $(ERLANG_MK_TMP)/ebin $(ERLANG_MK_TMP)/rebar_log.erl; \ +define dep_autopatch_fetch_rebar + mkdir -p $(ERLANG_MK_TMP); \ + if [ ! -d $(ERLANG_MK_TMP)/rebar ]; then \ + git clone -q -n -- https://github.com/rebar/rebar $(ERLANG_MK_TMP)/rebar; \ + cd $(ERLANG_MK_TMP)/rebar; \ + git checkout -q 791db716b5a3a7671e0b351f95ddf24b848ee173; \ + make; \ + cd -; \ fi endef @@ -133,8 +129,7 @@ define dep_autopatch_rebar if [ -f $(DEPS_DIR)/$(1)/Makefile ]; then \ mv $(DEPS_DIR)/$(1)/Makefile $(DEPS_DIR)/$(1)/Makefile.orig.mk; \ fi; \ - $(call erlang,$(call dep_autopatch_rebar.erl,$(1))); \ - $(call erlang,$(call dep_autopatch_appsrc.erl,$(1))) + $(call erlang,$(call dep_autopatch_rebar.erl,$(1))) endef define dep_autopatch_rebar.erl @@ -167,13 +162,15 @@ define dep_autopatch_rebar.erl Write("DRV_CFLAGS = -fPIC\nexport DRV_CFLAGS\n"), Write(["ERLANG_ARCH = ", rebar_utils:wordsize(), "\nexport ERLANG_ARCH\n"]), fun() -> - Write("ERLC_OPTS = +debug_info\n"), + Write("ERLC_OPTS = +debug_info\nexport ERLC_OPTS\n"), case lists:keyfind(erl_opts, 1, Conf) of false -> ok; {_, ErlOpts} -> lists:foreach(fun ({d, D}) -> Write("ERLC_OPTS += -D" ++ atom_to_list(D) ++ "=1\n"); + ({i, I}) -> + Write(["ERLC_OPTS += -I ", I, "\n"]); ({platform_define, Regex, D}) -> case rebar_utils:is_arch(Regex) of true -> Write("ERLC_OPTS += -D" ++ atom_to_list(D) ++ "=1\n"); @@ -209,16 +206,25 @@ define dep_autopatch_rebar.erl end end(), fun() -> - First = case lists:keyfind(erl_first_files, 1, Conf) of false -> []; {_, Files} -> - Names = [[" ", begin "lre." ++ Elif = lists:reverse(F), lists:reverse(Elif) end] - || "src/" ++ F <- Files], - Write(io_lib:format("COMPILE_FIRST +=~s\n", [Names])) + case lists:keyfind(erl_first_files, 1, Conf) of + false -> ok; + {_, Files} -> + Names = [[" ", case lists:reverse(F) of + "lre." ++ Elif -> lists:reverse(Elif); + Elif -> lists:reverse(Elif) + end] || "src/" ++ F <- Files], + Write(io_lib:format("COMPILE_FIRST +=~s\n", [Names])) end end(), FindFirst = fun(F, Fd) -> case io:parse_erl_form(Fd, undefined) of - {ok, {attribute, _,compile, {parse_transform, PT}}, _} -> + {ok, {attribute, _, compile, {parse_transform, PT}}, _} -> [PT, F(F, Fd)]; + {ok, {attribute, _, compile, CompileOpts}, _} when is_list(CompileOpts) -> + case proplists:get_value(parse_transform, CompileOpts) of + undefined -> [F(F, Fd)]; + PT -> [PT, F(F, Fd)] + end; {ok, {attribute, _, include, Hrl}, _} -> case file:open("$(DEPS_DIR)/$(1)/include/" ++ Hrl, [read]) of {ok, HrlFd} -> [F(F, HrlFd), F(F, Fd)]; @@ -231,6 +237,11 @@ define dep_autopatch_rebar.erl {ok, {attribute, _, include_lib, "$(1)/include/" ++ Hrl}, _} -> {ok, HrlFd} = file:open("$(DEPS_DIR)/$(1)/include/" ++ Hrl, [read]), [F(F, HrlFd), F(F, Fd)]; + {ok, {attribute, _, include_lib, Hrl}, _} -> + case file:open("$(DEPS_DIR)/$(1)/include/" ++ Hrl, [read]) of + {ok, HrlFd} -> [F(F, HrlFd), F(F, Fd)]; + _ -> [F(F, Fd)] + end; {ok, {attribute, _, import, {Imp, _}}, _} -> case file:open("$(DEPS_DIR)/$(1)/src/" ++ atom_to_list(Imp) ++ ".erl", [read]) of {ok, ImpFd} -> [Imp, F(F, ImpFd), F(F, Fd)]; @@ -277,10 +288,10 @@ define dep_autopatch_rebar.erl {'get-deps', Cmd} -> Write("\npre-deps::\n\t" ++ PatchHook(Cmd) ++ "\n"); {compile, Cmd} -> - Write("\npre-app::\n\t" ++ PatchHook(Cmd) ++ "\n"); + Write("\npre-app::\n\tCC=$$$$\(CC) " ++ PatchHook(Cmd) ++ "\n"); {Regex, compile, Cmd} -> case rebar_utils:is_arch(Regex) of - true -> Write("\npre-app::\n\t" ++ PatchHook(Cmd) ++ "\n"); + true -> Write("\npre-app::\n\tCC=$$$$\(CC) " ++ PatchHook(Cmd) ++ "\n"); false -> ok end; _ -> ok @@ -288,7 +299,8 @@ define dep_autopatch_rebar.erl end end(), ShellToMk = fun(V) -> - re:replace(V, "(\\\\$$$$)(\\\\w*)", "\\\\1(\\\\2)", [{return, list}, global]) + re:replace(re:replace(V, "(\\\\$$$$)(\\\\w*)", "\\\\1(\\\\2)", [global]), + "-Werror\\\\b", "", [{return, list}, global]) end, PortSpecs = fun() -> case lists:keyfind(port_specs, 1, Conf) of @@ -354,6 +366,10 @@ define dep_autopatch_rebar.erl Input = [[" ", I] || I <- Input0], PortSpecWrite([ [["\n", K, " = ", ShellToMk(V)] || {K, V} <- lists:reverse(MergeEnv(PortEnv))], + case $(PLATFORM) of + darwin -> "\n\nLDFLAGS += -flat_namespace -undefined suppress"; + _ -> "" + end, "\n\nall:: ", Output, "\n\n", "%.o: %.c\n\t$$$$\(CC) -c -o $$$$\@ $$$$\< $$$$\(CFLAGS) $$$$\(ERL_CFLAGS) $$$$\(DRV_CFLAGS) $$$$\(EXE_CFLAGS)\n\n", "%.o: %.C\n\t$$$$\(CXX) -c -o $$$$\@ $$$$\< $$$$\(CXXFLAGS) $$$$\(ERL_CFLAGS) $$$$\(DRV_CFLAGS) $$$$\(EXE_CFLAGS)\n\n", @@ -371,22 +387,13 @@ define dep_autopatch_rebar.erl [PortSpec(S) || S <- PortSpecs] end, Write("\ninclude ../../erlang.mk"), - PatchPlugin = fun(ErlFile) -> - {ok, F0} = file:read_file(ErlFile), - case re:replace(F0, "rebar_config:", "rebar_config_", [global]) of - F0 -> ok; - F -> - ok = file:write_file(ErlFile, [F, - "\nrebar_config_get(_, current_command, _) -> compile.\n" - ]) - end - end, RunPlugin = fun(Plugin, Step) -> case erlang:function_exported(Plugin, Step, 2) of false -> ok; true -> c:cd("$(DEPS_DIR)/$(1)/"), - Ret = Plugin:Step(Conf, undefined), + Ret = Plugin:Step({config, "", Conf, dict:new(), dict:new(), dict:new(), + dict:store(base_dir, "", dict:new())}, undefined), io:format("rebar plugin ~p step ~p ret ~p~n", [Plugin, Step, Ret]) end end, @@ -415,7 +422,6 @@ define dep_autopatch_rebar.erl false -> ok; {_, PluginsDir} -> ErlFile = "$(DEPS_DIR)/$(1)/" ++ PluginsDir ++ "/" ++ atom_to_list(P) ++ ".erl", - PatchPlugin(ErlFile), {ok, P, Bin} = compile:file(ErlFile, [binary]), {module, P} = code:load_binary(P, ErlFile, Bin) end @@ -427,18 +433,32 @@ define dep_autopatch_rebar.erl halt() endef +define dep_autopatch_app.erl + UpdateModules = fun(App) -> + case filelib:is_regular(App) of + false -> ok; + true -> + {ok, [{application, $(1), L0}]} = file:consult(App), + Mods = filelib:fold_files("$(DEPS_DIR)/$(1)/src", "\\\\.erl$$$$", true, + fun (F, Acc) -> [list_to_atom(filename:rootname(filename:basename(F)))|Acc] end, []), + L = lists:keystore(modules, 1, L0, {modules, Mods}), + ok = file:write_file(App, io_lib:format("~p.~n", [{application, $(1), L}])) + end + end, + UpdateModules("$(DEPS_DIR)/$(1)/ebin/$(1).app"), + halt() +endef + define dep_autopatch_appsrc.erl AppSrcOut = "$(DEPS_DIR)/$(1)/src/$(1).app.src", AppSrcIn = case filelib:is_regular(AppSrcOut) of false -> "$(DEPS_DIR)/$(1)/ebin/$(1).app"; true -> AppSrcOut end, case filelib:is_regular(AppSrcIn) of false -> ok; true -> - fun() -> - {ok, [{application, $(1), L}]} = file:consult(AppSrcIn), - L2 = lists:keystore(modules, 1, L, {modules, []}), - L3 = case lists:keyfind(vsn, 1, L2) of {vsn, git} -> lists:keyreplace(vsn, 1, L2, {vsn, "git"}); _ -> L2 end, - ok = file:write_file(AppSrcOut, io_lib:format("~p.~n", [{application, $(1), L3}])) - end(), + {ok, [{application, $(1), L0}]} = file:consult(AppSrcIn), + L1 = lists:keystore(modules, 1, L0, {modules, []}), + L2 = case lists:keyfind(vsn, 1, L1) of {vsn, git} -> lists:keyreplace(vsn, 1, L1, {vsn, "git"}); _ -> L1 end, + ok = file:write_file(AppSrcOut, io_lib:format("~p.~n", [{application, $(1), L2}])), case AppSrcOut of AppSrcIn -> ok; _ -> ok = file:delete(AppSrcIn) end end, halt() @@ -491,9 +511,9 @@ else endif endif endif - @if [ -f $(DEPS_DIR)/$(1)/configure.ac ]; then \ + @if [ -f $(DEPS_DIR)/$(1)/configure.ac -o -f $(DEPS_DIR)/$(1)/configure.in ]; then \ echo " AUTO " $(1); \ - cd $(DEPS_DIR)/$(1) && autoreconf -vif; \ + cd $(DEPS_DIR)/$(1) && autoreconf -Wall -vif -I m4; \ fi -@if [ -f $(DEPS_DIR)/$(1)/configure ]; then \ echo " CONF " $(1); \ diff --git a/core/erlc.mk b/core/erlc.mk index 6790cab..a646984 100644 --- a/core/erlc.mk +++ b/core/erlc.mk @@ -101,12 +101,10 @@ ebin/$(PROJECT).app:: $(shell find mibs -type f -name \*.mib) $(if $(strip $?),$(call compile_mib,$?)) endif -ebin/$(PROJECT).app:: $(shell find src -type f -name \*.erl) \ - $(shell find src -type f -name \*.core) +ebin/$(PROJECT).app:: $(shell find src -type f -name \*.erl -o -name \*.core) $(if $(strip $?),$(call compile_erl,$?)) -ebin/$(PROJECT).app:: $(shell find src -type f -name \*.xrl) \ - $(shell find src -type f -name \*.yrl) +ebin/$(PROJECT).app:: $(shell find src -type f -name \*.xrl -o -name \*.yrl) $(if $(strip $?),$(call compile_xyrl,$?)) endif diff --git a/packages.v1.tsv b/packages.v1.tsv index 428fa3d..34ba933 100644 --- a/packages.v1.tsv +++ b/packages.v1.tsv @@ -1,12 +1,16 @@ aberth https://github.com/a13x/aberth https://github.com/a13x/aberth Generic BERT-RPC server in Erlang active https://github.com/proger/active https://github.com/proger/active Active development for Erlang: rebuild and reload source/binary files while the VM is running aleppo https://github.com/ErlyORM/aleppo https://github.com/ErlyORM/aleppo Alternative Erlang Pre-Processor +alog https://github.com/siberian-fast-food/alogger https://github.com/siberian-fast-food/alogger Simply the best logging framework for Erlang annotations https://github.com/hyperthunk/annotations https://github.com/hyperthunk/annotations Simple code instrumentation utilities +antidote https://github.com/SyncFree/antidote https://syncfree.lip6.fr/ Large-scale computation without synchronisation apns https://github.com/inaka/apns4erl http://inaka.github.com/apns4erl Apple Push Notification Server for Erlang azdht https://github.com/arcusfelis/azdht https://github.com/arcusfelis/azdht Azureus Distributed Hash Table (DHT) in Erlang backoff https://github.com/ferd/backoff https://github.com/ferd/backoff Simple exponential backoffs in Erlang barrel https://github.com/benoitc/barrel https://github.com/benoitc/barrel barrel is a generic TCP acceptor pool with low latency in Erlang. basho_bench https://github.com/basho/basho_bench https://github.com/basho/basho_bench A load-generation and testing tool for basically whatever you can write a returning Erlang function for. +bcrypt https://github.com/riverrun/branglecrypt https://github.com/riverrun/branglecrypt Bcrypt Erlang / C library +beam https://github.com/tonyrog/beam https://github.com/tonyrog/beam BEAM emulator written in Erlang beanstalk https://github.com/tim/erlang-beanstalk https://github.com/tim/erlang-beanstalk An Erlang client for beanstalkd bear https://github.com/boundary/bear https://github.com/boundary/bear a set of statistics functions for erlang bertconf https://github.com/ferd/bertconf https://github.com/ferd/bertconf Make ETS tables out of statc BERT files that are auto-reloaded @@ -23,14 +27,40 @@ bullet https://github.com/extend/bullet http://ninenines.eu Simple, reliable, ef cache https://github.com/fogfish/cache https://github.com/fogfish/cache Erlang in-memory cache cake https://github.com/darach/cake-erl https://github.com/darach/cake-erl Really simple terminal colorization carotene https://github.com/carotene/carotene https://github.com/carotene/carotene Real-time server +cberl https://github.com/chitika/cberl https://github.com/chitika/cberl NIF based Erlang bindings for Couchbase cecho https://github.com/mazenharake/cecho https://github.com/mazenharake/cecho An ncurses library for Erlang cferl https://github.com/ddossot/cferl https://github.com/ddossot/cferl Rackspace / Open Stack Cloud Files Erlang Client chaos_monkey https://github.com/dLuna/chaos_monkey https://github.com/dLuna/chaos_monkey This is The CHAOS MONKEY. It will kill your processes. +check_node https://github.com/basho-labs/riak_nagios https://github.com/basho-labs/riak_nagios Nagios Scripts for monitoring Riak chronos https://github.com/lehoff/chronos https://github.com/lehoff/chronos Timer module for Erlang that makes it easy to abstact time out of the tests. classifier https://github.com/inaka/classifier https://github.com/inaka/classifier An Erlang Bayesian Filter and Text Classifier clique https://github.com/basho/clique https://github.com/basho/clique CLI Framework for Erlang +cloudi_core https://github.com/CloudI/cloudi_core http://cloudi.org/ CloudI internal service runtime +cloudi_service_api_requests https://github.com/CloudI/cloudi_service_api_requests http://cloudi.org/ CloudI Service API requests (JSON-RPC/Erlang-term support) +cloudi_service_db_cassandra_cql https://github.com/CloudI/cloudi_service_db_cassandra_cql http://cloudi.org/ Cassandra CQL CloudI Service +cloudi_service_db_cassandra https://github.com/CloudI/cloudi_service_db_cassandra http://cloudi.org/ Cassandra CloudI Service +cloudi_service_db_couchdb https://github.com/CloudI/cloudi_service_db_couchdb http://cloudi.org/ CouchDB CloudI Service +cloudi_service_db_elasticsearch https://github.com/CloudI/cloudi_service_db_elasticsearch http://cloudi.org/ elasticsearch CloudI Service +cloudi_service_db https://github.com/CloudI/cloudi_service_db http://cloudi.org/ CloudI Database (in-memory/testing/generic) +cloudi_service_db_memcached https://github.com/CloudI/cloudi_service_db_memcached http://cloudi.org/ memcached CloudI Service +cloudi_service_db_mysql https://github.com/CloudI/cloudi_service_db_mysql http://cloudi.org/ MySQL CloudI Service +cloudi_service_db_riak https://github.com/CloudI/cloudi_service_db_riak http://cloudi.org/ Riak CloudI Service +cloudi_service_db_tokyotyrant https://github.com/CloudI/cloudi_service_db_tokyotyrant http://cloudi.org/ Tokyo Tyrant CloudI Service +cloudi_service_filesystem https://github.com/CloudI/cloudi_service_filesystem http://cloudi.org/ Filesystem CloudI Service +cloudi_service_http_client https://github.com/CloudI/cloudi_service_http_client http://cloudi.org/ HTTP client CloudI Service +cloudi_service_http_cowboy https://github.com/CloudI/cloudi_service_http_cowboy http://cloudi.org/ cowboy HTTP/HTTPS CloudI Service +cloudi_service_http_elli https://github.com/CloudI/cloudi_service_http_elli http://cloudi.org/ elli HTTP CloudI Service +cloudi_service_map_reduce https://github.com/CloudI/cloudi_service_map_reduce http://cloudi.org/ Map/Reduce CloudI Service +cloudi_service_queue https://github.com/CloudI/cloudi_service_queue http://cloudi.org/ Persistent Queue Service +cloudi_service_quorum https://github.com/CloudI/cloudi_service_quorum http://cloudi.org/ CloudI Quorum Service +cloudi_service_router https://github.com/CloudI/cloudi_service_router http://cloudi.org/ CloudI Router Service +cloudi_service_tcp https://github.com/CloudI/cloudi_service_tcp http://cloudi.org/ TCP CloudI Service +cloudi_service_timers https://github.com/CloudI/cloudi_service_timers http://cloudi.org/ Timers CloudI Service +cloudi_service_udp https://github.com/CloudI/cloudi_service_udp http://cloudi.org/ UDP CloudI Service +cloudi_service_validate https://github.com/CloudI/cloudi_service_validate http://cloudi.org/ CloudI Validate Service +cloudi_service_zeromq https://github.com/CloudI/cloudi_service_zeromq http://cloudi.org/ ZeroMQ CloudI Service cluster_info https://github.com/basho/cluster_info https://github.com/basho/cluster_info Fork of Hibari's nifty cluster_info OTP app -concuerror https://github.com/parapluu/Concuerror http://www.concuerror.com/ Concuerror is a systematic testing tool for concurrent Erlang programs +color https://github.com/julianduque/erlang-color https://github.com/julianduque/erlang-color ANSI colors for your Erlang confetti https://github.com/jtendo/confetti https://github.com/jtendo/confetti Erlang configuration provider / application:get_env/2 on steroids couchbeam https://github.com/benoitc/couchbeam https://github.com/benoitc/couchbeam Apache CouchDB client in Erlang couch https://github.com/benoitc/opencouch https://github.com/benoitc/opencouch A embeddable document oriented database compatible with Apache CouchDB @@ -64,12 +94,14 @@ edate https://github.com/dweldon/edate https://github.com/dweldon/edate date man edgar https://github.com/crownedgrouse/edgar https://github.com/crownedgrouse/edgar Erlang Does GNU AR edis https://github.com/inaka/edis http://inaka.github.com/edis/ An Erlang implementation of Redis KV Store edns https://github.com/hcvst/erlang-dns https://github.com/hcvst/erlang-dns Erlang/OTP DNS server +edown https://github.com/uwiger/edown https://github.com/uwiger/edown EDoc extension for generating Github-flavored Markdown eep_app https://github.com/darach/eep-erl https://github.com/darach/eep-erl Embedded Event Processing eep https://github.com/virtan/eep https://github.com/virtan/eep Erlang Easy Profiling (eep) application provides a way to analyze application performance and call hierarchy efene https://github.com/efene/efene https://github.com/efene/efene Alternative syntax for the Erlang Programming Language focusing on simplicity, ease of use and programmer UX eganglia https://github.com/inaka/eganglia https://github.com/inaka/eganglia Erlang library to interact with Ganglia egeoip https://github.com/mochi/egeoip https://github.com/mochi/egeoip Erlang IP Geolocation module, currently supporting the MaxMind GeoLite City Database. ehsa https://bitbucket.org/a12n/ehsa https://bitbucket.org/a12n/ehsa Erlang HTTP server basic and digest authentication modules +ejabberd https://github.com/processone/ejabberd https://github.com/processone/ejabberd Robust, ubiquitous and massively scalable Jabber / XMPP Instant Messaging platform ej https://github.com/seth/ej https://github.com/seth/ej Helper module for working with Erlang terms representing JSON ekaf https://github.com/helpshift/ekaf https://github.com/helpshift/ekaf A minimal, high-performance Kafka client in Erlang. elarm https://github.com/esl/elarm https://github.com/esl/elarm Alarm Manager for Erlang. @@ -87,8 +119,10 @@ episcina https://github.com/erlware/episcina https://github.com/erlware/episcina eplot https://github.com/psyeugenic/eplot https://github.com/psyeugenic/eplot A plot engine written in erlang. epocxy https://github.com/duomark/epocxy https://github.com/duomark/epocxy Erlang Patterns of Concurrency epubnub https://github.com/tsloughter/epubnub https://github.com/tsloughter/epubnub Erlang PubNub API +eqm https://github.com/loucash/eqm https://github.com/loucash/eqm Erlang pub sub with supply-demand channels eredis https://github.com/wooga/eredis https://github.com/wooga/eredis Erlang Redis client eredis_pool https://github.com/hiroeorz/eredis_pool https://github.com/hiroeorz/eredis_pool eredis_pool is Pool of Redis clients, using eredis and poolboy. +erlang_cep https://github.com/danmacklin/erlang_cep https://github.com/danmacklin/erlang_cep A basic CEP package written in erlang erlang_js https://github.com/basho/erlang_js https://github.com/basho/erlang_js A linked-in driver for Erlang to Mozilla's Spidermonkey Javascript runtime. erlang_localtime https://github.com/dmitryme/erlang_localtime https://github.com/dmitryme/erlang_localtime Erlang library for conversion from one local time to another erlang_smtp https://github.com/tonyg/erlang-smtp https://github.com/tonyg/erlang-smtp Erlang SMTP and POP3 server code. @@ -105,9 +139,11 @@ erlfsmon https://github.com/proger/erlfsmon https://github.com/proger/erlfsmon E erlgit https://github.com/gleber/erlgit https://github.com/gleber/erlgit Erlang convenience wrapper around git executable erlguten https://github.com/richcarl/erlguten https://github.com/richcarl/erlguten ErlGuten is a system for high-quality typesetting, written purely in Erlang. erlmc https://github.com/jkvor/erlmc https://github.com/jkvor/erlmc Erlang memcached binary protocol client +erlmongo https://github.com/SergejJurecko/erlmongo https://github.com/SergejJurecko/erlmongo Record based Erlang driver for MongoDB with gridfs support erlog https://github.com/rvirding/erlog https://github.com/rvirding/erlog Prolog interpreter in and for Erlang erlpass https://github.com/ferd/erlpass https://github.com/ferd/erlpass A library to handle password hashing and changing in a safe manner, independent from any kind of storage whatsoever. erlport https://github.com/hdima/erlport https://github.com/hdima/erlport ErlPort - connect Erlang to other languages +erlsha2 https://github.com/vinoski/erlsha2 https://github.com/vinoski/erlsha2 SHA-224, SHA-256, SHA-384, SHA-512 implemented in Erlang NIFs. erlsh https://github.com/proger/erlsh https://github.com/proger/erlsh Erlang shell tools erlsom https://github.com/willemdj/erlsom https://github.com/willemdj/erlsom XML parser for Erlang erl_streams https://github.com/epappas/erl_streams https://github.com/epappas/erl_streams Streams in Erlang @@ -127,9 +163,9 @@ etoml https://github.com/kalta/etoml https://github.com/kalta/etoml TOML languag eunit_formatters https://github.com/seancribbs/eunit_formatters https://github.com/seancribbs/eunit_formatters Because eunit's output sucks. Let's make it better. eunit https://github.com/richcarl/eunit https://github.com/richcarl/eunit The EUnit lightweight unit testing framework for Erlang - this is the canonical development repository. euthanasia https://github.com/doubleyou/euthanasia https://github.com/doubleyou/euthanasia Merciful killer for your Erlang processes +evum https://github.com/msantos/evum https://github.com/msantos/evum Spawn Linux VMs as Erlang processes in the Erlang VM exec https://github.com/saleyn/erlexec http://saleyn.github.com/erlexec Execute and control OS processes from Erlang/OTP. exml https://github.com/paulgray/exml https://github.com/paulgray/exml XML parsing library in Erlang -exmpp https://github.com/processone/exmpp https://github.com/processone/exmpp Erlang XMPP library exometer https://github.com/Feuerlabs/exometer https://github.com/Feuerlabs/exometer Basic measurement objects and probe behavior exs1024 https://github.com/jj1bdx/exs1024 https://github.com/jj1bdx/exs1024 Xorshift1024star pseudo random number generator for Erlang. exs64 https://github.com/jj1bdx/exs64 https://github.com/jj1bdx/exs64 Xorshift64star pseudo random number generator for Erlang. @@ -150,6 +186,7 @@ fuse https://github.com/jlouis/fuse https://github.com/jlouis/fuse A Circuit Bre gcm https://github.com/pdincau/gcm-erlang https://github.com/pdincau/gcm-erlang An Erlang application for Google Cloud Messaging gcprof https://github.com/knutin/gcprof https://github.com/knutin/gcprof Garbage Collection profiler for Erlang geas https://github.com/crownedgrouse/geas https://github.com/crownedgrouse/geas Guess Erlang Application Scattering +geef https://github.com/carlosmn/geef https://github.com/carlosmn/geef Git NEEEEF (Erlang NIF) gen_cycle https://github.com/aerosol/gen_cycle https://github.com/aerosol/gen_cycle Simple, generic OTP behaviour for recurring tasks gen_icmp https://github.com/msantos/gen_icmp https://github.com/msantos/gen_icmp Erlang interface to ICMP sockets gen_nb_server https://github.com/kevsmith/gen_nb_server https://github.com/kevsmith/gen_nb_server OTP behavior for writing non-blocking servers @@ -159,20 +196,23 @@ gen_tracker https://github.com/erlyvideo/gen_tracker https://github.com/erlyvide gen_unix https://github.com/msantos/gen_unix https://github.com/msantos/gen_unix Erlang Unix socket interface getopt https://github.com/jcomellas/getopt https://github.com/jcomellas/getopt Module to parse command line arguments using the GNU getopt syntax gettext https://github.com/etnt/gettext https://github.com/etnt/gettext Erlang internationalization library. +giallo https://github.com/kivra/giallo https://github.com/kivra/giallo Small and flexible web framework on top of Cowboy gin https://github.com/mad-cocktail/gin https://github.com/mad-cocktail/gin The guards and for Erlang parse_transform gitty https://github.com/maxlapshin/gitty https://github.com/maxlapshin/gitty Git access in erlang +gold_fever https://github.com/inaka/gold_fever https://github.com/inaka/gold_fever A Treasure Hunt for Erlangers +gossiperl https://github.com/gossiperl/gossiperl http://gossiperl.com/ Gossip middleware in Erlang gpb https://github.com/tomas-abrahamsson/gpb https://github.com/tomas-abrahamsson/gpb A Google Protobuf implementation for Erlang gproc https://github.com/uwiger/gproc https://github.com/uwiger/gproc Extended process registry for Erlang grapherl https://github.com/eproxus/grapherl https://github.com/eproxus/grapherl Create graphs of Erlang systems and programs gun https://github.com/ninenines/gun http//ninenines.eu Asynchronous SPDY, HTTP and Websocket client written in Erlang. hackney https://github.com/benoitc/hackney https://github.com/benoitc/hackney simple HTTP client in Erlang +hamcrest https://github.com/hyperthunk/hamcrest-erlang https://github.com/hyperthunk/hamcrest-erlang Erlang port of Hamcrest hanoidb https://github.com/krestenkrab/hanoidb https://github.com/krestenkrab/hanoidb Erlang LSM BTree Storage hottub https://github.com/bfrog/hottub https://github.com/bfrog/hottub Permanent Erlang Worker Pool hyper https://github.com/GameAnalytics/hyper https://github.com/GameAnalytics/hyper Erlang implementation of HyperLogLog ibrowse https://github.com/cmullaparthi/ibrowse https://github.com/cmullaparthi/ibrowse Erlang HTTP client ierlang https://github.com/robbielynch/ierlang https://github.com/robbielynch/ierlang An Erlang language kernel for IPython. iota https://github.com/jpgneves/iota https://github.com/jpgneves/iota iota (Inter-dependency Objective Testing Apparatus) - a tool to enforce clean separation of responsibilities in Erlang code -ircbot https://github.com/gdamjan/erlang-irc-bot https://github.com/gdamjan/erlang-irc-bot A simple extendable irc bot in Erlang ircd https://github.com/tonyg/erlang-ircd https://github.com/tonyg/erlang-ircd A pluggable IRC daemon application/library for Erlang. irc_lib https://github.com/OtpChatBot/irc_lib https://github.com/OtpChatBot/irc_lib Erlang irc client library iris https://github.com/project-iris/iris-erl https://github.com/project-iris/iris-erl Iris Erlang binding @@ -194,6 +234,7 @@ kafka https://github.com/wooga/kafka-erlang https://github.com/wooga/kafka-erlan kai https://github.com/synrc/kai https://github.com/synrc/kai DHT storage by Takeshi Inoue katja https://github.com/nifoc/katja https://github.com/nifoc/katja A simple Riemann client written in Erlang. kdht https://github.com/kevinlynx/kdht https://github.com/kevinlynx/kdht kdht is an erlang DHT implementation +kinetic https://github.com/AdRoll/kinetic https://github.com/AdRoll/kinetic Erlang Kinesis Client kjell https://github.com/karlll/kjell https://github.com/karlll/kjell Erlang Shell kraken https://github.com/Asana/kraken https://github.com/Asana/kraken Distributed Pubsub Server for Realtime Apps kucumberl https://github.com/openshine/kucumberl https://github.com/openshine/kucumberl A pure-erlang, open-source, implementation of Cucumber @@ -204,6 +245,7 @@ lager_amqp_backend https://github.com/jbrisbin/lager_amqp_backend https://github lager https://github.com/basho/lager https://github.com/basho/lager A logging framework for Erlang/OTP. lager_syslog https://github.com/basho/lager_syslog https://github.com/basho/lager_syslog Syslog backend for lager lambdapad https://github.com/gar1t/lambdapad https://github.com/gar1t/lambdapad Static site generator using Erlang. Yes, Erlang. +lasp https://github.com/lasp-lang/lasp http://lasp-lang.org/ A Language for Distributed, Eventually Consistent Computations lasse https://github.com/inaka/lasse https://github.com/inaka/lasse SSE handler for Cowboy ldap https://github.com/spawnproc/ldap https://github.com/spawnproc/ldap LDAP server written in Erlang lethink https://github.com/taybin/lethink https://github.com/taybin/lethink erlang driver for rethinkdb @@ -218,13 +260,16 @@ lol https://github.com/b0oh/lol https://github.com/b0oh/lol Lisp on erLang, and lucid https://github.com/tatsuhiro-t/lucid https://github.com/tatsuhiro-t/lucid HTTP/2 server written in Erlang luerl https://github.com/rvirding/luerl https://github.com/rvirding/luerl Lua in Erlang luwak https://github.com/basho/luwak https://github.com/basho/luwak Large-object storage interface for Riak +lux https://github.com/hawk/lux https://github.com/hawk/lux Lux (LUcid eXpect scripting) simplifies test automation and provides an Expect-style execution of commands mad https://github.com/synrc/mad https://github.com/synrc/mad Small and Fast Rebar Replacement +marina https://github.com/lpgauth/marina https://github.com/lpgauth/marina Non-blocking Erlang Cassandra CQL3 client mavg https://github.com/EchoTeam/mavg https://github.com/EchoTeam/mavg Erlang :: Exponential moving average library mcd https://github.com/EchoTeam/mcd https://github.com/EchoTeam/mcd Fast memcached protocol client in pure Erlang mcerlang https://github.com/fredlund/McErlang https://github.com/fredlund/McErlang The McErlang model checker for Erlang mc_erl https://github.com/clonejo/mc-erl https://github.com/clonejo/mc-erl mc-erl is a server for Minecraft 1.4.7 written in Erlang. meck https://github.com/eproxus/meck https://github.com/eproxus/meck A mocking library for Erlang mekao https://github.com/ddosia/mekao https://github.com/ddosia/mekao SQL constructor +memo https://github.com/tuncer/memo https://github.com/tuncer/memo Erlang memoization server merge_index https://github.com/basho/merge_index https://github.com/basho/merge_index MergeIndex is an Erlang library for storing ordered sets on disk. It is very similar to an SSTable (in Google's Bigtable) or an HFile (in Hadoop). merl https://github.com/richcarl/merl https://github.com/richcarl/merl Metaprogramming in Erlang mimetypes https://github.com/spawngrid/mimetypes https://github.com/spawngrid/mimetypes Erlang MIME types library @@ -237,6 +282,7 @@ mongodb https://github.com/comtihon/mongodb-erlang https://github.com/comtihon/m mongooseim https://github.com/esl/MongooseIM https://www.erlang-solutions.com/products/mongooseim-massively-scalable-ejabberd-platform Jabber / XMPP server with focus on performance and scalability, by Erlang Solutions moyo https://github.com/dwango/moyo https://github.com/dwango/moyo Erlang utility functions library msgpack https://github.com/msgpack/msgpack-erlang https://github.com/msgpack/msgpack-erlang MessagePack (de)serializer implementation for Erlang +mu2 https://github.com/ramsay-t/mu2 https://github.com/ramsay-t/mu2 Erlang mutation testing tool mustache https://github.com/mojombo/mustache.erl https://github.com/mojombo/mustache.erl Mustache template engine for Erlang. myproto https://github.com/altenwald/myproto https://github.com/altenwald/myproto MySQL Server Protocol in Erlang mysql https://github.com/dizzyd/erlang-mysql-driver https://github.com/dizzyd/erlang-mysql-driver Erlang MySQL Driver (from code.google.com) @@ -246,9 +292,12 @@ neo4j https://github.com/dmitriid/neo4j-erlang https://github.com/dmitriid/neo4j neotoma https://github.com/seancribbs/neotoma https://github.com/seancribbs/neotoma Erlang library and packrat parser-generator for parsing expression grammars. newrelic https://github.com/wooga/newrelic-erlang https://github.com/wooga/newrelic-erlang Erlang library for sending metrics to New Relic nifty https://github.com/parapluu/nifty https://github.com/parapluu/nifty Erlang NIF wrapper generator +nitrogen_core https://github.com/nitrogen/nitrogen_core http://nitrogenproject.com/ The core Nitrogen library. +nkbase https://github.com/Nekso/nkbase https://github.com/Nekso/nkbase NkBASE distributed database nkdocker https://github.com/Nekso/nkdocker https://github.com/Nekso/nkdocker Erlang Docker client nkpacket https://github.com/Nekso/nkpacket https://github.com/Nekso/nkpacket Generic Erlang transport layer nodefinder https://github.com/okeuday/nodefinder https://github.com/erlanger/nodefinder automatic node discovery via UDP multicast +nprocreg https://github.com/nitrogen/nprocreg http://nitrogenproject.com/ Minimal Distributed Erlang Process Registry oauth2c https://github.com/kivra/oauth2_client https://github.com/kivra/oauth2_client Erlang OAuth2 Client oauth2 https://github.com/kivra/oauth2 https://github.com/kivra/oauth2 Erlang Oauth2 implementation oauth https://github.com/tim/erlang-oauth https://github.com/tim/erlang-oauth An Erlang OAuth 1.0 implementation @@ -271,6 +320,7 @@ pobox https://github.com/ferd/pobox https://github.com/ferd/pobox External buffe ponos https://github.com/klarna/ponos https://github.com/klarna/ponos ponos is a simple yet powerful load generator written in erlang poolboy https://github.com/devinus/poolboy https://github.com/devinus/poolboy A hunky Erlang worker pool factory pooler https://github.com/seth/pooler https://github.com/seth/pooler An OTP Process Pool Application +poxa https://github.com/edgurgel/poxa-erlang https://github.com/edgurgel/poxa-erlang Open Pusher server implementation compatible with Pusher libraries. pqueue https://github.com/okeuday/pqueue https://github.com/okeuday/pqueue Erlang Priority Queues procket https://github.com/msantos/procket http://blog.listincomprehension.com/search/label/procket Erlang interface to low level socket operations proper https://github.com/manopapad/proper http://proper.softlab.ntua.gr PropEr: a QuickCheck-inspired property-based testing tool for Erlang. @@ -290,6 +340,7 @@ rafter https://github.com/andrewjstone/rafter https://github.com/andrewjstone/ra ranch https://github.com/ninenines/ranch http://ninenines.eu Socket acceptor pool for TCP protocols. rbeacon https://github.com/refuge/rbeacon https://github.com/refuge/rbeacon LAN discovery and presence in Erlang. rebar https://github.com/rebar/rebar3 http://www.rebar3.org Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases. +rebus https://github.com/olle/rebus https://github.com/olle/rebus A stupid simple, internal, pub/sub event bus written in- and for Erlang. rec2json https://github.com/lordnull/rec2json https://github.com/lordnull/rec2json Compile erlang record definitions into modules to convert them to/from json easily. recon https://github.com/ferd/recon https://github.com/ferd/recon Collection of functions and scripts to debug Erlang in production. record_info https://github.com/bipthelin/erlang-record_info https://github.com/bipthelin/erlang-record_info Convert between record and proplist @@ -310,10 +361,12 @@ riak_pg https://github.com/cmeiklejohn/riak_pg https://github.com/cmeiklejohn/ri riak_pipe https://github.com/basho/riak_pipe https://github.com/basho/riak_pipe Riak Pipelines riakpool https://github.com/dweldon/riakpool https://github.com/dweldon/riakpool erlang riak client pool riak_sysmon https://github.com/basho/riak_sysmon https://github.com/basho/riak_sysmon Simple OTP app for managing Erlang VM system_monitor event messages +riak_test https://github.com/basho/riak_test https://github.com/basho/riak_test I'm in your cluster, testing your riaks rivus_cep https://github.com/vascokk/rivus_cep https://github.com/vascokk/rivus_cep Complex event processing in Erlang rlimit https://github.com/jlouis/rlimit https://github.com/jlouis/rlimit Magnus Klaar's rate limiter code from etorrent safetyvalve https://github.com/jlouis/safetyvalve https://github.com/jlouis/safetyvalve A safety valve for your erlang node seestar https://github.com/iamaleksey/seestar https://github.com/iamaleksey/seestar The Erlang client for Cassandra 1.2+ binary protocol +service https://github.com/CloudI/service http://cloudi.org/ A minimal Erlang behavior for creating CloudI internal services setup https://github.com/uwiger/setup https://github.com/uwiger/setup Generic setup utility for Erlang-based systems sext https://github.com/uwiger/sext https://github.com/uwiger/sext Sortable Erlang Term Serialization sfmt https://github.com/jj1bdx/sfmt-erlang https://github.com/jj1bdx/sfmt-erlang SFMT pseudo random number generator for Erlang. @@ -327,6 +380,7 @@ simhash https://github.com/ferd/simhash https://github.com/ferd/simhash Simhashi simple_bridge https://github.com/nitrogen/simple_bridge https://github.com/nitrogen/simple_bridge A simple, standardized interface library to Erlang HTTP Servers. simple_oauth2 https://github.com/virtan/simple_oauth2 https://github.com/virtan/simple_oauth2 Simple erlang OAuth2 client module for any http server framework (Google, Facebook, Yandex, Vkontakte are preconfigured) skel https://github.com/ParaPhrase/skel https://github.com/ParaPhrase/skel A Streaming Process-based Skeleton Library for Erlang +smother https://github.com/ramsay-t/Smother https://ramsay-t.github.io/Smother/ Extended code coverage metrics for Erlang. social https://github.com/dvv/social https://github.com/dvv/social Cowboy handler for social login via OAuth2 providers spapi_router https://github.com/spilgames/spapi-router https://github.com/spilgames/spapi-router Partially-connected Erlang clustering sqerl https://github.com/hairyhum/sqerl https://github.com/hairyhum/sqerl An Erlang-flavoured SQL DSL @@ -340,6 +394,7 @@ statsderl https://github.com/lpgauth/statsderl https://github.com/lpgauth/statsd stdinout_pool https://github.com/mattsta/erlang-stdinout-pool https://github.com/mattsta/erlang-stdinout-pool stdinout_pool : stuff goes in, stuff goes out. there's never any miscommunication. stockdb https://github.com/maxlapshin/stockdb https://github.com/maxlapshin/stockdb Database for storing Stock Exchange quotes in erlang stripe https://github.com/mattsta/stripe-erlang https://github.com/mattsta/stripe-erlang Erlang interface to the stripe.com API +surrogate https://github.com/skruger/Surrogate https://github.com/skruger/Surrogate Proxy server written in erlang. Supports reverse proxy load balancing and forward proxy with http (including CONNECT), socks4, socks5, and transparent proxy modes. swab https://github.com/crownedgrouse/swab https://github.com/crownedgrouse/swab General purpose buffer handling module swarm https://github.com/jeremey/swarm https://github.com/jeremey/swarm Fast and simple acceptor pool for Erlang switchboard https://github.com/thusfresh/switchboard https://github.com/thusfresh/switchboard A framework for processing email using worker plugins. @@ -352,11 +407,11 @@ tempo https://github.com/selectel/tempo https://github.com/selectel/tempo NIF-ba ticktick https://github.com/ericliang/ticktick https://github.com/ericliang/ticktick Ticktick is an id generator for message service. tinymq https://github.com/ChicagoBoss/tinymq https://github.com/ChicagoBoss/tinymq TinyMQ - a diminutive, in-memory message queue tinymt https://github.com/jj1bdx/tinymt-erlang https://github.com/jj1bdx/tinymt-erlang TinyMT pseudo random number generator for Erlang. +traffic_tools https://github.com/systra/traffic_tools https://github.com/systra/traffic_tools Simple traffic limiting library trane https://github.com/massemanet/trane https://github.com/massemanet/trane SAX style broken HTML parser in Erlang transit https://github.com/isaiah/transit-erlang https://github.com/isaiah/transit-erlang transit format for erlang trie https://github.com/okeuday/trie https://github.com/okeuday/trie Erlang Trie Implementation triq https://github.com/krestenkrab/triq https://github.com/krestenkrab/triq Trifork QuickCheck -tsung https://github.com/processone/tsung https://github.com/processone/tsung Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc. tunctl https://github.com/msantos/tunctl https://github.com/msantos/tunctl Erlang TUN/TAP interface twerl https://github.com/lucaspiller/twerl https://github.com/lucaspiller/twerl Erlang client for the Twitter Streaming API twitter_erlang https://github.com/ngerakines/erlang_twitter https://github.com/ngerakines/erlang_twitter An Erlang twitter client @@ -366,6 +421,14 @@ unsplit https://github.com/uwiger/unsplit https://github.com/uwiger/unsplit Reso uuid https://github.com/okeuday/uuid https://github.com/okeuday/uuid Erlang UUID Implementation ux https://github.com/erlang-unicode/ux https://github.com/erlang-unicode/ux Unicode eXtention for Erlang (Strings, Collation) vert https://github.com/msantos/erlang-libvirt https://github.com/msantos/erlang-libvirt Erlang binding to libvirt virtualization API +verx https://github.com/msantos/verx https://github.com/msantos/verx Erlang implementation of the libvirtd remote protocol +vmq_acl https://github.com/erlio/vmq_acl https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_bridge https://github.com/erlio/vmq_bridge https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_graphite https://github.com/erlio/vmq_graphite https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_passwd https://github.com/erlio/vmq_passwd https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_server https://github.com/erlio/vmq_server https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_snmp https://github.com/erlio/vmq_snmp https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_systree https://github.com/erlio/vmq_systree https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker vmstats https://github.com/ferd/vmstats https://github.com/ferd/vmstats tiny Erlang app that works in conjunction with statsderl in order to generate information on the Erlang VM for graphite logs. walrus https://github.com/devinus/walrus https://github.com/devinus/walrus Walrus - Mustache-like Templating webmachine https://github.com/basho/webmachine https://github.com/basho/webmachine A REST-based system for building web applications. @@ -373,6 +436,7 @@ websocket_client https://github.com/jeremyong/websocket_client https://github.co worker_pool https://github.com/inaka/worker_pool https://github.com/inaka/worker_pool a simple erlang worker pool wrangler https://github.com/RefactoringTools/wrangler http://www.cs.kent.ac.uk/projects/wrangler/Home.html Import of the Wrangler svn repository. wsock https://github.com/madtrick/wsock https://github.com/madtrick/wsock Erlang library to build WebSocket clients and servers +xhttpc https://github.com/seriyps/xhttpc https://github.com/seriyps/xhttpc Extensible HTTP Client for Erlang xref_runner https://github.com/inaka/xref_runner https://github.com/inaka/xref_runner Erlang Xref Runner (inspired in rebar xref) yamerl https://github.com/yakaz/yamerl https://github.com/yakaz/yamerl YAML 1.2 parser in pure Erlang yamler https://github.com/goertzenator/yamler https://github.com/goertzenator/yamler libyaml-based yaml loader for Erlang @@ -381,4 +445,5 @@ zab_engine https://github.com/xinmingyao/zab_engine https://github.com/xinmingya zeta https://github.com/s1n4/zeta https://github.com/s1n4/zeta HTTP access log parser in Erlang zippers https://github.com/ferd/zippers https://github.com/ferd/zippers A library for functional zipper data structures in Erlang. Read more on zippers zlists https://github.com/vjache/erlang-zlists https://github.com/vjache/erlang-zlists Erlang lazy lists library. +zraft_lib https://github.com/dreyk/zraft_lib https://github.com/dreyk/zraft_lib Erlang raft consensus protocol implementation zucchini https://github.com/devinus/zucchini https://github.com/devinus/zucchini An Erlang INI parser diff --git a/packages.v1.txt b/packages.v1.txt index 428fa3d..34ba933 100644 --- a/packages.v1.txt +++ b/packages.v1.txt @@ -1,12 +1,16 @@ aberth https://github.com/a13x/aberth https://github.com/a13x/aberth Generic BERT-RPC server in Erlang active https://github.com/proger/active https://github.com/proger/active Active development for Erlang: rebuild and reload source/binary files while the VM is running aleppo https://github.com/ErlyORM/aleppo https://github.com/ErlyORM/aleppo Alternative Erlang Pre-Processor +alog https://github.com/siberian-fast-food/alogger https://github.com/siberian-fast-food/alogger Simply the best logging framework for Erlang annotations https://github.com/hyperthunk/annotations https://github.com/hyperthunk/annotations Simple code instrumentation utilities +antidote https://github.com/SyncFree/antidote https://syncfree.lip6.fr/ Large-scale computation without synchronisation apns https://github.com/inaka/apns4erl http://inaka.github.com/apns4erl Apple Push Notification Server for Erlang azdht https://github.com/arcusfelis/azdht https://github.com/arcusfelis/azdht Azureus Distributed Hash Table (DHT) in Erlang backoff https://github.com/ferd/backoff https://github.com/ferd/backoff Simple exponential backoffs in Erlang barrel https://github.com/benoitc/barrel https://github.com/benoitc/barrel barrel is a generic TCP acceptor pool with low latency in Erlang. basho_bench https://github.com/basho/basho_bench https://github.com/basho/basho_bench A load-generation and testing tool for basically whatever you can write a returning Erlang function for. +bcrypt https://github.com/riverrun/branglecrypt https://github.com/riverrun/branglecrypt Bcrypt Erlang / C library +beam https://github.com/tonyrog/beam https://github.com/tonyrog/beam BEAM emulator written in Erlang beanstalk https://github.com/tim/erlang-beanstalk https://github.com/tim/erlang-beanstalk An Erlang client for beanstalkd bear https://github.com/boundary/bear https://github.com/boundary/bear a set of statistics functions for erlang bertconf https://github.com/ferd/bertconf https://github.com/ferd/bertconf Make ETS tables out of statc BERT files that are auto-reloaded @@ -23,14 +27,40 @@ bullet https://github.com/extend/bullet http://ninenines.eu Simple, reliable, ef cache https://github.com/fogfish/cache https://github.com/fogfish/cache Erlang in-memory cache cake https://github.com/darach/cake-erl https://github.com/darach/cake-erl Really simple terminal colorization carotene https://github.com/carotene/carotene https://github.com/carotene/carotene Real-time server +cberl https://github.com/chitika/cberl https://github.com/chitika/cberl NIF based Erlang bindings for Couchbase cecho https://github.com/mazenharake/cecho https://github.com/mazenharake/cecho An ncurses library for Erlang cferl https://github.com/ddossot/cferl https://github.com/ddossot/cferl Rackspace / Open Stack Cloud Files Erlang Client chaos_monkey https://github.com/dLuna/chaos_monkey https://github.com/dLuna/chaos_monkey This is The CHAOS MONKEY. It will kill your processes. +check_node https://github.com/basho-labs/riak_nagios https://github.com/basho-labs/riak_nagios Nagios Scripts for monitoring Riak chronos https://github.com/lehoff/chronos https://github.com/lehoff/chronos Timer module for Erlang that makes it easy to abstact time out of the tests. classifier https://github.com/inaka/classifier https://github.com/inaka/classifier An Erlang Bayesian Filter and Text Classifier clique https://github.com/basho/clique https://github.com/basho/clique CLI Framework for Erlang +cloudi_core https://github.com/CloudI/cloudi_core http://cloudi.org/ CloudI internal service runtime +cloudi_service_api_requests https://github.com/CloudI/cloudi_service_api_requests http://cloudi.org/ CloudI Service API requests (JSON-RPC/Erlang-term support) +cloudi_service_db_cassandra_cql https://github.com/CloudI/cloudi_service_db_cassandra_cql http://cloudi.org/ Cassandra CQL CloudI Service +cloudi_service_db_cassandra https://github.com/CloudI/cloudi_service_db_cassandra http://cloudi.org/ Cassandra CloudI Service +cloudi_service_db_couchdb https://github.com/CloudI/cloudi_service_db_couchdb http://cloudi.org/ CouchDB CloudI Service +cloudi_service_db_elasticsearch https://github.com/CloudI/cloudi_service_db_elasticsearch http://cloudi.org/ elasticsearch CloudI Service +cloudi_service_db https://github.com/CloudI/cloudi_service_db http://cloudi.org/ CloudI Database (in-memory/testing/generic) +cloudi_service_db_memcached https://github.com/CloudI/cloudi_service_db_memcached http://cloudi.org/ memcached CloudI Service +cloudi_service_db_mysql https://github.com/CloudI/cloudi_service_db_mysql http://cloudi.org/ MySQL CloudI Service +cloudi_service_db_riak https://github.com/CloudI/cloudi_service_db_riak http://cloudi.org/ Riak CloudI Service +cloudi_service_db_tokyotyrant https://github.com/CloudI/cloudi_service_db_tokyotyrant http://cloudi.org/ Tokyo Tyrant CloudI Service +cloudi_service_filesystem https://github.com/CloudI/cloudi_service_filesystem http://cloudi.org/ Filesystem CloudI Service +cloudi_service_http_client https://github.com/CloudI/cloudi_service_http_client http://cloudi.org/ HTTP client CloudI Service +cloudi_service_http_cowboy https://github.com/CloudI/cloudi_service_http_cowboy http://cloudi.org/ cowboy HTTP/HTTPS CloudI Service +cloudi_service_http_elli https://github.com/CloudI/cloudi_service_http_elli http://cloudi.org/ elli HTTP CloudI Service +cloudi_service_map_reduce https://github.com/CloudI/cloudi_service_map_reduce http://cloudi.org/ Map/Reduce CloudI Service +cloudi_service_queue https://github.com/CloudI/cloudi_service_queue http://cloudi.org/ Persistent Queue Service +cloudi_service_quorum https://github.com/CloudI/cloudi_service_quorum http://cloudi.org/ CloudI Quorum Service +cloudi_service_router https://github.com/CloudI/cloudi_service_router http://cloudi.org/ CloudI Router Service +cloudi_service_tcp https://github.com/CloudI/cloudi_service_tcp http://cloudi.org/ TCP CloudI Service +cloudi_service_timers https://github.com/CloudI/cloudi_service_timers http://cloudi.org/ Timers CloudI Service +cloudi_service_udp https://github.com/CloudI/cloudi_service_udp http://cloudi.org/ UDP CloudI Service +cloudi_service_validate https://github.com/CloudI/cloudi_service_validate http://cloudi.org/ CloudI Validate Service +cloudi_service_zeromq https://github.com/CloudI/cloudi_service_zeromq http://cloudi.org/ ZeroMQ CloudI Service cluster_info https://github.com/basho/cluster_info https://github.com/basho/cluster_info Fork of Hibari's nifty cluster_info OTP app -concuerror https://github.com/parapluu/Concuerror http://www.concuerror.com/ Concuerror is a systematic testing tool for concurrent Erlang programs +color https://github.com/julianduque/erlang-color https://github.com/julianduque/erlang-color ANSI colors for your Erlang confetti https://github.com/jtendo/confetti https://github.com/jtendo/confetti Erlang configuration provider / application:get_env/2 on steroids couchbeam https://github.com/benoitc/couchbeam https://github.com/benoitc/couchbeam Apache CouchDB client in Erlang couch https://github.com/benoitc/opencouch https://github.com/benoitc/opencouch A embeddable document oriented database compatible with Apache CouchDB @@ -64,12 +94,14 @@ edate https://github.com/dweldon/edate https://github.com/dweldon/edate date man edgar https://github.com/crownedgrouse/edgar https://github.com/crownedgrouse/edgar Erlang Does GNU AR edis https://github.com/inaka/edis http://inaka.github.com/edis/ An Erlang implementation of Redis KV Store edns https://github.com/hcvst/erlang-dns https://github.com/hcvst/erlang-dns Erlang/OTP DNS server +edown https://github.com/uwiger/edown https://github.com/uwiger/edown EDoc extension for generating Github-flavored Markdown eep_app https://github.com/darach/eep-erl https://github.com/darach/eep-erl Embedded Event Processing eep https://github.com/virtan/eep https://github.com/virtan/eep Erlang Easy Profiling (eep) application provides a way to analyze application performance and call hierarchy efene https://github.com/efene/efene https://github.com/efene/efene Alternative syntax for the Erlang Programming Language focusing on simplicity, ease of use and programmer UX eganglia https://github.com/inaka/eganglia https://github.com/inaka/eganglia Erlang library to interact with Ganglia egeoip https://github.com/mochi/egeoip https://github.com/mochi/egeoip Erlang IP Geolocation module, currently supporting the MaxMind GeoLite City Database. ehsa https://bitbucket.org/a12n/ehsa https://bitbucket.org/a12n/ehsa Erlang HTTP server basic and digest authentication modules +ejabberd https://github.com/processone/ejabberd https://github.com/processone/ejabberd Robust, ubiquitous and massively scalable Jabber / XMPP Instant Messaging platform ej https://github.com/seth/ej https://github.com/seth/ej Helper module for working with Erlang terms representing JSON ekaf https://github.com/helpshift/ekaf https://github.com/helpshift/ekaf A minimal, high-performance Kafka client in Erlang. elarm https://github.com/esl/elarm https://github.com/esl/elarm Alarm Manager for Erlang. @@ -87,8 +119,10 @@ episcina https://github.com/erlware/episcina https://github.com/erlware/episcina eplot https://github.com/psyeugenic/eplot https://github.com/psyeugenic/eplot A plot engine written in erlang. epocxy https://github.com/duomark/epocxy https://github.com/duomark/epocxy Erlang Patterns of Concurrency epubnub https://github.com/tsloughter/epubnub https://github.com/tsloughter/epubnub Erlang PubNub API +eqm https://github.com/loucash/eqm https://github.com/loucash/eqm Erlang pub sub with supply-demand channels eredis https://github.com/wooga/eredis https://github.com/wooga/eredis Erlang Redis client eredis_pool https://github.com/hiroeorz/eredis_pool https://github.com/hiroeorz/eredis_pool eredis_pool is Pool of Redis clients, using eredis and poolboy. +erlang_cep https://github.com/danmacklin/erlang_cep https://github.com/danmacklin/erlang_cep A basic CEP package written in erlang erlang_js https://github.com/basho/erlang_js https://github.com/basho/erlang_js A linked-in driver for Erlang to Mozilla's Spidermonkey Javascript runtime. erlang_localtime https://github.com/dmitryme/erlang_localtime https://github.com/dmitryme/erlang_localtime Erlang library for conversion from one local time to another erlang_smtp https://github.com/tonyg/erlang-smtp https://github.com/tonyg/erlang-smtp Erlang SMTP and POP3 server code. @@ -105,9 +139,11 @@ erlfsmon https://github.com/proger/erlfsmon https://github.com/proger/erlfsmon E erlgit https://github.com/gleber/erlgit https://github.com/gleber/erlgit Erlang convenience wrapper around git executable erlguten https://github.com/richcarl/erlguten https://github.com/richcarl/erlguten ErlGuten is a system for high-quality typesetting, written purely in Erlang. erlmc https://github.com/jkvor/erlmc https://github.com/jkvor/erlmc Erlang memcached binary protocol client +erlmongo https://github.com/SergejJurecko/erlmongo https://github.com/SergejJurecko/erlmongo Record based Erlang driver for MongoDB with gridfs support erlog https://github.com/rvirding/erlog https://github.com/rvirding/erlog Prolog interpreter in and for Erlang erlpass https://github.com/ferd/erlpass https://github.com/ferd/erlpass A library to handle password hashing and changing in a safe manner, independent from any kind of storage whatsoever. erlport https://github.com/hdima/erlport https://github.com/hdima/erlport ErlPort - connect Erlang to other languages +erlsha2 https://github.com/vinoski/erlsha2 https://github.com/vinoski/erlsha2 SHA-224, SHA-256, SHA-384, SHA-512 implemented in Erlang NIFs. erlsh https://github.com/proger/erlsh https://github.com/proger/erlsh Erlang shell tools erlsom https://github.com/willemdj/erlsom https://github.com/willemdj/erlsom XML parser for Erlang erl_streams https://github.com/epappas/erl_streams https://github.com/epappas/erl_streams Streams in Erlang @@ -127,9 +163,9 @@ etoml https://github.com/kalta/etoml https://github.com/kalta/etoml TOML languag eunit_formatters https://github.com/seancribbs/eunit_formatters https://github.com/seancribbs/eunit_formatters Because eunit's output sucks. Let's make it better. eunit https://github.com/richcarl/eunit https://github.com/richcarl/eunit The EUnit lightweight unit testing framework for Erlang - this is the canonical development repository. euthanasia https://github.com/doubleyou/euthanasia https://github.com/doubleyou/euthanasia Merciful killer for your Erlang processes +evum https://github.com/msantos/evum https://github.com/msantos/evum Spawn Linux VMs as Erlang processes in the Erlang VM exec https://github.com/saleyn/erlexec http://saleyn.github.com/erlexec Execute and control OS processes from Erlang/OTP. exml https://github.com/paulgray/exml https://github.com/paulgray/exml XML parsing library in Erlang -exmpp https://github.com/processone/exmpp https://github.com/processone/exmpp Erlang XMPP library exometer https://github.com/Feuerlabs/exometer https://github.com/Feuerlabs/exometer Basic measurement objects and probe behavior exs1024 https://github.com/jj1bdx/exs1024 https://github.com/jj1bdx/exs1024 Xorshift1024star pseudo random number generator for Erlang. exs64 https://github.com/jj1bdx/exs64 https://github.com/jj1bdx/exs64 Xorshift64star pseudo random number generator for Erlang. @@ -150,6 +186,7 @@ fuse https://github.com/jlouis/fuse https://github.com/jlouis/fuse A Circuit Bre gcm https://github.com/pdincau/gcm-erlang https://github.com/pdincau/gcm-erlang An Erlang application for Google Cloud Messaging gcprof https://github.com/knutin/gcprof https://github.com/knutin/gcprof Garbage Collection profiler for Erlang geas https://github.com/crownedgrouse/geas https://github.com/crownedgrouse/geas Guess Erlang Application Scattering +geef https://github.com/carlosmn/geef https://github.com/carlosmn/geef Git NEEEEF (Erlang NIF) gen_cycle https://github.com/aerosol/gen_cycle https://github.com/aerosol/gen_cycle Simple, generic OTP behaviour for recurring tasks gen_icmp https://github.com/msantos/gen_icmp https://github.com/msantos/gen_icmp Erlang interface to ICMP sockets gen_nb_server https://github.com/kevsmith/gen_nb_server https://github.com/kevsmith/gen_nb_server OTP behavior for writing non-blocking servers @@ -159,20 +196,23 @@ gen_tracker https://github.com/erlyvideo/gen_tracker https://github.com/erlyvide gen_unix https://github.com/msantos/gen_unix https://github.com/msantos/gen_unix Erlang Unix socket interface getopt https://github.com/jcomellas/getopt https://github.com/jcomellas/getopt Module to parse command line arguments using the GNU getopt syntax gettext https://github.com/etnt/gettext https://github.com/etnt/gettext Erlang internationalization library. +giallo https://github.com/kivra/giallo https://github.com/kivra/giallo Small and flexible web framework on top of Cowboy gin https://github.com/mad-cocktail/gin https://github.com/mad-cocktail/gin The guards and for Erlang parse_transform gitty https://github.com/maxlapshin/gitty https://github.com/maxlapshin/gitty Git access in erlang +gold_fever https://github.com/inaka/gold_fever https://github.com/inaka/gold_fever A Treasure Hunt for Erlangers +gossiperl https://github.com/gossiperl/gossiperl http://gossiperl.com/ Gossip middleware in Erlang gpb https://github.com/tomas-abrahamsson/gpb https://github.com/tomas-abrahamsson/gpb A Google Protobuf implementation for Erlang gproc https://github.com/uwiger/gproc https://github.com/uwiger/gproc Extended process registry for Erlang grapherl https://github.com/eproxus/grapherl https://github.com/eproxus/grapherl Create graphs of Erlang systems and programs gun https://github.com/ninenines/gun http//ninenines.eu Asynchronous SPDY, HTTP and Websocket client written in Erlang. hackney https://github.com/benoitc/hackney https://github.com/benoitc/hackney simple HTTP client in Erlang +hamcrest https://github.com/hyperthunk/hamcrest-erlang https://github.com/hyperthunk/hamcrest-erlang Erlang port of Hamcrest hanoidb https://github.com/krestenkrab/hanoidb https://github.com/krestenkrab/hanoidb Erlang LSM BTree Storage hottub https://github.com/bfrog/hottub https://github.com/bfrog/hottub Permanent Erlang Worker Pool hyper https://github.com/GameAnalytics/hyper https://github.com/GameAnalytics/hyper Erlang implementation of HyperLogLog ibrowse https://github.com/cmullaparthi/ibrowse https://github.com/cmullaparthi/ibrowse Erlang HTTP client ierlang https://github.com/robbielynch/ierlang https://github.com/robbielynch/ierlang An Erlang language kernel for IPython. iota https://github.com/jpgneves/iota https://github.com/jpgneves/iota iota (Inter-dependency Objective Testing Apparatus) - a tool to enforce clean separation of responsibilities in Erlang code -ircbot https://github.com/gdamjan/erlang-irc-bot https://github.com/gdamjan/erlang-irc-bot A simple extendable irc bot in Erlang ircd https://github.com/tonyg/erlang-ircd https://github.com/tonyg/erlang-ircd A pluggable IRC daemon application/library for Erlang. irc_lib https://github.com/OtpChatBot/irc_lib https://github.com/OtpChatBot/irc_lib Erlang irc client library iris https://github.com/project-iris/iris-erl https://github.com/project-iris/iris-erl Iris Erlang binding @@ -194,6 +234,7 @@ kafka https://github.com/wooga/kafka-erlang https://github.com/wooga/kafka-erlan kai https://github.com/synrc/kai https://github.com/synrc/kai DHT storage by Takeshi Inoue katja https://github.com/nifoc/katja https://github.com/nifoc/katja A simple Riemann client written in Erlang. kdht https://github.com/kevinlynx/kdht https://github.com/kevinlynx/kdht kdht is an erlang DHT implementation +kinetic https://github.com/AdRoll/kinetic https://github.com/AdRoll/kinetic Erlang Kinesis Client kjell https://github.com/karlll/kjell https://github.com/karlll/kjell Erlang Shell kraken https://github.com/Asana/kraken https://github.com/Asana/kraken Distributed Pubsub Server for Realtime Apps kucumberl https://github.com/openshine/kucumberl https://github.com/openshine/kucumberl A pure-erlang, open-source, implementation of Cucumber @@ -204,6 +245,7 @@ lager_amqp_backend https://github.com/jbrisbin/lager_amqp_backend https://github lager https://github.com/basho/lager https://github.com/basho/lager A logging framework for Erlang/OTP. lager_syslog https://github.com/basho/lager_syslog https://github.com/basho/lager_syslog Syslog backend for lager lambdapad https://github.com/gar1t/lambdapad https://github.com/gar1t/lambdapad Static site generator using Erlang. Yes, Erlang. +lasp https://github.com/lasp-lang/lasp http://lasp-lang.org/ A Language for Distributed, Eventually Consistent Computations lasse https://github.com/inaka/lasse https://github.com/inaka/lasse SSE handler for Cowboy ldap https://github.com/spawnproc/ldap https://github.com/spawnproc/ldap LDAP server written in Erlang lethink https://github.com/taybin/lethink https://github.com/taybin/lethink erlang driver for rethinkdb @@ -218,13 +260,16 @@ lol https://github.com/b0oh/lol https://github.com/b0oh/lol Lisp on erLang, and lucid https://github.com/tatsuhiro-t/lucid https://github.com/tatsuhiro-t/lucid HTTP/2 server written in Erlang luerl https://github.com/rvirding/luerl https://github.com/rvirding/luerl Lua in Erlang luwak https://github.com/basho/luwak https://github.com/basho/luwak Large-object storage interface for Riak +lux https://github.com/hawk/lux https://github.com/hawk/lux Lux (LUcid eXpect scripting) simplifies test automation and provides an Expect-style execution of commands mad https://github.com/synrc/mad https://github.com/synrc/mad Small and Fast Rebar Replacement +marina https://github.com/lpgauth/marina https://github.com/lpgauth/marina Non-blocking Erlang Cassandra CQL3 client mavg https://github.com/EchoTeam/mavg https://github.com/EchoTeam/mavg Erlang :: Exponential moving average library mcd https://github.com/EchoTeam/mcd https://github.com/EchoTeam/mcd Fast memcached protocol client in pure Erlang mcerlang https://github.com/fredlund/McErlang https://github.com/fredlund/McErlang The McErlang model checker for Erlang mc_erl https://github.com/clonejo/mc-erl https://github.com/clonejo/mc-erl mc-erl is a server for Minecraft 1.4.7 written in Erlang. meck https://github.com/eproxus/meck https://github.com/eproxus/meck A mocking library for Erlang mekao https://github.com/ddosia/mekao https://github.com/ddosia/mekao SQL constructor +memo https://github.com/tuncer/memo https://github.com/tuncer/memo Erlang memoization server merge_index https://github.com/basho/merge_index https://github.com/basho/merge_index MergeIndex is an Erlang library for storing ordered sets on disk. It is very similar to an SSTable (in Google's Bigtable) or an HFile (in Hadoop). merl https://github.com/richcarl/merl https://github.com/richcarl/merl Metaprogramming in Erlang mimetypes https://github.com/spawngrid/mimetypes https://github.com/spawngrid/mimetypes Erlang MIME types library @@ -237,6 +282,7 @@ mongodb https://github.com/comtihon/mongodb-erlang https://github.com/comtihon/m mongooseim https://github.com/esl/MongooseIM https://www.erlang-solutions.com/products/mongooseim-massively-scalable-ejabberd-platform Jabber / XMPP server with focus on performance and scalability, by Erlang Solutions moyo https://github.com/dwango/moyo https://github.com/dwango/moyo Erlang utility functions library msgpack https://github.com/msgpack/msgpack-erlang https://github.com/msgpack/msgpack-erlang MessagePack (de)serializer implementation for Erlang +mu2 https://github.com/ramsay-t/mu2 https://github.com/ramsay-t/mu2 Erlang mutation testing tool mustache https://github.com/mojombo/mustache.erl https://github.com/mojombo/mustache.erl Mustache template engine for Erlang. myproto https://github.com/altenwald/myproto https://github.com/altenwald/myproto MySQL Server Protocol in Erlang mysql https://github.com/dizzyd/erlang-mysql-driver https://github.com/dizzyd/erlang-mysql-driver Erlang MySQL Driver (from code.google.com) @@ -246,9 +292,12 @@ neo4j https://github.com/dmitriid/neo4j-erlang https://github.com/dmitriid/neo4j neotoma https://github.com/seancribbs/neotoma https://github.com/seancribbs/neotoma Erlang library and packrat parser-generator for parsing expression grammars. newrelic https://github.com/wooga/newrelic-erlang https://github.com/wooga/newrelic-erlang Erlang library for sending metrics to New Relic nifty https://github.com/parapluu/nifty https://github.com/parapluu/nifty Erlang NIF wrapper generator +nitrogen_core https://github.com/nitrogen/nitrogen_core http://nitrogenproject.com/ The core Nitrogen library. +nkbase https://github.com/Nekso/nkbase https://github.com/Nekso/nkbase NkBASE distributed database nkdocker https://github.com/Nekso/nkdocker https://github.com/Nekso/nkdocker Erlang Docker client nkpacket https://github.com/Nekso/nkpacket https://github.com/Nekso/nkpacket Generic Erlang transport layer nodefinder https://github.com/okeuday/nodefinder https://github.com/erlanger/nodefinder automatic node discovery via UDP multicast +nprocreg https://github.com/nitrogen/nprocreg http://nitrogenproject.com/ Minimal Distributed Erlang Process Registry oauth2c https://github.com/kivra/oauth2_client https://github.com/kivra/oauth2_client Erlang OAuth2 Client oauth2 https://github.com/kivra/oauth2 https://github.com/kivra/oauth2 Erlang Oauth2 implementation oauth https://github.com/tim/erlang-oauth https://github.com/tim/erlang-oauth An Erlang OAuth 1.0 implementation @@ -271,6 +320,7 @@ pobox https://github.com/ferd/pobox https://github.com/ferd/pobox External buffe ponos https://github.com/klarna/ponos https://github.com/klarna/ponos ponos is a simple yet powerful load generator written in erlang poolboy https://github.com/devinus/poolboy https://github.com/devinus/poolboy A hunky Erlang worker pool factory pooler https://github.com/seth/pooler https://github.com/seth/pooler An OTP Process Pool Application +poxa https://github.com/edgurgel/poxa-erlang https://github.com/edgurgel/poxa-erlang Open Pusher server implementation compatible with Pusher libraries. pqueue https://github.com/okeuday/pqueue https://github.com/okeuday/pqueue Erlang Priority Queues procket https://github.com/msantos/procket http://blog.listincomprehension.com/search/label/procket Erlang interface to low level socket operations proper https://github.com/manopapad/proper http://proper.softlab.ntua.gr PropEr: a QuickCheck-inspired property-based testing tool for Erlang. @@ -290,6 +340,7 @@ rafter https://github.com/andrewjstone/rafter https://github.com/andrewjstone/ra ranch https://github.com/ninenines/ranch http://ninenines.eu Socket acceptor pool for TCP protocols. rbeacon https://github.com/refuge/rbeacon https://github.com/refuge/rbeacon LAN discovery and presence in Erlang. rebar https://github.com/rebar/rebar3 http://www.rebar3.org Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases. +rebus https://github.com/olle/rebus https://github.com/olle/rebus A stupid simple, internal, pub/sub event bus written in- and for Erlang. rec2json https://github.com/lordnull/rec2json https://github.com/lordnull/rec2json Compile erlang record definitions into modules to convert them to/from json easily. recon https://github.com/ferd/recon https://github.com/ferd/recon Collection of functions and scripts to debug Erlang in production. record_info https://github.com/bipthelin/erlang-record_info https://github.com/bipthelin/erlang-record_info Convert between record and proplist @@ -310,10 +361,12 @@ riak_pg https://github.com/cmeiklejohn/riak_pg https://github.com/cmeiklejohn/ri riak_pipe https://github.com/basho/riak_pipe https://github.com/basho/riak_pipe Riak Pipelines riakpool https://github.com/dweldon/riakpool https://github.com/dweldon/riakpool erlang riak client pool riak_sysmon https://github.com/basho/riak_sysmon https://github.com/basho/riak_sysmon Simple OTP app for managing Erlang VM system_monitor event messages +riak_test https://github.com/basho/riak_test https://github.com/basho/riak_test I'm in your cluster, testing your riaks rivus_cep https://github.com/vascokk/rivus_cep https://github.com/vascokk/rivus_cep Complex event processing in Erlang rlimit https://github.com/jlouis/rlimit https://github.com/jlouis/rlimit Magnus Klaar's rate limiter code from etorrent safetyvalve https://github.com/jlouis/safetyvalve https://github.com/jlouis/safetyvalve A safety valve for your erlang node seestar https://github.com/iamaleksey/seestar https://github.com/iamaleksey/seestar The Erlang client for Cassandra 1.2+ binary protocol +service https://github.com/CloudI/service http://cloudi.org/ A minimal Erlang behavior for creating CloudI internal services setup https://github.com/uwiger/setup https://github.com/uwiger/setup Generic setup utility for Erlang-based systems sext https://github.com/uwiger/sext https://github.com/uwiger/sext Sortable Erlang Term Serialization sfmt https://github.com/jj1bdx/sfmt-erlang https://github.com/jj1bdx/sfmt-erlang SFMT pseudo random number generator for Erlang. @@ -327,6 +380,7 @@ simhash https://github.com/ferd/simhash https://github.com/ferd/simhash Simhashi simple_bridge https://github.com/nitrogen/simple_bridge https://github.com/nitrogen/simple_bridge A simple, standardized interface library to Erlang HTTP Servers. simple_oauth2 https://github.com/virtan/simple_oauth2 https://github.com/virtan/simple_oauth2 Simple erlang OAuth2 client module for any http server framework (Google, Facebook, Yandex, Vkontakte are preconfigured) skel https://github.com/ParaPhrase/skel https://github.com/ParaPhrase/skel A Streaming Process-based Skeleton Library for Erlang +smother https://github.com/ramsay-t/Smother https://ramsay-t.github.io/Smother/ Extended code coverage metrics for Erlang. social https://github.com/dvv/social https://github.com/dvv/social Cowboy handler for social login via OAuth2 providers spapi_router https://github.com/spilgames/spapi-router https://github.com/spilgames/spapi-router Partially-connected Erlang clustering sqerl https://github.com/hairyhum/sqerl https://github.com/hairyhum/sqerl An Erlang-flavoured SQL DSL @@ -340,6 +394,7 @@ statsderl https://github.com/lpgauth/statsderl https://github.com/lpgauth/statsd stdinout_pool https://github.com/mattsta/erlang-stdinout-pool https://github.com/mattsta/erlang-stdinout-pool stdinout_pool : stuff goes in, stuff goes out. there's never any miscommunication. stockdb https://github.com/maxlapshin/stockdb https://github.com/maxlapshin/stockdb Database for storing Stock Exchange quotes in erlang stripe https://github.com/mattsta/stripe-erlang https://github.com/mattsta/stripe-erlang Erlang interface to the stripe.com API +surrogate https://github.com/skruger/Surrogate https://github.com/skruger/Surrogate Proxy server written in erlang. Supports reverse proxy load balancing and forward proxy with http (including CONNECT), socks4, socks5, and transparent proxy modes. swab https://github.com/crownedgrouse/swab https://github.com/crownedgrouse/swab General purpose buffer handling module swarm https://github.com/jeremey/swarm https://github.com/jeremey/swarm Fast and simple acceptor pool for Erlang switchboard https://github.com/thusfresh/switchboard https://github.com/thusfresh/switchboard A framework for processing email using worker plugins. @@ -352,11 +407,11 @@ tempo https://github.com/selectel/tempo https://github.com/selectel/tempo NIF-ba ticktick https://github.com/ericliang/ticktick https://github.com/ericliang/ticktick Ticktick is an id generator for message service. tinymq https://github.com/ChicagoBoss/tinymq https://github.com/ChicagoBoss/tinymq TinyMQ - a diminutive, in-memory message queue tinymt https://github.com/jj1bdx/tinymt-erlang https://github.com/jj1bdx/tinymt-erlang TinyMT pseudo random number generator for Erlang. +traffic_tools https://github.com/systra/traffic_tools https://github.com/systra/traffic_tools Simple traffic limiting library trane https://github.com/massemanet/trane https://github.com/massemanet/trane SAX style broken HTML parser in Erlang transit https://github.com/isaiah/transit-erlang https://github.com/isaiah/transit-erlang transit format for erlang trie https://github.com/okeuday/trie https://github.com/okeuday/trie Erlang Trie Implementation triq https://github.com/krestenkrab/triq https://github.com/krestenkrab/triq Trifork QuickCheck -tsung https://github.com/processone/tsung https://github.com/processone/tsung Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc. tunctl https://github.com/msantos/tunctl https://github.com/msantos/tunctl Erlang TUN/TAP interface twerl https://github.com/lucaspiller/twerl https://github.com/lucaspiller/twerl Erlang client for the Twitter Streaming API twitter_erlang https://github.com/ngerakines/erlang_twitter https://github.com/ngerakines/erlang_twitter An Erlang twitter client @@ -366,6 +421,14 @@ unsplit https://github.com/uwiger/unsplit https://github.com/uwiger/unsplit Reso uuid https://github.com/okeuday/uuid https://github.com/okeuday/uuid Erlang UUID Implementation ux https://github.com/erlang-unicode/ux https://github.com/erlang-unicode/ux Unicode eXtention for Erlang (Strings, Collation) vert https://github.com/msantos/erlang-libvirt https://github.com/msantos/erlang-libvirt Erlang binding to libvirt virtualization API +verx https://github.com/msantos/verx https://github.com/msantos/verx Erlang implementation of the libvirtd remote protocol +vmq_acl https://github.com/erlio/vmq_acl https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_bridge https://github.com/erlio/vmq_bridge https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_graphite https://github.com/erlio/vmq_graphite https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_passwd https://github.com/erlio/vmq_passwd https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_server https://github.com/erlio/vmq_server https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_snmp https://github.com/erlio/vmq_snmp https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_systree https://github.com/erlio/vmq_systree https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker vmstats https://github.com/ferd/vmstats https://github.com/ferd/vmstats tiny Erlang app that works in conjunction with statsderl in order to generate information on the Erlang VM for graphite logs. walrus https://github.com/devinus/walrus https://github.com/devinus/walrus Walrus - Mustache-like Templating webmachine https://github.com/basho/webmachine https://github.com/basho/webmachine A REST-based system for building web applications. @@ -373,6 +436,7 @@ websocket_client https://github.com/jeremyong/websocket_client https://github.co worker_pool https://github.com/inaka/worker_pool https://github.com/inaka/worker_pool a simple erlang worker pool wrangler https://github.com/RefactoringTools/wrangler http://www.cs.kent.ac.uk/projects/wrangler/Home.html Import of the Wrangler svn repository. wsock https://github.com/madtrick/wsock https://github.com/madtrick/wsock Erlang library to build WebSocket clients and servers +xhttpc https://github.com/seriyps/xhttpc https://github.com/seriyps/xhttpc Extensible HTTP Client for Erlang xref_runner https://github.com/inaka/xref_runner https://github.com/inaka/xref_runner Erlang Xref Runner (inspired in rebar xref) yamerl https://github.com/yakaz/yamerl https://github.com/yakaz/yamerl YAML 1.2 parser in pure Erlang yamler https://github.com/goertzenator/yamler https://github.com/goertzenator/yamler libyaml-based yaml loader for Erlang @@ -381,4 +445,5 @@ zab_engine https://github.com/xinmingyao/zab_engine https://github.com/xinmingya zeta https://github.com/s1n4/zeta https://github.com/s1n4/zeta HTTP access log parser in Erlang zippers https://github.com/ferd/zippers https://github.com/ferd/zippers A library for functional zipper data structures in Erlang. Read more on zippers zlists https://github.com/vjache/erlang-zlists https://github.com/vjache/erlang-zlists Erlang lazy lists library. +zraft_lib https://github.com/dreyk/zraft_lib https://github.com/dreyk/zraft_lib Erlang raft consensus protocol implementation zucchini https://github.com/devinus/zucchini https://github.com/devinus/zucchini An Erlang INI parser diff --git a/packages.v2.tsv b/packages.v2.tsv index 473df31..e3f4fd3 100644 --- a/packages.v2.tsv +++ b/packages.v2.tsv @@ -1,12 +1,16 @@ aberth git https://github.com/a13x/aberth master https://github.com/a13x/aberth Generic BERT-RPC server in Erlang active git https://github.com/proger/active master https://github.com/proger/active Active development for Erlang: rebuild and reload source/binary files while the VM is running aleppo git https://github.com/ErlyORM/aleppo master https://github.com/ErlyORM/aleppo Alternative Erlang Pre-Processor +alog git https://github.com/siberian-fast-food/alogger master https://github.com/siberian-fast-food/alogger Simply the best logging framework for Erlang annotations git https://github.com/hyperthunk/annotations master https://github.com/hyperthunk/annotations Simple code instrumentation utilities +antidote git https://github.com/SyncFree/antidote master https://syncfree.lip6.fr/ Large-scale computation without synchronisation apns git https://github.com/inaka/apns4erl 1.0.4 http://inaka.github.com/apns4erl Apple Push Notification Server for Erlang azdht git https://github.com/arcusfelis/azdht master https://github.com/arcusfelis/azdht Azureus Distributed Hash Table (DHT) in Erlang backoff git https://github.com/ferd/backoff master https://github.com/ferd/backoff Simple exponential backoffs in Erlang barrel git https://github.com/benoitc/barrel master https://github.com/benoitc/barrel barrel is a generic TCP acceptor pool with low latency in Erlang. basho_bench git https://github.com/basho/basho_bench master https://github.com/basho/basho_bench A load-generation and testing tool for basically whatever you can write a returning Erlang function for. +bcrypt git https://github.com/riverrun/branglecrypt master https://github.com/riverrun/branglecrypt Bcrypt Erlang / C library +beam git https://github.com/tonyrog/beam master https://github.com/tonyrog/beam BEAM emulator written in Erlang beanstalk git https://github.com/tim/erlang-beanstalk master https://github.com/tim/erlang-beanstalk An Erlang client for beanstalkd bear git https://github.com/boundary/bear master https://github.com/boundary/bear a set of statistics functions for erlang bertconf git https://github.com/ferd/bertconf master https://github.com/ferd/bertconf Make ETS tables out of statc BERT files that are auto-reloaded @@ -23,14 +27,40 @@ bullet git https://github.com/extend/bullet master http://ninenines.eu Simple, r cache git https://github.com/fogfish/cache master https://github.com/fogfish/cache Erlang in-memory cache cake git https://github.com/darach/cake-erl v0.1.2 https://github.com/darach/cake-erl Really simple terminal colorization carotene git https://github.com/carotene/carotene master https://github.com/carotene/carotene Real-time server +cberl git https://github.com/chitika/cberl master https://github.com/chitika/cberl NIF based Erlang bindings for Couchbase cecho git https://github.com/mazenharake/cecho master https://github.com/mazenharake/cecho An ncurses library for Erlang cferl git https://github.com/ddossot/cferl master https://github.com/ddossot/cferl Rackspace / Open Stack Cloud Files Erlang Client chaos_monkey git https://github.com/dLuna/chaos_monkey master https://github.com/dLuna/chaos_monkey This is The CHAOS MONKEY. It will kill your processes. +check_node git https://github.com/basho-labs/riak_nagios master https://github.com/basho-labs/riak_nagios Nagios Scripts for monitoring Riak chronos git https://github.com/lehoff/chronos master https://github.com/lehoff/chronos Timer module for Erlang that makes it easy to abstact time out of the tests. classifier git https://github.com/inaka/classifier master https://github.com/inaka/classifier An Erlang Bayesian Filter and Text Classifier clique git https://github.com/basho/clique develop https://github.com/basho/clique CLI Framework for Erlang +cloudi_core git https://github.com/CloudI/cloudi_core master http://cloudi.org/ CloudI internal service runtime +cloudi_service_api_requests git https://github.com/CloudI/cloudi_service_api_requests master http://cloudi.org/ CloudI Service API requests (JSON-RPC/Erlang-term support) +cloudi_service_db_cassandra_cql git https://github.com/CloudI/cloudi_service_db_cassandra_cql master http://cloudi.org/ Cassandra CQL CloudI Service +cloudi_service_db_cassandra git https://github.com/CloudI/cloudi_service_db_cassandra master http://cloudi.org/ Cassandra CloudI Service +cloudi_service_db_couchdb git https://github.com/CloudI/cloudi_service_db_couchdb master http://cloudi.org/ CouchDB CloudI Service +cloudi_service_db_elasticsearch git https://github.com/CloudI/cloudi_service_db_elasticsearch master http://cloudi.org/ elasticsearch CloudI Service +cloudi_service_db git https://github.com/CloudI/cloudi_service_db master http://cloudi.org/ CloudI Database (in-memory/testing/generic) +cloudi_service_db_memcached git https://github.com/CloudI/cloudi_service_db_memcached master http://cloudi.org/ memcached CloudI Service +cloudi_service_db_mysql git https://github.com/CloudI/cloudi_service_db_mysql master http://cloudi.org/ MySQL CloudI Service +cloudi_service_db_riak git https://github.com/CloudI/cloudi_service_db_riak master http://cloudi.org/ Riak CloudI Service +cloudi_service_db_tokyotyrant git https://github.com/CloudI/cloudi_service_db_tokyotyrant master http://cloudi.org/ Tokyo Tyrant CloudI Service +cloudi_service_filesystem git https://github.com/CloudI/cloudi_service_filesystem master http://cloudi.org/ Filesystem CloudI Service +cloudi_service_http_client git https://github.com/CloudI/cloudi_service_http_client master http://cloudi.org/ HTTP client CloudI Service +cloudi_service_http_cowboy git https://github.com/CloudI/cloudi_service_http_cowboy master http://cloudi.org/ cowboy HTTP/HTTPS CloudI Service +cloudi_service_http_elli git https://github.com/CloudI/cloudi_service_http_elli master http://cloudi.org/ elli HTTP CloudI Service +cloudi_service_map_reduce git https://github.com/CloudI/cloudi_service_map_reduce master http://cloudi.org/ Map/Reduce CloudI Service +cloudi_service_queue git https://github.com/CloudI/cloudi_service_queue master http://cloudi.org/ Persistent Queue Service +cloudi_service_quorum git https://github.com/CloudI/cloudi_service_quorum master http://cloudi.org/ CloudI Quorum Service +cloudi_service_router git https://github.com/CloudI/cloudi_service_router master http://cloudi.org/ CloudI Router Service +cloudi_service_tcp git https://github.com/CloudI/cloudi_service_tcp master http://cloudi.org/ TCP CloudI Service +cloudi_service_timers git https://github.com/CloudI/cloudi_service_timers master http://cloudi.org/ Timers CloudI Service +cloudi_service_udp git https://github.com/CloudI/cloudi_service_udp master http://cloudi.org/ UDP CloudI Service +cloudi_service_validate git https://github.com/CloudI/cloudi_service_validate master http://cloudi.org/ CloudI Validate Service +cloudi_service_zeromq git https://github.com/CloudI/cloudi_service_zeromq master http://cloudi.org/ ZeroMQ CloudI Service cluster_info git https://github.com/basho/cluster_info master https://github.com/basho/cluster_info Fork of Hibari's nifty cluster_info OTP app -concuerror git https://github.com/parapluu/Concuerror master http://www.concuerror.com/ Concuerror is a systematic testing tool for concurrent Erlang programs +color git https://github.com/julianduque/erlang-color master https://github.com/julianduque/erlang-color ANSI colors for your Erlang confetti git https://github.com/jtendo/confetti master https://github.com/jtendo/confetti Erlang configuration provider / application:get_env/2 on steroids couchbeam git https://github.com/benoitc/couchbeam master https://github.com/benoitc/couchbeam Apache CouchDB client in Erlang couch git https://github.com/benoitc/opencouch master https://github.com/benoitc/opencouch A embeddable document oriented database compatible with Apache CouchDB @@ -64,12 +94,14 @@ edate git https://github.com/dweldon/edate master https://github.com/dweldon/eda edgar git https://github.com/crownedgrouse/edgar master https://github.com/crownedgrouse/edgar Erlang Does GNU AR edis git https://github.com/inaka/edis master http://inaka.github.com/edis/ An Erlang implementation of Redis KV Store edns git https://github.com/hcvst/erlang-dns master https://github.com/hcvst/erlang-dns Erlang/OTP DNS server +edown git https://github.com/uwiger/edown master https://github.com/uwiger/edown EDoc extension for generating Github-flavored Markdown eep_app git https://github.com/darach/eep-erl master https://github.com/darach/eep-erl Embedded Event Processing eep git https://github.com/virtan/eep master https://github.com/virtan/eep Erlang Easy Profiling (eep) application provides a way to analyze application performance and call hierarchy efene git https://github.com/efene/efene master https://github.com/efene/efene Alternative syntax for the Erlang Programming Language focusing on simplicity, ease of use and programmer UX eganglia git https://github.com/inaka/eganglia v0.9.1 https://github.com/inaka/eganglia Erlang library to interact with Ganglia egeoip git https://github.com/mochi/egeoip master https://github.com/mochi/egeoip Erlang IP Geolocation module, currently supporting the MaxMind GeoLite City Database. ehsa hg https://bitbucket.org/a12n/ehsa 2.0.4 https://bitbucket.org/a12n/ehsa Erlang HTTP server basic and digest authentication modules +ejabberd git https://github.com/processone/ejabberd master https://github.com/processone/ejabberd Robust, ubiquitous and massively scalable Jabber / XMPP Instant Messaging platform ej git https://github.com/seth/ej master https://github.com/seth/ej Helper module for working with Erlang terms representing JSON ekaf git https://github.com/helpshift/ekaf master https://github.com/helpshift/ekaf A minimal, high-performance Kafka client in Erlang. elarm git https://github.com/esl/elarm master https://github.com/esl/elarm Alarm Manager for Erlang. @@ -87,8 +119,10 @@ episcina git https://github.com/erlware/episcina master https://github.com/erlwa eplot git https://github.com/psyeugenic/eplot master https://github.com/psyeugenic/eplot A plot engine written in erlang. epocxy git https://github.com/duomark/epocxy master https://github.com/duomark/epocxy Erlang Patterns of Concurrency epubnub git https://github.com/tsloughter/epubnub master https://github.com/tsloughter/epubnub Erlang PubNub API +eqm git https://github.com/loucash/eqm master https://github.com/loucash/eqm Erlang pub sub with supply-demand channels eredis git https://github.com/wooga/eredis master https://github.com/wooga/eredis Erlang Redis client eredis_pool git https://github.com/hiroeorz/eredis_pool master https://github.com/hiroeorz/eredis_pool eredis_pool is Pool of Redis clients, using eredis and poolboy. +erlang_cep git https://github.com/danmacklin/erlang_cep master https://github.com/danmacklin/erlang_cep A basic CEP package written in erlang erlang_js git https://github.com/basho/erlang_js master https://github.com/basho/erlang_js A linked-in driver for Erlang to Mozilla's Spidermonkey Javascript runtime. erlang_localtime git https://github.com/dmitryme/erlang_localtime master https://github.com/dmitryme/erlang_localtime Erlang library for conversion from one local time to another erlang_smtp git https://github.com/tonyg/erlang-smtp master https://github.com/tonyg/erlang-smtp Erlang SMTP and POP3 server code. @@ -105,9 +139,11 @@ erlfsmon git https://github.com/proger/erlfsmon master https://github.com/proger erlgit git https://github.com/gleber/erlgit master https://github.com/gleber/erlgit Erlang convenience wrapper around git executable erlguten git https://github.com/richcarl/erlguten master https://github.com/richcarl/erlguten ErlGuten is a system for high-quality typesetting, written purely in Erlang. erlmc git https://github.com/jkvor/erlmc master https://github.com/jkvor/erlmc Erlang memcached binary protocol client +erlmongo git https://github.com/SergejJurecko/erlmongo master https://github.com/SergejJurecko/erlmongo Record based Erlang driver for MongoDB with gridfs support erlog git https://github.com/rvirding/erlog master https://github.com/rvirding/erlog Prolog interpreter in and for Erlang erlpass git https://github.com/ferd/erlpass master https://github.com/ferd/erlpass A library to handle password hashing and changing in a safe manner, independent from any kind of storage whatsoever. erlport git https://github.com/hdima/erlport master https://github.com/hdima/erlport ErlPort - connect Erlang to other languages +erlsha2 git https://github.com/vinoski/erlsha2 master https://github.com/vinoski/erlsha2 SHA-224, SHA-256, SHA-384, SHA-512 implemented in Erlang NIFs. erlsh git https://github.com/proger/erlsh master https://github.com/proger/erlsh Erlang shell tools erlsom git https://github.com/willemdj/erlsom master https://github.com/willemdj/erlsom XML parser for Erlang erl_streams git https://github.com/epappas/erl_streams master https://github.com/epappas/erl_streams Streams in Erlang @@ -127,9 +163,9 @@ etoml git https://github.com/kalta/etoml master https://github.com/kalta/etoml T eunit_formatters git https://github.com/seancribbs/eunit_formatters master https://github.com/seancribbs/eunit_formatters Because eunit's output sucks. Let's make it better. eunit git https://github.com/richcarl/eunit master https://github.com/richcarl/eunit The EUnit lightweight unit testing framework for Erlang - this is the canonical development repository. euthanasia git https://github.com/doubleyou/euthanasia master https://github.com/doubleyou/euthanasia Merciful killer for your Erlang processes +evum git https://github.com/msantos/evum master https://github.com/msantos/evum Spawn Linux VMs as Erlang processes in the Erlang VM exec git https://github.com/saleyn/erlexec master http://saleyn.github.com/erlexec Execute and control OS processes from Erlang/OTP. exml git https://github.com/paulgray/exml master https://github.com/paulgray/exml XML parsing library in Erlang -exmpp git https://github.com/processone/exmpp master https://github.com/processone/exmpp Erlang XMPP library exometer git https://github.com/Feuerlabs/exometer 1.2 https://github.com/Feuerlabs/exometer Basic measurement objects and probe behavior exs1024 git https://github.com/jj1bdx/exs1024 master https://github.com/jj1bdx/exs1024 Xorshift1024star pseudo random number generator for Erlang. exs64 git https://github.com/jj1bdx/exs64 master https://github.com/jj1bdx/exs64 Xorshift64star pseudo random number generator for Erlang. @@ -150,6 +186,7 @@ fuse git https://github.com/jlouis/fuse master https://github.com/jlouis/fuse A gcm git https://github.com/pdincau/gcm-erlang master https://github.com/pdincau/gcm-erlang An Erlang application for Google Cloud Messaging gcprof git https://github.com/knutin/gcprof master https://github.com/knutin/gcprof Garbage Collection profiler for Erlang geas git https://github.com/crownedgrouse/geas master https://github.com/crownedgrouse/geas Guess Erlang Application Scattering +geef git https://github.com/carlosmn/geef master https://github.com/carlosmn/geef Git NEEEEF (Erlang NIF) gen_cycle git https://github.com/aerosol/gen_cycle develop https://github.com/aerosol/gen_cycle Simple, generic OTP behaviour for recurring tasks gen_icmp git https://github.com/msantos/gen_icmp master https://github.com/msantos/gen_icmp Erlang interface to ICMP sockets gen_nb_server git https://github.com/kevsmith/gen_nb_server master https://github.com/kevsmith/gen_nb_server OTP behavior for writing non-blocking servers @@ -159,20 +196,23 @@ gen_tracker git https://github.com/erlyvideo/gen_tracker master https://github.c gen_unix git https://github.com/msantos/gen_unix master https://github.com/msantos/gen_unix Erlang Unix socket interface getopt git https://github.com/jcomellas/getopt master https://github.com/jcomellas/getopt Module to parse command line arguments using the GNU getopt syntax gettext git https://github.com/etnt/gettext master https://github.com/etnt/gettext Erlang internationalization library. +giallo git https://github.com/kivra/giallo master https://github.com/kivra/giallo Small and flexible web framework on top of Cowboy gin git https://github.com/mad-cocktail/gin master https://github.com/mad-cocktail/gin The guards and for Erlang parse_transform gitty git https://github.com/maxlapshin/gitty master https://github.com/maxlapshin/gitty Git access in erlang +gold_fever git https://github.com/inaka/gold_fever master https://github.com/inaka/gold_fever A Treasure Hunt for Erlangers +gossiperl git https://github.com/gossiperl/gossiperl master http://gossiperl.com/ Gossip middleware in Erlang gpb git https://github.com/tomas-abrahamsson/gpb master https://github.com/tomas-abrahamsson/gpb A Google Protobuf implementation for Erlang gproc git https://github.com/uwiger/gproc master https://github.com/uwiger/gproc Extended process registry for Erlang grapherl git https://github.com/eproxus/grapherl master https://github.com/eproxus/grapherl Create graphs of Erlang systems and programs gun git https://github.com/ninenines/gun master http//ninenines.eu Asynchronous SPDY, HTTP and Websocket client written in Erlang. hackney git https://github.com/benoitc/hackney master https://github.com/benoitc/hackney simple HTTP client in Erlang +hamcrest git https://github.com/hyperthunk/hamcrest-erlang master https://github.com/hyperthunk/hamcrest-erlang Erlang port of Hamcrest hanoidb git https://github.com/krestenkrab/hanoidb master https://github.com/krestenkrab/hanoidb Erlang LSM BTree Storage hottub git https://github.com/bfrog/hottub master https://github.com/bfrog/hottub Permanent Erlang Worker Pool hyper git https://github.com/GameAnalytics/hyper master https://github.com/GameAnalytics/hyper Erlang implementation of HyperLogLog ibrowse git https://github.com/cmullaparthi/ibrowse v4.1.1 https://github.com/cmullaparthi/ibrowse Erlang HTTP client ierlang git https://github.com/robbielynch/ierlang master https://github.com/robbielynch/ierlang An Erlang language kernel for IPython. iota git https://github.com/jpgneves/iota master https://github.com/jpgneves/iota iota (Inter-dependency Objective Testing Apparatus) - a tool to enforce clean separation of responsibilities in Erlang code -ircbot git https://github.com/gdamjan/erlang-irc-bot master https://github.com/gdamjan/erlang-irc-bot A simple extendable irc bot in Erlang ircd git https://github.com/tonyg/erlang-ircd master https://github.com/tonyg/erlang-ircd A pluggable IRC daemon application/library for Erlang. irc_lib git https://github.com/OtpChatBot/irc_lib master https://github.com/OtpChatBot/irc_lib Erlang irc client library iris git https://github.com/project-iris/iris-erl master https://github.com/project-iris/iris-erl Iris Erlang binding @@ -194,6 +234,7 @@ kafka git https://github.com/wooga/kafka-erlang master https://github.com/wooga/ kai git https://github.com/synrc/kai master https://github.com/synrc/kai DHT storage by Takeshi Inoue katja git https://github.com/nifoc/katja master https://github.com/nifoc/katja A simple Riemann client written in Erlang. kdht git https://github.com/kevinlynx/kdht master https://github.com/kevinlynx/kdht kdht is an erlang DHT implementation +kinetic git https://github.com/AdRoll/kinetic master https://github.com/AdRoll/kinetic Erlang Kinesis Client kjell git https://github.com/karlll/kjell master https://github.com/karlll/kjell Erlang Shell kraken git https://github.com/Asana/kraken master https://github.com/Asana/kraken Distributed Pubsub Server for Realtime Apps kucumberl git https://github.com/openshine/kucumberl master https://github.com/openshine/kucumberl A pure-erlang, open-source, implementation of Cucumber @@ -204,6 +245,7 @@ lager_amqp_backend git https://github.com/jbrisbin/lager_amqp_backend master htt lager git https://github.com/basho/lager master https://github.com/basho/lager A logging framework for Erlang/OTP. lager_syslog git https://github.com/basho/lager_syslog master https://github.com/basho/lager_syslog Syslog backend for lager lambdapad git https://github.com/gar1t/lambdapad master https://github.com/gar1t/lambdapad Static site generator using Erlang. Yes, Erlang. +lasp git https://github.com/lasp-lang/lasp master http://lasp-lang.org/ A Language for Distributed, Eventually Consistent Computations lasse git https://github.com/inaka/lasse 0.1.0 https://github.com/inaka/lasse SSE handler for Cowboy ldap git https://github.com/spawnproc/ldap master https://github.com/spawnproc/ldap LDAP server written in Erlang lethink git https://github.com/taybin/lethink master https://github.com/taybin/lethink erlang driver for rethinkdb @@ -216,15 +258,18 @@ locks git https://github.com/uwiger/locks master https://github.com/uwiger/locks log4erl git https://github.com/ahmednawras/log4erl master https://github.com/ahmednawras/log4erl A logger for erlang in the spirit of Log4J. lol git https://github.com/b0oh/lol master https://github.com/b0oh/lol Lisp on erLang, and programming is fun again lucid git https://github.com/tatsuhiro-t/lucid master https://github.com/tatsuhiro-t/lucid HTTP/2 server written in Erlang -luerl git https://github.com/rvirding/luerl master https://github.com/rvirding/luerl Lua in Erlang +luerl git https://github.com/rvirding/luerl develop https://github.com/rvirding/luerl Lua in Erlang luwak git https://github.com/basho/luwak master https://github.com/basho/luwak Large-object storage interface for Riak +lux git https://github.com/hawk/lux master https://github.com/hawk/lux Lux (LUcid eXpect scripting) simplifies test automation and provides an Expect-style execution of commands mad git https://github.com/synrc/mad master https://github.com/synrc/mad Small and Fast Rebar Replacement +marina git https://github.com/lpgauth/marina master https://github.com/lpgauth/marina Non-blocking Erlang Cassandra CQL3 client mavg git https://github.com/EchoTeam/mavg master https://github.com/EchoTeam/mavg Erlang :: Exponential moving average library mcd git https://github.com/EchoTeam/mcd master https://github.com/EchoTeam/mcd Fast memcached protocol client in pure Erlang mcerlang git https://github.com/fredlund/McErlang master https://github.com/fredlund/McErlang The McErlang model checker for Erlang mc_erl git https://github.com/clonejo/mc-erl master https://github.com/clonejo/mc-erl mc-erl is a server for Minecraft 1.4.7 written in Erlang. meck git https://github.com/eproxus/meck master https://github.com/eproxus/meck A mocking library for Erlang mekao git https://github.com/ddosia/mekao master https://github.com/ddosia/mekao SQL constructor +memo git https://github.com/tuncer/memo master https://github.com/tuncer/memo Erlang memoization server merge_index git https://github.com/basho/merge_index master https://github.com/basho/merge_index MergeIndex is an Erlang library for storing ordered sets on disk. It is very similar to an SSTable (in Google's Bigtable) or an HFile (in Hadoop). merl git https://github.com/richcarl/merl master https://github.com/richcarl/merl Metaprogramming in Erlang mimetypes git https://github.com/spawngrid/mimetypes master https://github.com/spawngrid/mimetypes Erlang MIME types library @@ -237,6 +282,7 @@ mongodb git https://github.com/comtihon/mongodb-erlang master https://github.com mongooseim git https://github.com/esl/MongooseIM master https://www.erlang-solutions.com/products/mongooseim-massively-scalable-ejabberd-platform Jabber / XMPP server with focus on performance and scalability, by Erlang Solutions moyo git https://github.com/dwango/moyo master https://github.com/dwango/moyo Erlang utility functions library msgpack git https://github.com/msgpack/msgpack-erlang master https://github.com/msgpack/msgpack-erlang MessagePack (de)serializer implementation for Erlang +mu2 git https://github.com/ramsay-t/mu2 master https://github.com/ramsay-t/mu2 Erlang mutation testing tool mustache git https://github.com/mojombo/mustache.erl master https://github.com/mojombo/mustache.erl Mustache template engine for Erlang. myproto git https://github.com/altenwald/myproto master https://github.com/altenwald/myproto MySQL Server Protocol in Erlang mysql git https://github.com/dizzyd/erlang-mysql-driver master https://github.com/dizzyd/erlang-mysql-driver Erlang MySQL Driver (from code.google.com) @@ -246,9 +292,12 @@ neo4j git https://github.com/dmitriid/neo4j-erlang master https://github.com/dmi neotoma git https://github.com/seancribbs/neotoma master https://github.com/seancribbs/neotoma Erlang library and packrat parser-generator for parsing expression grammars. newrelic git https://github.com/wooga/newrelic-erlang master https://github.com/wooga/newrelic-erlang Erlang library for sending metrics to New Relic nifty git https://github.com/parapluu/nifty master https://github.com/parapluu/nifty Erlang NIF wrapper generator +nitrogen_core git https://github.com/nitrogen/nitrogen_core master http://nitrogenproject.com/ The core Nitrogen library. +nkbase git https://github.com/Nekso/nkbase develop https://github.com/Nekso/nkbase NkBASE distributed database nkdocker git https://github.com/Nekso/nkdocker master https://github.com/Nekso/nkdocker Erlang Docker client nkpacket git https://github.com/Nekso/nkpacket master https://github.com/Nekso/nkpacket Generic Erlang transport layer nodefinder git https://github.com/okeuday/nodefinder master https://github.com/erlanger/nodefinder automatic node discovery via UDP multicast +nprocreg git https://github.com/nitrogen/nprocreg master http://nitrogenproject.com/ Minimal Distributed Erlang Process Registry oauth2c git https://github.com/kivra/oauth2_client master https://github.com/kivra/oauth2_client Erlang OAuth2 Client oauth2 git https://github.com/kivra/oauth2 master https://github.com/kivra/oauth2 Erlang Oauth2 implementation oauth git https://github.com/tim/erlang-oauth master https://github.com/tim/erlang-oauth An Erlang OAuth 1.0 implementation @@ -271,6 +320,7 @@ pobox git https://github.com/ferd/pobox master https://github.com/ferd/pobox Ext ponos git https://github.com/klarna/ponos master https://github.com/klarna/ponos ponos is a simple yet powerful load generator written in erlang poolboy git https://github.com/devinus/poolboy master https://github.com/devinus/poolboy A hunky Erlang worker pool factory pooler git https://github.com/seth/pooler master https://github.com/seth/pooler An OTP Process Pool Application +poxa git https://github.com/edgurgel/poxa-erlang master https://github.com/edgurgel/poxa-erlang Open Pusher server implementation compatible with Pusher libraries. pqueue git https://github.com/okeuday/pqueue master https://github.com/okeuday/pqueue Erlang Priority Queues procket git https://github.com/msantos/procket master http://blog.listincomprehension.com/search/label/procket Erlang interface to low level socket operations proper git https://github.com/manopapad/proper master http://proper.softlab.ntua.gr PropEr: a QuickCheck-inspired property-based testing tool for Erlang. @@ -290,6 +340,7 @@ rafter git https://github.com/andrewjstone/rafter master https://github.com/andr ranch git https://github.com/ninenines/ranch 1.1.0 http://ninenines.eu Socket acceptor pool for TCP protocols. rbeacon git https://github.com/refuge/rbeacon master https://github.com/refuge/rbeacon LAN discovery and presence in Erlang. rebar git https://github.com/rebar/rebar3 master http://www.rebar3.org Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases. +rebus git https://github.com/olle/rebus master https://github.com/olle/rebus A stupid simple, internal, pub/sub event bus written in- and for Erlang. rec2json git https://github.com/lordnull/rec2json master https://github.com/lordnull/rec2json Compile erlang record definitions into modules to convert them to/from json easily. recon git https://github.com/ferd/recon 2.2.1 https://github.com/ferd/recon Collection of functions and scripts to debug Erlang in production. record_info git https://github.com/bipthelin/erlang-record_info master https://github.com/bipthelin/erlang-record_info Convert between record and proplist @@ -310,10 +361,12 @@ riak_pg git https://github.com/cmeiklejohn/riak_pg master https://github.com/cme riak_pipe git https://github.com/basho/riak_pipe master https://github.com/basho/riak_pipe Riak Pipelines riakpool git https://github.com/dweldon/riakpool master https://github.com/dweldon/riakpool erlang riak client pool riak_sysmon git https://github.com/basho/riak_sysmon master https://github.com/basho/riak_sysmon Simple OTP app for managing Erlang VM system_monitor event messages +riak_test git https://github.com/basho/riak_test master https://github.com/basho/riak_test I'm in your cluster, testing your riaks rivus_cep git https://github.com/vascokk/rivus_cep master https://github.com/vascokk/rivus_cep Complex event processing in Erlang rlimit git https://github.com/jlouis/rlimit master https://github.com/jlouis/rlimit Magnus Klaar's rate limiter code from etorrent safetyvalve git https://github.com/jlouis/safetyvalve master https://github.com/jlouis/safetyvalve A safety valve for your erlang node seestar git https://github.com/iamaleksey/seestar master https://github.com/iamaleksey/seestar The Erlang client for Cassandra 1.2+ binary protocol +service git https://github.com/CloudI/service master http://cloudi.org/ A minimal Erlang behavior for creating CloudI internal services setup git https://github.com/uwiger/setup master https://github.com/uwiger/setup Generic setup utility for Erlang-based systems sext git https://github.com/uwiger/sext master https://github.com/uwiger/sext Sortable Erlang Term Serialization sfmt git https://github.com/jj1bdx/sfmt-erlang master https://github.com/jj1bdx/sfmt-erlang SFMT pseudo random number generator for Erlang. @@ -327,6 +380,7 @@ simhash git https://github.com/ferd/simhash master https://github.com/ferd/simha simple_bridge git https://github.com/nitrogen/simple_bridge master https://github.com/nitrogen/simple_bridge A simple, standardized interface library to Erlang HTTP Servers. simple_oauth2 git https://github.com/virtan/simple_oauth2 master https://github.com/virtan/simple_oauth2 Simple erlang OAuth2 client module for any http server framework (Google, Facebook, Yandex, Vkontakte are preconfigured) skel git https://github.com/ParaPhrase/skel master https://github.com/ParaPhrase/skel A Streaming Process-based Skeleton Library for Erlang +smother git https://github.com/ramsay-t/Smother master https://ramsay-t.github.io/Smother/ Extended code coverage metrics for Erlang. social git https://github.com/dvv/social master https://github.com/dvv/social Cowboy handler for social login via OAuth2 providers spapi_router git https://github.com/spilgames/spapi-router master https://github.com/spilgames/spapi-router Partially-connected Erlang clustering sqerl git https://github.com/hairyhum/sqerl master https://github.com/hairyhum/sqerl An Erlang-flavoured SQL DSL @@ -340,6 +394,7 @@ statsderl git https://github.com/lpgauth/statsderl master https://github.com/lpg stdinout_pool git https://github.com/mattsta/erlang-stdinout-pool master https://github.com/mattsta/erlang-stdinout-pool stdinout_pool : stuff goes in, stuff goes out. there's never any miscommunication. stockdb git https://github.com/maxlapshin/stockdb master https://github.com/maxlapshin/stockdb Database for storing Stock Exchange quotes in erlang stripe git https://github.com/mattsta/stripe-erlang v1 https://github.com/mattsta/stripe-erlang Erlang interface to the stripe.com API +surrogate git https://github.com/skruger/Surrogate master https://github.com/skruger/Surrogate Proxy server written in erlang. Supports reverse proxy load balancing and forward proxy with http (including CONNECT), socks4, socks5, and transparent proxy modes. swab git https://github.com/crownedgrouse/swab master https://github.com/crownedgrouse/swab General purpose buffer handling module swarm git https://github.com/jeremey/swarm master https://github.com/jeremey/swarm Fast and simple acceptor pool for Erlang switchboard git https://github.com/thusfresh/switchboard master https://github.com/thusfresh/switchboard A framework for processing email using worker plugins. @@ -352,11 +407,11 @@ tempo git https://github.com/selectel/tempo master https://github.com/selectel/t ticktick git https://github.com/ericliang/ticktick master https://github.com/ericliang/ticktick Ticktick is an id generator for message service. tinymq git https://github.com/ChicagoBoss/tinymq master https://github.com/ChicagoBoss/tinymq TinyMQ - a diminutive, in-memory message queue tinymt git https://github.com/jj1bdx/tinymt-erlang master https://github.com/jj1bdx/tinymt-erlang TinyMT pseudo random number generator for Erlang. +traffic_tools git https://github.com/systra/traffic_tools master https://github.com/systra/traffic_tools Simple traffic limiting library trane git https://github.com/massemanet/trane master https://github.com/massemanet/trane SAX style broken HTML parser in Erlang transit git https://github.com/isaiah/transit-erlang master https://github.com/isaiah/transit-erlang transit format for erlang trie git https://github.com/okeuday/trie master https://github.com/okeuday/trie Erlang Trie Implementation triq git https://github.com/krestenkrab/triq master https://github.com/krestenkrab/triq Trifork QuickCheck -tsung git https://github.com/processone/tsung master https://github.com/processone/tsung Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc. tunctl git https://github.com/msantos/tunctl master https://github.com/msantos/tunctl Erlang TUN/TAP interface twerl git https://github.com/lucaspiller/twerl oauth https://github.com/lucaspiller/twerl Erlang client for the Twitter Streaming API twitter_erlang git https://github.com/ngerakines/erlang_twitter master https://github.com/ngerakines/erlang_twitter An Erlang twitter client @@ -366,6 +421,14 @@ unsplit git https://github.com/uwiger/unsplit master https://github.com/uwiger/u uuid git https://github.com/okeuday/uuid v1.4.0 https://github.com/okeuday/uuid Erlang UUID Implementation ux git https://github.com/erlang-unicode/ux master https://github.com/erlang-unicode/ux Unicode eXtention for Erlang (Strings, Collation) vert git https://github.com/msantos/erlang-libvirt master https://github.com/msantos/erlang-libvirt Erlang binding to libvirt virtualization API +verx git https://github.com/msantos/verx master https://github.com/msantos/verx Erlang implementation of the libvirtd remote protocol +vmq_acl git https://github.com/erlio/vmq_acl master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_bridge git https://github.com/erlio/vmq_bridge master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_graphite git https://github.com/erlio/vmq_graphite master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_passwd git https://github.com/erlio/vmq_passwd master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_server git https://github.com/erlio/vmq_server master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_snmp git https://github.com/erlio/vmq_snmp master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker +vmq_systree git https://github.com/erlio/vmq_systree master https://verne.mq/ Component of VerneMQ: A distributed MQTT message broker vmstats git https://github.com/ferd/vmstats master https://github.com/ferd/vmstats tiny Erlang app that works in conjunction with statsderl in order to generate information on the Erlang VM for graphite logs. walrus git https://github.com/devinus/walrus master https://github.com/devinus/walrus Walrus - Mustache-like Templating webmachine git https://github.com/basho/webmachine master https://github.com/basho/webmachine A REST-based system for building web applications. @@ -373,6 +436,7 @@ websocket_client git https://github.com/jeremyong/websocket_client master https: worker_pool git https://github.com/inaka/worker_pool 1.0.2 https://github.com/inaka/worker_pool a simple erlang worker pool wrangler git https://github.com/RefactoringTools/wrangler master http://www.cs.kent.ac.uk/projects/wrangler/Home.html Import of the Wrangler svn repository. wsock git https://github.com/madtrick/wsock master https://github.com/madtrick/wsock Erlang library to build WebSocket clients and servers +xhttpc git https://github.com/seriyps/xhttpc master https://github.com/seriyps/xhttpc Extensible HTTP Client for Erlang xref_runner git https://github.com/inaka/xref_runner 0.2.0 https://github.com/inaka/xref_runner Erlang Xref Runner (inspired in rebar xref) yamerl git https://github.com/yakaz/yamerl master https://github.com/yakaz/yamerl YAML 1.2 parser in pure Erlang yamler git https://github.com/goertzenator/yamler master https://github.com/goertzenator/yamler libyaml-based yaml loader for Erlang @@ -381,4 +445,5 @@ zab_engine git https://github.com/xinmingyao/zab_engine master https://github.co zeta git https://github.com/s1n4/zeta https://github.com/s1n4/zeta HTTP access log parser in Erlang zippers git https://github.com/ferd/zippers master https://github.com/ferd/zippers A library for functional zipper data structures in Erlang. Read more on zippers zlists git https://github.com/vjache/erlang-zlists master https://github.com/vjache/erlang-zlists Erlang lazy lists library. +zraft_lib git https://github.com/dreyk/zraft_lib master https://github.com/dreyk/zraft_lib Erlang raft consensus protocol implementation zucchini git https://github.com/devinus/zucchini master https://github.com/devinus/zucchini An Erlang INI parser diff --git a/plugins/xref.mk b/plugins/xref.mk index b6e4d92..10a005e 100644 --- a/plugins/xref.mk +++ b/plugins/xref.mk @@ -1,4 +1,4 @@ -# Copyright (c) 2015, Euen Lopez <[email protected]> +# Copyright (c) 2015, Erlang Solutions Ltd. # This file is part of erlang.mk and subject to the terms of the ISC License. .PHONY: xref distclean-xref @@ -14,7 +14,7 @@ endif XREFR ?= $(CURDIR)/xrefr export XREFR -XREFR_URL ?= https://github.com/inaka/xref_runner/releases/download/0.2.0/xrefr +XREFR_URL ?= https://github.com/inaka/xref_runner/releases/download/0.2.2/xrefr # Core targets. diff --git a/test/Makefile b/test/Makefile index dcc51b5..f298113 100644 --- a/test/Makefile +++ b/test/Makefile @@ -48,7 +48,7 @@ all: clean app ct eunit tests-cover docs pkgs $i '+---------------------+' clean: - $t rm -rf app1 $(ERLANG_MK_TMP) + $t rm -rf app1 pkgs.log $(ERLANG_MK_TMP) app: app1 $i "app: Testing the 'app' target." @@ -233,37 +233,49 @@ pkg-$(1): pkg-$(1)-clean pkg-$(1)-app1 "include erlang.mk" \ > app1/Makefile cp ../packages.v2.tsv app1/.erlang.mk.packages.v2 - $t $(MAKE) -C app1 - $t $(MAKE) -C app1 - @if [ "$(1)" = "rack" ]; then \ - echo "Skipping erl_crash.dump detection check for package $(1)..."; \ + $t \ + $(MAKE) -C app1; if [ $$$$? -ne 0 ]; then \ + echo "$(1): make error" >> pkgs.log; \ else \ - if [ `find -type f -name erl_crash.dump` ]; then exit 33; fi \ - fi - @if [ "$(1)" = "tsung" ]; then \ - echo "Skipping module loading check for package $(1)..."; \ - else \ - erl +A0 -noinput -boot start_clean -pa app1/deps/*/ebin -eval " \ - Apps = [list_to_atom(App) || \"app1/deps/\" ++ App <- filelib:wildcard(\"app1/deps/*\")], \ - [begin \ - io:format(\"Loading application ~p~n\", [App]), \ - case application:load(App) of \ - {error, _} -> ok; \ - ok -> \ - {ok, Mods} = application:get_key(App, modules), \ - [try io:format(\" Loading module ~p~n\", [Mod]), \ - {module, Mod} = code:load_file(Mod) \ - catch C:R -> timer:sleep(500), erlang:C(R) \ - end || Mod <- Mods] \ - end \ - end || App <- Apps], \ - halt()."; \ + $(MAKE) -C app1; if [ $$$$? -ne 0 ]; then \ + echo "$(1): re-make error" >> pkgs.log; \ + else \ + find . -type f -name erl_crash.dump; if [ $$$$? -ne 0 ]; then \ + echo "$(1): erl_crash.dump found" >> pkgs.log; \ + else \ + erl +A0 -noinput -boot start_clean -pa app1/deps/*/ebin -eval " \ + Apps = [list_to_atom(App) || \"app1/deps/\" ++ App \ + <- filelib:wildcard(\"app1/deps/*\")], \ + [begin \ + io:format(\"Loading application ~p~n\", [App]), \ + case application:load(App) of \ + {error, _} -> ok; \ + ok -> \ + {ok, Mods} = application:get_key(App, modules), \ + [try io:format(\" Loading module ~p~n\", [Mod]), \ + {module, Mod} = code:load_file(Mod) \ + catch C:R -> timer:sleep(500), erlang:C(R) \ + end || Mod <- Mods] \ + end \ + end || App <- Apps], \ + halt()."; if [ $$$$? -ne 0 ]; then \ + echo "$(1): load error" >> pkgs.log; \ + fi \ + fi \ + fi \ fi endef $(foreach pkg,$(shell awk '{print $$1}' ../packages.v2.tsv),$(eval $(call pkg_test_target,$(pkg)))) pkgs: $(foreach pkg,$(shell awk '{print $$1}' ../packages.v2.tsv),pkg-$(pkg)) + @if [ -f pkgs.log ]; then \ + echo "+-------------------------------+"; \ + echo "| ERRORS WHILE TESTING PACKAGES |"; \ + echo "+-------------------------------+"; \ + cat pkgs.log; \ + exit 33; \ + fi # Test application used for testing. app1: |