[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#28973] [PATCH 1/1] gnu: Add strongswan.
From: |
Adam Van Ymeren |
Subject: |
[bug#28973] [PATCH 1/1] gnu: Add strongswan. |
Date: |
Wed, 31 Jan 2018 14:46:02 -0500 |
Okay I think I've done all your comments. I figured out how to get some
of the tests that were failing to pass so I dropped one of the patches
and cleaned up the other one.
I also added non-copyleft license for that one file.
I spent some time trying to debug the remaining failing tests. They
make some assumptions about paths which are not true in the build
container, I managed to get some to pass when I run manually in a
container from guix environment -C, but they still fail when $ guix
build runs, so I've left in the patch to disable them. They're really
not essential tests.
Updated patch below.
---
gnu/packages/networking.scm | 71 ++++++++++++++++++++++++
gnu/packages/patches/strongswan-skip-tests.patch | 33 +++++++++++
2 files changed, 104 insertions(+)
create mode 100644 gnu/packages/patches/strongswan-skip-tests.patch
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 2c55d6793..0138e59e3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -49,6 +49,7 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
@@ -66,6 +67,7 @@
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
@@ -1567,3 +1569,72 @@ routers (or @dfn{hops}) between the local host and a
user-specified destination.
It then continually measures the response time and packet loss at each hop, and
displays the results in real time.")
(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"))
+ (patches
+ (search-patches "strongswan-skip-tests.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; This is needed for tests
+ (add-after 'unpack 'set-TZDIR
+ (lambda* (#:key inputs #:allow-other-keys)
+ (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))))
diff --git a/gnu/packages/patches/strongswan-skip-tests.patch
b/gnu/packages/patches/strongswan-skip-tests.patch
new file mode 100644
index 000000000..b2a93ea99
--- /dev/null
+++ b/gnu/packages/patches/strongswan-skip-tests.patch
@@ -0,0 +1,33 @@
+Delete some tests that fail to run in the build container.
+
+diff -ur
strongswan-5.6.1-original/src/libstrongswan/tests/suites/test_process.c
strongswan-5.6.1/src/libstrongswan/tests/suites/test_process.c
+--- strongswan-5.6.1-original/src/libstrongswan/tests/suites/test_process.c
2016-04-22 16:01:35.000000000 -0400
++++ strongswan-5.6.1/src/libstrongswan/tests/suites/test_process.c
2018-01-31 14:31:39.644634648 -0500
+@@ -201,27 +201,9 @@
+
+ s = suite_create("process");
+
+- tc = tcase_create("return values");
+- tcase_add_test(tc, test_retval_true);
+- tcase_add_test(tc, test_retval_false);
+- suite_add_tcase(s, tc);
+-
+ tc = tcase_create("not found");
+ tcase_add_test(tc, test_not_found);
+ suite_add_tcase(s, tc);
+
+- tc = tcase_create("echo");
+- tcase_add_test(tc, test_echo);
+- tcase_add_test(tc, test_echo_err);
+- suite_add_tcase(s, tc);
+-
+- tc = tcase_create("env");
+- tcase_add_test(tc, test_env);
+- suite_add_tcase(s, tc);
+-
+- tc = tcase_create("shell");
+- tcase_add_test(tc, test_shell);
+- suite_add_tcase(s, tc);
+-
+ return s;
+ }
--
2.15.1