├── README.md └── packages ├── eper.exs ├── ezmq.exs ├── gproc.exs ├── mochiweb.exs ├── recon.exs ├── sidejob.exs └── syslog.exs /README.md: -------------------------------------------------------------------------------- 1 | # Hex Community 2 | 3 | *Community packages are being discontinued now that Rebar3 and its Hex support is reaching maturity. Existing packages will be continued to be maintained but will eventually be phased out, new packages will not be added. To request ownership of a package email support@hex.pm or open an issue here.* 4 | 5 | Hex community are packages the community maintains on Hex. 6 | 7 | A package may be maintained by the community because the project authors have not yet published it to Hex. 8 | 9 | Community packages are added to this repository as a mixfile with metadata describing the project and how to fetch it. To add a package or add a new version of a package simply send a pull request with the necessary changes to the package mixfile. When the pull request is merged the package will be published. 10 | 11 | If your project have been published to Hex through Hex Community and you want to take over ownership send an email to support@hex.pm with your Hex user details and the admins will transfer the package after verifying your ownership. 12 | 13 | ## Instructions 14 | 15 | Instructions for adding a new package to Hex or releasing a new version of a package. 16 | 17 | 1. [Fork](https://github.com/hexpm/community/fork) 18 | 19 | 2. Clone and enter the forked repository `git clone git@github.com:myself/community.git && cd community` 20 | 21 | 3. Create the package file if it does not exist `touch packages/the_package.exs` 22 | 23 | 4. Edit the package file (see below for example file) `vim packages/the_package.exs` 24 | 25 | 5. Check out new branch `git checkout -b add-the_package` 26 | 27 | 6. Commit `git commit -a -m "Add the_package"` 28 | 29 | 7. Push `git push -u origin add-the_package` 30 | 31 | 8. Send [pull request](https://help.github.com/articles/creating-a-pull-request) 32 | 33 | Please include, in the pull request, why you want the package published and which package(s) is going to depend on it. When the pull request has been merged the package will be published to Hex. 34 | 35 | ## Example package file 36 | 37 | ```elixir 38 | defmodule ThePackage.Mixfile do 39 | use Mix.Project 40 | 41 | def project do 42 | [app: :the_package, 43 | version: "1.2.3", 44 | 45 | deps: deps, 46 | description: description, 47 | package: package, 48 | fetch: fetch] 49 | end 50 | 51 | # List of Hex dependencies, return empty list if package has no dependencies 52 | defp deps do 53 | [{:other_package, "~> 1.0"}] 54 | end 55 | 56 | defp description do 57 | """ 58 | A few paragraphs describing of the package. 59 | """ 60 | end 61 | 62 | defp package do 63 | [contributors: ["Eric Meadows-Jönsson", "José Valim"], 64 | licenses: ["Apache 2.0"], 65 | links: %{"GitHub" => "https://github.com/someone/the_package"}, 66 | files: [...]] # make sure to add all files necessary for mix to compile the package here. (e.g. rebar.config) 67 | end 68 | 69 | # Metadata for finding the package that will be published 70 | # Currently the only supported scm is :git 71 | # A :tag or :ref option is required, it should match the version of the 72 | # project that should be published 73 | defp fetch do 74 | [scm: :git, 75 | url: "git://github.com/someone/the_package.git", 76 | tag: "v1.2.3"] 77 | end 78 | end 79 | ``` 80 | -------------------------------------------------------------------------------- /packages/eper.exs: -------------------------------------------------------------------------------- 1 | # Publisher: github/msch 2 | defmodule Eper.Mixfile do 3 | use Mix.Project 4 | 5 | def project do 6 | [app: :eper, 7 | version: "0.94.0", 8 | description: description, 9 | package: package, 10 | fetch: fetch] 11 | end 12 | 13 | defp description do 14 | """ 15 | Erlang Performance and Debugging Tools 16 | 17 | sherk - a profiler, similar to Linux oprofile or MacOs shark 18 | gperf - a graphical performance monitor; shows CPU, memory and network usage 19 | dtop - similar to unix top 20 | redbug- similar to the OTP dbg application, but safer, better etc. 21 | """ 22 | end 23 | 24 | defp package do 25 | [contributors: ["Mats Cronqvist"], 26 | licenses: ["MIT"], 27 | links: %{"GitHub" => "https://github.com/massemanet/eper"}, 28 | files: ["AUTHORS", "COPYING", "README", "rebar", "rebar.config", "rebar.config.script", "src", "priv"]] 29 | end 30 | 31 | defp fetch do 32 | [scm: :git, 33 | url: "git://github.com/massemanet/eper.git", 34 | tag: "0.94.0"] 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /packages/ezmq.exs: -------------------------------------------------------------------------------- 1 | defmodule Ezmq.Mixfile do 2 | use Mix.Project 3 | 4 | def project do 5 | [app: :ezmq, 6 | version: "0.2.0", 7 | deps: deps, 8 | description: description, 9 | package: package, 10 | fetch: fetch] 11 | end 12 | 13 | defp deps do 14 | [{:lager, "~> 2.1.1"}, 15 | {:gen_listener_tcp, "~> 0.3.1"}] 16 | end 17 | 18 | defp description do 19 | """ 20 | Native Erlang 0MQ implementation 21 | """ 22 | end 23 | 24 | defp package do 25 | [contributors: ["Andreas Schultz", 26 | "Anton N Ryabkov", 27 | "Pieter Hintjens", 28 | "Stéphane Wirtel", 29 | "Zachary Kessin", 30 | "plemanach"], 31 | licenses: ["MPL 2.0"], 32 | links: %{"GitHub" => "https://github.com/zeromq/ezmq"}, 33 | files: ["examples", "include", "src", "test", "LICENSE", "Makefile", "README.md", "rebar.config", "rebar.config.travis"]] 34 | end 35 | 36 | defp fetch do 37 | [scm: :git, 38 | url: "git://github.com/zeromq/ezmq.git", 39 | tag: "0.2"] 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /packages/gproc.exs: -------------------------------------------------------------------------------- 1 | # Publisher: github/msch 2 | # 3 | # BE AWARE: Because gproc uses {vsn, git} even when tagged you need to manually replace {vsn, git} with {vsn, "0.3.0"} 4 | # in src/gproc.app.src before releasing! 5 | defmodule Gproc.Mixfile do 6 | use Mix.Project 7 | 8 | def project do 9 | [app: :gproc, 10 | version: "0.3.1", 11 | description: description, 12 | package: package, 13 | fetch: fetch] 14 | end 15 | 16 | defp description do 17 | """ 18 | Gproc is a process dictionary for Erlang, which provides a number of useful features beyond what the built-in dictionary has: 19 | 20 | * Use any term as a process alias 21 | * Register a process under several aliases 22 | * Non-unique properties can be registered simultaneously by many processes 23 | * QLC and match specification interface for efficient queries on the dictionary 24 | * Await registration, let's you wait until a process registers itself 25 | * Atomically give away registered names and properties to another process 26 | * Counters, and aggregated counters, which automatically maintain the total of all counters with a given name 27 | * Global registry, with all the above functions applied to a network of nodes 28 | """ 29 | end 30 | 31 | defp package do 32 | [contributors: ["Ulf Wiger", "Joseph Wayne Norton "], 33 | licenses: ["EPL 1.1"], 34 | links: %{"GitHub" => "https://github.com/uwiger/gproc"}, 35 | files: ["LICENSE", "README.md", "include", "priv", "rebar.config", "rebar.config.script", "src"]] 36 | end 37 | 38 | defp fetch do 39 | [scm: :git, 40 | url: "git://github.com/uwiger/gproc.git", 41 | tag: "0.3.1"] 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /packages/mochiweb.exs: -------------------------------------------------------------------------------- 1 | defmodule Mochiweb.Mixfile do 2 | use Mix.Project 3 | 4 | def project do 5 | [app: :mochiweb, 6 | version: "2.12.2", 7 | 8 | description: description, 9 | package: package, 10 | fetch: fetch, 11 | deps: deps] 12 | end 13 | 14 | defp description do 15 | """ 16 | MochiWeb is an Erlang library for building lightweight HTTP servers. 17 | """ 18 | end 19 | 20 | defp deps do 21 | [] 22 | end 23 | 24 | defp package do 25 | [contributors: ["Mochi Media, Inc.", "Bob Ippolito"], 26 | licenses: ["MIT"], 27 | links: %{"GitHub" => "https://github.com/mochi/mochiweb"}, 28 | files: ["src", "include", "README", "LICENSE", "CHANGES.md", "rebar.config", "Makefile"]] 29 | end 30 | 31 | defp fetch do 32 | [scm: :git, 33 | url: "git@github.com:mochi/mochiweb.git", 34 | tag: "v2.12.2"] 35 | end 36 | end 37 | -------------------------------------------------------------------------------- /packages/recon.exs: -------------------------------------------------------------------------------- 1 | # Publisher: github/msch 2 | defmodule Recon.Mixfile do 3 | use Mix.Project 4 | 5 | def project do 6 | [app: :recon, 7 | version: "2.2.1", 8 | description: description, 9 | package: package, 10 | fetch: fetch] 11 | end 12 | 13 | defp description do 14 | """ 15 | Recon wants to be a set of tools usable in production to diagnose Erlang problems or inspect production environment safely. 16 | """ 17 | end 18 | 19 | defp package do 20 | [contributors: ["Frédéric Trottier-Hébert"], 21 | licenses: ["BSD 3-clause"], 22 | links: %{"GitHub" => "https://github.com/ferd/recon"}, 23 | files: ["LICENSE", "README.md", "src", "rebar"]] 24 | end 25 | 26 | defp fetch do 27 | [scm: :git, 28 | url: "git://github.com/ferd/recon.git", 29 | tag: "2.2.1"] 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /packages/sidejob.exs: -------------------------------------------------------------------------------- 1 | # Publisher: github/msch 2 | # 3 | # BE AWARE: Because side uses {vsn, git} even when tagged you need to manually replace 4 | # {vsn, git} with {vsn, "2.0.0"} in src/sidejob.app.src before releasing! 5 | defmodule Sidejob.Mixfile do 6 | use Mix.Project 7 | 8 | def project do 9 | [app: :sidejob, 10 | version: "2.0.0", 11 | description: description, 12 | package: package, 13 | fetch: fetch] 14 | end 15 | 16 | defp description do 17 | """ 18 | sidejob is an Erlang library that implements a parallel, capacity-limited request pool. 19 | 20 | In sidejob, these pools are called resources. A resource is managed by multiple gen_server like 21 | processes which can be sent calls and casts using sidejob:call or sidejob:cast respectively. 22 | 23 | This library was originally written to support process bounding in Riak using the 24 | sidejob_supervisor behavior. In Riak, this is used to limit the number of concurrent get/put 25 | FSMs that can be active, failing client requests with {error, overload} if the limit is ever 26 | hit. The purpose being to provide a fail-safe mechanism during extreme overload scenarios. 27 | """ 28 | end 29 | 30 | defp package do 31 | [contributors: ["Ulf Norell", "Joseph Blomstedt", "Ryan Zezeski", "Sean Cribbs", 32 | "Andrew Thompson", "Jared Morrow"], 33 | licenses: ["Apache 2.0"], 34 | links: %{"GitHub" => "https://github.com/basho/sidejob"}, 35 | files: ["README.md", "rebar.config", "src"]] 36 | end 37 | 38 | defp fetch do 39 | [scm: :git, 40 | url: "git://github.com/basho/sidejob.git", 41 | tag: "2.0.0"] 42 | end 43 | end 44 | -------------------------------------------------------------------------------- /packages/syslog.exs: -------------------------------------------------------------------------------- 1 | defmodule ErlangSyslog.Mixfile do 2 | use Mix.Project 3 | 4 | def project do 5 | [app: :syslog, 6 | version: "1.0.2", 7 | description: description, 8 | package: package, 9 | deps: deps, 10 | fetch: fetch] 11 | end 12 | 13 | defp deps do 14 | [] 15 | end 16 | 17 | defp description do 18 | "Erlang port driver for interacting with syslog via syslog" 19 | end 20 | 21 | defp package do 22 | [files: ~w(src c_src README.md rebar), 23 | contributors: ["Andrew Thompson"], 24 | licenses: ["BSD"], 25 | links: %{"GitHub" => "https://github.com/Vagabond/erlang-syslog"}] 26 | end 27 | 28 | defp fetch do 29 | [scm: :git, 30 | url: "https://github.com/Vagabond/erlang-syslog.git", 31 | ref: "26d74c89e339297b4c6638d5b578a80fe88170da"] 32 | end 33 | end 34 | --------------------------------------------------------------------------------