diff --git a/doc/erlang-users-guide.xml b/doc/erlang-users-guide.xml new file mode 100644 index 000000000000..778d6e709b14 --- /dev/null +++ b/doc/erlang-users-guide.xml @@ -0,0 +1,288 @@ + + +User's Guide to the Erlang Infrastructure + +
+ How to install Erlang packages + + Erlang packages are not registered in the top level simply because + they are not relevant to the vast majority of Nix users. They are + installable using the erlangPackages attribute set. + + You can list the avialable packages in the + erlangPackages with the following command: + + + +$ nix-env -f "<nixpkgs>" -qaP -A erlangPackages +erlangPackages.esqlite esqlite-0.2.1 +erlangPackages.goldrush goldrush-0.1.7 +erlangPackages.ibrowse ibrowse-4.2.2 +erlangPackages.jiffy jiffy-0.14.5 +erlangPackages.lager lager-3.0.2 +erlangPackages.meck meck-0.8.3 +erlangPackages.rebar3-pc pc-1.1.0 + + + To install any of those packages into your profile, refer to them by + their attribute path (first column): + + +$ nix-env -f "<nixpkgs>" -iA erlangPackages.ibrowse + + + The attribute path of any Erlang packages corresponds to the name + of that particular package in Hex or its OTP Application/Release name. + +
+
+ Packaging Erlang Applications +
+ Rebar3 Packages + + There is a Nix functional called + buildRebar3. We use this function to make a + derivation that understands how to build the rebar3 project. For + example, the epression we use to build the hex2nix + project follows. + + +{stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }: + +buildRebar3 rec { + name = "hex2nix"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "ericbmerritt"; + repo = "hex2nix"; + rev = "${version}"; + sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg"; + }; + + erlangDeps = [ ibrowse jsx erlware_commons ]; +} + + + The only visible difference between this derivation and + something like stdenv.mkDerivation is that we + have added erlangDeps to the derivation. If + you add your Erlang dependencies here they will be correctly + handled by the system. + + + If your package needs to compile native code via Rebar's port + compilation mechenism. You should add compilePort = + true; to the derivation. + +
+ +
+ Hex Packages + + Hex packages are based on Rebar packages. In fact, at the moment + we can only compile Hex packages that are buildable with + Rebar3. Packages that use Mix and other build systems are not + supported. That being said, we know a lot more about Hex and can + do more for you. + + +{ buildHex }: + buildHex { + name = "esqlite"; + version = "0.2.1"; + sha256 = "1296fn1lz4lz4zqzn4dwc3flgkh0i6n4sydg501faabfbv8d3wkr"; + compilePort = true; +} + + + For Hex packages you need to provide the name, the version, and + the Sha 256 digest of the package and use + buildHex to build it. Obviously, the package + needs to have already been published to Hex. + +
+
+
+ How to develop +
+ Accessing an Environment + + Often, all you want to do is be able to access a valid + environment that contains a specific package and its + dependencies. we can do that with the env + part of a derivation. For example, lets say we want to access an + erlang repl with ibrowse loaded up. We could do the following. + + + ~/w/nixpkgs ❯❯❯ nix-shell -A erlangPackages.ibrowse.env --run "erl" + Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] + + Eshell V7.0 (abort with ^G) + 1> m(ibrowse). + Module: ibrowse + MD5: 3b3e0137d0cbb28070146978a3392945 + Compiled: January 10 2016, 23:34 + Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam + Compiler options: [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"}, + debug_info,debug_info,nowarn_shadow_vars, + warn_unused_import,warn_unused_vars,warnings_as_errors, + {i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}] + Exports: + add_config/1 send_req_direct/7 + all_trace_off/0 set_dest/3 + code_change/3 set_max_attempts/3 + get_config_value/1 set_max_pipeline_size/3 + get_config_value/2 set_max_sessions/3 + get_metrics/0 show_dest_status/0 + get_metrics/2 show_dest_status/1 + handle_call/3 show_dest_status/2 + handle_cast/2 spawn_link_worker_process/1 + handle_info/2 spawn_link_worker_process/2 + init/1 spawn_worker_process/1 + module_info/0 spawn_worker_process/2 + module_info/1 start/0 + rescan_config/0 start_link/0 + rescan_config/1 stop/0 + send_req/3 stop_worker_process/1 + send_req/4 stream_close/1 + send_req/5 stream_next/1 + send_req/6 terminate/2 + send_req_direct/4 trace_off/0 + send_req_direct/5 trace_off/2 + send_req_direct/6 trace_on/0 + trace_on/2 + ok + 2> + + + Notice the -A erlangPackages.ibrowse.env.That + is the key to this functionality. + +
+
+ Creating a Shell + + Getting access to an environment often isn't enough to do real + development. Many times we need to create a + shell.nix file and do our development inside + of the environment specified by that file. This file looks a lot + like the packageing described above. The main difference is that + src points to project root and we call the + package directly. + + +{ pkgs ? import "<nixpkgs"> {} }: + +with pkgs; + +let + + f = { buildHex, ibrowse, jsx, erlware_commons }: + buildHex { + name = "hex2nix"; + version = "0.1.0"; + src = ./.; + erlangDeps = [ ibrowse jsx erlware_commons ]; + }; + drv = erlangPackages.callPackage f {}; + +in + drv + +
+ Building in a shell + + Unfortunatly for us users of Nix, Rebar isn't very cooperative + with us from the standpoint of building a hermetic + environment. When building the rebar3 support we had to do some + sneaky things to get it not to go out and pull packages on its + own. Also unfortunately, you have to do some of the same things + when building a project inside of a Nix shell. + + + + Run rebar3-nix-bootstrap every time + dependencies change + + + Set Home to the current directory. + + + + If you do these two things then Rebar will be happy with you. I + codify these into a makefile. Forunately, rebar3-nix-bootstrap + is idempotent and fairly quick. so you can run it as often as + you like. + + +# ============================================================================= +# Rules +# ============================================================================= +.PHONY= all test clean repl shell build test analyze bootstrap + +all: test + +clean: + rm -rf _build + rm -rf .cache + +repl: + nix-shell --run "erl" + +shell: + nix-shell --run "bash" + +bootstrap: + nix-shell --pure --run "rebar3-nix-bootstrap" + +build: bootstrap + nix-shell --pure --run "HOME=$(CURDIR) rebar3 compile" + +analyze: bootstrap + nix-shell --pure --run "HOME=$(CURDIR) rebar3 do compile,dialyzer" + +test: bootstrap + nix-shell --pure --run "HOME=$(CURDIR) rebar3 do compile,dialyzer,eunit" + + + + If you add the shell.nix as described and + user rebar as follows things should simply work. + +
+
+
+
+ Generating Packages from Hex with Hex2Nix + + Updating the Hex packages requires the use of the + hex2nix tool. Given the path to the Erlang + modules (usually + pkgs/development/erlang-modules). It will + happily dump a file called + hex-packages.nix. That file will contain all + the packages that use a recognized build system in Hex. However, + it can't know whether or not all those packages are buildable. + + + To make life easier for our users, it makes good sense to go + ahead and attempt to build all those packages and remove the + ones that don't build. To do that, simply run the command (in + the root of your nixpkgs repository). that follows. + + +$ nix-build -A erlangPackages + + + That will build every package in + erlangPackages. Then you can go through and + manually remove the ones that fail. Hopefully, someone will + improve hex2nix in the future to automate + that. + +
+
diff --git a/doc/manual.xml b/doc/manual.xml index b4c35d1a379d..2b4f47aff1c8 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -20,6 +20,7 @@ + diff --git a/pkgs/development/erlang-modules/build-erlang.nix b/pkgs/development/erlang-modules/build-erlang.nix deleted file mode 100644 index e662166741ac..000000000000 --- a/pkgs/development/erlang-modules/build-erlang.nix +++ /dev/null @@ -1,68 +0,0 @@ -# This file is not used not tested at this time, build-hex.nix is the currently -# main vehicle of bringing Erlang packages in. - -{ stdenv, erlang, rebar, openssl, libyaml }: - -{ name, version -, buildInputs ? [], erlangDeps ? [] -, postPatch ? "" -, meta ? {} -, ... }@attrs: - -with stdenv.lib; - -stdenv.mkDerivation (attrs // { - name = "${name}-${version}"; - - buildInputs = buildInputs ++ [ erlang rebar openssl libyaml ]; - - postPatch = '' - rm -f rebar - if [ -e "src/${name}.app.src" ]; then - sed -i -e 's/{ *vsn *,[^}]*}/{vsn, "${version}"}/' "src/${name}.app.src" - fi - ${postPatch} - ''; - - configurePhase = let - getDeps = drv: [drv] ++ (map getDeps drv.erlangDeps); - recursiveDeps = uniqList { - inputList = flatten (map getDeps erlangDeps); - }; - in '' - runHook preConfigure - ${concatMapStrings (dep: '' - header "linking erlang dependency ${dep}" - mkdir deps - ln -s "${dep}" "deps/${dep.packageName}" - stopNest - '') recursiveDeps} - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - rebar compile - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - for reldir in src ebin priv include; do - [ -e "$reldir" ] || continue - mkdir "$out" - cp -rt "$out" "$reldir" - success=1 - done - runHook postInstall - ''; - - meta = { - inherit (erlang.meta) platforms; - } // meta; - - passthru = { - packageName = name; - inherit erlangDeps; - }; -}) diff --git a/pkgs/development/erlang-modules/build-hex.nix b/pkgs/development/erlang-modules/build-hex.nix index 7ba8fab9bd2a..ff6e47e5a805 100644 --- a/pkgs/development/erlang-modules/build-hex.nix +++ b/pkgs/development/erlang-modules/build-hex.nix @@ -1,109 +1,19 @@ -{ stdenv, erlang, rebar3, openssl, libyaml, fetchHex, fetchFromGitHub, - rebar3-pc, buildEnv }: +{ stdenv, buildRebar3, fetchHex }: { name, version, sha256 , hexPkg ? name -, buildInputs ? [], erlangDeps ? [], pluginDeps ? [] -, postPatch ? "" -, compilePorts ? false -, meta ? {} , ... }@attrs: with stdenv.lib; let - plugins = pluginDeps ++ (if compilePorts then [rebar3-pc] else []); - getDeps = drv: [drv] ++ (map getDeps drv.erlangDeps); - recursiveDeps = unique (flatten (map getDeps erlangDeps)); - recursivePluginsDeps = unique (flatten (map getDeps plugins)); - - erlEnv = drv: buildEnv { - name = "erlang-env-${drv.name}"; - paths = [ drv ] ++ recursiveDeps; - ignoreCollisions = false; - meta = drv.meta; - }; - - shell = drv: let - drvEnv = erlEnv drv; - in stdenv.mkDerivation { - name = "interactive-shell-${drv.name}"; - nativeBuildInputs = [ erlang drvEnv ]; - shellHook = '' - export ERL_LIBS="${drvEnv}"; - ''; - }; - pkg = self: stdenv.mkDerivation (attrs // { - name = "${name}-${version}"; - - buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ]; + pkg = self: buildRebar3 (attrs // { src = fetchHex { pkg = hexPkg; inherit version; inherit sha256; }; - - postPatch = '' - rm -f rebar rebar3 - if [ -e "src/${name}.app.src" ]; then - sed -i -e 's/{ *vsn *,[^}]*}/{vsn, "${version}"}/' "src/${name}.app.src" - fi - - ${if compilePorts then '' - echo "{plugins, [pc]}." >> rebar.config - '' else ''''} - - ${rebar3.setupRegistry} - - ${postPatch} - ''; - - configurePhase = '' - runHook preConfigure - ${concatMapStrings (dep: '' - header "linking erlang dependency ${dep}" - ln -s "${dep}/${dep.name}" "_build/default/lib/${dep.name}" - stopNest - '') recursiveDeps} - ${concatMapStrings (dep: '' - header "linking rebar3 plugins ${dep}" - ln -s "${dep}/${dep.name}" "_build/default/plugins/${dep.name}" - stopNest - '') recursivePluginsDeps} - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - HOME=. rebar3 compile - ${if compilePorts then '' - HOME=. rebar3 pc compile - '' else ''''} - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p "$out/${name}" - for reldir in src ebin priv include; do - fd="_build/default/lib/${name}/$reldir" - [ -d "$fd" ] || continue - cp -Hrt "$out/${name}" "$fd" - success=1 - done - runHook postInstall - ''; - - meta = { - inherit (erlang.meta) platforms; - } // meta; - - passthru = { - packageName = name; - env = shell self; - inherit erlangDeps; - }; }); in fix pkg diff --git a/pkgs/development/erlang-modules/build-rebar3.nix b/pkgs/development/erlang-modules/build-rebar3.nix new file mode 100644 index 000000000000..6ad82b62158c --- /dev/null +++ b/pkgs/development/erlang-modules/build-rebar3.nix @@ -0,0 +1,85 @@ +{ stdenv, writeText, erlang, rebar3, openssl, libyaml, fetchHex, fetchFromGitHub, + pc, buildEnv }: + +{ name, version +, src +, setupHook ? null +, buildInputs ? [], erlangDeps ? [], pluginDeps ? [] +, postPatch ? "" +, compilePorts ? false +, installPhase ? null +, meta ? {} +, ... }@attrs: + +with stdenv.lib; + +let + plugins = pluginDeps ++ (if compilePorts then [pc] else []); + + + shell = drv: stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; + }; + + pkg = self: stdenv.mkDerivation (attrs // { + + name = "${name}-${version}"; + inherit version; + + buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ]; + propagatedBuildInputs = erlangDeps ++ plugins; + + inherit src; + + setupHook = if setupHook == null + then writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" + '' + else setupHook; + + postPatch = '' + rm -f rebar rebar3 + ''; + + configurePhase = '' + runHook preConfigure + rebar3-nix-bootstrap + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + HOME=. rebar3 compile + ${if compilePorts then '' + HOME=. rebar3 pc compile + '' else ''''} + runHook postBuild + ''; + + installPhase = if installPhase == null + then '' + runHook preInstall + mkdir -p "$out/lib/erlang/lib/${name}-${version}" + for reldir in src ebin priv include; do + fd="_build/default/lib/${name}/$reldir" + [ -d "$fd" ] || continue + cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$fd" + success=1 + done + runHook postInstall + '' + else installPhase; + + meta = { + inherit (erlang.meta) platforms; + } // meta; + + passthru = { + packageName = name; + env = shell self; + inherit erlangDeps; + }; + }); +in + fix pkg diff --git a/pkgs/development/erlang-modules/default.nix b/pkgs/development/erlang-modules/default.nix index 84590e12a1cf..f3adf18df0c9 100644 --- a/pkgs/development/erlang-modules/default.nix +++ b/pkgs/development/erlang-modules/default.nix @@ -1,18 +1,14 @@ -{ pkgs }: #? import {} }: +{ stdenv, pkgs }: #? import {} }: let - callPackage = pkgs.lib.callPackageWith (pkgs // self); - self = rec { - buildErlang = callPackage ./build-erlang.nix {}; + hex = import ./hex-packages.nix { stdenv = stdenv; callPackage = self.callPackage; }; + callPackage = pkgs.lib.callPackageWith (pkgs // self // hex); + + buildRebar3 = callPackage ./build-rebar3.nix {}; buildHex = callPackage ./build-hex.nix {}; - rebar3-pc = callPackage ./hex/rebar3-pc.nix {}; - esqlite = callPackage ./hex/esqlite.nix {}; - goldrush = callPackage ./hex/goldrush.nix {}; - ibrowse = callPackage ./hex/ibrowse.nix {}; - jiffy = callPackage ./hex/jiffy.nix {}; - lager = callPackage ./hex/lager.nix {}; - meck = callPackage ./hex/meck.nix {}; + ## Non hex packages + webdriver = callPackage ./webdriver {}; }; -in self +in self // self.hex diff --git a/pkgs/development/erlang-modules/hex-packages.nix b/pkgs/development/erlang-modules/hex-packages.nix new file mode 100644 index 000000000000..9a165503b796 --- /dev/null +++ b/pkgs/development/erlang-modules/hex-packages.nix @@ -0,0 +1,3807 @@ +/* hex-packages.nix is an auto-generated file -- DO NOT EDIT! +* +* Unbuildable Packages: +* +* active_0_9_0 +* conferl_0_0_1 +* db_0_9_0 +* ekstat_0_2_2 +* erltrace_0_1_4 +* escalus_2_6_4 +* fqc_0_1_5 +* - libsnarlmatch_0_1_5 +* - rankmatcher_0_1_2 +* fqc_0_1_7 +* hash_ring_ex_1_1_2 +* gpb_3_18_10 +* gpb_3_18_8 +* - rebar_protobuffs_0_1_0 +* jose_1_4_2 +* jsxn_0_2_1 +* kvs_2_1_0 +* lager_2_1_1 +* - dqe_0_1_22 +* - ensq_0_1_6 +* - eplugin_0_1_4 +* - fifo_utils_0_1_18 +* - lager_watchdog_0_1_10 +* - mdns_client_0_1_7 +* - mdns_client_lib_0_1_33 +* lasp_0_0_3 +* libleofs_0_1_2 +* ezmq_0_2_0 +* mad_0_9_0 +* hackney_1_4_8 +* mmath_0_1_15 +* - ddb_client_0_1_17 +* - folsom_ddb_0_1_20 +* - dproto_0_1_12 +* - mstore_0_1_9 +* mmath_0_1_16 +* n2o_2_3_0 +* nodefinder_1_4_0 +* - cloudi_core_1_4_0_rc_4 +* - cloudi_service_db_cassandra_1_3_3 +* - cloudi_service_db_elasticsearch_1_3_3 +* - cloudi_service_db_riak_1_3_3 +* nodefinder_1_5_1 +* - cloudi_core_1_5_1 +* - cloudi_service_api_requests_1_5_1 +* - cloudi_service_db_1_5_1 +* - cloudi_service_db_cassandra_cql_1_5_1 +* - cloudi_service_db_couchdb_1_5_1 +* - cloudi_service_db_http_elli_1_5_1 +* - cloudi_service_db_memcached_1_5_1 +* - cloudi_service_db_mysql_1_5_1 +* - cloudi_service_db_pgsql_1_5_1 +* - cloudi_service_db_tokyotyrant_1_5_0 +* - cloudi_service_filesystem_1_5_1 +* - cloudi_service_http_client_1_5_1 +* - cloudi_service_http_cowboy_1_5_1 +* - cloudi_service_http_rest_1_5_1 +* - cloudi_service_map_reduce_1_5_1 +* - cloudi_service_monitoring_1_5_1 +* - cloudi_service_queue_1_5_1 +* - cloudi_service_quorum_1_5_1 +* - cloudi_service_router_1_5_1 +* - cloudi_service_tcp_1_5_1 +* - cloudi_service_timers_1_5_1 +* - cloudi_service_udp_1_5_1 +* - cloudi_service_validate_1_5_1 +* - cloudi_service_zeromq_1_5_1 +* - service_1_5_1 +* fast_yaml_1_0_1 +* parse_trans_2_9_0 +* pooler_1_4_0 +* protobuffs_0_8_2 +* - rebar3_protobuffs_0_2_0 +* - riak_pb_2_1_0 +* - riakc_2_1_1 +* locker_1_0_8 +* cowboy_1_0_4 +* - cet_0_2_0 +* amqp_client_3_5_6 +* rebar3_abnfc_plugin_0_1_0 +* rebar3_eqc_0_0_8 +* rebar3_exunit_0_1_1 +* rebar3_proper_0_5_0 +* rebar3_yang_plugin_0_2_1 +* hackney_1_1_0 +* - erlastic_search_1_1_1 +* hackney_1_3_1 +* - craterl_0_2_3 +* hackney_1_3_2 +* - epubnub_0_1_0 +* cpg_1_4_0 +* cpg_1_5_1 +* uuid_erl_1_4_0 +* uuid_erl_1_5_1 +* ucol_nif_1_1_5 +* katipo_0_2_4 +* xref_runner_0_2_4 +*/ +{ stdenv, callPackage }: + +let + self = rec { + + aws_http_0_2_4 = callPackage + ( + { buildHex, barrel_jiffy_0_14_4, lhttpc_1_3_0 }: + buildHex { + name = "aws_http"; + version = "0.2.4"; + sha256 = + "96065da0d348a8e47e01531cfa720615e15a21c1bd4e5c82decf56026cde128f"; + + erlangDeps = [ barrel_jiffy_0_14_4 lhttpc_1_3_0 ]; + + meta = { + description = "Amazon AWS HTTP helpers"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/anha0825/erl_aws_http"; + }; + } + ) {}; + + aws_http = aws_http_0_2_4; + + backoff_1_1_3 = callPackage + ( + { buildHex }: + buildHex { + name = "backoff"; + version = "1.1.3"; + sha256 = + "30cead738d20e4c8d36cd37857dd5e23aeba57cb868bf64766d47d371422bdff"; + + meta = { + description = "Exponential backoffs library"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/ferd/backoff"; + }; + } + ) {}; + + backoff = backoff_1_1_3; + + barrel_ibrowse_4_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "barrel_ibrowse"; + version = "4.2.0"; + sha256 = + "58bd9e45932c10fd3d0ceb5c4e47952c3243ea300b388192761ac20be197b2ca"; + + meta = { + description = "Erlang HTTP client application"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/barrel-db/ibrowse"; + }; + } + ) {}; + + barrel_ibrowse = barrel_ibrowse_4_2_0; + + barrel_jiffy_0_14_4 = callPackage + ( + { buildHex }: + buildHex { + name = "barrel_jiffy"; + version = "0.14.4"; + sha256 = + "3b730d6a18e988b8411f449bbb5df3637eb7bea864302924581b2391dd6b6e71"; + compilePort = true; + + meta = { + description = "JSON Decoder/Encoder."; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/barrel-db/jiffy"; + }; + } + ) {}; + + barrel_jiffy_0_14_5 = callPackage + ( + { buildHex }: + buildHex { + name = "barrel_jiffy"; + version = "0.14.5"; + sha256 = + "8a874c6dbcf439a7d7b300b4463f47e088fd54e2b715ef7261e21807ee421f47"; + compilePort = true; + + meta = { + description = "JSON Decoder/Encoder."; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/barrel-db/jiffy"; + }; + } + ) {}; + + barrel_jiffy = barrel_jiffy_0_14_5; + + barrel_oauth_1_6_0 = callPackage + ( + { buildHex }: + buildHex { + name = "barrel_oauth"; + version = "1.6.0"; + sha256 = + "b2a800b771d45f32a9a55d416054b3bdfab3a925b62e8000f2c08b719390d4dd"; + + meta = { + description = "An Erlang OAuth 1.0 implementation"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/barrel-db/erlang-oauth"; + }; + } + ) {}; + + barrel_oauth = barrel_oauth_1_6_0; + + base16_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "base16"; + version = "1.0.0"; + sha256 = + "02afd0827e61a7b07093873e063575ca3a2b07520567c7f8cec7c5d42f052d76"; + + meta = { + description = "Base16 encoding and decoding"; + license = with stdenv.lib.licenses; [ bsd3 free ]; + homepage = "https://github.com/goj/base16"; + }; + } + ) {}; + + base16 = base16_1_0_0; + + base64url_0_0_1 = callPackage + ( + { buildHex }: + buildHex { + name = "base64url"; + version = "0.0.1"; + sha256 = + "fab09b20e3f5db886725544cbcf875b8e73ec93363954eb8a1a9ed834aa8c1f9"; + + meta = { + description = "URL safe base64-compatible codec"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/dvv/base64url"; + }; + } + ) {}; + + base64url = base64url_0_0_1; + + bbmustache_1_0_4 = callPackage + ( + { buildHex }: + buildHex { + name = "bbmustache"; + version = "1.0.4"; + sha256 = + "03b0d47db66e86df993896dce7578d7e4aae5f84636809b45fa8a3e34ee59b12"; + + meta = { + description = + "Binary pattern match Based Mustache template engine for Erlang/OTP"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/soranoba/bbmustache"; + }; + } + ) {}; + + bbmustache_1_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "bbmustache"; + version = "1.1.0"; + sha256 = + "aa22469836bb8a9928ad741bdd2038d49116228bfbe0c2d6c792e1bdd4b256d9"; + + meta = { + description = + "Binary pattern match Based Mustache template engine for Erlang/OTP"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/soranoba/bbmustache"; + }; + } + ) {}; + + bbmustache = bbmustache_1_1_0; + + bear_0_8_3 = callPackage + ( + { buildHex }: + buildHex { + name = "bear"; + version = "0.8.3"; + sha256 = + "0a04ce4702e00e0a43c0fcdd63e38c9c7d64dceb32b27ffed261709e7c3861ad"; + + meta = { + description = "Statistics functions for Erlang"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/puzza007/bear"; + }; + } + ) {}; + + bear = bear_0_8_3; + + bstr_0_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "bstr"; + version = "0.3.0"; + sha256 = + "0fb4e05619663d48dabcd21023915741277ba392f2a5710dde7ab6034760284d"; + + meta = { + description = "Erlang library that uses binaries as strings"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/jcomellas/bstr"; + }; + } + ) {}; + + bstr = bstr_0_3_0; + + cache_tab_1_0_1 = callPackage + ( + { buildHex, p1_utils_1_0_1 }: + buildHex { + name = "cache_tab"; + version = "1.0.1"; + sha256 = + "717a91101e03535ab65e4a9ce028ae3f0ddfb4ce0fd4144bf8816082c6dc2933"; + + erlangDeps = [ p1_utils_1_0_1 ]; + + meta = { + description = "In-memory cache Erlang / Elixir library"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/cache_tab"; + }; + } + ) {}; + + cache_tab = cache_tab_1_0_1; + + certifi_0_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "certifi"; + version = "0.1.1"; + sha256 = + "e6d1dda48fad1b1c5b454c8402e2ac375ae12bf85a9910decaf791f330a7de29"; + + meta = { + description = "An OTP library"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/certifi/erlang-certifi"; + }; + } + ) {}; + + certifi_0_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "certifi"; + version = "0.3.0"; + sha256 = + "42ae85fe91c038a634a5fb8d0c77f4fc581914c508f087c7138e9366a1517f6a"; + + meta = { + description = "An OTP library"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/certifi/erlang-certifi"; + }; + } + ) {}; + + certifi = certifi_0_3_0; + + cf_0_1_2 = callPackage + ( + { buildHex }: + buildHex { + name = "cf"; + version = "0.1.2"; + sha256 = + "c86f56bca74dd3616057b28574d920973fe665ecb064aa458dc6a2447f3f4924"; + + meta = { + description = "Terminal colour helper"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + cf_0_2_1 = callPackage + ( + { buildHex }: + buildHex { + name = "cf"; + version = "0.2.1"; + sha256 = + "baee9aa7ec2dfa3cb4486b67211177caa293f876780f0b313b45718edef6a0a5"; + + meta = { + description = "Terminal colour helper"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + cf = cf_0_2_1; + + cmark_0_6_2 = callPackage + ( + { buildHex }: + buildHex { + name = "cmark"; + version = "0.6.2"; + sha256 = + "c17bbc354864cc8dfd352c772eb1655a5c67718c76d76df0aaf6179a833c76ef"; + compilePort = true; + + meta = { + longDescription = ''Elixir NIF for cmark (C), a parser library + following the CommonMark spec, a compatible + implementation of Markdown.''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/asaaki/cmark.ex"; + }; + } + ) {}; + + cmark = cmark_0_6_2; + + comeonin_2_0_1 = callPackage + ( + { buildHex }: + buildHex { + name = "comeonin"; + version = "2.0.1"; + sha256 = + "7f7468625058ab1b817c00efa473d8117b0113a73a429f25cf663d5e2416572f"; + compilePort = true; + + meta = { + description = + "Password hashing (bcrypt, pbkdf2_sha512) library for Elixir."; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/elixircnx/comeonin"; + }; + } + ) {}; + + comeonin = comeonin_2_0_1; + + couchbeam_1_2_1 = callPackage + ( + { buildHex, hackney_1_4_4, jsx_2_8_0 }: + buildHex { + name = "couchbeam"; + version = "1.2.1"; + sha256 = + "ed19f0412aa0539ecf622ac8ade1ca0e316f424e3334ad015a3fb8db19e91194"; + + erlangDeps = [ hackney_1_4_4 jsx_2_8_0 ]; + + meta = { + description = "Erlang CouchDB client"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + couchbeam = couchbeam_1_2_1; + + cowlib_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "cowlib"; + version = "1.0.0"; + sha256 = + "4dacd60356177ec8cf93dbff399de17435b613f3318202614d3d5acbccee1474"; + + meta = { + description = "Support library for manipulating Web protocols."; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/ninenines/cowlib"; + }; + } + ) {}; + + cowlib_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "cowlib"; + version = "1.0.2"; + sha256 = + "db622da03aa039e6366ab953e31186cc8190d32905e33788a1acb22744e6abd2"; + + meta = { + description = "Support library for manipulating Web protocols."; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/ninenines/cowlib"; + }; + } + ) {}; + + cowlib_1_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "cowlib"; + version = "1.3.0"; + sha256 = + "2b1ac020ec92e7a59cb7322779870c2d3adc7c904ecb3b9fa406f04dc9816b73"; + + meta = { + description = "Support library for manipulating Web protocols."; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/ninenines/cowlib"; + }; + } + ) {}; + + cowlib = cowlib_1_3_0; + + crc_0_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "crc"; + version = "0.3.0"; + sha256 = + "23d7cb6a18cca461f46f5a0f341c74fd0a680cdae62460687f1a24f0a7faabd4"; + + meta = { + description = + "A library used to calculate CRC checksums for binary data"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/TattdCodeMonkey/crc"; + }; + } + ) {}; + + crc = crc_0_3_0; + + crypto_rsassa_pss_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "crypto_rsassa_pss"; + version = "1.0.0"; + sha256 = + "d8f48874dbef940a8954126249499714e702d8ae0a8f23230a6c2f4a92833313"; + + meta = { + description = + "RSASSA-PSS Public Key Cryptographic Signature Algorithm for Erlang"; + license = stdenv.lib.licenses.free; + homepage = + "https://github.com/potatosalad/erlang-crypto_rsassa_pss"; + }; + } + ) {}; + + crypto_rsassa_pss = crypto_rsassa_pss_1_0_0; + + cth_readable_1_2_0 = callPackage + ( + { buildHex, cf_0_2_1 }: + buildHex { + name = "cth_readable"; + version = "1.2.0"; + sha256 = + "41dee2a37e0f266c590b3ea9542ca664e84ebc781a3949115eba658afc08026d"; + + erlangDeps = [ cf_0_2_1 ]; + + meta = { + description = "Common Test hooks for more readable logs"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/ferd/cth_readable"; + }; + } + ) {}; + + cth_readable = cth_readable_1_2_0; + + cucumberl_0_0_6 = callPackage + ( + { buildHex }: + buildHex { + name = "cucumberl"; + version = "0.0.6"; + sha256 = + "3b9ea813997fd8c1e3d2b004e89288496dc21d2e5027f432e5900569d2c61cf3"; + + meta = { + description = "A pure-erlang implementation of Cucumber."; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/ericbmerritt/cucumberl"; + }; + } + ) {}; + + cucumberl = cucumberl_0_0_6; + + denrei_0_2_3 = callPackage + ( + { buildHex }: + buildHex { + name = "denrei"; + version = "0.2.3"; + sha256 = + "bc0e8cf7e085dda6027df83ef5d63c41b93988bcd7f3db7c68e4dad3cd599744"; + + meta = { + description = "Denrei - a lightweight Erlang messaging system."; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + denrei = denrei_0_2_3; + + detergent_0_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "detergent"; + version = "0.3.0"; + sha256 = + "510cfb5d35b4b344762f074b73c8696b4bdde654ea046b3365cf92760ae33362"; + + meta = { + description = "An emulsifying Erlang SOAP library"; + license = with stdenv.lib.licenses; [ unlicense bsd3 ]; + homepage = "https://github.com/devinus/detergent"; + }; + } + ) {}; + + detergent = detergent_0_3_0; + + dflow_0_1_5 = callPackage + ( + { buildHex }: + buildHex { + name = "dflow"; + version = "0.1.5"; + sha256 = + "f08e73f22d4c620ef5f358a0b40f8fe3b91219ca3922fbdbe7e42f1cb58f737e"; + + meta = { + description = "Pipelined flow processing engine"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/dalmatinerdb/dflow"; + }; + } + ) {}; + + dflow = dflow_0_1_5; + + discount_0_7_0 = callPackage + ( + { buildHex }: + buildHex { + name = "discount"; + version = "0.7.0"; + sha256 = + "a37b7890620f93aa2fae06eee364cd906991588bc8897e659f51634179519c97"; + + meta = { + description = "Elixir NIF for discount, a Markdown parser"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/asaaki/discount.ex"; + }; + } + ) {}; + + discount = discount_0_7_0; + + dynamic_compile_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "dynamic_compile"; + version = "1.0.0"; + sha256 = + "eb73d8e9a6334914f79c15ee8214acad9659c42222d49beda3e8b6f6789a980a"; + + meta = { + description = + "compile and load erlang modules from string input"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/okeuday/dynamic_compile"; + }; + } + ) {}; + + dynamic_compile = dynamic_compile_1_0_0; + + econfig_0_7_1 = callPackage + ( + { buildHex }: + buildHex { + name = "econfig"; + version = "0.7.1"; + sha256 = + "b11d68e3d288b5cb4bd34e668e03176c4ea42790c09f1f449cdbd46a649ea7f3"; + + meta = { + description = "simple Erlang config handler using INI files"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/benoitc/econfig"; + }; + } + ) {}; + + econfig = econfig_0_7_1; + + edown_0_7_0 = callPackage + ( + { buildHex }: + buildHex { + name = "edown"; + version = "0.7.0"; + sha256 = + "6d7365a7854cd724e8d1fd005f5faa4444eae6a87eb6df9b789b6e7f6f09110a"; + + meta = { + description = "Markdown generated from Edoc."; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/uwiger/edown"; + }; + } + ) {}; + + edown = edown_0_7_0; + + elixir_ale_0_4_1 = callPackage + ( + { buildHex }: + buildHex { + name = "elixir_ale"; + version = "0.4.1"; + sha256 = + "2ee5c6989a8005a0ab8f1aea0b4f89b5feae75be78a70bade6627c3624c59c46"; + + meta = { + description = + "Elixir access to hardware I/O interfaces such as GPIO, I2C, and SPI."; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/fhunleth/elixir_ale"; + }; + } + ) {}; + + elixir_ale = elixir_ale_0_4_1; + + elli_1_0_4 = callPackage + ( + { buildHex }: + buildHex { + name = "elli"; + version = "1.0.4"; + sha256 = + "87641b9c069b1372dac4e1bdda795076ea3142af78aac0d63896a38079e89e8e"; + + meta = { + description = + "Fast and robust web server for building high-throughput, low-latency apps"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + elli = elli_1_0_4; + + enotify_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "enotify"; + version = "0.1.0"; + sha256 = + "8e48da763ce15bfd75cc857ddfe5011b03189d597f47bcdd8acc6fbbe8e6b6f4"; + compilePort = true; + + meta = { + description = "Filesystem listener"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tsloughter/enotify"; + }; + } + ) {}; + + enotify = enotify_0_1_0; + + eper_0_94_0 = callPackage + ( + { buildHex }: + buildHex { + name = "eper"; + version = "0.94.0"; + sha256 = + "8d853792fa61a7fd068fe9c113a8a44bc839e11ad70cb8d5d2884566e3bede39"; + + meta = { + longDescription = ''Erlang Performance and Debugging Tools sherk + - a profiler, similar to Linux oprofile or MacOs + shark gperf - a graphical performance monitor; + shows CPU, memory and network usage dtop - + similar to unix top redbug- similar to the OTP + dbg application, but safer, better etc.''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/massemanet/eper"; + }; + } + ) {}; + + eper = eper_0_94_0; + + epgsql_3_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "epgsql"; + version = "3.1.1"; + sha256 = + "4b3f478ad090aed7200b2a8c9f2d5ef45c3aaa167be896b5237bba4b40f461d8"; + + meta = { + description = "PostgreSQL Client"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/epgsql/epgsql"; + }; + } + ) {}; + + epgsql = epgsql_3_1_1; + + episcina_1_1_0 = callPackage + ( + { buildHex, gproc_0_3_1 }: + buildHex { + name = "episcina"; + version = "1.1.0"; + sha256 = + "16238717bfbc8cb226342f6b098bb1fafb48c7547265a10ad3e6e83899abc46f"; + + erlangDeps = [ gproc_0_3_1 ]; + + meta = { + description = "Erlang Connection Pool"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + episcina = episcina_1_1_0; + + eql_0_1_2 = callPackage + ( + { buildHex }: + buildHex { + name = "eql"; + version = "0.1.2"; + sha256 = + "3b1a85c491d44262802058c0de97a2c90678d5d45851b88a076b1a45a8d6d4b3"; + + meta = { + description = "Erlang with SQL"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/artemeff/eql"; + }; + } + ) {}; + + eql = eql_0_1_2; + + eredis_1_0_8 = callPackage + ( + { buildHex }: + buildHex { + name = "eredis"; + version = "1.0.8"; + sha256 = + "f303533e72129b264a2d8217c4ddc977c7527ff4b8a6a55f92f62b7fcc099334"; + + meta = { + description = "Erlang Redis client"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/wooga/eredis"; + }; + } + ) {}; + + eredis = eredis_1_0_8; + + erlang_lua_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "erlang_lua"; + version = "0.1.0"; + sha256 = + "4376a57f86e43ae1d687dca8b6c7c7f692b95d30091a9550636328358026e6eb"; + compilePort = true; + + meta = { + longDescription = ''Erlang-lua hex package, using Erlang's Port + and C Node to run Lua VM as an external Node''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/rtraschke/erlang-lua"; + }; + } + ) {}; + + erlang_lua = erlang_lua_0_1_0; + + erlang_term_1_4_0 = callPackage + ( + { buildHex }: + buildHex { + name = "erlang_term"; + version = "1.4.0"; + sha256 = + "1a4d491dbd13b7a714815af10fc658948a5a440de23755a32b741ca07d8ba592"; + + meta = { + description = "Provide the in-memory size of Erlang terms"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/erlang_term"; + }; + } + ) {}; + + erlang_term_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "erlang_term"; + version = "1.5.1"; + sha256 = + "88bae81a80306e82fd3fc43e2d8228049e666f3cfe4627687832cd7edb878e06"; + + meta = { + description = "Provide the in-memory size of Erlang terms"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/erlang_term"; + }; + } + ) {}; + + erlang_term = erlang_term_1_5_1; + + erlang_version_0_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "erlang_version"; + version = "0.2.0"; + sha256 = + "74daddba65a247ec57913e5de8f243af42bbbc3d6a0c411a1252da81c09ae661"; + + meta = { + description = "Retrieve Erlang/OTP version like `18.1'"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/sapporo-beam/erlang_version"; + }; + } + ) {}; + + erlang_version = erlang_version_0_2_0; + + erlaudio_0_2_3 = callPackage + ( + { buildHex }: + buildHex { + name = "erlaudio"; + version = "0.2.3"; + sha256 = + "cb9efb0ce80faae003ab39f8cc2d3fccbb4bd1c8f5f525aea392f28662517032"; + compilePort = true; + + meta = { + description = "Erlang audio bindings to portaudio"; + license = stdenv.lib.licenses.apsl20; + homepage = "https://github.com/asonge/erlaudio"; + }; + } + ) {}; + + erlaudio = erlaudio_0_2_3; + + erlcloud_0_11_0 = callPackage + ( + { buildHex, jsx_2_6_2, lhttpc_1_3_0, meck_0_8_3 }: + buildHex { + name = "erlcloud"; + version = "0.11.0"; + sha256 = + "ca9876dab57ed8fb5fb75ab6ce11e59a346387d357d7a038a2e18d1d31a30716"; + + erlangDeps = [ jsx_2_6_2 lhttpc_1_3_0 meck_0_8_3 ]; + + meta = { + description = "Cloud Computing library for erlang"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/gleber/erlcloud"; + }; + } + ) {}; + + erlcloud_0_12_0 = callPackage + ( + { buildHex, jsx_2_7_2, lhttpc_1_3_0, meck_0_8_3 }: + buildHex { + name = "erlcloud"; + version = "0.12.0"; + sha256 = + "2ff2631a4e405a645cedf2713ec66728023e93ac80ed47035554a7d6205d412d"; + + erlangDeps = [ jsx_2_7_2 lhttpc_1_3_0 meck_0_8_3 ]; + + meta = { + description = "Cloud Computing library for erlang"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/gleber/erlcloud"; + }; + } + ) {}; + + erlcloud = erlcloud_0_12_0; + + erldn_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "erldn"; + version = "1.0.2"; + sha256 = + "51a721f1aac9c5fcc6abb0fa156a97ac8e033ee7cbee1624345ec6e47dfe0aa0"; + + meta = { + description = "An edn parser for the Erlang platform. +"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/marianoguerra/erldn"; + }; + } + ) {}; + + erldn = erldn_1_0_2; + + erlexec_1_0_1 = callPackage + ( + { buildHex }: + buildHex { + name = "erlexec"; + version = "1.0.1"; + sha256 = + "eb1e11f16288db4ea35af08503eabf1250d5540c1e8bd35ba04312f5f703e14f"; + compilePort = true; + + meta = { + description = "OS Process Manager"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/saleyn/erlexec"; + }; + } + ) {}; + + erlexec = erlexec_1_0_1; + + erlsh_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "erlsh"; + version = "0.1.0"; + sha256 = + "94ef1492dd59fef211f01ffd40c47b6e51c0f59e2a3d0739366e4890961332d9"; + compilePort = true; + + meta = { + longDescription = ''Family of functions and ports involving + interacting with the system shell, paths and + external programs.''; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + erlsh = erlsh_0_1_0; + + erlsom_1_2_1 = callPackage + ( + { buildHex }: + buildHex { + name = "erlsom"; + version = "1.2.1"; + sha256 = + "e8f4d1d83583df7d1db8346aa30b82a6599b93fcc4b2d9165007e02ed40e7cae"; + + meta = { + description = "erlsom XSD parser"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + erlsom = erlsom_1_2_1; + + erlware_commons_0_18_0 = callPackage + ( + { buildHex, cf_0_2_1 }: + buildHex { + name = "erlware_commons"; + version = "0.18.0"; + sha256 = + "e71dda7cd5dcf34c9d07255d49c67e1d229dd230c101fdb996820bcdb5b03c49"; + + erlangDeps = [ cf_0_2_1 ]; + + meta = { + description = "Additional standard library for Erlang"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/erlware/erlware_commons"; + }; + } + ) {}; + + erlware_commons = erlware_commons_0_18_0; + + erlzk_0_6_1 = callPackage + ( + { buildHex }: + buildHex { + name = "erlzk"; + version = "0.6.1"; + sha256 = + "6bba045ad0b7beb566825b463ada2464929655ce01e291022c1efed81a674759"; + + meta = { + description = "A Pure Erlang ZooKeeper Client (no C dependency)"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/huaban/erlzk"; + }; + } + ) {}; + + erlzk = erlzk_0_6_1; + + esel_0_1_2 = callPackage + ( + { buildHex }: + buildHex { + name = "esel"; + version = "0.1.2"; + sha256 = + "874d1775c86d27d9e88486a37351ffc09f826ef062c8ea211e65d08e103f946c"; + + meta = { + description = "An wrapper around openssl"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + esel = esel_0_1_2; + + esqlite_0_2_1 = callPackage + ( + { buildHex }: + buildHex { + name = "esqlite"; + version = "0.2.1"; + sha256 = + "79f2d1d05e6e29e50228af794dac8900ce47dd60bc11fbf1279f924f83752689"; + compilePort = true; + + meta = { + description = "A Sqlite3 NIF"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/mmzeeman/esqlite"; + }; + } + ) {}; + + esqlite = esqlite_0_2_1; + + eunit_formatters_0_3_1 = callPackage + ( + { buildHex }: + buildHex { + name = "eunit_formatters"; + version = "0.3.1"; + sha256 = + "64a40741429b7aff149c605d5a6135a48046af394a7282074e6003b3b56ae931"; + + meta = { + description = "Better output for eunit suites"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/seancribbs/eunit_formatters"; + }; + } + ) {}; + + eunit_formatters = eunit_formatters_0_3_1; + + ex_bitcask_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "ex_bitcask"; + version = "0.1.0"; + sha256 = + "dc771229aae3c07c31a5523303f0c4dbe3c700d5025a09dfcca9cc357222c463"; + compilePort = true; + + meta = { + longDescription = ''Elixir wrapper of Basho's Bitcask Key/Value + store. Bitcask as a Log-Structured Hash Table + for Fast Key/Value Data. ''; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/JonGretar/ExBitcask"; + }; + } + ) {}; + + ex_bitcask = ex_bitcask_0_1_0; + + exec_1_0_1 = callPackage + ( + { buildHex }: + buildHex { + name = "exec"; + version = "1.0.1"; + sha256 = + "87c7ef2dea2bb503bb0eec8cb34776172999aecc6e12d90f7629796a7a3ccb1f"; + compilePort = true; + + meta = { + description = "OS Process Manager"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/saleyn/erlexec"; + }; + } + ) {}; + + exec = exec_1_0_1; + + exmerl_0_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "exmerl"; + version = "0.1.1"; + sha256 = + "4bb5d6c1863c5e381b460416c9b517a211db9abd9abf0f32c99b07e128b842aa"; + + meta = { + description = + "An Elixir wrapper for parsing XML through the xmerl_* suite of modules +"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/pwoolcoc/exmerl"; + }; + } + ) {}; + + exmerl = exmerl_0_1_1; + + fast_xml_1_1_2 = callPackage + ( + { buildHex, p1_utils_1_0_1 }: + buildHex { + name = "fast_xml"; + version = "1.1.2"; + sha256 = + "becac16805254bc8399558f0eb5d3ed733a1e3c0c511d9c7e95244f43626f9bf"; + compilePort = true; + erlangDeps = [ p1_utils_1_0_1 ]; + + meta = { + description = "Fast Expat based Erlang XML parsing library"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/fast_xml"; + }; + } + ) {}; + + fast_xml = fast_xml_1_1_2; + + feeder_2_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "feeder"; + version = "2.0.0"; + sha256 = + "9780c5f032d3480cf7d9fd71d3f0c5f73211e0d3a8d9cdabcb1327b3a4ff758e"; + + meta = { + description = "Stream parse RSS and Atom formatted XML feeds. +"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/michaelnisi/feeder"; + }; + } + ) {}; + + feeder = feeder_2_0_0; + + fn_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "fn"; + version = "1.0.0"; + sha256 = + "1433b353c8739bb28ac0d6826c9f6a05033f158e8c8195faf01a863668b3bbc7"; + + meta = { + description = "More functional Erlang"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/artemeff/fn"; + }; + } + ) {}; + + fn = fn_1_0_0; + + folsom_0_8_3 = callPackage + ( + { buildHex, bear_0_8_3 }: + buildHex { + name = "folsom"; + version = "0.8.3"; + sha256 = + "afaa1ea4cd2a10a32242ac5d76fa7b17e98d202883859136b791d9a383b26820"; + + erlangDeps = [ bear_0_8_3 ]; + + meta = { + description = "Erlang based metrics system"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + folsom = folsom_0_8_3; + + folsomite_1_2_8 = callPackage + ( + { buildHex, folsom_0_8_3 }: + buildHex { + name = "folsomite"; + version = "1.2.8"; + sha256 = + "9ce64603cdffb8ad55e950142146b3fe05533020906a81aa9c2f524635d813dc"; + + erlangDeps = [ folsom_0_8_3 ]; + + meta = { + description = "Blow up your Graphite server with Folsom metrics"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + folsomite = folsomite_1_2_8; + + fs_0_9_2 = callPackage + ( + { buildHex }: + buildHex { + name = "fs"; + version = "0.9.2"; + sha256 = + "9a00246e8af58cdf465ae7c48fd6fd7ba2e43300413dfcc25447ecd3bf76f0c1"; + compilePort = true; + + meta = { + description = "Erlang FileSystem Listener"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/synrc/fs"; + }; + } + ) {}; + + fs = fs_0_9_2; + + fuse_2_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "fuse"; + version = "2.0.0"; + sha256 = + "e2c55c0629ce418974165a65b342e54527333303d7e9c1f0493679144c9698cb"; + + meta = { + description = "A Circuit breaker implementation for Erlang"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + fuse = fuse_2_0_0; + + gen_listener_tcp_0_3_2 = callPackage + ( + { buildHex }: + buildHex { + name = "gen_listener_tcp"; + version = "0.3.2"; + sha256 = + "b3c3fbc525ba2b32d947b06811d38470d5b0abe2ca81b623192a71539ed22336"; + + meta = { + description = "Generic TCP Server"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/travelping/gen_listener_tcp"; + }; + } + ) {}; + + gen_listener_tcp = gen_listener_tcp_0_3_2; + + gen_smtp_0_9_0 = callPackage + ( + { buildHex }: + buildHex { + name = "gen_smtp"; + version = "0.9.0"; + sha256 = + "5a05f23a7cbe0c6242d290b445c6bbc0c287e3d0e09d3fcdc6bcd2c8973b6688"; + + meta = { + longDescription = ''A generic Erlang SMTP server framework that + can be extended via callback modules in the OTP + style. ''; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/Vagabond/gen_smtp"; + }; + } + ) {}; + + gen_smtp = gen_smtp_0_9_0; + + getopt_0_8_2 = callPackage + ( + { buildHex }: + buildHex { + name = "getopt"; + version = "0.8.2"; + sha256 = + "736e6db3679fbbad46373efb96b69509f8e420281635e9d92989af9f0a0483f7"; + + meta = { + description = "Command-line options parser for Erlang"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/jcomellas/getopt"; + }; + } + ) {}; + + getopt = getopt_0_8_2; + + goldrush_0_1_7 = callPackage + ( + { buildHex }: + buildHex { + name = "goldrush"; + version = "0.1.7"; + sha256 = + "a94a74cd363ce5f4970ed8242c551ec62b71939db1bbfd2e030142cab25a4ffe"; + + meta = { + description = + "Small, Fast event processing and monitoring for Erlang/OTP applications. +"; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/DeadZen/goldrush"; + }; + } + ) {}; + + goldrush = goldrush_0_1_7; + + gproc_0_3_1 = callPackage + ( + { buildHex }: + buildHex { + name = "gproc"; + version = "0.3.1"; + sha256 = + "3c449925a5cbf57cc40d13c6c282bc1080b5ed3bad97e1acdbe969fd63a65fce"; + + meta = { + longDescription = ''Gproc is a process dictionary for Erlang, + which provides a number of useful features + beyond what the built-in dictionary has: * Use + any term as a process alias * Register a process + under several aliases * Non-unique properties + can be registered simultaneously by many + processes * QLC and match specification + interface for efficient queries on the + dictionary * Await registration, let's you wait + until a process registers itself * Atomically + give away registered names and properties to + another process * Counters, and aggregated + counters, which automatically maintain the total + of all counters with a given name * Global + registry, with all the above functions applied + to a network of nodes''; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/uwiger/gproc"; + }; + } + ) {}; + + gproc_0_5_0 = callPackage + ( + { buildHex }: + buildHex { + name = "gproc"; + version = "0.5.0"; + sha256 = + "5bc0fa4e999a6665b92ce57a7f12d7e9d1c26bfc39b0f657994be05cd3818b18"; + + meta = { + longDescription = ''Gproc is a process dictionary for Erlang, + which provides a number of useful features + beyond what the built-in dictionary has: * Use + any term as a process alias * Register a process + under several aliases * Non-unique properties + can be registered simultaneously by many + processes * QLC and match specification + interface for efficient queries on the + dictionary * Await registration, let's you wait + until a process registers itself * Atomically + give away registered names and properties to + another process * Counters, and aggregated + counters, which automatically maintain the total + of all counters with a given name * Global + registry, with all the above functions applied + to a network of nodes''; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/uwiger/gproc"; + }; + } + ) {}; + + gproc = gproc_0_5_0; + + gurka_0_1_7 = callPackage + ( + { buildHex }: + buildHex { + name = "gurka"; + version = "0.1.7"; + sha256 = + "b46c96446f46a53411a3b45d126ec19e724178818206ca1d2dd16abff28df6b5"; + + meta = { + description = "Erlang implementation of Cucumber"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + gurka = gurka_0_1_7; + + hackney_1_4_4 = callPackage + ( + { + buildHex, + certifi_0_1_1, + idna_1_0_2, + mimerl_1_0_0, + ssl_verify_hostname_1_0_5 + }: + buildHex { + name = "hackney"; + version = "1.4.4"; + sha256 = + "c8ab2436556d6bce7e85a85adec67f6abeb8c7508668a3e29750be3c4bf4e3a8"; + + erlangDeps = [ + certifi_0_1_1 + idna_1_0_2 + mimerl_1_0_0 + ssl_verify_hostname_1_0_5 + ]; + + meta = { + description = "simple HTTP client"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/benoitc/hackney"; + }; + } + ) {}; + + hamcrest_0_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "hamcrest"; + version = "0.1.1"; + sha256 = + "5207b83e8d3168b9cbbeb3b4c4d83817a38a05f55478510e9c4db83ef83fa0ca"; + + meta = { + description = "Erlang port of Hamcrest"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/hyperthunk/hamcrest-erlang"; + }; + } + ) {}; + + hamcrest = hamcrest_0_1_1; + + hlc_2_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "hlc"; + version = "2.0.0"; + sha256 = + "460ac04654e920e068d1fd17aec1f78b1879cc42ac7f3def7497f0d1cc5056ad"; + + meta = { + description = "hybrid logical clock"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/barrel-db/hlc"; + }; + } + ) {}; + + hlc = hlc_2_0_0; + + hooks_1_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "hooks"; + version = "1.1.1"; + sha256 = + "6834ad3a2a624a5ffd49e9cb146ff49ded423b67f31905b122d24128c72c5c85"; + + meta = { + description = "generic plugin & hook system"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/barrel-db/hooks"; + }; + } + ) {}; + + hooks = hooks_1_1_1; + + http_signature_1_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "http_signature"; + version = "1.1.0"; + sha256 = + "3e6036d9c29289ed0e35dd6f41821dec9061ce20aad3c4d35dcbae8c84eb3baa"; + + meta = { + description = + "Erlang and Elixir implementations of Joyent's HTTP Signature Scheme."; + license = stdenv.lib.licenses.free; + homepage = + "https://github.com/potatosalad/erlang-http_signature"; + }; + } + ) {}; + + http_signature = http_signature_1_1_0; + + ibrowse_4_2_2 = callPackage + ( + { buildHex }: + buildHex { + name = "ibrowse"; + version = "4.2.2"; + sha256 = + "b800cb7442bcc852c6832821e9d0a7098ff626e1415bddaeff4596640b31c0ae"; + + meta = { + description = "Erlang HTTP client application"; + license = with stdenv.lib.licenses; [ free bsd3 ]; + homepage = "https://github.com/cmullaparthi/ibrowse"; + }; + } + ) {}; + + ibrowse = ibrowse_4_2_2; + + idna_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "idna"; + version = "1.0.2"; + sha256 = + "a5d645e307aa4f67efe31682f720b7eaf431ab148b3d6fb66cbaf6314499610f"; + + meta = { + description = "A pure Erlang IDNA implementation"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/benoitc/erlang-idna"; + }; + } + ) {}; + + idna_1_0_3 = callPackage + ( + { buildHex }: + buildHex { + name = "idna"; + version = "1.0.3"; + sha256 = + "357d489a51112db4f216034406834f9172b3c0ff5a12f83fb28b25ca271541d1"; + + meta = { + description = "A pure Erlang IDNA implementation"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/benoitc/erlang-idna"; + }; + } + ) {}; + + idna = idna_1_0_3; + + inaka_aleppo_0_9_5 = callPackage + ( + { buildHex }: + buildHex { + name = "inaka_aleppo"; + version = "0.9.5"; + sha256 = + "58e65aa708a0aae828ad8072f521edca8ce19fc3373223180a348a27a3722eb4"; + + meta = { + description = "Aleppo: ALternative Erlang Pre-ProcessOr"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/inaka/aleppo"; + }; + } + ) {}; + + inaka_aleppo = inaka_aleppo_0_9_5; + + inaka_mixer_0_1_5 = callPackage + ( + { buildHex }: + buildHex { + name = "inaka_mixer"; + version = "0.1.5"; + sha256 = + "37af35b1c17a94a0cb643cba23cba2ca68d6fe51c3ad8337629d4c3c017cc912"; + + meta = { + description = "Mix in public functions from external modules"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/inaka/mixer"; + }; + } + ) {}; + + inaka_mixer = inaka_mixer_0_1_5; + + jc_1_0_4 = callPackage + ( + { buildHex }: + buildHex { + name = "jc"; + version = "1.0.4"; + sha256 = + "8bcfe202084109fc80fcf521e630466fc53cbb909aff4283bed43252664023df"; + + meta = { + description = "A simple, distributed, in-memory caching system"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/jr0senblum/jc"; + }; + } + ) {}; + + jc = jc_1_0_4; + + jsone_1_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "jsone"; + version = "1.2.0"; + sha256 = + "a60e74284d3a923cde65c00a39dd4542fd7da7c22e8385c0378ad419c54b2e08"; + + meta = { + description = "Erlang JSON Library"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/sile/jsone"; + }; + } + ) {}; + + jsone = jsone_1_2_0; + + jsx_1_4_5 = callPackage + ( + { buildHex }: + buildHex { + name = "jsx"; + version = "1.4.5"; + sha256 = + "ff5115611c5dd789cebe3addc07d18b86340f701c52ad063caba6fe8da3a489b"; + + meta = { + longDescription = ''an erlang application for consuming, + producing and manipulating json. inspired by + yajl''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/talentdeficit/jsx"; + }; + } + ) {}; + + jsx_2_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "jsx"; + version = "2.2.0"; + sha256 = + "d0bbc1ef47fd2fed84e28faed66918cf9eceed03b7ded48a23076e716fdbc84f"; + + meta = { + longDescription = ''an erlang application for consuming, + producing and manipulating json. inspired by + yajl''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/talentdeficit/jsx"; + }; + } + ) {}; + + jsx_2_6_2 = callPackage + ( + { buildHex }: + buildHex { + name = "jsx"; + version = "2.6.2"; + sha256 = + "6bfccb6461cc3c7d5cc63f3e69ffeb2f1f8de50eca5980065311c056a69a907f"; + + meta = { + longDescription = ''an erlang application for consuming, + producing and manipulating json. inspired by + yajl''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/talentdeficit/jsx"; + }; + } + ) {}; + + jsx_2_7_1 = callPackage + ( + { buildHex }: + buildHex { + name = "jsx"; + version = "2.7.1"; + sha256 = + "52d0e8bda0c8624bc59c3119236eb49bb66289702ea3d59ad76fd2a56cdf9089"; + + meta = { + longDescription = ''an erlang application for consuming, + producing and manipulating json. inspired by + yajl''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/talentdeficit/jsx"; + }; + } + ) {}; + + jsx_2_7_2 = callPackage + ( + { buildHex }: + buildHex { + name = "jsx"; + version = "2.7.2"; + sha256 = + "36ca4772c09d69efc9e069aec7327cbd57d53d56c9a2777d8fb3bf3c1eab6df3"; + + meta = { + longDescription = ''an erlang application for consuming, + producing and manipulating json. inspired by + yajl''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/talentdeficit/jsx"; + }; + } + ) {}; + + jsx_2_8_0 = callPackage + ( + { buildHex }: + buildHex { + name = "jsx"; + version = "2.8.0"; + sha256 = + "a8ba15d5bac2c48b2be1224a0542ad794538d79e2cc16841a4e24ca75f0f8378"; + + meta = { + longDescription = ''an erlang application for consuming, + producing and manipulating json. inspired by + yajl''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/talentdeficit/jsx"; + }; + } + ) {}; + + jsx = jsx_2_8_0; + + jsxd_0_1_10 = callPackage + ( + { buildHex }: + buildHex { + name = "jsxd"; + version = "0.1.10"; + sha256 = + "f71a8238f08a1dee130e8959ff5343524891fa6531392667a5b911cead5f5082"; + + meta = { + description = + "jsx data structire traversing and modification library."; + license = stdenv.lib.licenses.cddl; + homepage = "https://github.com/Licenser/jsxd"; + }; + } + ) {}; + + jsxd = jsxd_0_1_10; + + jwalk_1_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "jwalk"; + version = "1.1.0"; + sha256 = + "10c150910ba3539583887cb2b5c3f70d602138471e6f6b5c22498aa18ed654e1"; + + meta = { + longDescription = ''Helper module for working with Erlang + proplist, map, EEP-18 and mochijson-style + representations of JSON''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/jr0senblum/jwalk"; + }; + } + ) {}; + + jwalk = jwalk_1_1_0; + + jwt_0_1_1 = callPackage + ( + { buildHex, base64url_0_0_1, jsx_2_8_0 }: + buildHex { + name = "jwt"; + version = "0.1.1"; + sha256 = + "abcff4a2a42af2b7b7bdf55eeb2b73ce2e3bef760750004e74bc5835d64d2188"; + + erlangDeps = [ base64url_0_0_1 jsx_2_8_0 ]; + + meta = { + description = "Erlang JWT library"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/artemeff/jwt"; + }; + } + ) {}; + + jwt = jwt_0_1_1; + + key2value_1_4_0 = callPackage + ( + { buildHex }: + buildHex { + name = "key2value"; + version = "1.4.0"; + sha256 = + "ad63453fcf54ab853581b78c6d2df56be41ea691ba4bc05920264c19f35a0ded"; + + meta = { + description = "Erlang 2-way Map"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/key2value"; + }; + } + ) {}; + + key2value_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "key2value"; + version = "1.5.1"; + sha256 = + "2a40464b9f8ef62e8828d869ac8d2bf9135b4956d29ba4eb044e8522b2d35ffa"; + + meta = { + description = "Erlang 2-way Map"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/key2value"; + }; + } + ) {}; + + key2value = key2value_1_5_1; + + keys1value_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "keys1value"; + version = "1.5.1"; + sha256 = + "2385132be0903c170fe21e54a0c3e746a604777b66ee458bb6e5f25650d3354f"; + + meta = { + description = "Erlang Set Associative Map For Key Lists"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/keys1value"; + }; + } + ) {}; + + keys1value = keys1value_1_5_1; + + lager_3_0_1 = callPackage + ( + { buildHex, goldrush_0_1_7 }: + buildHex { + name = "lager"; + version = "3.0.1"; + sha256 = + "d32c9233105b72dc5c1f6a8fe9a33cc205ecccc359c4449950060cee5a329e35"; + + erlangDeps = [ goldrush_0_1_7 ]; + + meta = { + description = "Erlang logging framework"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/basho/lager"; + }; + } + ) {}; + + lager_3_0_2 = callPackage + ( + { buildHex, goldrush_0_1_7 }: + buildHex { + name = "lager"; + version = "3.0.2"; + sha256 = + "527f3b233e01b6cb68780c14ef675ed08ec02247dc029cacecbb56c78dfca100"; + + erlangDeps = [ goldrush_0_1_7 ]; + + meta = { + description = "Erlang logging framework"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/basho/lager"; + }; + } + ) {}; + + lager = lager_3_0_2; + + + lhttpc_1_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "lhttpc"; + version = "1.3.0"; + sha256 = + "ddd2bd4b85159bc987c954b14877168e6a3c3e516105702189776e97c50296a4"; + + meta = { + description = "Lightweight HTTP/1.1 client"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/talko/lhttpc"; + }; + } + ) {}; + + lhttpc = lhttpc_1_3_0; + + libsnarlmatch_0_1_7 = callPackage + ( + { buildHex }: + buildHex { + name = "libsnarlmatch"; + version = "0.1.7"; + sha256 = + "72e9bcf7968e75774393778146ac6596116f1c60136dd607ad249183684ee380"; + + meta = { + description = "permission matcher library"; + license = stdenv.lib.licenses.cddl; + homepage = "https://github.com/project-fifo/libsnarlmatch"; + }; + } + ) {}; + + libsnarlmatch = libsnarlmatch_0_1_7; + + lru_1_3_1 = callPackage + ( + { buildHex }: + buildHex { + name = "lru"; + version = "1.3.1"; + sha256 = + "cd6ac15c383d58cd2933df9cb918617b24b12b6e5fb24d94c4c8f200fd93f619"; + + meta = { + description = "implements a fixed-size LRU cache"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/barrel-db/erlang-lru"; + }; + } + ) {}; + + lru = lru_1_3_1; + + lz4_0_2_2 = callPackage + ( + { buildHex }: + buildHex { + name = "lz4"; + version = "0.2.2"; + sha256 = + "a59522221e7cdfe3792bf8b3bb21cfe7ac657790e5826201fa2c5d0bc7484a2d"; + compilePort = true; + + meta = { + description = "LZ4 bindings for Erlang"; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/szktty/erlang-lz4.git"; + }; + } + ) {}; + + lz4 = lz4_0_2_2; + + mcrypt_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "mcrypt"; + version = "0.1.0"; + sha256 = + "508a35ba255190f80309dcabf9c81c88b86b9ec13af180627ad51b8e5cf2a4cd"; + compilePort = true; + + meta = { + description = "NIF wrapper around libmcrypt."; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/system76/elixir-mcrypt"; + }; + } + ) {}; + + mcrypt = mcrypt_0_1_0; + + mdns_server_0_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "mdns_server"; + version = "0.2.0"; + sha256 = + "bc9465880e15e57033960ab6820258b87134bef69032210c67e53e3718e289d0"; + + meta = { + description = "mDNS service discovery server"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/Licenser/erlang-mdns-server"; + }; + } + ) {}; + + mdns_server = mdns_server_0_2_0; + + mdns_server_lib_0_2_3 = callPackage + ( + { buildHex, lager_3_0_2, mdns_server_0_2_0, ranch_1_1_0 }: + buildHex { + name = "mdns_server_lib"; + version = "0.2.3"; + sha256 = + "078775ccea5d768095716ca6bd82f657601203352495d9726f4cc080c8c07695"; + + erlangDeps = [ lager_3_0_2 mdns_server_0_2_0 ranch_1_1_0 ]; + + meta = { + description = + "server side for mdns client server implementation"; + license = stdenv.lib.licenses.cddl; + homepage = "https://github.com/Licenser/mdns_server_lib"; + }; + } + ) {}; + + mdns_server_lib = mdns_server_lib_0_2_3; + + meck_0_8_3 = callPackage + ( + { buildHex }: + buildHex { + name = "meck"; + version = "0.8.3"; + sha256 = + "53bd3873d0193d6b2b4a165cfc4b9ffc3934355c3ba19e88239ef6a027cc02b6"; + + meta = { + description = "A mocking framework for Erlang"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/eproxus/meck"; + }; + } + ) {}; + + meck_0_8_4 = callPackage + ( + { buildHex }: + buildHex { + name = "meck"; + version = "0.8.4"; + sha256 = + "2cdfbd0edd8f62b3d2061efc03c0e490282dd2ea6de44e15d2006e83f4f8eead"; + + meta = { + description = "A mocking framework for Erlang"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/eproxus/meck"; + }; + } + ) {}; + + meck = meck_0_8_4; + + metrics_0_2_1 = callPackage + ( + { buildHex }: + buildHex { + name = "metrics"; + version = "0.2.1"; + sha256 = + "1cccc3534fa5a7861a3dcc0414afba00a616937e82c95d6172a523a5d2e97c03"; + + meta = { + description = + "A generic interface to different metrics systems in Erlang."; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/benoitc/erlang-metrics"; + }; + } + ) {}; + + metrics = metrics_0_2_1; + + mimerl_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "mimerl"; + version = "1.0.0"; + sha256 = + "a30b01104a29bd3a363db8646e4ce0f7980f9ecd23a98707c46c3ced918c41b4"; + + meta = { + description = "Library to handle mimetypes"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/benoitc/mimerl"; + }; + } + ) {}; + + mimerl_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "mimerl"; + version = "1.0.2"; + sha256 = + "7a4c8e1115a2732a67d7624e28cf6c9f30c66711a9e92928e745c255887ba465"; + + meta = { + description = "Library to handle mimetypes"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/benoitc/mimerl"; + }; + } + ) {}; + + mimerl_1_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "mimerl"; + version = "1.1.0"; + sha256 = + "def0f1922a5dcdeeee6e4f41139b364e7f0f40239774b528a0986b12bcb42ddc"; + + meta = { + description = "Library to handle mimetypes"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/benoitc/mimerl"; + }; + } + ) {}; + + mimerl = mimerl_1_1_0; + + mochiweb_2_12_2 = callPackage + ( + { buildHex }: + buildHex { + name = "mochiweb"; + version = "2.12.2"; + sha256 = + "d3e681d4054b74a96cf2efcd09e94157ab83a5f55ddc4ce69f90b8144673bd7a"; + + meta = { + description = + "MochiWeb is an Erlang library for building lightweight HTTP servers. +"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/mochi/mochiweb"; + }; + } + ) {}; + + mochiweb = mochiweb_2_12_2; + + mtx_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "mtx"; + version = "1.0.0"; + sha256 = + "3bdcb209fe3cdfc5a6b5b95f619ecd123b7ee1d9203ace2178c8ff73be5bb90f"; + + meta = { + description = "Metrics Client"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/synrc/mtx"; + }; + } + ) {}; + + mtx = mtx_1_0_0; + + nacl_0_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "nacl"; + version = "0.3.0"; + sha256 = + "83a626d0ddd17a9c9528aa57a79e0e19746a42def007bc48c4984f0905098a7b"; + compilePort = true; + + meta = { + description = "Erlang-NaCl hex package"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tonyg/erlang-nacl"; + }; + } + ) {}; + + nacl = nacl_0_3_0; + + neotoma_1_7_3 = callPackage + ( + { buildHex }: + buildHex { + name = "neotoma"; + version = "1.7.3"; + sha256 = + "2da322b9b1567ffa0706a7f30f6bbbde70835ae44a1050615f4b4a3d436e0f28"; + + meta = { + description = "PEG/Packrat toolkit and parser-generator."; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/seancribbs/neotoma"; + }; + } + ) {}; + + neotoma = neotoma_1_7_3; + + observer_cli_1_0_3 = callPackage + ( + { buildHex, recon_2_2_1 }: + buildHex { + name = "observer_cli"; + version = "1.0.3"; + sha256 = + "18e5d9aa5412ec063cf9719bcfe73bf990c5fed5c9a3c8422c2b5d9529fc8b0d"; + + erlangDeps = [ recon_2_2_1 ]; + + meta = { + description = "Visualize Erlang Nodes On The Command Line"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/zhongwencool/observer_cli"; + }; + } + ) {}; + + observer_cli = observer_cli_1_0_3; + + p1_stringprep_1_0_0 = callPackage + ( + { buildHex, p1_utils_1_0_1 }: + buildHex { + name = "p1_stringprep"; + version = "1.0.0"; + sha256 = + "2a9ce90acb64089f0a34cc592690b398830a5b6fd3c8a84689af5d2feb85d876"; + compilePort = true; + erlangDeps = [ p1_utils_1_0_1 ]; + + meta = { + description = "Fast Stringprep Erlang / Elixir implementation"; + license = with stdenv.lib.licenses; [ asl20 free ]; + homepage = "https://github.com/processone/stringprep"; + }; + } + ) {}; + + p1_stringprep = p1_stringprep_1_0_0; + + p1_utils_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "p1_utils"; + version = "1.0.0"; + sha256 = + "b2c6316286b071f2f667fb1c59b44fe0c996917515fa93374a4a3264affc5105"; + + meta = { + description = "Erlang utility modules from ProcessOne"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/p1_utils"; + }; + } + ) {}; + + p1_utils_1_0_1 = callPackage + ( + { buildHex }: + buildHex { + name = "p1_utils"; + version = "1.0.1"; + sha256 = + "8e19478439c3ef05229fbd4fb65ff2e4aee02458a9c2b86a103a7f1384b76fdb"; + + meta = { + description = "Erlang utility modules from ProcessOne"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/p1_utils"; + }; + } + ) {}; + + p1_utils_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "p1_utils"; + version = "1.0.2"; + sha256 = + "c4b770fd925f2fc6c301a1e27f1bfb77aff3fff8d0951cc56c06bef9835af918"; + + meta = { + description = "Erlang utility modules from ProcessOne"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/p1_utils"; + }; + } + ) {}; + + p1_utils_1_0_3 = callPackage + ( + { buildHex }: + buildHex { + name = "p1_utils"; + version = "1.0.3"; + sha256 = + "6bf7dc7108eee70e036ea745faf5f55b4354e267f14371ea13338f58ce402d5e"; + + meta = { + description = "Erlang utility modules from ProcessOne"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/p1_utils"; + }; + } + ) {}; + + p1_utils = p1_utils_1_0_3; + + p1_xml_1_1_1 = callPackage + ( + { buildHex, p1_utils_1_0_0 }: + buildHex { + name = "p1_xml"; + version = "1.1.1"; + sha256 = + "ab68956163cc5ff8c749c503507a36c543841259e78c58a2bbe0ebe76a0b7ce3"; + compilePort = true; + erlangDeps = [ p1_utils_1_0_0 ]; + + meta = { + description = + "XML parsing library. Now obsolete. Use fast_xml instead"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/processone/xml"; + }; + } + ) {}; + + p1_xml = p1_xml_1_1_1; + + pc_1_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "pc"; + version = "1.2.0"; + sha256 = + "ef0f59d26a25af0a5247ef1a06d28d8300f8624647b02dc521ac79a7eceb8883"; + + meta = { + description = "a rebar3 port compiler for native code"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/blt/port_compiler"; + }; + } + ) {}; + + pc = pc_1_2_0; + + picosat_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "picosat"; + version = "0.1.0"; + sha256 = + "d9bfa31240906306a6dae6bdd6fb1cb452e9462a391efa63017b17b2877cab51"; + compilePort = true; + + meta = { + description = "Erlang bindings for PicoSAT"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tsloughter/picosat"; + }; + } + ) {}; + + picosat = picosat_0_1_0; + + png_0_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "png"; + version = "0.1.1"; + sha256 = + "f8d4a17c118dcc16bb18d0fda6e26947001f9312bc6c061d2236b424fc3dd9ea"; + + meta = { + longDescription = ''A pure Erlang library for creating PNG + images. It can currently create 8 and 16 bit + RGB, RGB with alpha, indexed, grayscale and + grayscale with alpha images.''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/yuce/png"; + }; + } + ) {}; + + png = png_0_1_1; + + poolboy_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "poolboy"; + version = "1.5.1"; + sha256 = + "8f7168911120e13419e086e78d20e4d1a6776f1eee2411ac9f790af10813389f"; + + meta = { + description = "A hunky Erlang worker pool factory"; + license = with stdenv.lib.licenses; [ unlicense asl20 ]; + homepage = "https://github.com/devinus/poolboy"; + }; + } + ) {}; + + poolboy = poolboy_1_5_1; + + pooler_1_5_0 = callPackage + ( + { buildHex }: + buildHex { + name = "pooler"; + version = "1.5.0"; + sha256 = + "f493b4b947967fa4250dd1f96e86a5440ecab51da114d2c256cced58ad991908"; + + meta = { + description = "An OTP Process Pool Application"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/seth/pooler"; + }; + } + ) {}; + + pooler = pooler_1_5_0; + + pot_0_9_3 = callPackage + ( + { buildHex }: + buildHex { + name = "pot"; + version = "0.9.3"; + sha256 = + "752d2605c15605cd455cb3514b1ce329309eb61dfa88397dce49772dac9ad581"; + + meta = { + description = "One Time Passwords for Erlang"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + pot = pot_0_9_3; + + pqueue_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "pqueue"; + version = "1.5.1"; + sha256 = + "7ba01afe6b50ea4b239fa770f9e2c2db4871b3927ac44aea180d1fd52601b317"; + + meta = { + description = "Erlang Priority Queue Implementation"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/pqueue"; + }; + } + ) {}; + + pqueue = pqueue_1_5_1; + + proper_1_1_1_beta = callPackage + ( + { buildHex }: + buildHex { + name = "proper"; + version = "1.1.1-beta"; + sha256 = + "bde5c0fef0f8d804a7c06aab4f293d19f42149e5880b3412b75efa608e86d342"; + + meta = { + description = + "QuickCheck-inspired property-based testing tool for Erlang."; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/manopapad/proper"; + }; + } + ) {}; + + proper = proper_1_1_1_beta; + + providers_1_6_0 = callPackage + ( + { buildHex, getopt_0_8_2 }: + buildHex { + name = "providers"; + version = "1.6.0"; + sha256 = + "0f6876529a613d34224de8c61d3660388eb981142360f2699486d8536050ce2f"; + + erlangDeps = [ getopt_0_8_2 ]; + + meta = { + description = "Providers provider."; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tsloughter/providers"; + }; + } + ) {}; + + providers = providers_1_6_0; + + quickrand_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "quickrand"; + version = "1.5.1"; + sha256 = + "0b3dcc6ddb23319c1f6a5ed143778864b8ad2f0ebd693a2d121cf5ae0c4db507"; + + meta = { + longDescription = ''Quick Random Number Generation: Provides a + simple interface to call efficient random number + generation functions based on the context. + Proper random number seeding is enforced.''; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/quickrand"; + }; + } + ) {}; + + quickrand = quickrand_1_5_1; + + quintana_0_2_0 = callPackage + ( + { buildHex, folsom_0_8_3 }: + buildHex { + name = "quintana"; + version = "0.2.0"; + sha256 = + "0646fe332ca3415ca6b0b273b4a5689ec902b9f9004ca62229ded00bd5f64cda"; + + erlangDeps = [ folsom_0_8_3 ]; + + meta = { + description = "Wrapper around some Folsom functions"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + quintana_0_2_1 = callPackage + ( + { buildHex, folsom_0_8_3 }: + buildHex { + name = "quintana"; + version = "0.2.1"; + sha256 = + "d4683eb33c71f6cab3b17b896b4fa9180f17a0a8b086440bfe0c5675182f0194"; + + erlangDeps = [ folsom_0_8_3 ]; + + meta = { + description = "Wrapper around some Folsom functions"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + quintana = quintana_0_2_1; + + rabbit_common_3_5_6 = callPackage + ( + { buildHex }: + buildHex { + name = "rabbit_common"; + version = "3.5.6"; + sha256 = + "9335ab3ebc4e8e140d7bc9b1b0e7ee99c0aa87d0a746b704184121ba35c04f1c"; + + meta = { + longDescription = ''Includes modules which are a runtime + dependency of the RabbitMQ/AMQP Erlang client + and are common to the RabbitMQ server.''; + license = stdenv.lib.licenses.mpl11; + homepage = "https://github.com/jbrisbin/rabbit_common"; + }; + } + ) {}; + + rabbit_common = rabbit_common_3_5_6; + + ranch_1_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "ranch"; + version = "1.1.0"; + sha256 = + "98ade939e63e6567da5dec5bc5bd93cbdc53d53f8b1aa998adec60dc4057f048"; + + meta = { + description = "Socket acceptor pool for TCP protocols."; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/ninenines/ranch"; + }; + } + ) {}; + + ranch_1_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "ranch"; + version = "1.2.0"; + sha256 = + "82bbb48cdad151000f7ad600d7a29afd972df409fde600bbc9b1ed4fdc08c399"; + + meta = { + description = "Socket acceptor pool for TCP protocols."; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/ninenines/ranch"; + }; + } + ) {}; + + ranch = ranch_1_2_0; + + ratx_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "ratx"; + version = "0.1.0"; + sha256 = + "fbf933ff32fdc127200880f5b567820bf03504ade1bd697ffbc0535dbafc23d6"; + + meta = { + description = + "Rate limiter and overload protection for erlang and elixir applications. +"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/liveforeverx/ratx"; + }; + } + ) {}; + + ratx = ratx_0_1_0; + + rebar3_asn1_compiler_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar3_asn1_compiler"; + version = "1.0.0"; + sha256 = + "25ec1d5c97393195650ac8c7a06a267a886a1479950ee047c43b5228c07b30b9"; + + meta = { + description = "Compile ASN.1 modules with Rebar3"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/pyykkis/rebar3_asn1_compiler"; + }; + } + ) {}; + + rebar3_asn1_compiler = rebar3_asn1_compiler_1_0_0; + + rebar3_auto_0_3_0 = callPackage + ( + { buildHex, enotify_0_1_0 }: + buildHex { + name = "rebar3_auto"; + version = "0.3.0"; + sha256 = + "9fcca62411b0b7680426bd911002c0769690aef3838829583ffa4547fd5038b5"; + + erlangDeps = [ enotify_0_1_0 ]; + + meta = { + description = "Rebar3 plugin for auto compiling on changes"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tsloughter/rebar3_auto"; + }; + } + ) {}; + + rebar3_auto = rebar3_auto_0_3_0; + + rebar3_diameter_compiler_0_3_1 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar3_diameter_compiler"; + version = "0.3.1"; + sha256 = + "c5965e3810ccf9ef9ba9185a81fe569ef6e9f3a9e546e99c5e900736b0c39274"; + + meta = { + description = "Compile diameter .dia files"; + license = stdenv.lib.licenses.mit; + homepage = + "https://github.com/carlosedp/rebar3_diameter_compiler"; + }; + } + ) {}; + + rebar3_diameter_compiler = rebar3_diameter_compiler_0_3_1; + + rebar3_hex_1_12_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar3_hex"; + version = "1.12.0"; + sha256 = + "45467e93ae8d776c6038fdaeaffbc55d8f2f097f300a54dab9b81c6d1cf21f73"; + + meta = { + description = "Hex.pm plugin for rebar3"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tsloughter/rebar3_hex"; + }; + } + ) {}; + + rebar3_hex = rebar3_hex_1_12_0; + + rebar3_idl_compiler_0_3_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar3_idl_compiler"; + version = "0.3.0"; + sha256 = + "31ba95205c40b990cb3c49abb397abc47b4d5f9c402db83f9daebbc44e69789d"; + + meta = { + description = "Rebar3 IDL Compiler"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/sebastiw/rebar3_idl_compiler"; + }; + } + ) {}; + + rebar3_idl_compiler = rebar3_idl_compiler_0_3_0; + + rebar3_live_0_1_3 = callPackage + ( + { buildHex, enotify_0_1_0 }: + buildHex { + name = "rebar3_live"; + version = "0.1.3"; + sha256 = + "d9ee2ff022fc73ac94f206c13ff8aa7591a536704f49c4cbacabf37d181a4391"; + + erlangDeps = [ enotify_0_1_0 ]; + + meta = { + description = "Rebar3 live plugin"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/pvmart/rebar3_live"; + }; + } + ) {}; + + rebar3_live = rebar3_live_0_1_3; + + rebar3_neotoma_plugin_0_2_0 = callPackage + ( + { buildHex, neotoma_1_7_3 }: + buildHex { + name = "rebar3_neotoma_plugin"; + version = "0.2.0"; + sha256 = + "c0ebbdb08c017cac90c7d3310a9bd4a5088a46abd4e2fef9e9a9805a657396b8"; + + erlangDeps = [ neotoma_1_7_3 ]; + + meta = { + description = "Neotoma rebar plugin"; + license = stdenv.lib.licenses.free; + homepage = + "https://github.com/zamotivator/rebar3_neotoma_plugin"; + }; + } + ) {}; + + rebar3_neotoma_plugin = rebar3_neotoma_plugin_0_2_0; + + rebar3_proper_plugin_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar3_proper_plugin"; + version = "0.1.0"; + sha256 = + "7071555afb623e73a2c572de6d4379f9c197b44e68608944eb2835617faed10d"; + + meta = { + description = "A rebar plugin"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + rebar3_proper_plugin = rebar3_proper_plugin_0_1_0; + + rebar3_run_0_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar3_run"; + version = "0.2.0"; + sha256 = + "321e0647893957d1bb05a88d940a8a3b9129097d63529e13f815c4857bf29497"; + compilePort = true; + + meta = { + description = "A rebar plugin"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/tsloughter/rebar3_run"; + }; + } + ) {}; + + rebar3_run = rebar3_run_0_2_0; + + rebar_alias_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar_alias"; + version = "0.1.0"; + sha256 = + "59fb42b39964af3a29ebe94c11247f618dd4d5e4e1a69cfaffabbed03ccff70f"; + + meta = { + description = "A rebar plugin"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + rebar_alias = rebar_alias_0_1_0; + + rebar_erl_vsn_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "rebar_erl_vsn"; + version = "0.1.0"; + sha256 = + "7cf1e2e85a80785a4e4e1529a2c837dbd2d540214cf791214e56f931e5e9865d"; + + meta = { + description = "defines for erlang versions"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + rebar_erl_vsn = rebar_erl_vsn_0_1_0; + + recon_2_2_1 = callPackage + ( + { buildHex }: + buildHex { + name = "recon"; + version = "2.2.1"; + sha256 = + "6c548ad0f4916495a78977674a251847869f85b5125b7c2a44da3178955adfd1"; + + meta = { + longDescription = ''Recon wants to be a set of tools usable in + production to diagnose Erlang problems or + inspect production environment safely.''; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/ferd/recon"; + }; + } + ) {}; + + recon = recon_2_2_1; + + redo_2_0_1 = callPackage + ( + { buildHex }: + buildHex { + name = "redo"; + version = "2.0.1"; + sha256 = + "f7b2be8c825ec34413c54d8f302cc935ce4ecac8421ae3914c5dadd816dcb1e6"; + + meta = { + description = "Pipelined Redis Erlang Driver"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/heroku/redo"; + }; + } + ) {}; + + redo = redo_2_0_1; + + relflow_1_0_4 = callPackage + ( + { buildHex }: + buildHex { + name = "relflow"; + version = "1.0.4"; + sha256 = + "e6d9652ed7511aea18fa012d5abc19301acd8cbe81a44a159391086a5be12e1f"; + + meta = { + description = "Rebar3 release workflow plugin"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + relflow = relflow_1_0_4; + + reltool_util_1_4_0 = callPackage + ( + { buildHex }: + buildHex { + name = "reltool_util"; + version = "1.4.0"; + sha256 = + "a625874976fffe8ab56d4b5b7d5fd37620a2692462bbe24ae003ab13052ef0d3"; + + meta = { + description = "Erlang reltool utility functionality application"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/reltool_util"; + }; + } + ) {}; + + reltool_util_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "reltool_util"; + version = "1.5.1"; + sha256 = + "746e16871afdcf85d8a115389193c8d660d0df1d26d6ac700590e0ad252646b1"; + + meta = { + description = "Erlang reltool utility functionality application"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/reltool_util"; + }; + } + ) {}; + + reltool_util = reltool_util_1_5_1; + + relx_3_11_0 = callPackage + ( + { + buildHex, + bbmustache_1_0_4, + cf_0_2_1, + erlware_commons_0_18_0, + getopt_0_8_2, + providers_1_6_0 + }: + buildHex { + name = "relx"; + version = "3.11.0"; + sha256 = + "cf212af96003417ff710e0c9df46034ae14c880a74919df91563e4f149d5c798"; + + erlangDeps = [ + bbmustache_1_0_4 + cf_0_2_1 + erlware_commons_0_18_0 + getopt_0_8_2 + providers_1_6_0 + ]; + + meta = { + description = "Release assembler for Erlang/OTP Releases"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/erlware/relx"; + }; + } + ) {}; + + relx = relx_3_11_0; + + reup_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "reup"; + version = "0.1.0"; + sha256 = + "949a672190119f8b24160167e3685fdd5397474f98dc875ccfd31378ebd68506"; + + meta = { + description = + "dev watcher that auto compiles and reloads modules"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + reup = reup_0_1_0; + + savory_0_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "savory"; + version = "0.0.2"; + sha256 = + "a45ef32a6f45092e1328bc1eb47bda3c8f992afe863aaa73c455f31b0c8591b9"; + + meta = { + longDescription = ''An Elixir implementation of Freza's salt_nif + which interfaces with libsodium, a wrapper for + the cryptographic primitive libary NaCl. ''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/electricFeel/savory"; + }; + } + ) {}; + + savory = savory_0_0_2; + + sbroker_0_7_0 = callPackage + ( + { buildHex }: + buildHex { + name = "sbroker"; + version = "0.7.0"; + sha256 = + "5bc0bfd79896fd5b92072a71fa4a1e120f4110f2cf9562a0b9dd2fcfe9e5cfd2"; + + meta = { + description = + "Process broker for dispatching with backpressure and load shedding"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/fishcakez/sbroker"; + }; + } + ) {}; + + sbroker = sbroker_0_7_0; + + serial_0_1_2 = callPackage + ( + { buildHex }: + buildHex { + name = "serial"; + version = "0.1.2"; + sha256 = + "c0aed287f565b7ce1e1091a6a3dd08fd99bf0884c81b53ecf978c502ef652231"; + + meta = { + description = "Serial communication through Elixir ports"; + license = stdenv.lib.licenses.isc; + homepage = "https://github.com/bitgamma/elixir_serial"; + }; + } + ) {}; + + serial = serial_0_1_2; + + sfmt_0_10_1 = callPackage + ( + { buildHex }: + buildHex { + name = "sfmt"; + version = "0.10.1"; + sha256 = + "5f9d8206762306743986a3f35602bb40b35bcff68752a8ae12519c0b7c25fab2"; + compilePort = true; + + meta = { + description = + "SIMD-oriented Fast Mersenne Twister (SFMT) for Erlang. +"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/jj1bdx/sfmt-erlang/"; + }; + } + ) {}; + + sfmt = sfmt_0_10_1; + + sidejob_2_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "sidejob"; + version = "2.0.0"; + sha256 = + "19fea24060a1d0d37e78480fbd79d6b95e07f445aad725f7124a23194641c743"; + + meta = { + longDescription = ''sidejob is an Erlang library that implements + a parallel, capacity-limited request pool. In + sidejob, these pools are called resources. A + resource is managed by multiple gen_server like + processes which can be sent calls and casts + using sidejob:call or sidejob:cast respectively. + This library was originally written to support + process bounding in Riak using the + sidejob_supervisor behavior. In Riak, this is + used to limit the number of concurrent get/put + FSMs that can be active, failing client requests + with {error, overload} if the limit is ever hit. + The purpose being to provide a fail-safe + mechanism during extreme overload scenarios. ''; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/basho/sidejob"; + }; + } + ) {}; + + sidejob = sidejob_2_0_0; + + siphash_2_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "siphash"; + version = "2.1.1"; + sha256 = + "69f2a3b8acac101f7894ea80c15b29dbf7dfa55ea2800731cd5d04621cc22eee"; + compilePort = true; + + meta = { + description = "Elixir implementation of the SipHash hash family"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/zackehh/siphash-elixir"; + }; + } + ) {}; + + siphash = siphash_2_1_1; + + slp_0_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "slp"; + version = "0.0.2"; + sha256 = + "27e5f7330c7ce631f16e3ec5781b31cbb2247d2bcdeab1e979a66dcc4397bd77"; + + meta = { + longDescription = ''An Elixir application for using the Service + Location Protocol. SLP is a commonly used + service discovery protocol.''; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/stuart/elixir_slp"; + }; + } + ) {}; + + slp = slp_0_0_2; + + smurf_0_1_3 = callPackage + ( + { buildHex }: + buildHex { + name = "smurf"; + version = "0.1.3"; + sha256 = + "5ed8e18ec8eea0647e7e938ce15cc76e59497d0a259cea15124520a48f0d6be6"; + + meta = { + description = "SMF interfacing library for erlang"; + license = stdenv.lib.licenses.cddl; + homepage = "https://github.com/project-fifo/smurf"; + }; + } + ) {}; + + smurf = smurf_0_1_3; + + snappy_1_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "snappy"; + version = "1.1.1"; + sha256 = + "7faed3ec6bcac363c2a6f09b4f000a12c8166b42b3bf70228d532f8afcfbcb6a"; + compilePort = true; + + meta = { + description = + "snappy compressor/decompressor Erlang NIF wrapper"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/barrel-db/snappy"; + }; + } + ) {}; + + snappy = snappy_1_1_1; + + ssl_verify_hostname_1_0_5 = callPackage + ( + { buildHex }: + buildHex { + name = "ssl_verify_hostname"; + version = "1.0.5"; + sha256 = + "f2cb11e6144e10ab39d1e14bf9fb2437b690979c70bf5428e9dc4bfaf1dfeabf"; + + meta = { + description = "Hostname verification library for Erlang"; + license = stdenv.lib.licenses.mit; + homepage = + "https://github.com/deadtrickster/ssl_verify_hostname.erl"; + }; + } + ) {}; + + ssl_verify_hostname_1_0_6 = callPackage + ( + { buildHex }: + buildHex { + name = "ssl_verify_hostname"; + version = "1.0.6"; + sha256 = + "72b2fc8a8e23d77eed4441137fefa491bbf4a6dc52e9c0045f3f8e92e66243b5"; + + meta = { + description = "Hostname verification library for Erlang"; + license = stdenv.lib.licenses.mit; + homepage = + "https://github.com/deadtrickster/ssl_verify_hostname.erl"; + }; + } + ) {}; + + ssl_verify_hostname = ssl_verify_hostname_1_0_6; + + strftimerl_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "strftimerl"; + version = "0.1.0"; + sha256 = + "8c372b282b31f3de24ed1281d4974087421fc44a27d0f31b285ad97a9e6bb616"; + + meta = { + description = "strftime formatting in erlang"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/gmr/strftimerl"; + }; + } + ) {}; + + strftimerl = strftimerl_0_1_0; + + supool_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "supool"; + version = "1.5.1"; + sha256 = + "c191d63ff19ae177bf4cfba02303ae4552d8b48ec4133e24053e037513dfae09"; + + meta = { + description = "Erlang Process Pool as a Supervisor"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/supool"; + }; + } + ) {}; + + supool = supool_1_5_1; + + syslog_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "syslog"; + version = "1.0.2"; + sha256 = + "ca158a84afe482f77cb4668383a6108f1e9190fcdf3035858f426b91b2021bf6"; + compilePort = true; + + meta = { + description = + "Erlang port driver for interacting with syslog via syslog"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/Vagabond/erlang-syslog"; + }; + } + ) {}; + + syslog = syslog_1_0_2; + + tea_crypto_1_0_0 = callPackage + ( + { buildHex }: + buildHex { + name = "tea_crypto"; + version = "1.0.0"; + sha256 = + "0e7e60d0afe79f0624faa8a358a3a00c912cfa548f3632383927abca4db29cc6"; + + meta = { + description = "A TEA implementation in Erlang. +"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/keichan34/tea_crypto"; + }; + } + ) {}; + + tea_crypto = tea_crypto_1_0_0; + + termcap_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "termcap"; + version = "0.1.0"; + sha256 = + "8c5167d68759bd1cd020eeaf5fd94153430fd19fa5a5fdeeb0b3129f0aba2a21"; + + meta = { + description = "Pure erlang termcap library"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + termcap = termcap_0_1_0; + + tinymt_0_2_0 = callPackage + ( + { buildHex }: + buildHex { + name = "tinymt"; + version = "0.2.0"; + sha256 = + "1ab2b2bd4e02ccf3f83ca6b2429c41110adaf2068c727d37a2e27a0207eccfe0"; + + meta = { + description = "Tiny Mersenne Twister (TinyMT) for Erlang +"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/jj1bdx/tinymt-erlang/"; + }; + } + ) {}; + + tinymt = tinymt_0_2_0; + + trie_1_5_0 = callPackage + ( + { buildHex }: + buildHex { + name = "trie"; + version = "1.5.0"; + sha256 = + "613981536e33f58d92e44bd31801376f71deee0e57c63372fe8ab5fbbc37f7dc"; + + meta = { + description = "Erlang Trie Implementation"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/trie"; + }; + } + ) {}; + + trie_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "trie"; + version = "1.5.1"; + sha256 = + "4b845dccfca8962b90584e98d270e2ff43e2e181bb046c4aae0e0f457679f98d"; + + meta = { + description = "Erlang Trie Implementation"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/trie"; + }; + } + ) {}; + + trie = trie_1_5_1; + + tsuru_1_0_2 = callPackage + ( + { buildHex }: + buildHex { + name = "tsuru"; + version = "1.0.2"; + sha256 = + "b586ad8d47799a086e4225494f5e3cf4e306ca255a173a4b48fe51d542cefb6b"; + + meta = { + description = + "A collection of useful tools for Erlang applications"; + license = stdenv.lib.licenses.mit; + }; + } + ) {}; + + tsuru = tsuru_1_0_2; + + ui_0_1_1 = callPackage + ( + { buildHex }: + buildHex { + name = "ui"; + version = "0.1.1"; + sha256 = + "492da59ca39055c0dfc794a2ebd564adb9ed635402c7b46659981f32aa9d94c1"; + + meta = { + description = "An OTP application"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + ui = ui_0_1_1; + + uri_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "uri"; + version = "0.1.0"; + sha256 = + "3833c3b5745fc0822df86c3a3591219048026fea8a535223b440d26029218996"; + + meta = { + description = "URI Parsing/Encoding Library"; + license = stdenv.lib.licenses.free; + }; + } + ) {}; + + uri = uri_0_1_0; + + varpool_1_5_1 = callPackage + ( + { buildHex }: + buildHex { + name = "varpool"; + version = "1.5.1"; + sha256 = + "ff6059bdcd0efad606e8c54ee623cfeaef59778c18e343dd772e84d99d188e26"; + + meta = { + description = "Erlang Process Pools as a Local Variable"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/okeuday/varpool"; + }; + } + ) {}; + + varpool = varpool_1_5_1; + + weber_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "weber"; + version = "0.1.0"; + sha256 = + "742c45b3c99e207dd0aeccb818edd2ace4af10699c96fbcee0ce2f692dc5fe12"; + + meta = { + description = "weber - is Elixir MVC web framework."; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/elixir-web/weber"; + }; + } + ) {}; + + weber = weber_0_1_0; + + websocket_client_1_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "websocket_client"; + version = "1.1.0"; + sha256 = + "21c3d0df073634f2ca349af5b54a61755d637d6390c34d8d57c064f68ca92acd"; + + meta = { + description = "Erlang websocket client"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/sanmiguel/websocket_client"; + }; + } + ) {}; + + websocket_client = websocket_client_1_1_0; + + worker_pool_1_0_4 = callPackage + ( + { buildHex }: + buildHex { + name = "worker_pool"; + version = "1.0.4"; + sha256 = + "7854a3b94e9624728db3a0475d00e7d0728adf3bf2ee3802bbf8ca10356d6f64"; + + meta = { + description = "Erlang Worker Pool"; + license = stdenv.lib.licenses.free; + homepage = "https://github.com/inaka/worker_pool"; + }; + } + ) {}; + + worker_pool = worker_pool_1_0_4; + + wpa_supplicant_0_1_0 = callPackage + ( + { buildHex }: + buildHex { + name = "wpa_supplicant"; + version = "0.1.0"; + sha256 = + "8a73ca51203401755d42ba636918106540aa3723006dab344dc8a7ec8fa2f3d5"; + + meta = { + longDescription = ''Elixir interface to the wpa_supplicant + daemon. The wpa_supplicant provides application + support for scanning for access points, managing + Wi-Fi connections, and handling all of the + security and other parameters associated with + Wi-Fi. ''; + license = with stdenv.lib.licenses; [ asl20 free ]; + homepage = "https://github.com/fhunleth/wpa_supplicant.ex"; + }; + } + ) {}; + + wpa_supplicant = wpa_supplicant_0_1_0; + + zipper_0_1_4 = callPackage + ( + { buildHex }: + buildHex { + name = "zipper"; + version = "0.1.4"; + sha256 = + "0037f29a5c5a96a9db49e9131f1071a48fcbd5959b74f1d8b6d22945a7ac46b9"; + + meta = { + description = "Generic Zipper Implementation for Erlang"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/inaka/zipper"; + }; + } + ) {}; + + zipper = zipper_0_1_4; + + }; +in self diff --git a/pkgs/development/erlang-modules/hex/esqlite.nix b/pkgs/development/erlang-modules/hex/esqlite.nix deleted file mode 100644 index 1fc3a2e91dc6..000000000000 --- a/pkgs/development/erlang-modules/hex/esqlite.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ buildHex, rebar3-pc }: - -buildHex { - name = "esqlite"; - version = "0.2.1"; - sha256 = "1296fn1lz4lz4zqzn4dwc3flgkh0i6n4sydg501faabfbv8d3wkr"; - compilePorts = true; -} diff --git a/pkgs/development/erlang-modules/hex/goldrush.nix b/pkgs/development/erlang-modules/hex/goldrush.nix deleted file mode 100644 index ddff7f6cc56d..000000000000 --- a/pkgs/development/erlang-modules/hex/goldrush.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ buildHex, fetchurl }: - -buildHex { - name = "goldrush"; - version = "0.1.7"; - sha256 = "1zjgbarclhh10cpgvfxikn9p2ay63rajq96q1sbz9r9w6v6p8jm9"; -} diff --git a/pkgs/development/erlang-modules/hex/ibrowse.nix b/pkgs/development/erlang-modules/hex/ibrowse.nix deleted file mode 100644 index 6ed189eb39d2..000000000000 --- a/pkgs/development/erlang-modules/hex/ibrowse.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ buildHex }: - -buildHex { - name = "ibrowse"; - version = "4.2.2"; - sha256 = "1bn0645n95j5zypdsns1w4kgd3q9lz8fj898hg355j5w89scn05q"; -} - diff --git a/pkgs/development/erlang-modules/hex/jiffy.nix b/pkgs/development/erlang-modules/hex/jiffy.nix deleted file mode 100644 index b9f92c888a45..000000000000 --- a/pkgs/development/erlang-modules/hex/jiffy.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ buildHex }: - -buildHex { - name = "jiffy"; - version = "0.14.5"; - hexPkg = "barrel_jiffy"; - sha256 = "0iqz8bp0f672c5rfy5dpw9agv2708wzldd00ngbsffglpinlr1wa"; -} diff --git a/pkgs/development/erlang-modules/hex/lager.nix b/pkgs/development/erlang-modules/hex/lager.nix deleted file mode 100644 index acfefd5757c0..000000000000 --- a/pkgs/development/erlang-modules/hex/lager.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ buildHex, goldrush }: - -buildHex { - name = "lager"; - version = "3.0.2"; - sha256 = "0051zj6wfmmvxjn9q0nw8wic13nhbrkyy50cg1lcpdh17qiknzsj"; - erlangDeps = [ goldrush ]; -} diff --git a/pkgs/development/erlang-modules/hex/meck.nix b/pkgs/development/erlang-modules/hex/meck.nix deleted file mode 100644 index 5af8a15a908d..000000000000 --- a/pkgs/development/erlang-modules/hex/meck.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ stdenv, buildHex }: - -buildHex { - name = "meck"; - version = "0.8.3"; - sha256 = "1dh2rhks1xly4f49x89vbhsk8fgwkx5zqp0n98mnng8rs1rkigak"; - - meta = { - description = "A mocking framework for Erlang"; - homepage = "https://github.com/eproxus/meck"; - license = stdenv.lib.licenses.apsl20; - }; -} diff --git a/pkgs/development/erlang-modules/hex/rebar3-pc.nix b/pkgs/development/erlang-modules/hex/rebar3-pc.nix deleted file mode 100644 index 5bc45d3e3abf..000000000000 --- a/pkgs/development/erlang-modules/hex/rebar3-pc.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ buildHex, goldrush }: - -buildHex { - name = "pc"; - version = "1.1.0"; - sha256 = "1br5xfl4b2z70b6a2ccxppn64jvkqgpmy4y9v81kxzb91z0ss9ma"; -} diff --git a/pkgs/development/erlang-modules/webdriver/default.nix b/pkgs/development/erlang-modules/webdriver/default.nix new file mode 100644 index 000000000000..bf84ac286baa --- /dev/null +++ b/pkgs/development/erlang-modules/webdriver/default.nix @@ -0,0 +1,40 @@ +{stdenv, fetchFromGitHub, writeText, erlang }: + +let + shell = drv: stdenv.mkDerivation { + name = "interactive-shell-${drv.name}"; + buildInputs = [ drv ]; + }; + + pkg = self: stdenv.mkDerivation rec { + name = "webdriver"; + version = "0.0.0+build.18.7ceaf1f"; + + src = fetchFromGitHub { + owner = "Quviq"; + repo = "webdrv"; + rev = "7ceaf1f67d834e841ca0133b4bf899a9fa2db6bb"; + sha256 = "1pq6pmlr6xb4hv2fvmlrvzd8c70kdcidlgjv4p8n9pwvkif0cb87"; + }; + + setupHook = writeText "setupHook.sh" '' + addToSearchPath ERL_LIBS "$1/lib/erlang/lib/" + ''; + + buildInputs = [ erlang ]; + + installFlags = "PREFIX=$(out)/lib/erlang/lib"; + + meta = { + description = "WebDriver implementation in Erlang"; + license = stdenv.lib.licenses.mit; + homepage = "https://github.com/Quviq/webdrv"; + maintainers = with stdenv.lib.maintainers; [ ericbmerritt ]; + }; + + passthru = { + env = shell self; + }; + +}; +in stdenv.lib.fix pkg diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix index c4e256d58737..5ee9ecbcef8b 100644 --- a/pkgs/development/tools/build-managers/rebar3/default.nix +++ b/pkgs/development/tools/build-managers/rebar3/default.nix @@ -1,13 +1,11 @@ -{ stdenv, fetchurl, fetchHex, erlang, tree, fetchFromGitHub }: +{ stdenv, writeText, callPackage, fetchurl, + fetchHex, erlang, rebar3-nix-bootstrap, tree, fetchFromGitHub }: let version = "3.0.0-beta.4"; - registrySnapshot = import ./registrySnapshot.nix { inherit fetchFromGitHub; }; - setupRegistry = '' - mkdir -p _build/default/{lib,plugins,packages}/ ./.cache/rebar3/hex/default/ - zcat ${registrySnapshot}/registry.ets.gz > .cache/rebar3/hex/default/registry - ''; + registrySnapshot = callPackage ./registrySnapshot.nix { }; + # TODO: all these below probably should go into nixpkgs.erlangModules.sources.* # {erlware_commons, "0.16.0"}, erlware_commons = fetchHex { @@ -73,6 +71,7 @@ let in stdenv.mkDerivation { name = "rebar3-${version}"; + inherit version; src = fetchurl { url = "https://github.com/rebar/rebar3/archive/${version}.tar.gz"; @@ -81,14 +80,14 @@ stdenv.mkDerivation { patches = [ ./hermetic-bootstrap.patch ]; - buildInputs = [ erlang - tree - ]; - inherit setupRegistry; + buildInputs = [ erlang tree ]; + propagatedBuildInputs = [ registrySnapshot rebar3-nix-bootstrap ]; + postPatch = '' echo postPatch - ${setupRegistry} + rebar3-nix-bootstrap registry-only + echo "$ERL_LIBS" mkdir -p _build/default/lib/ cp --no-preserve=mode -R ${erlware_commons} _build/default/lib/erlware_commons cp --no-preserve=mode -R ${providers} _build/default/lib/providers diff --git a/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix b/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix index 8e9c2a292fd3..378fb382f952 100644 --- a/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix +++ b/pkgs/development/tools/build-managers/rebar3/registrySnapshot.nix @@ -1,8 +1,23 @@ -{ fetchFromGitHub }: +{stdenv, writeText, fetchFromGitHub }: -fetchFromGitHub { - owner = "gleber"; - repo = "hex-pm-registry-snapshots"; - rev = "329ae2b"; - sha256 = "1rs3z8psfvy10mzlfvkdzbflgikcnq08r38kfi0f8p5wvi8f8hmh"; +stdenv.mkDerivation rec { + name = "hex-registry"; + rev = "329ae2b"; + version = "0.0.0+build.${rev}"; + + src = fetchFromGitHub { + owner = "erlang-nix"; + repo = "hex-pm-registry-snapshots"; + inherit rev; + sha256 = "1rs3z8psfvy10mzlfvkdzbflgikcnq08r38kfi0f8p5wvi8f8hmh"; + }; + + installPhase = '' + mkdir -p "$out/var/hex" + zcat "registry.ets.gz" > "$out/var/hex/registry.ets" + ''; + + setupHook = writeText "setupHook.sh" '' + export HEX_REGISTRY_SNAPSHOT="$1/var/hex/registry.ets" + ''; } diff --git a/pkgs/development/tools/erlang/hex2nix/default.nix b/pkgs/development/tools/erlang/hex2nix/default.nix new file mode 100644 index 000000000000..8bb8f68e3a42 --- /dev/null +++ b/pkgs/development/tools/erlang/hex2nix/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons, getopt }: + +buildRebar3 rec { + name = "hex2nix"; + version = "0.0.2"; + + src = fetchFromGitHub { + owner = "erlang-nix"; + repo = "hex2nix"; + rev = "${version}"; + sha256 = "18gkq5fkdiwq5zj98cz4kqxbpzjkpqcplpsw987drxwdbvq4hkwm"; + }; + + erlangDeps = [ ibrowse jsx erlware_commons getopt ]; + + DEBUG=1; + + installPhase = '' + runHook preInstall + make PREFIX=$out install + runHook postInstall + ''; + } diff --git a/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix new file mode 100644 index 000000000000..347ec1d8bb68 --- /dev/null +++ b/pkgs/development/tools/erlang/rebar3-nix-bootstrap/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "rebar3-nix-bootstrap"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "erlang-nix"; + repo = "rebar3-nix-bootstrap"; + rev = "${version}"; + sha256 = "0xyj7j59dmxyl5nhhsmb0r1pihmk0s4k02ga1rfgm30rij6n7431"; + }; + + installFlags = "PREFIX=$(out)"; + + meta = { + description = "Shim command to help bootstrap a rebar3 project on Nix"; + license = stdenv.lib.licenses.asl20; + homepage = "https://github.com/erl-nix/rebar3-nix-bootstrap"; + maintainers = with stdenv.lib.maintainers; [ ericbmerritt ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5d52c89d0590..2ec43e10306e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5098,9 +5098,11 @@ let rebar = callPackage ../development/tools/build-managers/rebar { }; rebar3 = callPackage ../development/tools/build-managers/rebar3 { }; + rebar3-nix-bootstrap = callPackage ../development/tools/erlang/rebar3-nix-bootstrap { }; fetchHex = callPackage ../development/tools/build-managers/rebar3/fetch-hex.nix { }; erlangPackages = callPackage ../development/erlang-modules { }; + hex2nix = erlangPackages.callPackage ../development/tools/erlang/hex2nix { }; elixir = callPackage ../development/interpreters/elixir { };