octavePackages: Run autoreconf hook on compiled sources (#496611)

This commit is contained in:
Doron Behar
2026-03-08 18:18:10 +00:00
committed by GitHub
2 changed files with 38 additions and 2 deletions
@@ -7,6 +7,7 @@
alsa-lib,
rtmidi,
pkg-config,
autoreconfHook,
}:
buildOctavePackage rec {
@@ -22,6 +23,7 @@ buildOctavePackage rec {
nativeBuildInputs = [
pkg-config
autoreconfHook
];
propagatedBuildInputs = [
@@ -30,6 +32,21 @@ buildOctavePackage rec {
rtmidi
];
# autoreconfHook provides an autoreconfPhase that is run as a
# preconfigurePhase, which means it runs AFTER the source is un-tarred, and
# before buildOctavePackage's buildPhase re-tars it up into a format for later
# consumption by Octave's "pkg build" command.
preAutoreconf = ''
pushd src
# Upstream's bootstrap script uses wget to fetch config.guess & config.sub
# and has them committed to the repository. We must remove them so autoreconf
# actually fires for our environment.
rm config.*
'';
postAutoreconf = ''
popd
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=release-(.*)" ]; };
meta = {
@@ -38,6 +55,5 @@ buildOctavePackage rec {
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
broken = true;
};
}
@@ -3,6 +3,7 @@
lib,
fetchFromGitHub,
nix-update-script,
autoreconfHook,
}:
buildOctavePackage rec {
@@ -16,6 +17,25 @@ buildOctavePackage rec {
sha256 = "sha256-hr94VALlAEwpqNU7imEN63M0BdPFSu5IznhWOn/mNiQ=";
};
nativeBuildInputs = [
autoreconfHook
];
# autoreconfHook provides an autoreconfPhase that is run as a
# preconfigurePhase, which means it runs AFTER the source is un-tarred, and
# before buildOctavePackage's buildPhase re-tars it up into a format for later
# consumption by Octave's "pkg build" command.
preAutoreconf = ''
pushd src
# Upstream's bootstrap script uses wget to fetch config.guess & config.sub
# and has them committed to the repository. We must remove them so autoreconf
# actually fires for our environment.
rm config.*
'';
postAutoreconf = ''
popd
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=release-(.*)" ]; };
meta = {
@@ -23,6 +43,6 @@ buildOctavePackage rec {
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ KarlJoad ];
description = "Provides COM interface and additional functionality on Windows";
broken = true;
platforms = lib.platforms.windows;
};
}