Commit graph

27 commits

Author SHA1 Message Date
zimbatm 17348dc094 Remove all dots at end of descriptions
Specially crafted for @JagaJaga

    find pkgs -name "*.nix" -exec \
      sed -e 's|\(description.*\)\.";|\1";|g' -i {} \;
2016-02-27 17:30:29 +00:00
Gleb Peregud 73c8aa49e4 Update hex-packages.nix with hermetic rebar3.
This made some packages not build, because rebar3 tries to download
`rebar3_hex` for them.
2016-01-19 12:58:43 +01:00
Gleb Peregud 28fc526f16 Update Erlang hex.pm packages at 2016-01-19.
This is a first fully automatic build.
2016-01-19 12:36:52 +01:00
Eric Merritt 8021b5241c rebar3: refactor to make hermetic
This adds changes to the rebar3 expression that patch rebar3 to force it
to be hermetic. Now, by default, rebar3 literally can't download
anything. A 'rebar3-open' expression was added for those folks whe want
the normal rebar3.
2016-01-18 08:19:15 -08:00
Gleb Peregud ed4373e8b7 Pass buildPlugins to rebar3-nix-bootstrap.
To successfully build rebar packages, it needs to be provided with
rebar3 plugins used to build it. This change passes them to env
variable. From there rebar3-nix-bootstrap takes them and symlinks into
_build/default/plugins.
2016-01-17 21:59:27 +01:00
Eric Merritt e8933f6a4e webdriver: init at 0.0.0+build.18.7ceaf1f 2016-01-15 08:17:33 -08:00
Eric Merritt acf4bfd585 erlang support: overridable allow installPhase
This commit allows the installPhase of buildRebar3 to be overridden by
the user.
2016-01-15 08:17:33 -08:00
Eric Merritt b1719f9fcc erlang support: Add 187 packages pulled from Hex
This commit adds 187 packages from Hex.pm and documents 100 more that
could not be imported for various reasons. The packages where generated
by hex2nix.
2016-01-14 14:37:56 -08:00
Eric Merritt d541d0e640 erlang support: seperate hex and rebar3 support
Building Hex packages is a superset of building with rebar3. There is no
need to force folks that use rebar3 but not hex to build with hex. This
commit seperates the rebar3 specific bits and the hex specific bits into
seperate functions that can be used independently.
2016-01-14 14:37:35 -08:00
Eric Merritt b509dadbf1 erlang support: remove broken buildErlang function
The buildErlang function is broken and and leads Engineers down a wrong
path. For vanilla erlang that doesn't user rebar3, its better to simply
use `stdenv.mkDerivation` along with a set setupHook then the existing
functionality.
2016-01-14 14:37:21 -08:00
Eric Merritt 10fd4dff99 erlang support: move hex packages to hex namespace
This commit moves all the hex based packages to a single namespace. It
also moves all the packages to a single file.  This is in preparation
for the move to a system to generate the hex packages from the hex
package store.
2016-01-14 14:37:07 -08:00
Eric Merritt 474e417891 erlang support: allow nix-shell to work correctly
This changes build-hex.nix so that the buildHex and related functions
work correctly in a nix-shell.
2016-01-14 14:36:47 -08:00
Eric Merritt a0309d871c move callPackage into the export set for 'Erlang'
This allows us to have a callPackages that includes erlang packages
2016-01-14 14:35:03 -08:00
Gleb Peregud d7e17c2e71 Add shell env to buildHex packages.
This adds erlangPackages.${name}.env, which is usable to launch a shell
with the package and it's dependencies like this:

    nix-shell -A erlangPackages.lager.env

This required:

1) refactoring buildHex to become a fixed-point function,
2) moves output of a package into $out/${name},
3) introduces erlEnv (buildEnv, which links in package and it's deps
   into one directory - a super-simple plagiarization of
   haskellPackages.compiler.ghcWithPackages) and
4) shell function producing a un-buildable derivation to be used by
   nix-shell
2015-12-19 00:07:54 +01:00
Gleb Peregud 4ba1a51b7f Move registry to rebar3, since it needs it itself to be bootstrapped.
This makes rebar3 build a bit more hermetic. Next stage is to pull in
rebar3 plugins dependencies for bootstrap to pick up.
2015-12-15 14:05:19 +01:00
Gleb Peregud 033902d269 Refactor fetchHex out of buildHex.
This will allow to reuse this code to fetch rebar3's dependencies to
ensure it's hermetic build.
2015-12-15 14:01:38 +01:00
Gleb Peregud acaf2c179e Allow specifying meta for buildHex and buildErlang.
Adds "meta" for meck package as a test.
2015-12-15 14:01:38 +01:00
Gleb Peregud 2a7e77cac5 Move registrySnapshot into it's own file for easier automation. 2015-12-15 14:01:37 +01:00
Gleb Peregud 7e57b20abc Add rebar3-pc to plugin deps automatically if compilePorts is enabled 2015-12-15 14:01:37 +01:00
Gleb Peregud 13a1ab440c Replace deprecated uniqList with unique function 2015-12-15 14:01:37 +01:00
Gleb Peregud 5d3680d265 Fetch hex.pm registry snapshot with external github repo.
This allows to avoid fetching registry file from S3 at build time,
making the build hermetic and much faster. Automatic tools will be used
to update said external repo content when Hex packages are
imported/update.
2015-12-15 14:01:37 +01:00
Gleb Peregud 3a9110b15c Add support for rebar3 plugins to buildHex.
Allow specifying pluginDeps for buildHex listing rebar3 plugins which
are required for given package to be built by rebar3.
2015-12-15 14:01:37 +01:00
Gleb Peregud eac25eaf69 Simplify patch and move pc compile call into buildPhase 2015-12-15 14:01:37 +01:00
Gleb Peregud 406b974420 Add "compilePorts" enabling rebar3 "pc" plugin
If compilePorts is enabled plugin "pc" is added to the rebar.config
during postPatch. This makes rebar3 compile download the plugin, hence
added TODO.
2015-12-15 14:01:36 +01:00
Gleb Peregud 2251a942fc Add support for Hex package name
There are some packages on Hex which have custom hex-specific names, but
inside there's a base project name.

Remove most packages andadd ibrowse, meck, jiffy
2015-12-15 14:01:36 +01:00
Gleb Peregud 6dcbe059e1 Automagically download files from hex.pm tarball S3 repo 2015-12-15 14:01:36 +01:00
Gleb Peregud a05e2dbe65 Add few erlang modules 2015-12-15 14:01:21 +01:00