From d7d4c518943a5cfccdfeabb6e2b1c7eae340ba77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 5 Feb 2026 15:10:15 +0100 Subject: [PATCH] octavePackages: remove broken packages Remove fem-fenics, level-set, parallel, sparsersb, tisean, vibes, and vrml packages which have been marked broken since NixOS 24.05 and remain unfixed. Per RFC 180, packages broken for a full release cycle are subject to removal. https://github.com/NixOS/rfcs/pull/180 --- .../interpreters/octave/default.nix | 2 + .../octave-modules/fem-fenics/default.nix | 36 ------------ .../octave-modules/level-set/default.nix | 57 ------------------- .../octave-modules/parallel/default.nix | 43 -------------- .../octave-modules/sparsersb/default.nix | 29 ---------- .../octave-modules/tisean/default.nix | 36 ------------ .../octave-modules/vibes/default.nix | 43 -------------- .../octave-modules/vrml/default.nix | 45 --------------- pkgs/top-level/octave-packages.nix | 34 ++++------- 9 files changed, 12 insertions(+), 313 deletions(-) delete mode 100644 pkgs/development/octave-modules/fem-fenics/default.nix delete mode 100644 pkgs/development/octave-modules/level-set/default.nix delete mode 100644 pkgs/development/octave-modules/parallel/default.nix delete mode 100644 pkgs/development/octave-modules/sparsersb/default.nix delete mode 100644 pkgs/development/octave-modules/tisean/default.nix delete mode 100644 pkgs/development/octave-modules/vibes/default.nix delete mode 100644 pkgs/development/octave-modules/vrml/default.nix diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index a1add4055af5..506e75019f04 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -1,6 +1,7 @@ { stdenv, pkgs, + config, lib, fetchurl, gfortran, @@ -207,6 +208,7 @@ stdenv.mkDerivation (finalAttrs: { octavePackages = import ../../../top-level/octave-packages.nix { pkgs = allPkgs; inherit + config lib stdenv fetchurl diff --git a/pkgs/development/octave-modules/fem-fenics/default.nix b/pkgs/development/octave-modules/fem-fenics/default.nix deleted file mode 100644 index 80029c9df0b3..000000000000 --- a/pkgs/development/octave-modules/fem-fenics/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/development/octave-modules/level-set/default.nix b/pkgs/development/octave-modules/level-set/default.nix deleted file mode 100644 index 6ee69fa96eb3..000000000000 --- a/pkgs/development/octave-modules/level-set/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/development/octave-modules/parallel/default.nix b/pkgs/development/octave-modules/parallel/default.nix deleted file mode 100644 index fc0681ea0a02..000000000000 --- a/pkgs/development/octave-modules/parallel/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/development/octave-modules/sparsersb/default.nix b/pkgs/development/octave-modules/sparsersb/default.nix deleted file mode 100644 index a55de57ccbcb..000000000000 --- a/pkgs/development/octave-modules/sparsersb/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/development/octave-modules/tisean/default.nix b/pkgs/development/octave-modules/tisean/default.nix deleted file mode 100644 index b575b231843f..000000000000 --- a/pkgs/development/octave-modules/tisean/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/development/octave-modules/vibes/default.nix b/pkgs/development/octave-modules/vibes/default.nix deleted file mode 100644 index 7bdbf20316df..000000000000 --- a/pkgs/development/octave-modules/vibes/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/development/octave-modules/vrml/default.nix b/pkgs/development/octave-modules/vrml/default.nix deleted file mode 100644 index 498837478f05..000000000000 --- a/pkgs/development/octave-modules/vrml/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/top-level/octave-packages.nix b/pkgs/top-level/octave-packages.nix index 00901a75cb5b..2a779ccac1d2 100644 --- a/pkgs/top-level/octave-packages.nix +++ b/pkgs/top-level/octave-packages.nix @@ -13,6 +13,7 @@ # from outside, we can `inherit` them from `pkgs`. { pkgs, + config, lib, stdenv, fetchurl, @@ -91,12 +92,6 @@ makeScope newScope ( econometrics = callPackage ../development/octave-modules/econometrics { }; - fem-fenics = callPackage ../development/octave-modules/fem-fenics { - # PLACEHOLDER until KarlJoad gets dolfin packaged. - dolfin = null; - ffc = null; - }; - fits = callPackage ../development/octave-modules/fits { }; financial = callPackage ../development/octave-modules/financial { }; @@ -131,8 +126,6 @@ makeScope newScope ( interval = callPackage ../development/octave-modules/interval { }; - level-set = callPackage ../development/octave-modules/level-set { }; - linear-algebra = callPackage ../development/octave-modules/linear-algebra { }; lssa = callPackage ../development/octave-modules/lssa { }; @@ -182,8 +175,6 @@ makeScope newScope ( optiminterp = callPackage ../development/octave-modules/optiminterp { }; - parallel = callPackage ../development/octave-modules/parallel { }; - quaternion = callPackage ../development/octave-modules/quaternion { }; queueing = callPackage ../development/octave-modules/queueing { }; @@ -192,8 +183,6 @@ makeScope newScope ( sockets = callPackage ../development/octave-modules/sockets { }; - sparsersb = callPackage ../development/octave-modules/sparsersb { }; - stk = callPackage ../development/octave-modules/stk { }; splines = callPackage ../development/octave-modules/splines { }; @@ -208,22 +197,10 @@ makeScope newScope ( inherit (octave) python; }; - tisean = callPackage ../development/octave-modules/tisean { }; - tsa = callPackage ../development/octave-modules/tsa { }; - vibes = callPackage ../development/octave-modules/vibes { - vibes = null; - # TODO: Need to package vibes: - # https://github.com/ENSTABretagneRobotics/VIBES - }; - video = callPackage ../development/octave-modules/video { }; - vrml = callPackage ../development/octave-modules/vrml { - freewrl = null; - }; - windows = callPackage ../development/octave-modules/windows { }; zeromq = callPackage ../development/octave-modules/zeromq { @@ -231,4 +208,13 @@ makeScope newScope ( }; } + // lib.optionalAttrs config.allowAliases { + fem-fenics = throw "octavePackages.fem-fenics has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + level-set = throw "octavePackages.level-set has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + parallel = throw "octavePackages.parallel has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + sparsersb = throw "octavePackages.sparsersb has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + tisean = throw "octavePackages.tisean has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + vibes = throw "octavePackages.vibes has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + vrml = throw "octavePackages.vrml has been removed due to being broken for more than a year; see RFC 180"; # Added 2026-02-05 + } )