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>
This commit is contained in:
Simon South 2020-05-18 08:32:17 -04:00 committed by Ludovic Courtès
parent 3b7145d821
commit 31be8fc87f
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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 @@ (define-module (gnu packages lua)
#: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 @@ (define-public lua5.1-filesystem
(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)