Age | Commit message (Collapse) | Author |
|
This function allows more usable color pairs, because it passes the
pair parameter separately. The COLOR_PAIR() macro only returns 8-bits
for a pair, limiting the total pairs used to 256 despite many systems
having much larger COLOR_PAIRS values.
In order to do this, separate out the pair and attrs values, instead
of combining attr + COLOR_PAIR(pair) into a single value and storing
that inside Mutt. For the older calls, bkgdset() and attrset(), we
call COLOR_PAIR() at the last minute.
Add COLOR_ATTR to header cache sum calculation, since it is used in
the HEADER now.
|
|
The keymap_alldefs.h file was previously generated and scanned inside
po/Makefile.in.in as an additional POTFILES files build dependency and
step.
The file can't be scanned by just adding it to po/POTFILES.in because
it's a generated file that will be in the build directory. The next
commit will instead add the OPS* files directly to POTFILES.in to be
scanned.
For this commit, remove the generation of keymap_alldefs.h.
Remove the redundant ALL_LINGUAS setting from configure.ac. Reformat
the LINGUAS file to be on one line, as the documentation shows. I
think it was okay before, but just to be safe.
Fix L10N scanning by adding '--add-comments=L10N' to XGETTEXT_OPTIONS
in po/Makevars.
Set MSGID_BUGS_ADDRESS to silence a warning.
Add gettext.h to the Makefile.am EXTRA_DIST list.
Remove -Iintl flags from all Makefile.am files, since the intl
directory is no longer bundled in Mutt.
|
|
gettext < 0.21 because autopoint complains that gettext is too old.
Using this line with a version smaller than 0.21 makes autopoint itself
fail, thus does not solve the problem.
|
|
|
|
Run 'gettextize -f --no-changelog' to update to 0.21.
This removes the entire intl directory, and relies on an external
libintl only.
$(INTLLIBS) should now be referred to as $(LIBINTL), so change all
references.
Unfortunately, some of the gettext m4 files were modified and "mutt
customized" in the past. I'm trying to keep them in a pristine state
after this upgrade. glibc21.m4, lcmessage.m4, codeset.m4 have also
been removed.
Manually call AM_ICONV in configure.ac. This was previously called
in the modified "MUTT_AM_GNU_GETTEXT" but the result $am_cv_func_iconv
is tested just below.
locale.h is a standard library defined by C99. The gpgme and pgp code
wrapped those includes in HAVE_LOCALE_H checks, but that check was
performed inside of gettext.m4. Remove the check inside those
files (locale.h is already included unconditionally elsewhere in
Mutt).
Copy the sample gettext.h file and include that instead, as suggested
by the gettext documentation.
unistd.h is also a standard posix header, so remove HAVE_UNISTD_H
checks inside mutt too.
Create po/LINGUAS file listing available languages.
Create po/Makevars from the template and customize for Mutt.
Set PO_DEPENDS_ON_POT to no to prevent po file rebuilds. According to
the gettext manual, with this set, "PO files can be accidentally
updated even if a POT file is not updated" when using git.
|
|
Its presence is also dictated by the C99 specification.
|
|
There was a period of time where C99 was standardized but some systems
still didn't include a correctly working version of those two
functions. But I think we are long past that point now.
Remove the checks and replacement code.
|
|
rkta on irc reported a build failure because the gss headers were not
present. Add explicit checks for the required headers. Also add a
check for gss_init_sec_context() when using the output of krb-config
to configure flags.
Abort configure if the library/header checks don't pass. It would
previously continue on, setting USE_GSS and need_gss, which would just
result in a build error.
|
|
The autoconf macro is obsolete in 2.70. Also, we now assume at least
C99 so there is no point in checking for ANSI C89 header files.
Fix up code to assume STDC_HEADERS is always true, removing the
reference to it at the same time.
|
|
|
|
|
|
Automatically scan in the order: kyotocabinet, tokyocabinet, lmdb,
qdbm, gdbm, bdb.
Turn all the backend options into '--with' options and add a dir
parameter. Specifying a single --with option declares the desired
backend, turning off scanning. Specifying --without skips scanning
for a backend.
Update the INSTALL file to make that clear. This actually wasn't even
clear to me until I studied it now, and for years I've been using an
obfuscated combination of --without and --with to specify the backend,
when I just needed to use --with.
|
|
In $db_requested=auto mode, the variables may be unset.
|
|
Remove the long list of directory and library names to scan, and just
look for -ldb and db.h. Use $with_bdb to search an alternative
directory, just as the other header cache library searches do.
If someone screams, we can enhance a *little* bit, but I think this is
sufficient, and more important, maintainable.
|
|
|
|
Update BDB versions up to 6.2.
The scheme used here is, as Oswald nicely puts it, "totally insane",
and seems to come straight from the initial header cache commit in
c11667eaa3.
For a stable release, I'm just going to add a few more Jenga pieces to
the top.
However, going forward this is unmaintainable. Oswald reports using a
simple check for "db.h" and "-ldb" for about two decades with no
issues. I will make that change in master later this week.
|
|
We added the test, but did not check to ensure it was found. Thanks
to Oswald Buddenhagen for pointing out the missing check. He
suggested the AC_PROG_CC might be redundant, but the info page seems
to indicate AC_PROG_CC_C99 checks the properties of an already located
compiler, so I'm leaving AC_PROG_CC in.
Also, remove the $U check just below. Commit 64b1460a removed the
call to AM_C_PROTOTYPES, but forgot to remove the $U check too.
|
|
I didn't realize the function was added so recently: sqlite
3.20.0 (2017-08-01).
Thanks to isdtor for pointing out the problem.
|
|
The current code provides a workaround for the absence of RAND_status in
OpenSSL versions before 0.9.5. The comments in the code indicate these
versions have to be supported, but as these versions are now more than
20 years old, this no longer applies. Removing this support simplifies the
code and on the small chance that anyone is still using such old versions,
breaking their build will actually be doing them a favor given the known
issues with these OpenSSL versions.
|
|
Use Digest::MD5 to remove build-time dependency on mutt_md5, for
cross-compilation support.
|
|
Rework mutt_zstrm_read():
- Pass along the error if conn_read() returns < 0.
- Separate out conn_eof and stream_eof flags so they can be dealt
with differently.
- Don't use Z_FINISH on conn_eof, because the passed in buf might
not be big enough to hold the decompressed output. Instead continue
looping until either Z_STREAM_END or Z_BUF_ERROR.
- Remove recursive calls to retry, instead goto 'retry' target.
- Remove op statements in malloc/free.
- Bail on other rcs. Mutt doesn't check errno on a read error, so
lump all other error codes into a -1 return value. Use default so
we handle other weird stuff such as Z_NEED_DICT or Z_STREAM_ERROR
too.
Convert $imap_deflate to boolean, default unset.
Configure.ac fixes:
- Fix indentation
- Remove unneeded AM_CONDITIONAL.
- Don't restore LDFLAGS and CPPFLAGS. Save and restore LIBS instead.
imap_conn_find() fixes:
- Don't queue CAPABILITY command. (This mistake has been in there
since UTF-8 and QRESYNC were added.).
- Check imap_exec() returns 0 before wrapping. Even with FAIL_OK set,
the imap_exec() can still return -1 on some errors.
|
|
- added mutt_zstrm which allows wrapping an existing connection with
deflate/inflate (zlib compression)
- call mutt_zstrm_wrap_conn when setting up an IMAP connection if the
server supports COMPRESSION=DEFLATE and imap_deflate evaluates to yes
- add config quad-option imap_deflate enable/disable use of
(de)compression for IMAP connections, defaulting to yes
- add configure check for zlib, --with-zlib to detect if mutt_zstrm can
(or should) be built
Tested against a Dovecot IMAP server, observed easily 7x compression
rates on received data, and 5x on sent data for a normal session. Rates
can be observed when the connection is closed on debug level 4 and
higher.
Bug: https://gitlab.com/muttmua/mutt/issues/92
|
|
|
|
|
|
|
|
AC_CHECK_FUNCS executes "action-if-found" or "action-if-not-found" for
each function in the list. If a system has some but not all of the
functions, both will end up being executed.
This caused a build failure on an older system with exactly that
situation.
Change to only define USE_INOTIFY if all functions exist.
|
|
Since $with_sqlite3 can contain a path, we want to check if it is
"no", not that it isn't "yes".
|
|
Add a basic init function.
Bump up the required gpgme version to 1.8.0 if autocrypt is enabled.
|
|
|
|
If we're using GNU Make, the FORCE target allows automatically
updating the version number after each commit.
See commit 22c6df82
|
|
This makes the configuration option purpose clearer. Previously,
some distros enabled the option thinking it turned on a "regex" option
that should be enabled.
Closes #89.
|
|
Look for db2x_docbook2texi first, because Fedora/Red Hat has their own
version of "docbook2texi": db2x_docbook2texi. I'm not sure what to do
if they have don't have that installed but have docbook2texi
installed, since this is a terrible name collision.
Thanks to Moritz Barsnick for pointing out the different binary (and
package) names on Fedora.
|
|
Pull updated autoconf files from the GPGME 1.13.0 release and use
those new macros.
Add a call to AM_PATH_GPG_ERROR() and include $(GPG_ERROR_LIBS) in the
libraries.
Thanks to Eike Rathke for finding the build problem, and for his
patch fixing the issue. I opted for just grabbing the newest autoconf
files from gpgme instead, but his fixed worked great too.
|
|
The "action-if-found" argument of AC_SEARCH_LIBS is run even if the
result is "none required" (i.e. the test function is already in LIBS,
in this case -lidn2).
This was causing "-lunistring" to be appended on a system without the
library installed, generating a build error. Fix the test to not
append the library for the "none required" case.
Thanks to Fabrice Fontaine for reporting this issue and helping me
test the fix.
|
|
Commit 78db40f25c6479b14da5a73adf7207bfbec5ccc5 did not fix static build
failure
AC_SEARCH_LIBS prepends the library to LIBS as a result -lunistring is
added before -lidn2. To fix static build, we must set -lunistring after
-lidn2
Fixes:
- http://autobuild.buildroot.org/results/c9544b4f1a0252e260a2ed19218fa950f4dc2d2d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
Switch to generating the version string during make process rather than
at configure time. This makes it easier to keep the detailed version
string accurate when doing development which doesn't require that the
configure script be rerun.
|
|
On Arch, it is called docbook2text
|
|
The wrapper is much more convenient and there is no need to sometimes
use gpgme_new directly. The perceived advantage on not bailing out in
an out-of-core condition is not realistic because other small amounts
of memory are allocated all over mutt anyway and thus function will
terminate the process as well.
This patch also changes the minimum version of gpgme to 1.4.0. This
is so that we can always pass NULL to functions like gpgme_release.
Further 1.4.0 has new functions which we may soon like to use.
|
|
GPGME 1.2.0 was released nearly 10 years ago and thus we can really
demand this version. For various reasons it would be advisable to
require a decent version but that is a different thing and needs to be
done in a separate patch.
HAVE_GPGME_OP_EXPORT_KEYS and HAVE_GPGME_PKA_TRUST are not anymore
needed because they are supported by that GPGME version.
Signed-off-by: Werner Koch <wk@gnupg.org>
|
|
If docbook2x-texi and makeinfo are installed, convert the docbook file
to info and install as another source for the manual.
|
|
This allows to run the system regex lib even when compiling with
ASAN. Previously, ASAN would report the regex_t leak and change the
exit code.
|
|
pgpring is used by another common package, signing-party. At the
request of ArchLinux, I am renaming our version to be prefixed by
"mutt_" in order to remove a naming conflict.
This is a minor inconvenience for pgp2, pgp5, and pgp6 users, but I
believe this constitutes an extremely small number of users at this
point.
I am keeping pgpewrap as-is because it is also used by GnuPG, and has
no such naming conflict.
|
|
|
|
|
|
-lunistring is only explicitly needed when compiling statically, so
add a AC_SEARCH_LIBS to add it to LIBS if it is found.
Thanks to Fabrice Fontaine for the heads-up about the problem and the
merge request.
|
|
The inotify interface has an unfortunate side effect of making Mutt
react too quickly to new mail. Sometimes, the mail is only
half-delivered when the mailbox is checked. Because Mutt is using the
stat mtime - seconds resolution - this means it won't realize there
are more messages delivered during the same second.
Nanosecond resolution fields were standardized in POSIX.1-2008, so
check for and use those if they are available.
|
|
|
|
The libidn compatibilty layer was only added in version
2.0.0 (2017-03-29). idn2.h defines macros, so use AC_CHECK_DECL
instead of AC_CHECK_FUNC.
$with_idn2 doesn't have an "auto" state, so remove a few unneeded
copy/paste checks from idn.
|
|
|
|
|