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.
This commit is contained in:
49
pkgs/firedrake/default.nix
Normal file
49
pkgs/firedrake/default.nix
Normal file
@@ -0,0 +1,49 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user