diff options
author | pi <pi@FreeBSD.org> | 2016-05-29 11:50:56 +0800 |
---|---|---|
committer | pi <pi@FreeBSD.org> | 2016-05-29 11:50:56 +0800 |
commit | 408800cd5f4b9d0cd477e9770506835158887dde (patch) | |
tree | 1decfa85674afc808c9b09965e9526f1fc396c7a /net-im | |
parent | 410e50f75300f3cb62b4bb025c25800d57e609df (diff) | |
download | freebsd-ports-graphics-408800cd5f4b9d0cd477e9770506835158887dde.tar.gz freebsd-ports-graphics-408800cd5f4b9d0cd477e9770506835158887dde.tar.zst freebsd-ports-graphics-408800cd5f4b9d0cd477e9770506835158887dde.zip |
New port: net-im/ring-daemon
Ring is a secure and distributed voice, video and chat communication
platform that requires no centralized server and leaves the power
of privacy in the hands of the user.
WWW: https://ring.cx/
PR: 209542
Submitted by: Yuri Victorovich <yuri@rawbw.com>
Diffstat (limited to 'net-im')
21 files changed, 555 insertions, 0 deletions
diff --git a/net-im/Makefile b/net-im/Makefile index 26eed3ed017..38ce8167ca1 100644 --- a/net-im/Makefile +++ b/net-im/Makefile @@ -149,6 +149,7 @@ SUBDIR += qxmpp SUBDIR += ramblercontacts SUBDIR += ricochet + SUBDIR += ring-daemon SUBDIR += rubygem-earthquake SUBDIR += rubygem-hipchat SUBDIR += rubygem-lita diff --git a/net-im/ring-daemon/Makefile b/net-im/ring-daemon/Makefile new file mode 100644 index 00000000000..18b75314682 --- /dev/null +++ b/net-im/ring-daemon/Makefile @@ -0,0 +1,78 @@ +# Created by: Yuri Victorovich <yuri@rawbw.com> +# $FreeBSD$ + +PORTNAME= ring-daemon +PORTVERSION= 0.160516 +DISTVERSIONPREFIX= v +CATEGORIES= net-im net-p2p + +MAINTAINER= yuri@rawbw.com +COMMENT= Daemon part of the Ring VoIP SIP phone and IM + +LICENSE= GPLv3 + +BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat +LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp \ + libjsoncpp.so:devel/jsoncpp \ + libpcre.so:devel/pcre \ + libupnp.so:devel/upnp \ + libopendht.so:devel/opendht \ + libgnutls.so:security/gnutls \ + libavcodec.so:multimedia/ffmpeg \ + libpulse.so:audio/pulseaudio \ + libsndfile.so:audio/libsndfile \ + libsamplerate.so:audio/libsamplerate \ + libspeex.so:audio/speex \ + libspeexdsp.so:audio/speexdsp \ + libuuid.so:misc/e2fsprogs-libuuid + +BROKEN_FreeBSD_9= Fails due to compiler issues + +USE_GITHUB= yes +GH_TUPLE+= savoirfairelinux:ring-daemon:56ec56f +GH_TUPLE+= pjsip:pjproject:2.4.5:pj + +CONFIGURE_ARGS= --without-gsm \ + --enable-video \ + --enable-ipv6 + +USES= autoreconf compiler:c++14-lang gmake libtool pkgconfig +USE_GNOME= glib20 gtk20 cairo gdkpixbuf2 +USE_XORG= x11 xscrnsaver +USE_GL= gl +USE_QT5= core gui network xml opengl sql sql-sqlite3_run widgets svg \ + concurrent buildtools_build linguisttools_build +GNU_CONFIGURE= yes +MYFLAGS= -I${WRKSRC}/contrib/native/pjproject/pjlib/include -I${LOCALBASE}/include -DPJ_LINUX -I${LOCALBASE}/include/jsoncpp +CFLAGS+= ${MYFLAGS} +CPPFLAGS+= ${MYFLAGS} +CXXFLAGS+= ${MYFLAGS} +USE_LDCONFIG= yes + +OPTIONS_DEFINE= DBUS +OPTIONS_DEFAULT=DBUS +DBUS_CONFIGURE_OFF= --without-dbus +DBUS_CONFIGURE_ON= --with-dbus +DBUS_LIB_DEPENDS= \ + libdbus-1.so:devel/dbus \ + libdbus-c++-1.so:devel/dbus-c++ +OPTIONS_SUB= yes + +post-extract: + @${MKDIR} ${WRKSRC}/contrib/native + @${MV} ${WRKDIR}/pjproject-2.4.5 ${WRKSRC}/contrib/native/ +post-patch: + @${REINPLACE_CMD} -e 's|PJPROJECT_OPTIONS)|PJPROJECT_OPTIONS) CPPFLAGS=-I${LOCALBASE}/include/ CFLAGS="-I${LOCALBASE}/include/ -fPIC"|g' \ + ${WRKSRC}/contrib/src/pjproject/rules.mak + @${REINPLACE_CMD} -e 's|ringtonePath_ = "/usr/share|ringtonePath_ = "${LOCALBASE}/share|g' \ + ${WRKSRC}/src/account.cpp +pre-configure: + @(cd ${WRKSRC} && \ + ${ECHO} "===> Building the custom version of pjsip" && \ + cd contrib/native && \ + ../bootstrap && \ + ${GMAKE} .pjproject) +post-stage: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libring.so + +.include <bsd.port.mk> diff --git a/net-im/ring-daemon/distinfo b/net-im/ring-daemon/distinfo new file mode 100644 index 00000000000..41ef810f284 --- /dev/null +++ b/net-im/ring-daemon/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1463424490 +SHA256 (savoirfairelinux-ring-daemon-v0.160516-56ec56f_GH0.tar.gz) = 46ef728350b2a8ad1328c2ad805702f26d7bd5af54b7195d364d7f012c33d540 +SIZE (savoirfairelinux-ring-daemon-v0.160516-56ec56f_GH0.tar.gz) = 2626013 +SHA256 (pjsip-pjproject-2.4.5_GH0.tar.gz) = 3678608de92cb0ed1248464fbeb20af9ddc05c1ad55aea3d40ff8e4ec784c91f +SIZE (pjsip-pjproject-2.4.5_GH0.tar.gz) = 7627091 diff --git a/net-im/ring-daemon/files/patch-configure.ac b/net-im/ring-daemon/files/patch-configure.ac new file mode 100644 index 00000000000..06afaeba1ba --- /dev/null +++ b/net-im/ring-daemon/files/patch-configure.ac @@ -0,0 +1,59 @@ +--- configure.ac.orig 2016-05-10 20:45:50 UTC ++++ configure.ac +@@ -48,6 +48,13 @@ case "${host_os}" in + # Needed for plugin system + LDFLAGS+=" -ldl" + ;; ++ freebsd*) ++ SYS=freebsd ++ # Necessary for linking .a to a .so ++ LDFLAGS+=" -Wl,-Bsymbolic" ++ # Needed for plugin system ++ LDFLAGS+=" -ldl" ++ ;; + darwin*) + SYS=darwin + +@@ -95,6 +102,7 @@ case "${host_os}" in + esac + AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") + AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux") ++AM_CONDITIONAL(HAVE_FREEBSD, test "${SYS}" = "freebsd") + AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") + AM_CONDITIONAL(HAVE_WIN64, test "${HAVE_WIN64}" = "1") + AM_CONDITIONAL(HAVE_OSX, test "${HAVE_OSX}" = "1") +@@ -189,10 +197,10 @@ AC_ARG_WITH(contrib, + ]) + AC_MSG_CHECKING([for 3rd party libraries path]) + AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [ +- CONTRIB_DIR="${srcdir}/contrib/${host}" ++ CONTRIB_DIR="${srcdir}/contrib/`uname -m`-portbld-freebsd" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD +- CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`" ++ CONTRIB_DIR="${srcdir}/contrib/`uname -m`-portbld-freebsd" + AS_IF([test ! -d "${CONTRIB_DIR}"], [ + echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD + CONTRIB_DIR="" +@@ -295,7 +303,7 @@ fi + AM_CONDITIONAL(BUILD_ALSA, test "x$with_alsa" = "xyes") + + +-if test "${SYS}" = "linux"; then ++if test "${SYS}" = "linux" || test "${SYS}" = "freebsd"; then + dnl Check for pulseaudio development package - name: libpulse-dev + LIBPULSE_MIN_VERSION=0.9.15 + AC_ARG_WITH([pulse], +@@ -377,9 +385,9 @@ AS_IF([test "x$with_dbus" = "xyes"], [ + AC_MSG_ERROR([dbusxx-xml2cpp not found]) + fi + +- AS_IF([test "x$CLANG" = "xyes"], [ +- AC_MSG_ERROR([dbus does not compile when clang is used, rerun with --without-dbus]) +- ]); ++ #AS_IF([test "x$CLANG" = "xyes"], [ ++ # AC_MSG_ERROR([dbus does not compile when clang is used, rerun with --without-dbus]) ++ #]); + AM_CONDITIONAL(RING_DBUS, true)], + AM_CONDITIONAL(RING_DBUS, false)); + diff --git a/net-im/ring-daemon/files/patch-contrib_bootstrap b/net-im/ring-daemon/files/patch-contrib_bootstrap new file mode 100644 index 00000000000..26ff03cbe8e --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_bootstrap @@ -0,0 +1,21 @@ +--- contrib/bootstrap.orig 2016-05-10 20:45:50 UTC ++++ contrib/bootstrap +@@ -74,7 +74,7 @@ done + if test -z "$BUILD" + then + echo -n "Guessing build system... " +- BUILD="`${CC:-cc} -dumpmachine`" ++ BUILD="`uname -m`-portbld-freebsd" + if test -z "$BUILD"; then + echo "FAIL!" + exit 1 +@@ -212,6 +212,9 @@ case "${OS}" in + add_make_enabled "HAVE_IOS" "HAVE_DARWIN_OS" "HAVE_BSD" "HAVE_NEON" "HAVE_ARMV7A" + fi + ;; ++ *freebsd*) ++ add_make_enabled "HAVE_FREEBSD" ++ ;; + *bsd*) + add_make_enabled "HAVE_BSD" + ;; diff --git a/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_aconfigure b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_aconfigure new file mode 100644 index 00000000000..dc9afae0bd7 --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_aconfigure @@ -0,0 +1,11 @@ +--- contrib/native/pjproject-2.4.5/aconfigure.orig 2015-08-12 04:46:22 UTC ++++ contrib/native/pjproject-2.4.5/aconfigure +@@ -7158,7 +7158,7 @@ $as_echo "Using OpenH264 prefix... $with + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenH264 usability" >&5 + $as_echo_n "checking OpenH264 usability... " >&6; } + +- OPENH264_LIBS="-lopenh264 -lstdc++" ++ OPENH264_LIBS="-lopenh264" + + SAVED_LIBS="$LIBS" + SAVED_LDFLAGS="$LDFLAGS" diff --git a/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_aconfigure.ac b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_aconfigure.ac new file mode 100644 index 00000000000..4b76907e7a4 --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_aconfigure.ac @@ -0,0 +1,11 @@ +--- contrib/native/pjproject-2.4.5/aconfigure.ac.orig 2015-08-12 04:46:22 UTC ++++ contrib/native/pjproject-2.4.5/aconfigure.ac +@@ -1151,7 +1151,7 @@ AC_ARG_ENABLE(openh264, + + AC_MSG_CHECKING([OpenH264 usability]) + +- OPENH264_LIBS="-lopenh264 -lstdc++" ++ OPENH264_LIBS="-lopenh264" + + SAVED_LIBS="$LIBS" + SAVED_LDFLAGS="$LDFLAGS" diff --git a/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_build.mak.in b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_build.mak.in new file mode 100644 index 00000000000..e63ca610fcb --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_build.mak.in @@ -0,0 +1,10 @@ +--- contrib/native/pjproject-2.4.5/build.mak.in.orig 2015-08-12 04:46:22 UTC ++++ contrib/native/pjproject-2.4.5/build.mak.in +@@ -265,7 +265,6 @@ export APP_LDLIBS := $(PJSUA_LIB_LDLIB) + $(PJLIB_LDLIB) \ + @LIBS@ + export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \ +- -lstdc++ \ + $(APP_LDLIBS) + + # Here are the variabels to use if application is using the library diff --git a/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_pjsip_build_Makefile b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_pjsip_build_Makefile new file mode 100644 index 00000000000..8ad334dd042 --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_native_pjproject-2.4.5_pjsip_build_Makefile @@ -0,0 +1,12 @@ +--- contrib/native/pjproject-2.4.5/pjsip/build/Makefile.orig 2015-08-12 04:46:22 UTC ++++ contrib/native/pjproject-2.4.5/pjsip/build/Makefile +@@ -152,8 +152,7 @@ export PJSUA2_LIB_LDFLAGS += $(PJSUA_LIB + $(PJNATH_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJLIB_LDLIB) \ +- $(_LDFLAGS) \ +- -lstdc++ ++ $(_LDFLAGS) + + + ############################################################################### diff --git a/net-im/ring-daemon/files/patch-contrib_src_main.mak b/net-im/ring-daemon/files/patch-contrib_src_main.mak new file mode 100644 index 00000000000..4a6f1b44923 --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_src_main.mak @@ -0,0 +1,91 @@ +--- contrib/src/main.mak.orig 2016-05-10 20:45:50 UTC ++++ contrib/src/main.mak +@@ -78,10 +78,10 @@ endif + # + ifndef HAVE_CROSS_COMPILE + ifneq ($(findstring $(origin CC),undefined default),) +-CC := gcc ++CC := cc + endif + ifneq ($(findstring $(origin CXX),undefined default),) +-CXX := g++ ++CXX := c++ + endif + ifneq ($(findstring $(origin LD),undefined default),) + LD := ld +@@ -97,10 +97,10 @@ STRIP := strip + endif + else + ifneq ($(findstring $(origin CC),undefined default),) +-CC := $(CROSS_COMPILE)gcc ++CC := $(CROSS_COMPILE)cc + endif + ifneq ($(findstring $(origin CXX),undefined default),) +-CXX := $(CROSS_COMPILE)g++ ++CXX := $(CROSS_COMPILE)c++ + endif + ifneq ($(findstring $(origin LD),undefined default),) + LD := $(CROSS_COMPILE)ld +@@ -117,8 +117,8 @@ endif + endif + + ifdef HAVE_ANDROID +-CC := $(CROSS_COMPILE)gcc --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH) +-CXX := $(CROSS_COMPILE)g++ --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH) ++CC := $(CROSS_COMPILE)cc --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH) ++CXX := $(CROSS_COMPILE)c++ --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH) + endif + + ifdef HAVE_MACOSX +@@ -256,15 +256,15 @@ else + ZCAT ?= $(error Gunzip client (zcat) not found!) + endif + +-ifeq ($(shell sha512sum --version >/dev/null 2>&1 || echo FAIL),) +-SHA512SUM = sha512sum --check +-else ifeq ($(shell shasum --version >/dev/null 2>&1 || echo FAIL),) +-SHA512SUM = shasum -a 512 --check +-else ifeq ($(shell openssl version >/dev/null 2>&1 || echo FAIL),) +-SHA512SUM = openssl dgst -sha512 +-else +-SHA512SUM = $(error SHA-512 checksumming not found!) +-endif ++#ifeq ($(shell sha512sum --version >/dev/null 2>&1 || echo FAIL),) ++#SHA512SUM = sha512sum --check ++#else ifeq ($(shell shasum --version >/dev/null 2>&1 || echo FAIL),) ++#SHA512SUM = shasum -a 512 --check ++#else ifeq ($(shell openssl version >/dev/null 2>&1 || echo FAIL),) ++#SHA512SUM = openssl dgst -sha512 ++#else ++#SHA512SUM = $(error SHA-512 checksumming not found!) ++#endif + + # + # Common helpers +@@ -320,7 +320,7 @@ checksum = \ + "$(SRC)/$(patsubst .sum-%,%,$@)/$(2)SUMS" &&) \ + (cd $(TARBALLS) && $(1) /dev/stdin) < \ + "$(SRC)/$(patsubst .sum-%,%,$@)/$(2)SUMS" +-CHECK_SHA512 = $(call checksum,$(SHA512SUM),SHA512) ++#CHECK_SHA512 = $(call checksum,$(SHA512SUM),SHA512) + UNPACK = $(RM) -R $@ \ + $(foreach f,$(filter %.tar.gz %.tgz,$^), && tar xvzf $(f)) \ + $(foreach f,$(filter %.tar.bz2,$^), && tar xvjf $(f)) \ +@@ -459,12 +459,12 @@ endif + echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)" >> $@ + + # Default pattern rules +-.sum-%: $(SRC)/%/SHA512SUMS +- $(CHECK_SHA512) +- touch $@ ++#.sum-%: $(SRC)/%/SHA512SUMS ++# $(CHECK_SHA512) ++# touch $@ + +-.sum-%: +- $(error Download and check target not defined for $*) ++#.sum-%: ++# $(error Download and check target not defined for $*) + + # Dummy dependency on found packages + $(patsubst %,.dep-%,$(PKGS_FOUND)): .dep-%: diff --git a/net-im/ring-daemon/files/patch-contrib_src_pjproject_rules.mak b/net-im/ring-daemon/files/patch-contrib_src_pjproject_rules.mak new file mode 100644 index 00000000000..83bd8735c33 --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_src_pjproject_rules.mak @@ -0,0 +1,33 @@ +--- contrib/src/pjproject/rules.mak.orig 2016-05-10 20:45:50 UTC ++++ contrib/src/pjproject/rules.mak +@@ -42,17 +42,17 @@ endif + DEPS_pjproject += gnutls + ifndef HAVE_WIN32 + ifndef HAVE_MACOSX +-DEPS_pjproject += uuid ++#DEPS_pjproject += uuid + endif + endif + + $(TARBALLS)/pjproject-$(PJPROJECT_VERSION).tar.bz2: +- $(call download,$(PJPROJECT_URL)) ++ #$(call download,$(PJPROJECT_URL)) + +-.sum-pjproject: pjproject-$(PJPROJECT_VERSION).tar.bz2 ++#.sum-pjproject: pjproject-$(PJPROJECT_VERSION).tar.bz2 + +-pjproject: pjproject-$(PJPROJECT_VERSION).tar.bz2 .sum-pjproject +- $(UNPACK) ++pjproject: pjproject-$(PJPROJECT_VERSION).tar.bz2 ++ #$(UNPACK) + ifdef HAVE_WIN32 + $(APPLY) $(SRC)/pjproject/intptr_t.patch + $(APPLY) $(SRC)/pjproject/pj_win.patch +@@ -68,6 +68,6 @@ endif + $(MOVE) + + .pjproject: pjproject +- cd $< && $(HOSTVARS) ./aconfigure $(HOSTCONF) $(PJPROJECT_OPTIONS) ++ cd $< && $(HOSTVARS) ./aconfigure $(HOSTCONF) $(PJPROJECT_OPTIONS) CPPFLAGS=-I/usr/local/include/ CFLAGS="-I/usr/local/include/ -fPIC" CPPFLAGS=-I/usr/local/include/ CFLAGS="-I/usr/local/include/ -fPIC" + cd $< && CFLAGS="$(PJPROJECT_EXTRA_CFLAGS)" $(MAKE) && $(MAKE) install + touch $@ diff --git a/net-im/ring-daemon/files/patch-contrib_src_uuid_rules.mak b/net-im/ring-daemon/files/patch-contrib_src_uuid_rules.mak new file mode 100644 index 00000000000..5e1c764dc2e --- /dev/null +++ b/net-im/ring-daemon/files/patch-contrib_src_uuid_rules.mak @@ -0,0 +1,34 @@ +--- contrib/src/uuid/rules.mak.orig 2016-05-10 20:45:50 UTC ++++ contrib/src/uuid/rules.mak +@@ -1,6 +1,6 @@ + # libuuid part of util-linux + +-UUID_VERSION := 1.0.2 ++UUID_VERSION := 1.0.3 + UUID_URL := $(SF)/libuuid/libuuid-$(UUID_VERSION).tar.gz + + ifeq ($(call need_pkg,"uuid >= 2.0.0"),) +@@ -8,16 +8,16 @@ PKGS_FOUND += uuid + endif + + $(TARBALLS)/libuuid-$(UUID_VERSION).tar.gz: +- $(call download,$(UUID_URL)) ++ #$(call download,$(UUID_URL)) + + .sum-uuid: libuuid-$(UUID_VERSION).tar.gz + + uuid: libuuid-$(UUID_VERSION).tar.gz .sum-uuid +- $(UNPACK) +- $(APPLY) $(SRC)/uuid/android.patch +- $(MOVE) ++ #$(UNPACK) ++ #$(APPLY) $(SRC)/uuid/android.patch ++ #$(MOVE) + + .uuid: uuid +- cd $< && $(HOSTVARS) ./configure $(HOSTCONF) +- cd $< && $(MAKE) install +- touch $@ ++ #cd $< && $(HOSTVARS) ./configure $(HOSTCONF) ++ #cd $< && $(MAKE) install ++ #touch $@ diff --git a/net-im/ring-daemon/files/patch-src_Makefile.am b/net-im/ring-daemon/files/patch-src_Makefile.am new file mode 100644 index 00000000000..535f49928b7 --- /dev/null +++ b/net-im/ring-daemon/files/patch-src_Makefile.am @@ -0,0 +1,11 @@ +--- src/Makefile.am.orig 2016-05-10 20:45:50 UTC ++++ src/Makefile.am +@@ -4,7 +4,7 @@ RING_VIDEO_LIBS= + + if RING_VIDEO + RING_VIDEO_LIBS+=./media/video/libvideo.la +-if HAVE_LINUX ++if HAVE_FREEBSD + if HAVE_ANDROID + RING_VIDEO_LIBS+= \ + ./media/video/androidvideo/libandroidvideo.la diff --git a/net-im/ring-daemon/files/patch-src__dring__configurationmanager_interface.h b/net-im/ring-daemon/files/patch-src__dring__configurationmanager_interface.h new file mode 100644 index 00000000000..e35223e8977 --- /dev/null +++ b/net-im/ring-daemon/files/patch-src__dring__configurationmanager_interface.h @@ -0,0 +1,11 @@ +--- src/dring/configurationmanager_interface.h.orig 2016-05-10 20:45:50 UTC ++++ src/dring/configurationmanager_interface.h +@@ -31,6 +31,8 @@ + #include <string> + #include <cstdint> + ++#include <time.h> ++ + #include "dring.h" + #include "security_const.h" + diff --git a/net-im/ring-daemon/files/patch-src_archiver.cpp b/net-im/ring-daemon/files/patch-src_archiver.cpp new file mode 100644 index 00000000000..a9bcb9a1dab --- /dev/null +++ b/net-im/ring-daemon/files/patch-src_archiver.cpp @@ -0,0 +1,22 @@ +--- src/archiver.cpp.orig 2016-05-10 20:45:50 UTC ++++ src/archiver.cpp +@@ -97,7 +97,8 @@ Archiver::exportAccounts(std::vector<std + } + + // Encrypt using provided password +- auto encrypted = dht::crypto::aesEncrypt(compressed, password); ++ dht::Blob blob; for (auto c : password) blob.push_back(c); ++ auto encrypted = dht::crypto::aesEncrypt(compressed, blob); + + // Write + try { +@@ -151,7 +152,8 @@ Archiver::importAccounts(std::string arc + + // Decrypt + try { +- file = dht::crypto::aesDecrypt(file, password); ++ dht::Blob blob; for (auto c : password) blob.push_back(c); ++ file = dht::crypto::aesDecrypt(file, blob); + } catch (const std::exception& ex) { + RING_ERR("Decryption failed: %s", ex.what()); + return EPERM; diff --git a/net-im/ring-daemon/files/patch-src_media_video_Makefile.am b/net-im/ring-daemon/files/patch-src_media_video_Makefile.am new file mode 100644 index 00000000000..72751cd8ab5 --- /dev/null +++ b/net-im/ring-daemon/files/patch-src_media_video_Makefile.am @@ -0,0 +1,11 @@ +--- src/media/video/Makefile.am.orig 2016-05-10 20:45:50 UTC ++++ src/media/video/Makefile.am +@@ -2,7 +2,7 @@ include $(top_srcdir)/globals.mak + + SUBDIRS= test + +-if HAVE_LINUX ++if HAVE_FREEBSD + if HAVE_ANDROID + SUBDIRS+= \ + androidvideo diff --git a/net-im/ring-daemon/files/patch-src_media_video_test_Makefile.am b/net-im/ring-daemon/files/patch-src_media_video_test_Makefile.am new file mode 100644 index 00000000000..e9529baf807 --- /dev/null +++ b/net-im/ring-daemon/files/patch-src_media_video_test_Makefile.am @@ -0,0 +1,11 @@ +--- src/media/video/test/Makefile.am.orig 2016-05-10 20:45:50 UTC ++++ src/media/video/test/Makefile.am +@@ -9,7 +9,7 @@ test_video_rtp_LDADD=$(top_builddir)/src + test_video_input_SOURCES=test_video_input.cpp test_video_input.h + test_video_input_LDADD=$(top_builddir)/src/libring.la $(top_builddir)/src/media/video/libvideo.la $(YAML_LIBS) + +-if HAVE_LINUX ++if HAVE_FREEBSD + test_shm_SOURCES=test_shm.cpp shm_src.cpp shm_src.h + test_shm_LDADD=$(top_builddir)/src/libring.la $(top_builddir)/src/media/video/libvideo.la $(YAML_LIBS) -lrt + test_shm_CXXFLAGS=$(AM_CXXFLAGS) diff --git a/net-im/ring-daemon/files/patch-src_media_video_v4l2_video__device__impl.cpp b/net-im/ring-daemon/files/patch-src_media_video_v4l2_video__device__impl.cpp new file mode 100644 index 00000000000..0a386cddbc8 --- /dev/null +++ b/net-im/ring-daemon/files/patch-src_media_video_v4l2_video__device__impl.cpp @@ -0,0 +1,11 @@ +--- src/media/video/v4l2/video_device_impl.cpp.orig 2016-05-10 20:45:50 UTC ++++ src/media/video/v4l2/video_device_impl.cpp +@@ -285,7 +285,7 @@ VideoV4l2Size::getRate(FrameRate rate) c + { + double r = rate.real(); + for (const auto& item : rates_) { +- if (std::fabs(item.frame_rate.real() - r) < 0.0001d) ++ if (std::fabs(item.frame_rate.real() - r) < 0.0001f) + return item; + } + return rates_.back(); diff --git a/net-im/ring-daemon/files/patch-src_media_video_v4l2_video__device__monitor__impl.cpp b/net-im/ring-daemon/files/patch-src_media_video_v4l2_video__device__monitor__impl.cpp new file mode 100644 index 00000000000..1ecdfdecc4d --- /dev/null +++ b/net-im/ring-daemon/files/patch-src_media_video_v4l2_video__device__monitor__impl.cpp @@ -0,0 +1,90 @@ +--- src/media/video/v4l2/video_device_monitor_impl.cpp.orig 2016-05-10 20:45:50 UTC ++++ src/media/video/v4l2/video_device_monitor_impl.cpp +@@ -24,7 +24,10 @@ + #include <cerrno> + #include <cstdio> + #include <cstring> ++#if !defined(__FreeBSD__) + #include <libudev.h> ++#define HAVE_UDEV ++#endif + #include <mutex> + #include <sstream> + #include <stdexcept> // for std::runtime_error +@@ -72,24 +75,31 @@ class VideoDeviceMonitorImpl { + std::thread thread_; + mutable std::mutex mutex_; + ++#if defined(HAVE_UDEV) + udev *udev_; + udev_monitor *udev_mon_; ++#endif + bool probing_; + }; + ++#if defined(HAVE_UDEV) + static int is_v4l2(struct udev_device *dev) + { + const char *version = udev_device_get_property_value(dev, "ID_V4L_VERSION"); + /* we do not support video4linux 1 */ + return version and strcmp(version, "1"); + } ++#endif + + VideoDeviceMonitorImpl::VideoDeviceMonitorImpl(VideoDeviceMonitor* monitor) : + monitor_(monitor), + thread_(), mutex_(), ++#if defined(HAVE_UDEV) + udev_(0), udev_mon_(0), ++#endif + probing_(false) + { ++#if defined(HAVE_UDEV) + udev_list_entry *devlist; + udev_enumerate *devenum; + +@@ -149,15 +159,16 @@ udev_failed: + udev_unref(udev_); + udev_mon_ = NULL; + udev_ = NULL; ++#endif + + /* fallback : go through /dev/video* */ +- for (int idx = 0;; ++idx) { ++ for (int idx = 0; idx<16; ++idx) { + std::stringstream ss; + ss << "/dev/video" << idx; + try { + monitor_->addDevice(ss.str()); + } catch (const std::runtime_error &e) { +- RING_ERR("%s", e.what()); ++ RING_ERR("%s (YURI exit from constructor)", e.what()); + return; + } + } +@@ -174,14 +185,17 @@ VideoDeviceMonitorImpl::~VideoDeviceMoni + probing_ = false; + if (thread_.joinable()) + thread_.join(); ++#if defined(HAVE_UDEV) + if (udev_mon_) + udev_monitor_unref(udev_mon_); + if (udev_) + udev_unref(udev_); ++#endif + } + + void VideoDeviceMonitorImpl::run() + { ++#if defined(HAVE_UDEV) + if (!udev_mon_) { + probing_ = false; + return; +@@ -236,6 +250,7 @@ void VideoDeviceMonitorImpl::run() + return; + } + } ++#endif + } + + VideoDeviceMonitor::VideoDeviceMonitor() : diff --git a/net-im/ring-daemon/pkg-descr b/net-im/ring-daemon/pkg-descr new file mode 100644 index 00000000000..357246eb1e7 --- /dev/null +++ b/net-im/ring-daemon/pkg-descr @@ -0,0 +1,5 @@ +Ring is a secure and distributed voice, video and chat communication +platform that requires no centralized server and leaves the power +of privacy in the hands of the user. + +WWW: https://ring.cx/ diff --git a/net-im/ring-daemon/pkg-plist b/net-im/ring-daemon/pkg-plist new file mode 100644 index 00000000000..754d0c38b7d --- /dev/null +++ b/net-im/ring-daemon/pkg-plist @@ -0,0 +1,17 @@ +include/dring/account_const.h +include/dring/call_const.h +include/dring/callmanager_interface.h +include/dring/configurationmanager_interface.h +include/dring/dring.h +include/dring/media_const.h +include/dring/presencemanager_interface.h +include/dring/security_const.h +include/dring/videomanager_interface.h +lib/libring.so +lib/libring.so.0 +lib/libring.so.0.0.0 +man/man1/dring.1.gz +%%DBUS%%sbin/dring +%%DBUS%%share/dbus-1/services/cx.ring.Ring.service +share/ring/ringtones/default.wav +share/ring/ringtones/konga.ul |