Skip to content

Commit

Permalink
ardour: 5.12 -> 6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
prusnak committed May 27, 2020
1 parent d81beee commit 84ca1c9
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 30 deletions.
12 changes: 12 additions & 0 deletions pkgs/applications/audio/ardour/as-flags.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -379,8 +379,7 @@ def build(bld):

# remove '${DEFINES_ST:DEFINES}' from run_str.
# x86_64-w64-mingw32-as (mingw) -D flag is for debug messages
- if bld.env['build_target'] == 'mingw':
- class asm(Task.classes['asm']): run_str = '${AS} ${ASFLAGS} ${ASMPATH_ST:INCPATHS} ${AS_SRC_F}${SRC} ${AS_TGT_F}${TGT}'
+ class asm(Task.classes['asm']): run_str = '${AS} ${ASFLAGS} ${ASMPATH_ST:INCPATHS} ${AS_SRC_F}${SRC} ${AS_TGT_F}${TGT}'

# operate on copy to avoid adding sources twice
sources = list(libardour_sources)
64 changes: 34 additions & 30 deletions pkgs/applications/audio/ardour/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,18 @@
, libsigcxx
, libsndfile
, libusb1
, fluidsynth_1
, fluidsynth
, hidapi
, libltc
, qm-dsp
, libxml2
, lilv
, lrdf
, lv2
, makeWrapper
, perl
, pkg-config
, itstool
, python2
, python3
, rubberband
, serd
, sord
Expand All @@ -43,36 +42,38 @@
, pango
, suil
, libarchive
, libpulseaudio
, libuv
, libwebsockets
, cppunit
, readline
, wafHook
}:
let
# Ardour git repo uses a mix of annotated and lightweight tags. Annotated
# tags are used for MAJOR.MINOR versioning, and lightweight tags are used
# in-between; MAJOR.MINOR.REV where REV is the number of commits since the
# last annotated tag. A slightly different version string format is needed
# for the 'revision' info that is built into the binary; it is the format of
# "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH.

# Version to build.
tag = "5.12";
in stdenv.mkDerivation rec {
name = "ardour-${tag}";
stdenv.mkDerivation rec {
pname = "ardour";
version = "6.0";

# don't fetch releases from the GitHub mirror, they are broken
src = fetchgit {
url = "git://git.ardour.org/ardour/ardour.git";
rev = "ae0dcdc0c5d13483271065c360e378202d20170a";
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
rev = version;
sha256 = "162jd96zahl05fdmjwvpdfjxbhd6ifbav6xqa0vv6rsdl4zk395q";
};

patches = [
# weird "as" issue: https://tracker.ardour.org/view.php?id=8096
./as-flags.patch
];

nativeBuildInputs = [
wafHook
makeWrapper
pkg-config
itstool
doxygen
graphviz # for dot
perl
python2
python3
];

buildInputs = [
Expand All @@ -94,7 +95,7 @@ in stdenv.mkDerivation rec {
libsigcxx
libsndfile
libusb1
fluidsynth_1
fluidsynth
hidapi
libltc
qm-dsp
Expand All @@ -111,35 +112,38 @@ in stdenv.mkDerivation rec {
taglib
vamp-plugin-sdk
libarchive
libpulseaudio
libuv
libwebsockets
cppunit
readline
];

wafConfigureFlags = [
"--optimize"
"--docs"
"--use-external-libs"
"--freedesktop"
"--with-backends=jack,alsa,dummy"
"--with-backends=jack,alsa,dummy,pulseaudio"
"--qm-dsp-include=${qm-dsp}/include/qm-dsp"
];

NIX_CFLAGS_COMPILE = "-I${qm-dsp}/include/qm-dsp";

# ardour's wscript has a "tarball" target but that required the git revision
# be available. Since this is an unzipped tarball fetched from github we
# have to do that ourself.
# 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 = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
patchShebangs ./tools/
'';

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/ardour5.desktop" \
install -vDm 644 "build/gtk2_ardour/ardour6.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/ardour5.png"
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
done
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
'';
Expand All @@ -155,9 +159,9 @@ in stdenv.mkDerivation rec {
Please consider supporting the ardour project financially:
https://community.ardour.org/node/8288
'';
homepage = "http://ardour.org/";
homepage = "https://ardour.org/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu maintainers.fps ];
maintainers = with maintainers; [ goibhniu fps ];
};
}

0 comments on commit 84ca1c9

Please sign in to comment.