gnu: Add strongswan.

* gnu/packages/networking.scm (strongswan): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Adam Van Ymeren 2018-01-31 14:46:02 -05:00 committed by Ludovic Courtès
parent 51f887f33d
commit 5f645557a4
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at>
@ -18,6 +18,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -49,6 +50,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages code) #:use-module (gnu packages code)
@ -66,6 +68,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages libidn) #:use-module (gnu packages libidn)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
@ -1567,3 +1570,81 @@ (define-public mtr
It then continually measures the response time and packet loss at each hop, and It then continually measures the response time and packet loss at each hop, and
displays the results in real time.") displays the results in real time.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public strongswan
(package
(name "strongswan")
(version "5.6.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.strongswan.org/strongswan-"
version ".tar.bz2"))
(sha256
(base32 "0lxbyiary8iapx3ysw40czrmxf983fhfzs5mvz2hk1j1mpc85hp0"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'adjust-to-environment
(lambda* (#:key inputs #:allow-other-keys)
;; Adjust file names.
(substitute* "src/libstrongswan/utils/process.c"
(("/bin/sh")
(string-append (assoc-ref inputs "bash") "/bin/sh")))
(substitute* "src/libstrongswan/tests/suites/test_process.c"
(("/bin/sh") (which "sh"))
(("/bin/echo") (which "echo"))
(("cat") (which "cat")))
;; This is needed for tests.
(setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t)))
#:configure-flags
(list
;; Disable bsd-4 licensed plugins
"--disable-des"
"--disable-blowfish")))
(inputs
`(("curl" ,curl)
("gmp" ,gmp)
("libgcrypt" ,libgcrypt)
("openssl" ,openssl)))
(native-inputs
`(("coreutils" ,coreutils)
("tzdata" ,tzdata-2017a)))
(synopsis "IKEv1/v2 keying daemon")
(description "StrongSwan is an IPsec implementation originally based upon
the FreeS/WAN project. It contains support for IKEv1, IKEv2, MOBIKE, IPv6,
NAT-T and more.")
(home-page "https://strongswan.org/")
(license
(list license:gpl2+
;; src/aikgen/*
;; src/libcharon/plugins/dnscert/*
;; src/libcharon/plugins/ext_auth/*
;; src/libcharon/plugins/vici/ruby/*
;; src/libcharon/plugins/xauth_pam/xauth_pam_listener.[ch]
license:expat
;; src/inclue/sys/*
license:bsd-3
;; src/libstrongswan/plugins/sha3/sha3_keccak.c
license:public-domain
;; src/libstrongswan/plugins/pkcs11/pkcs11.h
(license:non-copyleft
"file://src/libstrongswan/plugins/pkcs11/pkcs11.h"
"pkcs11 contains a unknown permissive license. View the specific
file for more details.")
;; These files are not included in the
;; build, they are disabled through
;; options to ./configure
;;
;; src/libstrongswan/plugins/blowfish/bf_enc.c
;; src/libstrongswan/plugins/blowfish/bf_locl.h
;; src/libstrongswan/plugins/blowfish/bf_pi.h
;; src/libstrongswan/plugins/blowfish/bf_skey.c
;; src/libstrongswan/plugins/blowfish/blowfish_crypter.c
;; src/libstrongswan/plugins/des/des_crypter.c
license:bsd-4))))