Commit graph

141 commits

Author SHA1 Message Date
sterni
83d3042209 chore(3p/sources): Bump channels & overlays
* //users/grfn/system/home: build rain with Go 1.17, as it fails to
  build with Go 1.18 which introduces new compile-time errors

* //3p/nixpkgs: pick ntfy from stable channel as it does not build on
  unstable

* //users/sterni/emacs: make sure use-package is available before
  org-tracker can be loaded dynamically from $HOME/src. Interestingly
  this only became a problem with this channel bump.

Change-Id: Id7d23b66bc3ba0202a01b4f8d670854e1f31175e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5988
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-08-02 22:39:44 +00:00
sterni
11738fc232 chore(sterni/mblog): relicense to GPL-3.0-only
This is possible since all the commits have been made by me. The code
taken from  SCLF (which is licensed LGPL-2.1-or-later) can also be
included since the LGPL 2.1 is [compatible] with the GPL 3.0.

compatible: https://www.gnu.org/licenses/license-list.en.html#LGPLv2.1
Change-Id: I2d274c29378679c489dc667a53b234642c3da817
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5928
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-07-09 17:10:46 +00:00
sterni
49aee7a8f2 chore: remove sclf from the tree
SCLF is quite a big utility library (almost 3€ LOC) with limited
portability (CMUCL, SBCL and CLISP to an extent). Continuing to maintain
it is an unnecessary burden, as depot only uses a fraction of it which
is now inlined into the respective users (mime4cl and mblog).

In the future trimming down ex-sclf.lisp may make sense either by
refactoring the code that uses it or by moving interesting utilities
into e.g. klatre.

Change-Id: I2e73825b6bfa372e97847f25c30731a5aad4a1b5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5922
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-07-05 15:01:17 +00:00
sterni
ae422c1353 feat(sterni/nix/misc): predicate to check if isRestrictedEval
This is merely a little demonstration of nix#6579:
`users.sterni.nix.misc.isRestrictEval` returns whether the restrict-eval
setting is true or false by exploiting the aforementioned Nix bug.

Change-Id: Icca354d1cd6571cdf0804abae27aac91a18cda1e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5692
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-06-01 10:30:37 +00:00
sterni
e86d0101d5 feat(sterni/emacs): function to display texcount for current file
Change-Id: Iae09dd79494d65e4025e1e34ab1d848ef2b9cd47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5722
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-27 23:24:28 +00:00
sterni
1ad9b249f4 feat(sterni/emacs): configure lsp-ui-sideline for code actions
Change-Id: Idd0d09c47466f77cc04a628c95152d306af563d5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5680
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 12:13:16 +00:00
sterni
80a80a0706 feat(sterni/emacs): configure lsp-ui add proper lsp bindings
Change-Id: I1a81feca1bde663d1fbea1e2520f25f0bb57453c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5679
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:51:13 +00:00
sterni
3a2ad8ed3b feat(sterni/emacs): fill background of languagetool issues
This used to be the behavior of languagetool.el which we now restore
finally. The yellow underline was really easy to miss on a white
background.

Change-Id: I8b34ed64f9f7a82c39de84575877910335024ffe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5678
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:51:13 +00:00
sterni
66d2ea3dfd feat(sterni/emacs): add binding for switch-to-buffer-other-window
Change-Id: Idbc6a9a080dc606d653b7fcf683182698836da43
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5677
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:50:12 +00:00
sterni
e4d87b1fd2 feat(sterni/emacs): load org-tracker from mutable path in home dir
Packaging this seemed a little tricky due to some quirks of the code,
but it's best to solve that whenever it's actually in depot. For now I
break it often enough that it's useful to be able to edit its source
quickly.

Still missing some necessary configuration which I'll probably steal
from grfn next week or so.

Change-Id: I1300807f7b1bc39ddb9f792c2ee500f4dd72d002
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5676
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:50:11 +00:00
sterni
462c85e2d8 refactor(sterni/emacs): banish elfeed and languagetool to ,m
I'll probably want to use <leader>f and <leader>l for different things
in the near future.

Change-Id: Iaf3de2dac90c018db8ca8797673bd1bf21df9c74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5675
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:09 +00:00
sterni
72f0c3b6c1 fix(sterni/emacs): reflect changed command name in languagetool.el
Also delete duplicate java-arguments while we're at it.

Change-Id: I6e129f3aaefaa06e812d4dec36bd754fab4ab4e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5674
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:08 +00:00
sterni
4bef7ef946 feat(sterni/emacs): default to ormolu as Haskell formatter
Change-Id: I4ce9c190e812cae56c00745e703fe3cc17755223
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5673
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:07 +00:00
sterni
71407ab2a6 feat(sterni/emacs): allow launching magit from project-switch
I always found myself starting a shell or dired to do ,gr right after…

Change-Id: I609bbe13c74a9360608939aca79748a8e59343fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5672
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:07 +00:00
sterni
98dbd715fa feat(sterni/emacs): enable which-key mode
Change-Id: Ibfb1b729ad8dc1de72e4da5833077ea4cd764638
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5668
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-25 18:30:39 +00:00
sterni
c93527d8a1 refactor(sterni/emacs): use use-package for elfeed
When I first added elfeed, for some reason I couldn't set it up with
use-package. Now the situation has reversed itself and elfeed started to
crash with cryptic elisp error messages. Copying tazjin's approach to
configuring elfeed has solved this issue luckily.

Change-Id: I57ec8f8d8ace6aa6545483f7b2559065a56792f1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5649
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-23 17:12:55 +00:00
sterni
d60feb21e8 feat(sterni/emacs): add binding for find-file-at-point
Change-Id: I5b44df45d97e69b1a83c3e84039f55a3fced509f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5645
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-22 21:55:36 +00:00
sterni
5a1a18f58e chore(3p/sources): Bump channels & overlays
* //users/sterni: disable ada-mode, as GNAT bootstrap is broken in
  channels currently

Change-Id: I430f77baba2bcf306121e80aba61684c229c3981
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5641
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-22 13:08:37 +00:00
sterni
1f3804b9cd feat(sterni/emacs): enable editorconfig-mode
Change-Id: I5d0a5302321b768c7d23530d559115e3d8019223
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5581
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-12 16:36:22 +00:00
sterni
6c46ee03af feat(users/sterni/emacs): make org-clock-csv available
Change-Id: I3731803882992a7a852c24d03d50afea74d885fc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5576
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-11 17:38:51 +00:00
sterni
47fdd8c954 feat(sterni/emacs): add keybind for browse-url-at-point
Change-Id: I537fed6292ed99791ec0d2ef90f7f40523e72dda
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5573
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:22:16 +00:00
sterni
ac0fefdb3e feat(sterni/emacs): add keybind for M-x man
Change-Id: Ia3ddc393300150712276fc8b3d3bdbcd95a5361c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5572
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:22:16 +00:00
sterni
5cccb0c573 feat(sterni/emacs): add key bindings for project-* commands
Change-Id: I482b629747adebe049e1e145c13efec17a0d2b7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5571
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:18:14 +00:00
sterni
1e3306ab57 feat(sterni/emacs): use bash login shell for M-x shell
bash (unlike fish) doesn't break down if TERM=dumb which is the only one
I'll be using in emacs (I want to reduce my usage of things depending on
ANSI escape sequence to a minimum, for stuff that needs it I still have
foot). bash is started in login shell mode so /etc/profile is sourced
which will a) enable direnv support and b) setup some tweaks (relating
to PAGER etc.) if TERM=dumb.

Since I use a semicolon for a prompt in (ba)sh, shell-prompt-pattern
needs to be adjusted.

Change-Id: If58b6d1edf1d9ab1883cb51c27729e23d889b16c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5570
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-10 18:18:14 +00:00
sterni
d41ac7be60 feat(sterni/emacs): add keybind for revert-buffer
Change-Id: I34a3b7c66854061b57dcd8d6181e62fe44156cb1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5544
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:16 +00:00
sterni
333786db49 feat(sterni/emacs): open man pages in same buffer
Change-Id: I84d1b4677329c24f403d23d47ff48c1666a48536
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5543
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:15 +00:00
sterni
3027c3ef64 fix(sterni/emacs): prevent ediff from creating a new window
This is really annoying since the window is not recognized as a popup /
dialog window by sway.

Change-Id: Icacf7f673e6d96915711950185a704fccd95aed3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5542
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:15 +00:00
sterni
952922a0a9 feat(sterni/emacs): use evil C-w bindings, but with arrow keys
hjkl are a huge pain to use with neo layout.

Change-Id: Ic3969c00aa920c4cfea25f5ea16bf38b6bbd5e07
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5541
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:53:15 +00:00
sterni
6128f0262e feat(sterni/emacs): enable so-long-mode
Change-Id: Iee0023b5f6f3dbe59b685081b61bf8ef5075e6db
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5540
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:52:13 +00:00
sterni
ebba8105bc feat(sterni/emacs): install CMake mode
Change-Id: Ia48809cd0a8de9b2d7f93b83976d97df08081cb9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5539
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:52:13 +00:00
sterni
fe8b7b4ccd refactor(sterni/emacs): M-x sort-lines the dependencies
I'm never able to keep up such a category-based sorting.

Change-Id: I1fd1ee064df9b1c5f8c7932f0cfee7c817be3767
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5538
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-09 13:52:13 +00:00
sterni
1dd67af10e chore(users): reflect emacsGcc -> emacsNativeComp rename
Change-Id: I0217b1e316767b48b79f23e9d644b00b7fcc2df2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5518
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-04 15:59:47 +00:00
sterni
419dd2a7aa feat(sterni/emacs): install meson-mode
Change-Id: I8d0f741a478c00fd0592f7ed5f9640d5019ce08d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5515
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-02 21:14:54 +00:00
sterni
8e85079012 feat(sterni/emacs): enable server and include emacsclient
Change-Id: Icaf22595c774bdceb7e79f5302cde8d039aa3b09
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5401
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-03-27 10:14:10 +00:00
sterni
9cba0624d6 feat(sterni/emacs): setup direnv and lsp(-haskell)
The LSP setup is very basic at the moment, I'll probably want lsp-ui as
well and other bits and pieces.

Change-Id: Ic0360bbfde98e99990aa3ccb68ea045b522e67ce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5386
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-03-12 12:38:41 +00:00
sterni
5cabe369ed chore(sterni/emacs): adjust to languagetool configuration changes
Change-Id: Ieaa49bebbe05d7298158839a59cd53ff1402da24
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5355
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-09 10:19:31 +00:00
sterni
69956d9a0b fix(sterni/emacs): make css mode respect tab-width
Change-Id: I72aa96f329cee2befbd7d3b9959ab5ffad1e0953
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5343
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-01 18:15:35 +00:00
sterni
7d0b38b7da feat(sterni/emacs): set up org-capture
Change-Id: If98dbae0683fda40e47f5d5701fdf85580a831a8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5342
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-01 18:13:34 +00:00
sterni
09553a52d1 feat(sterni/emacs): add keybind for org-agenda
Change-Id: Ic1610aa98f07848531565b4b4edd14675ac18961
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5341
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-03-01 18:13:34 +00:00
sterni
4d5459ef93 feat(sterni/emacs): set up org-agenda
Change-Id: Ic8373938cc9343e2fe0d561edf6c7b5f03c26358
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5331
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-26 22:33:17 +00:00
sterni
36f6322d16 feat(sterni/nix/fun): implement tail call “optimization” for Nix
I've had the notion that builtins.genericClosure can be used to express
any recursive algorithm, but a proof is much better than a notion of
course! In this case we can easily show this by implementing a function
that converts a tail recursive function into an application of
builtins.genericClosure.

This is possible if the function resolves its self reference using a
fixed point which allows us to pass a function that encodes the call to
self in a returned attribute set, leaving the actual call to
genericClosure's operator. Additionally, some tools for collecting meta
data about functions (argCount) and calling arbitrary functions (apply,
unapply) are necessary.

Change-Id: I7d455db66d0a55e8639856ccc207639d371a5eb8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5292
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-02-15 12:52:19 +00:00
sterni
de62043a74 refactor(rust-crates-advisory): move report generation into script
This script is somewhat usable by humans (it even has a help screen!)
and can be reused in //users/sterni/nixpkgs-crate-holes. We are using
bash since that allows us to exit with the actual exit code of
cargo-audit - something that's not possible in execline.

Change-Id: I3331ae8222a20e23b8e30dc920ab48af78f0247c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5228
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-02-13 18:42:44 +00:00
Vincent Ambo
3318982f81 chore: move some meta.targets definitions to meta.ci.targets
Change-Id: Icdec1dec89158fb596c5185ac7105892081947f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5252
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: tazjin <tazjin@tvl.su>
2022-02-08 12:06:10 +00:00
sterni
a2ecd53f58 chore: clean up some obsolete TODOs
* //3p/nix: probably not worth investing time into this anymore

* //users/sterni/emacs: The emoji problem disappeared by itself with a
  newer emacs version, however a different one remains…

* //web/panettone: If we ever want to change the behavior, we should
  just decide the behavior statically instead of using conditions and
  restarts, as we only call it in one place, so making different
  decisions depending on call sites is not really a use case we have.

Change-Id: Iff9d439ce356db41ce34d690fb7b6a01822022fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5223
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-02-04 15:55:19 +00:00
sterni
66055161fb feat(tools/rust-crates-advisory): omit GHFM checklist in buildkite
Buildkite doesn't understand GitHub Flavored Markdown and having a read
only checklist in there is probably not much use.

Change-Id: I41538487087e8c817b1a5e653f077bb0fbe6eb47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5201
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-04 11:22:43 +00:00
sterni
5d06425655 chore: move format-audit-result.jq out of //users/sterni
In the spirit of the readTree filter we should also not include files in
user directories from the outside.

Change-Id: I1abe36a721048900d2758b5986063b68b8d1af93
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5200
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-02-04 11:20:41 +00:00
sterni
5bc73de59d feat: move mblog header handling into mime4cl
Accessing the headers of a MIME message feels like something mime4cl
should handle. We implemented this ad hoc in mblog before in order to
not need to worry about doing it in a sensible way. Now we introduce a
decent-ish interface for getting a header from a MIME message,
mime-message-header-values:

* It returns a list because MIME message headers may appear multiple
  times.

* It decodes RFC2047 only upon request, as you may want to be stricter
  about parsing certain fields.

* It checks header name equality case insensitively.

The code for decoding the RFC2047 string is retained and still uses
babel for doing the actual decoding.

Change-Id: I58bbbe4b46dbded04160b481a28a40d14775673d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5150
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
81c47da91c refactor(sterni/mblog/note): don't escape streams char by char
Depending on the stream backing this, read-sequence should be more
efficient.

Change-Id: I5d0461f76f4b132ac6e6c3a2e503f0173d5f4114
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5194
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
98e4cd032f feat(users/sterni/mblog): implement mblog executable
This change finally sort of puts the parts together: We take a maildir,
render all its note messages as standalone HTML, extract the attachments
alongside and finally generate a global index page linking all notes.

The new executable and mnote-html are both contained in the same image
and we dispatch the right functionality based on argv[0].

Change-Id: I5a5bdbfaca79199f92e73ea4a2f070fa900d2bc4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5113
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00
sterni
6cd1f6f183 refactor(sterni/mblog/note): only get escape-char-minimal from WHO
This is the only thing we need from that package and it avoids having
to solve the annoying conflict between closure-html and who.

Change-Id: Iacfb8d4948d1987e767ffc456b8e141b468ef6d9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5111
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-02 20:47:45 +00:00