diff --git a/pkgs/development/octave-modules/audio/default.nix b/pkgs/development/octave-modules/audio/default.nix index 777cf5d40249..c4bbb27d037f 100644 --- a/pkgs/development/octave-modules/audio/default.nix +++ b/pkgs/development/octave-modules/audio/default.nix @@ -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; }; } diff --git a/pkgs/development/octave-modules/windows/default.nix b/pkgs/development/octave-modules/windows/default.nix index 8c25872f889a..b28373831a63 100644 --- a/pkgs/development/octave-modules/windows/default.nix +++ b/pkgs/development/octave-modules/windows/default.nix @@ -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; }; }