nixpkgs/pkgs/development/libraries/libtoxcore/default.nix

64 lines
1.8 KiB
Nix

{ stdenv, fetchFromGitHub, autoconf, libtool, automake, libsodium, ncurses, libopus
, libvpx, check, libconfig, pkgconfig }:
let
version = "4c220e336330213b151a0c20307d0a1fce04ac9e";
date = "20150126";
in
stdenv.mkDerivation rec {
name = "tox-core-${date}-${builtins.substring 0 7 version}";
src = fetchFromGitHub {
owner = "irungentoo";
repo = "toxcore";
rev = version;
sha256 = "152yamak9ykl8dgkx1qzyrpa3f4xr1s8lgcb5k58r9lb1iwnhvqc";
};
NIX_LDFLAGS = "-lgcc_s";
postPatch = ''
# within Nix chroot builds, localhost is unresolvable
sed -i -e '/DEFTESTCASE(addr_resolv_localhost)/d' \
auto_tests/network_test.c
# takes WAAAY too long (~10 minutes) and would timeout
sed -i -e '/DEFTESTCASE[^(]*(many_clients\>/d' \
auto_tests/tox_test.c
'';
preConfigure = ''
autoreconf -i
'';
configureFlags = [
"--with-libsodium-headers=${libsodium}/include"
"--with-libsodium-libs=${libsodium}/lib"
"--enable-ntox"
"--enable-daemon"
];
buildInputs = [
autoconf libtool automake libsodium ncurses
check libconfig pkgconfig
] ++ stdenv.lib.optionals (!stdenv.isArm) [
libopus
];
propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ];
# Some tests fail randomly due to timeout. This kind of problem is well known
# by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054}
# They don't recommend running tests on 50core machines with other cpu-bound
# tests running in parallel.
#
# NOTE: run the tests locally on your machine before upgrading this package!
doCheck = false;
meta = with stdenv.lib; {
description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ viric jgeerds ];
platforms = platforms.all;
};
}