<tasankovasara>Sorry for newbie question, but: 1) I try to 'guix build' a package -> 2) I get error code 127 on autoreconf (=file not found) -> 3) I say 'guix install autoconf' -> 4) guix zooms through its output, no errors -> 5) try the build again with same 127 result -> 6) I do 'guix pull' and try yet again -> 7) still no autoconf.
<tasankovasara>glibc locales is the only package I've installed previously and it installed fine. What might be the error of my ways?
<tasankovasara>what's more: I see autoconf and locales installed, I have guix referenced in my path and have GUIX_LOCPATH set. But there are no autoconf binaries in my path and on every command I get the 'set GUIX_LOCPATH' nag. Is my installation borked? Installed with the Ubuntu guix package and then guix pull'd to update. guix-daemon is running, but guix-publish.service fails. I need to know if I should try
<tasankovasara>This is not for fun btw, I'm on company time and would really like to show some Guix magic. Input would be appreciated.
<tasankovasara>... ok, now I fixed guix-publish not starting and a relogin made /root/.guix-profile/bin/autoreconf show up on path. Still the same build error, but now I'm confident that Guix is working.
<evilsetg[m]>If autoconf is not there at build time using 'guix install autoconf' does not fix that because builds are done in isolated environments.
<evilsetg[m]>It seems autoconf is not in the inputs or build-system that the php package uses, otherwise it would be there. I have not checked though. If you want to make sure autoconf is there for the build you need to add it to the 'native-inputs' of the package.
<evilsetg[m]>But I would also think autoconf would be there when building the php package without having looked at it.
<tasankovasara>evilsetg[m]: thanks for the input. I'd imagine the error is because I'm referencing the php package but asking for the impossible by specifying git source and a really old branch too.
<tasankovasara>So I'm super new to Guix (started yesterday), but should this work in principle:
<tissevert>is there a way to synchronize channels (tell which commit from one is required on the other) ?
<tissevert>conversely, is there a way to tell guix pull to update only one channel ?
<tasankovasara>I now recreated php.scm for version 7.2.12 from the Guix git, found out how to use that, fixed two lines that referenced libjpeg ('use libjpeg-turbo instead') and now get a super helpful 'guix build: error: #<unspecified>: not something we can build'. This is not very handy nor easy. A bit of a disappointment.
<tasankovasara>this is what I'm trying, with php.scm being the 7.2.12 version from Git.
<rebar>hi can i ask if guix supports zfs on root? i wanna try guix but only if i can run zfs
<tissevert>tasankovasara: so why would you need a php.scm if you pass all the reference to the command line ?
<tasankovasara>well, a guy's got to try :D I have tried just passing the -f as well, not lucky there either
<tissevert>but anyway, I don't want to question what you're trying to achieve, here, it's just I don't see how that could yield the kind of error your facing, which looked like you were trying to define your own php package for the version you're interested in
<tissevert>and I'm afraid I'm not qualified to help with advanced package replacement in command lines and such (I've never needed that so far and don't know it)
<tasankovasara>yeah, I'm surprised the .scm isn't kosher since I didn't touch it at all. But I guess this is not a use case for Guix after all, so I'm going to go manually next.
<tissevert>and even if that fails, since you're apparently hacking directly on your clone of guix, you could duplicate the definition for php, fix its version (and possibly adapt the compilation options, phases, and such which may have changed a lot in between), and recompile guix locally
<tissevert>to use the local, editted, version of guix (with ./pre-inst-env), which will know about your email@example.com
<tissevert>(because you will have filled that in the version field)
<jpoiret>sneek, later tell civodul: So I got a built Hurd, and I would want to test it, however `guix system image --target=i586-pc-gnu -t hurd-raw gnu/system/examples/bare-hurd.tmpl` pulls in wayyy too many packages like a lot of texlive, qtbase (?), rust (???). That isn't normal, right?
<tissevert>how can one use a version of guix still available in guix pull --list-generations ?
<tissevert>I thought using time-machine with a commit found there would prove useful, but it's still trying to recompile everything
<tissevert>isn't that version still present on my disk ?
<evilsetg[m]>Hey, I want to package antibody the zsh extension manager. It is a go program. One of the dependencies has the import path 'gopkg.org/alecthomas/kingpin.v2'. This is already packaged but under the import path 'github.com/alecthomas/kingpin'. Is it possible to rewrite the go import paths of inputs to resolve this mismatch?
<sneek>civodul, jpoiret says: So I got a built Hurd, and I would want to test it, however `guix system image --target=i586-pc-gnu -t hurd-raw gnu/system/examples/bare-hurd.tmpl` pulls in wayyy too many packages like a lot of texlive, qtbase (?), rust (???). That isn't normal, right?
<civodul>jpoiret: hey! it might be things like building the GRUB splash screen natively (needs librsvg, etc.)
<civodul>but you could have a childhurd (built from current master) and offload i586-gnu native build from core-updates
<TristanCottam[m]>Users will have to --allow-downgrades on the next guix pull, that's for sure
<TristanCottam[m]>Unrelated question: What's the difference between (use-modules (gnu ...) ...) and (use-modules (gnu))? When should I use one over the other?
<evilsetg[m]>The first one imports modules that are under the gnu namespace but not the (gnu) modules themselves. The second one only imports the gnu module. Using (use-module (gnu packages)) does not the module gnu itself but the gnu/packages module, so the packages module in the gnu namespace. Is that what you were meaning with the ... dots ?
<arjan>TristanCottam[m]: each modules exports specific things, not the things from parent namespaces
<TristanCottam[m]>I think, as in what's the difference between specifying specific (gnu ...) modules and simply specifying (gnu)
<evilsetg[m]>(gnu something) is a different module from (gnu). They export different procedures and variables and importing one does not import the other.
<TristanCottam[m]>As far as I can tell, specifying specific gnu modules adds clarity, while only specifying(gnu) is shorter. Is that all there is to it?
<TristanCottam[m]>> This composite module re-exports core parts the (gnu …) public modules.
<TristanCottam[m]>tissevert: If you're your channel's only user, `guix pull --allow-downgrades` should be all that's required
<haugh>@Tristan Cottam You might find some modules which automatically re-export some bindings from their "children", but this is done on a per-module basis; it's the guile code in a given module, not an automatic export by the module system.
<haugh>@Tristan Cottam No, `(use-modules (gnu))` loads `.../guix.scm` which exports only `use-package-modules`, `use-service-modules`, and `use-system-modules`. `(use-modules (gnu artwork))` loads `.../guix/artwork.scm` which exports `%artwork-repository`.
<TristanCottam[m]>> `use-system-modules`. `(use-modules (gnu artwork))` loads `.../gnu/artwork.scm` which exports `%artwork-repository`.
<TristanCottam[m]>Okay, I'm not sure I understand exactly what the `gnu` module does. Are `use-package-modules`, `use-service-modules`, and `use-system-modules` called automatically? When should I use which?
<efraim>looks like rust-1.68 is out. Definately not updating the rust-team branch to that
<haugh>@Tristan Cottam, after checking the source, turns out I'm wrong! `(gnu)` uses the advanced (first-class) module system to re-export a bunch of stuff.
<apoorv569[m]>Guix needs to improve a lot before I can move back. There is no proper help thing.. People just talk about their personal life here or dev stuff. I would really like to see a place just for help.
<mirai>I have a "canonical" branch where rewrites are extremely rare (mostly if I want to change how the commit text structure is laid out) and a "fast-streams" branch, which is used as a kind of "master" branch
<TristanCottam[m]>mirai: About that, if you use Guix Home, do you store your config in the same repo as your system config?
<Guest99>How would I reformat sda1 to completely reinstall grub?
<jakfrost>Guest99: I had the same error. On my Lenovo Thinkpad Edge E530. It involved the NVRam being full, not the /boot/efi partition. I had to mount my system using the install iso and delete DUMP_* files in /sys/firmware/efi/efivars
<jakfrost>After that I rebooted and was able to finish the update
<Guest99>I have now file system with uuid uuid not found
<Guest99>How do I create manually one with that uuid?
<jakfrost>Guest99: I had to find the device my ESP partition was on and mount it at /mnt/boot/efi after I created boot/efi in /mnt. In my case it was a command like `mkdir /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi`
<jakfrost>oops sorry, I was referring to something related to my issue, not yours
<jakfrost>I mounted my system at /mnt using the command `mount /dev/sda3 /mnt`
<jakfrost>then `cd /mnt/sys/firmware/efi/efivars` to get into the proper location. Do and ls to see if there are DUMP_ files and rm them, but NOTHING ELSE
<jakfrost>This was using the installation image on a USB stick to boot my unbootable system and recover
<apteryx>Guest99: I think I've seen this error before; I don't know what it's caused by exactly, but rebooting the machine and trying again fixes it
<apteryx>perhaps the partition gets remounted read-only after errors, or a firmware bug, I'm not sure
<Guest99>I actually I just reformated in the hopes upon clean redoing everything all errors are gonee
<efraim>is there some magic git command that covers 'git stash && git pull/rebase && git stash pop'?
<martinf>Can someone help me out? I am trying to add an about-filter to cgit, the filter I am trying to use is located at /gnu/store/cgit-XXXXXX/lib/cgit/filters/about-formatting.sh but I have no idea how to add it as a string. I tried using g-expressions and store monads but they both throw an error saying "String expected"
<Guest99>apteryx nvram is used to persistent store configuration. Therefore using that flag as default isn't useful
<Guest99>I never got to figure out why my efi vars are not present in chroot env. Installing my system without efi since it is not a requirement for my motherboard and I do not have to deal with that nonse hopefully again
<jpoiret>Guest99: did you bind mount everything in the chroot?
<sarg>it went surprisingly smooth, but there are still some rough spots: defining image manually because of the gpt/mbr issue; hardcoding partition labels to `Guix_image` and `GNU ESP`; requiring internet access because of missing substitutes for `guix home` in the image
<Guest99>jpoiret your CMD shows them on the live is, trying chroot
<jpoiret>sarg: just a note, ventoy is known not to work with Guix