unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH]: opensmtpd, opensmtpd-extras, libasr.
@ 2016-09-08 11:15 ng0
  2016-09-08 17:36 ` Marius Bakke
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: ng0 @ 2016-09-08 11:15 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 443 bytes --]

This adds opensmtpd. I'll write a service as this is obviously
not very functional without a service on Guix.


OT: So far I hope I can just change the email address I am subscribed to
the list with back, I'm waiting for the hosting problem to be
solved. Might even be that I stick with this one, you'll see. I hope
this was the last change, I have not updated any copyrights and commit
email accounts, hoping that it just continues to work.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-libasr.patch --]
[-- Type: text/x-patch, Size: 2183 bytes --]

From 30c8260a039d4c8d7cddbfd92341afa65577d680 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
Date: Tue, 6 Sep 2016 17:10:18 +0000
Subject: [PATCH 1/3] gnu: Add libasr.

* gnu/packages/web.scm (libasr): New variable.
---
 gnu/packages/web.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 70bfd9e..59ae049 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)
@@ -3609,3 +3610,35 @@ tools they trust (e.g. wget).")
 rendering engine entirely written from scratch.  It is small and capable of
 handling many of the web standards in use today.")
     (license l:gpl2+)))
+
+(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.  The implementation is thread-less, fork-less, and
+does not make use of signals or other 'tricks' that might get in the
+developer's way.")
+    (license (list l:isc
+                   l:bsd-2 ; last part of getrrsetbyname_async.c
+                   l:bsd-3
+                   (l:non-copyleft "file://COPYING") ; includes.h
+                   l:openssl))))
-- 
2.10.0


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-opensmtpd.patch --]
[-- Type: text/x-patch, Size: 3797 bytes --]

From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c2fc1a9..0ea6455 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -56,6 +56,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 +81,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 +1390,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
+     `(("libressl" ,libressl)
+       ("zlib" ,zlib)
+       ("libevent" ,libevent)
+       ("libasr" ,libasr)
+       ("bdb" ,bdb)
+       ("linux-pam" ,linux-pam)))
+    (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/")))
+               (symlink "smtpctl" (string-append sbin "makemap"))
+               (symlink "smtpctl" (string-append sbin "sendmail"))
+               (symlink "smtpctl" (string-append sbin "send-mail"))
+               (symlink "smtpctl" (string-append sbin "newaliases"))
+               (symlink "smtpctl" (string-append sbin "mailq"))))))))
+    (synopsis "Lightweight but fully featured SMTP daemon from OpenBSD")
+    (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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-opensmtpd-extras.patch --]
[-- Type: text/x-patch, Size: 4385 bytes --]

From a34853ce011b4f34d7116f9efe611d3fce6187c3 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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 | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 0ea6455..5fbc55c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -51,6 +51,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)
@@ -59,6 +60,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)
@@ -1440,3 +1442,71 @@ 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)
+       ("mariadb" ,mariadb)
+       ("sqlite" ,sqlite)
+       ("linux-pam" ,linux-pam)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("pkg-config" ,pkg-config)
+       ("groff" ,groff)
+       ("automake" ,automake)
+       ("autoconf" ,autoconf)))
+    (arguments
+     `(#: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


[-- Attachment #5: Type: text/plain, Size: 70 bytes --]


-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-08 11:15 [PATCH]: opensmtpd, opensmtpd-extras, libasr ng0
@ 2016-09-08 17:36 ` Marius Bakke
  2016-09-08 23:32   ` ng0
  2016-09-08 18:50 ` Efraim Flashner
  2016-09-09  4:21 ` Eric Bavier
  2 siblings, 1 reply; 10+ messages in thread
From: Marius Bakke @ 2016-09-08 17:36 UTC (permalink / raw)
  To: ng0, guix-devel

ng0 <ng0@n0.is> writes:

> From 30c8260a039d4c8d7cddbfd92341afa65577d680 Mon Sep 17 00:00:00 2001
> From: ng0 <ng0@we.make.ritual.n0.is>
> Date: Tue, 6 Sep 2016 17:10:18 +0000
> Subject: [PATCH 1/3] gnu: Add libasr.
>
> * gnu/packages/web.scm (libasr): New variable.

Nice!

> ---
>  gnu/packages/web.scm | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)

From reading the description below, should this not go in dns.scm?

> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 70bfd9e..59ae049 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)
> @@ -3609,3 +3610,35 @@ tools they trust (e.g. wget).")
>  rendering engine entirely written from scratch.  It is small and capable of
>  handling many of the web standards in use today.")
>      (license l:gpl2+)))
> +
> +(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
                    ^^^
                    Please capitalize.

> +asynchronous fashion.  The implementation is thread-less, fork-less, and
> +does not make use of signals or other 'tricks' that might get in the
> +developer's way.")

The second sentence may be left off, IMO.

> +    (license (list l:isc
> +                   l:bsd-2 ; last part of getrrsetbyname_async.c
> +                   l:bsd-3
> +                   (l:non-copyleft "file://COPYING") ; includes.h

This should probably be "file://LICENSE".

> +                   l:openssl))))

Why is OpenSSL listed? Grepping for 'openssl' returns no results.

The rest of this patch LGTM. I won't comment on the other two as I don't
know enough about how paths and user accounts is usually handled.

Cheers,
Marius

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-08 11:15 [PATCH]: opensmtpd, opensmtpd-extras, libasr ng0
  2016-09-08 17:36 ` Marius Bakke
@ 2016-09-08 18:50 ` Efraim Flashner
  2016-09-08 23:41   ` ng0
  2016-09-09  4:21 ` Eric Bavier
  2 siblings, 1 reply; 10+ messages in thread
From: Efraim Flashner @ 2016-09-08 18:50 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 12610 bytes --]

On Thu, Sep 08, 2016 at 11:15:37AM +0000, ng0 wrote:
> This adds opensmtpd. I'll write a service as this is obviously
> not very functional without a service on Guix.
> 
> 
> OT: So far I hope I can just change the email address I am subscribed to
> the list with back, I'm waiting for the hosting problem to be
> solved. Might even be that I stick with this one, you'll see. I hope
> this was the last change, I have not updated any copyrights and commit
> email accounts, hoping that it just continues to work.
> 

> From 30c8260a039d4c8d7cddbfd92341afa65577d680 Mon Sep 17 00:00:00 2001
> From: ng0 <ng0@we.make.ritual.n0.is>
> Date: Tue, 6 Sep 2016 17:10:18 +0000
> Subject: [PATCH 1/3] gnu: Add libasr.
> 
> * gnu/packages/web.scm (libasr): New variable.
> ---
>  gnu/packages/web.scm | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 70bfd9e..59ae049 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)
> @@ -3609,3 +3610,35 @@ tools they trust (e.g. wget).")
>  rendering engine entirely written from scratch.  It is small and capable of
>  handling many of the web standards in use today.")
>      (license l:gpl2+)))
> +
> +(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.  The implementation is thread-less, fork-less, and
> +does not make use of signals or other 'tricks' that might get in the
> +developer's way.")
> +    (license (list l:isc
> +                   l:bsd-2 ; last part of getrrsetbyname_async.c
> +                   l:bsd-3
> +                   (l:non-copyleft "file://COPYING") ; includes.h
> +                   l:openssl))))
> -- 
> 2.10.0
> 

I agree that libasr fits better in a dns file. I'll leave it up to you
if you want dns.scm, or to follow my logic that adns is for asynchronous
dns and put it there ;).

> From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001
> From: ng0 <ng0@we.make.ritual.n0.is>
> 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 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 53 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index c2fc1a9..0ea6455 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -56,6 +56,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 +81,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 +1390,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
> +     `(("libressl" ,libressl)
> +       ("zlib" ,zlib)
> +       ("libevent" ,libevent)
> +       ("libasr" ,libasr)
> +       ("bdb" ,bdb)
> +       ("linux-pam" ,linux-pam)))

This makes my need for lexographical orderliness cringe.

> +    (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/")))

can we make this a for-each loop? maybe:

                  (for-each (lambda (cmd))
                              (symlink "smtpctl" (string-append sbin cmd))
                            '("makemap" "sendmail" "send-mail" "newaliases" "mailq"))
                  #t))))))

> +               (symlink "smtpctl" (string-append sbin "makemap"))
> +               (symlink "smtpctl" (string-append sbin "sendmail"))
> +               (symlink "smtpctl" (string-append sbin "send-mail"))
> +               (symlink "smtpctl" (string-append sbin "newaliases"))
> +               (symlink "smtpctl" (string-append sbin "mailq"))))))))
> +    (synopsis "Lightweight but fully featured SMTP daemon from OpenBSD")
> +    (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 a34853ce011b4f34d7116f9efe611d3fce6187c3 Mon Sep 17 00:00:00 2001
> From: ng0 <ng0@we.make.ritual.n0.is>
> 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 | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 70 insertions(+)
> 
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index 0ea6455..5fbc55c 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -51,6 +51,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)
> @@ -59,6 +60,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)
> @@ -1440,3 +1442,71 @@ 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)
> +       ("mariadb" ,mariadb)

I would remove postgresql and mariadb in an attempt to keep the closure
size smaller.

> +       ("sqlite" ,sqlite)
> +       ("linux-pam" ,linux-pam)))
> +    (native-inputs
> +     `(("bison" ,bison)
> +       ("pkg-config" ,pkg-config)
> +       ("groff" ,groff)
> +       ("automake" ,automake)
> +       ("autoconf" ,autoconf)))
> +    (arguments
> +     `(#: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))

what a list! Care to elaborate?

> +    (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


-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-08 17:36 ` Marius Bakke
@ 2016-09-08 23:32   ` ng0
  0 siblings, 0 replies; 10+ messages in thread
From: ng0 @ 2016-09-08 23:32 UTC (permalink / raw)
  To: Marius Bakke, guix-devel

Marius Bakke <mbakke@fastmail.com> writes:

> ng0 <ng0@n0.is> writes:
>
>> From 30c8260a039d4c8d7cddbfd92341afa65577d680 Mon Sep 17 00:00:00 2001
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> Date: Tue, 6 Sep 2016 17:10:18 +0000
>> Subject: [PATCH 1/3] gnu: Add libasr.
>>
>> * gnu/packages/web.scm (libasr): New variable.
>
> Nice!
>
>> ---
>>  gnu/packages/web.scm | 33 +++++++++++++++++++++++++++++++++
>>  1 file changed, 33 insertions(+)
>
> From reading the description below, should this not go in dns.scm?

That's what I thought too, and I agree.

>> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
>> index 70bfd9e..59ae049 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)
>> @@ -3609,3 +3610,35 @@ tools they trust (e.g. wget).")
>>  rendering engine entirely written from scratch.  It is small and capable of
>>  handling many of the web standards in use today.")
>>      (license l:gpl2+)))
>> +
>> +(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
>                     ^^^
>                     Please capitalize.
>
>> +asynchronous fashion.  The implementation is thread-less, fork-less, and
>> +does not make use of signals or other 'tricks' that might get in the
>> +developer's way.")
>
> The second sentence may be left off, IMO.

I agree.

>> +    (license (list l:isc
>> +                   l:bsd-2 ; last part of getrrsetbyname_async.c
>> +                   l:bsd-3
>> +                   (l:non-copyleft "file://COPYING") ; includes.h
>
> This should probably be "file://LICENSE".
>
>> +                   l:openssl))))
>
> Why is OpenSSL listed? Grepping for 'openssl' returns no results.

I'm not exactly sure, their COPYING listed 2 licenses I could not figure
out, one of them was openssl I think. If you think there's no openssl
license, I'll remove it.

> The rest of this patch LGTM. I won't comment on the other two as I don't
> know enough about how paths and user accounts is usually handled.
>
> Cheers,
> Marius
>

Thanks for reviewing.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-08 18:50 ` Efraim Flashner
@ 2016-09-08 23:41   ` ng0
  0 siblings, 0 replies; 10+ messages in thread
From: ng0 @ 2016-09-08 23:41 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Hi,

thanks for reviewing. I'll apply and send changed later.
Efraim Flashner <efraim@flashner.co.il> writes:

> [ Unknown signature status ]
> On Thu, Sep 08, 2016 at 11:15:37AM +0000, ng0 wrote:
>> This adds opensmtpd. I'll write a service as this is obviously
>> not very functional without a service on Guix.
>> 
>> 
>> OT: So far I hope I can just change the email address I am subscribed to
>> the list with back, I'm waiting for the hosting problem to be
>> solved. Might even be that I stick with this one, you'll see. I hope
>> this was the last change, I have not updated any copyrights and commit
>> email accounts, hoping that it just continues to work.
>> 
>
>> From 30c8260a039d4c8d7cddbfd92341afa65577d680 Mon Sep 17 00:00:00 2001
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> Date: Tue, 6 Sep 2016 17:10:18 +0000
>> Subject: [PATCH 1/3] gnu: Add libasr.
>> 
>> * gnu/packages/web.scm (libasr): New variable.
>> ---
>>  gnu/packages/web.scm | 33 +++++++++++++++++++++++++++++++++
>>  1 file changed, 33 insertions(+)
>> 
>> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
>> index 70bfd9e..59ae049 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)
>> @@ -3609,3 +3610,35 @@ tools they trust (e.g. wget).")
>>  rendering engine entirely written from scratch.  It is small and capable of
>>  handling many of the web standards in use today.")
>>      (license l:gpl2+)))
>> +
>> +(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.  The implementation is thread-less, fork-less, and
>> +does not make use of signals or other 'tricks' that might get in the
>> +developer's way.")
>> +    (license (list l:isc
>> +                   l:bsd-2 ; last part of getrrsetbyname_async.c
>> +                   l:bsd-3
>> +                   (l:non-copyleft "file://COPYING") ; includes.h
>> +                   l:openssl))))
>> -- 
>> 2.10.0
>> 
>
> I agree that libasr fits better in a dns file. I'll leave it up to you
> if you want dns.scm, or to follow my logic that adns is for asynchronous
> dns and put it there ;).
>
>> From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> 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 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++-
>>  1 file changed, 53 insertions(+), 1 deletion(-)
>> 
>> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
>> index c2fc1a9..0ea6455 100644
>> --- a/gnu/packages/mail.scm
>> +++ b/gnu/packages/mail.scm
>> @@ -56,6 +56,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 +81,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 +1390,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
>> +     `(("libressl" ,libressl)
>> +       ("zlib" ,zlib)
>> +       ("libevent" ,libevent)
>> +       ("libasr" ,libasr)
>> +       ("bdb" ,bdb)
>> +       ("linux-pam" ,linux-pam)))
>
> This makes my need for lexographical orderliness cringe.

I agree to change this only because I need to apply changes to the
package anyway. Just sorting from A-Z is nothing I see as an
improvement.

>> +    (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/")))
>
> can we make this a for-each loop? maybe:
>
>                   (for-each (lambda (cmd))
>                               (symlink "smtpctl" (string-append sbin cmd))
>                             '("makemap" "sendmail" "send-mail" "newaliases" "mailq"))
>                   #t))))))

I haven't written for-each before, I'll change it to one. Thanks.

>> +               (symlink "smtpctl" (string-append sbin "makemap"))
>> +               (symlink "smtpctl" (string-append sbin "sendmail"))
>> +               (symlink "smtpctl" (string-append sbin "send-mail"))
>> +               (symlink "smtpctl" (string-append sbin "newaliases"))
>> +               (symlink "smtpctl" (string-append sbin "mailq"))))))))
>> +    (synopsis "Lightweight but fully featured SMTP daemon from OpenBSD")
>> +    (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 a34853ce011b4f34d7116f9efe611d3fce6187c3 Mon Sep 17 00:00:00 2001
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> 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 | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 70 insertions(+)
>> 
>> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
>> index 0ea6455..5fbc55c 100644
>> --- a/gnu/packages/mail.scm
>> +++ b/gnu/packages/mail.scm
>> @@ -51,6 +51,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)
>> @@ -59,6 +60,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)
>> @@ -1440,3 +1442,71 @@ 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)
>> +       ("mariadb" ,mariadb)
>
> I would remove postgresql and mariadb in an attempt to keep the closure
> size smaller.

Why? It should provide all the extra features. Do you want me to move
them to different outputs if possible? I see no reason to leave
postgresql and mariadb out just to make the the graph smaller.

>> +       ("sqlite" ,sqlite)
>> +       ("linux-pam" ,linux-pam)))
>> +    (native-inputs
>> +     `(("bison" ,bison)
>> +       ("pkg-config" ,pkg-config)
>> +       ("groff" ,groff)
>> +       ("automake" ,automake)
>> +       ("autoconf" ,autoconf)))
>> +    (arguments
>> +     `(#: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))
>
> what a list! Care to elaborate?

Can you be more precise, what do you think needs comments in the code?
There is a chance that because I use 5.7.1 and not one of the YMD
versions that there are 2-3 settings which are not yet available or have
been changed otherwise. In general, this is how you configure this software.

It would be good for opensmtpd if someone later could prevent the
copying of files to /etc when /etc is set as confdir or what it
was. Just using what dovecot packaged used was not enough.

>> +    (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
>
>
> -- 
> Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted

-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-08 11:15 [PATCH]: opensmtpd, opensmtpd-extras, libasr ng0
  2016-09-08 17:36 ` Marius Bakke
  2016-09-08 18:50 ` Efraim Flashner
@ 2016-09-09  4:21 ` Eric Bavier
  2016-09-09 21:43   ` ng0
  2 siblings, 1 reply; 10+ messages in thread
From: Eric Bavier @ 2016-09-09  4:21 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

On Thu, 08 Sep 2016 11:15:37 +0000
ng0 <ng0@n0.is> wrote:

> From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001
> From: ng0 <ng0@we.make.ritual.n0.is>
> 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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-09  4:21 ` Eric Bavier
@ 2016-09-09 21:43   ` ng0
  2016-09-19 19:07     ` ng0
  2016-09-20 21:48     ` Leo Famulari
  0 siblings, 2 replies; 10+ messages in thread
From: ng0 @ 2016-09-09 21:43 UTC (permalink / raw)
  To: Eric Bavier; +Cc: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 1084 bytes --]


Hi,

Eric Bavier <ericbavier@openmailbox.org> writes:

> On Thu, 08 Sep 2016 11:15:37 +0000
> ng0 <ng0@n0.is> wrote:
>
>> From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001
>> From: ng0 <ng0@we.make.ritual.n0.is>
>> 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?


[-- Attachment #1.2: 0001-gnu-Add-libasr.patch --]
[-- Type: text/x-patch, Size: 3132 bytes --]

From 9f6f6761751ca5d057b91167b302767aba4638be Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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 <mhw@netris.org>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,12 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-gnu-Add-opensmtpd.patch --]
[-- Type: text/x-patch, Size: 4060 bytes --]

From 7f5e30bc0f0ae1689db1876edac6bbffe39a2e88 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-gnu-Add-opensmtpd-extras.patch --]
[-- Type: text/x-patch, Size: 4673 bytes --]

From 87cf35ef0e5e78e9cdf05ab025d7151dd92e1902 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@we.make.ritual.n0.is>
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


[-- Attachment #1.5: Type: text/plain, Size: 74 bytes --]


-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 800 bytes --]

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-09 21:43   ` ng0
@ 2016-09-19 19:07     ` ng0
  2016-09-20 21:48     ` Leo Famulari
  1 sibling, 0 replies; 10+ messages in thread
From: ng0 @ 2016-09-19 19:07 UTC (permalink / raw)
  To: guix-devel

Hi,

can I get some feedback on my questions about the databases?

Thanks.
ng0 <ng0@we.make.ritual.n0.is> writes:

> [ Unknown signature status ]
>
> Hi,
>
> Eric Bavier <ericbavier@openmailbox.org> writes:
>
>> On Thu, 08 Sep 2016 11:15:37 +0000
>> ng0 <ng0@n0.is> wrote:
>>
>>> From 43b89c0b548e1bca2ff59271ac15b1fbe6e7ca6e Mon Sep 17 00:00:00 2001
>>> From: ng0 <ng0@we.make.ritual.n0.is>
>>> 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 <ng0@we.make.ritual.n0.is>
> 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 <mhw@netris.org>
>  ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
>  ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
> +;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -20,9 +21,12 @@
>  ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>  
>  (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 <ng0@we.make.ritual.n0.is>
> 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 <ng0@we.make.ritual.n0.is>
> 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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-09 21:43   ` ng0
  2016-09-19 19:07     ` ng0
@ 2016-09-20 21:48     ` Leo Famulari
  2016-09-21  8:35       ` ng0
  1 sibling, 1 reply; 10+ messages in thread
From: Leo Famulari @ 2016-09-20 21:48 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 656 bytes --]

On Fri, Sep 09, 2016 at 09:43:29PM +0000, ng0 wrote:
> 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.

Is it even possible to split the package up like that? I don't think
it's necessary anyways. I think we should pick a database (I'd choose
postgresql) and add the package. If somebody wants to use mariadb, we
can add it when they request it.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]: opensmtpd, opensmtpd-extras, libasr.
  2016-09-20 21:48     ` Leo Famulari
@ 2016-09-21  8:35       ` ng0
  0 siblings, 0 replies; 10+ messages in thread
From: ng0 @ 2016-09-21  8:35 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel

Leo Famulari <leo@famulari.name> writes:

> [ Unknown signature status ]
> On Fri, Sep 09, 2016 at 09:43:29PM +0000, ng0 wrote:
>> 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.
>
> Is it even possible to split the package up like that? I don't think
> it's necessary anyways. I think we should pick a database (I'd choose
> postgresql) and add the package. If somebody wants to use mariadb, we
> can add it when they request it.

Okay, I agree. Can the committer makes the change locally, or should I
send in new versions?
-- 
              ng0

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-09-21  8:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-08 11:15 [PATCH]: opensmtpd, opensmtpd-extras, libasr ng0
2016-09-08 17:36 ` Marius Bakke
2016-09-08 23:32   ` ng0
2016-09-08 18:50 ` Efraim Flashner
2016-09-08 23:41   ` ng0
2016-09-09  4:21 ` Eric Bavier
2016-09-09 21:43   ` ng0
2016-09-19 19:07     ` ng0
2016-09-20 21:48     ` Leo Famulari
2016-09-21  8:35       ` ng0

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).