On Thu, Aug 10, 2017 at 09:40:30AM +0200, Michał Górny wrote:
On czw, 2017-08-10 at 06:58 +0200, 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.Thanks for all of the great suggestions and feedback! This is round two. I have update the ebuild with all your suggestions. I have also added support for eselecting between mutt and neomutt. Before the eselect ebuild can land though, we need to rename the mutt binary so that the managed link can be called mutt.What for? How many people are exactly in the dire need of having both installed simultaneously and switching between them? If you really can't learn to type the new command, add IUSE=symlink blocking original mutt and be done with it. Don't add more unowned files to /usr by another poorly written eselect module.
I changed the ebuild such that it can be installed together with mutt without having to use symlinks or eselet.
# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 inherit autotools eutils flag-o-matic if [[ ${PV} == 99999999 ]] ; then # live ebuild inherit git-r3 EGIT_REPO_URI="https://github.com/neomutt/neomutt.git" EGIT_CHECKOUT_DIR="${WORKDIR}/neomutt-${P}" KEYWORDS=""This is going to confuse the hell out of ekeyword.
I split the ebuild into two so that this conditional is unnecessary.
else SRC_URI="https://github.com/${PN}/${PN}/archive/${P}.tar.gz" KEYWORDS="~amd64 ~x86" fi DESCRIPTION="Teaching an Old Dog New Tricks"This doesn't tell anybody who doesn't know mutt what this is.
Fixed, I reverted that change.
HOMEPAGE="https://www.neomutt.org/" LICENSE="GPL-2" SLOT="0" IUSE="berkdb crypt debug doc gdbm gnutls gpg idn kerberos libressl mbox nls notmuch qdbm sasl selinux slang smime ssl tokyocabinet kyotocabinet lmdb"Sort lexically.
Fixed.
CDEPEND=" app-eselect/eselect-mutt app-misc/mime-types nls? ( virtual/libintl ) tokyocabinet? ( dev-db/tokyocabinet ) qdbm? ( dev-db/qdbm ) gdbm? ( sys-libs/gdbm ) berkdb? ( >=sys-libs/db-4:= ) kyotocabinet? ( dev-db/kyotocabinet ) lmdb? ( dev-db/lmdb ) gnutls? ( >=net-libs/gnutls-1.0.17 ) !gnutls? ( ssl? ( !libressl? ( >=dev-libs/openssl-0.9.6:0 ) libressl? ( dev-libs/libressl ) ) )This is not a correct use of 'ssl' flag: global:ssl: Add support for Secure Socket Layer connections It's supposed to go top-level, above any implementation flags.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 )What is the point of preferring gnutls when USE=smime pulls openssl anyway?) notmuch? ( net-mail/notmuch ) slang? ( sys-libs/slang ) !slang? ( >=sys-libs/ncurses-5.2:0 )Why not = slotop? ncurses definitely changed ABI in the past. It's something you are supposed to use when needed, not when repoman complains about it and you didn't accidentally workaround the check.
The current version of ncurses works, so I removed the version on it. I also sorted the dependencies.
Sorting this would also help reviews." 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 "${FILESDIR}/0001-Rename-mutt-to-neomutt.patch" eapply_user AT_M4DIR="m4" 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)" "$(use_with sasl)" "$(use_with tokyocabinet)" "$(use_with kyotocabinet)" "$(use_with qdbm)" "$(use_with gdbm)" "$(use_with berkdb bdb)" "$(use_with lmdb)" "--with-$(use slang && echo slang || echo curses)=${EPREFIX}/usr"usex
Fixed
"--sysconfdir=${EPREFIX}/etc/${PN}"I'd really prefer if you didn't abuse PN to construct paths, and make me wonder if upstream really wants 'neomutt' or 'mutt' here.
Up until now upstream was using `mutt` but there is work in progress to rename it to `neomutt`. I think that there is a legitimate use case for installing `mutt` and `neomutt` at the same time.
"--with-docdir=${EPREFIX}/usr/share/doc/${PN}-${PVR}"PF?
Fixed.
) if [[ ${CHOST} == *-solaris* ]] ; then # arrows in index view do not show when using wchar_t myconf+=( "--without-wc-funcs" ) fiAre you sure that this still applies?
No, and as I don't have access to such a machine I can't test it.
# there's no need for gnutls, ssl or sasl without socket supportWhat is this comment supposed to mean? Looks like copy-paste without even reading it.
This was a copy-and-paste leftover. I have removed it. I don't know what it's supposed to mean either.
if use gnutls; then myconf+=( "--with-gnutls" ) elif use ssl; then myconf+=( "--with-ssl" ) fi if use mbox; then myconf+=( "--with-mailpath=${EPREFIX}/var/spool/mail" ) else myconf+=( "--with-homespool=Maildir" ) fiWould configuring both paths do any harm? Maybe it'd make easier for user to switch without having to rebuild it.
Good point. I have removed the conditional. I also removed the default configuration files.
econf "${myconf[@]}" } src_install() { emake DESTDIR="${D}" install if use mbox; then insinto /etc/${PN}You can move the insinto above the 'if'.
I have removed this part.
newins "${FILESDIR}"/Muttrc.mbox Muttrc else insinto /etc/${PN} doins "${FILESDIR}"/Muttrc fi # A newer file is provided by app-misc/mime-types. So we link it. rm "${ED}"/etc/${PN}/mime.types || die dosym /etc/mime.types /etc/${PN}/mime.typesDon't use absolute symlinks.
Fixed.
# A man-page is always handy, so fake one if use !doc; then emake -C doc DESTDIR="${D}" muttrc.manIs DESTDIR really necessary here?
No, fixed.
# make the fake slightly better, bug #413405 sed -e 's#@docdir@/manual.txt#http://www.mutt.org/doc/manual/#' \ -e 's#in @docdir@,#at http://www.mutt.org/,#' \You sure you want to link to the original mutt.org?
True, I changed the link to point to neomutt.
-e "s#@sysconfdir@#${EPREFIX}/etc/${PN}#" \ -e "s#@bindir@#${EPREFIX}/usr/bin#" \ doc/mutt.man > neomutt.1 || die cp doc/muttrc.man neomuttrc.5 || die doman neomutt.1 neomuttrc.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"die.
Fixed.
fi dodoc COPYRIGHT ChangeLog* OPS* README* }
-- Nicolas Bock <[email protected]>
signature.asc
Description: PGP signature
