IRC channel logs
2023-06-12.log
back to list of logs
<rlb>wingo: the other bug (airty) was because assembler.scm locally (re)defines write and I overlooked it :) <Kolev>daviid: OK, about to try what you suggested last night. <Kolev>daviid, cannot find `autogen.sh` anymore. <daviid>Kolev: it is "cd <the guile-lib-source-path>; ./autogen.sh <daviid>Kolev: but, if you cloned the repo, if you are using a tarball guile-lib, then only ./configure step is needed <daviid>Kolev: it still only finds guile 2.0 - i suggest you try to get some help from fedora people, is there a fedora libera.chat channnel maybe ... <Kolev>daviid, they just said to talk to Guile people. <daviid>Kolev, wha i can tell is, if you installed guile 3.0, and in a fresh terminal guile --version answers 3.0.7 [as you reported yesterday iirc], then the guile-lib configure steps should report it finds 3.0 ... if it only finds 2.0 still, something is wrong in your 'session settings' <Kolev>daviid, `guile --version` answers 2.x. <daviid>Kolev: ok, then you ask the fedora folks why is that <Kolev>Guile 3.0 has to be explicitly called by `guile3.0`. <Kolev>I'm having a hard time in #fedora. 😞️ <Kolev>Removed `guile`. Now the executable `guile3.0` exists in my path, but no `guile` executable exists in my path. <daviid>Kolev: can you ask the fedora people why there is no guile-lib package in fedora, just curious - then you removed guile 2.0, but that didn't rename the fedora guile 3.0 scripts i guess, but, if you could remove 2.0, it means no fedora pkg depens on it, good knews, then you may go in the dir where those are installed, and symlink them [if you have sudo access] <daviid>before you apply the above, it is important you confirm no other fedora pakg depends on guile 2.0 <Kolev>daviid, I symlinked /usr/bin/guile3.0 to /usr/bin/guile but `configure` still fails to see Guile. <daviid>Kolev: you need to symlink the guild as well, any guile scripts 'there' ... <daviid>Kolev: and then try in a fresh terminal first: guile --version <Kolev>daviid, agh! Removing `guile` and keeping `guile30` removes `guild`! <daviid>Kolev force a reinstall of the guile 3.0 package, that is abnormal [to says the least] <Kolev>daviid, guile3.0 exists though. <daviid>after you tremove guile 2.0, re sintall guile 3.0 and its dev package if any ... <daviid>not familiar [at all] with fedora ... <daviid>Kolev: you must make things work so both guile --version and guild --version work in a 'fresh terminal' <daviid>then and only then try to configure guile-lib <daviid>Kolev: you have a 'corrupted' environment - configure: error: found development files for Guile 2.0, but /usr/bin/guile2 has effective version 3.0 <daviid>Kolev: it still find guile-2.0 dev files <Kolev>daviid, I symlinked /bin/guile to /bin/guile3.0 to force guile3.0. <daviid>Kolev: my assumptionis you did not purge both guile 2.0 and if any guile-dev 2.0 packages <daviid>you need to do this before abythibg else <Kolev>daviid, it sounds like Fedora forces Guile 2.x... <Kolev>daviid, I remove `guile-devel` (which contains 2.x stuff) and now `configure` complains that there are no dev. packages installed. <daviid>ok, now you go in the dir where the bin are installed and symlink ... guile, guild, guile-config ... <daviid>i see we have guile, guild, guile-config, guile-snarf and guile-tools [which is a symlink to guild] <daviid>and make sure you effectively purged the 2.0 version of those ... <Kolev>OK, symlinked all of those. Same error. <Kolev>`guile` has been removed, along with `guile-devel`. <daviid>yeah, i see lines 39 and below, it still checks for guild2, guile-config2 and guile-tools2, but i have no idea why <RhodiumToad>trouble with guile-lib? I was just looking at that earlier <daviid>this is fedora problem really, just trying to help, but i am not the best to help ewith this - any fedora users here? <daviid>RhodiumToad: i very much doubt it is a guile-lib problem <Kolev>Can someone spin up a Fedora container/VM and reproduce my issue? I have the steps written down. <RhodiumToad>the configure in guile-lib is using some seriously deranged logic, and part of that is that the guile version checks are seriously wrong <Kolev>RhodiumToad, good to know. Wish I wasn't caught up into it. I just wanted to play with G-Golf. <Kolev>RhodiumToad, but G-Golf's `configure` does not see `guile-lib`. <Kolev>Oh, `sudo make install` on `guile-lib`... <daviid>where did you install those files? i suggest you uninstall, and try GUILE=/usr/bin/guile ./configure --with-guile-site=yes; make; make install; then try g-golf again <Kolev>I jsut did `sudo make install`. <daviid>RhodiumToad: as for find guile's scripts, guile-lib uses guile.m4 macros <daviid>Kolev: but where were those files were instlled must be known to guile ... <Kolev>daviid, I have no clue what I'm doing. 🤦️ <daviid>ok, can you tell us where those files where installed? presumably in /usr/local/share... ? <RhodiumToad>yes, it looks like there are two bugs: guile-lib's configure.ac, and the guile.m4 in guile itself <RhodiumToad>it's this in guile-lib's configure.ac that really breaks it: GUILE_PROGS([2.0.12]) <RhodiumToad>that'll make it look for guile2, guile-2, guile2.0, guile-2.0, guile2.0.12, guile-2.0.12 and _no other version_ <daviid>that is a guile.m4 acro, which checks that the installed guile version is at least >= 2.0.12 <Kolev>daviid, the script did not print to stdout the location of the installed files. <daviid>bug :) - that is what it should do <RhodiumToad>GUILE_PROGS with a version specified looks for _that specific version_, not for any other <RhodiumToad>if you don't specify a version, it'll use GUILE_EFFECTIVE_VERSION if set by a previous macro <RhodiumToad>oh, it'll also look for a plain "guile", but it checks that _last_ <daviid>RhodiumToad: that is not what it is supposed to do <RhodiumToad>so with GUILE_PROGS([2.0.12]) it'll never find a guile 3.0 if there's a guile2 or guile-2 binary to be found <daviid>anyway, RhodiumToad lets help Kolev 1st <Kolev>I'm documenting this as best I can. I don't want to lose this information. <daviid>RhodiumToad: then it should be updated, the guile.m4 macros should be upfdated, GUILE_PROGS _is_ there to check a minimal version ... <daviid>not to impose a major version ... none sense, as we 1st call GUILE_PKG([3.0 2.2 2.0]) <Kolev>RhodiumToad, where would I look for that? <RhodiumToad>er, I don't know where fedora puts them, the file name would be guile-lib-1.0.pc <Kolev>RhodiumToad, wouldn't the script say where it's going? <daviid>RhodiumToad: it's not fedora, as they installed manually, i beleice it is in $prefix/lib/pkgconfig/guile-lib-1.0.pc, and probably /usr/local/lib/pkgconfig/guile-lib-1.0.pc <Kolev>Here is what I have in /usr/share/guile/. <daviid>Kolev: here is my suggestion, in guile-lib: 'make uninstall; GUILE=/usr/bin/guile ./configure --with-guile-site=yes; make; sudo make install <RhodiumToad>that's not where the .pc file goes, it should be in $prefix/lib/pkgconfig as daviid says <daviid>then GUILE=/usr/bin/guile ./configure --with-guile-site=yes; make; sudo make install <daviid>or just try the g-golf steps again, that might be easier <daviid>in g-golf dir - ./autogen.sh; GUILE=/usr/bin/guile ./configure --with-guile-site=yes <RhodiumToad>this error "Package 'guile-lib-1.0', required by 'virtual:world', not found" is specifically about not finding a .pc file <daviid>ah, sorry then it will still need to add the path to /usr/local/lib/pkgconfig <RhodiumToad>I thought /usr/local was generally not used on linux <daviid>RhodiumToad: it is a default configure unless --prefix=... <RhodiumToad>unfortunately I don't know what pkg-config wants to see because freebsd has its own version which is slightly different <daviid>Kolev: can you 1st check in /usr/local/lib/pkgconfig/ there is a file guile-lib-1.0.pc <Kolev>⬢[caleb@toolbox g-golf]$ ls /usr/local/lib/pkgconfig/ <daviid>then we'll do the guile-lib steps again: <daviid> GUILE=/usr/bin/guile ./configure --prefix=/usr --with-guile-site=yes <daviid>ok try g-golf using the same configure optuons <daviid>GUILE=/usr/bin/guile ./configure --prefix=/usr --with-guile-site=yes <Kolev>What is `.go` file and doesn't that conflict with the Go programming language? <daviid>great - try make check when done <RhodiumToad>.go = presumably something like 'guile object', it's compiled guile bytecode <RhodiumToad>and I haven't checked, but I'd bet it predates widespread use of golang <Kolev>I can run most examples, but not Peg Solitaire. <Kolev>`cairo-devel` installed. Retrying. <Kolev>Cool. I can at least play with widgets and script stuff. <RhodiumToad>Kolev: another solution than using -prefix=/usr might have been to use PKG_CONFIG_PATH=/usr/local/lib/pkgconfig or something of the kind. <RhodiumToad>but I don't know if that works with "real" pkg-config rather than the freebsd clone <daviid>Kolev: you need a manually installed guile-cairo, i patched it recently, to run the simple-paintable.scm and animated-paintable.scm <daviid>the peg-solitaire example should work, what's the problem? <RhodiumToad>daviid: so what GUILE_PROGS actually does can be divided into two parts. One, find a guile binary. Two, find its version and check that it's >= the version specified. <RhodiumToad>the problem in this case is the first part, not the second <rlb>wingo: good progress but just hit something that I'm not sure yet how widespread the underlying issue will be -- we support null chars (which I knew), and we have at least one test (fortunately) that uses one, but that stops some utf-8 functions dead in their tracks. So I'll need to review some of the work with that in mind and likely make adjustments to which calls we use. <daviid>RhodiumToad: indeed, we should patch GUILE_PROGS, in the mean time, i added a GUILE3_PROGS in g-golf [sorry i forgot about this ...] <rlb>...offhand, I suspect it's more likely that some of the utf-8 functions (than the previous utf-32 functions) will just stop on nulls. <daviid>RhodiumToad: because if g-golf finds 3.0, in the GUILE_PKG([3.0 2.2 2.0]) step, it's not enough, it needs to be >= 3.0.7 ... <daviid>RhodiumToad: we can discuss this, i'd be happy to patch GUILE_PROGS <daviid>but now, i'd like to find why Kolev can't run the peg-solitaire example <Kolev>I'm happy without Peg Solitaire, but we can go through it if you like. <daviid>Kolev: does the css-basics.scm example work fine? <daviid>Kolev: ok - the peg-solitaire.scm is essential for users, because it shows how to implement drag-and-drop <daviid>Kolev: what is the gtk4 version you are using (just curious, this is normally nor the cause of the bug) <Kolev>daviid, how do I find that out? <daviid>the fedora package should tell you <Kolev>Package gtk4-4.10.4-1.fc38.x86_64 is already installed. <daviid>Kolev: are you using emacs/geiser? <Kolev>daviid, I'm using Emacs to look at the code, but don't know how to use Geiser, etc. <daviid>ok, is there a fedora package for geiser? <Kolev>daviid, doesn't look like it. <Kolev>daviid, should I do my Guile stuff in a Debian container? <daviid>ok, let's just try with emacs, can you, M-x shell <daviid>cd <where you installed-g-golf>/examples/gtk-4 <daviid>no no, fedora is as good as ... just that i am nor familiar <daviid>Kolev: you may later install geiser using the emacs package installer <daviid>did it load the peg-solitaire example fine? <Kolev>daviid, I got a Guile prompt back with no errors. <Kolev>$1 = #<<generic> gtk-css-provider-load-from-data (1)> <daviid>(gi-import-by-name "Gtk" "init") <daviid>(gtk-css-provider-load-from-data $4 %css-data) <daviid>Kolev: can you edit the peg-solitaire and remove the commented css lines, 245, 246 and the comment at the end of line 247, then remove line 248 <daviid>then load again and check %css-data is updated, then (make <gtk-css-provider>), (gtk-css-provider-load-from-data $xx %css-data) - with $xx being the results of the (make <gtk-css-provider>) <daviid>i'll prepare a version without the css to see if it works for you <rlb>OK, so perhaps a notable milestone -- all the tests are passing with a fully utf-8 internal stringbuf representation. <rlb>Though there's plenty left to do, i.e. we still convert to a temporary wide representation for a number of strings.c operations (to use the existing algorithms). But those can be converted incrementally and with less risk of obscure (even bootstrap level) failures. <rlb>This was the bigger chunk that was more "all at once, and all the way down" :) <rlb>i.e. the internal representation switch. <rlb>And yeah, I'm some combination of happy and relieved, not sure more which :) <Kolev>daviid, it acts like the commented lines are still there. <Kolev>daviid, overall, I think I'm impressed by the examples. No editing XML files. <daviid>Kolev: the next version of g-golf will fully support template ui files <Kolev>daviid, so no getting around editing XML? OK. <daviid>Kolev: can you drop this file somewhere, name it peg-solitaire-no-css.scm, then chmod a+x peg-solitaire-no-css.scm, then ./peg-solitaire-no-css.scm <Kolev>I wish there was a cool, real-world app written in G-Golf. <daviid>Kolev: you'll be able to prepare/edit sxml ui files as well <daviid>Kolev: we'll ge tthere ... g-golf is still in alpha mode <daviid>rlb: i think it is an amazing work, i am ipressed and happy we have you helping our maintainers with this rabbit whole utf8 immutable ... strings <Kolev>bash: ./peg-solitaire-no-css.scm: cannot execute: required file not found <daviid>Kolev: check the name, the exec flags of the file ... it should just work [at least find guile, g-golf ... <rlb>Hah, well let's see if I actually get it done :) <Kolev>daviid, -rwxr-xr-x. 1 caleb caleb 11486 Jun 11 22:59 peg-solitaire-no-css.scm <daviid>Kolev: ok, just put the file next to the original and tri from there <Kolev>daviid, that is where the file is located. <daviid>ah - hum, strange, can you load it in the emacs guile session <daviid>you'll have to find and kill the guile process i a terminal <daviid>or kill the emacs buffer and start again <daviid>the problem is i can't reproduce the problem ... <daviid>ok, can ytou try again - as this is gona be a fresh sesion, worth trying, loading the new file <daviid>Kolev: it would be nice if you can find why it does not launch the script <Kolev>(load "peg-solitaire-no-css.scm") <daviid>Kolev: you are entring a ", it is a quote <daviid>it is (main '()), not (main "()) <daviid>wow - ok, can you try to fix the bash can not find the file, and try to make the ./peg-solitaire-no-css.scm - thois bash erro, i can only get it if a try an unknowed file, likw <daviid>./sdfsfds => bash: ./sdfsfds: No such file or directory <daviid>also, i'd like to do this, in emacs, a fresh session <daviid>then (gi-cache-ref 'function 'gtk-css-provider-load-from-data) <daviid>(describe $xx) [ the $xx being the result ...] <daviid>and paste, plaes use centos and select scheme as the langiuage <Kolev>Sorry, I'm a little confused. I may be getting too tired. <daviid>Kolev: tomorrow, can you delete the comment line 245 and try again <RhodiumToad>what it's doing is taking $_guile_required_version, which is the parameter (or taken from GUILE_EFFECTIVE_VERSION if not specified) <RhodiumToad>splitting it up into x.y.z, then constructing a list guile-x guilex guile-x.y guilex.y guile-x.y.z guilex.y.z guile <RhodiumToad>then for each of them in that order, it either takes the value of $GUILE, or it looks for that program name on $PATH <RhodiumToad>and it takes the first one it finds, and only the first one <RhodiumToad>but that's clearly not the right thing to do if the objective is "find any version >= N" <RhodiumToad>and especially not if N is say 2.0.12 and you want to allow 2.2 or 3.0 versions <daviid>RhodiumToad: right, and imo, it should be patched/fixed - this is the only macro we have [afaict] to check a minimal version is available, i used it in the past exactly for that, especially >= 2.0.7, then 2.0.14 ... then it didn't catch up nicely when 2.2, 3.0 ... but im it should be patched to work with what it finds if >= x.y.z ... if we really want a 'find the fixed x.y.z version and no others permitted, we should add another macro <daviid>RhodiumToad: can you run the peg-solitraire.scm file in your distro? <RhodiumToad>I haven't done a port for g-golf itself yet, let me see if I have an installation of it <daviid>RhodiumToad: no pressure, just curious - i thought you had a working g-olf version 'ready' <daviid>RhodiumToad: don't mean to interupt your other work ... i need to debug the fedora problem anyway ... <daviid>i mean that appear on fedora, not syaing it is fedora <daviid>which uses 4.10.x, i use 4.8.x here, we'll see <daviid>RhodiumToad: what is the gtk4 version on freebsd? <RhodiumToad>which was the version in ports as of when I built it, probably a couple weeks back <daviid>RhodiumToad: ah great, i'll try to run a 4.10.x version here then thanks! <RhodiumToad>(I get a bunch of other warnings but they are unrelated, caused by dbus not being running and the display not being local and therefore not allowing DRI) <RhodiumToad>other examples such as hello-world give the same warnings but otherwise are fine <RhodiumToad>this is in a VM, with DISPLAY= set to point to the host, which is why the dri/mesa stuff doesn't work <RhodiumToad>oh, I had the search order for GUILE_PROGS wrong, it looks for -x.y.z then -x.y then -x, not the reverse <RhodiumToad>I notice that guile-lib's unit tests seem to assume it can just invoke "guile" as a program, which doesn't really play well with the concept of multiple guile versions being installed <daviid>RhodiumToad: could you paste, preferably using https://paste.centos.org selecting scheme - the result of (load "peg-solitaire.scm") then (gi-cache-ref 'function 'gtk-css-provider-load-from-data) then (describe $xx) <daviid>RhodiumToad: oh does it, we should fix that <daviid>RhodiumToad: yes, perfect, thanks <daviid>RhodiumToad: what version of g-golf ? <RhodiumToad>looks like that's still the tip of your master branch <daviid>could you checkout the devel and run the make danse? i think that is the problem <daviid>then try the peg-solitaire.scm example again <daviid>ok thanks for trying, with this new version, could you launch a session, load the peg-soliraire.scm file, then <RhodiumToad>$1 = #<<generic> gtk-css-provider-load-from-data (1)> <daviid>(describe $xx) and paste the result <daviid>right, it should work with two, the last is the array length and i patched g-golf so users do not have to pass array langth args ... <daviid>can you edit the example and add -1 to the line 264 <daviid>(gtk-css-provider-load-from-data provider %css-data -1) <daviid>RhodiumToad: perfect, many thanks for your help <daviid>here in 4.8.3, i get type-tag = array type-desc = (c -1 #f 1 uint8) for the second argument <RhodiumToad>it's not quite as usable as one would hope, you're warping the mouse to a corner of the dragged object, and only allowing a drop if the pointer is inside the target, which is a bit confusing <daviid>you get ype-tag = utf8 type-desc = utf8 <daviid>sorry i don't understand - but be aware that i currently do absolutely nothing wrt drag and drop 'way of drag and drop', it is all gtk4 behavior <RhodiumToad>also if you drop a peg back in its original hole, it vanishes <RhodiumToad>what I mean is: as soon as you start dragging, the dragged object is positioned so that the pointer is at its top-left, even if you clicked in the middle of the object, so it jumps <daviid>that last thing you said, here it does not vanish <daviid>i don't understand your 1st comment <daviid>the game is in the gtk4-demo, do you have it on freebsd? <daviid>here illigal move, the peg goes back in its original position <RhodiumToad>gtk4-demo's version behaves the same here, i.e. illegal moves or dropping in the original position make it vanish <RhodiumToad>it goes back to its original position if you try and drop it somewhere that isn't a hole <RhodiumToad>though the animation is wrong there, it slides to some incorrect point and then jumps to the right place <RhodiumToad>or rather, it reappears at the right place immediately, then from the drop point, another copy of it slides to a wrong place and vanishes <RhodiumToad>it does complain a lot about not being able to do GL (again, not a local display) <daviid>RhodiumToad: that might be the all reason of your problems - i very very very much doubt it is a gtk-4 problem 'per se' <RhodiumToad>can't test directly on the host at the moment unfortunately <RhodiumToad>but nothing about being on a remote display actually stops it drawing things <daviid>RhodiumToad: it's ok, but till you have zero warning, i don't trust the display results ... <daviid>RhodiumToad: but feel free to join #gtk and report ... <daviid>RhodiumToad: the GI team answered they changed the ABI interface for that method <RhodiumToad>so, drag-end is being called with #t if the target is any hole, not just a legal hole <daviid>are you refering to the scheme code? which also copies the C code :) <RhodiumToad>for an illegal move, I'm seeing drop-accept return #t, drop-drop return #f, then drag-end called with #t <daviid>RhodiumToad: i was chating with the GI team .. the 1st thing is i would be able to reproduce here, then i can look at, but that's not the case, here every move none move, illigal move works as expected <daviid>i don't think it matter, but 4.8.3 <RhodiumToad>the docs say that a "drop" signal is allowed to return false to refuse the drop. but it sounds like that doesn't work <daviid>RhodiumToad: what is the move i can try here to try to reproduce your bug? <daviid>RhodiumToad: and does that bugs in their demo as well? <daviid>RhodiumToad: have to rest now, but many thANKS FOR YOUR HELP, BE BACK TOMORROW <daviid>ok, then it might be a 4.10 interface change that even 'got them trpped' <daviid>i suggest you join #gtk and explain/ask about that there <daviid>sorry for the capital letters :), unintentional :):) <RhodiumToad>another annoying packaging oddity: guile-cairo assumes it can use guile-snarf without allowing for a version number <BitPuffin>So when y'all work on a project in guile and break it into multiple files. Do you a) add the project root directory to %load-path like (add-to-load-path (dirname (current-filename))), or do you b) use load on a bunch of files in a main file or c) something else? <taw10>BitPuffin: I use 'guile -L' to add my root directory to the load path, inside a small wrapper script <RhodiumToad>daviid: ok, so the drag-drop issue is pretty definitively idebntified within the gdk x11 backend, not g-golf's fault in any way <RhodiumToad>Kolev: daviid and I figured out the issue, it's a change in the ABI between gtk 4.8 and 4.10 <RhodiumToad>you can fix it by changing (gtk-css-provider-load-from-data provider %css-data) to (gtk-css-provider-load-from-data provider %css-data -1) <Kolev>RhodiumToad, Unbound variable: %css-data-1 <daviid>Kolev: can you find and install if it exists, the gtk4-demo fedora package, then run the demo and try their solitaire peg example <daviid>RhodiumToad: right, thanks - i did see the last msg you've exchanged in #gtk, but before that i had an internet connection (general powerfailure here where i live) interruption ... <daviid>RhodiumToad: wrt guile-cairo and guile-snarf, it is not a guile-cairo 'odity' :) - guile-cairo is a great package, very well written, and autotool chained as well [but it needs one more patch to 'restate' a way to either by default or using an option (my prefered way) install its lib in the GUILE_EXTENSION dir ... but remember, it was written about 20y ago ... together with guile-gnome ... guile 1.6 and 1.8 ... today we would not even <daviid>use libguile anymore .. now, wrt to guile-snarf, <daviid>GUILE_PROGS do not set it to use a version number postfix as it does for the other scripts, i think we should patch guile.m4; and then patch guile-cairo so it uses $(GUILE_SNARF) ... but with all this said, the real next guile-cairo must be rewritten, so w should also minimize our time fixing things their, especially wrt to the doc, my 2c <festerdam>How do you generally debug your guile scheme code? I'm a bit confused with the interactive debug (in some frames not all local variables are displayed when I do ,locals) and I need to debug the program at a point in time before the crash occurs. <daviid>RhodiumToad: i'll try to fix the guile-cairo lib install problem, but i won't work on the guile-snarf related problem, feel free to work on it and send patch(es) - i actually can't even build the doc anymore here, but to many things on my plate anyway .. <daviid>Kolev: in debian the package is named gtk-4-examples and here it is 4.8.3 - i just wish to double check with the 'official' demo example <Kolev>daviid: I'll check once my laptop is charged. <rgherdt>and now my question: I was trying to implement stack tracing. How can I programmatically generate a stack trace as generated by display-backtrace? <rgherdt>but the resulting frames still are not right <dthompson>first example of wasm assembled with guile running in a web browser! <dthompson>today: the wasm-4 fantasary console. tomorrow: the world <Kolev>daviid, there is no `gtk4-demo`. <Kolev>dthompson, so web apps can be written in Guile now? Far out! <dthompson>Kolev: not yet, but this is one big milestone on the way there! <dthompson>the wasm-4 fantasy console provides a very small runtime, which made it an easy target for testing out hoot's assembler and producing something that other people can actually see and interact with. <dthompson>scaling up from here, there's getting nontrivial guile programs compiled to wasm and providing a means of interacting with browser APIs. <Kolev>dthompson, I'd like to migrate my blog <https://bluehome.net/csh/> from Jekyll to Haunt, but the default blog configuration assumes that URIs are simply `/blog-post-slug` and not `/2023/06/12/blog-post-slug`. <dthompson>Kolev: I haven't looked at the code in awhile but it should all be customizable <dthompson>though maybe not ideally so for that use-case. <dthompson>but that would the same thing for every post <dthompson>ah you got me curious, I just opened the code real quick... <dthompson>I think what should be done is that the #:prefix arg to 'blog' should be improved to either accept a string (current behavior) or a procedure that accepts a post and returns a prefix. <Kolev>dthompson, I might not port to Haunt. I'd have to install it manually, because I don't have Guix. <dthompson>the slug procedure in the site object might also be abused to add the necessary prefix. <dthompson>haunt's dependencies are minimal and it uses a standard build system but I don't know of any distro besides guix that has picked it up yet :( <Kolev>I'd like to install Guix inside a container, so I can use Guix for development tools without installing Guix on my bare root file system. <dthompson>when I use non-guix distros I just install guix right onto it. everything is in /gnu/store and /var/guix so I don't find it intrusive. <Kolev>dthompson, it's been a while since I've installed Guix on Fedora. The process is messy; the script doesn't do all the work. <dthompson>it's been awhile since I've had to run that script. I used to have a work laptop with ubuntu but now I use the guix distro full time. <Kolev>I like Guix, but it's rough around the edges. <dthompson>I've been using it since 2013 so I guess I feel like everything is easy mode compared to what it used to be <Kolev>dthompson, it sure has improved quite a bit, but the polish of Fedora always calls back to me. 😝️ <dthompson>yeah hard to beat the polish of a giant distro with corporate backing <civodul>in addition, i'd say that polishing is not happening in the same areas <Kolev>Broke down and installed Guix on Fedora, for the Guile libs.