IRC channel logs


back to list of logs

<Common_Era>As I was talking about before, I am trying to build a project written in Guile on GuixSD, but when I use a guix.scm to install it to the site packages, I get %invalid-base32-character, even after
<Common_Era>using the hash command correctly.
<due>uhm, it's compiling
<due>just... i had a talk with jfma about an issue, and now the download is over: the machine is compiling
***due is now known as cue
<wingo>Common_Era: strange :) can you paste the hash somewhere?
<wingo>with the quotes?
<Common_Era>I could connect from the computer, if it's absolutely needed, but I'd like to not. I'm still looking into it. Thanks.
<wingo>it's probably like an extra space or something in the quotes
<Common_Era>I didn't hand-copy it though. I did it with Emacs.
<adfeno>I have found a possible explanation for the problem I'm having with building my cryptopp recipe.
<adfeno>It seems that, while in the build phase, `make` doesn't find the GNUmakefile that's inside the unpacked source tree.
<adfeno>However, I made sure that `guix build` keep the failed builds, and did:
<adfeno>sudo --user="guixbuilder01" GUIX_PACKAGE_PATH="[Dir to my test recipe]" guix environment "cryptopp" ...
<adfeno>↑ (this was done inside the failed build directory)
<adfeno>... and did `make dynamic`, and it found the GNUmakefile.
<adfeno>Which package provides the "ldconfig" command?
<lfam>adfeno: I believe it's glibc, but it looks like our packaging doesn't create it
<lfam>I could be wrong
<adfeno>Cryptopp++ seems to depend on ldconfig to be built
<lfam>adfeno: Yes, see the glibc package definition. We disable ldconfig
<Common_Era>Oh, lfam, sorry to bother you, but I had to go earlier.
<lfam>Are you still having trouble?
<adfeno>I did a long `which` command following the GNUmakefile instructions, and the only thing left is ldconfig.
<Common_Era>Yes. My problem is that my package definition returns a "%invalid-base32-character" after using "guix hash -f base32 -r <directory>". I've also tried it with "guix download -f base32 <my repo>"
<Common_Era>, but that returns a different hash everytime.
<lfam>Why are you using
<lfam>Why are you using '-f base32'? I don't think that is required
<Common_Era>Oh, it's not?
<lfam>Also, if `guix download` returns a different hash for each run, then something is wrong
<lfam>No, I actually did not know that the -f option existed until just now
<Common_Era>The default isn't base32, it's nix-base32, does it matter?
<adfeno>Common_Era: nix-base32 is implied.
<adfeno>The package definitions use nix-base32 if I'm not mistaken.
<lfam>Finally, I recommend you never use `guix download` except as a replacement for something like `curl` or `wget`. It will mask errors in the source URI
<lfam>What happens is that people use `guix download`, and the source code is in /gnu/store. Then, they make a mistake in the URI, but they never notice, because the URI is never used because the source code is already in /gnu/store
<lfam>A minor problem, but annoying when reviewing packages :)
<adfeno>So, now I'm stuck... There doesn't seem to be a way to tell the GNUmakefile to not use ldconfig.
<Common_Era>Okay. Maybe it was just my using base32, instead of nix-base32.
<lfam>adfeno: I'd ask for advice on guix-devel.
<adfeno>I'll, tomorrow. It's 22:40 here.
<lfam>Okay, I'll tomorrow ;)
<lfam>*read your message
<lfam>Tricky contraction :)
<lfam>adfeno: You might also see if Nix addressed this issue. They do have a crypto++ package
<adfeno>Hm... Interesting...
<Common_Era>It works. Thanks.
<adfeno>I must go now. Bye-bye! :)
<Common_Era>Alright, so "guix package -f guix.scm" says that the package git-checkout a hash, but that it should have a different one. I'm building from Git, so I can't build it.
<lfam>Common_Era: I don't understand, can you rephrase the problem?
<Common_Era>/gnu/store/k1spyiwznyjfwz37i87vn49bzjfnm8nm-git-checkout' should have r:sha256 hash `0d5x2vf5pzbpc9d25qradj0x7n46hc2d1a4mx9nf0mslxzias0q8', instead has `0zvc97qg3hin017wrrpi7r82xihnd32hpfxhqd4fqw7lp41fqba7
<Common_Era>That's the error.
<lfam>Common_Era: That means that you have used the incorrect hash in your package definition. Since it's a Git checkout, you need to make sure you don't hash the .git metadata. When Guix tries to build from a Git checkout, it clones the Git repo, checks out the specified commit, deletes the .git metadata directory, and then hashes the source tree. I think that `guix hash` has an option to automatically exclude the .git directory for you.
<lfam>Make sure you check out the desired commit before running `guix hash`
<Common_Era>Thank you
***tschwing_ is now known as tschwinge
<efraim>sneek: later ask lfam what happened with the python-updates branch? I'd like to work on it some
<efraim>sneek: botsnack
<adfeno>Hi all! :)
<ngz>Hello. I'm seeking for advice about a package, whose source is basically an "index.html" and a bunch of javascript files. This is actually an "online" web app. I think it would be nice to provide it as an offline web app. It is not possible to open index.html in a browser because cross domain AJAX requests raise errors.
<adfeno>Which app it is?
<ngz>I think it would be possible to run a local web server in the background and have it serve the index.html file.
<ngz>It is snap!.
<ngz>Would the local web server make sense in the context of a Guix package? If so, how can it be done?
<adfeno>Is it the software to teach people how to program? If so, I want to say something **unrelated** to the issue, but interesting: There's an ongoing discussion on directory-discuss as to whether the Free Software Directory should delete, and stop recommending, Scratch.
<ngz>Why would it?
<adfeno>Scratch recommends Flash.
<ngz>Scratch 1.4 is fine.
<ngz>limited, but fine.
<adfeno>SNAP works with HTML and JS. Of course, work must be done to free/liberate the JS, but it's possible.
<ngz>Snap is a good alternative to Scratch 2
<adfeno>s/possible/easily doable/
<ngz>Unfortunately, there is no offline application out of the box.
<ngz>Hence me seeking for advice.
<adfeno>Snap as alternative to Scratch: This is why we're supporting Snap the most.
<adfeno>As for the problem in question...
<adfeno>ngz: Perhaps a simple netcat/nc server, but this is less secure.
<adfeno>ngz: Besides, if I'm not mistaken, it's also possible to open a webserver using Guile.
<ngz>That sounds promising
<ngz>since it means no additional inputs are involved.
<ngz>(guile is, but already in store anyway, so that doesn't count)
<adfeno>I think GNU Artanis has an example.
<adfeno>Also: GNU Artanis is a "web application framework" that uses Guile, check it out.
<ngz>it may be overkill, according to its description...
<ngz>I'd like to see something as basic as possible.
<ngz>I just need to work around the cross domain problem after all. Nothing fancy. OTOH, I know close to nothing to the subject at hand.
<Sleep_Walker>interesting topic :)
<adfeno>ngz: Which errors Snap raises?
<Sleep_Walker>if all is HTML and JS - is web server needed at all?
<ngz>Well, opening index.html launches the application, but it raises errors once I try to import artwork, e.g. "NS_ERROR_DOM_BAD_URI:Access to restricted URI denied"
<Sleep_Walker>so it needs just special browser profile? :)
<adfeno>Hm... "NS_ERROR_DOM_BAD_URI" ...
<ngz>To tell the truth, I have no clue.
<adfeno>ngz: Is it raised by the JS (open the browser console and see from where this error comes).
<adfeno>Optionally, you can look for such keyword in the source files.
<Sleep_Walker>worth of test
<Sleep_Walker>(but just for that, it might be dangerous)
<ngz>"Type error: text is undefined"
<Sleep_Walker>progress :b
<adfeno>Side-question about Guix: Suppose a download of a package fails during `guix package --install`, do I need to do `guix gc` and start again?
<Sleep_Walker>I don't think so
<Sleep_Walker>does it fail during download of prebuilt archive or local build?
<adfeno>Of prebuilt packages.
<adfeno>But if I retry, it works most of the time
<adfeno>I was just curious as to what Guix does with the corrupted files if it's about to use them again.
<Sleep_Walker>btw. local snap works for me in conkeror
<adfeno>ngz: Sorry for not answering earliear: "Type error: text is undefined" ?? This comes from which file?
<iyzsong>gc is really for remove unused item to save space. files are added to store after download finished and hash checked, so the corrupted are rarely.
<jmd>where has that madman civodul got to?
<ngz>adfeno: sorry. Emergency AFK. The error appears in the console whenever I try to load a library from the application.
<ngz>Apparently, it is related to morphic.js and gui.js.
<ngz>Scratch that. It is in gui.js
<adfeno>Can you point me to where you got the source files you have?
<ngz>Just one sec...
<adfeno>Of course, I can do this myself by visiting SNAP's website (if they do provide the source files correctly packed), but there might be differences in versions.
<adfeno>So I recommend you to give me the exact reference/location.
<ngz>This is the recipe I'm currently using.
<ngz>So you have the source uri I'm downloading.
<ngz>Error happens in gui.js:2850:5
<adfeno>ngz: Wow... :)
<adfeno>Indeed... gui.js has some advanced JS. Don't worry, I think we can sort this out... Just let me think...
<adfeno>... position 2850:5 is inside a prototype for IDE_Morph... so
<adfeno>If I'm not mistaken, "prototype" is used for cases where one wants to create an object type, in this case IDE_Morph, and wants to automate some tasks related to what information should be provided by the prototype.theFunctionName.
<ngz>adfeno: if I read the console right, it could be related to a call to IDE_Morph.prototype.parseResourceFile()
<ngz>In morphic.js, it happens when calling TriggerMorph.prototype.trigger()
<adfeno>So, unless it's a bug in that paerseResourceFile function, then the problem is with the caller (code which uses something like "new IDE_Morph" or similar ways to create objects based on stablished types).
<adfeno>So... The callers are in other part of the code, in morphic.js as you said.
<adfeno>Hm... Another new object type.
<ng0>i was wondering about java... is there anything special i need to pay attention to when packaging? it'd cool to have lucene, i started to package this a bit.
<adfeno>ngz: Interesting....
<adfeno>I unpacked Snap package and tried to run it.
<adfeno>with Abrowser (Trisquel's freed version of non-(free/libre) Firefox), it works.
<adfeno>I'll try with GNU IceCat
<ngz>It works, but if you click the file icon, then either "Costumes" or "Library", you get the error.
<adfeno>Oh... OK... Will try.
<ngz>Otherwise, the application runs fine.
<ngz>But without artwork, this is much less interesting.
<ng0>icecat is terrible old by now. if the mistake is just in icecat: there are now already websites which block out the version of firefox icecat is delivering.
<ngz>I use firefox ESR from debian
<brendyn>Is there any convention to follow for the name of inputs? What effect do they actually have?
<adfeno>Well... I can't really use nor recommend Firefox by now since it's still non-free.
<ngz>Is it? I don't think I activated non-free repo in Debian.
<adfeno>Anyways, on the actual subject... I see a different error in Abrowser.
<adfeno>ngz: It's non-free due to issues with Mozilla's trademark policy and how Debian project is somewhat considered special to that policy.
***marxistvegan_ is now known as marxistvegan
<bavier>brendyn: typically, the input name is the same as (package-name input)
<bavier>brendyn: but it really can be whatever; the name is used for lookup during the build, if needed: e.g. (assoc-ref inputs "foo")
<brendyn>bavier: Yes but often it has arbitrary differences
<bavier>brendyn: sometimes it's useful to have a completely different name, in order to denote a higher-level classification of the input.
<bavier>e.g. many of the openmpi users label the input "mpi"
<adfeno>ngz: I get this error in Abrowser:
<bavier>this can help automating full-scale substitution of the MPI implementation if desired
<adfeno>Synchronous XMLHttpRequest shouldn't be used in main thread due to its side-effects to the user experience. For more information
<brendyn>why not "openmpi"?
<adfeno>... gui.js 5020:8
<bavier>brendyn: the name describes an API that could be satisfied by any one of several implementations
<bavier>brendyn: so if one wanted to, they could define a procedure that recursively replaced the MPI implementation for a given package, and that could be simplified by just looking for the "mpi" name.
<adfeno>ngz: I'll try with GNU Icecat now.
<adfeno>ngz: Yep, same error using either Abrowser or GNU IceCat.
<ngz>It sounds like a warning more than an error.
<adfeno>ngz: Does the "Library" menu load for you?
<adfeno>That is, the "Import libraries" menu that comes when clicking the "Library" button?
<ngz>I don't get past "Libraries..." menu entry
<adfeno>In my case, I do.
<adfeno>And, following Sleep_Walker's reference to a similar error about NS_ERROR_DOM_BAD_URI, Both my copies of Abrowser and GNU IceCat have the "security.fileuri.strict_origin_policy" set to true, **contrary** to what that reference recommends to do.
<adfeno>ngz: I'll try using the recipe you shared.
<ngz>It might be worth trying with a local web server too.
<ngz>I need to go, sorry.
<adfeno>Take care.
<brendyn>bavier: Ok so I have both lftp and ncftp as backends to duplicity, so I can't call them both "ftp"
<bavier>brendyn: right
<brendyn>I hate having to make decisions
<ng0>why not call them what they are, lftp and ncftp?
<adfeno>ngz: I was able to reproduce the error.
<adfeno>ngz: It happens if we move the files around because the files called are not in the same path as the caller.
<brendyn>ng0 Would you call python2-paramiko "paramiko", "python-paramiko" or "python2-paramiko" ?
<adfeno>I sent the message to ngz through freenode's MemoServ.
<ng0>if it's just a module and just python2 i would call it python2-... but what has this to do with 2 ftp servers?
<brendyn>I'm just wondering what to call things in the package definition
<bavier>brendyn: in most python packages, the names have the python- prefix
<bavier>but not completely necessary, IMO
<adfeno>For ngz (and everybody who wants to know): I guess that, to package the Snap learning tool to Guix, then we have to make the system open an simple web server.
<adfeno>That is, if we don't want to break our usual directory tree.
<bavier>ng0: how does offloading react to the '--fallback' option?
<ng0>later tell civodul: femtolisp source I can identify: FreeBSD, OpenBSD, OSX, win32. I also found that some files are placed in the public domain so i have to adjust the license field. I can't identify more.
<ng0>sneek: later tell civodul: femtolisp source I can identify: FreeBSD, OpenBSD, OSX, win32. I also found that some files are placed in the public domain so i have to adjust the license field. I can't identify more.
<sneek>Got it.
<ng0>bavier: don't know right now. can't test, i'm writing an email. there are some issues with offloading i wrote about earlier
<bavier>ng0: right, I'm referring to your bug#24496
<bavier>I don't have much experience with offloading, besides having it on my list of things to explore
<ng0>afaik offloading lacks some features. fallback just works and does not affect what I described there.
<ng0>fall back is not fallback :)
<bavier>ok, so with --fallback, if offloading fails, it builds locally?
<bavier>ah, ok, that's the behavior I'd expect
<ng0>if offloading fails, it just continues to try until your electricity bill runs off
<bavier>sorry, poor wording/pronouns; I'd expect it to fallback to local building if offloading failed
<bavier>or to fail after a few tries, like for substitutes
<ng0>right, this is not what happens.
<ng0>I should open bugs for the things I addressed in a thread about offloading which did not get much attention.
<ng0>easier to track as todo for those who are working on it.
<ng0>if i understand lynX correct we progress with the build of Guix on Gentoo. I have to test myself next week.
<ng0>bavier: bug 24168 was where I collected some offloading bugs
<adfeno>Anyone having problems downloading the package substitute for python-3.4.3 ?
<quigonjinn>how would one go about running the gnu build system inside a subdirectory, and not the top directory of a downloaded source? Is cd'ing in a pre-configure phase enough?
<ng0>or before build
<ng0>whatever works for your package
<efraim>that should be enough
<taylan>is there a way to replace one package for another when using guix environment? I want something like: guix environment guix --replace guile=guile-next
<taylan>meh, guess I'll just use ad-hoc to add all the packages manually
<davexunit>best off to write some scheme code for that
<davexunit>and use -l
<taylan>-l ?
<taylan>oh I see
<davexunit>you can do whatever you want if you use scheme
<davexunit>the CLI is limited
<taylan>what object must the code evaluate to? list of package names, or objects?
<taylan>oh nvm, I see, it must evaluate to a package for which the environment will be
<davexunit>here's an example:
<OrangeShark>davexunit: don't you have something to switch from guile to guile-next for a project? I think I recall seeing one before
<davexunit>OrangeShark: oh yeah, I have this hack:
<OrangeShark>yes, that one
<davexunit>this was so that I could test sly with both guile series
<taylan>I ended up with this simple snippet:
<taylan>for use with environment -l
<taylan>thanks davexunit :)
<davexunit>there we go :)
<taylan>our guix environment expert :P
<davexunit>sometimes I'm surprised I still remember any of it
<adfeno>Is anyone able to download the substitute for python-3.4.3?
<adfeno>My download stops with 13.7 MiB transferred.
<davexunit>sounds like hydra may be having problems
<alezost>taylan: (gnu packages guile) already contains a procedure to make a guile-2.2 package from the guile-2.0: 'package-for-guile-2.2'; for example, there is 'guile2.2-commonmark'
<davexunit>oh yay
<davexunit>that's new
<adfeno>Once I have some free time, I'll see how can I create a mirror for Hydra.
<adfeno>I could make my computer serve as builder, but it's my work/production computer, and the only one I have, and I often have to take it around college too.
<taylan>adfeno: oh wow, thanks
<taylan>adfeno: whoops, meant to highlight someone else
<taylan>alezost: it seems not to be public
<adfeno>taylan: That's fine. :)
<taylan>for sake of this snippet I can just use @@ though
<adfeno>Once I get a job, I'm planning to buy a Libre Tea Computer Card, some portable display and keyboard, and use this set as my work computer. Leaving my current warrior as the builder.
<bavier>davexunit: was your disabling of boost's tests intentional?
<bavier>davexunit: f828ff5b
<davexunit>bavier: hmmm, maybe not.
<davexunit>though I can't remember...
<bavier>they take a long time, so maybe you had it in there temporarily for debugging
<davexunit>that could have been the case.
<davexunit>wish I could remember.
<davexunit>if someone wants to enable them again, please do!
<bavier>np, can just re-enable with the 1.61.0 upgrade
<bavier>hello Common_Era
<Common_Era>How are you?
<Common_Era>Is there a better place to upload my project for a package definition than a Git repo?
<bavier>Common_Era: is it a package definition you'd like included in Guix?
<Common_Era>Eventually, but the project is brand new, currently. Not nearly useful yet.
<Common_Era>Is there some sort of file sharing service that I could use without being shunned?
<bavier>Common_Era: sharing a paste link would be fine
<Common_Era>Alright, what's the right site again? I've never used anything of the sort.
<Common_Era>Hmm... won't work. I'm not asking to be included in Guix yet. Sorry if I was unclear. I need somewhere to upload my tar.gz to in order for the package
<Common_Era>definition to download it.
<bavier>Common_Era: I see
<Common_Era>I'm just wondering if there's anything of the sort that is free.
<bavier>Common_Era: sure. I sometimes use a Davros file share on
<bavier>others might have more ideas, though
<ng0>lenovo just got way more fun:
<Common_Era>Thank you.
<bavier>davexunit: nvm about the boost tests, they were disabled before, my bad. I had forgotten that I who's been working on enabling them :P
<ng0>one of many sources:
<ng0>this is what i feared, years ago what they were up to..
<ng0>good thing we have coreboot and libreboot
<rekado>ng0: I read it’s just a matter of RAID drivers or something?
<ng0>more or less
<dvc>hey guys! had a productive day today. got an importer/updater for rust, a basic build system and packaged the first rust crate. I'll be submitting the patches tomorrow. Left todo is extending the importer to add dependencies as inputs and the build system to replace the [dependencies] section in Cargo.toml with one using guix paths.
<ng0>:O this is verrry good news :)
<ng0>but wait, what about the rust package? last i tried it, it still failed. you improved on that?
<dvc>I worked on it a little. I packaged rustc-bootstrap and cargo-bootstrap properly and I'm using those for now. rustc needs to be packaged properly
<OrangeShark>ng0 apparently you can't even install your own copy of Windows as well
<ng0>well... to quote gir: DOOM DOOM DOOM DOOM DOOM...
<ng0>dvc: okay
<ng0>you seem competent enough to handle this and push it over the finishing line :)
<ng0>it reads like this is a special (extra vendor lock and no released drivers) that's why the windows edition is special.
<ng0>well.. offtopic. just sharing what i found.
<rekado>Guix made it a lot easier for me to contribute to GNU packages. Today I sent out my first non-trivial patch set to emacs-devel.
<ng0>by learning the coding styles? or why?
<rekado>Guix made it trivial to get everything I need to build it without cluttering my disk, and it made testing with different versions of other libraries so much easier.
<ng0>or the environment hting?
<ng0>ah yeah
<dvc>guix is awesome! :)
<ng0>I still clutter up my drive with lots of sources :D
<rekado>I often “tar xvf $(guix build -S …)”
<rekado>but since I can easily get the sources at a later point these directories are very short-lived.
<OrangeShark>yeah, it definitely helps. We should probably write up a sort of workflow on how to use guix for development.
<ng0>what does the second part do?
<rekado>what second part?
<ng0>you tar the source derivations? is this effective somehow?
<rekado>no, I unpack the sources.
<ng0>oh, right
<ng0>how do you generate a whirlpool sum of a file? is it only part of openssl?
<ng0>I've started to package some gentoo tools for guix for personal use, but packaging portage to make full use of repoman wasn't part of that yet.
<ng0> openssl dgst -whirlpool file , right?