diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libtoxcore')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libtoxcore/default.nix | 59 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix | 56 |
2 files changed, 115 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix b/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix new file mode 100644 index 000000000000..10cc499d09d6 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix @@ -0,0 +1,59 @@ +{ lib, stdenv, fetchFromGitHub, cmake, libsodium, ncurses, libopus, msgpack +, libvpx, check, libconfig, pkg-config }: + +let + generic = { version, sha256 }: + stdenv.mkDerivation { + pname = "libtoxcore"; + inherit version; + + src = fetchFromGitHub { + owner = "TokTok"; + repo = "c-toxcore"; + rev = "v${version}"; + inherit sha256; + }; + + cmakeFlags = [ + "-DBUILD_NTOX=ON" + "-DDHT_BOOTSTRAP=ON" + "-DBOOTSTRAP_DAEMON=ON" + ]; + + buildInputs = [ + libsodium msgpack ncurses libconfig + ] ++ lib.optionals (!stdenv.isAarch32) [ + libopus libvpx + ]; + + nativeBuildInputs = [ cmake pkg-config ]; + + doCheck = false; # hangs, tries to access the net? + checkInputs = [ check ]; + + postFixup ='' + sed -i $out/lib/pkgconfig/*.pc \ + -e "s|^libdir=.*|libdir=$out/lib|" \ + -e "s|^includedir=.*|includedir=$out/include|" + ''; + + meta = with lib; { + description = "P2P FOSS instant messaging application aimed to replace Skype"; + homepage = "https://tox.chat"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.all; + }; + }; + +in { + libtoxcore_0_1 = generic { + version = "0.1.11"; + sha256 = "1fya5gfiwlpk6fxhalv95n945ymvp2iidiyksrjw1xw95fzsp1ij"; + }; + + libtoxcore_0_2 = generic { + version = "0.2.13"; + sha256 = "0a1cp00bnxl3q4l74yqp4aa6fg9slz4rg4lfzkl3khvmm6nzckds"; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix b/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix new file mode 100644 index 000000000000..77119e2830fe --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix @@ -0,0 +1,56 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, libsodium, ncurses, libopus +, libvpx, check, libconfig, pkg-config }: + +stdenv.mkDerivation { + name = "tox-core-new-20160727"; + + src = fetchFromGitHub { + owner = "irungentoo"; + repo = "toxcore"; + rev = "755f084e8720b349026c85afbad58954cb7ff1d4"; + sha256 = "0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w"; + }; + + 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 + ''; + + configureFlags = [ + "--with-libsodium-headers=${libsodium.dev}/include" + "--with-libsodium-libs=${libsodium.out}/lib" + "--enable-ntox" + "--enable-daemon" + ]; + + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ + autoreconfHook libsodium ncurses check libconfig + ] ++ lib.optionals (!stdenv.isAarch32) [ + libopus + ]; + + propagatedBuildInputs = lib.optionals (!stdenv.isAarch32) [ 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 lib; { + description = "P2P FOSS instant messaging application aimed to replace Skype with crypto"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ]; + platforms = platforms.all; + }; +} |