diff options
author | Jason A. Donenfeld <zx2c4@gentoo.org> | 2017-03-17 14:49:18 +0100 |
---|---|---|
committer | Jason A. Donenfeld <zx2c4@gentoo.org> | 2017-03-17 14:56:14 +0100 |
commit | 7f68c86d93d5f69d775bceb3941b3a3b46672eb1 (patch) | |
tree | b461a335b70f8d07bda55ab1e3cc54fbd568a097 /net-vpn/freelan | |
parent | dev-ruby/nexpose: Initial version (diff) | |
download | gentoo-7f68c86d93d5f69d775bceb3941b3a3b46672eb1.tar.gz gentoo-7f68c86d93d5f69d775bceb3941b3a3b46672eb1.tar.bz2 gentoo-7f68c86d93d5f69d775bceb3941b3a3b46672eb1.zip |
Move VPN packages into net-vpn/
Diffstat (limited to 'net-vpn/freelan')
-rw-r--r-- | net-vpn/freelan/Manifest | 1 | ||||
-rw-r--r-- | net-vpn/freelan/files/boost158.patch | 41 | ||||
-rw-r--r-- | net-vpn/freelan/files/boost163.patch | 24 | ||||
-rw-r--r-- | net-vpn/freelan/files/mf.patch | 33 | ||||
-rwxr-xr-x | net-vpn/freelan/files/openrc/freelan.initd | 12 | ||||
-rw-r--r-- | net-vpn/freelan/files/prefix.patch | 81 | ||||
-rw-r--r-- | net-vpn/freelan/freelan-2.0.ebuild | 60 | ||||
-rw-r--r-- | net-vpn/freelan/metadata.xml | 8 |
8 files changed, 260 insertions, 0 deletions
diff --git a/net-vpn/freelan/Manifest b/net-vpn/freelan/Manifest new file mode 100644 index 000000000000..ea577c9f03db --- /dev/null +++ b/net-vpn/freelan/Manifest @@ -0,0 +1 @@ +DIST freelan-2.0.tar.gz 4330112 SHA256 02fa5b4806655ca7ad24bdb265a7b79e2e8b900797dca1c87a157e76ec85f529 SHA512 72e5381fdad4d413f4f85c4789ad78c38360a300da6f49a3e8119fe2cacb7a7b05ce16ddcbfcdc008e1c2848c535648967e92f082338fdfb2c1b8e43f53291cc WHIRLPOOL ba51350692c510a689772cb75a03f0607d58898581d85d3c58f78191df72bb2a762ee14a6fcb0c49745170ddf015a49b090a679613dfc1d2b478dc35e2d9a7d8 diff --git a/net-vpn/freelan/files/boost158.patch b/net-vpn/freelan/files/boost158.patch new file mode 100644 index 000000000000..7d5bb740f7bd --- /dev/null +++ b/net-vpn/freelan/files/boost158.patch @@ -0,0 +1,41 @@ +commit 68d18a5a7dd7fad8638409d46d144d33a30b54ce +Author: Mihai Bişog <mihai.bisog@gmail.com> +Date: Sat Aug 1 15:18:35 2015 +0300 + + Fixed compilation errors when compiling against boost 1.58 + +diff --git a/libs/asiotap/include/asiotap/types/endpoint.hpp b/libs/asiotap/include/asiotap/types/endpoint.hpp +index 125e1b4..318b7e6 100644 +--- a/libs/asiotap/include/asiotap/types/endpoint.hpp ++++ b/libs/asiotap/include/asiotap/types/endpoint.hpp +@@ -350,6 +350,9 @@ namespace asiotap + */ + std::istream& operator>>(std::istream& is, endpoint& value); + ++// Note: this operator is defined in boost variant as of version 1.58. Keeping it around will ++// introduce overload resolution ambiguity. ++#if BOOST_VERSION < 105800 + /** + * \brief Compare two endpoints. + * \param lhs The left argument. +@@ -360,6 +363,7 @@ namespace asiotap + { + return !(lhs == rhs); + } ++#endif + + /** + * \brief Get an endpoint with a default port. +diff --git a/libs/freelan/src/curl.cpp b/libs/freelan/src/curl.cpp +index 342bb79..392d734 100644 +--- a/libs/freelan/src/curl.cpp ++++ b/libs/freelan/src/curl.cpp +@@ -146,7 +146,7 @@ namespace freelan + + void curl::set_proxy(const asiotap::endpoint& proxy) + { +- if (proxy != asiotap::hostname_endpoint::null()) ++ if (proxy != asiotap::endpoint(asiotap::hostname_endpoint::null())) + { + set_option(CURLOPT_PROXY, static_cast<const void*>(boost::lexical_cast<std::string>(proxy).c_str())); + } diff --git a/net-vpn/freelan/files/boost163.patch b/net-vpn/freelan/files/boost163.patch new file mode 100644 index 000000000000..33636ef0d0b1 --- /dev/null +++ b/net-vpn/freelan/files/boost163.patch @@ -0,0 +1,24 @@ +Index: freelan-2.0/libs/freelan/src/core.cpp +=================================================================== +--- freelan-2.0.orig/libs/freelan/src/core.cpp ++++ freelan-2.0/libs/freelan/src/core.cpp +@@ -1766,7 +1766,8 @@ namespace freelan + { + m_logger(fscp::log_level::information) << "IPv4 address: " << m_configuration.tap_adapter.ipv4_address_prefix_length; + +- tap_config.ipv4.network_address = { m_configuration.tap_adapter.ipv4_address_prefix_length.address(), m_configuration.tap_adapter.ipv4_address_prefix_length.prefix_length() }; ++ asiotap::base_ip_network_address<boost::asio::ip::address_v4> a(m_configuration.tap_adapter.ipv4_address_prefix_length.address(), m_configuration.tap_adapter.ipv4_address_prefix_length.prefix_length()); ++ tap_config.ipv4.network_address = a; + } + else + { +@@ -1778,7 +1779,8 @@ namespace freelan + { + m_logger(fscp::log_level::information) << "IPv6 address: " << m_configuration.tap_adapter.ipv6_address_prefix_length; + +- tap_config.ipv6.network_address = { m_configuration.tap_adapter.ipv6_address_prefix_length.address(), m_configuration.tap_adapter.ipv6_address_prefix_length.prefix_length() }; ++ asiotap::base_ip_network_address<boost::asio::ip::address_v6> a(m_configuration.tap_adapter.ipv6_address_prefix_length.address(), m_configuration.tap_adapter.ipv6_address_prefix_length.prefix_length()); ++ tap_config.ipv6.network_address = a; + } + else + { diff --git a/net-vpn/freelan/files/mf.patch b/net-vpn/freelan/files/mf.patch new file mode 100644 index 000000000000..c7e169f4e8a7 --- /dev/null +++ b/net-vpn/freelan/files/mf.patch @@ -0,0 +1,33 @@ +commit 4109bb053906f45b545a6cca4399734b91bca425 +Author: Julien Kauffmann <julien.kauffmann@freelan.org> +Date: Sat May 9 16:55:51 2015 -0400 + + Fixed Makefile + +diff --git a/Makefile b/Makefile +index d6bcd59..20b5ea1 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,14 +1,15 @@ + PRODUCT_NAME:=freelan +-PRODUCT_VERSION:=$(shell git describe) ++PRODUCT_VERSION:=$(shell cat VERSION | tr -d '\r\n') ++PRODUCT_PREFIX=/usr + +-default: install +- +-install: +- # Install the files to ${DESTDIR} (defaults to /) +- scons install prefix=/ ++default: build + + build: +- scons all samples ++ FREELAN_NO_GIT=1 FREELAN_NO_GIT_VERSION=${PRODUCT_VERSION} scons --mode=release apps prefix=${PRODUCT_PREFIX} ++ ++install: ++ # Install the files to $(DESTDIR) (defaults to /) ++ FREELAN_NO_GIT=1 FREELAN_NO_GIT_VERSION=${PRODUCT_VERSION} DESTDIR=$(DESTDIR) scons --mode=release install prefix=${PRODUCT_PREFIX} + + package: + git archive HEAD --prefix=${PRODUCT_NAME}-${PRODUCT_VERSION}/ | gzip > ${PRODUCT_NAME}-${PRODUCT_VERSION}.tar.gz diff --git a/net-vpn/freelan/files/openrc/freelan.initd b/net-vpn/freelan/files/openrc/freelan.initd new file mode 100755 index 000000000000..bab116d3db06 --- /dev/null +++ b/net-vpn/freelan/files/openrc/freelan.initd @@ -0,0 +1,12 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/freelan" +command_args="-s -p /var/run/freelan.pid" +pidfile="/var/run/freelan.pid" + +depend() { + need net + use logger +} diff --git a/net-vpn/freelan/files/prefix.patch b/net-vpn/freelan/files/prefix.patch new file mode 100644 index 000000000000..ac75e87fb1d1 --- /dev/null +++ b/net-vpn/freelan/files/prefix.patch @@ -0,0 +1,81 @@ +commit d782a42eaeecdce9b4377a7b41dc60b9fecca31c +Author: Julien Kauffmann <julien.kauffmann@freelan.org> +Date: Sat May 9 19:30:11 2015 -0400 + + Added support for a different binary prefix + +diff --git a/Makefile b/Makefile +index 20b5ea1..b009d2c 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,15 +1,16 @@ + PRODUCT_NAME:=freelan + PRODUCT_VERSION:=$(shell cat VERSION | tr -d '\r\n') +-PRODUCT_PREFIX=/usr ++PRODUCT_BIN_PREFIX=/usr ++PRODUCT_PREFIX=/ + + default: build + + build: +- FREELAN_NO_GIT=1 FREELAN_NO_GIT_VERSION=${PRODUCT_VERSION} scons --mode=release apps prefix=${PRODUCT_PREFIX} ++ FREELAN_NO_GIT=1 FREELAN_NO_GIT_VERSION=${PRODUCT_VERSION} scons --mode=release apps prefix=${PRODUCT_PREFIX} bin_prefix=${PRODUCT_BIN_PREFIX} + + install: + # Install the files to $(DESTDIR) (defaults to /) +- FREELAN_NO_GIT=1 FREELAN_NO_GIT_VERSION=${PRODUCT_VERSION} DESTDIR=$(DESTDIR) scons --mode=release install prefix=${PRODUCT_PREFIX} ++ FREELAN_NO_GIT=1 FREELAN_NO_GIT_VERSION=${PRODUCT_VERSION} DESTDIR=$(DESTDIR) scons --mode=release install prefix=${PRODUCT_PREFIX} bin_prefix=${PRODUCT_BIN_PREFIX} + + package: + git archive HEAD --prefix=${PRODUCT_NAME}-${PRODUCT_VERSION}/ | gzip > ${PRODUCT_NAME}-${PRODUCT_VERSION}.tar.gz +diff --git a/SConstruct b/SConstruct +index 32a9915..bc68b71 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -28,7 +28,7 @@ class FreelanEnvironment(Environment): + A freelan specific environment class. + """ + +- def __init__(self, mode, prefix, **kwargs): ++ def __init__(self, mode, prefix, bin_prefix=None, **kwargs): + """ + Initialize the environment. + +@@ -66,14 +66,19 @@ class FreelanEnvironment(Environment): + + self.mode = mode + self.prefix = prefix ++ self.bin_prefix = bin_prefix if bin_prefix else prefix + self.destdir = self['ENV'].get('DESTDIR', '') + + if self.destdir: + self.install_prefix = os.path.normpath( + os.path.abspath(self.destdir), + ) + self.prefix ++ self.bin_install_prefix = os.path.normpath( ++ os.path.abspath(self.destdir), ++ ) + self.bin_prefix + else: + self.install_prefix = self.prefix ++ self.bin_install_prefix = self.bin_prefix + + if os.path.basename(self['CXX']) == 'clang++': + self.Append(CXXFLAGS=['-Qunused-arguments']) +@@ -147,10 +152,15 @@ class FreelanEnvironment(Environment): + mode = GetOption('mode') + prefix = os.path.normpath(os.path.abspath(ARGUMENTS.get('prefix', './install'))) + ++if 'bin_prefix' in ARGUMENTS: ++ bin_prefix = os.path.normpath(os.path.abspath(ARGUMENTS['bin_prefix'])) ++else: ++ bin_prefix = None ++ + if mode in ('all', 'release'): +- env = FreelanEnvironment(mode='release', prefix=prefix) ++ env = FreelanEnvironment(mode='release', prefix=prefix, bin_prefix=bin_prefix) + libraries, includes, apps, samples, configurations = SConscript('SConscript', exports='env', variant_dir=os.path.join('build', env.mode)) +- install = env.Install(os.path.join(env.install_prefix, 'bin'), apps) ++ install = env.Install(os.path.join(env.bin_install_prefix, 'bin'), apps) + install.extend(env.Install(os.path.join(env.install_prefix, 'etc', 'freelan'), configurations)) + + Alias('install', install) diff --git a/net-vpn/freelan/freelan-2.0.ebuild b/net-vpn/freelan/freelan-2.0.ebuild new file mode 100644 index 000000000000..477b6f862c32 --- /dev/null +++ b/net-vpn/freelan/freelan-2.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit scons-utils toolchain-funcs eutils + +DESCRIPTION="Peer-to-peer VPN software that abstracts a LAN over the Internet" +HOMEPAGE="http://www.freelan.org/" +SRC_URI="https://github.com/freelan-developers/freelan/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug" + +DEPEND=" + dev-libs/boost:=[threads] + dev-libs/openssl:0= + net-misc/curl:= + virtual/libiconv +" +RDEPEND="${DEPEND}" + +FREELAN_NO_GIT=1 +FREELAN_NO_GIT_VERSION=${PV} + +src_prepare() { + epatch \ + "${FILESDIR}/boost158.patch" \ + "${FILESDIR}/mf.patch" \ + "${FILESDIR}/prefix.patch" \ + "${FILESDIR}/boost163.patch" + + sed -e "s/CXXFLAGS='-O3'/CXXFLAGS=''/" \ + -e "s/CXXFLAGS=\['-Werror'\]/CXXFLAGS=[]/" \ + -e "s/CXXFLAGS=\['-pedantic'\]/CXXFLAGS=[]/" \ + -i SConstruct || die + epatch_user +} + +src_compile() { + tc-export CXX CC AR + export LINK="$(tc-getCXX)" + + local MYSCONS=( + "--mode=$(usex debug debug release)" + prefix="${EPREFIX:-/}" + bin_prefix="/usr" + apps + ) + escons "${MYSCONS[@]}" +} + +src_install() { + DESTDIR="${D}" escons --mode=release prefix="${EPREFIX:-/}" bin_prefix="/usr" install + dodoc CONTRIBUTING.md README.md + + newinitd "${FILESDIR}/openrc/freelan.initd" freelan +} diff --git a/net-vpn/freelan/metadata.xml b/net-vpn/freelan/metadata.xml new file mode 100644 index 000000000000..d8d5cc720330 --- /dev/null +++ b/net-vpn/freelan/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>aballier@gentoo.org</email> + <name>Alexis Ballier</name> + </maintainer> +</pkgmetadata> |