summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Ramage <ramage.lucas@protonmail.com>2019-08-24 12:38:32 -0400
committerJoonas Niilola <juippis@gentoo.org>2020-02-26 18:17:22 +0200
commite654dd06963a356f31fb80817b3854b139882532 (patch)
treeb4f2fa7401a1a88a36f8dee50a7a1ee683f47beb /net-misc/zerotier
parentnet-dialup/ppp: Bump to version 2.4.8 (diff)
downloadgentoo-e654dd06963a356f31fb80817b3854b139882532.tar.gz
gentoo-e654dd06963a356f31fb80817b3854b139882532.tar.bz2
gentoo-e654dd06963a356f31fb80817b3854b139882532.zip
net-misc/zerotier: bump version to 1.4.6
Closes: https://bugs.gentoo.org/692498 Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: Lucas Ramage <ramage.lucas@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/12788 Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'net-misc/zerotier')
-rw-r--r--net-misc/zerotier/Manifest1
-rw-r--r--net-misc/zerotier/files/zerotier-1.4.6-add-armv7a-support.patch14
-rw-r--r--net-misc/zerotier/files/zerotier-1.4.6-add-mk-ctlr-node-target.patch27
-rw-r--r--net-misc/zerotier/files/zerotier-1.4.6-fixup-neon-support.patch96
-rw-r--r--net-misc/zerotier/files/zerotier-1.4.6-respect-ldflags.patch11
-rw-r--r--net-misc/zerotier/metadata.xml4
-rw-r--r--net-misc/zerotier/zerotier-1.4.6.ebuild79
7 files changed, 232 insertions, 0 deletions
diff --git a/net-misc/zerotier/Manifest b/net-misc/zerotier/Manifest
index 4df318d310ec..68043e5890ba 100644
--- a/net-misc/zerotier/Manifest
+++ b/net-misc/zerotier/Manifest
@@ -1 +1,2 @@
DIST zerotier-1.2.12.tar.gz 6058902 BLAKE2B 851d0d871fac7f6cdd9feafb375f97181f9155c265f13e44122424bd7adcaff10e3f2c2a4484d2e2ad1f4f2f174fc723681451c1a728c9aa324bdcb02300af57 SHA512 a35029993d9266f3529a9922daa606b0d56a332514545f8cfab2092a4c9db4fc7217223f3bd7dbe59e536de325ee9b4f0226d673c0f0ec5859cf2937e8a4a2d4
+DIST zerotier-1.4.6.tar.gz 13055818 BLAKE2B 46003d9c3ad09e30dbefaa441422ed4570bdbdfb99f2f24fb82246f9e970501d38d96c19dc9771a1d0d30bc49bd8be2b79ebd2e5c8bd85e88b738b29f0a1dcc3 SHA512 72f00602f67190d03ac0c8caa6b79e7f346b10745bdf772c68f77a3a940cdd718d05ec642bc862a6235aab9bd3bfefb0c57571f358ae55f38761f45500f0f189
diff --git a/net-misc/zerotier/files/zerotier-1.4.6-add-armv7a-support.patch b/net-misc/zerotier/files/zerotier-1.4.6-add-armv7a-support.patch
new file mode 100644
index 000000000000..802b1a873f58
--- /dev/null
+++ b/net-misc/zerotier/files/zerotier-1.4.6-add-armv7a-support.patch
@@ -0,0 +1,14 @@
+--- a/make-linux.mk 2019-09-05 11:02:16.000000000 -0700
++++ b/make-linux.mk 2019-09-27 21:01:21.000000000 -0700
+@@ -195,6 +195,11 @@
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+ ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+ endif
++ifeq ($(CC_MACH),armv7a)
++ ZT_ARCHITECTURE=3
++ override DEFS+=-DZT_NO_TYPE_PUNNING
++ ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++endif
+ ifeq ($(CC_MACH),armv7l)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
diff --git a/net-misc/zerotier/files/zerotier-1.4.6-add-mk-ctlr-node-target.patch b/net-misc/zerotier/files/zerotier-1.4.6-add-mk-ctlr-node-target.patch
new file mode 100644
index 000000000000..0d19099865b7
--- /dev/null
+++ b/net-misc/zerotier/files/zerotier-1.4.6-add-mk-ctlr-node-target.patch
@@ -0,0 +1,27 @@
+diff --git a/make-linux.mk b/make-linux.mk
+index 9fd4f7b9..a7eb7f6a 100644
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -45,6 +45,12 @@ endif
+ # Trying to use dynamically linked libhttp-parser causes tons of compatibility problems.
+ ONE_OBJS+=ext/http-parser/http_parser.o
+
++ifeq ($(ZT_CONTROLLER),1)
++ #LIBS+=-lpq -lrabbitmq
++ #DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER
++ override DEFS+=-DZT_CONTROLLER
++endif
++
+ # Build with address sanitization library for advanced debugging (clang)
+ ifeq ($(ZT_SANITIZE),1)
+ DEFS+=-fsanitize=address -DASAN_OPTIONS=symbolize=1
+@@ -331,6 +337,9 @@ official: FORCE
+ docker: FORCE
+ docker build -f ext/installfiles/linux/zerotier-containerized/Dockerfile -t zerotier-containerized .
+
++controller-node: FORCE
++ make DEFS+="-DZT_CONTROLLER" one
++
+ central-controller: FORCE
+ make -j4 LDLIBS="-L/usr/pgsql-10/lib/ -lpq -Lext/librabbitmq/centos_x64/lib/ -lrabbitmq" CXXFLAGS="-I/usr/pgsql-10/include -I./ext/librabbitmq/centos_x64/include -fPIC" DEFS="-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER" ZT_OFFICIAL=1 ZT_USE_X64_ASM_ED25519=1 one
+
diff --git a/net-misc/zerotier/files/zerotier-1.4.6-fixup-neon-support.patch b/net-misc/zerotier/files/zerotier-1.4.6-fixup-neon-support.patch
new file mode 100644
index 000000000000..a6ca7f7ca382
--- /dev/null
+++ b/net-misc/zerotier/files/zerotier-1.4.6-fixup-neon-support.patch
@@ -0,0 +1,96 @@
+--- a/make-linux.mk 2019-09-27 21:35:39.000000000 -0700
++++ b/make-linux.mk 2019-09-27 21:36:01.000000000 -0700
+@@ -118,6 +118,7 @@
+ # Determine system build architecture from compiler target
+ CC_MACH=$(shell $(CC) -dumpmachine | cut -d '-' -f 1)
+ ZT_ARCHITECTURE=999
++ZT_DISABLE_NEON?=
+ ifeq ($(CC_MACH),x86_64)
+ ZT_ARCHITECTURE=2
+ ZT_USE_X64_ASM_SALSA=1
+@@ -158,57 +159,57 @@
+ ifeq ($(CC_MACH),arm)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=0
+ endif
+ ifeq ($(CC_MACH),armel)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=1
+ endif
+ ifeq ($(CC_MACH),armhf)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=0
+ endif
+ ifeq ($(CC_MACH),armv6)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=1
+ endif
+ ifeq ($(CC_MACH),armv6l)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=1
+ endif
+ ifeq ($(CC_MACH),armv6zk)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=1
+ endif
+ ifeq ($(CC_MACH),armv6kz)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=1
+ endif
+ ifeq ($(CC_MACH),armv7)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=0
+ endif
+ ifeq ($(CC_MACH),armv7a)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=0
+ endif
+ ifeq ($(CC_MACH),armv7l)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=0
+ endif
+ ifeq ($(CC_MACH),armv7hl)
+ ZT_ARCHITECTURE=3
+ override DEFS+=-DZT_NO_TYPE_PUNNING
+- ZT_USE_ARM32_NEON_ASM_CRYPTO=1
++ ZT_DISABLE_NEON?=0
+ endif
+ ifeq ($(CC_MACH),arm64)
+ ZT_ARCHITECTURE=4
+@@ -268,10 +269,13 @@
+ override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
+ override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
+ ZT_USE_ARM32_NEON_ASM_CRYPTO=0
+- else
+- override CFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions
+- override CXXFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions
++ endif
++ ifeq ($(ZT_DISABLE_NEON),1)
++ override CFLAGS+=-mno-unaligned-access -marm -fexceptions
++ override CXXFLAGS+=-mno-unaligned-access -marm -fexceptions
+ ZT_USE_ARM32_NEON_ASM_CRYPTO=0
++ else
++ ZT_USE_ARM32_NEON_ASM_CRYPTO=1
+ endif
+ endif
+
diff --git a/net-misc/zerotier/files/zerotier-1.4.6-respect-ldflags.patch b/net-misc/zerotier/files/zerotier-1.4.6-respect-ldflags.patch
new file mode 100644
index 000000000000..46e24fd7a928
--- /dev/null
+++ b/net-misc/zerotier/files/zerotier-1.4.6-respect-ldflags.patch
@@ -0,0 +1,11 @@
+--- a/make-linux.mk 2019-09-05 11:02:16.000000000 -0700
++++ b/make-linux.mk 2019-09-27 21:01:21.000000000 -0700
+@@ -77,7 +77,7 @@
+ override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+ CXXFLAGS?=-O3 -fstack-protector -fPIE
+ override CXXFLAGS+=-Wall -Wno-deprecated -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
+- LDFLAGS=-pie -Wl,-z,relro,-z,now
++ LDFLAGS?=-pie -Wl,-z,relro,-z,now
+ STRIP?=strip
+ STRIP+=--strip-all
+ endif
diff --git a/net-misc/zerotier/metadata.xml b/net-misc/zerotier/metadata.xml
index 9a0bb99004b4..1071ed3d5c62 100644
--- a/net-misc/zerotier/metadata.xml
+++ b/net-misc/zerotier/metadata.xml
@@ -13,4 +13,8 @@
<changelog>https://github.com/zerotier/ZeroTierOne/raw/master/RELEASE-NOTES.md</changelog>
<remote-id type="github">zerotier/ZeroTierOne</remote-id>
</upstream>
+<use>
+ <flag name="clang">Use Clang compiler instead of GCC</flag>
+ <flag name="neon">Enable ARM32 neon-salsa2012-asm code</flag>
+</use>
</pkgmetadata>
diff --git a/net-misc/zerotier/zerotier-1.4.6.ebuild b/net-misc/zerotier/zerotier-1.4.6.ebuild
new file mode 100644
index 000000000000..f2553f6fc19d
--- /dev/null
+++ b/net-misc/zerotier/zerotier-1.4.6.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic llvm systemd toolchain-funcs
+
+HOMEPAGE="https://www.zerotier.com/"
+DESCRIPTION="A software-based managed Ethernet switch for planet Earth"
+SRC_URI="https://github.com/zerotier/ZeroTierOne/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="clang neon"
+
+S="${WORKDIR}/ZeroTierOne-${PV}"
+
+RDEPEND="
+ dev-libs/json-glib
+ net-libs/libnatpmp
+ net-libs/miniupnpc:=
+ clang? ( >=sys-devel/clang-6:= )"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-respect-ldflags.patch"
+ "${FILESDIR}/${P}-add-armv7a-support.patch"
+ "${FILESDIR}/${P}-fixup-neon-support.patch" )
+
+DOCS=( README.md AUTHORS.md )
+
+LLVM_MAX_SLOT=9
+
+llvm_check_deps() {
+ if use clang ; then
+ if ! has_version --host-root "sys-devel/clang:${LLVM_SLOT}" ; then
+ ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..."
+ return 1
+ fi
+
+ if ! has_version --host-root "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ ewarn "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..."
+ return 1
+ fi
+
+ einfo "Will use LLVM slot ${LLVM_SLOT}!"
+ fi
+}
+
+pkg_setup() {
+ if use clang && ! tc-is-clang ; then
+ export CC=${CHOST}-clang
+ export CXX=${CHOST}-clang++
+ else
+ tc-export CXX CC
+ fi
+ use neon || export ZT_DISABLE_NEON=1
+}
+
+src_compile() {
+ append-ldflags -Wl,-z,noexecstack
+ emake CXX="${CXX}" STRIP=: one
+}
+
+src_test() {
+ emake selftest
+ ./zerotier-selftest || die
+}
+
+src_install() {
+ default
+ # remove pre-zipped man pages
+ rm "${ED}"/usr/share/man/{man1,man8}/* || die
+
+ newinitd "${FILESDIR}/${PN}".init "${PN}"
+ systemd_dounit "${FILESDIR}/${PN}".service
+ doman doc/zerotier-{cli.1,idtool.1,one.8}
+}