| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | # 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$ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-23 02:22:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-22 15:42:34 +00:00
										 |  |  | require github [ user=ambrop72 ] | 
					
						
							| 
									
										
										
										
											2016-04-23 02:22:08 +00:00
										 |  |  | require cmake [ api=2 ] | 
					
						
							| 
									
										
										
										
											2016-05-24 16:52:32 +00:00
										 |  |  | require systemd-service openrc-service | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							|  |  |  | "
 | 
					
						
							| 
									
										
										
										
											2016-04-22 15:42:34 +00:00
										 |  |  | HOMEPAGE+=" https://code.google.com/p/badvpn/" | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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="
 | 
					
						
							| 
									
										
										
										
											2016-02-28 23:05:15 +00:00
										 |  |  |     build: | 
					
						
							|  |  |  |         virtual/pkg-config | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  |     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 ) | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  | "
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 16:52:13 +00:00
										 |  |  | DEFAULT_SRC_PREPARE_PATCHES=( | 
					
						
							|  |  |  |     "${FILES}"/${PNV}-Use-GNUInstallDirs.patch | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | CMAKE_SRC_CONFIGURE_PARAMS=( | 
					
						
							|  |  |  |     -DBUILD_NOTHING_BY_DEFAULT=1 | 
					
						
							|  |  |  |     -DBUILD_CLIENT=ON | 
					
						
							|  |  |  |     -DBUILD_SERVER=ON | 
					
						
							| 
									
										
										
										
											2016-05-24 16:52:13 +00:00
										 |  |  |     -DCMAKE_INSTALL_BINDIR="/usr/$(exhost --target)/bin" | 
					
						
							|  |  |  |     -DCMAKE_INSTALL_PREFIX="/usr" | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CMAKE_SRC_CONFIGURE_OPTIONS=( | 
					
						
							|  |  |  |     'ncd BUILD_NCD' | 
					
						
							|  |  |  |     'tun2socks BUILD_TUN2SOCKS' | 
					
						
							|  |  |  |     'udpgw BUILD_UDPGW' | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | src_install() { | 
					
						
							| 
									
										
										
										
											2016-02-28 23:05:15 +00:00
										 |  |  |     cmake_src_install | 
					
						
							| 
									
										
										
										
											2016-04-23 02:22:08 +00:00
										 |  |  |     dodoc "${CMAKE_SOURCE}"/ChangeLog | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 16:52:13 +00:00
										 |  |  |     newinitd "${FILES}"/${PN}-server.init ${PN}-server | 
					
						
							|  |  |  |     newconfd "${FILES}"/${PN}-server.conf ${PN}-server | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-28 23:05:15 +00:00
										 |  |  |     if option ncd; then | 
					
						
							| 
									
										
										
										
											2016-05-24 16:52:13 +00:00
										 |  |  |         newinitd "${FILES}"/${PN}-1.999.127-ncd.init ${PN}-ncd | 
					
						
							|  |  |  |         newconfd "${FILES}"/${PN}-ncd.conf ${PN}-ncd | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  |         install_systemd_files | 
					
						
							| 
									
										
										
										
											2016-02-28 23:05:15 +00:00
										 |  |  |     fi | 
					
						
							| 
									
										
										
										
											2016-05-24 16:52:32 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     openrc_expart /etc/init.d | 
					
						
							|  |  |  |     openrc_expart /etc/conf.d | 
					
						
							| 
									
										
										
										
											2016-02-17 11:26:25 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 |