From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr. Date: Mon, 19 Sep 2016 19:07:31 +0000 Message-ID: <87a8f33dzg.fsf@we.make.ritual.n0.is> References: <87lgz2tzfq.fsf@we.make.ritual.n0.is> <20160908232102.4faeca44@openmailbox.org> <87mvjg3g1q.fsf@we.make.ritual.n0.is> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53075) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bm3v1-0000Kr-VA for guix-devel@gnu.org; Mon, 19 Sep 2016 15:07:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bm3ux-0005FV-IL for guix-devel@gnu.org; Mon, 19 Sep 2016 15:07:54 -0400 Received: from aibo.runbox.com ([91.220.196.211]:59816) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bm3ux-0005Da-3m for guix-devel@gnu.org; Mon, 19 Sep 2016 15:07:51 -0400 Received: from [10.9.9.212] (helo=mailfront12.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1bm3ut-0001xz-Jr for guix-devel@gnu.org; Mon, 19 Sep 2016 21:07:47 +0200 Received: from x5d83f6f8.dyn.telefonica.de ([93.131.246.248] helo=localhost) by mailfront12.runbox.com with esmtpsa (uid:892961 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1bm3ue-0005oA-F9 for guix-devel@gnu.org; Mon, 19 Sep 2016 21:07:32 +0200 In-Reply-To: <87mvjg3g1q.fsf@we.make.ritual.n0.is> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org Hi, can I get some feedback on my questions about the databases? Thanks. ng0 writes: > [ Unknown signature status ] > > Hi, > > Eric Bavier writes: > >> On Thu, 08 Sep 2016 11:15:37 +0000 >> ng0 wrote: >> >>> From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001 >>> From: ng0 >>> Date: Tue, 6 Sep 2016 18:23:15 +0000 >>> Subject: [PATCH 2/3] gnu: Add opensmtpd. >>> >>> * gnu/packages/mail.scm (opensmtpd): New variable. >>> --- >> [...] >>> + (synopsis "Lightweight but fully featured SMTP daemon from OpenBSD") >> >> This sounds too much like marketing. Considering the "Synopses and >> Descriptions" section in the manual, perhaps "Lightweight SMTP daemon". >> >> Considering Efraim and Marius's comments, LGTM. >> >> `~Eric >> > > I commented mariadb + postgresql for now. I want some feedback first if > you think we should provide it this way, or if we should add both to > different outputs. > It would not make much difference in the size of the dependency graph > unless one creates a opensmtpd-extras-postgresql package for example > which just builds the postgresql related things. > > What do you think? > > From 9f6f6761751ca5d057b91167b302767aba4638be Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Tue, 6 Sep 2016 17:10:18 +0000 > Subject: [PATCH 1/3] gnu: Add libasr. > > * gnu/packages/dns.scm (libasr): New variable. > --- > gnu/packages/dns.scm | 34 ++++++++++++++++++++++++++++++++++ > gnu/packages/web.scm | 1 + > 2 files changed, 35 insertions(+) > > diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm > index 819343a..35d7052 100644 > --- a/gnu/packages/dns.scm > +++ b/gnu/packages/dns.scm > @@ -3,6 +3,7 @@ > ;;; Copyright © 2016 Mark H Weaver > ;;; Copyright © 2016 Ricardo Wurmus > ;;; Copyright © 2016 Efraim Flashner > +;;; Copyright © 2016 ng0 > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -20,9 +21,12 @@ > ;;; along with GNU Guix. If not, see . > > (define-module (gnu packages dns) > + #:use-module (gnu packages autotools) > #:use-module (gnu packages databases) > + #:use-module (gnu packages groff) > #:use-module (gnu packages linux) > #:use-module (gnu packages perl) > + #:use-module (gnu packages pkg-config) > #:use-module (gnu packages tls) > #:use-module (gnu packages xml) > #:use-module ((guix licenses) #:prefix license:) > @@ -116,3 +120,33 @@ and BOOTP/TFTP for network booting of diskless machines.") > "These tools, included with ISC BIND, are useful for analysis of DNS > issues or verification of configuration.") > (license (list license:isc)))) > + > +(define-public libasr > + (package > + (name "libasr") > + (version "201602131606") > + (source > + (origin > + (method url-fetch) > + (uri (string-append "https://www.opensmtpd.org/archives/" > + name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "18kdmbjsxrfai16d66qslp48b1zf7gr8him2jj5dcqgbsl44ls75")))) > + (build-system gnu-build-system) > + (native-inputs > + `(("autoconf" ,autoconf) > + ("automake" ,automake) > + ("pkg-config" ,pkg-config) > + ("groff" ,groff))) > + (home-page "https://www.opensmtpd.org") > + (synopsis "Asynchronous resolver library by the OpenBSD project") > + (description > + "libasr is a free, simple and portable asynchronous resolver library. > +It allows to run DNS queries and perform hostname resolutions in a fully > +asynchronous fashion.") > + (license (list license:isc > + license:bsd-2 ; last part of getrrsetbyname_async.c > + license:bsd-3 > + (license:non-copyleft "file://LICENSE") ; includes.h > + license:openssl)))) > diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm > index 70bfd9e..ed0a453 100644 > --- a/gnu/packages/web.scm > +++ b/gnu/packages/web.scm > @@ -61,6 +61,7 @@ > #:use-module (gnu packages gnome) > #:use-module (gnu packages gperf) > #:use-module (gnu packages gtk) > + #:use-module (gnu packages groff) > #:use-module (gnu packages icu4c) > #:use-module (gnu packages image) > #:use-module (gnu packages lua) > -- > 2.10.0 > > From 7f5e30bc0f0ae1689db1876edac6bbffe39a2e88 Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Tue, 6 Sep 2016 18:23:15 +0000 > Subject: [PATCH 2/3] gnu: Add opensmtpd. > > * gnu/packages/mail.scm (opensmtpd): New variable. > --- > gnu/packages/mail.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 54 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm > index c2fc1a9..e80a5c1 100644 > --- a/gnu/packages/mail.scm > +++ b/gnu/packages/mail.scm > @@ -45,6 +45,7 @@ > #:use-module (gnu packages cyrus-sasl) > #:use-module (gnu packages databases) > #:use-module (gnu packages dejagnu) > + #:use-module (gnu packages dns) > #:use-module (gnu packages emacs) > #:use-module (gnu packages enchant) > #:use-module (gnu packages ghostscript) > @@ -56,6 +57,7 @@ > #:use-module (gnu packages guile) > #:use-module (gnu packages flex) > #:use-module (gnu packages libcanberra) > + #:use-module (gnu packages libevent) > #:use-module (gnu packages libidn) > #:use-module (gnu packages linux) > #:use-module (gnu packages m4) > @@ -80,7 +82,8 @@ > #:use-module ((guix licenses) > #:select (gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ > non-copyleft (expat . license:expat) bsd-3 > - public-domain)) > + public-domain bsd-4 isc (openssl . license:openssl) > + bsd-2)) > #:use-module (guix packages) > #:use-module (guix download) > #:use-module (guix git-download) > @@ -1388,3 +1391,53 @@ to mbox files, maildir folders or a Mail Delivery Agent (MDA), > TLS/SSL, several authentication methods, Internationalized Domain > Names (IDN) and SOCKS proxies.") > (license gpl3+))) > + > +(define-public opensmtpd > + (package > + (name "opensmtpd") > + (version "5.9.2p1") > + (source (origin > + (method url-fetch) > + (uri (string-append "https://www.opensmtpd.org/archives/" > + name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "07d7f1m5sxyz6mkk228rcm7fsf7350994ayvmhgph333q5rz48im")))) > + (build-system gnu-build-system) > + (inputs > + `(("bdb" ,bdb) > + ("libressl" ,libressl) > + ("libevent" ,libevent) > + ("libasr" ,libasr) > + ("linux-pam" ,linux-pam) > + ("zlib" ,zlib))) > + (native-inputs > + `(("bison" ,bison))) > + (arguments > + `(#:configure-flags (list "--with-table-db" "--localstatedir=/var" > + "--with-user-smtpd=smtpd" "--with-user-queue=smtpq" > + "--with-group-queue=smtpq") > + #:phases > + (modify-phases %standard-phases > + ;; OpenSMTPD provides a single utility smtpctl to control the daemon and > + ;; the local submission subsystem. To accomodate systems that require > + ;; historical interfaces such as sendmail, newaliases or makemap, the > + ;; smtpctl utility can operate in compatibility mode if called with the > + ;; historical name. > + (add-after 'install 'install-compabilitymode > + (lambda _ > + (let* ((out (assoc-ref %outputs "out")) > + (sbin (string-append out "/sbin/"))) > + (for-each (lambda (cmd) > + (symlink "smtpctl" (string-append sbin cmd))) > + '("makemap" "sendmail" "send-mail" > + "newaliases" "mailq"))) > + #t))))) > + (synopsis "Lightweight SMTP daemon") > + (description > + "OpenSMTPD is an implementation of the server-side SMTP protocol, with > +some additional standard extensions. It allows ordinary machines to exchange > +e-mails with other systems speaking the SMTP protocol.") > + (home-page "https://www.opensmtpd.org") > + (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING") > + public-domain isc openssl)))) > -- > 2.10.0 > > From 87cf35ef0e5e78e9cdf05ab025d7151dd92e1902 Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Tue, 6 Sep 2016 20:12:00 +0000 > Subject: [PATCH 3/3] gnu: Add opensmtpd-extras. > > * gnu/packages/mail.scm (opensmtpd-extras): New variable. > --- > gnu/packages/mail.scm | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 72 insertions(+) > > diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm > index e80a5c1..fd03d1e 100644 > --- a/gnu/packages/mail.scm > +++ b/gnu/packages/mail.scm > @@ -52,6 +52,7 @@ > #:use-module (gnu packages glib) > #:use-module (gnu packages gnome) > #:use-module (gnu packages gnupg) > + #:use-module (gnu packages groff) > #:use-module (gnu packages gsasl) > #:use-module (gnu packages gtk) > #:use-module (gnu packages guile) > @@ -60,6 +61,7 @@ > #:use-module (gnu packages libevent) > #:use-module (gnu packages libidn) > #:use-module (gnu packages linux) > + #:use-module (gnu packages lua) > #:use-module (gnu packages m4) > #:use-module (gnu packages ncurses) > #:use-module (gnu packages pcre) > @@ -1441,3 +1443,73 @@ e-mails with other systems speaking the SMTP protocol.") > (home-page "https://www.opensmtpd.org") > (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING") > public-domain isc openssl)))) > + > +(define-public opensmtpd-extras > + (package > + (name "opensmtpd-extras") > + (version "5.7.1") > + (source (origin > + (method url-fetch) > + (uri (string-append "https://www.opensmtpd.org/archives/" > + name "-" version ".tar.gz")) > + (sha256 > + (base32 > + "1kld4hxgz792s0cb2gl7m2n618ikzqkj88w5dhaxdrxg4x2c4vdm")))) > + (build-system gnu-build-system) > + (inputs > + `(("libressl" ,libressl) > + ("libevent" ,libevent) > + ("libasr" ,libasr) > + ("python-2" ,python-2) > + ("opensmtpd" ,opensmtpd) > + ("perl" ,perl) > + ("lua" ,lua) > + ;; ("postgresql" ,postgresql) ; split this > + ;; ("mariadb" ,mariadb) ; split this > + ("sqlite" ,sqlite) > + ("linux-pam" ,linux-pam))) > + (native-inputs > + `(("bison" ,bison) > + ("pkg-config" ,pkg-config) > + ("groff" ,groff) > + ("automake" ,automake) > + ("autoconf" ,autoconf))) > + (arguments > + `(;; We have to configure it like this because the default checks for for example > + ;; python in /usr/local/bin, /usr/bin and fails otherwise. > + #:configure-flags (list > + "--with-filter-clamav" "--with-filter-dkim-signer" > + "--with-filter-dnsbl" "--with-filter-lua" > + "--with-filter-monkey" "--with-filter-pause" > + "--with-filter-perl" "--with-filter-python" > + "--with-filter-regex" "--with-filter-spamassassin" > + "--with-filter-stub" "--with-filter-trace" > + "--with-filter-void" > + > + "--with-queue-null" "--with-queue-python" > + "--with-queue-ram" "--with-queue-stub" > + > + "--with-scheduler-python" "--with-scheduler-ram" > + "--with-scheduler-stub" > + > + "--with-table-ldap" ; "--with-table-mysql" > + "--with-table-passwd" ; "--with-table-postgres" > + "--with-table-python" "--with-table-socketmap" > + "--with-table-sqlite" "--with-table-stub" > + ;;"--with-table-redis" ; TODO: package hiredis > + > + "--with-user=smtpd" "--with-privsep-user=smtpd" > + "--localstatedir=/var" "--sysconfdir=/etc" > + "--with-lua-type=lua" ; can use lua or luajit > + > + (string-append "--with-python=" > + (assoc-ref %build-inputs "python-2")) > + (string-append "--with-lua=" > + (assoc-ref %build-inputs "lua"))))) > + (license (list bsd-2 bsd-3 bsd-4 non-copyleft > + public-domain isc openssl)) > + (synopsis "Extra tables, filters, and various other addons for OpenSMTPD") > + (description > + "This package provides extra tables, filters, and various other addons > +for OpenSMTPD to extend its functionality.") > + (home-page "https://www.opensmtpd.org"))) > -- > 2.10.0 > > > -- > ng0 > For non-prism friendly talk find me on http://www.psyced.org -- ng0