Unverified Commit c2ed6c18 authored by Ctem's avatar Ctem
Browse files

ardour: ardour_6 -> ardour_7 (#196841)

This replaces the last stable 6.* release (6.9) with the last stable
7.* release (7.5) as the fail-safe against potential issues with the
latest release (8.0).
parent 5091b543
Loading
Loading
Loading
Loading
+31 −18
Original line number Diff line number Diff line
{ lib, stdenv
{ lib
, stdenv
, fetchgit
, fetchzip
, alsa-lib
, aubio
, boost
@@ -56,21 +58,40 @@
}:
stdenv.mkDerivation rec {
  pname = "ardour";
  version = "6.9";
  version = "7.5";

  # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org
  # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info.
  src = fetchgit {
    url = "git://git.ardour.org/ardour/ardour.git";
    rev = version;
    sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm";
    hash = "sha256-cmYt6fGYuuVs6YhAXaO9AG6TrYLDVUaE1/iC67rt76I=";
  };

  bundledContent = fetchzip {
    url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip";
    hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A=";
    # archive does not contain a single folder at the root
    stripRoot = false;
  };

  patches = [
    # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096
    ./as-flags.patch
    ./default-plugin-search-paths.patch
  ];

  # Ardour's wscript requires git revision and date to be available.
  # Since they are not, let's generate the file manually.
  postPatch = ''
    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
    sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
    patchShebangs ./tools/
    substituteInPlace libs/ardour/video_tools_paths.cc \
      --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
      --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
  '';

  nativeBuildInputs = [
    doxygen
    graphviz # for dot
@@ -142,31 +163,23 @@ stdenv.mkDerivation rec {
  # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
  # "--use-external-libs"

  # Ardour's wscript requires git revision and date to be available.
  # Since they are not, let's generate the file manually.
  postPatch = ''
    printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
    sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
    patchShebangs ./tools/
    substituteInPlace libs/ardour/video_tools_paths.cc \
      --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
      --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
  '';

  postInstall = ''
    # wscript does not install these for some reason
    install -vDm 644 "build/gtk2_ardour/ardour.xml" \
      -t "$out/share/mime/packages"
    install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
    install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \
      -t "$out/share/applications"
    for size in 16 22 32 48 256 512; do
      install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
        "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
        "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png"
    done
    install -vDm 644 "ardour.1"* -t "$out/share/man/man1"

    # install additional bundled beats, chords and progressions
    cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media"
  '' + lib.optionalString videoSupport ''
    # `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
    wrapProgram "$out/bin/ardour6" \
    wrapProgram "$out/bin/ardour${lib.versions.major version}" \
      --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
  '';

@@ -185,7 +198,7 @@ stdenv.mkDerivation rec {
    '';
    homepage = "https://ardour.org/";
    license = licenses.gpl2Plus;
    mainProgram = "ardour6";
    mainProgram = "ardour7";
    platforms = platforms.linux;
    maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
  };
+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ mapAliases ({
  angelfish = libsForQt5.kdeGear.angelfish; # Added 2021-10-06
  ansible_2_12 = throw "Ansible 2.12 goes end of life in 2023/05 and can't be supported throughout the 23.05 release cycle"; # Added 2023-05-16
  antimicroX = antimicrox; # Added 2021-10-31
  ardour_6 = throw "ardour_6 has been removed in favor of newer versions"; # Added 2023-10-13
  aseprite-unfree = aseprite; # Added 2023-08-26
  asls = throw "asls has been removed: abandoned by upstream"; # Added 2023-03-16
  asterisk_16 = throw "asterisk_16: Asterisk 16 is end of life and has been removed"; # Added 2023-04-19
+1 −1
Original line number Diff line number Diff line
@@ -30621,8 +30621,8 @@ with pkgs;
    texlive = texlive.combined.scheme-medium;
  };
  ardour_6 = callPackage ../applications/audio/ardour/6.nix { };
  ardour = callPackage ../applications/audio/ardour { };
  ardour_7 = callPackage ../applications/audio/ardour/7.nix { };
  arelle = with python3Packages; toPythonApplication arelle;