about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libtoxcore
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:36 +0000
committerAlyssa Ross <hi@alyssa.is>2019-01-07 02:18:47 +0000
commit36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2 (patch)
treeb3faaf573407b32aa645237a4d16b82778a39a92 /nixpkgs/pkgs/development/libraries/libtoxcore
parent4e31070265257dc67d120c27e0f75c2344fdfa9a (diff)
parentabf060725d7614bd3b9f96764262dfbc2f9c2199 (diff)
downloadnixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.gz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.bz2
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.lz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.xz
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.tar.zst
nixlib-36f56d99fa0a0765c9f1de4a5f17a9b05830c3f2.zip
Add 'nixpkgs/' from commit 'abf060725d7614bd3b9f96764262dfbc2f9c2199'
git-subtree-dir: nixpkgs
git-subtree-mainline: 4e31070265257dc67d120c27e0f75c2344fdfa9a
git-subtree-split: abf060725d7614bd3b9f96764262dfbc2f9c2199
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libtoxcore')
-rw-r--r--nixpkgs/pkgs/development/libraries/libtoxcore/default.nix54
-rw-r--r--nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix56
2 files changed, 110 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..026674e44fc4
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libtoxcore/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitHub, cmake, libsodium, ncurses, libopus, msgpack
+, libvpx, check, libconfig, pkgconfig }:
+
+let
+  generic = { version, sha256 }:
+  stdenv.mkDerivation rec {
+    name = "libtoxcore-${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
+    ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
+      libopus libvpx
+    ];
+
+    nativeBuildInputs = [ cmake pkgconfig ];
+
+    enableParallelBuilding = true;
+
+    doCheck = false; # hangs, tries to access the net?
+    checkInputs = [ check ];
+
+    meta = with stdenv.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 rec {
+  libtoxcore_0_1 = generic {
+    version = "0.1.11";
+    sha256 = "1fya5gfiwlpk6fxhalv95n945ymvp2iidiyksrjw1xw95fzsp1ij";
+  };
+
+  libtoxcore_0_2 = generic {
+    version = "0.2.8";
+    sha256 = "0xgnraysz25fbws5zwjk92mwnl8k1yih701qam8kgm3rxh50kyhm";
+  };
+}
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..401d9c7d8a2e
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libtoxcore/new-api.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, libsodium, ncurses, libopus
+, libvpx, check, libconfig, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  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 pkgconfig ];
+  buildInputs = [
+    autoreconfHook libsodium ncurses check libconfig
+  ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
+    libopus
+  ];
+
+  propagatedBuildInputs = stdenv.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 stdenv.lib; {
+    description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jgeerds ];
+    platforms = platforms.all;
+  };
+}