nixpkgs/pkgs/development/idris-modules
Matthew Pickering 947e7d80b4 Refactor Idris packaging infrastructure
The main two changes are

1. Completely rewrite how with-packages works to remove use of envHooks
2. The package description is now an idris specific set rather than
    being a subset of the arguments to mkDerivation. This mirrors the
    way Haskell packages are treated.
2018-02-07 19:25:50 +00:00
..
build-builtin-package.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
build-idris-package.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
default.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
httpclient.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
idris-wrapper.nix Revert "idris: Move library setup to the setup hook." 2018-02-07 19:24:31 +00:00
lightyear.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
README.md
specdris.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
TODO.md
with-packages.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00
wl-pprint.nix Refactor Idris packaging infrastructure 2018-02-07 19:25:50 +00:00

Idris packages

This directory contains build rules for idris packages. In addition, it contains several functions to build and compose those packages. Everything is exposed to the user via the idrisPackages attribute.

callPackage

This is like the normal nixpkgs callPackage function, specialized to idris packages.

builtins

This is a list of all of the libraries that come packaged with Idris itself.

build-idris-package

A function to build an idris package. Its sole argument is a set like you might pass to stdenv.mkDerivation, except build-idris-package sets several attributes for you. See build-idris-package.nix for details.

build-builtin-package

A version of build-idris-package specialized to builtin libraries. Mostly for internal use.

with-packages

Bundle idris together with a list of packages. Because idris currently only supports a single directory in its library path, you must include all desired libraries here, including prelude and base.