ProjectTox looks like a promising replacement for Skype! There are two GitHub repositories: https://github.com/irungentoo/ProjectTox-Core https://github.com/nurupo/ProjectTox-Qt-GUI I suggest two separate ebuilds: net-im/tox-core net-im/tox-qt This is something for a real ebuild developer, because firstly it is still beta, and secondly it requires Qt 5 and net-libs/nacl... Reproducible: Always
And I don't know what that is and how it is related: https://github.com/stal888/ProjectTox-Website
Created attachment 355084 [details] net-voip/tox-core/tox-core-9999.ebuild Initial shot at an ebuild for tox-core nacl is optional, but it requires libsodium which is currently available from overlay ( http://gpo.zugaina.org/Search?search=libsodium ). I understand that mrueg is planning to package it, so it may be in portage soon.
Created attachment 355086 [details] net-voip/tox-core/tox-core-9999.ebuild slightly improved version that shuts up repoman
I made an ebuild too, but I'm waiting the first release since they are in pre alpha and they will add an install phase.
I've pushed libsodium and tox to my overlay. https://git.overlays.gentoo.org/gitweb/?p=user/mrueg.git;a=blob;f=net-libs/libsodium/libsodium-0.4.2-r1.ebuild;hb=HEAD https://git.overlays.gentoo.org/gitweb/?p=user/mrueg.git;a=blob;f=net-im/tox-core/tox-core-9999.ebuild;hb=HEAD (available via layman -a mrueg) Feel free to test them.
(In reply to Chí-Thanh Christopher Nguyễn from comment #2) > nacl is optional, but it requires libsodium I am a bit confused: * net-libs/libsodium [1] Description: A portable fork of NaCl, a higher-level cryptographic library * net-libs/nacl Description: high-speed software library for network communication, encryption, decryption, signatures After reading the sodium website, I got the impression that it is intended to be API compatible with nacl - so why would tox require both with USE=nacl?
The statement from comment 2 is no longer true since https://github.com/irungentoo/ProjectTox-Core/commit/03a2bac3190b7044e8cbd66339c6f9d76bfc48ef
>>> Emerging (1 of 3) net-im/tox-core-9999 from mva >>> Unpacking source... remote: Counting objects: 25, done. remote: Compressing objects: 100% (15/15), done. remote: Total 16 (delta 12), reused 5 (delta 1) Unpacking objects: 100% (16/16), done. Von https://github.com/irungentoo/ProjectTox-Core 18c98eb..62125ce master -> master GIT update --> repository: https://github.com/irungentoo/ProjectTox-Core updating from commit: 18c98eb87d43beac9191d80f8fa0657398ecee4b to commit: 62125ce90fdb7c184430636475449f5c33fd1159 testing/nTox.c | 95 ++++++++++++++++++++++++++++++++--------------------- toxcore/Messenger.c | 11 ++++--- 2 files changed, 65 insertions(+), 41 deletions(-) branch: master storage directory: "/usr/portage/distfiles/egit-src/ProjectTox-Core" checkout type: bare repository Klone nach '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999'... Fertig. Branch branch-master konfiguriert zum Folgen von Remote-Branch master von origin. Gewechselt zu einem neuem Branch 'branch-master' >>> Unpacked to /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999 >>> Source unpacked in /var/tmp/portage/net-im/tox-core-9999/work >>> Preparing source in /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999 ... * Running eautoreconf in '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999' ... * Running libtoolize --install --copy --force --automake ... [ ok ] * Running aclocal -I m4 ... [ ok ] * Running autoconf ... [ ok ] * Running autoheader ... [ ok ] * Running automake --add-missing --copy ... [ ok ] * Running elibtoolize in: tox-core-9999/configure_aux/ * Applying portage/1.2.0 patch ... * Applying sed/1.5.6 patch ... * Applying as-needed/2.4.2 patch ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999 ... * default: running autotools-utils_src_configure >>> Working in BUILD_DIR: "/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default" * econf: updating tox-core-9999/configure_aux/config.sub with /usr/share/gnuconfig/config.sub * econf: updating tox-core-9999/configure_aux/config.guess with /usr/share/gnuconfig/config.guess /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib --disable-silent-rules --disable-dependency-tracking --docdir=/usr/share/doc/tox-core-9999 --disable-tests --disable-dht-bootstrap-daemon --disable-ntox checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for i686-pc-linux-gnu-pkg-config... /usr/bin/i686-pc-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether i686-pc-linux-gnu-gcc accepts -g... yes checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of i686-pc-linux-gnu-gcc... none checking whether i686-pc-linux-gnu-gcc and cc understand -c and -o together... yes checking for i686-pc-linux-gnu-ar... i686-pc-linux-gnu-ar checking the archiver (i686-pc-linux-gnu-ar) interface... ar checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by i686-pc-linux-gnu-gcc... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking for i686-pc-linux-gnu-objdump... objdump checking how to recognize dependent libraries... pass_all checking for i686-pc-linux-gnu-dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for i686-pc-linux-gnu-ar... (cached) i686-pc-linux-gnu-ar checking for archiver @FILE support... @ checking for i686-pc-linux-gnu-strip... i686-pc-linux-gnu-strip checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib checking command to parse /usr/bin/nm -B output from i686-pc-linux-gnu-gcc object... ok checking for sysroot... no checking for i686-pc-linux-gnu-mt... no checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC checking if i686-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes checking if i686-pc-linux-gnu-gcc static flag -static works... yes checking if i686-pc-linux-gnu-gcc supports -c -o file.o... yes checking if i686-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for randombytes_random in -lsodium... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking sodium.h usability... yes checking sodium.h presence... yes checking for sodium.h... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for int16_t... yes checking for int32_t... yes checking for pid_t... yes checking for size_t... yes checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uint8_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for gettimeofday... yes checking for memset... yes checking for socket... yes checking for strchr... yes checking for malloc... yes checking for the pthreads library -lpthreads... no checking whether pthreads work without any flags... no checking whether pthreads work with -Kthread... no checking whether pthreads work with -kthread... no checking for the pthreads library -llthread... no checking whether pthreads work with -pthread... yes checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE checking if more special flags are required for pthreads... no checking for PTHREAD_PRIO_INHERIT... no checking for AVFORMAT... yes checking for AVCODEC... yes checking for AVUTIL... yes checking for AVDEVICE... yes checking for SWSCALE... yes checking for SDL... yes checking for OPENAL... yes checking for OPUS... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating build/Makefile config.status: creating libtoxcore.pc config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands >>> Source configured. >>> Compiling source in /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999 ... * default: running autotools-utils_src_compile >>> Working in BUILD_DIR: "/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default" make -j3 make all-recursive make[1]: Entering directory `/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default' Making all in build make[2]: Entering directory `/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default/build' /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c -o ../toxcore/libtoxrtp_la-network.lo `test -f '../toxcore/network.c' || echo '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/'`../toxcore/network.c /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c -o ../toxcore/libtoxrtp_la-util.lo `test -f '../toxcore/util.c' || echo '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/'`../toxcore/util.c libtool: compile: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxcore/util.c -fPIC -DPIC -o ../toxcore/.libs/libtoxrtp_la-util.o libtool: compile: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxcore/network.c -fPIC -DPIC -o ../toxcore/.libs/libtoxrtp_la-network.o i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -I/usr/include/AL -I/usr/include/opus -pthread -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c -o ../toxmsi/phone-phone.o `test -f '../toxmsi/phone.c' || echo '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/'`../toxmsi/phone.c libtool: compile: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxcore/util.c -o ../toxcore/libtoxrtp_la-util.o >/dev/null 2>&1 /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxmsi/phone.c:6:0: Warnung: »_GNU_SOURCE« redefiniert [standardmäßig aktiviert] i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -I/usr/include/AL -I/usr/include/opus -pthread -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c -o ../toxmsi/phone-toxmedia.o `test -f '../toxmsi/toxmedia.c' || echo '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/'`../toxmsi/toxmedia.c <Kommandozeile>:0:0: Anmerkung: dies ist die Stelle der vorherigen Definition In file included from /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxmsi/phone.h:4:0, from /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxmsi/phone.c:11: /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxmsi/toxmsi.h:31:17: schwerwiegender Fehler: tox.h: Datei oder Verzeichnis nicht gefunden Kompilierung beendet. libtool: compile: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build -I.. -I../toxcore -I../toxrtp -O2 -march=opteron -msse3 -pipe -fomit-frame-pointer -c /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxcore/network.c -o ../toxcore/libtoxrtp_la-network.o >/dev/null 2>&1 make[2]: *** [../toxmsi/phone-phone.o] Fehler 1 make[2]: *** Warte auf noch nicht beendete Prozesse... In file included from /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxmsi/toxmedia.c:44:0: /var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999/build/../toxmsi/toxmsi.h:31:17: schwerwiegender Fehler: tox.h: Datei oder Verzeichnis nicht gefunden Kompilierung beendet. make[2]: *** [../toxmsi/phone-toxmedia.o] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default/build' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default' make: *** [all] Fehler 2 * ERROR: net-im/tox-core-9999::mva failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=net-im/tox-core-9999::mva'`, * the complete build log and the output of `emerge -pqv '=net-im/tox-core-9999::mva'`. * The complete build log is located at '/var/tmp/portage/net-im/tox-core-9999/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-im/tox-core-9999/temp/environment'. * Working directory: '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999-default' * S: '/var/tmp/portage/net-im/tox-core-9999/work/tox-core-9999'
No fix for this bug. Looks like upstream is not fixing it so it would be nice if someone could fix the overlay.
(In reply to Chris from comment #9) > No fix for this bug. Looks like upstream is not fixing it so it would be > nice if someone could fix the overlay. net-im/tox-core-9999::mva Please ask the owner of the overlay directly. You can also use my overlay (mrueg), I've got a working version there.
I'll take this when they do their first release. Until then, use https://github.com/urras/gentoo-overlay-tox
Since https://github.com/gentoo/gentoo/pull/301 was merged, I guess that this can be closed?
Thanks!