From: Patrice Clement <monsieurp@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] New package neomutt
Date: Mon, 31 Jul 2017 10:34:53 +0200 [thread overview]
Message-ID: <20170731083453.GI8732@patriceclement.me> (raw)
In-Reply-To: <20170731072351.xy6r4slccrpni67d@rubberducky.suse.de>
[-- Attachment #1: Type: text/plain, Size: 8128 bytes --]
Hi Nicolas
See my comments inline.
Monday 31 Jul 2017 09:23:51, Nicolas Bock wrote :
> On Mon, Jul 31, 2017 at 09:11:19AM +0200, Nicolas Bock wrote:
> >Hi,
> >
> >I would like to add neomutt to the tree. This new package is meant as
> >an alternative and not a replacement of the existing mutt package.
>
> I should have inlined the patch. Sorry.
>
>
>
> From 63f5d569aec514d67645b1c2e891e51810bb7ab5 Mon Sep 17 00:00:00 2001
> From: Nicolas Bock <nicolasbock@gentoo.org>
> Date: Mon, 31 Jul 2017 09:06:07 +0200
> Subject: [PATCH] mail-client/neomutt: New package mail-client/neomutt-20170714
>
> Package-Manager: Portage-2.3.6, Repoman-2.3.1
> ---
> mail-client/neomutt/Manifest | 1 +
> mail-client/neomutt/metadata.xml | 24 +++++
> mail-client/neomutt/neomutt-20170714.ebuild | 161 ++++++++++++++++++++++++++++
> 3 files changed, 186 insertions(+)
> create mode 100644 mail-client/neomutt/Manifest
> create mode 100644 mail-client/neomutt/metadata.xml
> create mode 100644 mail-client/neomutt/neomutt-20170714.ebuild
>
> diff --git a/mail-client/neomutt/Manifest b/mail-client/neomutt/Manifest
> new file mode 100644
> index 00000000000..2b38484e24d
> --- /dev/null
> +++ b/mail-client/neomutt/Manifest
> @@ -0,0 +1 @@
> +DIST neomutt-20170714.tar.gz 2509160 SHA256 40d48920f95ca49ab96eb109b658f5cf6e1c222320c58bdd03769c1355d7a383 SHA512 eb31d2f23b7211904cd66ba293c008f953778b37f13fd09d4db571d013f1c8e6449fccd827872f3ad0a2c8e62555f92b3f9591a1f0f4ac37ab362a4681abaaa0 WHIRLPOOL 455495501a2ab1989d5f3bfa75aa2370896956cdfd7d2e852e225c96aa23a1abdaf2dbb9d886d1d96486d19b2b38c225e8263f268ebafcef8cbd0024885189f3
> diff --git a/mail-client/neomutt/metadata.xml b/mail-client/neomutt/metadata.xml
> new file mode 100644
> index 00000000000..081f253b3a1
> --- /dev/null
> +++ b/mail-client/neomutt/metadata.xml
> @@ -0,0 +1,24 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
> +<pkgmetadata>
> + <maintainer type="person">
> + <email>nicolasbock@gentoo.org</email>
> + <name>Nicolas Bock</name>
> + </maintainer>
> + <maintainer type="project">
> + <email>net-mail@gentoo.org</email>
> + <name>Net-Mail</name>
> + </maintainer>
> + <use>
> + <flag name="gpg">Enable support for <pkg>app-crypt/gpgme</pkg></flag>
> + <flag name="notmuch">Enable support for <pkg>net-mail/notmuch</pkg></flag>
> + <flag name="smime">Enable support for S/MIME</flag>
> + <flag name="tokyocabinet">Enable <pkg>dev-db/tokyocabinet</pkg>
> + database backend for header caching</flag>
> + </use>
> + <longdescription lang="en">
> + </longdescription>
> + <upstream>
> + <remote-id type="github">neomutt/neomutt</remote-id>
> + </upstream>
> +</pkgmetadata>
> diff --git a/mail-client/neomutt/neomutt-20170714.ebuild b/mail-client/neomutt/neomutt-20170714.ebuild
> new file mode 100644
> index 00000000000..9bcf72e7479
> --- /dev/null
> +++ b/mail-client/neomutt/neomutt-20170714.ebuild
> @@ -0,0 +1,161 @@
> +# Copyright 1999-2017 Gentoo Foundation
> +# Distributed under the terms of the GNU General Public License v2
> +# $Id$
> +
> +EAPI=6
> +
> +inherit autotools eutils flag-o-matic
> +
> +DESCRIPTION="A small but very powerful text-based mail client"
> +HOMEPAGE="https://www.neomutt.org/"
> +SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz"
> +
> +LICENSE="GPL-2"
> +SLOT="0"
> +KEYWORDS="~amd64 ~x86"
> +IUSE="berkdb crypt debug doc gdbm gnutls gpg idn kerberos libressl mbox nls
> + notmuch qdbm sasl selinux slang smime ssl tokyocabinet vanilla"
> +
> +CDEPEND="
> + !mail-client/mutt
> + app-misc/mime-types
> + nls? ( virtual/libintl )
> + tokyocabinet? ( dev-db/tokyocabinet )
> + !tokyocabinet? (
> + qdbm? ( dev-db/qdbm )
> + !qdbm? (
> + gdbm? ( sys-libs/gdbm )
> + !gdbm? ( berkdb? ( >=sys-libs/db-4:= ) )
> + )
> + )
> + gnutls? ( >=net-libs/gnutls-1.0.17 )
> + !gnutls? (
> + ssl? (
> + !libressl? ( >=dev-libs/openssl-0.9.6:0 )
> + libressl? ( dev-libs/libressl )
> + )
> + )
> + sasl? ( >=dev-libs/cyrus-sasl-2 )
> + kerberos? ( virtual/krb5 )
> + idn? ( net-dns/libidn )
> + gpg? ( >=app-crypt/gpgme-0.9.0 )
> + smime? (
> + !libressl? ( >=dev-libs/openssl-0.9.6:0 )
> + libressl? ( dev-libs/libressl )
> + )
> + notmuch? ( net-mail/notmuch )
> + slang? ( sys-libs/slang )
> + !slang? ( >=sys-libs/ncurses-5.2:0 )
> +"
> +DEPEND="${CDEPEND}
> + net-mail/mailbase
> + doc? (
> + dev-libs/libxml2
> + dev-libs/libxslt
> + app-text/docbook-xsl-stylesheets
> + || ( www-client/lynx www-client/w3m www-client/elinks )
> + )"
> +RDEPEND="${CDEPEND}
> + selinux? ( sec-policy/selinux-mutt )
> +"
> +
> +S="${WORKDIR}/${PN}-${P}"
> +
> +src_prepare() {
> + eapply_user
> + eautoreconf
> +}
> +
> +src_configure() {
> + local myconf=(
> + "$(use_enable crypt pgp)"
> + "$(use_enable debug)"
> + "$(use_enable doc)"
> + "$(use_enable gpg gpgme)"
> + "$(use_enable nls)"
> + "$(use_enable smime)"
> + "$(use_enable notmuch)"
> + "$(use_with idn)"
> + "$(use_with kerberos gss)"
> + "--with-$(use slang && echo slang || echo curses)=${EPREFIX}/usr"
> + "--sysconfdir=${EPREFIX}/etc/${PN}"
> + "--with-docdir=${EPREFIX}/usr/share/doc/${PN}-${PVR}"
> + )
> +
> + if [[ ${CHOST} == *-solaris* ]] ; then
> + # arrows in index view do not show when using wchar_t
> + myconf+=( "--without-wc-funcs" )
> + fi
> +
> + # mutt prioritizes gdbm over bdb, so we will too.
> + # hcache feature requires at least one database is in USE.
> + local hcaches=(
> + "tokyocabinet"
> + "qdbm"
> + "gdbm"
> + "berkdb:bdb"
> + )
> + local ucache hcache lcache
> + for hcache in "${hcaches[@]}" ; do
> + if use ${hcache%%:*} ; then
> + ucache=${hcache}
> + break
> + fi
> + done
> + for hcache in "${hcaches[@]}" ; do
> + [[ ${hcache} == ${ucache} ]] \
> + && myconf+=( "--with-${hcache#*:}" ) \
> + || myconf+=( "--without-${hcache#*:}" )
> + done
Can you simplify this code a little?
> +
> + # there's no need for gnutls, ssl or sasl without socket support
> + if use gnutls; then
> + myconf+=( "--with-gnutls" )
> + elif use ssl; then
> + myconf+=( "--with-ssl" )
> + fi
> + # not sure if this should be mutually exclusive with the other two
> + myconf+=( "$(use_with sasl)" )
> +
> + if use mbox; then
> + myconf+=( "--with-mailpath=${EPREFIX}/var/spool/mail" )
> + else
> + myconf+=( "--with-homespool=Maildir" )
> + fi
> +
> + econf "${myconf[@]}" || die "configure failed"
econf dies on its own, please nix || die.
> +}
> +
> +src_install() {
> + emake DESTDIR="${D}" install || die "install failed"
> + if use mbox; then
> + insinto /etc/neomutt
> + newins "${FILESDIR}"/Muttrc.mbox Muttrc
> + else
> + insinto /etc/neomutt
> + doins "${FILESDIR}"/Muttrc
> + fi
> +
> + # A newer file is provided by app-misc/mime-types. So we link it.
> + rm "${ED}"/etc/${PN}/mime.types
Please append || die here.
> + dosym /etc/mime.types /etc/${PN}/mime.types
> +
> + # A man-page is always handy, so fake one
> + if use !doc; then
> + emake -C doc DESTDIR="${D}" muttrc.man || die
emake dies on its own.
> + # make the fake slightly better, bug #413405
> + sed -e 's#@docdir@/manual.txt#http://www.mutt.org/doc/devel/manual.html#' \
> + -e 's#in @docdir@,#at http://www.mutt.org/,#' \
> + -e "s#@sysconfdir@#${EPREFIX}/etc/${PN}#" \
> + -e "s#@bindir@#${EPREFIX}/usr/bin#" \
> + doc/mutt.man > mutt.1
Ditto, append || die here as well.
> + cp doc/muttrc.man muttrc.5
Ditto.
> + doman mutt.1 muttrc.5
> + else
> + # nuke manpages that should be provided by an MTA, bug #177605
> + rm "${ED}"/usr/share/man/man5/{mbox,mmdf}.5 \
> + || ewarn "failed to remove files, please file a bug"
> + fi
> +
> + dodoc COPYRIGHT ChangeLog.md OPS* README*
> +}
> --
> 2.13.0
>
>
> --
> Nicolas Bock <nicolasbock@gentoo.org>
--
Patrice Clement
Gentoo Linux developer
http://www.gentoo.org
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2017-07-31 8:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-31 7:11 [gentoo-dev] New package neomutt Nicolas Bock
2017-07-31 7:23 ` Nicolas Bock
2017-07-31 8:34 ` Patrice Clement [this message]
2017-08-10 4:37 ` Nicolas Bock
2017-07-31 12:15 ` Floyd Anderson
2017-08-10 4:34 ` Nicolas Bock
2017-07-31 7:44 ` Michał Górny
2017-07-31 7:59 ` Nicolas Bock
2017-07-31 9:55 ` Matthew Thode
2017-07-31 10:52 ` Fabian Groffen
2017-08-05 20:13 ` Matthew Marchese
2017-08-10 4:58 ` Nicolas Bock
2017-08-10 7:40 ` Michał Górny
2017-08-10 7:54 ` Fabian Groffen
2017-08-10 8:10 ` Michał Górny
2017-08-10 9:35 ` Nicolas Bock
2017-08-10 12:13 ` Marc Schiffbauer
2017-08-10 12:16 ` Fabian Groffen
2017-08-10 14:09 ` Michał Górny
2017-08-10 14:32 ` Fabian Groffen
2017-08-10 13:59 ` Michał Górny
2017-08-17 5:07 ` Daniel Campbell
2017-08-17 7:48 ` Michał Górny
2017-08-18 1:01 ` Daniel Campbell
2017-09-18 12:02 ` Nicolas Bock
2017-08-10 18:25 ` William Hubbs
2017-09-18 12:08 ` Nicolas Bock
2017-10-03 12:36 ` Nicolas Bock
2017-10-03 20:09 ` Marty E. Plummer
2017-10-03 20:33 ` Nicolas Bock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170731083453.GI8732@patriceclement.me \
--to=monsieurp@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox