IRC channel logs

2017-01-17.log

back to list of logs

<civodul>should've mentioned it
<lfam>Thanks :)
<mekeor>the first programm i package for guix could be dzen
<rekado_>ghc-pandoc no longer builds because of a build failure in ghc-quickcheck-instances
<rekado_>there are duplicate instance declarations :-/
***Guest51196 is now known as sturm
<davidl>is it possible to get a progress bar with the guix system reconfigure command?
<rekado_>davidl: no, there is no such feature.
<davidl>rekado_ ok. Anyone working on it, or is it on a future feature list?
<rekado_>I don’t know of anyone working on this.
<davidl>rekado_ ok. would be nice to have.
<lfam>The thing being counted by the progress bar would probably not reflect the time remaining very well. I guess you could count the number of derivations that remain to built. But it couldn't guess how long it would take to build each one
<davidl>could it perhaps make a gross estimate by making a system call checking the processor and also by the size of the software?
<lfam>Perhaps :) I wonder if anyone has tried this sort of thing before?
<lfam>Personally I'd rather work to get a faster build farm :)
<davidl>Faster build farm is probably a better priority. Im pretty far down the list of persons to ask for priorities xD
<lfam>It's just that you might not wonder how long reconfiguring will last if you can just download substitutes for everything
<lfam>If you lack fast internet, or don't want to use substitutes, that's another story
<lfam>I don't mean to discourage you from working on a progress bar, by the way. If you are motivated, you should try it :)
<davidl>I think it would be fun to try but I don't know any scheme dialect. It would be fun to learn Racket but Im not fast enough with my school-work to find extra time for it.
<efraim>sneek: later tell civodul libxslt, libxcb and xcb-proto all currently rely on python-minimal-wrapper, I'm trying them out with python2-minimal, and I also changed xorg to python2-minimal, so that should fix the python3 dependency of python2
<sneek>Got it.
<efraim>sneek: botsnack
<sneek>:)
<CharlieBrown>Has anybody added GNU Ring?
<efraim>There were nearly ready patches on the mailing list, but we decided to hold off until they started using a real build system
<civodul>Hello Guix!
<sneek>Welcome back civodul, you have 1 message.
<sneek>civodul, efraim says: libxslt, libxcb and xcb-proto all currently rely on python-minimal-wrapper, I'm trying them out with python2-minimal, and I also changed xorg to python2-minimal, so that should fix the python3 dependency of python2
<civodul>efraim: it's a build-time dependency, so does it really matter?
<rekado_>it is ugly from a bootstrap perspective
<ZombieChicken>Where can I find the config.scm for the LiveUSB?
<efraim>Like rekado_ said
<ZombieChicken>nvm, I think I found the .scm file
<civodul>ZombieChicken: gnu/system/install.scm
<civodul>is that the one you found? :-)
<civodul>rekado_: right, it's not great
<adfeno>Hi #guix! :)
<adfeno>I might have found an issue with the secure of our mailing list when receiving from an SMTP server.
<adfeno>s/the secure of/the secure connection of/
<adfeno>I'm unable to send patches to guix-devel. My email client is configured to use SMTP with TLS, and it seems that it only fails sending if the recipient is guix-devel (I have tested with other email addresses, not mine, and not from same service I use).
<civodul>adfeno: it would be surprising if lists.gnu.org were improperly set up
<civodul>there are hundreds of mailing lists on it :-)
<adfeno>Hm...
<adfeno>The timeout is so huge that even I get disconnect from IRC due to lack of replies.
<adfeno>(Because Gnus mode for Emacs performs synchronously, so it locks my activity during sending of messages, and so ERC mode for Emacs cannot reply to keepalives).
<rekado_>adfeno: have you considered using SMTP asynchronously, e.g. with msmtp?
<adfeno>rekado_: I'm considering using the async Emacs package. Which allows me to use the smtpmail package asynchronously.
<adfeno>s/\\(smtpmail\\)/\\1 Emacs/
<adfeno>Now let's see... I'll try sending an email to someone else (khal developer), using normal smptmail (synchronous).
<adfeno>Hope I don't timeout.
<adfeno>:)
<adfeno>Yep.... It's done :)
<phant0mas>hey civodul did you start the build on hydra?
<phant0mas>good morning :)
<adfeno>Hi, good morning phant0mas :)
<ng0>I succeded with building palemoon yesterday. Now I just need to clean up bundled software, fix the config (for example, do not use the default start page) and then it's ready to be distributed :)
<ng0>I'm building it again right now because I had to correct one path, but if you are curious, you can checkout my browser/palemoon branch from https://pagure.io/guix-dev.git .. just note that the start page it connects to is unfortunate and needs cookies etc.
<ng0>and the browser might include feature we don't want, I need to fine tune that as well
<ng0>(i hope I removed the phases which were just named in cursing at the build system)
<ng0>also the objdir is currently hardcoded, so I need info on how this will be called on other architectures..
<ng0>(objdir (string-append "obj-x86_64-" "unknown-" "linux-gnu")) it is for x86_64
<ng0>can I simulate i686 hardware?
<ng0>or will the objdir for i686 simply be obj-i686-unknown-linux-gnu ?
<ng0>one major version increased since I started with this and they still need this autoconf from '99 :/
<rekado_>ng0: why do you need the phase “mozconfig_init”?
<ng0>it's all a mess which needs cleanup. I tried to solve this the way it was documented before (run mach once to init state dir, run again to actually configure, etc)
<ng0>i think the best way to see that there are two approaches is to look at the inofficial palemoon nix recipe, then at the AUR archlinux recipe, and at the Gentoo palemoon-overlay
<ng0>mach has a weird system
<ng0>like, it took me weeks of failing, and now about 2 weeks to realize that it wants to be invoked from within the build dir, and not the src dir
<rekado_>but I wonder why you patch the configure template, adding a lot of options that you don’t seem to use
<ng0>i need a base
<ng0>then I will rewrite the package definition that it uses the options
<rekado_>re build vs source dir: you can use “#:out-of-source? #t”
<ng0>first I wanted to get to the point where it actually compiles
<ng0>but what does it do?
<rekado_>does patching the configure template help compiling it? I don’t see how this has an effect.
<rekado_>maybe I’m misunderstanding
<ng0>the configure template is empty otherwise
<ng0>there's just one option in there
<ng0>which is the browser one
<ng0>and I very much doubt that mach is smart enough to figure out that I want it to use system libaries on its own
<ng0>of course right now it doesn't use any system libraries, but like I said I need a compoiling base first
<rekado_>no, the configure template contains a lot of options
<ng0>there was this weird "mach package" which constructs a tarball and I spent a while to figure out wether I need to extract the tarball.
<rekado_>such as “--with-system-jpeg”
<ng0>oh.. sorry I used some parts of my previous work from gentoo.
<ng0>I will take a look at the configure file again
<ng0>thanks :)
<ng0>hu. you mean browser/config/mozconfig ? Are we talking about the same file?
<ng0>this includes just: ac_add_options --enable-application=browser
<rekado_>configure.in
<ng0>that's somehow not even used by mach
<ng0>but I will check later if I'm wrong
<ng0>or I skipped that because of some other guix specific issue. In any case, I need to revisit that part and comment on it
<ng0>Petter: how is the go-build-system going?
<rekado_>the configure script (when generated from configure.in) actually calls mach.
<ng0>Okay, then I will fix that part, and if contrary to expectations it shouldn't work, I will comment it. That's lacking in most parts of the package right now, comments
<ng0>thanks for the feedback :)
<ng0>for the little reaction I got on mozjs-38, I think I will contact the fedora maintainer today and ask for help
<rekado_>ng0: here’s a simpler definition for autoconf 2.13: http://paste.lisp.org/display/336813
<ng0>thanks, I will take a look at the differences as soon as I can rebase again (building right now)
<ng0>the "guix build software on systems which do not run guix" part of the HPC presentation sounds interesting :)
<roelj>Does 'parse-command-line' only parse one option?
<ng0>rekado_: yeah that looks cleaner :)
<ng0>I also had one typo in my palemoon package, so I will add the changes from your autoconf, rebase and push again
<ng0>I must admit that I haven't spend much time on autoconf and wanted to clean it up aswell, same for apng :)
<ng0>there was also a typo in autoconf, it's tar.gz. I didn't notice because it's been in my store for so long
<ng0>or they recently changed the file
<ng0>but the stamp is still 1999, so it must've been me
<ng0>I have to go now, ttyl
<civodul>phant0mas: no sorry, will do (provided hydra is not too busy :-))
<civodul> https://www.gnu.org/software/guix/news/meet-guix-at-fosdem-2017.html
***civodul changes topic to 'GNU Guix | https://gnu.org/s/guix/ | FOSDEM: https://gnu.org/s/guix/news/meet-guix-at-fosdem-2017.html | videos: https://gnu.org/s/guix/help/#talks | bugs: https://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=guix | patches: http://patchwork.sourceware.org/project/guix/list/ | paste: http://paste.lisp.org | log: https://gnunet.org/bot/log/guix'
<civodul> https://github.com/arzzen/git-quick-stats/ looks useful
<rekado_>civodul: interesting.
<roelj>Can anyone walk me through how `guix package -i <package>' loads the module wherein the package is located, and then binds the package to a variable>
<roelj>?*
<roelj>I think it ends up on process-actions, but I'm not sure what 'opts' there is.
<adfeno>roelj: I'm not sure if I understand...
<roelj>Or is there a way I can debug step-by-step (like with GDB setting breakpoints) for Guile?
<adfeno>... But so far, each .scm file holds (define-packages ...) that tell what the package is.
<roelj>adfeno: Yes, but how does Guix find the package module?
<rekado_>roelj: the start point is at guix/scripts/package.scm
<adfeno>I think it is "guix/packages.scm"
<rekado_>roelj: Guix has to turn the specification string into a variable.
<rekado_>adfeno: no, it’s actually as I wrote.
<adfeno>Oh, OK
<adfeno>:)
<roelj>rekado_: So, it does (process-query '(--install "<name>"))?
<roelj>rekado_: Oh no.. opts is an association list with at least containing (query . 'install).
<rekado_>I don’t think that part is so interesting, actually
<rekado_>roelj: guix uses specification->package+output, then turns the result into a manifest entry
<civodul>yup, in (gnu packages)
<rekado_>roelj: that procedure uses %find-package, which uses find-best-packages-by-name
<civodul>(package-location (specification->package "guile"))
<civodul>=> #<<location> file: "gnu/packages/guile.scm" line: 135 column: 2>
<rekado_>and that looks up things in the result of fold-packages
<roelj>And fold-packages does module-map, which looks in a module?
<roelj>Ehh, I can't find the definition for module-map
<jin>i get error on bran core-updates when run 'make':
<jin>ERROR: no code for module (json)
<rekado_>jin: you need to install guile-json
<jin>rekado_: ok i will try
<rekado_>roelj: geiser tells me (module-map proc module)
<rekado_>A procedure in module (guile).
<rekado_>
<roelj>I can't find it in the Guile Reference manual
<civodul>it's undocumented, for wizards only ;-)
<rekado_>roelj: you can see the definition in ./module/ice-9/boot-9.scm of the Guile sources.
<rekado_>but it’s disappointingly short :)
<roelj>hahaha, yes, dissappointingly short
<roelj>But, now I can continue the walk-through again
<roelj>Luckily, hash-map->list is in the manual ;)
<roelj>Is module-obarray short for "module object array"?
<civodul>something like that
<civodul>but you probably don't want to go this far :-)
<roelj>It's very discouraging already.. not in the manual, no easy (define (module-obarray ...)) result with grep..
<civodul>what are you trying to do?
<civodul>obarrays are an internal thing, you shouldn't be fiddling with it
<roelj>I'm trying to load a symbol when all I have is a string that should match (<record-type-name>-name sym).
<roelj>And I believe this is what must be done with a <package> when a user enters its name on the command-line.
<civodul>yes
<civodul>so basically, you should mimic 'fold-packages', which is the entry point
<roelj>I have stolen the implementation of fold-packages, and adapted it to my record type. (very hard ;))
<civodul>roughly it (1) determines the file names of the relevant modules, (2) converts them to module names, (3) calls 'resolve-interface' on these module names to load the modules, (4) traverses the list of exported bindings, (5) selects only those that match 'package?'
<civodul>(1) is 'scheme-files'
<civodul>(2) is 'file-name->module-name'
<civodul>and so on :-)
<roelj>Ok
<roelj>So... what does fold-packages actually return? What does it look like?
<roelj>A list of <#package >s?
<rekado_>that depends on what you pass to it
<rekado_>you can make it return a list of all packages, or you can use it to count packages, …
<rekado_>a fold is very flexible. What it does depends on the procedure you give it.
<roelj>Depending on PROC ofcourse..
<rekado_>(fold-packages (lambda (pkg res) pkg) #f)
<rekado_>this will give you the last package fold-packages encountered
<rekado_>,pp (fold-packages (lambda (pkg res) (cons (package-name pkg) res)) '())
<rekado_>and this will give you a long list of all package names.
<rekado_>etc.
<roelj>I see
<civodul>roelj: you can check https://audio-video.gnu.org/video/misc/2016-01__GNU_Guix__Your_Distro_is_a_Scheme_Library.webm at ~6mn
<roelj>civodul: thanks! specification->package looks like magic
<civodul>that's what it is! ;-)
<civodul>you'll also like 'specification->package+output'
<roelj>Yes! Because it also works while waving with a stick ;)
<civodul>:-)
<roelj>I'm reading "into" it ;)
<roelj>It's fascinating that there are so many places it touches.
<Apteryx>Morning, Guix! Any idea where the "%default-substitute-urls" list is defined for *guix-daemon* ?
<civodul>Apteryx: it's a configure-time option
<civodul>IOW it's hard-coded in the guix-daemon binary
<Apteryx>I see! That explains why I couldn't find it in the scm files ;)
<civodul>yup :-)
<Apteryx>I am trying to extend the default substite-urls to include the new bayfront server :)
<Apteryx>In my config.scm
<Apteryx>Is this something worthwhile to do or before I know it it will be in master?
<Apteryx>In config-daemon.ac I could find: guix_substitute_urls="https://mirror.hydra.gnu.org"
<civodul>on GuixSD, you just need to add it to your guix-configuration thing
<civodul>i have this in 'services':
<civodul>(modify-services %desktop-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls '("https://bayfront.guixsd.org" "https://mirror.hydra.gnu.org")))))
<civodul>in practice bayfront is faster, but it has few substitutes to offer right now :-)
<Apteryx>OK, thanks!
<Apteryx>I think if you imported (guix store) you could also use "%default-substitute-urls" in place of the "https://mirror.hydra... part".
<Apteryx>It seems to be the one used by the default guix-configuration, according to the manual.
<Apteryx>and/or code ;)
<Apteryx>I'm Do I need to use some module for 'config' to be a defined symbol, or is this something taken care of by (guix-service-type config => ... ) ?
<civodul>Apteryx: no, 'config' is introduced by this use of 'modify-services'
<Apteryx>OK! thanks.
<roelj>civodul: I've got it to work for my own record types!
<civodul>woohoo! glad it works!
<Apteryx>I'm now trying to figure out what the gexp for the public key should look like, to put directly to the authorized-keys field of my guix-configuration record
<Apteryx>Do we have an example of this somewhere?
<efraim>here's my acl file: https://paste.pound-python.org/show/tj3PXdwu3cOaCUwhJqLy/
<Apteryx>efraim: Thanks! So if I'm to use this in my config.scm file, should I start the key definition at (public-key ... ? And I guess I must then import the public-key record? Here's a snippet of what I'm trying to do: https://paste.pound-python.org/show/BI7tFbuMxbrnqJ0bdCwY/
<Apteryx>Or /me is reading chapter 4.6 on g-expressions
<Apteryx>Looks like it's easiest to leave this as a file for now
<Apteryx>;)
<Apteryx>Another question: what is the preferred location to add locales? My system config or my user profile? Or does it not matter.
<mekeor>Apteryx: i'm not sure, but i'd guess, if your computer is used by people speaking different languages, everyone should use the user profile. otherwise, system-wide? – my guess.
<Apteryx>mekeor: Thats seems reasonable. I was wondering if it would make any difference for the software, I guess not, the same way a package doesn't care if it's installed system-wide or in your user profile, it works the same.
<ng0>I'm back. and I hit runpath issues. is there an example of how to add an .so to a runpath of another .so ?
<rekado_>depends on the build system
<ng0>for mach I use gnu build-system
<rekado_>ng0: take a look at serd
<ng0>thx
<rekado_>or better: r
<rekado_>(using make-flags instead of a build phase)
<Apteryx>Oops! Seems the master branch is broken: http://paste.lisp.org/display/336825
<Apteryx>Have to go!
<rekado_>Apteryx: rm gnu/system.go && make
<Apteryx>That seems to work, thanks! What is the explanation for this?
<ng0>r doesn't work for my case. which is like:
<ng0>/gnu/store/m8vkaw2ghwjjr4fxp4m1s07x5l1qvdbi-palemoon-27.0.3/lib/palemoon/libmozjs.so: error: depends
<rekado_>it’s an ABI break
<ng0>on 'libnspr4.so', which cannot be found in RUNPATH
<ng0>etc
<rekado_>where is libnspr4.os?
<rekado_>*so
<ng0>need to cd there first
<ng0>ng0@wasp /t/g/P/o/d/lib> ls -al libnspr4.so
<ng0>lrwxrwxrwx 1 ng0 users 34 Jan 17 12:03 libnspr4.so -> ../../nsprpub/pr/src/./libnspr4.so*
<ng0>there are many more runpath issues, but some can be fixed by actually using system libraries instead of bundles
<ng0>I know the binary works because I was able to run it from the /tmp/out path
<ng0>I think I can search for this in bug reports, but I don't know how to fix it for guix if I really need to change something.
<ng0>icecat does a thing for libxul
<ng0>and libxul also appears
<rekado_>why is this a symlink? It should be the final location.
<ng0>yeah... some are even symlinks to /tmp
<rekado_>(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib/R/lib")
<rekado_>this tells the linker that the $out/lib/R/lib directory should be on the RUNPATH.
<ng0>maybe the tarball unlinks and this is why I should use the tarball which is created in the end
<rekado_>this doesn’t sound right.
<ng0>only because I was too lazy to type in a full sentence:
<ng0>"mach package" creates a .tar.bz2 in the end, Gentoo uses this tarball and unpacks it, while others (like myself) ignore the tarball and just use the folders
<ng0>so I could add (string-append (assoc-ref %build-inputs "nss") "/lib/bla/foo")) to the runpath
<ng0>yeah, the tarball no longer includes symlinks, just files without symlinks
<misterhat>hi friends
<mekeor>hi misterhat (:
<lfam>nckx: Can you move that cups-filters change to staging?
<dadinn>hi all
<cbaines>dadinn, hey :)
<dadinn>just a question, been looking at the ways to run Guix, and the "System Installation" download, even though it says USB install AFAIU is a qemu raw image to boot from, not really an iso image to write on a USB drive, and install Guix (like eg. Debian installer)
<geemili>dadinn: I put it on a USB just fine
<geemili>I used `dd` to put it on the USB drive
<cbaines>dadinn, ISO images are for writing to optical media (e.g. cd/dvd)
<cbaines>Some images, sometimes called hybrid images can be used as an ISO or USB image
<cbaines>Unfortunately the guix installer is not yet one of those
<dadinn>geemili: hmm... I've beet discussing it before here, that it can't be booted from under KVM, therefore I would be surprised it could be booted just by writing the 0s and 1s to a USB stick
<davexunit>using 'dd' to write it to a usb stick works just fine
<davexunit>done it a bunch of times, as have others. it is indeed a raw disk image.
<dadinn>davexunit: why it can't be booted as an iso then?
<davexunit>it's not an ISO
<davexunit>a raw disk image is different from the ISO file format.
<lfam>ISO is different from a disk image, with its own type of filesystem
<lfam>It's intended for use on optical disks
<davexunit>I don't know the details, I just know that it is different.
<lfam>See: https://en.wikipedia.org/wiki/ISO_image
<dadinn>lfam: hmm, it seems I had some misconceptions here, then :(
<lfam>You can definititely run it with KVM / QEMU. But I guess that VPS services that offer KVM virtualization have some extra thing that requires the ISO format.
<lfam>Our disk image is specifically intended to be written to a USB flash device and booted. If that doesn't work, it's a bug :)
<dadinn>I see
<mekeor>does anybody have a guix package definition for emacs with using 'athena' (libxaw) x-tookit?
<lfam>nckx: I moved that cups-filters commit to staging
<civodul>lfam: thanks for the webkitgtk update!
<civodul>just saw the announcement on oss-sec, and woow
<lfam>civodul: I'm not the only Guix contributor that was already working on the update, either! :)
<civodul>we'd like to hear good news like this more often :-)
<lfam>Yes, it really warmed my heart
<mekeor>ACTION compiles webkitgtk :D
<lfam>mekeor: Yeah... hopefully we have substitutes soon :)
<mekeor>is there a way to make 'guix package -m' or 'guix system reconfigure' either (1) show all packages to be installed, marked as 'to-be-build locally' or 'there is a substitute', and then ask if that's fine for me; or (2) just install the last system completely available as substitutes?
<lfam>mekeor: (1) In practice, --dry-run will you what will be substituted and what will be built from source. It doesn't take grafting into account, but grafting is an order of magnitude faster than building in most cases, and you should never disable it except when debugging.
<lfam>I mean to say, "--dry-run will tell you what..."
<mekeor>(seems a similar question was aked before https://gnunet.org/bot/log/guix/2016-12-11#T1228052 )
<lfam>There *was* a bug that made grafts slow in some cases, but it's fixed on the master branch.
<lfam>Fixed in 0aeed5e310504a9ef2cf6a2b2a7e76086eb8c2fc and the preceding commit
<mekeor>alright, i'll check out --dry-run, thanks lfam :)
<lfam>Right, in my limited knowledge, it's a use case that Guix doesn't really meet right now, since Guix is a build-from-source system that transparently substitutes binaries when they are available. But my understanding of the implementation is still weak, so I don't know how easy or hard it would be to do what was asked there.
<lfam>mekeor: I'm curious, did you do `guix pull` and now find yourself wondering how you can go back?
<mekeor>lfam: yes, i did `guix pull` and then i did 'guix package -m' (as user) and 'guix system reconfigure' (as root) and i didn't like that i didn't know how long it would gonna take
<lfam>`guix pull` is one tool that I think suffers because many of us have an alternative to that particular flavor of dog food. We keep a Guix Git repo that we build and use, and that gives us way more flexibility than the one-way `guix pull`.
<lfam>Working from the Git repo lets us use arbitrary commits, and test changes at will.
<civodul>ah ha :-)
<lfam>It's not great for everyone that's unfamiliar with Git :/
<ng0>rekado_: I know again why I did it like this. the configure flags get transported on to other subdirectories/moz.build files, and let the configure phase fail once it enters "js/src" (which happens probably because no java,javac,javah,jar,jarsigner is found
<ng0>or maybe not.. but to not carry these build flags on and on would be good. haven't pushed an updated yet
<ng0>ah, because out of source does not work in this case
<ng0>and I thought I was almost done
<rekado_>lfam: I agree. I would love for a better “guix pull” to exist because right now I have to perform updates on my partner’s laptop. It’s just not easy enough.
<lfam>And it's not just the user interface / experience. There is also the trust issue
<lfam>But, I don't see a reason for one of those concerns to block improvements to the other
<ng0>- can't configure in the source directory - can't configure completely outside of it --- what... decide on one way
<rekado_>ng0: if you replace the configure phase you have to check how gnu-build-system would usually handle configuration out-of-source
<ng0>configuration works
<ng0>it's just that it breaks once it does js/src
<rekado_>what means “does”?
<ng0>with the way I had it before, this did not happen
<ng0>does enter
<ng0>sorry
<rekado_>what is “it”?
<rekado_>is it configuration or building?
<ng0>it expects a configure file, and finds none
<ng0>configuration
<civodul>rekado_, lfam: i agree, "guix pull" is a shame
<rekado_>(you wrote “configuration works” a few lines up)
<ng0>works up to the point until
<lfam>That's harsh, civodul!
<civodul>well, yes, but it's kinda deserved
<lfam>We just need to improve it :)
<civodul>i feel bad about it
<civodul>yep
<ng0>if I find no way to work around this, I will stick with my version and comment on it why I chose this
<lfam>Do we have a consensus about how the UX should improve?
<civodul>i tend to procastrinate non-trivial things, partly because i rarely have big chunks of time available
<lfam>I do the same thing
<civodul>lfam: more or less
<civodul>there's this channel idea that seems to be consensual
<civodul>though we got little feedback in fact
<ng0>the thread got so long that I stopped paying attention
<lfam>I was thinking a "small" improvement would be to enable it to accept arbitrary commits to pull from. That would at least allow a basic roll-back funtion, assuming the user could determine which commit they wanted.
<civodul>right
<civodul>so we'd use git directly instead of downloading the generated tarball
<lfam>Hm, I assumed that cgit could provide snapshots of arbitrary commits
<civodul>oh, maybe it can
<civodul>dunno
<lfam>Do you want me to look in to it?
<cbaines>I think its configurable, at least the archive type
<lfam>Is it a feature we want to provide?
<civodul>lfam: sure!
<civodul>yes
<rekado_>but they are generated on demand
<rekado_>i.e. different timestamps embedded
<lfam>But does it matter for `guix pull` as it is now?
<rekado_>and caching would have to be done by the web server
<civodul>i'd really like to switch to guile-git since we'll have to do that anyway
<civodul>i think the timestamp issue doesn't matter right now
<rekado_>ok
<lfam>I guess that the current `guix pull` must leave a lot of trivially different tarballs in Savannah's cache
<civodul>but it's the cache's job to evict them when needed
<lfam>Right, I'm not suggesting we try to manage it for them :)
<rekado_>how do we handle ABI breaks?
<lfam>Right now we just re-build all of Guix from scratch
<civodul>we have to rebuild it from scratch i think
<civodul>problem is that with Guile 2.2 it takes ages
<ng0>ah, rekado_ i know where I got the idea of ac_add_* : the official instructions! https://web.archive.org/save/_embed/https://forum.palemoon.org/viewtopic.php?f=19&t=4166
<mekeor>Q: why does nothing happen when i execute 'guix package -f emacs-athena.scm' on this file: http://lpaste.net/351364
<rekado_>oh, wow: rofi + stumpwm is great!
<rekado_>rofi is like ido and stumpwm is a bit like emacs
<lfam>The snapshot generator is actually really fast! I requested a snapshot of a very early commit, and Savannah started to send it immediately
<rekado_>ng0: in that case please generate the file from scratch with “display”, not by substitition. And please comment why it’s needed :)
<ng0>even when it says windows, this is also valid for gnu systems because build system from hell something is broken or whatever. I will try to mess around some more and see if I can stick with #:configure-flags, otherwise I'll switch back
<ng0>I've used substtitute because there is a file you can copy
<OrangeShark>mekeor: the file has to evaluate to a package. So you can either remove the define-public or just add emacs-athena to the end
<lfam>Off-topic but Obama just commuted Chelsea Manning's sentence. She'll be free in May 2017 :)
<rekado_>woo! It’s about time!
<OrangeShark>mekeor: if you want to be able to `guix package -i emacs-athena`, you can put the file as gnu/packages/emacs-attena.scm where the gnu directory would be in your GUIX_PACKAGE_PATH environment variable
<rekado_>m
<ng0><ot add: *if* trump changes nothing in 5 months
<ng0>this palemoon build system is really stupid. I hope I can make it accept the build flags just through the flags
<OrangeShark>so like ~/guix-packages/gnu/packages/emacs-athena.scm and the GUIX_PACKAGE_PATH would be ~/guix-packages
<mekeor>thanks, OrangeShark :)
<lfam>If Trump tries to "un-pardon", then the institutions of justice in the USA will be even worse than I suspected
<lfam>I remember that `guix pull` already accepts arbitrary URLs. So I don't think it's necessary make `guix pull` take a "commit" parameter
<lfam>civodul, rekado ^
<civodul>lfam: re Manning, woow!
<civodul>at last
<civodul>now for Snowden, Assange, etc.
<lfam>Yes, and begin to respect the principles of habeus corpus, fully fund the public defenders, etc. So much work to do!
<civodul>yeah
<ng0>but I forgot about: https://web.archive.org/save/_embed/http://www.palemoon.org/redist.shtml so I think they have an --disable-official-build or whatever the function was called to not use the official themed stuff
<lfam>civodul: How about we just document in the manual how to write a URL that will download an arbitrary commit for `guix pull`?
<ng0>(--disable-official-branding I meant)
<rekado_>it would be neat if I could tell Guix to use a different version of Guix for the current command
<rekado_>e.g. guix package -i foobar --guix-version cabba9e
<lfam>Interesting :)
<rekado_>this would minimise requests for keeping every variant of a piece of software in Guix’s history.
<lfam>In practice, lots of Guix is broken after only a few months. Important test suites *expire*, and source code becomes unavailable upstream
<lfam>The latter can be fixed easily, but I don't have any ideas about fixing the former
<roptat>sg hi, I can't make current master anymore
<roptat>I get "gnu/system.scm:191:4: In procedure module-lookup: Unbound variable: #{% file-system-needed-for-boot?-procedure}#"
<rekado_>roptat: rm gnu/system.go && make
<civodul>lfam: yes, that would already be an improvement
<lfam>Okay, on the way
<civodul>ACTION apologies to everyone hitting the ABI break issue
<roptat>civodul, thanks it works !
<mekeor>OrangeShark: how do i make my package visible in my manifest? i put the define-public back in into emacs-athena.scm. i defined $GUIX_PACKAGE_PATH. i moved emacs-athena.scm to $GUIX_PACKAGE_PATH/gnu/packages/. i inserted (use-modules ... (gnu packages emacs-athena)) into my manifest.scm. still, 'guix package -m manifest.scm' results in emacs-athena being unbound...
<mekeor>nevermind, it works! =)
<mekeor>nevermind, it doesn't work... omg
<mekeor>the first error is: emacs-athena: unknown package