1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs synced 2024-10-23 00:01:24 -04:00
nixpkgs/pkgs/top-level/octave-packages.nix

221 lines
7.2 KiB
Nix
Raw Normal View History

# This file contains the GNU Octave add-on packages set.
# Each attribute is an Octave library.
# Expressions for the Octave libraries are supposed to be in `pkgs/development/octave-modules/<name>/default.nix`.
# When contributing a new package, if that package has a dependency on another
# octave package, then you DO NOT need to explicitly list it as such when
# performing the callPackage. It will be passed implicitly.
# In addition, try to use the same dependencies as the ones octave needs, which
# should ensure greater compatibility between Octave itself and its packages.
# Like python-packages.nix, packages from top-level.nix are not in the scope
# of the `callPackage` used for packages here. So, when we do need packages
# from outside, we can `inherit` them from `pkgs`.
{ pkgs
, lib
, stdenv
, fetchurl
, newScope
, octave
}:
with lib;
makeScope newScope (self:
let
inherit (octave) blas lapack gfortran python texinfo gnuplot;
callPackage = self.callPackage;
buildOctavePackage = callPackage ../development/interpreters/octave/build-octave-package.nix {
inherit lib stdenv;
inherit octave;
inherit computeRequiredOctavePackages;
};
wrapOctave = callPackage ../development/interpreters/octave/wrap-octave.nix {
inherit octave;
inherit (pkgs) makeSetupHook makeWrapper;
};
# Given a list of required Octave package derivations, get a list of
# ALL required Octave packages needed for the ones specified to run.
computeRequiredOctavePackages = drvs: let
# Check whether a derivation is an octave package
hasOctavePackage = drv: drv?isOctavePackage;
packages = filter hasOctavePackage drvs;
in unique (packages ++ concatLists (catAttrs "requiredOctavePackages" packages));
in {
inherit callPackage buildOctavePackage computeRequiredOctavePackages;
inherit (callPackage ../development/interpreters/octave/hooks { })
writeRequiredOctavePackagesHook;
arduino = callPackage ../development/octave-modules/arduino {
inherit (pkgs) arduino;
};
audio = callPackage ../development/octave-modules/audio { };
bim = callPackage ../development/octave-modules/bim { };
bsltl = callPackage ../development/octave-modules/bsltl { };
cgi = callPackage ../development/octave-modules/cgi { };
communications = callPackage ../development/octave-modules/communications { };
control = callPackage ../development/octave-modules/control { };
data-smoothing = callPackage ../development/octave-modules/data-smoothing { };
2021-01-06 11:48:35 -05:00
database = callPackage ../development/octave-modules/database { };
2021-01-06 11:49:38 -05:00
dataframe = callPackage ../development/octave-modules/dataframe { };
2021-01-06 11:50:23 -05:00
dicom = callPackage ../development/octave-modules/dicom { };
2021-01-06 11:50:59 -05:00
divand = callPackage ../development/octave-modules/divand { };
2021-01-06 11:51:36 -05:00
doctest = callPackage ../development/octave-modules/doctest { };
econometrics = callPackage ../development/octave-modules/econometrics { };
2021-01-06 11:55:24 -05:00
fem-fenics = callPackage ../development/octave-modules/fem-fenics {
# PLACEHOLDER until KarlJoad gets dolfin packaged.
dolfin = null;
ffc = null;
};
2021-01-06 11:57:06 -05:00
fits = callPackage ../development/octave-modules/fits { };
2021-01-06 11:56:20 -05:00
financial = callPackage ../development/octave-modules/financial { };
2021-01-06 11:57:52 -05:00
fpl = callPackage ../development/octave-modules/fpl { };
fuzzy-logic-toolkit = callPackage ../development/octave-modules/fuzzy-logic-toolkit { };
2021-01-06 12:01:13 -05:00
ga = callPackage ../development/octave-modules/ga { };
general = callPackage ../development/octave-modules/general {
nettle = pkgs.nettle;
};
generate_html = callPackage ../development/octave-modules/generate_html { };
2021-01-06 12:05:43 -05:00
geometry = callPackage ../development/octave-modules/geometry { };
2021-01-06 12:10:26 -05:00
gsl = callPackage ../development/octave-modules/gsl {
inherit (pkgs) gsl;
};
2021-01-06 12:11:25 -05:00
image = callPackage ../development/octave-modules/image { };
image-acquisition = callPackage ../development/octave-modules/image-acquisition { };
instrument-control = callPackage ../development/octave-modules/instrument-control { };
io = callPackage ../development/octave-modules/io {
2020-12-16 14:12:15 -05:00
inherit (octave) enableJava;
};
2021-01-06 12:15:38 -05:00
interval = callPackage ../development/octave-modules/interval { };
level-set = callPackage ../development/octave-modules/level-set { };
linear-algebra = callPackage ../development/octave-modules/linear-algebra { };
2021-01-06 12:18:18 -05:00
lssa = callPackage ../development/octave-modules/lssa { };
ltfat = callPackage ../development/octave-modules/ltfat {
inherit (octave) fftw fftwSinglePrec portaudio jdk;
inherit (pkgs) fftwFloat fftwLongDouble;
};
2021-01-06 12:19:17 -05:00
mapping = callPackage ../development/octave-modules/mapping { };
2021-01-06 12:22:06 -05:00
matgeom = callPackage ../development/octave-modules/matgeom { };
miscellaneous = callPackage ../development/octave-modules/miscellaneous { };
2021-01-06 12:24:14 -05:00
msh = callPackage ../development/octave-modules/msh {
# PLACEHOLDER until KarlJoad gets dolfin packaged.
dolfin = null;
};
2021-01-06 12:25:04 -05:00
mvn = callPackage ../development/octave-modules/mvn { };
2021-01-06 12:27:31 -05:00
nan = callPackage ../development/octave-modules/nan { };
2021-01-06 12:29:00 -05:00
ncarray = callPackage ../development/octave-modules/ncarray { };
2021-01-06 12:30:09 -05:00
netcdf = callPackage ../development/octave-modules/netcdf {
inherit (pkgs) netcdf;
};
2021-01-06 12:32:56 -05:00
nurbs = callPackage ../development/octave-modules/nurbs { };
2021-01-06 12:34:51 -05:00
ocl = callPackage ../development/octave-modules/ocl { };
2021-01-06 12:42:25 -05:00
octclip = callPackage ../development/octave-modules/octclip { };
2021-01-06 12:45:14 -05:00
octproj = callPackage ../development/octave-modules/octproj { };
2021-01-06 12:45:58 -05:00
optics = callPackage ../development/octave-modules/optics { };
2021-01-06 12:47:13 -05:00
optim = callPackage ../development/octave-modules/optim { };
2021-01-06 12:48:47 -05:00
optiminterp = callPackage ../development/octave-modules/optiminterp { };
2021-01-06 12:50:05 -05:00
parallel = callPackage ../development/octave-modules/parallel { };
2021-01-06 12:55:29 -05:00
quaternion = callPackage ../development/octave-modules/quaternion { };
2021-01-06 12:56:32 -05:00
queueing = callPackage ../development/octave-modules/queueing { };
signal = callPackage ../development/octave-modules/signal { };
2021-01-06 13:00:46 -05:00
sockets = callPackage ../development/octave-modules/sockets { };
sparsersb = callPackage ../development/octave-modules/sparsersb { };
2021-01-06 13:05:39 -05:00
2021-01-06 13:02:29 -05:00
stk = callPackage ../development/octave-modules/stk { };
2021-01-06 13:06:36 -05:00
splines = callPackage ../development/octave-modules/splines { };
2021-01-06 13:07:32 -05:00
statistics = callPackage ../development/octave-modules/statistics { };
2021-01-06 13:08:51 -05:00
strings = callPackage ../development/octave-modules/strings { };
2021-01-06 12:52:08 -05:00
struct = callPackage ../development/octave-modules/struct { };
symbolic = callPackage ../development/octave-modules/symbolic {
2020-12-12 19:25:18 -05:00
inherit (octave) python;
};
2021-01-06 13:11:15 -05:00
tisean = callPackage ../development/octave-modules/tisean { };
2021-01-06 13:12:25 -05:00
tsa = callPackage ../development/octave-modules/tsa { };
2021-01-06 13:13:10 -05:00
vibes = callPackage ../development/octave-modules/vibes {
vibes = null;
# TODO: Need to package vibes:
# https://github.com/ENSTABretagneRobotics/VIBES
};
2021-01-06 13:14:44 -05:00
video = callPackage ../development/octave-modules/video { };
2021-01-06 13:15:44 -05:00
vrml = callPackage ../development/octave-modules/vrml {
freewrl = null;
};
2021-01-06 13:16:44 -05:00
windows = callPackage ../development/octave-modules/windows { };
2021-01-06 13:19:42 -05:00
zeromq = callPackage ../development/octave-modules/zeromq {
inherit (pkgs) zeromq;
};
})