Unverified Commit 643a559d authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #259979 from ctem/ardour

ardour: 7.5 -> 8.0
parents 4e1a54c1 c3fc9b10
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 ];
  };
+4 −4
Original line number Diff line number Diff line
@@ -54,18 +54,19 @@
, vamp-plugin-sdk
, wafHook
, xjadeo
, optimize ? true # disable to print Lua DSP script output to stdout
, videoSupport ? true
}:
stdenv.mkDerivation rec {
  pname = "ardour";
  version = "7.5";
  version = "8.0";

  # 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;
    hash = "sha256-cmYt6fGYuuVs6YhAXaO9AG6TrYLDVUaE1/iC67rt76I=";
    hash = "sha256-ZL8aTq2OsCWwLUUx5XYbH4eRN+Xz+oMAj9IS07RfTag=";
  };

  bundledContent = fetchzip {
@@ -155,11 +156,10 @@ stdenv.mkDerivation rec {
    "--docs"
    "--freedesktop"
    "--no-phone-home"
    "--optimize"
    "--ptformat"
    "--run-tests"
    "--test"
  ];
  ] ++ lib.optional optimize "--optimize";
  # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
  # "--use-external-libs"

+1 −0
Original line number Diff line number Diff line
@@ -68,6 +68,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
@@ -30431,8 +30431,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;