aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
Commit message (Collapse)AuthorAgeFilesLines
* mk: deprecate BSD make in favor of GNU makeRobin Jarry2023-08-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* worker: add jmap supportRobin Jarry2023-06-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for JMAP backends. This is on par with IMAP features with some additions specific to JMAP: * tagging * sending emails This makes use of git.sr.ht/~rockorager/go-jmap for the low level interaction with the JMAP server. The transport is JSON over HTTPS. For now, only oauthbearer with token is supported. If this proves useful, we may need to file for an official three-legged oauth support at JMAP providers. I have tested most features and this seems to be reliable. There are some quirks with the use-labels option. Especially when moving and deleting messages from the "All mail" virtual folder (see aerc-jmap(5)). Overall, the user experience is nice and there are a lot less background updates issues than with IMAP (damn IDLE mode hanging after restoring from sleep). I know that not everyone has access to a JMAP provider. For those interested, there are at least these two commercial offerings: https://www.fastmail.com/ https://www.topicbox.com/ And, if you host your own mail, you can use a JMAP capable server: https://stalw.art/jmap/ https://www.cyrusimap.org/imap/download/installation/http/jmap.html Link: https://www.rfc-editor.org/rfc/rfc8620.html Link: https://www.rfc-editor.org/rfc/rfc8621.html Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Tim Culverhouse <tim@timculverhouse.com>
* readme: mention openSUSE aerc packageMatěj Cepl2023-06-101-0/+1
| | | | | | | Add reference to the openSUSE package. Signed-off-by: Matěj Cepl <mcepl@cepl.eu> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* mod: drop support for go 1.17Robin Jarry2023-04-241-1/+1
| | | | | | | | | | | | | A lot of libraries are starting to use generics (introduced in go 1.18). Restricting aerc on 1.17 prevents us from updating our dependencies. Since 1.18 is a major milestone, it has a chance to remain supported for a while. Update the minimum go version to 1.18. Run go mod tidy -compat=1.18. Update our CI to run on 1.18. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Bence Ferdinandy <bence@ferdinandy.com>
* mk: speed up notmuch detectionRobin Jarry2023-03-061-5/+5
| | | | | | | | | | | | | | | Use gcc instead of go to build a basic program and determine if notmuch is available. Building a minimal go program takes more than 300ms on a fast machine. A minimal C counterpart takes less than 100ms. To avoid lag when doing bash completion, avoid running any shell commands directly during make evaluation. Rename check-notmuch.sh to goflags.sh and make that script print the goflags directly. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Inwit <inwit@sindominio.net>
* mk: remove smart rebuild when GOFLAGS have changedRobin Jarry2023-03-061-5/+2
| | | | | | | | | | | This was a nice idea but it is very annoying since the flags change every time the git commit changes even if there are no changes to the source files nor the GOFLAGS... Building with different GOFLAGS now requires cleaning first. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* mk: detect if notmuch headers & libs are availableRobin Jarry2023-03-031-2/+17
| | | | | | | | | | Detect if notmuch is available by trying to compile a minimal go program that uses the notmuch.h header and links to libnotmuch.so. If that succeeds, set the default GOFLAGS value to -tags=notmuch. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Inwit <inwit@sindominio.net>
* mod: remove support for go 1.16Robin Jarry2023-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | The dependency to x/tools@v0.6.0 drags x/sys@v0.5.0 which is not compatible with go 1.16 # golang.org/x/sys/unix golang.org/x/sys@v0.5.0/unix/syscall.go:83:16: undefined: unsafe.Slice golang.org/x/sys@v0.5.0/unix/syscall_linux.go:2271:9: undefined: unsafe.Slice golang.org/x/sys@v0.5.0/unix/syscall_unix.go:118:7: undefined: unsafe.Slice golang.org/x/sys@v0.5.0/unix/sysvshm_unix.go:33:7: undefined: unsafe.Slice note: module requires Go 1.17 Since go 1.16 is now EOL, update the minimal go version to 1.17. Update go.mod and go.sum with the following command: go mod tidy -compat=1.17 Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* logging: rename package to logRobin Jarry2022-12-021-1/+1
| | | | | | | | | | Use the same name than the builtin "log" package. That way, we do not risk logging in the wrong place. Suggested-by: Tim Culverhouse <tim@timculverhouse.com> Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Bence Ferdinandy <bence@ferdinandy.com> Acked-by: Tim Culverhouse <tim@timculverhouse.com>
* doc: extract accounts and binds into separate man pagesRobin Jarry2022-11-241-0/+2
| | | | | | | | | | | | | aerc-config(5) is getting too big and cluttered. Only keep aerc.conf settings in it. Move binds.conf settings in aerc-binds(5) and accounts.conf settings in aerc-accounts(5). Adjust all references accordingly. Update the README to reference the two new man pages. Update the Makefile to install them in proper locations. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Koni Marti <koni.marti@gmail.com>
* readme: make contribution section more obviousTim Culverhouse2022-08-061-0/+1
| | | | | | | | Move link to contribution guidelines to it's own section in README. Fixes: 8c64bda5a0dd ("doc: add contribution guidelines including code style") Signed-off-by: Tim Culverhouse <tim@timculverhouse.com> Acked-by: Robin Jarry <robin@jarry.cc>
* doc: add contribution guidelines including code styleMoritz Poldrack2022-08-051-87/+2
| | | | | | | | | | | The Linux kernel code style rules have been used as a well-tested basis and sections pertaining C-specific rules – such as macros – have been removed. For it a short section on the used formatter is added for further reference. Link: https://www.kernel.org/doc/html/v5.19-rc8/process/coding-style.html Signed-off-by: Moritz Poldrack <git@moritz.sh> Signed-off-by: Robin Jarry <robin@jarry.cc>
* go: bumped minimum required version 1.16Moritz Poldrack2022-08-051-1/+3
| | | | | | | | Due to github.com/daixiang0/gci requiring io/fs, the minimum required Go version for aerc needs to be bumped to 1.16 Signed-off-by: Moritz Poldrack <git@moritz.sh> Signed-off-by: Robin Jarry <robin@jarry.cc>
* lint: add information about false positive on missing notmuchMoritz Poldrack2022-08-041-0/+4
| | | | | Signed-off-by: Moritz Poldrack <moritz@poldrack.dev> Acked-by: Robin Jarry <robin@jarry.cc>
* Add changelogRobin Jarry2022-07-261-0/+6
| | | | | | | | | | | | Git history is not for everyone. Let's introduce a user-oriented change log. Ideally, this file should be updated incrementally when adding a new feature. I have added contributors guidelines in README.md. Update release.sh to automatically generate the release tag message with the unreleased changes from the changelog. Link: https://keepachangelog.com/en/1.0.0/ Signed-off-by: Robin Jarry <robin@jarry.cc>
* readme: add ~rjarry/aerc-discuss@lists.sr.ht in resourcesRobin Jarry2022-03-241-2/+5
| | | | | | | Add a reference to a new end-user discussion list. Signed-off-by: Robin Jarry <robin@jarry.cc> Reviewed-by: Moritz Poldrack <moritz@poldrack.dev>
* readme: add links to documentationRobin Jarry2022-03-241-3/+20
| | | | | | | Let's make it easier for new users to find information. Signed-off-by: Robin Jarry <robin@jarry.cc> Reviewed-by: Moritz Poldrack <moritz@poldrack.dev>
* readme: fix typoRobin Jarry2022-03-211-1/+1
| | | | | Fixes: 7e6c0d2e6e8c ("readme: add more details about the review process") Signed-off-by: Robin Jarry <robin@jarry.cc>
* config: specify sharedir during buildDaniel Patterson2022-03-031-0/+19
| | | | | | | | | | | | | We should use the Makefile value of SHAREDIR when searching for config files and templates etc. This is important for systems which do not use the standard file hierarchy or which do not have a consistent location for installing program files, for example NixOS, which will have a different install location with every update. Signed-off-by: Daniel Patterson <me@danielpatterson.dev> Acked-by: Robin Jarry <robin@jarry.cc>
* readme: add more details about the review processRobin Jarry2022-03-031-3/+34
| | | | | | | | | | | * All patches must be signed-off. * All patches must receive at least one independent review and approval before being applied. * Remove the --in-reply-to= option for git send-email. This breaks lists.sr.ht UI. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: akspecs <akspecs@gmail.com>
* readme: add license infoRobin Jarry2022-02-061-0/+2
| | | | Signed-off-by: Robin Jarry <robin@jarry.cc>
* readme: remove #aerc-devel irc channelRobin Jarry2022-02-061-2/+1
| | | | | | | This channel has not received much activity and all development discussions are happening on #aerc. No need to multiply channels. Signed-off-by: Robin Jarry <robin@jarry.cc>
* readme: add shield for github macos buildMark Dain2022-01-281-0/+1
|
* readme: fix typo in contribution guideinwit2022-01-241-2/+2
| | | | | | | | | | git: 'sendemail' is not a git command. See 'git --help'. The most similar command is send-email Fixes: b84374a572b4 ("readme: add contribution guide") Signed-off-by: inwit <inwit@sindominio.net>
* readme: add package links to debian and fedoraRobin Jarry2022-01-201-0/+3
| | | | Signed-off-by: Robin Jarry <robin@jarry.cc>
* readme: add contribution guideRobin Jarry2021-12-111-0/+50
| | | | | | | This has been requested numerous times. People are not all used to the git email workflow. Also, I am quite anal about commit messages. Signed-off-by: Robin Jarry <robin@jarry.cc>
* readme: update with fork infoRobin Jarry2021-10-301-4/+10
| | | | Signed-off-by: Robin Jarry <robin@jarry.cc>
* README: freenode -> libera.chatNoam Preil2021-08-261-2/+2
|
* Freshen up readme with binary packagesy0ast2020-12-271-13/+34
|
* Format config path in READMEGabriel Augendre2020-07-051-1/+1
|
* Readme: add config location of MacOSReto Brunner2020-04-121-1/+2
|
* README: include demo and update required go versionReto Brunner2020-04-071-1/+3
|
* Add link to scdocNoah Kleiner2020-02-021-1/+1
|
* Add notmuch docsReto Brunner2019-08-081-0/+6
|
* Update README.mdDrew DeVault2019-07-141-0/+2
|
* Document collecting log outputLyle Hanson2019-06-141-0/+4
| | | | | | | | | | Redirecting stdout writes log output to that file, but this wasn't easily discoverable. v2 removes changes to aerc-tutorial; I was also on the fence about that, and agree that it isn't on-topic for the tutorial. Addresses https://todo.sr.ht/~sircmpwn/aerc2/180
* Update docs per filters rewriteDrew DeVault2019-06-071-8/+0
|
* Clarify socksify dependencyDrew DeVault2019-06-041-1/+1
|
* Update README.md with better dependency listDrew DeVault2019-06-041-1/+9
|
* Update to the latest go-libvtermDrew DeVault2019-05-261-3/+2
|
* Add aerc-announce to README.mdDrew DeVault2019-05-261-3/+6
|
* Update README.mdDrew DeVault2019-05-251-1/+1
|
* Update README.mdDrew DeVault2019-05-251-13/+4
|
* Update README.mdDrew DeVault2019-05-251-1/+3
|
* Document dependenciesDrew DeVault2019-05-171-0/+6
|
* Add man pagesDrew DeVault2019-05-171-2/+7
|
* Add IRC link to README.mdDrew DeVault2019-05-141-0/+2
|
* Move aerc to dedicated mailing listDrew DeVault2019-05-111-1/+1
|
* Update README.mdDrew DeVault2019-03-211-3/+7
|
* Add link to todo trackerDrew DeVault2019-03-171-0/+2
|