Re: new eggs: split schematra's modules into their own eggs + hiredis egg
Mario Domenech Goulart via Chicken-users <[email protected]>
| Newsgroups | gmane.lisp.scheme.chicken |
|---|---|
| Message-ID | <[email protected]> |
Hi Rolando, On Mon, 25 Aug 2025 19:43:12 -0700 Rolando Abarca via Chicken-users <[email protected]> wrote: > I should've test this a bit more, I had to split one more egg. Now all deps should be properly packaged. > > * [new] schematra-csrf > * release info: https://raw.githubusercontent.com/schematra/schematra/refs/heads/main/schematra-csrf.release-info > * docs: http://wiki.call-cc.org/eggref/5/schematra-csrf > > Thanks! > - Rolando > > On Mon, Aug 25, 2025 at 4:30 PM Rolando Abarca <[email protected]> wrote: > > Hi everyone, > > Following some feedback I decided to split schematra into 3 (for now) different eggs: > * schematra (no changes to this one, but I updated the tarball url in the release info) > * [new] schematra-session: cookie-based session middleware > * release info: > https://raw.githubusercontent.com/schematra/schematra/refs/heads/main/schematra-session.release-info > * docs: http://wiki.call-cc.org/eggref/5/schematra-session > * [new] oauthtoothy (oauth2 middleware) > * release info: https://raw.githubusercontent.com/schematra/schematra/refs/heads/main/oauthtoothy.release-info > * docs: http://wiki.call-cc.org/eggref/5/oauthtoothy > * [new] chiccup (html rendering middleware) > * release info: https://raw.githubusercontent.com/schematra/schematra/refs/heads/main/chiccup.release-info > * docs: http://wiki.call-cc.org/eggref/5/chiccup > > I'm trying to see if it would work to have some sort of mono-repo for the schematra eggs. They're all hosted here: > https://github.com/schematra/schematra Thanks for splitting the schematra egg into separate eggs. So far I've added chiccup to the coop. A couple of notes and questions for me to understand the current situation. If I understand correctly, we have the following dependencies: * schematra-session -> schematra * schematra-csrf -> schematra, schematra-session * oauthtoothy -> schematra, schematra-session * The currently released version of schematra (0.2.2) depends on chiccup, but doesn't declare it a dependency, so installation fails: http://salmonella-linux-x86.call-cc.org/chicken-5/clang/linux/x86/2025/08/26/salmonella-report/install/schematra.html * Even if chiccup is installed, the installation of schematra fails with Error: (open-input-file) during expansion of (define-version-constants ...) - cannot open file - No such file or directory: "schematra.release-info" * At the moment, assuming the schematra installation issues get solved schematra will install a schematra-csrf module, which will conflict with the schematra-csrf module installed by the schematra-csrf egg. * schematra-csrf (the module of schematra), depends on schematra-session. Since schematra-session depends on schematra, we have a circular dependency. * oauthtoothy has a duplicated dependency on schematra in its egg file (not an issue, but since I was looking into it, I thought it would be good to point it out). Considering these issues, if we add those eggs, they won't be installable in their current state. I don't have a good idea about the architecture of the schematra-related eggs. Do you have a plan on how to make the eggs installable? It's possible that I'm missing something. If that's the case, please let me know. > I'm also releasing a new hiredis-based redis egg: > * hiredis > * available at: https://github.com/schematra/chicken-hiredis > * release info: https://raw.githubusercontent.com/schematra/chicken-hiredis/refs/heads/main/hiredis.release-info > * docs: http://wiki.call-cc.org/eggref/5/hiredis This one has an invalid category. You probably mean `db' instead of `databases'. What are the requirements regarding the version of libhiredis? With version 0.14 from Debian 12 I get the following error: executing: "sh /tmp/temp16ea.2571894/hiredis/0.1.0/hiredis.build.sh" /tmp/temp16ea.2571894/hiredis/0.1.0/build-redis -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /tmp/temp16ea.2571894/hiredis/0.1.0 -C -I/tmp/temp16ea.257189 4/hiredis/0.1.0 -O2 -d1 hiredis.scm -o /tmp/temp16ea.2571894/hiredis/0.1.0/hiredis.so In file included from /tmp/temp16ea.2571894/hiredis/0.1.0/hiredis.c:11: /tmp/temp16ea.2571894/hiredis/0.1.0/redis_helpers.c: In function `redisReplyDouble': /tmp/temp16ea.2571894/hiredis/0.1.0/redis_helpers.c:14:11: error: `redisReply' has no member named `dval' 14 | return r->dval; | ^~ All the best. Mario -- https://parenteses.org/mario