push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
{
buildOctavePackage,
lib,
fetchurl,
instrument-control,
arduino-core-unwrapped,
}:
buildOctavePackage rec {
pname = "arduino";
version = "0.10.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-p9SDTXkIwnrkNXeVhzAHks7EL4NdwBokrH2j9hqAJqQ=";
};
requiredOctavePackages = [
instrument-control
];
propagatedBuildInputs = [
arduino-core-unwrapped
];
meta = {
name = "Octave Arduino Toolkit";
homepage = "https://gnu-octave.github.io/packages/arduino/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Basic Octave implementation of the matlab arduino extension, allowing communication to a programmed arduino board to control its hardware";
};
}

View File

@@ -0,0 +1,37 @@
{
buildOctavePackage,
lib,
fetchurl,
jack2,
alsa-lib,
rtmidi,
pkg-config,
}:
buildOctavePackage rec {
pname = "audio";
version = "2.0.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-/4akeeOQnvTlk9ah+e8RJfwJG2Eq2HAGOCejhiIUjF4=";
};
nativeBuildInputs = [
pkg-config
];
propagatedBuildInputs = [
jack2
alsa-lib
rtmidi
];
meta = {
homepage = "https://gnu-octave.github.io/packages/audio/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Audio and MIDI Toolbox for GNU Octave";
platforms = lib.platforms.linux; # Because of run-time dependency on jack2 and alsa-lib
};
}

View File

@@ -0,0 +1,31 @@
{
buildOctavePackage,
lib,
fetchFromGitHub,
fpl,
msh,
}:
buildOctavePackage rec {
pname = "bim";
version = "1.1.8";
src = fetchFromGitHub {
owner = "carlodefalco";
repo = "bim";
rev = "refs/tags/v${version}";
sha256 = "sha256-nK/VZ+thMuMU5RBiNYpzylOuVxKbcfSyrXZfka5+g4I=";
};
requiredOctavePackages = [
fpl
msh
];
meta = {
homepage = "https://gnu-octave.github.io/packages/bim/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Package for solving Diffusion Advection Reaction (DAR) Partial Differential Equations";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "bsltl";
version = "1.3.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0i8ry347y5f5db3702nhpsmfys9v18ks2fsmpdqpy3fcvrwaxdsb";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/bsltl/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Free collection of OCTAVE/MATLAB routines for working with the biospeckle laser technique";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "cgi";
version = "0.1.2";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0hygj7cpwrs2w9bfb7qrvv7gq410bfiddqvza8smg766pqmfp1s1";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/cgi/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Common Gateway Interface for Octave";
};
}

View File

@@ -0,0 +1,32 @@
{
buildOctavePackage,
lib,
fetchurl,
signal,
hdf5,
}:
buildOctavePackage rec {
pname = "communications";
version = "1.2.7";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-UXaoV45mdmA7n2cB8J3S+/8Nt7uhokyv2MVBm+FK5lw=";
};
buildInputs = [
hdf5
];
requiredOctavePackages = [
signal
];
meta = {
homepage = "https://gnu-octave.github.io/packages/communications/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Digital Communications, Error Correcting Codes (Channel Code), Source Code functions, Modulation and Galois Fields";
};
}

View File

@@ -0,0 +1,50 @@
{
buildOctavePackage,
lib,
fetchFromGitHub,
gfortran,
lapack,
blas,
autoreconfHook,
}:
buildOctavePackage rec {
pname = "control";
version = "3.6.1";
src = fetchFromGitHub {
owner = "gnu-octave";
repo = "pkg-control";
tag = "control-${version}";
sha256 = "sha256-7beEsdrne50NY4lGCotxGXwwWnMzUR2CKCc20OCjd0g=";
};
# Running autoreconfHook inside the src directory fixes a compile issue about
# the config.h header for control missing.
# This is supposed to be handled by control's top-level Makefile, but does not
# appear to be working. This manually forces it instead.
preAutoreconf = ''
pushd src
'';
postAutoreconf = ''
popd
'';
nativeBuildInputs = [
gfortran
autoreconfHook
];
buildInputs = [
lapack
blas
];
meta = {
homepage = "https://gnu-octave.github.io/packages/control/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Computer-Aided Control System Design (CACSD) Tools for GNU Octave, based on the proven SLICOT Library";
};
}

View File

@@ -0,0 +1,29 @@
{
buildOctavePackage,
lib,
fetchurl,
optim,
}:
buildOctavePackage rec {
pname = "data-smoothing";
version = "1.3.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0q0vqdmp8ygyfhk296xbxcpsh5wvpa2kfgv4v0rys68nd2lxfaq1";
};
requiredOctavePackages = [
optim
];
meta = {
homepage = "https://gnu-octave.github.io/packages/data-smoothing/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Algorithms for smoothing noisy data";
# Hasn't been updated since 2012, and fails to build with octave >= 10.1.0
broken = true;
};
}

View File

@@ -0,0 +1,11 @@
--- a/src/error-helpers.h
+++ b/src/error-helpers.h
@@ -64,7 +64,7 @@
} \
catch (OCTAVE__EXECUTION_EXCEPTION& e) \
{ \
- verror (e, __VA_ARGS__); \
+ c_verror (e, __VA_ARGS__); \
}
#endif

View File

@@ -0,0 +1,40 @@
{
buildOctavePackage,
lib,
fetchurl,
struct,
libpq,
}:
buildOctavePackage rec {
pname = "database";
version = "2.4.4";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1c0n76adi0jw6bx62s04vjyda6kb6ca8lzz2vam43vdy10prcq9p";
};
patches = [
# Fix for octave 8.x
./c_verror.patch
];
propagatedBuildInputs = [
libpq
];
nativeBuildInputs = [
libpq.pg_config
];
requiredOctavePackages = [
struct
];
meta = {
homepage = "https://gnu-octave.github.io/packages/database/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Interface to SQL databases, currently only postgresql using libpq";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "dataframe";
version = "1.2.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "10ara084gkb7d5vxv9qv7zpj8b4mm5y06nccrdy3skw5nfbb4djx";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/dataframe/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Data manipulation toolbox similar to R data.frame";
};
}

View File

@@ -0,0 +1,34 @@
{
buildOctavePackage,
lib,
fetchurl,
gdcm,
cmake,
}:
buildOctavePackage rec {
pname = "dicom";
version = "0.6.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-erUZudOknymgGprqUhCaSvN/WlmWZ1qgH8HDYrNOg2I=";
};
nativeBuildInputs = [
cmake
];
dontUseCmakeConfigure = true;
propagatedBuildInputs = [
gdcm
];
meta = {
homepage = "https://gnu-octave.github.io/packages/dicom/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Digital communications in medicine (DICOM) file io";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "divand";
version = "1.1.2";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0nmaz5j37dflz7p4a4lmwzkh7g1gghdh7ccvkbyy0fpgv9lr1amg";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/divand/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Performs an n-dimensional variational analysis (interpolation) of arbitrarily located observations";
};
}

View File

@@ -0,0 +1,29 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "doctest";
version = "0.8.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-/oXJ7NnbbdsVfhNOYU/tkkYwKhYs5zKMEjybmbf0Cok=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/doctest/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Find and run example code within documentation";
longDescription = ''
Find and run example code within documentation. Formatted blocks
of example code are extracted from documentation files and executed
to confirm their output is correct. This can be part of a testing
framework or simply to ensure that documentation stays up-to-date
during software development.
'';
};
}

View File

@@ -0,0 +1,29 @@
{
buildOctavePackage,
lib,
fetchurl,
optim,
}:
buildOctavePackage rec {
pname = "econometrics";
version = "1.1.2";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1srx78k90ycla7yisa9h593n9l8br31lsdxlspra8sxiyq0sbk72";
};
requiredOctavePackages = [
optim
];
meta = {
homepage = "https://gnu-octave.github.io/packages/econometrics/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Econometrics functions including MLE and GMM based techniques";
# Hasn't been updated since 2012, and fails to build with octave >= 10.1.0
broken = true;
};
}

View File

@@ -0,0 +1,36 @@
{
buildOctavePackage,
lib,
fetchurl,
dolfin,
ffc,
pkg-config,
}:
buildOctavePackage rec {
pname = "fem-fenics";
version = "0.0.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1xd80nnkschldvrqx0wvrg3fzbf8sck8bvq24phr5x49xs7b8x78";
};
nativeBuildInputs = [
pkg-config
];
propagatedBuildInputs = [
dolfin
ffc
];
meta = {
homepage = "https://gnu-octave.github.io/packages/fem-fenics/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Package for the resolution of partial differential equations based on fenics";
# Lots of compilation errors for newer octave versions and syntax errors
broken = true;
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "financial";
version = "0.5.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0f963yg6pwvrdk5fg7b71ny47gzy48nqxdzj2ngcfrvmb5az4vmf";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/financial/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Monte Carlo simulation, options pricing routines, financial manipulation, plotting functions and additional date manipulation tools";
};
}

View File

@@ -0,0 +1,44 @@
{
buildOctavePackage,
lib,
fetchurl,
cfitsio,
hdf5,
pkg-config,
}:
buildOctavePackage rec {
pname = "fits";
version = "1.0.7";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0jab5wmrpifqphmrfkqcyrlpc0h4y4m735yc3avqqjajz1rl24lm";
};
# Found here: https://build.opensuse.org/package/view_file/science/octave-forge-fits/octave-forge-fits.spec?expand=1
patchPhase = ''
sed -i -s -e 's/D_NINT/octave::math::x_nint/g' src/*.cc
'';
nativeBuildInputs = [
pkg-config
];
buildInputs = [
hdf5
];
propagatedBuildInputs = [
cfitsio
];
meta = {
homepage = "https://gnu-octave.github.io/packages/fits/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Functions for reading, and writing FITS (Flexible Image Transport System) files using cfitsio";
# Hasn't been updated since 2015, and fails to build with octave >= 10.1.0
broken = true;
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "fpl";
version = "1.3.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0cbpahn9flrv9ppp5xakhwh8vyyy7wzlsz22i3s93yqg9q2bh4ys";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/fpl/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Collection of routines to export data produced by Finite Elements or Finite Volume Simulations in formats used by some visualization programs";
};
}

View File

@@ -0,0 +1,24 @@
{
buildOctavePackage,
lib,
fetchFromGitHub,
}:
buildOctavePackage rec {
pname = "fuzzy-logic-toolkit";
version = "0.6.1";
src = fetchFromGitHub {
owner = "lmarkowsky";
repo = "fuzzy-logic-toolkit";
tag = version;
sha256 = "sha256-lnYzX4rq3j7rrbD8m0EnrWpbMJD6tqtMVCYu4mlLFCM=";
};
meta = {
homepage = "https://github.com/lmarkowsky/fuzzy-logic-toolkit";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Mostly MATLAB-compatible fuzzy logic toolkit for Octave";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "ga";
version = "0.10.4";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-hsrjh2rZFhP6WA+qaKjiGfJkDtT2nTlXlKr3jAJ5Y44=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/ga/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Genetic optimization code";
};
}

View File

@@ -0,0 +1,32 @@
{
buildOctavePackage,
lib,
fetchurl,
pkg-config,
nettle,
}:
buildOctavePackage rec {
pname = "general";
version = "2.1.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-amslJm3haXaAehdm6jYJxcGZl+ggUcnJc3i6YJ3QkyM=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
nettle
];
meta = {
homepage = "https://gnu-octave.github.io/packages/general/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "General tools for Octave";
};
}

View File

@@ -0,0 +1,28 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "generate_html";
version = "0.3.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-CHJ0+90+SNXmslLrQc+8aetSnHK0m9PqEBipFuFjwHw=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/generate_html/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Provides functions for generating HTML pages that contain the help texts for a set of functions";
longDescription = ''
This package provides functions for generating HTML pages that contain
the help texts for a set of functions. The package is designed to be as
general as possible, but also contains convenience functions for generating
a set of pages for entire packages.
'';
};
}

View File

@@ -0,0 +1,31 @@
{
buildOctavePackage,
lib,
fetchhg,
matgeom,
}:
buildOctavePackage rec {
pname = "geometry";
version = "unstable-2021-07-07";
src = fetchhg {
url = "http://hg.code.sf.net/p/octave/${pname}";
rev = "04965cda30b5f9e51774194c67879e7336df1710";
sha256 = "sha256-ECysYOJMF4gPiCFung9hFSlyyO60X3MGirQ9FlYDix8=";
};
requiredOctavePackages = [
matgeom
];
meta = {
homepage = "https://gnu-octave.github.io/packages/geometry/";
license = with lib.licenses; [
gpl3Plus
boost
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Library for extending MatGeom functionality";
};
}

View File

@@ -0,0 +1,31 @@
{
buildOctavePackage,
stdenv,
lib,
fetchurl,
gsl,
}:
buildOctavePackage rec {
pname = "gsl";
version = "2.1.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1lvfxbqmw8h1nlrxmvrl6j4xffmbzxfhdpxz3vrc6lg2g4jwaa6h";
};
buildInputs = [
gsl
];
meta = {
homepage = "https://gnu-octave.github.io/packages/gsl/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Octave bindings to the GNU Scientific Library";
# error: use of undeclared identifier 'feval'; did you mean 'octave::feval'?
# error: no member named 'is_real_type' in 'octave_value'
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@@ -0,0 +1,36 @@
{
buildOctavePackage,
lib,
fetchurl,
libv4l,
fltk,
}:
buildOctavePackage rec {
pname = "image-acquisition";
version = "0.3.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-vgLDbqFGlbXjDaxRtaBHAYYJ+wUjtB0NYYkQFIqTOgU=";
};
buildInputs = [
fltk
];
propagatedBuildInputs = [
libv4l
];
meta = {
homepage = "https://gnu-octave.github.io/packages/image-acquisition/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Functions to capture images from connected devices";
longDescription = ''
The Octave-forge Image Aquisition package provides functions to
capture images from connected devices. Currently only v4l2 is supported.
'';
};
}

View File

@@ -0,0 +1,28 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "image";
version = "2.16.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-NKhPdVJh9sjYgtCLB1Z0ZOol3BUVBy72iG8rJuv28Kc=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/image/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Functions for processing images";
longDescription = ''
The Octave-forge Image package provides functions for processing
images. The package also provides functions for feature extraction,
image statistics, spatial and geometric transformations, morphological
operations, linear filtering, and much more.
'';
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "instrument-control";
version = "0.9.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-Qm1aF+dbhwrDUSh8ViJHCZIc0DiZ1jI117TnSknqzX0=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/instrument-control/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Low level I/O functions for serial, i2c, spi, parallel, tcp, gpib, vxi11, udp and usbtmc interfaces";
};
}

View File

@@ -0,0 +1,40 @@
{
buildOctavePackage,
lib,
fetchurl,
mpfr,
}:
buildOctavePackage rec {
pname = "interval";
version = "3.2.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-OOUmQnN1cTIpqz2Gpf4/WghVB0fYQgVBcG/eqQk/3Og=";
};
propagatedBuildInputs = [
mpfr
];
meta = {
homepage = "https://gnu-octave.github.io/packages/interval/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Interval arithmetic to evaluate functions over subsets of their domain";
longDescription = ''
The interval package for real-valued interval arithmetic allows one to
evaluate functions over subsets of their domain. All results are verified,
because interval computations automatically keep track of any errors.
These concepts can be used to handle uncertainties, estimate arithmetic
errors and produce reliable results. Also it can be applied to
computer-assisted proofs, constraint programming, and verified computing.
The implementation is based on interval boundaries represented by
binary64 numbers and is conforming to IEEE Std 1788-2015, IEEE standard
for interval arithmetic.
'';
};
}

View File

@@ -0,0 +1,36 @@
{
buildOctavePackage,
lib,
fetchurl,
enableJava,
jdk,
unzip,
}:
buildOctavePackage rec {
pname = "io";
version = "2.7.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-SqSEaLNpeTS/jIVOJ9uriCdgXp3U/jflaDQmXmEwum8=";
};
buildInputs = [
(lib.optional enableJava jdk)
];
propagatedBuildInputs = [
unzip
];
meta = {
homepage = "https://gnu-octave.github.io/packages/io/";
license = with lib.licenses; [
gpl3Plus
bsd2
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Input/Output in external formats";
};
}

View File

@@ -0,0 +1,57 @@
{
buildOctavePackage,
lib,
fetchgit,
automake,
autoconf,
autoconf-archive,
parallel,
}:
buildOctavePackage rec {
pname = "level-set";
version = "2019-04-13";
src = fetchgit {
url = "https://git.code.sf.net/p/octave/${pname}";
rev = "dbf46228a7582eef4fe5470fd00bc5b421dd33a5";
sha256 = "14qwa4j24m2j7njw8gbagkgmp040h6k0h7kyrrzgb9y0jm087qkl";
fetchSubmodules = false;
};
# The monstrosity of a regex below is to ensure that only error() calls are
# corrected to have a %s format specifier. However, logic_error() also
# exists, (a simple regex also matches that), but logic_error() doesn't
# require a format specifier. So, this regex was born to handle that...
postPatch = ''
substituteInPlace build.sh --replace "level-set-0.3.1" "${pname}-${version}" \
--replace "\`pwd\`" '/build'
sed -i -E 's#[^[:graph:]]error \(# error \(\"%s\", #g' src/*.cpp
'';
nativeBuildInputs = [
automake
autoconf
autoconf-archive
];
requiredOctavePackages = [
parallel
];
preBuild = ''
mkdir -p $out
source ./build.sh
cd -
'';
meta = {
name = "Level Set";
homepage = "https://gnu-octave.github.io/packages/level-set/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Routines for calculating the time-evolution of the level-set equation and extracting geometric information from the level-set function";
# Got broke with octave 8.x update, and wasn't updated since 2019
broken = true;
};
}

View File

@@ -0,0 +1,26 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "linear-algebra";
version = "2.2.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1wwjpxp9vjc6lszh0z3kgy4hyzpib8rvvh6b74ijh9qk9r9nmvjk";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/linear-algebra/";
license = with lib.licenses; [
gpl3Plus
lgpl3Plus
];
# They claim to have a FreeBSD license, but none of their code seems to have it.
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Additional linear algebra code, including matrix functions";
};
}

View File

@@ -0,0 +1,28 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "lssa";
version = "0.1.4";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "10h9lzsi7pqh93i7y50b618g05fnbw9n0i505bz5kz4avfa990zh";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/lssa/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Tools to compute spectral decompositions of irregularly-spaced time series";
longDescription = ''
A package implementing tools to compute spectral decompositions of
irregularly-spaced time series. Currently includes functions based off
the Lomb-Scargle periodogram and Adolf Mathias' implementation for R
and C.
'';
};
}

View File

@@ -0,0 +1,52 @@
{
buildOctavePackage,
lib,
fetchurl,
fftw,
fftwSinglePrec,
fftwFloat,
fftwLongDouble,
lapack,
blas,
portaudio,
jdk,
}:
buildOctavePackage rec {
pname = "ltfat";
version = "2.6.0";
src = fetchurl {
url = "https://github.com/ltfat/ltfat/releases/download/v${version}/${pname}-${version}-of.tar.gz";
sha256 = "sha256-FMDZ8XFhLG7KDoUjtXvafekg6tSltwBaO0+//jMzJj4=";
};
buildInputs = [
fftw
fftwSinglePrec
fftwFloat
fftwLongDouble
lapack
blas
portaudio
jdk
];
meta = {
name = "The Large Time-Frequency Analysis Toolbox";
homepage = "https://gnu-octave.github.io/packages/ltfat/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Toolbox for working with time-frequency analysis, wavelets and signal processing";
longDescription = ''
The Large Time/Frequency Analysis Toolbox (LTFAT) is a Matlab/Octave
toolbox for working with time-frequency analysis, wavelets and signal
processing. It is intended both as an educational and a computational
tool. The toolbox provides a large number of linear transforms including
Gabor and wavelet transforms along with routines for constructing windows
(filter prototypes) and routines for manipulating coefficients.
'';
# https://github.com/ltfat/ltfat/issues/203
broken = true;
};
}

View File

@@ -0,0 +1,34 @@
{
buildOctavePackage,
lib,
fetchurl,
io, # >= 2.2.7
geometry, # >= 4.0.0
gdal,
}:
buildOctavePackage rec {
pname = "mapping";
version = "1.4.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-IYiyRjnHCHhAFy5gR/dcuKWY11gSCubggQzmMAqGmhs=";
};
propagatedBuildInputs = [
gdal
];
requiredOctavePackages = [
io
geometry
];
meta = {
homepage = "https://gnu-octave.github.io/packages/mapping/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Simple mapping and GIS .shp .dxf and raster file functions";
};
}

View File

@@ -0,0 +1,25 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "matgeom";
version = "1.2.4";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-azRPhwMVvydCyojA/rXD2og1tPTL0vii15OveYQF+SA=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/matgeom/";
license = with lib.licenses; [
bsd2
gpl3Plus
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Geometry toolbox for 2D/3D geometric computing";
};
}

View File

@@ -0,0 +1,33 @@
{
buildOctavePackage,
lib,
fetchurl,
# Build-time dependencies
ncurses, # >= 5
units,
}:
buildOctavePackage rec {
pname = "miscellaneous";
version = "1.3.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-VxIReiXTHRJmADZGpA6B59dCdDPCY2bkJt/6mrir1kg=";
};
buildInputs = [
ncurses
];
propagatedBuildInputs = [
units
];
meta = {
homepage = "https://gnu-octave.github.io/packages/miscellaneous/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Miscellaneous tools that don't fit somewhere else";
};
}

View File

@@ -0,0 +1,61 @@
{
buildOctavePackage,
lib,
fetchFromGitHub,
# Octave Dependencies
splines,
# Other Dependencies
gmsh,
gawk,
pkg-config,
dolfin,
autoconf,
automake,
}:
buildOctavePackage rec {
pname = "msh";
version = "1.0.12";
src = fetchFromGitHub {
owner = "carlodefalco";
repo = "msh";
rev = "v${version}";
sha256 = "sha256-UnMrIruzm3ARoTgUlMMxfjTOMZw/znZUQJmj3VEOw8I=";
};
nativeBuildInputs = [
pkg-config
autoconf
automake
dolfin
];
buildInputs = [
dolfin
];
propagatedBuildInputs = [
gmsh
gawk
dolfin
];
requiredOctavePackages = [
splines
];
meta = {
homepage = "https://gnu-octave.github.io/packages/msh/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Create and manage triangular and tetrahedral meshes for Finite Element or Finite Volume PDE solvers";
longDescription = ''
Create and manage triangular and tetrahedral meshes for Finite Element or
Finite Volume PDE solvers. Use a mesh data structure compatible with
PDEtool. Rely on gmsh for unstructured mesh generation.
'';
# Not technically broken, but missing some functionality.
# dolfin needs to be its own stand-alone library for the last tests to pass.
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "mvn";
version = "1.1.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "00w69hxqnqdm3744z6p7gvzci44a3gy228x6bgq3xf5n3jwicnmg";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/mvn/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Multivariate normal distribution clustering and utility functions";
};
}

View File

@@ -0,0 +1,27 @@
{
buildOctavePackage,
lib,
fetchurl,
blas,
}:
buildOctavePackage rec {
pname = "nan";
version = "3.7.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-d9J6BfNFeM5LtMqth0boSPd9giYU42KBnxrsUCmKK1s=";
};
buildInputs = [
blas
];
meta = {
homepage = "https://gnu-octave.github.io/packages/nan/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Statistics and machine learning toolbox for data with and w/o missing values";
};
}

View File

@@ -0,0 +1,32 @@
{
buildOctavePackage,
lib,
fetchurl,
netcdf,
statistics,
}:
buildOctavePackage rec {
pname = "ncarray";
version = "1.0.6";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-W6L2Esm7AdzntT7cimKylbeKYcZWKhHim96N5dM/qoE=";
};
buildInputs = [
netcdf
];
requiredOctavePackages = [
statistics
];
meta = {
homepage = "https://gnu-octave.github.io/packages/ncarray/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Access a single or a collection of NetCDF files as a multi-dimensional array";
};
}

View File

@@ -0,0 +1,27 @@
{
buildOctavePackage,
lib,
fetchurl,
netcdf,
}:
buildOctavePackage rec {
pname = "netcdf";
version = "1.0.18";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-ydgcKFh4uWuSlr7zw+k1JFUSzGm9tiWmOHV1IWvlgwk=";
};
propagatedBuildInputs = [
netcdf
];
meta = {
homepage = "https://gnu-octave.github.io/packages/netcdf/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "NetCDF interface for Octave";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "nurbs";
version = "1.4.4";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-QfF1tu9z/FQWNDirRs5OP3IRJOGkkR2lnHELn3ItknY=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/nurbs/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Collection of routines for the creation, and manipulation of Non-Uniform Rational B-Splines (NURBS), based on the NURBS toolbox by Mark Spink";
};
}

View File

@@ -0,0 +1,29 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "ocl";
version = "1.2.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-g/HLE0qjnzYkq3t3OhxFBpL250JWbWjHJBP0SYJSOZU=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/ocl/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Use OpenCL for parallelization";
longDescription = ''
Package using OpenCL for parallelization, mostly suitable to
Single-Instruction-Multiple-Data (SIMD) computations, selectively
using available OpenCL hardware and drivers.
'';
# https://savannah.gnu.org/bugs/?66964
broken = true;
};
}

View File

@@ -0,0 +1,32 @@
{
buildOctavePackage,
lib,
fetchFromBitbucket,
}:
buildOctavePackage rec {
pname = "octclip";
version = "2.0.3";
src = fetchFromBitbucket {
owner = "jgpallero";
repo = pname;
rev = "OctCLIP-${version}";
sha256 = "sha256-gG2b8Ix6bzO6O7GRACE81JCVxfXW/+ZdfoniigAEq3g=";
};
# The only compilation problem is that no formatting specifier was provided
# for the error function. Because errorText is a string, I provide such a
# formatting specifier.
patchPhase = ''
sed -i s/"error(errorText)"/"error(\"%s\", errorText)"/g src/*.cc
'';
meta = {
name = "GNU Octave Clipping Polygons Tool";
homepage = "https://gnu-octave.github.io/packages/octclip/";
license = with lib.licenses; [ gpl3Plus ]; # modified BSD?
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Perform boolean operations with polygons using the Greiner-Hormann algorithm";
};
}

View File

@@ -0,0 +1,35 @@
{
buildOctavePackage,
lib,
fetchFromBitbucket,
proj, # >= 6.3.0
}:
buildOctavePackage rec {
pname = "octproj";
version = "3.0.2";
src = fetchFromBitbucket {
owner = "jgpallero";
repo = pname;
rev = "OctPROJ-${version}";
sha256 = "sha256-d/Zf172Etj+GA0cnGsQaKMjOmirE7Hwyj4UECpg7QFM=";
};
# The sed changes below allow for the package to be compiled.
patchPhase = ''
sed -i s/"error(errorText)"/"error(\"%s\", errorText)"/g src/*.cc
sed -i s/"warning(errorText)"/"warning(\"%s\", errorText)"/g src/*.cc
'';
propagatedBuildInputs = [
proj
];
meta = {
homepage = "https://gnu-octave.github.io/packages/octproj/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "GNU Octave bindings to PROJ library for cartographic projections and CRS transformations";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "optics";
version = "0.1.4";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1d9z82241a1zmr8m1vgw10pyk81vn0q4dcyx7d05pigfn5gykrgc";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/optics/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Functions covering various aspects of optics";
};
}

View File

@@ -0,0 +1,42 @@
{
buildOctavePackage,
lib,
fetchurl,
struct,
statistics,
lapack,
blas,
}:
buildOctavePackage rec {
pname = "optim";
version = "1.6.2";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-VUqOGLtxla6GH1BZwU8aVXhEJlwa3bW/vzq5iFUkeH4=";
};
buildInputs = [
lapack
blas
];
requiredOctavePackages = [
struct
statistics
];
meta = {
homepage = "https://gnu-octave.github.io/packages/optim/";
license = with lib.licenses; [
gpl3Plus
publicDomain
];
# Modified BSD code seems removed
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Non-linear optimization toolkit";
# Hasn't been updated since 2022, and fails to build with octave >= 10.1.0
broken = true;
};
}

View File

@@ -0,0 +1,32 @@
{
buildOctavePackage,
lib,
fetchurl,
gfortran,
}:
buildOctavePackage rec {
pname = "optiminterp";
version = "0.3.7";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-ubh/iOZlWTOYsTA6hJfPOituNBKTn2LbBnx+tmmSEug=";
};
nativeBuildInputs = [
gfortran
];
meta = {
homepage = "https://gnu-octave.github.io/packages/optiminterp/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Optimal interpolation toolbox for octave";
longDescription = ''
An optimal interpolation toolbox for octave. This package provides
functions to perform a n-dimensional optimal interpolations of
arbitrarily distributed data points.
'';
};
}

View File

@@ -0,0 +1,43 @@
{
buildOctavePackage,
lib,
fetchurl,
struct,
gnutls,
pkg-config,
}:
buildOctavePackage rec {
pname = "parallel";
version = "4.0.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1h8vw2r42393px6dk10y3lhpxl168r9d197f9whz6lbk2rg571pa";
};
patches = [
../database/c_verror.patch
];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
gnutls
];
requiredOctavePackages = [
struct
];
meta = {
homepage = "https://gnu-octave.github.io/packages/parallel/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Parallel execution package";
# Although upstream has added an identical patch to that of ../database, it
# still won't build with octave>8.1
broken = true;
};
}

View File

@@ -0,0 +1,30 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "quaternion";
version = "2.4.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "040ncksf0xz32qmi4484xs3q01nappxrsvwwa60g04yjy7c4sbac";
};
# Octave replaced many of the is_thing_type check function with isthing.
# The patch changes the occurrences of the old functions.
patchPhase = ''
sed -i s/is_numeric_type/isnumeric/g src/*.cc
sed -i s/is_real_type/isreal/g src/*.cc
sed -i s/is_bool_type/islogical/g src/*.cc
'';
meta = {
homepage = "https://gnu-octave.github.io/packages/quaternion/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Quaternion package for GNU Octave, includes a quaternion class with overloaded operators";
};
}

View File

@@ -0,0 +1,33 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "queueing";
version = "1.2.7";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1yhw277i1qgmddf6wbfb6a4zrfhvplkmfr20q1l15z4xi8afnm6d";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/queueing/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Provides functions for queueing networks and Markov chains analysis";
longDescription = ''
The queueing package provides functions for queueing networks and Markov
chains analysis. This package can be used to compute steady-state
performance measures for open, closed and mixed networks with single or
multiple job classes. Mean Value Analysis (MVA), convolution, and various
bounding techniques are implemented. Furthermore, several transient and
steady-state performance measures for Markov chains can be computed, such
as state occupancy probabilities, mean time to absorption, time-averaged
sojourn times and so forth. Discrete- and continuous-time Markov chains
are supported.
'';
};
}

View File

@@ -0,0 +1,27 @@
{
buildOctavePackage,
lib,
fetchurl,
control,
}:
buildOctavePackage rec {
pname = "signal";
version = "1.4.6";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-lO74/qeMiWCfjd9tX/i/wuDauTK0P4bOkRR0pYtcce4=";
};
requiredOctavePackages = [
control
];
meta = {
homepage = "https://gnu-octave.github.io/packages/signal/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Signal processing tools, including filtering, windowing and display functions";
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "sockets";
version = "1.4.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-u5Nb9PVyMoR0lIzXEMtkZntXbBfpyXrtLB8U+dkgYrc=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/sockets/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Socket functions for networking from within octave";
};
}

View File

@@ -0,0 +1,29 @@
{
buildOctavePackage,
lib,
fetchurl,
librsb,
}:
buildOctavePackage rec {
pname = "sparsersb";
version = "1.0.9";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0jyy2m7wylzyjqj9n6mjizhj0ccq8xnxm2g6pdlrmncxq1401khd";
};
propagatedBuildInputs = [
librsb
];
meta = {
homepage = "https://gnu-octave.github.io/packages/sparsersb/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Interface to the librsb package implementing the RSB sparse matrix format for fast shared-memory sparse matrix computations";
# Broken since octave>8.x
broken = true;
};
}

View File

@@ -0,0 +1,25 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "splines";
version = "1.3.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-r4hod3l8OpyKNs59lGE8EFn3n6tIg0KeezKjsB4D16Y=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/splines/";
license = with lib.licenses; [
gpl3Plus
publicDomain
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Additional spline functions";
};
}

View File

@@ -0,0 +1,32 @@
{
buildOctavePackage,
lib,
fetchFromGitHub,
io,
}:
buildOctavePackage rec {
pname = "statistics";
version = "1.7.0";
src = fetchFromGitHub {
owner = "gnu-octave";
repo = "statistics";
tag = "release-${version}";
hash = "sha256-k1YJtFrm71Th42IceX7roWaFCxU3284Abl8JAKLG9So=";
};
requiredOctavePackages = [
io
];
meta = {
homepage = "https://packages.octave.org/statistics";
license = with lib.licenses; [
gpl3Plus
publicDomain
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Statistics package for GNU Octave";
};
}

View File

@@ -0,0 +1,33 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "stk";
version = "2.8.1";
src = fetchurl {
url = "https://github.com/stk-kriging/stk/releases/download/${version}/${pname}-${version}-octpkg.tar.gz";
sha256 = "sha256-wTjM9LUcC8BEj3TNxAz877LqJvuoxWUse9PIZoWGnIU=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/stk/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "STK is a (not so) Small Toolbox for Kriging";
longDescription = ''
The STK is a (not so) Small Toolbox for Kriging. Its primary focus is on
the interpolation/regression technique known as kriging, which is very
closely related to Splines and Radial Basis Functions, and can be
interpreted as a non-parametric Bayesian method using a Gaussian Process
(GP) prior. The STK also provides tools for the sequential and non-sequential
design of experiments. Even though it is, currently, mostly geared towards
the Design and Analysis of Computer Experiments (DACE), the STK can be
useful for other applications areas (such as Geostatistics, Machine
Learning, Non-parametric Regression, etc.).
'';
};
}

View File

@@ -0,0 +1,46 @@
{
buildOctavePackage,
stdenv,
lib,
fetchurl,
pkg-config,
pcre2,
}:
buildOctavePackage rec {
pname = "strings";
version = "1.3.1";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-9l5eYgzw5K85trRAJW9eMYZxvf0RDNxDlD0MtwrSCLc=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
pcre2
];
# The gripes library no longer exists.
# https://build.opensuse.org/package/view_file/openSUSE:Backports:SLE-15-SP3/octave-forge-strings/octave-forge-strings.spec
# toascii is a deprecated function. Has been fixed in recent commits, but has
# not been released yet.
# https://sourceforge.net/p/octave/strings/ci/2db1dbb75557eef94605cb4ac682783ab78ac8d8/
patchPhase = ''
sed -i -s -e 's/gripes.h/errwarn.h/' -e 's/gripe_/err_/g' src/*.cc
sed -i s/toascii/double/g inst/*.m
'';
meta = {
homepage = "https://gnu-octave.github.io/packages/strings/";
license = lib.licenses.gpl3Plus;
# Claims to have a freebsd license, but I found none.
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Additional functions for manipulation and analysis of strings";
# Some pcre symbols claimed to be missing
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "struct";
version = "1.0.18";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-/M6n3YTBEE7TurtHoo8F4AEqicKE85qwlAkEUJFSlM4=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/struct/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Additional structure manipulation functions";
};
}

View File

@@ -0,0 +1,35 @@
{
buildOctavePackage,
lib,
fetchFromGitHub,
# Octave's Python (Python 3)
python,
}:
let
pythonEnv = python.withPackages (ps: [
ps.sympy
ps.mpmath
]);
in
buildOctavePackage rec {
pname = "symbolic";
version = "3.2.1";
src = fetchFromGitHub {
owner = "cbm755";
repo = "octsympy";
tag = "v${version}";
hash = "sha256-H2242+1zlke4aLoS3gsHpDfopM5oSZ4IpVR3+xxQ0Dc=";
};
propagatedBuildInputs = [ pythonEnv ];
meta = {
homepage = "https://gnu-octave.github.io/packages/symbolic/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Adds symbolic calculation features to GNU Octave";
};
}

View File

@@ -0,0 +1,36 @@
{
buildOctavePackage,
lib,
fetchurl,
# Octave dependencies
signal, # >= 1.3.0
# Build dependencies
gfortran,
}:
buildOctavePackage rec {
pname = "tisean";
version = "0.2.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "0nc2d9h91glxzmpizxdrc2dablw4bqhqhzs37a394c36myk4xjdv";
};
nativeBuildInputs = [
gfortran
];
requiredOctavePackages = [
signal
];
meta = {
homepage = "https://gnu-octave.github.io/packages/tisean/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Port of TISEAN 3.0.1";
# Broken since octave 8.x update, and wasn't updated since 2021
broken = true;
};
}

View File

@@ -0,0 +1,27 @@
{
buildOctavePackage,
lib,
fetchurl,
nan, # > 3.0.0
}:
buildOctavePackage rec {
pname = "tsa";
version = "4.6.3";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1pbxq77xc7pn0ki6rpijlq9v7inn0hn2adkx1skgwffl7pivrwsl";
};
requiredOctavePackages = [
nan
];
meta = {
homepage = "https://gnu-octave.github.io/packages/tsa/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Stochastic concepts and maximum entropy methods for time series analysis";
};
}

View File

@@ -0,0 +1,43 @@
{
buildOctavePackage,
lib,
fetchurl,
vibes,
}:
buildOctavePackage rec {
pname = "vibes";
version = "0.2.0";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "1zn86rcsjkqg67hphz5inxc5xkgr18sby8za68zhppc2z7pd91ng";
};
buildInputs = [
vibes
];
meta = {
homepage = "https://gnu-octave.github.io/packages/vibes/";
license = with lib.licenses; [
gpl3Plus
mit
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Easily display results (boxes, pavings) from interval methods";
longDescription = ''
The VIBes API allows one to easily display results (boxes, pavings) from
interval methods. VIBes consists in two parts: (1) the VIBes application
that features viewing, annotating and exporting figures, and (2) the
VIBes API that enables your program to communicate with the viewer in order
to draw figures. This package integrates the VIBes API into Octave. The
VIBes application is required for operation and must be installed
separately. Data types from third-party interval arithmetic libraries for
Octave are also supported.
'';
# Marked this way until KarlJoad gets around to packaging the vibes program.
# https://github.com/ENSTABretagneRobotics/VIBES
broken = true;
};
}

View File

@@ -0,0 +1,38 @@
{
buildOctavePackage,
stdenv,
lib,
fetchFromGitHub,
pkg-config,
ffmpeg,
}:
buildOctavePackage rec {
pname = "video";
version = "2.1.3";
src = fetchFromGitHub {
owner = "Andy1978";
repo = "octave-video";
rev = "refs/tags/${version}";
hash = "sha256-fn9LNfuS9dSStBfzBjRRkvP50JJ5K+Em02J9+cHqt6w=";
};
nativeBuildInputs = [
pkg-config
];
propagatedBuildInputs = [
ffmpeg
];
meta = {
homepage = "https://gnu-octave.github.io/packages/video/";
license = with lib.licenses; [
gpl3Plus
bsd3
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Wrapper for OpenCV's CvCapture_FFMPEG and CvVideoWriter_FFMPEG";
};
}

View File

@@ -0,0 +1,45 @@
{
buildOctavePackage,
lib,
fetchurl,
# Octave dependencies
linear-algebra,
miscellaneous,
struct,
statistics,
# Runtime dependencies
freewrl,
}:
buildOctavePackage rec {
pname = "vrml";
version = "1.0.14";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-Vfj0Q2CyOi7CrphZSl10Xv7QxTSvWdGk0Ya+SiewqV4=";
};
propagatedBuildInputs = [
freewrl
];
requiredOctavePackages = [
linear-algebra
miscellaneous
struct
statistics
];
meta = {
homepage = "https://gnu-octave.github.io/packages/vrml/";
license = with lib.licenses; [
gpl3Plus
fdl12Plus
];
maintainers = with lib.maintainers; [ KarlJoad ];
description = "3D graphics using VRML";
# Marked this way until KarlJoad gets freewrl as a runtime dependency.
broken = true;
};
}

View File

@@ -0,0 +1,22 @@
{
buildOctavePackage,
lib,
fetchurl,
}:
buildOctavePackage rec {
pname = "windows";
version = "1.6.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-j/goQc57jcfxlCsbf31Mx8oNud1vNE0D/hNfXyvVmTc=";
};
meta = {
homepage = "https://gnu-octave.github.io/packages/windows/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Provides COM interface and additional functionality on Windows";
};
}

View File

@@ -0,0 +1,42 @@
{
buildOctavePackage,
lib,
fetchurl,
zeromq,
pkg-config,
autoreconfHook,
}:
buildOctavePackage rec {
pname = "zeromq";
version = "1.5.5";
src = fetchurl {
url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
sha256 = "sha256-MAZEpbVuragVuXrMJ8q5/jU5cTchosAtrAR6ElLwfss=";
};
preAutoreconf = ''
cd src
'';
postAutoreconf = ''
cd ..
'';
nativeBuildInputs = [
pkg-config
autoreconfHook
];
propagatedBuildInputs = [
zeromq
];
meta = {
homepage = "https://gnu-octave.github.io/packages/zeromq/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "ZeroMQ bindings for GNU Octave";
};
}