Commit 8542ba3e authored by Karl Hallsby's avatar Karl Hallsby
Browse files

octavePackages.audio: Run autoreconf hook on compiled sources

Nixpkgs commit a0b51629 switched where
audio gets it sources, from a release tarball to the actual upstream
sources. These sources include leftover config.guess and config.sub
scripts generated by upstream maintainer's bootstrap script. Their
bootstrap script uses wget to grab config.guess and config.sub files,
which we cannot do inside the Nix build environment. So we forcibly
remove the config.* scripts and run autoreconf ourselves (through
autoreconfHook).
parent 16fe302d
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -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;
  };
}