diff options
author | Simon South <simon@simonsouth.net> | 2020-05-18 08:32:17 -0400 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-06-25 12:29:23 +0200 |
commit | 31be8fc87f2347a52bd19840edd7908e8a537dcf (patch) | |
tree | c7d948226199d5257c63812622cd841c9a6829c8 /gnu/packages/lua.scm | |
parent | 3b7145d821dca246aa6377f56266bc5688806420 (diff) | |
download | guix-31be8fc87f2347a52bd19840edd7908e8a537dcf.tar guix-31be8fc87f2347a52bd19840edd7908e8a537dcf.tar.gz |
gnu: Add lua-ossl.
luaossl doesn't actually require M4 to build, unlike cqueues.
Here's a replacement patch that omits M4 from the package inputs.
>From 610918a771b84a081af24940ae94d35b1af7511e Mon Sep 17 00:00:00 2001
From: Simon South <simon@simonsouth.net>
Date: Fri, 15 May 2020 11:18:44 -0400
Subject: [PATCH 1/3] gnu: Add lua-ossl.
To: 41363@debbugs.gnu.org
* gnu/packages/lua.scm (make-lua-ossl): New function.
(lua-ossl, lua5.1-ossl, lua5.2-ossl): New variables.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/lua.scm')
-rw-r--r-- | gnu/packages/lua.scm | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 181ce76559..defb7b68e6 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Simon South <simon@simonsouth.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages readline) + #:use-module (gnu packages m4) #:use-module (gnu packages tls) #:use-module (gnu packages xml) #:use-module (gnu packages glib) @@ -292,6 +294,65 @@ directory structure and file attributes.") (define-public lua5.2-filesystem (make-lua-filesystem "lua5.2-filesystem" lua-5.2)) +(define (make-lua-ossl name lua) + (package + (name name) + (version "20170903") + (source (origin + (method url-fetch) + (uri (string-append "https://25thandclement.com/~william/" + "projects/releases/luaossl-" version ".tgz")) + (sha256 + (base32 + "10392bvd0lzyibipblgiss09zlqh3a5zgqg1b9lgbybpqb9cv2k3")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((out (assoc-ref %outputs "out")) + (lua-api-version ,(version-major+minor (package-version lua)))) + (list "CC=gcc" + "CFLAGS='-D HAVE_SYS_SYSCTL_H=0'" ; sys/sysctl.h is deprecated + (string-append "DESTDIR=" out) + (string-append "LUA_APIS=" lua-api-version) + "prefix=")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (lua-version ,(version-major+minor (package-version lua)))) + (setenv "LUA_CPATH" + (string-append out "/lib/lua/" lua-version "/?.so;;")) + (setenv "LUA_PATH" + (string-append out "/share/lua/" lua-version "/?.lua;;")) + (with-directory-excursion "regress" + (for-each (lambda (f) + (invoke "lua" f)) + (find-files "." "^[0-9].*\\.lua$")))) + #t))))) + (inputs + `(("lua" ,lua) + ("openssl" ,openssl))) + (home-page "https://25thandclement.com/~william/projects/luaossl.html") + (synopsis "OpenSSL bindings for Lua") + (description "The luaossl extension module for Lua provides comprehensive, +low-level bindings to the OpenSSL library, including support for certificate and +key management, key generation, signature verification, and deep bindings to the +distinguished name, alternative name, and X.509v3 extension interfaces. It also +binds OpenSSL's bignum, message digest, HMAC, cipher, and CSPRNG interfaces.") + (license license:expat))) + +(define-public lua-ossl + (make-lua-ossl "lua-ossl" lua)) + +(define-public lua5.1-ossl + (make-lua-ossl "lua5.1-ossl" lua-5.1)) + +(define-public lua5.2-ossl + (make-lua-ossl "lua5.2-ossl" lua-5.2)) + (define (make-lua-sec name lua) (package (name name) |