nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

ardour: 6.9 -> 7.1 (#196290)

authored by

Andrew Morgan and committed by
GitHub
ef527a4a 00dd23ec

+223 -18
+191
pkgs/applications/audio/ardour/6.nix
··· 1 + { lib, stdenv 2 + , fetchgit 3 + , alsa-lib 4 + , aubio 5 + , boost 6 + , cairomm 7 + , cppunit 8 + , curl 9 + , dbus 10 + , doxygen 11 + , ffmpeg 12 + , fftw 13 + , fftwSinglePrec 14 + , flac 15 + , glibc 16 + , glibmm 17 + , graphviz 18 + , gtkmm2 19 + , harvid 20 + , itstool 21 + , libarchive 22 + , libjack2 23 + , liblo 24 + , libogg 25 + , libpulseaudio 26 + , librdf_raptor 27 + , librdf_rasqal 28 + , libsamplerate 29 + , libsigcxx 30 + , libsndfile 31 + , libusb1 32 + , libuv 33 + , libwebsockets 34 + , libxml2 35 + , libxslt 36 + , lilv 37 + , lrdf 38 + , lv2 39 + , makeWrapper 40 + , pango 41 + , perl 42 + , pkg-config 43 + , python3 44 + , readline 45 + , rubberband 46 + , serd 47 + , sord 48 + , soundtouch 49 + , sratom 50 + , suil 51 + , taglib 52 + , vamp-plugin-sdk 53 + , wafHook 54 + , xjadeo 55 + , videoSupport ? true 56 + }: 57 + stdenv.mkDerivation rec { 58 + pname = "ardour"; 59 + version = "6.9"; 60 + 61 + # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org 62 + # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. 63 + src = fetchgit { 64 + url = "git://git.ardour.org/ardour/ardour.git"; 65 + rev = version; 66 + sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm"; 67 + }; 68 + 69 + patches = [ 70 + # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 71 + ./as-flags.patch 72 + ]; 73 + 74 + nativeBuildInputs = [ 75 + doxygen 76 + graphviz # for dot 77 + itstool 78 + makeWrapper 79 + perl 80 + pkg-config 81 + python3 82 + wafHook 83 + ]; 84 + 85 + buildInputs = [ 86 + alsa-lib 87 + aubio 88 + boost 89 + cairomm 90 + cppunit 91 + curl 92 + dbus 93 + ffmpeg 94 + fftw 95 + fftwSinglePrec 96 + flac 97 + glibmm 98 + gtkmm2 99 + itstool 100 + libarchive 101 + libjack2 102 + liblo 103 + libogg 104 + libpulseaudio 105 + librdf_raptor 106 + librdf_rasqal 107 + libsamplerate 108 + libsigcxx 109 + libsndfile 110 + libusb1 111 + libuv 112 + libwebsockets 113 + libxml2 114 + libxslt 115 + lilv 116 + lrdf 117 + lv2 118 + pango 119 + perl 120 + python3 121 + readline 122 + rubberband 123 + serd 124 + sord 125 + soundtouch 126 + sratom 127 + suil 128 + taglib 129 + vamp-plugin-sdk 130 + ] ++ lib.optionals videoSupport [ harvid xjadeo ]; 131 + 132 + wafConfigureFlags = [ 133 + "--cxx11" 134 + "--docs" 135 + "--freedesktop" 136 + "--no-phone-home" 137 + "--optimize" 138 + "--ptformat" 139 + "--run-tests" 140 + "--test" 141 + ]; 142 + # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437 143 + # "--use-external-libs" 144 + 145 + # Ardour's wscript requires git revision and date to be available. 146 + # Since they are not, let's generate the file manually. 147 + postPatch = '' 148 + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc 149 + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript 150 + patchShebangs ./tools/ 151 + substituteInPlace libs/ardour/video_tools_paths.cc \ 152 + --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ 153 + --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' 154 + ''; 155 + 156 + postInstall = '' 157 + # wscript does not install these for some reason 158 + install -vDm 644 "build/gtk2_ardour/ardour.xml" \ 159 + -t "$out/share/mime/packages" 160 + install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \ 161 + -t "$out/share/applications" 162 + for size in 16 22 32 48 256 512; do 163 + install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ 164 + "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png" 165 + done 166 + install -vDm 644 "ardour.1"* -t "$out/share/man/man1" 167 + '' + lib.optionalString videoSupport '' 168 + # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. 169 + wrapProgram "$out/bin/ardour6" \ 170 + --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}" 171 + ''; 172 + 173 + LINKFLAGS = "-lpthread"; 174 + 175 + meta = with lib; { 176 + description = "Multi-track hard disk recording software"; 177 + longDescription = '' 178 + Ardour is a digital audio workstation (DAW), You can use it to 179 + record, edit and mix multi-track audio and midi. Produce your 180 + own CDs. Mix video soundtracks. Experiment with new ideas about 181 + music and sound. 182 + 183 + Please consider supporting the ardour project financially: 184 + https://community.ardour.org/donate 185 + ''; 186 + homepage = "https://ardour.org/"; 187 + license = licenses.gpl2Plus; 188 + platforms = platforms.linux; 189 + maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ]; 190 + }; 191 + }
+31 -18
pkgs/applications/audio/ardour/default.nix
··· 1 - { lib, stdenv 1 + { lib 2 + , stdenv 2 3 , fetchgit 4 + , fetchzip 3 5 , alsa-lib 4 6 , aubio 5 7 , boost ··· 58 56 }: 59 57 stdenv.mkDerivation rec { 60 58 pname = "ardour"; 61 - version = "6.9"; 59 + version = "7.1"; 62 60 63 - # don't fetch releases from the GitHub mirror, they are broken 61 + # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org 62 + # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. 64 63 src = fetchgit { 65 64 url = "git://git.ardour.org/ardour/ardour.git"; 66 65 rev = version; 67 - sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm"; 66 + hash = "sha256-eLF9n71tjdPA+ks0B8UonmPZqRgcZEA7ok79+m9PioU="; 67 + }; 68 + 69 + bundledContent = fetchzip { 70 + url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip"; 71 + hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A="; 72 + # archive does not contain a single folder at the root 73 + stripRoot = false; 68 74 }; 69 75 70 76 patches = [ 71 77 # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 72 78 ./as-flags.patch 73 79 ]; 80 + 81 + # Ardour's wscript requires git revision and date to be available. 82 + # Since they are not, let's generate the file manually. 83 + postPatch = '' 84 + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc 85 + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript 86 + patchShebangs ./tools/ 87 + substituteInPlace libs/ardour/video_tools_paths.cc \ 88 + --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ 89 + --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' 90 + ''; 74 91 75 92 nativeBuildInputs = [ 76 93 doxygen ··· 162 141 # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437 163 142 # "--use-external-libs" 164 143 165 - # Ardour's wscript requires git revision and date to be available. 166 - # Since they are not, let's generate the file manually. 167 - postPatch = '' 168 - printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc 169 - sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript 170 - patchShebangs ./tools/ 171 - substituteInPlace libs/ardour/video_tools_paths.cc \ 172 - --replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \ 173 - --replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");' 174 - ''; 175 - 176 144 postInstall = '' 177 145 # wscript does not install these for some reason 178 146 install -vDm 644 "build/gtk2_ardour/ardour.xml" \ 179 147 -t "$out/share/mime/packages" 180 - install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \ 148 + install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.desktop" \ 181 149 -t "$out/share/applications" 182 150 for size in 16 22 32 48 256 512; do 183 151 install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \ 184 - "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png" 152 + "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png" 185 153 done 186 154 install -vDm 644 "ardour.1"* -t "$out/share/man/man1" 155 + 156 + # install additional bundled beats, chords and progressions 157 + cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media" 187 158 '' + lib.optionalString videoSupport '' 188 159 # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. 189 - wrapProgram "$out/bin/ardour6" \ 160 + wrapProgram "$out/bin/ardour${lib.versions.major version}" \ 190 161 --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}" 191 162 ''; 192 163
+1
pkgs/top-level/all-packages.nix
··· 27260 27260 27261 27261 aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { }; 27262 27262 27263 + ardour_6 = callPackage ../applications/audio/ardour/6.nix { }; 27263 27264 ardour = callPackage ../applications/audio/ardour { }; 27264 27265 27265 27266 arelle = with python3Packages; toPythonApplication arelle;