nixpkgs-suyu/pkgs/tools/networking/zerotierone/default.nix

49 lines
1.6 KiB
Nix
Raw Normal View History

2016-06-30 12:12:20 +02:00
{ stdenv, fetchurl, openssl, lzo, zlib, gcc, iproute, ronn }:
2015-04-05 08:46:14 +02:00
stdenv.mkDerivation rec {
2016-06-30 03:20:26 +02:00
version = "1.1.6";
2015-04-05 08:46:14 +02:00
name = "zerotierone";
src = fetchurl {
url = "https://github.com/zerotier/ZeroTierOne/archive/${version}.tar.gz";
2016-06-30 03:20:26 +02:00
sha256 = "1bl8dppaqydsd1qf9pk3bp16amkwjxyqh1gvm62ys2a0m4c529ks";
2015-04-05 08:46:14 +02:00
};
preConfigure = ''
substituteInPlace ./make-linux.mk \
2016-06-30 12:12:20 +02:00
--replace 'CC=$(shell which clang gcc cc 2>/dev/null | head -n 1)' "CC=${gcc}/bin/gcc";
2015-04-05 08:46:14 +02:00
substituteInPlace ./make-linux.mk \
2016-06-30 12:12:20 +02:00
--replace 'CXX=$(shell which clang++ g++ c++ 2>/dev/null | head -n 1)' "CC=${gcc}/bin/g++";
substituteInPlace ./osdep/LinuxEthernetTap.cpp \
2016-06-30 12:12:20 +02:00
--replace 'execlp("ip",' 'execlp("${iproute}/bin/ip",'
2015-04-05 08:46:14 +02:00
2016-06-30 12:12:20 +02:00
patchShebangs ./doc/build.sh
substituteInPlace ./doc/build.sh \
--replace '/usr/bin/ronn' '${ronn}/bin/ronn' \
--replace 'ronn -r' '${ronn}/bin/ronn -r'
'';
2015-04-05 08:46:14 +02:00
2016-06-30 12:12:20 +02:00
buildInputs = [ openssl lzo zlib gcc iproute ronn ];
2016-06-30 03:20:26 +02:00
2015-04-05 08:46:14 +02:00
installPhase = ''
install -Dt "$out/bin/" zerotier-one
ln -s $out/bin/zerotier-one $out/bin/zerotier-idtool
ln -s $out/bin/zerotier-one $out/bin/zerotier-cli
2016-06-30 12:12:20 +02:00
mkdir -p $man/share/man/man8
for cmd in zerotier-one.8 zerotier-cli.1 zerotier-idtool.1; do
cat doc/$cmd | gzip -9 > $man/share/man/man8/$cmd.gz
done
2015-04-05 08:46:14 +02:00
'';
2016-06-30 12:12:20 +02:00
outputs = [ "out" "man" ];
meta = with stdenv.lib; {
2015-04-05 08:46:14 +02:00
description = "Create flat virtual Ethernet networks of almost unlimited size";
homepage = https://www.zerotier.com;
2016-06-30 12:12:20 +02:00
license = licenses.gpl3;
maintainers = [ sjmackenzie ];
platforms = platforms.allBut [ "i686-linux" ];
2015-04-05 08:46:14 +02:00
};
}