aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2024-01-26README: Do not list the v0.1.0 release.•••* README.org (Download): Do not list the v0.1.0 release. HEADmasterArun Isaac
2024-01-26README: Hard-code releases.•••* README.org (Download): Replace releases dynamic block with hard-coded list of releases. * build-aux/build-website.el (org-dblock-write:releases): Delete function. (main): Do not call org-update-all-dblocks. Arun Isaac
2024-01-26build-aux: Do not list the v0.1.0 release.•••* build-aux/build-website.el (org-dblock-write:releases): Do not list the v0.1.0 release. Arun Isaac
2024-01-26build-aux: Do not infer release information from git tags.•••We now build the website as a computed-file G-expression in a Guix channel. Guix channels always discard the git repository information, and don't have access to the git tags. We can fix this problem later if and when we switch to using tissue for the website. * build-aux/build-website.el (org-dblock-write:releases): Do not infer release information from git tags. Hard-code them. Arun Isaac
2024-01-26Makefile: Make website/index.html depend on build-website.el.•••* Makefile (website/index.html): Add build-aux/build-website.el to dependencies. Arun Isaac
2024-01-12guix: Add G-expression computed-file to build website.•••* .guix/guile-email-package.scm: Import coreutils and gnu-make from (gnu packages base), emacs-minimal from (gnu packages emacs), texinfo from (gnu packages texinfo). (guile-email-website-gexp, guile-email-website): New variables. Arun Isaac
2023-09-04Release version 0.3.1.•••* NEWS: Update. * website/releases/guile-email-0.3.1.tar.lz, website/releases/guile-email-0.3.1.tar.lz.asc: New files. v0.3.1Arun Isaac
2023-09-03email: Tolerate parentheses in display names.•••* email/email.scm (define-atom-pattern): Support customization of the atext pattern as well. (define-phrase-pattern): New macro. (obs-phrase): Define using define-phrase-pattern. (liberal-atext, liberal-cfws-captured-atom, liberal-cfws-captured-word, liberal-phrase): New patterns. (display-name): Use liberal-phrase instead of phrase. * tests/email.scm ("tolerate email addresses with parentheses in name"): New test. Arun Isaac
2023-07-06Make repository a guix channel.•••* .guix-authorizations, .guix-channel: New files. * guix.scm: Convert to a symlink pointing to .guix/guile-email-package.scm. Move original there. * .guix/guile-email-package.scm: Convert into a module with public packages. Arun Isaac
2023-01-21README: Thank Aleix Conchillo Flaqué for packaging.•••* README.org (Contributors): Add Aleix Conchillo Flaqué. Arun Isaac
2023-01-21Makefile: Use install instead of cp and mkdir.•••The cp on macOS does not support the --parents flag. Also, install correctly replaces files when they already exist. * Makefile (install): Use install instead of cp and mkdir. Reported-by: Aleix Conchillo Flaqué <aconchillo@gmail.com> Arun Isaac
2023-01-16website: Add guile-email-0.3.0 release tarballs.•••* website/releases/guile-email-0.3.0.tar.lz, website/releases/guile-email-0.3.0.tar.lz.asc: New files. Arun Isaac
2023-01-16Revert "README: Declare that releases are only tagged in git from now on."•••This reverts commit 5cc34d6be3daada501ff952fc9edf1ac04d9c24a. We go back to releasing tarballs since tarballs are still important for package managers other than Guix. e.g., homebrew. Arun Isaac
2023-01-16gitignore: Do not ignore release tarballs.•••* .gitignore: Remove website. Add website/index.html and website/manual. Arun Isaac
2023-01-16Makefile: Add release tarball generation rules.•••* Makefile (version, GIT, GPG, LZIP, distribute_files, dist_archive): New variables. (dist, $(dist_archive), %.asc): New rules. (.PHONY): Add dist. Arun Isaac
2023-01-06README: Declare that releases are only tagged in git from now on.•••* README.org (Download): Declare that releases are only tagged in git from now on. * build-aux/build-website.el (org-dblock-write:releases): Exclude releases after and including v0.3.0. Arun Isaac
2023-01-06build-aux: Use --contains to exclude v0.1.0 release.•••* build-aux/build-website.el (org-dblock-write:releases): Use the --contains argument of git for-each-ref to exclude the v0.1.0 release. Arun Isaac
2023-01-06Release version 0.3.0.•••* NEWS: Update. v0.3.0Arun Isaac
2023-01-06README: Declare obsolete syntax as implemented.•••* README.org (Features): Declare that obsolete syntax is supported. (Future work): Remove obsolete syntax. Arun Isaac
2023-01-06tests: Downcase test names.•••This is admittedly a nitpicky change, but it slightly improves consistency. * tests/email.scm ("parse obsolete Received header", "parse names with more than two words", "assume application/octet-stream Content-Type if Content-Transfer-Encoding is unrecognized", "parse Received header with two tokens but no timestamp"): Downcase test names. Arun Isaac
2023-01-06email: Support Date fields with missing seconds.•••* email/email.scm (parse-email-headers): Extend the date-time parser to match when seconds are missing, defaulting to "0". * tests/email.scm ("parse Date", "parse Date without seconds"): New tests. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Andrew Whatson
2023-01-03build-aux: Pass fail directory from main in test-corpus.scm.•••* build-aux/test-corpus.scm (test-corpus): Accept fail-directory argument. * build-aux/test-corpus.scm (main): Pass fail-directory argument to test-corpus. Arun Isaac
2023-01-03build-aux: Assume fail directory exists when testing corpus.•••Assume fail directory exists and do not attempt to clear it. * build-aux/test-corpus.scm (main): Do not create or delete fail directory. Arun Isaac
2023-01-03build-aux: Make test-corpus.scm a loadable script.•••Make test-corpus.scm a script loadable from the REPL rather than something that must be run on the shell. Loadable scripts are easier to deal with since one does not have to deal with command-line arguments. * build-aux/test-corpus.scm (%fail-directory): Delete variable. (write-failed-email): Add fail-directory argument. (main): New function. Arun Isaac
2023-01-03build-aux: Bump copyright year on test-driver.scm.•••* build-aux/test-driver.scm: Bump copyright year for Arun Isaac. Arun Isaac
2023-01-03dir-locals: Allow tabs in Makefiles.•••* .dir-locals.el (makefile-gmake-mode): Set indent-tabs-mode to t. Arun Isaac
2023-01-03Quit the autotools build system.•••For a simple package like guile-email, the autotools build system is more trouble than it is worth. We prefer a hand-written Makefile. As the commit summary suggests, the autotools are indeed a bad habit that we must "quit". * Makefile: New file. * Makefile.am, bootstrap.sh, configure.ac, pre-inst-env.in: Delete files. * build-aux/test-corpus.scm.in: Rename to ... * build-aux/test-corpus.scm: ... this. Remove shebang. * build-aux/test-driver.scm.in: Rename to ... * build-aux/test-driver.scm: ... this. Remove autotools specific parts. * guix.scm: Import (guix utils). (guile-email)[arguments]: Add prefix to #:make-flags. Delete configure phase. * .gitignore: Remove INSTALL, Makefile, Makefile.in, aclocal.m4, autom4te.cache, build-aux/install-sh, build-aux/missing, build-aux/test-corpus.scm, config.log, config.status, configure, doc/.dirstamp, pre-inst-env, test-suite.log, tests/*.log and tests/*.trs. Arun Isaac
2023-01-03tests: Import (srfi srfi-64) in base64.scm.•••* tests/base64.scm: Import (srfi srfi-64). Arun Isaac
2023-01-03guix.scm: Use modify-inputs.•••* guix.scm (guile-email)[naive-inputs]: Rewrite using modify-inputs. Arun Isaac
2023-01-03guix.scm: Build package from local source.•••* guix.scm: Import (guix gexp) and (guix git-download). (%source-dir): New variable. (guile-email)[source]: Use local source. Arun Isaac
2023-01-03README: Thank Andrew Whatson for code.•••* README.org (Contributors): Add Andrew Whatson. Arun Isaac
2023-01-03email: Support quoted-printable CR LF sequences.•••* email/quoted-printable.scm (quoted-printable-decode): Ignore "=\r\n" sequences in the input. * tests/quoted-printable.scm ("quoted-printable decoding of soft line breaks (=\\n)", "quoted-printable decoding of soft line breaks (=\\r\\n)"): New tests. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Andrew Whatson
2022-12-29dir-locals.el: Delete trailing blank lines.•••* .dir-locals.el: Delete trailing blank lines. Arun Isaac
2022-01-19README: Fix broken link to signing key.•••* README (Download): Fix broken link to signing key. Arun Isaac
2021-10-24build-aux: Test bug-guix corpus.•••* build-aux/pull-corpus.scm: Pull bug-guix mailing list archives. * build-aux/test-corpus.scm.in: Test bug-guix corpus. Arun Isaac
2021-10-24build-aux: Create corpus directory if it does not exist.•••* build-aux/pull-corpus.scm (pull-mailing-list): Create corpus directory if it does not exist. Arun Isaac
2021-10-24email: Handle Received header with two tokens but no timestamp.•••* email/email.scm (parse-email-headers): Match Received header with timestamp more precisely. * tests/email.scm ("Parse Received header with two tokens but no timestamp"): No test. Arun Isaac
2021-10-24tests: Return trace with only one Receieved header as a list of lists.•••* tests/email.scm ("Trace with only one Received header must be a list of lists, not a list"): New test. Arun Isaac
2021-10-24email: Handle unrecognized Content-Transfer-Encoding headers.•••* email/email.scm (handle-invalid-headers): New function. (parse-email-headers): Handle invalid headers. * tests/email.scm ("Assume application/octet-stream Content-Type if Content-Transfer-Encoding is unrecognized"): New test. Arun Isaac
2021-10-24tests: Paginate tests/email.scm.•••tests/email.scm is getting really long. Pagination make it easier to understand. * tests/email.scm: Split into three pages---Emails, Email addresses and MIME encoded words. Arun Isaac
2021-10-23build-aux: Read emails one by one from mbox corpora.•••Reading emails one by one avoids allocating memory for a list of emails. * build-aux/test-corpus.scm.in (read-next-email-in-mbox): New function. (test-corpus): Use port-transduce to read emails one by one. Arun Isaac
2021-10-23build-aux: Write failed corpus test emails to filesystem.•••* build-aux/test-corpus.scm.in: Import (rnrs io ports), (srfi srfi-26), (srfi srfi-28), (srfi srfi-171), (ice-9 ftw) and (ice-9 match). (%fail-directory): New variable. (directory-files, write-failed-email): New function. Write failed corpus test emails to a "fail directory" specified on the command line. Arun Isaac
2021-10-06website: Switch to high contrast.•••High contrast feels more readable. Low contrast makes me squint. * website/style.css (body): Remove color property. Let it be the default black. Arun Isaac
2021-10-02README: Add Contributors section.•••* README.org (Contributors): New section. Arun Isaac
2021-10-02email: Do not use an empty bytevector to test the charset.•••Using an empty bytevector no longer throws an exception since Guile commit 5ea8c69e9153a970952bf6f0b32c4fad6a28e839. * email/email.scm (post-process-content-transfer-encoding): Use a bytevector of unit length to test the charset validity. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Mathieu Othacehe
2021-09-28README: Use a dynamic block to list releases.•••* README.org (Download): Replace releases with dynamic block. * build-aux/build-website.el: Update dynamic blocks before exporting. (org-dblock-write:releases): New function. Arun Isaac
2021-09-28build-aux: Do not create backup files when building website.•••* build-aux/build-website.el (make-backup-files): Set to nil. Arun Isaac
2021-06-18README: Link repology badge to repology page.•••* README.org (Download): Link repology badge to repology page. Arun Isaac
2021-06-18README: Link to the Guix data service.•••* README.org: Link to the Guix data service, instead of just mentioning it. Arun Isaac
2021-06-18website: Make SVG badges clickable.•••* website/style.css (object): Set pointer-events to none. Arun Isaac