forked from hasufell/hasufell-repository
		
	
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Copyright 2016 Julian Ospald <hasufell@posteo.de>
 | |
| # Distributed under the terms of the GNU General Public License v2
 | |
| #
 | |
| # Partly based on badvpn-1.999.130.ebuild which is:
 | |
| #   Copyright 1999-2015 Gentoo Foundation
 | |
| #   Distributed under the terms of the GNU General Public License v2
 | |
| #   $Id$
 | |
| 
 | |
| 
 | |
| require github [ user=ambrop72 ]
 | |
| require cmake [ api=2 ]
 | |
| require systemd-service openrc-service
 | |
| 
 | |
| SUMMARY="Peer-to-peer VPN, NCD scripting language, tun2socks proxifier"
 | |
| DESCRIPTION="
 | |
|     BadVPN is an open-source peer-to-peer VPN system. It provides a
 | |
|     Layer 2 (Ethernet) network between the peers (VPN nodes). The peers
 | |
|     connect to a central server which acts as a chat server for them to
 | |
|     establish direct connections between each other (data connections).
 | |
|     These connections are used for transferring network data (Ethernet
 | |
|     frames), and can be secured with a multitude of mechanisms.
 | |
| 
 | |
|     The BadVPN package also includes other network-related software,
 | |
|     like tun2socks and NCD.
 | |
| "
 | |
| HOMEPAGE+=" https://code.google.com/p/badvpn/"
 | |
| 
 | |
| LICENCES="BSD-3"
 | |
| PLATFORMS="~amd64 ~x86"
 | |
| SLOT="0"
 | |
| 
 | |
| MYOPTIONS="
 | |
|     ncd       [[ description = [ Build NCD, a lightweight scripting language
 | |
|                                  especially suited for network configurations ] ]]
 | |
|     tun2socks [[ description = [ Build tun2socks, a program which implements
 | |
|                                  a TUN device that forwards TCP traffic through
 | |
|                                  a SOCKS5 server ] ]]
 | |
|     udpgw     [[ description = [ Build udpgw, a small daemon which allows
 | |
|                                  tun2socks to forward UDP traffic ] ]]
 | |
|     ( providers: libressl openssl ) [[ number-selected = exactly-one ]]
 | |
|     ( providers: eudev systemd ) [[ number-selected = exactly-one ]]
 | |
| "
 | |
| 
 | |
| DEPENDENCIES="
 | |
|     build:
 | |
|         virtual/pkg-config
 | |
|     build+run:
 | |
|         dev-libs/nspr
 | |
|         dev-libs/nss
 | |
|         providers:libressl? ( dev-libs/libressl:= )
 | |
|         providers:openssl? ( dev-libs/openssl )
 | |
|     run:
 | |
|         group/badvpn
 | |
|         user/badvpn
 | |
|         ncd? (
 | |
|             sys-apps/iproute2
 | |
|             providers:eudev? ( sys-apps/eudev )
 | |
|             providers:systemd? ( sys-apps/systemd )
 | |
|         )
 | |
| "
 | |
| 
 | |
| DEFAULT_SRC_PREPARE_PATCHES=(
 | |
|     "${FILES}"/${PNV}-Use-GNUInstallDirs.patch
 | |
| )
 | |
| 
 | |
| CMAKE_SRC_CONFIGURE_PARAMS=(
 | |
|     -DBUILD_NOTHING_BY_DEFAULT=1
 | |
|     -DBUILD_CLIENT=ON
 | |
|     -DBUILD_SERVER=ON
 | |
|     -DCMAKE_INSTALL_BINDIR="/usr/$(exhost --target)/bin"
 | |
|     -DCMAKE_INSTALL_PREFIX="/usr"
 | |
| )
 | |
| 
 | |
| CMAKE_SRC_CONFIGURE_OPTIONS=(
 | |
|     'ncd BUILD_NCD'
 | |
|     'tun2socks BUILD_TUN2SOCKS'
 | |
|     'udpgw BUILD_UDPGW'
 | |
| )
 | |
| 
 | |
| src_install() {
 | |
|     cmake_src_install
 | |
|     dodoc "${CMAKE_SOURCE}"/ChangeLog
 | |
| 
 | |
|     newinitd "${FILES}"/${PN}-server.init ${PN}-server
 | |
|     newconfd "${FILES}"/${PN}-server.conf ${PN}-server
 | |
| 
 | |
|     if option ncd; then
 | |
|         newinitd "${FILES}"/${PN}-1.999.127-ncd.init ${PN}-ncd
 | |
|         newconfd "${FILES}"/${PN}-ncd.conf ${PN}-ncd
 | |
|         install_systemd_files
 | |
|     fi
 | |
| 
 | |
|     openrc_expart /etc/init.d
 | |
|     openrc_expart /etc/conf.d
 | |
| }
 | |
| 
 |