IRC channel logs

2024-04-06.log

back to list of logs

<monaho>if i test a guix package and download the source, but then notice that I need to add (recursive? #t), how do i clear the checkout cache to force a redownload of the submodule?
<freakingpenguin>nutcase: In debbugs summary, M-m tries to apply the patch. Seems a bit finnicky and I think you have to do it for each patch in the series, but it works.
<freakingpenguin>I suggest setting debbugs-gnu-apply-patch-prefers-magit and nil-ing debbugs-gnu-compile-command.
<freakingpenguin>monaho: guix gc -D /gnu/store/XXX-path-to-delete can remove specific store items that aren't in use.
<monaho>thanks, it worked
<freakingpenguin>I also like the project-git-am mentioned at https://ane.iki.fi/emacs/patches.html since it actually commits the patch, works from article buffers.
<freakingpenguin>monaho: You're welcome!
<peanuts>"Working with Git and patches in Emacs" https://ane.iki.fi/emacs/patches.html
<nutcase>freakingpenguin: thank you for the hint. I already tried ...-prefers-magit, but not ...-compile-command. However, I thought that debbugs.el isn't that focused on emacs patches. Maybe I start figuring out things at normal shell before switching to emacs
<nutcase>(for that specific task)
<freakingpenguin>debbugs.el is a bit annoying since it doesn't seem selective with finding the patch in a plaintext email and doesn't use git-am, so nothing's committed.
<rekado>nutcase: issues.guix.gnu.org has an /issue/<id>/patch-set endpoint returning the messages corresponding to a selected patch set. This can be fed to "git am"
<rekado>(I noticed that /patch-set appears to never terminate in some cases; may need a little fix)
<freakingpenguin>rekado: Would that be something worth adding to (guix) Reviewing the Work of Others? Seems like it would fit.
<pkill9>does guix have a working kde plasma service?
<freakingpenguin>rekado: Thanks for mentioning that patch-set endpoint by the way! Made a little git-am wrapper for that. https://paste.debian.net/1313268/
<peanuts>"debian Pastezone" https://paste.debian.net/1313268
<jakef>Hi guix, are there any tools for detecting unused module imports?
<freakingpenguin>Guile 3.0.10 will have an unused-module warning
<Guest13>Hi there, I just noticed that when I set `(ssh-support? #t)` in `home-gpg-agent-service-type`, the resulting gpg-agent.conf does not contain `enable-ssh-support`, is that supposed to happen?
<freakingpenguin>Guest13: Nope. ssh-support? enables a gpg-agent daemon with a CLI flag for SSH support. Normally gpg starts it on demand.
<freakingpenguin>Sorry, I mean yes that's expected It doesn't put anything in the conf file.
<lilyp>pkill9: not yet afaik
<futurile>morning all
<Kabouik>Hey #guix. What would be the best way in Guix to send AT commands from the terminal? I tried `socat - /dev/ttyUSB0` but am getting AT_ERROR spam after entering the password of the device. I read also that there's a program dedicated to that, atinout, but we don't have it. I assume there might be other ways, some already packaged in Guix?
<rekado>Kabouik: you might also be able to use GNU screen for this purpose. I've been using it to talk to micro controller serial interfaces.
<nutcase>rekado: cool. However, a "curl https://issues.guix.gnu.org/issue/<id>/patch-set -q -o - | git am" gives me 'Patch is empty.'
<rekado>nutcase: I regularly use "wget -qO- https://issues.guix.gnu.org/issue/$1/patch-set $2 | git am --patch-format mbox -3"
<Kabouik>rekado thanks. Before seeing your message, I found out about picocom which we have in the channel. It seems to work nicely, I just need to find how to send a UNIX timestamp programmatically, as I don't want to type `date +"%s"` and copy/paste the result to an AT command manually 90 times.
<rekado>screen lets you execute arbitrary screen commands (such as "writebuf") with the -X switch
<Kabouik>Thanks. screen actually looks better for my use as it doesn't spam with the TX/RX logs of the device. I'll try -X
<futurile>Q: anyone know the magic incantation for a git diff between my current working tree and the patch I'm reviewing - I want to see the changes I've made
<nutcase>rekado: thanks. I noticed, that the patches were downloaded and the am process started but was paused by a first empty patch in the patch series. I just had to issue "git am --allow-empty" to let the am process continue. I succeeded with "curl https://issues.guix.gnu.org/issue/$1/patch-set -q -o - | git am" followed by "git am --allow-empty"
<ekaitz>futurile: do you have it applied to your working tree?
<ekaitz>you can git am and then git show
<mfg>how do i replace the hash for a inherited package? the hash is the only part of the origin field that changed
<ekaitz>mfg: how can that be?
<ekaitz>same origin -> same hash
<mfg>well the version also changed but that is not part of the origin.
<mfg>so do i need to rewrite the complete origin then? it would be copy paste
<ekaitz>i would copy-paste it
<ekaitz>maybe there's another way
<mfg>i see :)
<ekaitz>mfg: mostly because if you just inherit it, would it take the version of the inherited package or the one of the current?
<mfg>(package xy (inherit z) (version "1.2.3")) does overwrite that specific field doesn't it?
<ekaitz>yes, but the origin has a `version` field being used, where is that expanded from?
<mfg>i think i understand what you mean; even if i only changed the hash the overwritten version would not be used, right?
<mfg>so even if i could do that it would not work
<ekaitz>yes
<ekaitz>that's what i mean, but I'm not sure how correct is it
<mfg>i'll just copy paste for now
<ekaitz>mfg: yes, that's good
<ekaitz>what you can do, is grep in the whole guix repo and search for `inherit`
<mfg>true, i'll polish more once it actually works at all
<dariqq>afaik you can inherit origins with something like (origin (inherit (package-origin original-package) ... ) but I thnk you'll also need to change the url for the other version
<futurile>ekaitz: yes I have it applied in my working tree, then I made some changes to it - so I want to check what I changed
<ekaitz>futurile: if you just changed on top and didn't commit -> git diff
<futurile>ekaitz: and when I've committed - can I compare my commit vs the patch I have in the file
<ekaitz>that would be the last commit
<ekaitz>git show head
<ekaitz>vs git show HEAD~
<ekaitz>you can also see both together `git diff HEAD~`
<ekaitz>(~ means parent and HEAD current commit, you can also use their ids for that)
<futurile>ah - OK - cool
<ekaitz>ask me more if you want
<graywolf>How can I build a operating-system without any kernel? I use in my config %cd-dummy-kernel ( https://paste.debian.net/1313294/ ) but that seems to be broken after guix pull.
<graywolf>What is the minimum "kernel" package has to have in it to "work"?
<peanuts>"debian Pastezone" https://paste.debian.net/1313294
<civodul>graywolf: an OS without any kernel? 🤔
<civodul>for use with ‘guix system container’?
<civodul>can’t you make it (kernel #f)?
<civodul>or maybe (kernel (plain-file "fake-kernel" ""))?
<graywolf>civodul: This is for use inside a LXC container, but not managed by guix. (https://vpsfree.cz)
<peanuts>"vpsFree.cz | Virtu??ln?? Priv??tn?? Servery svobodn??" https://vpsfree.cz
<graywolf>The #f I *think* did not work, but will try again.
<graywolf>The second suggestion is what I basically have (the %ct-dummy-kernel in the link should corespod to it?)
<graywolf>That *used to* work, but not anymore
<civodul>how does it not work? :-)
<graywolf>I closed the terminal, and in process of reinstalling, so cannot post the exact message, but something about car expecting a pair but getting () instead.
<graywolf>The kernel-modules profile hook probably changed and now requires *something* to actually exist
<civodul>hmm
<graywolf>If you think this is a bug, I will make detailed bug report
<graywolf>I just expected this to not be exactly supported usecase :)
<civodul>actually i think ‘guix system container’ could/should do that: replace ‘kernel’ with a fake kernel or #f
<civodul>so yes, sounds like a bug to me
<graywolf>Ok, will write a bug report. Do you want explicit CC or you are not *that* interested? :D
<civodul>well, i have enough bugs on my plate :-)
<civodul>in other news, a machine of mine no longer boots following the gnome-team merge (one with a separate encrypted /home)
<civodul>trying to bisect
<graywolf>That sound.. annoying
<graywolf>Good luck with that, any bisect involving real HW is unpleasant :/
<civodul>yup
<mfg>does someone know why there isn't a libLLVMSPIRVLib.so for llvm-14? The package definition looks to me as if it should exist.
<graywolf>I discovered that when you install gnome using guix on foreign system, ubuntu 22.04 will not let you log in anymore :D I guess, could be expected, but took me a bit to debug
<oriansj>rekado: well the good news is that guix build --without-tests=ghc@8.10.7 ghc@8.10.7 was successful but guix environment --cores=1 --max-jobs=1 --ad-hoc ghc@8.10.7 results in Guix trying to rebuild ghc again and failing on that erroring test.
<civodul>bordeaux.guix is extremely slow, high load again :-/
<graywolf>This is a new one for me: builder for `/gnu/store/qck5kqwx6garhsdbaivncb1dvsgg5ig4-guix-package-cache.drv' failed to produce output path `/gnu/store/4kycxsnd7rcb8swssfibp2c4kjvlf8k5-guix-package-cache'
<civodul>knotd has 25G virt, uh
<graywolf>Wait, knotd is DNS server right? 25G seems.. high
<civodul>doesn’t it
<civodul>RSS is only 16M
<graywolf>Uuhh... is it possible cf4f87986ad5b938149603b1d504a1d03931011d broke guix pull?
<peanuts>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=cf4f87986ad5b938149603b1d504a1d03931011d
<graywolf>I am still verifying since the machine is sloooooow so guix pull takes forever, but seems likely suspect from the git log
<graywolf>Or rather, can anyone guix pull current HEAD?
<civodul>ACTION tries ‘guix time-machine -q -- describe’
<civodul>graywolf: it’s broken indeed: (value "Unbound variable: ~S") (value (go))
<graywolf>- #:use-module (gnu packages golang)
<graywolf>I think this line is the problem
<graywolf>(looking at the patch https://git.savannah.gnu.org/gitweb/?p=guix.git;a=commitdiff;h=cf4f87986ad5b938149603b1d504a1d03931011d;hp=dccc807eb24791facc9e3144643f1526d101803e )
<peanuts>"Savannah Git Hosting - guix.git/commitdiff" https://git.savannah.gnu.org/gitweb/?p=guix.git;a=commitdiff;h=cf4f87986ad5b938149603b1d504a1d03931011d;hp=dccc807eb24791facc9e3144643f1526d101803e
<graywolf>(and thanks for veryfing :) )
<civodul>yes
<civodul>i can push a fix
<graywolf>thx :)
<graywolf>civodul: Looks like Sharlatan pushed the fix 10 minutes back. (0b941ea0622abe7f9c9f72d9f8a8a5ac845a3920)
<civodul>right!
<civodul>awesome
<civodul>took me a while to realize it had been fixed in the meantime :-)
<graywolf>:)
<graywolf>(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (go-gopkg-in-yaml-v2)) (value #f))
<graywolf>Hmm...
<graywolf>ACTION learned that time-machine defaults to doing a pull of HEAD, making `guix time-machine -q -- describe' useful to check if master pulls
<civodul>seriously
<graywolf>I stopped on the slow machine, and retrying using the ^ on my build server to double check
<fnat>I've installed Guix on laptop A (where everything works well), then moved the drive to laptop B. Laptop B is being picky and it doesn't allow me to boot from the drive. I've disabled UEFI Secure Boot but still laptop B doesn't seem to see the EFI boot entry.
<fnat>To my disappointment, the BIOS doesn't seem to allow to add a new EFI entry manually. Any recommendation on how to fix this? efibootmgr from a live distro?
<graywolf>fnat: Sometimes the UEFI is just buggy, you can try the -removable grub type, that is what I am using
<graywolf>civodul: Yes, it is still broken, just in different place
<fnat>graywolf: Thanks, I'm looking that up now.
<graywolf>civodul: gnu/packages/irc needs to import golang-xyz
<graywolf>I think
<janneke>make doc/images/bootstrap-graph.pdf V=2 gives me
<janneke>Format: "pdf" not recognized. Use one of: ....
<janneke>what am I missing?
<janneke>ah, graphviz needs to be installed in the same profile with some tex packages, of course
<janneke>thanks for listening!
<civodul>:-)
<civodul>graywolf: i’m testing locally, in case there’s another one…
<graywolf>Don't worry, I would ping you again :P
<civodul>efficiency!
<janneke>having some build rules silently failing really doesn't help reproducibility
<janneke>ACTION fixes that for V2 of their patch set
<fnat>graywolf: Ok, excellent. This means that I can try and replace '(bootloader grub-efi-bootloader)' with '(bootloader grub-efi-removable-bootloader)' and reconfigure?
<fnat>It should be possible to reconfigure from a live Guix, if I mount the local drive in '/mnt' and then run 'guix system reconfigure config.scm /mnt', correct?
<graywolf>fnat: yes on the first part, no comment on the second, never reconfigured from a live disk so not sure
<fnat>graywolf: Thanks, that's really helpful.
<janneke>bah, the cookbook and po/pot/gmo/boldquot (whatever they are) dependencies are a mess
<civodul>graywolf: fix pushed!
<janneke>ACTION needs to insert a dependency for en@boldquot.po-update on .pot, so it seems
<janneke>ACTION wonders if dependencies can be added to `Makevars...'
<fnat>Ah, no, it seems I was mixing things up with 'guix system init config.scm /mnt'... 'guix system reconfigure' doesn't seem to allow to specify a target.
<fnat>I guess I can chroot into the local drive though and reconfigure from there?
<graywolf>Yeah, what I would try
<graywolf>civodul: confirming succesfull pull, thank you for quick resolution :)
<civodul>yw!
<civodul>“udevd[86]: specified group 'sgx' unknown” is a new annoyance
<kreijstal>how to do sshd in guix?
<civodul>kreijstal: hi! on Guix System, use ‘openssh-service-type’ as shown here: https://guix.gnu.org/manual/devel/en/html_node/Networking-Services.html#index-openssh_002dservice_002dtype
<kreijstal>I installed openssh, but sshd command is not available...?
<kreijstal>oh
<civodul>if you’re new to Guix System, check out https://guix.gnu.org/manual/devel/en/html_node/Getting-Started-with-the-System.html
<peanuts>"Networking Services (GNU Guix Reference Manual)" https://guix.gnu.org/manual/devel/en/html_node/Networking-Services.html#index-openssh_002dservice_002dtype
<peanuts>"Getting Started with the System (GNU Guix Reference Manual)" https://guix.gnu.org/manual/devel/en/html_node/Getting-Started-with-the-System.html
<dariqq>seems like the gnome.Shell.Screencast service is crashing because it can't find typelibs. (at least judging from the commment from the nix people https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/desktops/gnome/core/gnome-shell/default.nix#L210)
<peanuts>"nixpkgs/pkgs/desktops/gnome/core/gnome-shell/default.nix at nixos-23.11 ? NixOS/nixpkgs ? GitHub" https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/desktops/gnome/core/gnome-shell/default.nix#L210
<dariqq>but not sure how to do something similiar for guix
<janneke>so, I added this dependency to (cough) po/guix/Makevars
<janneke># Ensure that guix.pot exists before running update
<janneke>en@boldquot.po-update: guix.pot
<janneke>because without it, en@boldquot.po-update could run without a guix.pot, and choke
<janneke>ACTION really hates "manufactured" dependencies
<janneke>anyway, this creates an invalid en@boldquot.po, its header is missing -- any ideas?
<janneke>does anyone know what these @boldquot things are about?
<kreijstal>civodul: interesting, but you need to do it through the configuration and there is no way to do it temperarily? not as a service, 2nd, /etc/config.scm is empty, where do I get the default one?
<graywolf>kreijstal: you can do it manually if you want to
<graywolf>sec
<graywolf>kreijstal: I am using https://paste.debian.net/1313304/ in my install script to get one-off sshd running without reconfigure
<peanuts>"debian Pastezone" https://paste.debian.net/1313304
<janneke>omg -- there's an en@quot.insert-header target
<fnat>I've been following this https://guix.gnu.org/manual/devel/en/html_node/Chrooting-into-an-existing-system.html but I can't resolve domain names from within the chroot. I can ping IP addresses but not resolve domain names.
<peanuts>"Chrooting into an existing system (GNU Guix Reference Manual)" https://guix.gnu.org/manual/devel/en/html_node/Chrooting-into-an-existing-system.html
<fnat>As a matter of fact, "/etc/resolv.conf" is empty, not sure if that's expected.
<graywolf>fnat: probably not, try to stuff 'nameserver 1.1.1.1' into it
<kreijstal>graywolf this looks as if sshd is available but somehow hidden and guix shell makes it appear, is that right?
<fnat>graywolf: Epic facepalm, I had done it but I forgot the "nameserver" bit! Thanks, it works now!
<graywolf>yes, in guix you have "visible" only what you installed. But other programs can (and are) present in /gnu/store, they just are not in $PATH. guix shell openssh-sans-x creates a temporary environment, with $PATH enriched with the openssh package
<graywolf>("visible" -> in $PATH)
<graywolf>kreijstal: if the sshd would not be already present in /gnu/store (in correct version), it would be automatically downloaded as part of creating the guix shell environment.
<janneke>okay, running
<janneke>make -C po/guix en@boldquot.po-update-en V=2
<janneke>inserts the header
<janneke>now to find the missing dependency...
<janneke>aaargh
<janneke>en@boldquot.po:8737: keyword "at" unknown
<janneke>en@boldquot.po:8737:3: syntax error
<janneke>en@boldquot.po:8738: end-of-line within string
<janneke>en@boldquot.po:8741: duplicate message definition...
<janneke>en@boldquot.po:5130: ...this is the location of the first definition
<civodul>terrible terrible
<civodul>that’s a part of Automake i never dare dread into
<janneke>it's so full of `clever' artificial dependencies
<janneke>instead of just describing what depends on what
<janneke>ACTION gives up and tries git clean -fdx -- po
<janneke>wasted all afternoon trying to nudge autotools's po magic
<janneke>it's amazing, even that doesn't seem to work; now i'm puzzled
<civodul>bah
<janneke>i'm sure guix builds from a clean checkout!
<janneke>so, i must have been breaking something
<civodul>could be that one the instantiated Makefile is broken?
<ieure>podiki, I sent an updated librewolf patch series with nss-3.98 like we'd discussed.
<apteryx>ieure: neat
<ieure>I want to do some patch reviews this weekend. I'm not subscribed to guix-patches and I don't use Gnus (and don't want to set it up). What's the simplest way to apply a patch series so I can make sure things build etc?
<futurile>ieure: https://libreplanet.org/wiki/Group:Guix/PatchReviewSessions2024#Patch_review_process_-_CLI_tools
<peanuts>"Group:Guix/PatchReviewSessions2024 - LibrePlanet" https://libreplanet.org/wiki/Group:Guix/PatchReviewSessions2024#Patch_review_process_-_CLI_tools
<futurile>ieure: basically grab the message-id from the bug; use b4 shazam
<futurile>ieure: that's the shortest method I've found
<futurile>ieure: if you're not on emacs I guess - and for that I have no clue
<jpoiret>you don't need emacs to use b4 shazam though no?
<ieure>No worries on the Emacs front. :)
<futurile>no exactly - I meant "I can't speak to emacs, but with cli tools b4 shazam is the fastest I've found"
<futurile>Q: anyone feel like explaining why I can't get package-transitive-inputs to work in a let - https://paste.debian.net/1313308/
<peanuts>"debian Pastezone" https://paste.debian.net/1313308
<futurile>Q: I have two lets - one works - one doesn't - and when I try them in the REPL they seem like they should be fine
<ieure>Man, paste.debian.net is way slow lately.
<ieure>futurile, In what way doesn't it work? Empty list, error, something else?
<futurile>ieure: it gives me a backtrace - In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
<ieure>futurile, Hmm, I guess that's the (package-transitive-target-inputs this-package) call. Not sure if Geiser has a debugger, but stepping through that seems like it should show what's wrong. Or use print.
<apteryx>ieure: indeed 'b4 shazam <message-id>' with the message-id grabbed from issues.guix.gnu.org is an easy way (the easiest?)
<ieure>Okay, so b4 requires mbox files, which I don't have. bts seems promising, but I can't find what package it's in. Linked page says: (Guix package is devscripts).
<ieure>`guix show devscripts' says "guix show: error: devscripts: package not found"
<ieure>No "bts" package, "guix search bts" doesn't show anything obvious. What am I missing?
<futurile>ieure: that's my fault - I haven't managed to get it fully packaged - bts just converts from bug number to message-id - but you can see the message-id at issues.guix.gnu.org
<futurile>ieure: I packaged it - but I've been asked to change some stuff - heh related to what I'm stuck with now - trying to reduce propagated inputs
<ieure>Ah.
<ieure>It's be really nice if issues.guix.gnu.org would apply patches and push them to a branch in some Git repo. Then you'd just have to clone that repo and check out the branch instead of dealing with all this extra tooling.
<graywolf>How can I use modify-services to delete simple-service based on the name?
<futurile>ieure: so cbaines has set-up tooling for that - the patches that are processed by qa go to https://git.guix-patches.cbaines.net/guix-patches/refs/heads
<peanuts>"guix-patches - Patches for guix" https://git.guix-patches.cbaines.net/guix-patches/refs/heads
<ieure>Oh, this is great.
<ieure>Why doesn't everyone use this?
<futurile>some of the maintainers use it, but it only shows you patches that were 'dealt with' by QA - ones I look at tend to be ones that it skipped over. Also you have to reroll as a patch anyway - so you still land-up messing about with git-format-patch, git-send-email and the whole shebang of itty-bitty-stuff
<some_user>I wanted to use gpg for the first time. Why is there no package for it?
<graywolf>some_user: gnupg
<some_user>ah thanks :)
<janneke>civodul: nope, but after cleaning-out po, first a `make' is needed
<janneke>`dist' lacked those dependencies
<dariqq>rekado: i managed to wrap the dbus call to gjs by setting GI_TYPELIB_PATH before with the help of a patch to gnome-shell from nixos and the screencast now seems to work for me as expected (with home-pipewire-service running and pipewire in the system profile)
<janneke>wow diffoscope crashes on me
<lfam>So much code in diffoscope
<jpoiret>ieure: a well-configured `b4 shazam` is faster
<jpoiret>b4 can automatically fetch mbox files. Maybe the public-inbox instance isn't configurable yet for `b4 shazam` and so is lore.kernel.org by default though
<jpoiret>i haven't tried
<jpoiret>one difficulty with fetching from the guix-patches git repo is that you're not applying the patchset on master, you only have an older branch
<janneke>yay
<janneke>grep -ao CreationDate.................... doc/images/bootstrap-packages.pdf
<janneke>CreationDate (D:20240406165551Z)
<janneke>what is it with these peope?
<ieure>jpoiret, Yes, but you can add the real repo as another remote and rebase on upstream/master.
<jpoiret>right
<rekado>dariqq: that's great! Could you please Cc me if you submit a patch?
<janneke>ACTION searches on `remove creationdate from pdf' and all answers start with "right click on..."
<janneke>sigh
<dariqq>does anyone know the license of nixpkgs patches i.e. can I just grab and submit them to guix?
<dariqq>rekado: will do, but I don't have much time to get it in a submittable state right now. So probably sometime next week or so
<RavenJoad>If I want my laptop to offload my heavy system/home builds to another machine, is the offload facility with machines.scm what I want ((guix) Daemon Offload Setup)?
<apteryx>dariqq: pretty sure you can
<graywolf>RavenJoad: yes, it is what I use
<apteryx>though you'll want to rename them when their name is a nondescript 180 chars string
<graywolf>There are some gotchas but overall it works really nice
<apteryx>and add a line 'Retrieved-from: ' with a link to where you retrieved it from or similar
<lfam>dariqq: nixpkgs.git COPYING is the expat / MIT license: https://github.com/NixOS/nixpkgs/blob/master/COPYING
<peanuts>"nixpkgs/COPYING at master ? NixOS/nixpkgs ? GitHub" https://github.com/NixOS/nixpkgs/blob/master/COPYING
<lfam>And you can use that stuff in Guix: https://www.gnu.org/licenses/license-list.en.html#Expat
<peanuts>"Various Licenses and Comments about Them
<dariqq>lfam: The line in their readme confused me a bit: "It also might not apply to patches included in Nixpkgs, which may be derivative works of the packages to which they apply. The aforementioned artifacts are all covered by the licenses of the respective packages.". but in my case this would then be gpl2+ so i guess also no problem
<lfam>I see. Agreed, no problem in that case. Also, there is the question of if the patch is even copyrightable or not. If it's actually a creative work, then sure, but if it's just a couple lines working around some issue, that's a grey area at best
<RavenJoad>graywolf: Thing is, I still want to build most things locally, and because this is a laptop, it does not always have access to the big system. Offloading will handle that? Also, does master in the offloading documentation refer to my laptop in this case, and the build machine would be the desktop?
<graywolf>When you want to build locally, you need to pass --no-offload command line argument.
<graywolf>I think master would be your laptop (iirtdr - if I read the docs right)
<ieure>RavenJoad, "master" is the local machine, this phrasing also tripped me up.
<ieure>Would like to see Guix move away from using "master" in any capacity.
<dariqq>lfam: thanks, just making sure i didn't miss anything beforehand.
<dariqq>anyway got to run now
<RavenJoad>That is what I figured. I just needed to confirm.
<RavenJoad>graywolf: If the build system is unreachable (say my laptop is not at home), will I fall back to building locally like normal?
<mwette>janneke: maybe this helps: https://pypdf.readthedocs.io/en/stable/
<janneke>mwette: thanks
<mwette>print(PdfReader("doc.pdf").metadata)
<mwette>yw, btw
<janneke>that's pretty neat
<janneke>i've just found
<janneke>exiftool -CreateDate="D:1970-01-01 00:00:00Z" foo.pdf
<graywolf>RavenJoad: not afaik, which is bit annoying. I solved that using a vpn for now
<graywolf>(and --no-offload)
<reedm>Hi All, I am currently packaging gleam-lang for guix, and would love to submit my code upstream. When all of the recursive rust dependencies are resolved, this led to packaging 289 rust crates. I wrote a script to generate these package definitions automatically. Of course, I can't test this all by hand/sign off on the accuracy of each crate beyond
<reedm>the fact that the tests for gleam pass. Will this be an issue for getting my code accepted?
<ieure>reedm, `guix import --recursive' is supposed to import unpackaged dependencies for a new package, FYI.
<ieure>Haven't had a chance to use it yet, but it's there.
<reedm>wow, that definitely would have made this a lot easier, lol
<ieure>289 packages is a lot to review, and patch review is already very slow in Guix, so, yes, this is going to be an issue.
<ieure>Just in terms of volume.
<lfam>It's normal for Rust programs, though
<reedm>makes sense. I'll redo my work using the guix import --recursive tool, and take it from there.
<reedm>Thanks!
<RavenJoad>graywolf: That is a bit annoying. I figured the offloading system would behave like the substitutes system.
<janneke>mwette: exiftool /appends/ metadata, your pypdf seems to work
<janneke>ACTION goes to write his first python script in over 10y
<janneke>guess we cannot import python libraries in guile yet?
<mwette>I looked for c library but all the pdf script editing seems to be in in python, perl or javascript
<janneke>ACTION 's patch gets uglier and uglier
<ieure>Can substitute edit the file? PDFs have a good amount of text in them, I'd think a simple string replace would work.
<janneke>mwette: too bad; i guess someone should file a bug with cairo to respect SOURCE_DATE_EPOCH
<janneke>thanks a lot anyway
<janneke>ieure: that's a neat idea
<janneke>but substitute works line-based
<janneke>hmm, we don't have /usr/bin/env in a container?
<janneke>what would i use instead of #! /usr/bin/env python3?
<ieure>janneke, Hmm, yeah, that does seem like a problem. Still, seems like there ought to be some simpler way to do this than dragging in a whole Python PDF editing library.
<ieure>Maybe shelling out and calling sed(1)?
<janneke>ACTION reverts to adding python3
<janneke>ieure: i'd be happy with a sed hack for it but somehow it feels scary patching a binary
<ieure>janneke, It's fiiiiiine (probably).
<janneke>yeah, probably :)
<ieure>I've been patching binaries for ages. Used to crack MS-DOS games and PalmPilot software, more recently I've patched arcade game ROMs. Computers are just silly lil machines that do stuff with numbers, you can change them, it's fine.
<janneke>ieure: seems to work fine
<janneke>sed -r 's,/CreationDate [(]D:.{20},/CreationDate (D:19700101000000+00,' bootstrap-graph.pdf > x.pdf
<janneke>guess i'd go for that instead of the python beast
<ieure>Nice!
<janneke>i'm "afraid" it might be fragile, though
<janneke>if a minor thing changes in the source pdf, then yeah
<ieure>Ship it and find out :)
<janneke>well, that's the problem; you'd probably find out too late your tarball wasn't reproducible
<janneke>so, hmm
<mwette>janneke: maybe `strings -t 10 file.pdf' to find the offset and a little c code to patch it.
<mwette>janneke: or better, write a scheme program that searches for the key/value data pair, fixes it, then writes the file
<janneke>mwette: so many lovely choices :)
<janneke>ACTION is looking forward to the comments on the v2 series
<mwette>janneke: this worked on a file i have: https://paste.debian.net/1313320/
<peanuts>"debian Pastezone" https://paste.debian.net/1313320
<janneke>ACTION just sent https://issues.guix.gnu.org/70169/#32
<janneke>but looks anyway
<peanuts>"[PATCH 0/7] Reproducible `make dist' tarball in defiance of Autotools and Gettext" https://issues.guix.gnu.org/70169/#32
<janneke>mwette: that looks pretty cool
<janneke>what would this bring us over using SED?
<janneke>don't hesitate to chime in to my v2 patch series
<janneke>and thanks!
<janneke>wow, /me has been fighting timestamp fetishism for about a week
<janneke>time to
<janneke>ACTION => zZzzz
<lilyp>We should probably start stamping the times that we actually sleep…
<decfed>I have a build failing because the code cannot #include <nonstd.h>. Anyone here know which guix package provides this header file?
<rekado>janneke: we're doing the same in r-mmuphin
<mwette>janneke: use sed; I was initially skeptical because it is line oriented, but I don't see any warnings about line length
<graywolf>Is /etc/guix/channels.scm special in some way? I have two lines in my config, (extra-special-file "/etc/guix/channels.scm" file/channels.scm) (extra-special-file "/etc/guix/xxx" file/channels.scm) and the resulting files *do not point to the same store item*
<graywolf>Which I find weird.
<podiki>ieure: regarding nss, I believe apteryx was going to tackle that, thanks
<graywolf>When I introduce 3rd service (extra-special-file "/etc/guix/yyy" file/channels.scm) , the /xxx and /yyy *do* point to the same store item
<ieure>podiki, Yes, there's some overlap. I can wait until that's done and use apteryx's update.
<graywolf>So I wonder what is going on
<graywolf>883e69cdfd226c8f40b6e3b76ce0740b59857de6 would have deserved a news entry :(
<peanuts>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=883e69cdfd226c8f40b6e3b76ce0740b59857de6