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
 | 
						|
}
 | 
						|
 |