about summary refs log tree commit diff
path: root/third_party (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-10-09 r/6747 chore(3p/sources): bump channels & overlays (2023-10-08)Vincent Ambo1-17/+17
Change-Id: I9eeaffad53aba278cd9082c5b4c3e7b1c5f6cc22 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9585 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: tazjin <tazjin@tvl.su>
2023-10-09 r/6746 subtree(3p/exwm): bump exwm to upstream commit '56db521a'Vincent Ambo13-307/+453
This bumps us past EXWM 0.28, which has several major fixes. Change-Id: Ie89997cc5d60f4e5aaedfe60368571420b7e4b9d
2023-10-08 r/6737 chore(3p/nixpkgs): remove current stable overlay picksVincent Ambo1-8/+1
These should be fixed in unstable. Change-Id: Ibff2d42f75869661a834797c2d5d455be3777105 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9586 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-10-08 r/6734 chore(3p/sources): bump channels & overlays (2023-10-04)Vincent Ambo2-18/+19
nixpkgs changed something in how it deals with configuration of the package set itself when that is externally instantiated (like in depot) It seems like we can work around this mostly by just ... deleting some code, as all instances of this were for allowing unfree code, which we've already set on the top-level anyways. * //users/sterni: fix nixpkgs config assertion to point at pkgs.config * //users/wpcarro: disable locate service, which is broken in nixpkgs Change-Id: Iacf6f1c8fd5b5289e7265e155d74f8269a858ceb Reviewed-on: https://cl.tvl.fyi/c/depot/+/9541 Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2023-10-08 r/6727 feat(third_party/overlays): support unix domain sockets in evansFlorian Klink2-0/+47
This applies a patch adding support for unix domain sockets to evans, which was also sent upstream at https://github.com/ktr0731/evans/pull/680. Change-Id: I6e483ace45428a7526a200f885aa92c2de88b650 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9563 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de>
2023-09-30 r/6675 feat(3p/geesefs): add derivation for GeeseFSVincent Ambo1-0/+25
Change-Id: I93d0ccd35eb16005779a2784d1fabc3fd9ef1b83 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9492 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-26 r/6657 chore(third_party/crate2nix): bump crate2nix to current HEADFlorian Klink1-7/+7
This will bring conditional features support. Also invoke crate2nixgenerate with the --all-features argument, so all dependencies, including the ones for optional features are included in the Cargo.nix file. Change-Id: I3bbcb200c9b481f660db89efba650ea4f7418a63 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9470 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-09-26 r/6656 chore(3p/sources): bump channels & overlays (2023-09-26)Vincent Ambo1-21/+21
Change-Id: I05a1a523bae0b60acb31d49d761c032d45217fb9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9466 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-09-19 r/6620 chore(3p/sources): bump channels and overlays (2023-09-17)Vincent Ambo3-17/+17
* 3p/cgit: import fixes for git v2.42.0 Upstream patch: https://git.zx2c4.com/cgit/patch/?id=2f50b47c72cbc4270bbd12ae7f520486d5f42736 Change-Id: I7549f909b145becaccb983936dc5c3e17941122b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9353 Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-09-19 r/6619 chore(3p/overlays): remove unnecessary nixpkgs workaroundsVincent Ambo1-10/+1
These things were fixed upstream. Change-Id: I027862aabd8239111c8e94aa5390af192386c4a1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9368 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: tazjin <tazjin@tvl.su>
2023-09-19 r/6618 chore(users/wpcarro): drop 'exa' from NixOS systemsVincent Ambo1-7/+0
This is unmaintained and has been removed from nixpkgs. As an alternative, 'eza' can be installed. This is the last instance of 'exa' in depot, so the workaround from the channel bump has been removed. Change-Id: Id915260b6c969a6b2a8ecae49d3ce92285f09f71 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9330 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com>
2023-09-15 r/6591 chore(3p/sources): bump channels & overlays (2023-09-15)Vincent Ambo2-27/+34
* 3p/overlays: add shell script warning about 'exa' removal This has been removed in nixpkgs, leading to eval errors. This trick is a nicer way to work around the hard deprecation without requiring approval from inactive users. This will be cleaned up in cl/9330. Change-Id: I10be59feff8f658dc566456acfc2c9ebbd78b59d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9328 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-06 r/6561 chore(3p/sources): bump channels & overlays (2023-09-06)Vincent Ambo1-21/+21
* //users/tazjin/nixos: disable virtualbox because it doesn't build anymore. I don't actually need it. Change-Id: Ie4640c09406485ed61673919b2c7621d0a809622 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9271 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su>
2023-09-06 r/6560 chore(3p/sources): bump channels & overlays (2023-08-21)Vincent Ambo3-29/+40
Included changes: * tvix/eval: enable some lang tests on nix_latest Nix 2.16 contains some breaking language changes which Tvix does not yet implement, but the existing tests for them are now passed by Nix 2.16 (but not yet by Tvix). * tvix/eval: disable a lang test on nix_latest In Nix 2.17, the identifier formatting test fails because some behaviour changed. We have not investigated further yet. * 3p/overlays: use version of ihp-hsx that works with GHC 9.4 Originally from the separate cl/9185. * top-level: introduce a mechanism to exclude build targets from CI in the top level. This fixes b/296. * users/grfn: disable builds of xanthous (and dependents) until the CLs fixing its build are submitted * 3p/overlays: build nixos-option against Nix 2.15, the only version with which it builds * 3p/overlays: bump tdlib to 1.8.16 Change-Id: Ia377f39dbdb08ac45ff830a615e64babc091e5ee Reviewed-on: https://cl.tvl.fyi/c/depot/+/9125 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-08-08 r/6475 chore(3p/sources): Bump channels & overlaysVincent Ambo2-18/+22
* web/pwcrypt: bump wasm-bindgen * corp/tvixbolt: bump wasm-bindgen * corp/rih/frontend: bump wasm-bindgen * corp/predlozhnik: bump wasm-bindgen * 3p/overlays: set hiPrio on nixpkgs-review package There is some upstream bug causing a conflict with the ZSH completion files generated by home-manager. Change-Id: Ibe5de5564d3214d48469abe175cbebe5356acf74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9046 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-08-08 r/6474 docs(3p/ddclient): add TODO-comment for eventually cleaning this upVincent Ambo1-0/+5
Change-Id: Id02e9e69890d00dedafa1700a1ea98dd68767c1d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9045 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-08-08 r/6473 chore(3p/sources): Bump channels & overlayssterni5-30/+320
* //users/grfn: vendor ddclient module and package into depot //3p/ddclient now contains the removed package expression and NixOS module with the following changes: - Include former uid/gid settings from ids.nix which have been removed by upstream with the ddclient module. - Rename to deprecate-ddclient, since it is impossible at the moment to prevent the corresponding mkRemovedOptionModule from being imported (https://github.com/NixOS/nixpkgs/issues/245265). I wrote a patch for nixpkgs that would at least allow individual mkRemovedOptionModule to be disable, but it is stuck for now: https://github.com/NixOS/nixpkgs/pull/245274. * //tools/magrathea: We need to pass -host to csc due to https://github.com/NixOS/nixpkgs/pull/246923 now. I don't fully grasp what this means, but it works and we are hardly cross-compiling, so it should be fine until I can get some answers from the change author. * //3p/nixpkgs:nixos-option: provide latest Nix as input https://github.com/NixOS/nixpkgs/pull/237442 adapted nixos-option to API changes in Nix's libraries which means it needs to be built against Nix 2.15, not 2.3. Let's hope it stays up to date with the latest Nix version in the future, so we can keep this override as is. Sadly this means that machines in depot will depend on two versions of Nix going forward. * //3p/nixpkgs:tdlib: update to match emacs-overlay Change-Id: Iac4dba58a076ecf25e8647fd9a06cbabf2f7809e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9004 Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-07-14 r/6421 feat(users/Profpatsch/whatcd-resolver): Add torrent & basic statusProfpatsch2-3/+5
This is a bit dirty, ideally we have a single polling loop that uses `hx-swap-oob` to fill all status fields in the table (to avoid O(n) looping requests). Change-Id: I78ab392964cf00e39424002fe48cb35a60af184a Reviewed-on: https://cl.tvl.fyi/c/depot/+/8875 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-07-14 r/6414 feat(users/Profpatsch/whatcd-resolver): add initial redacted APIProfpatsch2-0/+26
Change-Id: I3143a932646d61b7661df4e4da4edf24a360f6cc Reviewed-on: https://cl.tvl.fyi/c/depot/+/8833 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-07-14 r/6413 feat(users/Profpatsch): init whatcd-resolverProfpatsch3-0/+74
Change-Id: Ieb377fb8caa60e716703153dfeca5173f9a6779d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8830 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-07-13 r/6407 chore(users/Profpatsch): replace Label with pa-labelProfpatsch5-0/+97
We upstreamed some of these modules to hackage, so I can get rid of it here. Change-Id: I70e1e864a81029cadbbd96cc019a768728431cff Reviewed-on: https://cl.tvl.fyi/c/depot/+/8659 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-07-13 r/6406 chore(third_party/overlays/haskell): add Profpatsch to OWNERSProfpatsch1-0/+2
Change-Id: If86a22f729c483323ae0dfc65bc5f32e8379eb85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8688 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-07-10 r/6402 fix(3p/josh): add package name to joshVincent Ambo1-2/+4
Without this, the derivation is just called `rust-workspace-unknown` which is - at best - a little confusing. Change-Id: I3f50f87a411248ffcce9397a4ddb57e87abeab1c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8923 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-07-08 r/6398 chore(3p/sources): Bump channels & overlayssterni1-21/+21
* //tvix/store: update code generated from proto files Change-Id: Ie6aa53e71f07a0a0e637673ba4005ed983db315d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8929 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-07-07 r/6396 fix(users): rename zseri -> fogtiAlain Zscheile1-1/+1
in accordnace with similar renaming on other sites (e.g. GitHub, Exozyme, chaos.social) My experience with exozyme tells me that fully applying this change might require manual editing of gerrits database anyways to fix broken references/patch ownerships. Change-Id: I024ff264c09b25d8f854c489d93458d1fce7e9f4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8919 Autosubmit: lukegb <lukegb@tvl.fyi> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: zseri <zseri.devel@ytrizja.de>
2023-07-03 r/6389 fix(3p/gerrit): mangle the gerrit fetch impure FOD sha256 againAlain Zscheile1-1/+1
Change-Id: I82314aa0f0fd4b0f33dc26f587a8121fd2d7c036 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8921 Reviewed-by: zseri <zseri.devel@ytrizja.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-07-02 r/6388 chore(3p/josh): enable debug information in buildsVincent Ambo1-0/+5
Change-Id: I09e980e871bec32397755fb0cafeaa61701f47a7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8916 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-07-02 r/6387 fix(3p/josh): build with Rust 1.69.0 exactlyVincent Ambo1-1/+8
As a workaround for b/283, we are downgrading the version of Rust used to build josh as a strange issue causing invalid memory allocation requests occurs with Rust 1.70.0 Change-Id: I94476077eb4a8cebb82f55c20397c299ff57c0a4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8917 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-06-30 r/6375 chore(3p/josh): bump to latest master commitVincent Ambo1-2/+2
Change-Id: Iebddca35f0a870799c8a19ae019cecd9803a3e9c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8907 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su>
2023-06-29 r/6361 chore(3p/sources): Bump channels & overlayssterni19-84/+97
* //3p/sources: switch stable channel from 21.11 (!) to 23.05 * //users: adapt to emacsUnstable to emacs-unstable rename * //users/grfn: use default Linux kernel version everywhere, as 5.15 has broken in this version of nixos-unstable. * //3p/cgit: adapt to git 2.41.0 The committed changes are the same as the [patch1] I've submitted to cgit-pink which is in turn based on Christian Hesse's [patch2]. patch1: https://causal.agency/list/thread/20230624144033.802270-1-sternenseemann%40systemli.org.html#20230624144033.802270-2-sternenseemann@systemli.org> patch2: https://lists.zx2c4.com/pipermail/cgit/2023-June/004843.html Co-authored-by: Christian Hesse <mail@eworm.de> Change-Id: I549a62e7c85c66d772edda997819a40f2d5835d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8855 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: grfn <grfn@gws.fyi>
2023-06-20 r/6339 chore(3p/terraform-provider-glesys): 0.3.2 -> 0.9.0Vincent Ambo1-3/+4
Also sets the `spdx` field which is specific to mkProvider and was throwing eval warnings. Change-Id: I37c04feb426b16f552fb0e0e2f188fd8d3bd0f03 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8836 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-06-15 r/6311 chore(3p/sources): Bump channels & overlayssterni2-22/+22
* //ops/modules/depot-inbox: Adapt to upstream option type declaration. See nixpkgs commit b6ed3b8f402893df91a8e21ce993520301c2f076. * //ops/machines/sanduny, //users/tazjin/polyanka: Remove boot.loader.grub.version options (no longer has any effect). * //users/sterni/emacs: reflect rename emacsPgtk -> emacs-pgtk * //3p/overlays: update tdlib to match emacs-overlay * //3p/overlays: give EXWM from depot a separate name * //users/grfn/system/home: disable Slack support in ntfy Change-Id: I03bde088bc70e05b23925f244899807210cb7b20 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8547 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-06 r/6230 subtree(3p/exwm): update to commit 'b62d5e79'Vincent Ambo9-235/+531
This is almost one year of changes to EXWM. Note that it undoes our port of https://github.com/ch11ng/exwm/pull/737 That PR hasn't seen any movement in three years, so it might not be that relevant anymore. Other stuff has been mainlined in the meantime. Change-Id: I0845ff8a28a5bb1553855f6d6f0ceeaedcf0809e
2023-05-30 r/6222 chore(3p/sources): bump nixpkgs channels & overlaysVincent Ambo4-69/+21
* 3p/buzz: delete package This is unused, old, and uses an insecure version of OpenSSL which broke eval. * 3p/overlays: remove nvd patch Newer versions of nvd are compatible with Nix 2.3 by default. * users/grfn/system/home: remove explicit rust-analyser package This conflicts with `rustup`, causing eval failures, as the wrapper seems to now be included in `rustup` by default. * users/grfn/system: temporarily disable ISO builds They were broken upstream in nixpkgs by a change to stdenv/setup.sh, being fixed in https://github.com/NixOS/nixpkgs/pull/234883 Change-Id: I0eea99ec98f4e73e615c012ffae1d0e37122e73b Reviewed-on: https://cl.tvl.fyi/c/depot/+/8585 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su>
2023-05-23 r/6182 docs(3p/lisp/mime4cl): describe changes compared to original versionsterni2-7/+27
Spell out that “may diverge” is more of a “has diverged by now”. We are essentially maintaining a fork of mime4cl. Change-Id: I9049e8296a666c3d1b08eae28813147f360771ef Reviewed-on: https://cl.tvl.fyi/c/depot/+/8621 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6158 test(3p/lisp/mime4cl): test decoding RFC2047 examplessterni3-2/+22
Change-Id: I32abb00e8cec697adb45b9a175cd753e807d33d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8588 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6157 refactor(3p/lisp/mime4cl): remove unused DECODE-STREAMsterni1-11/+0
This function has apparently been unused ever since we imported mime4cl into depot. Change-Id: I224c9b2947ffd641e01e8cd5454d7a7fa75278d4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8587 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2023-05-18 r/6156 refactor(3p/lisp/mime4cl): port remaining base64 decoding to qbase64sterni4-75/+39
DECODE-BASE64-STREAM-TO-SEQUENCE is the only thing that requires anything fancy: We read into an adjustable array. Alternative could be using REDIRECT-STREAM and WITH-OUTPUT-TO-STRING, but that is likely slower (untested). Test cases are kept for now to confirm that qbase64 is conforming to our expectations, but can probably dropped in favor of a few more sample messages in the test suite. :START and :END are sadly no longer supported and need to be replaced by SUBSEQ. Change-Id: I5928aed7551b0dea32ee09518ea6f604b40c2863 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8586 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>
2023-05-18 r/6155 refactor(3p/lisp/mime4cl): remove be and be*sterni6-117/+94
Seems simple enough to use standard LET and a few parentheses more which stock emacs can indent probably. Change-Id: I0137a532186194f62f3a36f9bf05630af1afcdae Reviewed-on: https://cl.tvl.fyi/c/depot/+/8584 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6154 refactor(sterni/mblog): move REDIRECT-STREAM into mime4clsterni2-9/+20
Eventually, we'll want to replace dump-stream-binary with something more efficient—given that we have flexi-streams we can use something that only does matching element types no problem. REDIRECT-STREAM is much more efficient thanks to using an internal buffer. streams.lisp gets a new section at the beginning for grouping utilities that don't have any real (internal) dependencies. Change-Id: I141cd36440d532131f389be2768fdaa54e7c7218 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8583 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6153 refactor(3p/lisp/mime4cl): use qbase64 for decoding FILE-PORTIONssterni2-2/+2
Porting over the rest of the decoding (RFC2047) and especially encoding over to qbase64 is still pending, as it is a little trickier. Change-Id: Id4740eb074a387aeea2cb94b781e204248530799 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8582 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6152 refactor(mime4cl): replace *-input-adapter-stream with flexi-streamssterni2-124/+58
The input adapter streams were input streams yielding either binary or character data that could be constructed from a variable data source. The stream would take care not to destroy the underlying data source (i.e. not close it if it was a stream), so similar to with FILE-PORTIONs, but simpler. Unfortunately, the implementation was quite inefficient: They are ultimately defined in terms of a function that retrieves the next character in the source. This only allows for an implementation of READ-CHAR (and READ-BYTE). Thanks to cl/8559, READ-SEQUENCE can be used on e.g. FILE-PORTION, but this was still negated by a input adapter based on one—then, READ-SEQUENCE would need to fall back on READ-CHAR or READ-BYTE again. Luckily, we can replace BINARY-INPUT-ADAPTER-STREAM and CHARACTER-INPUT-ADAPTER-STREAM with a much simpler abstraction: Instead of extra stream classes, we have a function, MAKE-INPUT-ADAPTER, which returns an appropriate instance of FLEXI-STREAM based on a given source. This way, the need for a distinction between binary and character input adapter is eliminated, since FLEXI-STREAMS supports both binary and character reads (external format is not yet handled, though). Consequently, the :binary keyword argument to MIME-BODY-STREAM can be dropped. flexi-streams provides stream classes for everything except a stream that doesn't close the underlying one. Since we have already implemented this in POSITIONED-FLEXI-INPUT-STREAM, we can split this functionality into a new superclass ADAPTER-FLEXI-INPUT-STREAM. This change also allows addressing the performance regression encountered in cl/8559: It seems that flexi-streams performs worse when we are reading byte by byte or char by char. (After this change mblog is still two times slower than on r/6150.) By eliminating the adapter streams, we can start utilizing READ-SEQUENCE via decoding code that supports it (i.e. qbase64) and bring performance on par with r/6150 again. Surely there are also ways to gain back even more performance which has to be determined using profiling. Buffering more aggressively seems like a sure bet, though. Switching to flexi-streams still seems like a no-brainer, as it allows us to drop a lot of code that was quite hacky (e.g. DELIMITED-INPUT- STREAM) and implements en/decoding handling we did not support before, but would need for improved correctness. Change-Id: Ie2d1f4e42b47512a5660a1ccc0deeec2bff9788d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8581 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-18 r/6151 refactor(3p/lisp/mime4cl): use flexi-streams and binary inputsterni2-129/+115
This refactor is driven by the following (ultimate) aims: - Get rid of as much of the custom stream code in mime4cl which makes less code to maintain in the future. - Lay the groundwork for correct handling of 8bit transfer encoding: The mime4cl we inherited assumes that any MIME message can be decoded completely by the CL implementation (in SBCL's case using latin1) into CHARACTERs. This is not necessarily the case. flexi-streams allows changing how the stream is decoded on the fly and also has support for reading the underlying bytes which is perfect for the requirements decoding MIME has. - Since flexi-streams uses trivial-gray-streams, it supports READ-SEQUENCE. Taking advantage of this may improve decoding performance significantly in the future. This incurs the following changes: - Naturally we now open given files as binary files in MIME-MESSAGE. Given strings are encoded using STRING-TO-OCTETS and then passed on to a new octet vector method. Instead of MY-STRING-INPUT-STREAM this now uses flexi-streams' WITH-INPUT-FROM-SEQUENCE. - OPEN-FILE-PORTION and OPEN-DECODED-FILE-PORTION need to be merged, since the transfer encoding not only implies an extra decoder stream that needs to be attached after file portion stream, but also imply a certain encoding of the stream itself (mostly binary vs. ASCII). As flexi-streams can change their encoding on the fly this could be untangled again, but it is not strictly necessary. As before, we use the DATA slot of the file portion to create a fresh stream if possible. Instead of strings we now use an vector of octets to match MIME-MESSAGE. The actual portioned stream relies on POSITIONED-FLEXI-INPUT-STREAM, a subclass of the stock FLEXI-INPUT-STREAM class, described below. - POSITIONED-FLEXI-INPUT-STREAM replaces DELIMITED-INPUT-STREAM. It is created using MAKE-POSITIONED-FLEXI-INPUT-STREAM which accepts the same arguments as MAKE-FLEXI-STREAMS and, additionally, :IGNORE-CLOSE. A POSITIONED-FLEXI-INPUT-STREAM works the same as an FLEXI-INPUT-STREAM, but upon creation, the underlying stream is rewinded or forwarded to the argument given by :POSITION using FILE-POSITION. If :IGNORE-CLOSE is T, a call to CLOSE is not forwarded to the underlying stream. Change-Id: I2d48c769bb110ca0b7cf52441bd63c1e1c2ccd04 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8559 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-16 r/6147 refactor(3p/lisp/mime4cl/test): create one test case per sample filesterni2-22/+24
Since rt.lisp seems to start tests in parallel, the informational output about which sample file is being tested gets mangled in all sorts of ways. The solution is to just loop over the sample files outside a test and schedule a single test case per sample file from there. Change-Id: I4494e4a526ce6d92a298cf7daf06c8013c7ca605 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8569 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-14 r/6137 feat(3p/lisp): add qbase64sterni2-0/+70
Change-Id: I448b9241726c3bb08f14188775a66e1da1225e02 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5004 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-05-12 r/6136 chore(3p/sources): bump channels and overlaysVincent Ambo1-15/+15
emacs-overlay has been held back because package(s) needed for //users/sterni/emacs are broken in the latest version. Change-Id: Icb8bf34b4d039f5c24ec8f30fd8f47205a343988 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8562 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de>
2023-05-09 r/6128 fix(3p/lisp/mime4cl): use OTHERWISE in CASE not Tsterni1-1/+1
Change-Id: Ia674705b27fbc4ae3055973eec563b078a4a873c Reviewed-on: https://cl.tvl.fyi/c/depot/+/8558 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
2023-05-09 r/6127 fix(3p/lisp/mime4cl/tests): fix sample discovery in nix buildsterni1-1/+1
CL's path handling strikes once again… Change-Id: I4345941c8e2856f80cfddecc5356464f92b1a150 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8557 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
2023-05-09 r/6126 refactor(3p/lisp/mime4cl): drop unused split-multipart-partssterni1-28/+0
Change-Id: If47a8ffde5b4910f6c52fe82a2372431a0e46045 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8556 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2023-05-09 r/6125 refactor(3p/lisp/mime4cl): rename :stream to :underlying-streamsterni2-11/+12
This makes sure that initializing coder-stream-mixin (for the most part) has the same interface as initializing qbase64:decode-stream. This will make integrating that as a faster replacement to mime4cl:base64-decoder-stream a bit easier. The idea is to replace the char by char base64 decoder with one that supports read-sequence. After that deliminited-input-stream needs to gain support for read-sequence as well, so we can actually take advantage of this fact. Finally, we'll have to evaluate the remaining decoders and think about switching the (base64) encoders over as well. Change-Id: If971da02437506e00a7c9fab2b94efc42725e62d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8555 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org>