From 3948e48005900b1ed6f909195184a1c00edaeee9 Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Mon, 11 Dec 2017 15:31:18 +0300 Subject: [PATCH] Yate: add recipe for version 6.0.0 Doesn't compile yet so help needed. --- net-voip/yate/patches/yate-6.0.0.patchset | 125 ++++++++++++++++++++++ net-voip/yate/yate-6.0.0.recipe | 72 +++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 net-voip/yate/patches/yate-6.0.0.patchset create mode 100644 net-voip/yate/yate-6.0.0.recipe diff --git a/net-voip/yate/patches/yate-6.0.0.patchset b/net-voip/yate/patches/yate-6.0.0.patchset new file mode 100644 index 000000000..8e038fb32 --- /dev/null +++ b/net-voip/yate/patches/yate-6.0.0.patchset @@ -0,0 +1,125 @@ +From 37a70eb94e8f2e077ad0400c39ae2f2945d0e70d Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Mon, 11 Dec 2017 15:00:11 +0300 +Subject: fix configure for use with Qt5 + + +diff --git a/configure.ac b/configure.ac +index 8280899..5296955 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -145,7 +145,7 @@ AC_HEADER_TIME + + # Checks for library functions. + AC_TYPE_SIGNAL +-AC_CHECK_FUNCS([malloc gettimeofday inet_ntoa memmove strerror], , [AC_MSG_ERROR([This function is required.])]) ++AC_CHECK_FUNCS([malloc gettimeofday memmove strerror], , [AC_MSG_ERROR([This function is required.])]) + + HAVE_GETCWD="" + AC_CHECK_FUNCS([getcwd], [HAVE_GETCWD="-DHAVE_GETCWD"]) +@@ -1558,13 +1558,13 @@ if [[ "x$ac_cv_use_libqt4" = "xyes" ]]; then + fi + if [[ "x$incqt" != "x" -a "x$libqt" != "x" ]]; then + HAVE_QT4=yes +- QT4_INC="-I$incqt -I$incqt/QtUiTools -I$incqt/QtGui -I$incqt/QtXml -I$incqt/QtCore" ++ QT4_INC="-I$incqt -I$incqt/QtUiTools -I$incqt/QtGui -I$incqt/QtXml -I$incqt/QtCore -I$incqt/QtMultimedia -I$incqt/QtWidgets" + case "$uname_os" in + *Darwin) + QT4_INC="-D__USE_WS_X11__ $QT4_INC" + ;; + esac +- QT4_LIB="-L$libqt -lQtUiTools -lQtGui -lQtXml -lQtCore" ++ QT4_LIB="-L$libqt -lQtUiTools -lQtGui -lQtXml -lQtCore -lQtMultimedia -lQtWidgets" + QT4_INC_NET="-I$incqt/QtNetwork" + QT4_LIB_NET="-L$libqt -lQtNetwork" + case "$uname_os" in +@@ -1707,7 +1707,7 @@ INSTALL_D="install -D" + CFLAGS=`echo "$CFLAGS" | sed 's/\(^\| \+\)-g[[0-9]]*//' | sed 's/[[[:space:]]]\{2,\}/ /g'` + MODULE_CFLAGS="-fno-exceptions -fPIC $HAVE_GCC_FORMAT_CHECK $HAVE_BLOCK_RETURN" + MODULE_CPPFLAGS="$HAVE_NO_OVERLOAD_VIRT_WARN $RTTI_OPT $MODULE_CFLAGS" +-MODULE_LDRELAX="-rdynamic -shared" ++MODULE_LDRELAX="-shared" + MODULE_SYMBOLS="-Wl,--retain-symbols-file,/dev/null" + SONAME_OPT="-shared -Wl,-soname=" + case "x$uname_os" in +-- +2.15.0 + + +From 3a4580e5ef92a298dd083194691d3cacfbbc6c4f Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Mon, 11 Dec 2017 15:00:51 +0300 +Subject: add missing include + + +diff --git a/clients/qt4/qt4client.h b/clients/qt4/qt4client.h +index c6702cf..f36df86 100644 +--- a/clients/qt4/qt4client.h ++++ b/clients/qt4/qt4client.h +@@ -21,6 +21,7 @@ + + #ifndef __QT4CLIENT_H + #define __QT4CLIENT_H ++#include + + #include + +-- +2.15.0 + + +From 07b67701f0613932dcb1132539b34c7f546b6d76 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Mon, 11 Dec 2017 15:29:54 +0300 +Subject: comment out pthread_attr_setinheritsched + + +diff --git a/engine/Mutex.cpp b/engine/Mutex.cpp +index 40c5d95..2ecccd7 100644 +--- a/engine/Mutex.cpp ++++ b/engine/Mutex.cpp +@@ -32,7 +32,7 @@ typedef HANDLE HSEMAPHORE; + + #ifdef MUTEX_HACK + extern "C" { +-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) ++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__HAIKU__) + extern int pthread_mutexattr_settype(pthread_mutexattr_t *__attr, int __kind); + #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE + #else +diff --git a/engine/Thread.cpp b/engine/Thread.cpp +index 4cf7120..ac4fa36 100644 +--- a/engine/Thread.cpp ++++ b/engine/Thread.cpp +@@ -162,7 +162,7 @@ ThreadPrivate* ThreadPrivate::create(Thread* t,const char* name,Thread::Priority + default: + break; + } +- int err = ::pthread_attr_setinheritsched(&attr,PTHREAD_EXPLICIT_SCHED); ++/* int err = ::pthread_attr_setinheritsched(&attr,PTHREAD_EXPLICIT_SCHED); + if (!err) + err = ::pthread_attr_setschedpolicy(&attr,policy); + if (!err) +@@ -174,8 +174,10 @@ ThreadPrivate* ThreadPrivate::create(Thread* t,const char* name,Thread::Priority + #else + DebugNote, + #endif ++ + "Could not set thread scheduling parameters: %s (%d)", + strerror(err),err); ++*/ + #ifdef XDEBUG + else + Debug(DebugInfo,"Successfully set high thread priority %d",prio); +@@ -214,7 +216,7 @@ ThreadPrivate* ThreadPrivate::create(Thread* t,const char* name,Thread::Priority + #ifdef PTHREAD_INHERIT_SCHED + if ((0 == i) && (EPERM == e) && (prio > Thread::Normal)) { + Debug(DebugWarn,"Failed to create thread with priority %d, trying with inherited",prio); +- ::pthread_attr_setinheritsched(&attr,PTHREAD_INHERIT_SCHED); ++// ::pthread_attr_setinheritsched(&attr,PTHREAD_INHERIT_SCHED); + e = EAGAIN; + } + #endif +-- +2.15.0 + diff --git a/net-voip/yate/yate-6.0.0.recipe b/net-voip/yate/yate-6.0.0.recipe new file mode 100644 index 000000000..6aff34b34 --- /dev/null +++ b/net-voip/yate/yate-6.0.0.recipe @@ -0,0 +1,72 @@ +SUMMARY="Universal telephony client" +DESCRIPTION="Yate stands for Yet Another Telephony Engine, and like the name \ +states it is mainly a telephony engine; while currently focused on Voice over \ +Internet Protocol (VoIP) and PSTN, its power lies in its ability to be easily \ +extended. Voice, video, data and instant messenging can all be unified under \ +Yate's flexible routing engine, maximizing communications efficiency and \ +minimizing infrastructure costs for businesses." +HOMEPAGE="http://www.yate.ro/" +COPYRIGHT="2010-2017 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="http://yate.null.ro/tarballs/yate6/yate-$portVersion-1.tar.gz" +SOURCE_DIR="yate" +CHECKSUM_SHA256="0ab76015651db8076031277b2003c23bd5d9eb940491801f30a6dc3c226c1817" +#ADDITIONAL_FILES="yate.rdef.in" +PATCHES="yate-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 !x86_64" +SECONDARY_ARCHITECTURES="?x86" + +PROVIDES=" + yate$secondaryArchSuffix = $portVersion + app:YateClient$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Network$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libQt5Xml$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libQt5Core$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:autoconf + cmd:g++$secondaryArchSuffix + cmd:make + cmd:which + " + +BUILD() +{ + export CXXFLAGS="-std=c++11" + export CFLAGS="-std=c++11" + ./autogen.sh + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + + local APP_SIGNATURE="application/x-vnd.qt5-yate" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/yate.rdef.in > yate.rdef + + addResourcesToBinaries yate.rdef $appsDir/Yate/YateClient + addAppDeskbarSymlink $appsDir/Yate/YateClient +}