diff --git a/media-sound/jack2/jack2-1.9.10~git.recipe b/media-sound/jack2/jack2-1.9.10~git.recipe new file mode 100644 index 000000000..3cf6443f3 --- /dev/null +++ b/media-sound/jack2/jack2-1.9.10~git.recipe @@ -0,0 +1,110 @@ +SUMMARY="Low-latency audio server" +DESCRIPTION="jack2 is a C++ version of the JACK low-latency audio server \ +for multi-processor machines." +HOMEPAGE="https://github.com/Barrett17/jack2-for-haiku" +LICENSE="GNU GPL v2" +COPYRIGHT="2001-2011 Paul Davis." +REVISION="1" +srcGitRev="11d3d1aaf56ff5c323271db7f7e7353ba5e245c9" +SOURCE_URI="https://github.com/Barrett17/jack2/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="e76472ae3895e885a5b25c714b760cfe034179eb67437aa4ba186f3cfe965708" +SOURCE_FILENAME="jack-$portVersion.tar.gz" +SOURCE_DIR="jack2-$srcGitRev" +PATCHES="jack2-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 !x86 !x86_64" +SECONDARY_ARCHITECTURES="!x86" + +PROVIDES=" + jack2$secondaryArchSuffix = $portVersion + cmd:jack_alias + cmd:jack_bufsize + cmd:jack_connect + cmd:jack_control + cmd:jack_cpu + cmd:jack_cpu_load + cmd:jack_disconnect + cmd:jack_evmon + cmd:jack_freewheel + cmd:jack_iodelay + cmd:jack_latent_client + cmd:jack_load + cmd:jack_lsp + cmd:jack_metro + cmd:jack_midi_dump + cmd:jack_midi_latency_test + cmd:jack_midiseq + cmd:jack_midisine + cmd:jack_monitor_client + cmd:jack_multiple_metro + cmd:jack_net_master + cmd:jack_net_slave + cmd:jack_rec + cmd:jack_samplerate + cmd:jack_server_control + cmd:jack_session_notify + cmd:jack_showtime + cmd:jack_simple_client + cmd:jack_simple_session_client + cmd:jack_test + cmd:jack_thru + cmd:jack_transport + cmd:jack_unload + cmd:jack_wait + cmd:jack_zombie + cmd:jackd + lib:libjack$secondaryArchSuffix = 0.1.0 compat >= 0 + lib:libjacknet$secondaryArchSuffix = 0.1.0 compat >= 0 + lib:libjackserver$secondaryArchSuffix = 0.1.0 compat >= 0 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libreadline$secondaryArchSuffix + lib:libsamplerate$secondaryArchSuffix + lib:libsndfile$secondaryArchSuffix + " + +PROVIDES_devel=" + jack2${secondaryArchSuffix}_devel + devel:libjack = 0.1.0 compat >= 0 + devel:libjacknet = 0.1.0 compat >= 0 + devel:libjackserver = 0.1.0 compat >= 0 + " +REQUIRES_devel=" + jack2$secondaryArchSuffix == base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libreadline$secondaryArchSuffix + devel:libsamplerate$secondaryArchSuffix + devel:libsndfile$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:g++$secondaryArchSuffix + cmd:git + cmd:pkg_config$secondaryArchSuffix + cmd:python + " + +BUILD() +{ + python ./waf configure --prefix="$prefix" --libdir="$libDir" \ + --mandir="$manDir" + python ./waf build +} + +INSTALL() +{ + python ./waf build install + + mkdir -p "$includeDir" + mv "$prefix"/include/jack/ "$includeDir" + rmdir "$prefix"/include + + prepareInstalledDevelLibs libjack libjacknet libjackserver + fixPkgconfig + + packageEntries devel \ + "$developDir" +} diff --git a/media-sound/jack2/jack2-1.9.8.recipe b/media-sound/jack2/jack2-1.9.8.recipe deleted file mode 100644 index 367b57c93..000000000 --- a/media-sound/jack2/jack2-1.9.8.recipe +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY="Low-latency audio server" -DESCRIPTION="jack2 is a C++ version of the JACK low-latency audio server \ -for multi-processor machines." -HOMEPAGE="https://github.com/Barrett17/jack2-for-haiku" -SOURCE_URI="git://github.com/Barrett17/jack2-for-haiku.git" -REVISION="1" -STATUS_HAIKU="unstable" -DEPEND="media-libs/libsamplerate >= 0.1.8 - media-libs/libsndfile >= 1.0.21" -#CHECKSUM_MD5="" -MESSAGE="This port only builds with gcc4." -BUILD() -{ - cd jack2-1.9.8 - python ./waf configure --prefix=/boot/common/ - python ./waf build -} - -INSTALL() -{ - cd jack2-1.9.8 - python ./waf build install -} - -LICENSE="GNU GPL v2" -COPYRIGHT="2001-2011 Paul Davis." diff --git a/media-sound/jack2/patches/jack2-1.9.10~git.patchset b/media-sound/jack2/patches/jack2-1.9.10~git.patchset new file mode 100644 index 000000000..47ef416e1 --- /dev/null +++ b/media-sound/jack2/patches/jack2-1.9.10~git.patchset @@ -0,0 +1,52 @@ +From dc2f59765d9c5fcb98e9c001d987df29602b1e45 Mon Sep 17 00:00:00 2001 +From: begasus +Date: Fri, 14 Sep 2018 11:06:05 +0200 +Subject: gcc7 patch pulled from upstream original jack2 + + +diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp +index e1ba63f..1ef470f 100644 +--- a/tests/iodelay.cpp ++++ b/tests/iodelay.cpp +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -167,8 +168,8 @@ static jack_client_t *jack_handle; + static jack_port_t *jack_capt; + static jack_port_t *jack_play; + +-jack_latency_range_t capture_latency = {-1, -1}; +-jack_latency_range_t playback_latency = {-1, -1}; ++jack_latency_range_t capture_latency = {UINT32_MAX, UINT32_MAX}; ++jack_latency_range_t playback_latency = {UINT32_MAX, UINT32_MAX}; + + void + latency_cb (jack_latency_callback_mode_t mode, void *arg) +@@ -266,4 +267,4 @@ int main (int ac, char *av []) + return 0; + } + +-// -------------------------------------------------------------------------------- +\ No newline at end of file ++// -------------------------------------------------------------------------------- +diff --git a/tests/test.cpp b/tests/test.cpp +index 750d152..91ef651 100644 +--- a/tests/test.cpp ++++ b/tests/test.cpp +@@ -480,7 +480,7 @@ int process4(jack_nframes_t nframes, void *arg) + jack_nframes_t delta_time = cur_time - last_time; + + Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time); +- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) { ++ if (delta_time > 0 && abs((int64_t)delta_time - (int64_t)cur_buffer_size) > (int64_t)tolerance) { + printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance); + } + +-- +2.19.0 +