IRC channel logs

2020-07-26.log

back to list of logs

***ryanprior1 is now known as ryanprior
<minerjoe> /names
<daviid>.
<sneek>Welcome back daviid, you have 2 messages!
<sneek>daviid, str1ngs says: Thanks for look at (nomad gtk gi) module. no particular reason I'm using map other then to experiment with it more. for-each is more natural for me since it's procedural so I'm trying to use map more. the Nomad typelib is now down to only 7 functions and is left over from porting from C. It's actually nice to have since it can be used instead of SCM_DEFINE and function methods are automatically exposed to
<sneek>daviid, str1ngs says: I need to test g-golf using guix system soon. I might be able to grasp the issue better and find any other guix related problems I think there could be another issue. I mainly use a debian workflow with autotools and periodically I'll test guix but with my foreign distro install.
<daviid>str1ngs: ok - i'm gona wait then, but i was thinking adding a 'Notes for Guix users' under 'Before you start' and give some hints about 2 things: (a) this problem we just spoke about and (b) how to setup things, when you are a Guix System user (no host, and no dual boot, just Guix system) to devel/conrib or just use a git clone (instead of a guix package)
<daviid>str1ngs: wrt (b), I mean as we do on debian (or other distro), git pull, [./autogen.sh, .configure ...], make, make install, restart geiser/guile, ,use (g-golf) and devel, test ... and this 'cycle' over again and again ... what is a good setting for guixsd users - this would help seepel 'right now' i think ( i can't ask seepel to update guix g-golf package everytime i push a change ...
<daviid>dsmith: (and any interested guilers) i finally grabbed and installed a librem5-sdk under qemu, and it has guile already,
<daviid>purism@pureos:~$ guile --version
<daviid>guile (GNU Guile) 2.2.4
<daviid>Packaged by Debian (2.2.4-deb+1-2+deb10u1)
<daviid>
<daviid>it even has guile-cairo (but thye 1.10 version), and guile-gnome
<daviid>i'm gona try to compile g-golf 'right now' :)
<seepel>daviid: No need to worry about me. I've got things running now, and am mostly learning about gtk itself now :)
<sneek>seepel, you have 2 messages!
<sneek>seepel, str1ngs says: hello. inputs should be fine no need for propogated-inputs here. if you are having a problem with the package can you describe the problem you are having?
<sneek>seepel, str1ngs says: the error cannot register existing type 'GdkPixbuf' as far as we have determined happens on guix due to different versions of the same typelib being loaded. Which only happens on guix. I found the easiest way to do this is to adjust the gi-import order. see http://git.savannah.nongnu.org/cgit/nomad.git/tree/scheme/nomad/gtk/gi.scm?h=feature-g-golf for nomad does all it's imports from one file. and how it orders
<daviid>seepel: ok, but do you use the guix 'precompiled' package?
<daviid>seepel: i would be iterested to see how a guixsd user copes with devel/contrib a s/w in 'active devel' phase, like g-golf
<seepel>daviid: Right now I am, but I also have sorted out how to install a specific commit from a local package definition.
<daviid>seepel: ok, perfect then, please grab the latest, i fixed a few things ...
<daviid>when you wish of course, nothingurgent - these are none fudamental fixes ...
<seepel>I will for sure, haven't run into any problems so far though.
<daviid>seepel: no indeed, you're fine with the guix package for now
<daviid>seepel: so, wrt this project, make sure it has a 'mobile' mode, like epiphany, so your app will run smoothly on the librem5 phone ...
<daviid>*this project of yours ...
<daviid>str1ngs: ^^ same for your nomad project ...
<seepel>daviid: That sounds like a plan, is there a gtk concept of a 'mobile' mode? Or are is it up to me to detect screen size and adjust my UI accordingly?
<daviid>seepel: i think they just check for the screen size
<daviid>at least that is what epiphany seems to be doing ...
<seepel>daviid: Cool, will do (eventually). I wouldn't get your hopes too high, right now I'm basically using getmail to dump some email into an mbox file, parsing it with guile-email, and then I'll consider it a win if I can display a list of emails, and then display the plain-text content of a selected email :)
<daviid>seepel: sure, no particular hope here :), i was just sharing the idea that if a ui there is, better think 'right at the beginning' how it works in 'mobile mode', since what you do, wether a tiny 'personal' toy or the next world wilde killer app :), will run on the librem5
<seepel>daviid: You're totally right, it'd be pretty fun to see my little guile email client running on a phone :)
<daviid>seepel: yes, and probably inspiring as well, i think
<seepel>daviid: How do I call gtk_paned_pack1 for GTKPaned (https://developer.gnome.org/gtk3/stable/GtkPaned.html) For gtk_list_box_prepend as prepend, so I expected it to be pack1, but also tried paned-pack1.
<daviid>seepel: let me check
<daviid>here pack1 is defined
<daviid>seepel: https://paste.gnome.org/p4f9x0ynb
<seepel>daviid: Oh thank you. And also so sorry, it turned out to be a me problem.
<daviid>seepel: no problem
<daviid>i successfully compiled g-golf for the librem5 sdk
<daviid>and successfully run the hello-world example on it
<seepel>daviid: Nice!
<daviid>ot: have taken 4 screeshots, i'd like to 'concatenate those', what is a good quick to do that?
<daviid>could use guile-cv :) but it need a tiny script ...
<daviid>*would need
<daviid>here https://imgur.com/a/K0GC4J6
<daviid>of course the original librem5-qemu image and original main screen wouldn't have emacs :), added to work ...
<dsmith>sneek: later tell daviid For concatenating images and other things like that, check out imagemagick
<sneek>Will do.
<str1ngs>daviid: funny you mention that, I just ordered a pinephone for that same reason :)
<str1ngs>daviid: for guix users that want to use the latest g-golf. I have a g-golf-git package in nomad, see http://git.savannah.nongnu.org/cgit/nomad.git/tree/guix/gnu/packages/g-golf.scm?h=feature-g-golf
<str1ngs>daviid: to use it with guix it's as simple as doing. guix environment -L ./guix --ad-hoc guile@2.2.7 g-golf-git gtk+ webkitgtk glib-networking
<civodul>i think you could also run "guix install g-golf --with-branch=g-golf=master"
<str1ngs>thanks civodul that should work too. just FYI g-golf uses devel for development branch
<str1ngs>with nomad I use the package declaration since I like to pin to certain git commits. though eventually when g-golf is more mature I hope the g-golf declaration should be enough :)
<str1ngs>the g-golf declaration in guix I mean.
<civodul>str1ngs: makes sense!
<a_v_p>Guilers, what is the proper way to handle missing 'guild' program in a system during the build phase? I'd like to replace 'guild' if it is not present, or skip compiling altogether in this case.
<a_v_p>I have GNU Guile 2.0.14 installed, and there's no 'guild'.
<a_v_p>FWIW, the GNU/Linux distribution is ALT Education 8.2.
<civodul>a_v_p: i think you should just have 'configure' error out when 'guild' is missing
<civodul>it's been there forever, even in 2.0
<civodul>perhaps you're missing a "guile-dev" package for that distro?
<a_v_p>civodul: Okay, thanks. Let me check.
<a_v_p>I have 'guile20-devel' and 'libguile20-devel' installed. I guess the package names are up to distribution maintainers so it's not very helpful.
<a_v_p>The guild tool is missing anyway. And there's nothing like 'guile-dev' in the repository. :-/ I'll ask the distribution maintainers.
<civodul>a_v_p: so "guile20-devel" does not contain 'guild'?
<civodul>or even just "guile20" actually
<civodul>it should definitely be there
<a_v_p>No, it doesn't.
<civodul>does it have the 'guile-tools' program?
<a_v_p>No. There's only 'guile-snarf'.
<a_v_p>Nevertheless, '/usr/share/guile/2.0/scripts/compile.scm' is present in the system.
<a_v_p>It should be possible to emulate 'guild' behavior using plain guile command.
<civodul>a_v_p: perhaps there's a separate "guile-bin" package or something?
<civodul>otherwise it's a serious issue in their package
<civodul>so yes, you could emulate 'guild', but really, you shouldn't have to :-)
<a_v_p>civodul: Agreed, looks too hacky, but I need to fix `guile-udev` building somehow.
<civodul>understood
<civodul>then you could basically ship a copy of 'guild'...
<civodul>or roll your own script that calls 'compile-file' (we do that in Guix)
<mwette>a_v_p: I generate a guild (from guild.in) in my package distro; needed due to distro w/ misnamed suffix issue
<a_v_p>Well, I got some hints from the distribution maintainer's chat.
<a_v_p>civodul: They said that the 'guild' tool was in Guile since 2.2. But you said that the tool was here from 2.0. Hmm...
<civodul>yes, and before that there was 'guile-tools'
<civodul>weird!
<a_v_p>You mean, in 2.0 guild was part of 'guile-tools'?
<a_v_p>civodul: So they said that 'guild' become a part of their Guile package since Guile version 2.2 in the distribution. Alas, Guile 2.2 was included in the ALT Education version 9, but I need to stick with 8.2 for now.
<a_v_p>mwette: Thanks, I think I'll do the same.
<str1ngs>a_v_p: are you using autotools? aka configure.ac?
<mwette>a_v_p: http://git.savannah.nongnu.org/cgit/nyacc.git/tree/etc
<alextee[m]>does guile have some sort of library for bash completion
<alextee[m]>?
<a_v_p>str1ngs: Yes.
<str1ngs>a_v_p: does ./configure GUILE=$(which guile) help?
<a_v_p>str1ngs: No.
<str1ngs>is it configure or make that complains it can not find guild?
<a_v_p>str1ngs: My project fails to compile .scm files during the build phase.
<str1ngs>when you say build phase do you mean when you run make?
<a_v_p>Yes.
<str1ngs>do you have a make target for .scm.go: that looks like this? $(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<"
<str1ngs>maybe pastebin Makefile.am
<a_v_p>Yes. The project builds fine on a system where guild is present. The problem is, I have to build the project on a system that does not contain 'guild'.
<a_v_p> https://github.com/artyom-poptsov/guile-udev/blob/master/modules/udev/Makefile.am
<str1ngs>what does GUILEC expand to? I have not seen that before
<a_v_p>To see the verbose output, run make like follows: 'make V=1'
<str1ngs>sneek: later tell a_v_p add this target to Makefile.am https://paste.debian.net/1157860. then paste the output of make debug
<sneek>Will do.
<str1ngs>a_v_p add this target to Makefile.am https://paste.debian.net/1157860. then paste the output of make debug
<a_v_p>str1ngs: I can do it, but what's the purpose of this?
<sneek>Welcome back a_v_p, you have 1 message!
<sneek>a_v_p, str1ngs says: add this target to Makefile.am https://paste.debian.net/1157860. then paste the output of make debug
<a_v_p>sneek: botsnack
<sneek>:)
<str1ngs>a_v_p: the purpose is to ensure $(GUILD) is expanding also you have $(GUILEC) which does not seem right.
<a_v_p>str1ngs: Here you are: https://paste.debian.net/1157863/
<a_v_p>That's the output of 'make V=1'.
<a_v_p>(A part of output.)
<str1ngs>and with make debug ?
<a_v_p>str1ngs: https://paste.debian.net/1157864/
<str1ngs>seems you have guile 2.2 with guild-2.2
<a_v_p>Yes, I run 'make' on Ubuntu GNU/Linux.
<str1ngs>you want to run make debug on the system that you are having issues with
<a_v_p>str1ngs: Here, 'make V=1' on the problematic system: https://paste.debian.net/1157865/
<str1ngs>run make debug please
<a_v_p>str1ngs: https://paste.debian.net/1157866
<str1ngs>okay thank you, now add echo tools: $(GUILE_TOOLS) to the debug target
<str1ngs>and run make debug
<str1ngs>a_v_p: the debug target should look like this http://paste.debian.net/1157867
<a_v_p>str1ngs: Okay: https://paste.debian.net/1157868
<RhodiumToad>moo
<a_v_p>I fixed the issue by adding 'guild' to the 'build-aux' in the repository and using it when no 'guild' is available in the system.
<str1ngs>a_v_p what is the output make debug now?
<str1ngs>a_v_p: for guile 2.0 is $(GUILE_TOOLS) should expand to guile-tools .
<str1ngs>for guile-2.2 it should expand to GUILD aka guild
<str1ngs>so the command you want is $(GUILE_TOOLS) compile not $(GUILEC)
<str1ngs>this will make it portable
<a_v_p>str1ngs: https://paste.debian.net/1157869
<str1ngs>a_v_p: do you have m4/guile.m4?
<a_v_p>str1ngs: No.
<str1ngs>assuming you are using AC_CONFIG_MACRO_DIRS([m4]) if not it could just be ./guile.m4
<manumanumanu>ArneBab: The difference will be very small until you have used any of the "expensifying" operations: concat, split, or insert in the middle. It will be one extra (if (has-lookup-table? rrb) .... ) per operation. I suspect that removing the dispatch on (transient? ...) will make up for that, meaning only (fector-ref ...) will be more expensive.
<mwette>m4/guile.m4 does not work on Ubuntu 18.04 because guile and guild are not installed consistently. rlb knows about this and is fixing the debian upstream, I beleive
<mwette>s/ei/ie/
<rlb>mwette: maybe fixed in 3.0.1+1-2? https://metadata.ftp-master.debian.org/changelogs//main/g/guile-3.0/guile-3.0_3.0.4-1_changelog
<mwette>rlb: thanks. My Ubuntu bug "guile-2.2 installed but not guild-2.2" is still unassigned (on launchpad.net).
<rlb>Looks like that might be 2.2.7+1-4
<rlb> https://metadata.ftp-master.debian.org/changelogs//main/g/guile-2.2/guile-2.2_2.2.7+1-5.1_changelog
<rlb>(In other news, *finally* got guile-2.0 removed from debian testing...)
<a_v_p>I wrote a draft version of a daemon with Guile-Udev that should auto-mount USB flash devices by means of 'udisksctl' command: https://gitlab.com/gkaz/mst/-/blob/wip-mstd/mstd/mstd
<pkill9>a_v_p: i don't know much about udev, why would you use a daemon instead of writing a udev rule?
<seepel>.
<a_v_p>pkill9: Sorry, I don't quite understand the question.
<ArneBab>pkill9: does’t udev depend on the systemd codebase nowadays?
<a_v_p>pkill9: Ah, I got it. One reason to roll out my own daemon is that I tried to implement the functionality I needed as an udev rule, but wasn't able to get it work stable enough.
<a_v_p>You see, on some systems all mounts that my script did when called from an udev rule were visible only in the systemd private namespace. I tried enable shared mounts and disable private namespaces, but with no success.
<a_v_p>Here's the old version of auto-mount script: https://gitlab.com/gkaz/mst/-/blob/master/scripts/mst-mount
<ArneBab>I had three subsequent iterations of an udev rule to get my usb audio pre-amplifier working. Today it doesn’t work anymore.
<pkill9>ArneBab:yes, but there is eudev which is udev independent from the systemd codebase
<pkill9>a_v_p: i mean,why would you run a daemon to automount the USB flash device, instead of just writing a udev rule that tell sudev to automount it
<pkill9>oh nvm you got it
<ArneBab>pkill9: true — I hope eudev will keep working and people will pull the necessary updates.
<pkill9>wish i could configure swaywm with guile
<str1ngs>pkill9: I started work on extending nomad to use wlroots.
<pkill9>str1ngs: I've hear dof nomad but haven't used it, where can I find it? I can't find it in search
<str1ngs>pkill9: https://www.nongnu.org/nomad/
<str1ngs>pkill9: there is no wayland code right now. it's just a stand alone program. later I hope to make it a displa manger as well.
<str1ngs>display*
<str1ngs>or wayland server to be more precise.
<pkill9>i see it uses webkitgtk, how well does that work with the web nowadays?
<str1ngs>pkill9: pretty good
<str1ngs>nomad is more like emacs in away. it also uses vte for a terminal it's not just limited to the web. though that's it's primary focus right now.
<pkill9>cool
<pkill9>i thought webkit didn't really work with modern web
<str1ngs>webkit works fine
<str1ngs>though eventually nomad won't be limited to just webkit. eventually it will support qtwebengine. personally webkit is a more open platform though.
<pkill9>the guix package fails to build for me, it can't find guile-gcrypt, though it's added