Files
ccpkgs/pkgs/firedrake/default.nix
Tyson Whitehead 8dda256fad firedrake: Moved to new overlay system and shared sub-scope
Firedrake contains a ton of inter-connected dependencies, many of
which are either firedrake specific or forked versions of upstream
packages.  Cleaner to create a firedrake sub-scope for all these.
2018-01-18 00:59:30 -05:00

50 lines
1.8 KiB
Nix

# This just brings in everything.
#
# This isn't really informative or overridable in any practical sense. Could put the closure of the dependencies
# of all the packages declared here instead. This would be overridable/informative, but a bigger pain to maintain.
#
# Likely this should be added into the python packages set instead of dropped on the top-level.
#
{ pkgs }:
let
self =
let
# Top-level scope extended with this set of packages.
#
# Possibly it would make more sense to use the python-level scope instead?
#
callPackage = pkgs.newScope self;
in
with self; {
inherit callPackages;
# Python to use for all this stuff (much of it is python)
python = pkgs.python27;
pythonPackages = python.pkgs;
# Forked and unavailable packages required by firedrake and its dependencies
ufl = callPackage ./ufl.nix { };
fiat = callPackage ./fiat.nix { };
finat = callPackage ./finat.nix { };
tsfc = callPackage ./tsfc.nix { };
pyop2 = callPackage ./pyop2.nix { };
petsc = callPackage ./petsc.nix { };
petsc4py = callPackage ./petsc4py.nix { };
coffee = callPackage ./coffee.nix { };
firedrake = callPackage ./firedrake.nix { };
pulp = callPackage ./pulp.nix { };
sowing = callPackage ./sowing.nix { };
metis = callPackage ./metis.nix { };
hypre = callPackage ./hypre.nix { };
parmetis = callPackage ./parmetis.nix { };
exodus = callPackage ./exodus.nix { };
# Incompatible version (something with communicator/datatype cleanup callbacks?)
mpi4py = callPackage ./mpi4py.nix { };
};
in
self.firedrake