I must have been overzealous in cleaning out my "send to /dev/null" list because here you are in my inbox again.
Why should any of us bother given your track record?

I imagine your diffs with languish here without some sort of serious long-term change in attitude.

~Brian

On 2/6/19 8:09 AM, Leonid Bobrov wrote:
Hi!

I'm willing to maintain this port.

There are several impovements I've made to this port:
* D-Bus support (upstreamed);
* Tests support, all tests pass (upstreamed);
* push-to-talk support (not upstreamed);
* expanded description using upstream's README.

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/utox/Makefile,v
retrieving revision 1.5
diff -u -p -u -p -r1.5 Makefile
--- Makefile    12 Sep 2018 19:33:25 -0000      1.5
+++ Makefile    6 Feb 2019 13:03:53 -0000
@@ -7,17 +7,19 @@ V =           0.17.0
  DISTNAME =    uTox-${V}-full
  PKGNAME =     utox-${V}
  MASTER_SITES =        https://github.com/uTox/uTox/releases/download/v${V}/
-REVISION =     2
+REVISION =     3
CATEGORIES = net HOMEPAGE = https://utox.io +MAINTAINER = Leonid Bobrov <mazoc...@disroot.org>
+
  # MIT
  PERMIT_PACKAGE_CDROM =        Yes
-WANTLIB += ICE SM X11 Xext Xrender c fontconfig freetype m pthread
-WANTLIB += openal opus sodium toxcore v4lconvert vpx
+WANTLIB += ICE SM X11 Xext Xrender c dbus-1 fontconfig freetype
+WANTLIB += m openal opus pthread sodium toxcore v4lconvert vpx
MODULES = devel/cmake @@ -26,14 +28,15 @@ RUN_DEPENDS = devel/desktop-file-utils \ LIB_DEPENDS += audio/openal \
                multimedia/libv4l \
-               net/toxcore
+               net/toxcore \
+               x11/dbus
COMPILER = base-clang ports-gcc -NO_TEST = yes
-
  WRKDIST =     ${WRKDIR}/uTox
-CONFIGURE_ARGS =-DLLD_EMUL:String=${LLD_EMUL}
+CONFIGURE_ARGS =-DLLD_EMUL:String=${LLD_EMUL} \
+               -DENABLE_FILTERAUDIO=Off \
+               -DENABLE_TESTS=On
.include <bsd.port.mk>
Index: patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/net/utox/patches/patch-CMakeLists_txt,v
retrieving revision 1.1.1.1
diff -u -p -u -p -r1.1.1.1 patch-CMakeLists_txt
--- patches/patch-CMakeLists_txt        29 Apr 2018 11:15:17 -0000      1.1.1.1
+++ patches/patch-CMakeLists_txt        6 Feb 2019 13:03:53 -0000
@@ -1,27 +1,76 @@
-$OpenBSD: patch-CMakeLists_txt,v 1.1.1.1 2018/04/29 11:15:17 landry Exp $
+$OpenBSD$
Index: CMakeLists.txt
  --- CMakeLists.txt.orig
  +++ CMakeLists.txt
-@@ -184,8 +184,8 @@ add_cflag("-fPIC")
+@@ -1,5 +1,4 @@
+ cmake_minimum_required(VERSION 3.2)
+-set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6 CACHE STRING "Minimum OS X deployment 
version")
+ project(uTox LANGUAGES C)
+
+ #####################
+@@ -31,13 +30,12 @@ if(WIN32)
+     set(WINDOWS TRUE)
+ elseif(APPLE)
+     if(CMAKE_SYSTEM_NAME MATCHES ".*MacOS.*")
++        set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6 CACHE STRING "Minimum OS X deployment 
version")
+         set(MACOSX TRUE)
+     endif()
+ elseif(UNIX)
+     if(CMAKE_SYSTEM_NAME MATCHES ".*Linux")
+         set(LINUX TRUE)
+-    elseif(CMAKE_SYSTEM_NAME MATCHES "kOpenBSD.*|OpenBSD.*")
+-        set(OPENBSD TRUE)
+     elseif(CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*")
+         set(NETBSD TRUE)
+     elseif(CMAKE_SYSTEM_NAME MATCHES "kFreeBSD.*|FreeBSD")
+@@ -103,12 +101,10 @@ if(WINDOWS AND NOT CROSS_COMPILING)
+         # Helping Cygwin out again..
+         set(WIN64 TRUE)
+     endif()
+-elseif(FREEBSD)
+-    include(cmake/toolchain-freebsd.cmake)
+-elseif(OPENBSD OR NETBSD)
+-    include(cmake/toolchain-openbsd.cmake)
+ elseif(APPLE)
+     include(cmake/macOS.cmake)
++elseif(FREEBSD)
++    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib" CACHE 
STRING "" FORCE)
+ endif()
+
+
+@@ -184,8 +180,7 @@ add_cflag("-fPIC")
   # Fix GNU stack
   if(CMAKE_C_COMPILER_ID MATCHES "GNU")
       # Have ld strip the symbols from Release and MinSizeRel build types.
  -    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os")
  -    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -s")
-+    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
  +    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -s")
if(LINUX)
           # enable Link Time Optimization on gcc (linux only currently)
-@@ -220,8 +220,8 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
+@@ -220,9 +215,12 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
       endif()
# Have ld strip the symbols from Release and MinSizeRel build types. (-Oz is clang specific)
  -    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os")
  -    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Oz -s")
-+    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ")
  +    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -s")
++ if(FREEBSD)
++        set(LIBRARIES ${LIBRARIES} "cxxrt")
++    endif()
++
       if(NOT ENABLE_ASAN)
           if(NOT APPLE)
+             add_cflag("-fsanitize=safe-stack")
+@@ -303,6 +301,9 @@ elseif(APPLE)
+     add_definitions("-x objective-c")
+     add_subdirectory(src/cocoa)
+ elseif(UNIX)
++    find_package(X11 REQUIRED)
++    include_directories(${X11_INCLUDE_DIR})
++
+     add_subdirectory(src/xlib)
+
+     if(LINUX)
Index: patches/patch-src_xlib_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/net/utox/patches/patch-src_xlib_CMakeLists_txt,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-src_xlib_CMakeLists_txt
--- patches/patch-src_xlib_CMakeLists_txt       12 Sep 2018 19:33:25 -0000      
1.1
+++ patches/patch-src_xlib_CMakeLists_txt       6 Feb 2019 13:03:53 -0000
@@ -14,3 +14,28 @@ Index: src/xlib/CMakeLists.txt
       DEPENDS ../../icons/utox-128x128.png )
   set_source_files_properties( icon.o PROPERTIES EXTERNAL_OBJECT true 
GENERATED true )
   add_library(icon STATIC icon.o)
+@@ -52,8 +52,6 @@ message("Found Freetype version ${FREETYPE_VERSION_STR
+ message("Freetype include: ${FREETYPE_INCLUDE_DIRS}")
+ message("Freetype library: ${FREETYPE_LIBRARIES}")
+
+-find_package(X11 REQUIRED)
+-
+ message("X include:         ${X11_INCLUDE_DIR}")
+ message("X library:         ${X11_LIBRARIES}")
+ message("Xrender include:   ${X11_Xrender_INCLUDE_PATH}")
+@@ -73,6 +71,7 @@ target_link_libraries(utoxNATIVE
+         ${X11_Xrender_LIB}
+         fontconfig
+         ${FREETYPE_LIBRARIES}
++      ${DBUS_LIBRARIES}
+         )
+
+ if(LINUX OR NETBSD)
+@@ -84,7 +83,6 @@ endif()
+ if(LINUX)
+     target_link_libraries(utoxNATIVE
+         dl
+-        ${DBUS_LIBRARIES}
+         )
+ endif()
+
Index: patches/patch-src_xlib_main_c
===================================================================
RCS file: patches/patch-src_xlib_main_c
diff -N patches/patch-src_xlib_main_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_xlib_main_c       6 Feb 2019 13:03:53 -0000
@@ -0,0 +1,64 @@
+$OpenBSD$
+
+Index: src/xlib/main.c
+--- src/xlib/main.c.orig
++++ src/xlib/main.c
+@@ -92,31 +92,8 @@ void init_ptt(void) {
+
+
+
+-#ifdef __linux__
+-#include <linux/input.h>
+-static bool linux_check_ptt(void) {
+-    /* First, we try for direct access to the keyboard. */
+-    int ptt_key = KEY_LEFTCTRL; // TODO allow user to change this...
+-    if (ptt_keyboard_handle) {
+-        /* Nice! we have direct access to the keyboard! */
+-        char key_map[KEY_MAX / 8 + 1]; // Create a byte array the size of the 
number of keys
+-        memset(key_map, 0, sizeof(key_map));
+-        ioctl(fileno(ptt_keyboard_handle), EVIOCGKEY(sizeof(key_map)), 
key_map); // Fill the keymap with the current
+-                                                                              
   // keyboard state
+-        int keyb = key_map[ptt_key / 8]; // The key we want (and the seven 
others around it)
+-        int mask = 1 << (ptt_key % 8);   // Put 1 in the same column as our 
key state
+-
+-        if (keyb & mask) {
+-            LOG_TRACE("XLIB", "PTT key is down" );
+-            return true;
+-        } else {
+-            LOG_TRACE("XLIB", "PTT key is up" );
+-            return false;
+-        }
+-    }
+-    /* Okay nope, lets' fallback to xinput... *pouts*
+-     * Fall back to Querying the X for the current keymap. */
+-    ptt_key       = XKeysymToKeycode(display, XK_Control_L);
++static bool check_ptt(void) {
++    int ptt_key       = XKeysymToKeycode(display, XK_Control_L); // TODO 
allow user to change this...
+     char keys[32] = { 0 };
+     /* We need our own connection, so that we don't block the main display... 
No idea why... */
+     if (ptt_display) {
+@@ -134,11 +111,6 @@ static bool linux_check_ptt(void) {
+                 "keyboard.\nDisable push to talk to suppress this 
message.\n");
+     return false;
+ }
+-#else
+-static bool bsd_check_ptt(void) {
+-    return false;
+-}
+-#endif
+
+ bool check_ptt_key(void) {
+     if (!settings.push_to_talk) {
+@@ -146,11 +118,7 @@ bool check_ptt_key(void) {
+         return true; /* If push to talk is disabled, return true. */
+     }
+
+-#ifdef __linux__
+-    return linux_check_ptt();
+-#else
+-    return bsd_check_ptt();
+-#endif
++    return check_ptt();
+ }
+
+ void exit_ptt(void) {
Index: patches/patch-tests_CMakeLists_txt
===================================================================
RCS file: patches/patch-tests_CMakeLists_txt
diff -N patches/patch-tests_CMakeLists_txt
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tests_CMakeLists_txt  6 Feb 2019 13:03:53 -0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+
+Index: tests/CMakeLists.txt
+--- tests/CMakeLists.txt.orig
++++ tests/CMakeLists.txt
+@@ -4,6 +4,7 @@ include(CTest)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
+
+ find_package(Check REQUIRED)
++link_directories(${CHECK_LIBRARY_DIRS})
+
+ function(make_test name)
+     add_executable(test_${name} test_${name}.c)
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/net/utox/pkg/DESCR,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 DESCR
--- pkg/DESCR   29 Apr 2018 11:19:43 -0000      1.2
+++ pkg/DESCR   6 Feb 2019 13:03:53 -0000
@@ -1,8 +1,13 @@
  uTox is a lightweight Tox client with minimal dependencies, It not only looks
  pretty, it runs fast!
+
  uTox has full support for:
  * chat;
  * file transfers;
  * audio/video calling;
  * desktop sharing (both as video and inline screenshots);
  * group chats.
+
+You shouldn't have to choose a new client for every device: So uTox works
+everywhere! On every major system Windows, macOS, Linux, Android, FreeBSD,
+NetBSD, OpenBSD, and even DragonFlyBSD.


Reply via email to