| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This can be used by downstream packaging to force specific options.
E.g.:
make install INSTALL="/usr/bin/install -p"
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Gavin-John Noonan <mail@gjnoonan.co.uk>
Reviewed-by: Gavin-John Noonan <mail@gjnoonan.co.uk>
|
|
|
|
|
|
|
|
|
|
| |
Instead of hiding the actual checks deep into the CI framework and into
the sendemail-validate hook, add a validate make target that uses proper
variables and runs the required checks. Use it in the sendemail-validate
hook and the CI builds.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Reviewed-by: Bence Ferdinandy <bence@ferdinandy.com>
|
|
|
|
|
|
|
|
|
|
| |
Linting with golangci-lint and contrib/linters.go both started crashing
for me after upgrading go to v1.22.0 from v1.21.7. Bump golangci-lint
and golang.org/x/tools to their latest versions to fix this problem.
Signed-off-by: Jason Cox <me@jasoncarloscox.com>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
| |
Signed-off-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initialize a build variable to the date on which the binary was
generated. Include the date in the build info string which is output
when running aerc -v and in the crash logs.
Do not rely on parsing the build flags via some obscure base64 voodoo to
determine if notmuch support is available or not. Instead, use the
symbols from the linked library directly if available.
Before:
$ aerc -v
0.16.0-183-g4cc2e6be3a01 +notmuch (go1.21.6 amd64 linux)
After:
$ aerc -v
aerc 0.16.0-183-g4cc2e6be3a01 +notmuch-5.6.0 (go1.21.6 amd64 linux 2024-01-31)
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: CiarĂ¡n Ainsworth <cda@sporiff.dev>
|
|
|
|
|
|
|
|
|
| |
Add a script that deals with the proper formatting and ordering of git
trailers. Install it as commit-msg git hook so that everyone can benefit
from it.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove GNU specific stuff (ln -v, mktemp --tempdir, grep --color)
- Remove GCC specific flags in sendemail-validate (-Warith-conversion)
- Add -std=c99 and -Wpedantic and fix the reported warnings.
- Explicitly call gmake everywhere.
- Run our custom analyzer standalone. Golangci lint plugins are not
supported on OpenBSD. Indirect dependency to golang.org/x/mod is
required somehow...
Reported-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The version is no longer present in Makefile which has been preserved
for explicit error reporting with non-GNU make versions.
Update the version in GNUMakefile instead.
Fixes: d725defa07b5 ("mk: deprecate BSD make in favor of GNU make")
Reported-by: Anton Mosich <anton@mosich.at>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
|
|
|
|
|
|
|
|
|
|
| |
When inspecting core dumps, it is usually advantageous to get the
context of the code. If -trimpath is passed, delve can not find the
file associated with a certain PC, and only prints:
Command failed: open git.sr.ht/~rjarry/aerc/app/aerc.go: no such file or directory
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Acked-by: Robin Jarry <robin@jarry.cc>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new shell script to check that all commands are documented in man
pages and that the man pages do not contain non-existent commands. Also
check that all explicitly parsed options with ini reflection are
documented as well. It is not possible to check if the man pages do
reference non-existent options since some of the options are parsed
lazily in workers and some of them are also declared with placeholders
(e.g. *column-<name>*).
Run the script in the lint target.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we use GNU make, instead of deferred evaluation when running
the target commands, use $(shell) to evaluate commands when parsing the
makefile and print prettier build commands.
Before:
go build -trimpath `contrib/goflags.sh` -ldflags \
"-X main.Version=`git describe --long --abbrev=12 --tags --dirty 2>/dev/null || echo 0.15.2` \
-X main.Flags=$(echo -- `contrib/goflags.sh` | base64 | tr -d '\r\n') \
-X git.sr.ht/~rjarry/aerc/config.shareDir=/usr/local/share/aerc \
-X git.sr.ht/~rjarry/aerc/config.libexecDir=/usr/local/libexec/aerc" \
-o aerc
After:
go build -trimpath -tags=notmuch -ldflags \
"-X main.Version=0.15.2-174-gf25e038dacd7-dirty \
-X main.Flags=LS0gLXRhZ3M9bm90bXVjaAo= \
-X git.sr.ht/~rjarry/aerc/config.shareDir=/usr/local/share/aerc \
-X git.sr.ht/~rjarry/aerc/config.libexecDir=/usr/local/libexec/aerc" \
-o aerc
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
|
|
|
|
|
|
|
|
| |
Nothing serious but let's cleanup our mess.
Fixes: d725defa07b5 ("mk: deprecate BSD make in favor of GNU make")
Signed-off-by: Robin Jarry <robin@jarry.cc>
Reviewed-by: Karel Balej <balejk@matfyz.cz>
|
|
|
|
|
|
|
|
|
|
| |
Recently there were several contributors that included their changelog
in the commit message and/or didn't include a changelog at all. Add
comprehensive guidelines to help people figuring the email-based review
workflow.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
|
|
Being portable between BSD and GNU make is a nightmare. It restricts
features to a very minimal surface and in turn requires a lot of code
duplication and manual updating of file lists.
Worse, aerc's makefile relies on the shell assignment operator (!=)
which has been supported by BSD make 2.2 since 1997 but GNU make 4.0
since 2013. Unfortunately, MacOS runs GNU make 3.8 which does not have
that feature. Reducing the feature set even more.
Stop that nonsense and remove BSD make compatibility. The majority of
aerc's users either run a GNU Linux distribution or MacOS. For those who
run any *BSD variant, it is easy for them to install GNU make (gmake) if
they don't have it installed already.
Use GNU make constructs to generate build and install rules dynamically
based on source files discovery.
GNU make will use "GNUmakefile" in priority over "Makefile" if possible.
Leverage this to display an explicit message when other flavours of make
are used. Leave a "Makefile" with a .DEFAULT: target and rename the
actual file to "GNUmakefile".
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
|