Package: ardour Version: 1:2.8.11-6 Severity: important Tags: patch Justification: fails to build from source
Hello! As can be seen from the buildd logs, Ardour fails to build on non-Linux ports: <https://buildd.debian.org/status/package.php?p=ardour&suite=sid> I have attached a patch which allows it to build on at least kFreeBSD architectures. I have tested building and running the modified package on both kfreebsd-amd64 and [linux-]amd64 systems, and have not found any problems with it. As noted in the patch, thanks to the FreeBSD porters, without whose work this would have been a lot more difficult. Please let me know if you need any more information. Thanks! Steven. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (800, 'unstable'), (700, 'experimental') Architecture: kfreebsd-amd64 (x86_64) Kernel: kFreeBSD 8.2-1-amd64 Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages ardour depends on: ii jackd 5 JACK Audio Connection Kit (default ii libart-2.0-2 2.3.21-1 Library of functions for 2D graphi ii libatk1.0-0 2.0.1-2 ATK accessibility toolkit ii libatkmm-1.6-1 2.22.5-1 C++ wrappers for ATK accessibility ii libaubio2 0.3.2-4.2 a library for audio segmentation ii libc0.1 2.13-14 Embedded GNU C Library: Shared lib ii libcairo2 1.10.2-6.1 The Cairo 2D vector graphics libra ii libcairomm-1.0-1 1.10.0-1 C++ wrappers for Cairo (shared lib ii libcurl3-gnutls 7.21.7-1 Multi-protocol file transfer libra ii libfftw3-3 3.2.2-1 library for computing Fast Fourier ii libfontconfig1 2.8.0-3 generic font configuration library ii libfreetype6 2.4.6-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.6.1-4 GCC support library ii libgdk-pixbuf2.0-0 2.23.5-3 GDK Pixbuf library ii libglib2.0-0 2.28.6-1 The GLib library of C routines ii libglibmm-2.4-1c2a 2.28.1-1 C++ wrapper for the GLib toolkit ( ii libgnomecanvas2-0 2.30.3-1 powerful object-oriented display e ii libgnomecanvasmm-2.6 2.26.0-1 C++ wrappers for libgnomecanvas2 ( ii libgtk2.0-0 2.24.5-4 GTK+ graphical user interface libr ii libgtkmm-2.4-1c2a 1:2.24.0-1 C++ wrappers for GTK+ (shared libr ii libjack0 [libjack-0. 1:0.121.0+svn4469-2 JACK Audio Connection Kit (librari ii liblo7 0.26~repack-7 Lightweight OSC library ii liblrdf0 0.4.0-5 library to manipulate RDF files de ii libpango1.0-0 1.28.4-2 Layout and rendering of internatio ii libpangomm-1.4-1 2.28.2-1 C++ Wrapper for pango (shared libr ii libraptor1 1.4.21-5 Raptor RDF parser and serializer l ii libraptor2-0 2.0.4-1 Raptor 2 RDF syntax library ii librasqal3 0.9.26-1 Rasqal RDF query library ii librdf0 1.0.13-3 Redland Resource Description Frame ii libsamplerate0 0.1.7-3 Audio sample rate conversion libra ii libsigc++-2.0-0c2a 2.2.9-1 type-safe Signal Framework for C++ ii libslv2-9 0.6.6-9 A library for simple use of LV2 pl ii libsndfile1 1.0.25-2 Library for reading/writing audio ii libstdc++6 4.6.1-4 GNU Standard C++ Library v3 ii libusb-0.1-4 2:0.1.12-18 userspace USB programming library ii libvamp-hostsdk3 2.1-1 helper library for Vamp hosts writ ii libvamp-sdk2 2.1-1 helper library for Vamp plugins wr ii libxml2 2.7.8.dfsg-4 GNOME XML library ii libxslt1.1 1.1.26-8 XSLT 1.0 processing library - runt ii python 2.6.7-2 interactive high-level object-orie ii python-gtk2 2.24.0-2 Python bindings for the GTK+ widge ii python-twisted 11.0.0-2 Event-based framework for internet Versions of packages ardour recommends: ii iceweasel [www-browser] 6.0~b4-1 Web browser based on Firefox ii midori [www-browser] 0.4.0-1 fast, lightweight graphical web br ii w3m [www-browser] 0.5.3-3 WWW browsable pager with excellent ardour suggests no packages. -- debconf-show failed
diff --git a/debian/patches/160_kfreebsd.patch b/debian/patches/160_kfreebsd.patch new file mode 100644 index 0000000..631e085 --- /dev/null +++ b/debian/patches/160_kfreebsd.patch @@ -0,0 +1,175 @@ +Remove assumptions about ALSA presence to allow to build on non-Linux ports. Thanks to the FreeBSD porters, on whose work this is based. +--- a/SConstruct ++++ b/SConstruct +@@ -1016,7 +1016,7 @@ + + conf = Configure(env) + +-if conf.CheckCHeader('alsa/asoundlib.h'): ++if conf.CheckCHeader('alsa/asoundlib.h') and os.environ['DEB_HOST_ARCH_OS'] == 'linux': + libraries['sysmidi'] = LibraryInfo (LIBS='asound') + env['SYSMIDI'] = 'ALSA Sequencer' + subst_dict['%MIDITAG%'] = "seq" +@@ -1034,8 +1034,10 @@ + subst_dict['%MIDITAG%'] = "ardour" + subst_dict['%MIDITYPE%'] = "coremidi" + else: +- print "It appears you don't have the required MIDI libraries installed. For Linux this means you are missing the development package for ALSA libraries." +- sys.exit (1) ++ libraries['sysmidi'] = LibraryInfo () ++ env['SYSMIDI'] = 'none' ++ subst_dict['%MIDITAG%'] = "none" ++ subst_dict['%MIDITYPE%'] = "none" + + pname = env['PROGRAM_NAME'] + subst_dict['%MIDI_DEVICE_NAME%'] = pname.lower() +@@ -1320,9 +1322,12 @@ + if conf.CheckCHeader('/System/Library/Frameworks/CoreAudio.framework/Versions/A/Headers/CoreAudio.h'): + subst_dict['%JACK_INPUT%'] = "coreaudio:Built-in Audio:in" + subst_dict['%JACK_OUTPUT%'] = "coreaudio:Built-in Audio:out" +-else: ++elif os.environ['DEB_HOST_ARCH_OS'] == 'linux': + subst_dict['%JACK_INPUT%'] = "alsa_pcm:playback_" + subst_dict['%JACK_OUTPUT%'] = "alsa_pcm:capture_" ++else: ++ subst_dict['%JACK_INPUT%'] = "oss:playback_" ++ subst_dict['%JACK_OUTPUT%'] = "oss:capture_" + + # posix_memalign available + if not conf.CheckFunc('posix_memalign'): +--- a/libs/midi++2/SConscript ++++ b/libs/midi++2/SConscript +@@ -39,9 +39,11 @@ + midi2.Append (CCFLAGS="-DWITH_COREMIDI") + midi2.Append (LINKFLAGS="-framework CoreMIDI") + midi2.Append (LINKFLAGS="-framework CoreFoundation") +-else: ++elif os.environ['DEB_HOST_ARCH_OS'] == 'linux': + sysdep_src = [ 'alsa_sequencer_midiport.cc' ] + midi2.Append (CCFLAGS="-DWITH_ALSA") ++else: ++ sysdep_src = [ ] + + midi2.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE") + midi2.Append(CCFLAGS="-DLIBSIGC_DISABLE_DEPRECATED") +--- a/gtk2_ardour/engine_dialog.cc ++++ b/gtk2_ardour/engine_dialog.cc +@@ -12,7 +12,7 @@ + #include <CoreFoundation/CFString.h> + #include <sys/param.h> + #include <mach-o/dyld.h> +-#else ++#elif defined(__linux__) + #include <alsa/asoundlib.h> + #endif + +@@ -113,7 +113,9 @@ + #ifdef __APPLE__ + strings.push_back (X_("CoreAudio")); + #else ++#ifdef __linux__ + strings.push_back (X_("ALSA")); ++#endif + strings.push_back (X_("OSS")); + strings.push_back (X_("FFADO")); + #endif +@@ -158,7 +160,7 @@ + basic_packer.attach (period_size_combo, 1, 2, row, row + 1, FILL|EXPAND, (AttachOptions) 0); + row++; + +-#ifndef __APPLE__ ++#ifdef __linux__ + label = manage (new Label (_("Number of buffers"))); + basic_packer.attach (*label, 0, 1, row, row + 1, FILL|EXPAND, (AttachOptions) 0); + basic_packer.attach (periods_spinner, 1, 2, row, row + 1, FILL|EXPAND, (AttachOptions) 0); +@@ -179,7 +181,7 @@ + row++; + /* no audio mode with CoreAudio, its duplex or nuthin' */ + +-#ifndef __APPLE__ ++#ifdef __linux__ + label = manage (new Label (_("Audio Mode"))); + basic_packer.attach (*label, 0, 1, row, row + 1, FILL|EXPAND, (AttachOptions) 0); + basic_packer.attach (audio_mode_combo, 1, 2, row, row + 1, FILL|EXPAND, (AttachOptions) 0); +@@ -218,7 +220,7 @@ + realtime_button.signal_toggled().connect (mem_fun (*this, &EngineControl::realtime_changed)); + realtime_changed (); + +-#ifndef __APPLE__ ++#ifdef __linux__ + label = manage (new Label (_("Realtime Priority"))); + label->set_alignment (1.0, 0.5); + options_packer.attach (*label, 0, 1, row, row + 1, FILL|EXPAND, (AttachOptions) 0); +@@ -268,7 +270,7 @@ + options_packer.attach (*label, 0, 1, row, row + 1, FILL|EXPAND, (AttachOptions) 0); + ++row; + +-#ifndef __APPLE__ ++#ifdef __linux + label = manage (new Label (_("Dither"))); + label->set_alignment (1.0, 0.5); + options_packer.attach (dither_mode_combo, 1, 2, row, row + 1, FILL|EXPAND, AttachOptions(0)); +@@ -299,7 +301,7 @@ + device_packer.set_spacings (6); + row = 0; + +-#ifndef __APPLE__ ++#ifdef __linux__ + label = manage (new Label (_("Input device"))); + label->set_alignment (1.0, 0.5); + device_packer.attach (*label, 0, 1, row, row+1, FILL|EXPAND, (AttachOptions) 0); +@@ -570,7 +572,7 @@ + void + EngineControl::realtime_changed () + { +-#ifndef __APPLE__ ++#ifdef __linux__ + priority_spinner.set_sensitive (realtime_button.get_active()); + #endif + } +@@ -586,8 +588,10 @@ + #endif + + #ifndef __APPLE__ ++#ifdef __linux__ + } else if (driver == "ALSA") { + devices[driver] = enumerate_alsa_devices (); ++#endif + } else if (driver == "FFADO") { + devices[driver] = enumerate_ffado_devices (); + } else if (driver == "OSS") { +@@ -714,6 +718,7 @@ + return devs; + } + #else ++#ifdef __linux__ + vector<string> + EngineControl::enumerate_alsa_devices () + { +@@ -774,6 +779,7 @@ + + return devs; + } ++#endif + + vector<string> + EngineControl::enumerate_ffado_devices () +@@ -816,7 +822,9 @@ + vector<string>& strings = devices[driver]; + + if (strings.empty() && driver != "FFADO" && driver != "Dummy") { ++#ifdef __linux__ + error << string_compose (_("No devices found for driver \"%1\""), driver) << endmsg; ++#endif + return; + } + +@@ -862,7 +870,7 @@ + EngineControl::redisplay_latency () + { + uint32_t rate = get_rate(); +-#ifdef __APPLE_ ++#ifndef __linux__ + float periods = 2; + #else + float periods = periods_adjustment.get_value(); diff --git a/debian/patches/series b/debian/patches/series index 8c0c070..43377df 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,3 +6,4 @@ 111_libardourvampplugins.patch 140_enable-ladish.patch 150_soundtouch.patch +160_kfreebsd.patch
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers