IRC channel logs
2013-10-21.log
back to list of logs
<davexunit>I am trying to package a library, but the only tarballs are on sourceforge, and sourceforge uses a random mirror for downloads. how can I get a usable URL for guix? <mark_weaver>davexunit: I'm not sure, but if you search for "sourceforge" in gnu/packages/*.scm, you'll see many URL prefixes like mirror://sourceforge/mad/libmad/ <mark_weaver>IIUC, Guix handles URLs of the form "mirror:..." specially, and apparently already has something set up for sourceforge. <davexunit>oh neat. should've grepped before asking I suppose. <davexunit>I'm working on SDL packages but am missing some dependencies. <davexunit>SDL not only has 2 versions (the brand new one and the old one that everyone still uses), there are 6 extension libraries. <davexunit>so I have about 14 packages to write to get everything. <mark_weaver>hmm. according to LFS, glibc doesn't support MIPS properly. does anyone know if that's still the case? <mark_weaver>(it looks like glibc's varargs might be subtly broken on MIPS N32) <mark_weaver>(I'm not sure about that though. the problem might be limited to glib) <mark_weaver>one of glib's tests is failing, and it seems that the N32 is not being properly respected by something in the glib signal delivery stuff. specifically, a 32-bit uint argument is getting passed incorrectly, I think. <mark_weaver>the N32 ABI says that 32-bit integer values should be sign-extended into the 64-bit registers, even if the 32-bit value is unsigned. and indeed, GCC generates code that clearly assumes this. <mark_weaver>but when a glib signal is generated, a 32-bit unsigned integer is getting incorrected extended to 64-bits, I believe. <viric>I don't know what a 'glib signal' is <mark_weaver>well, it might be gobject, not glib. I'm not very familiar with this stuff either. <mark_weaver>but basically, in glib/gobject, "signals" (nothing to do with POSIX signals) are a way of sending messages between objects that something happened. <mark_weaver>objects can register callbacks that accept signals of a given type, and then other code can send a signal of a given type to an object. <mark_weaver>in the gobject test suite, one of the tests involves registering a callback for a signal, and then sending a signal with a whole bunch of arguments (treated as varargs) of various values, and the receiving callback checks to see that everything is correct. <mark_weaver>one of the values is UINT_MAX-42 (4294967253), passed as a 32-bit unsigned integer. <mark_weaver>the code on the receiving end simply checks that the 64-bit register contains -43 <mark_weaver>(well, the C code isn't written that way, but that's what GCC ends up doing)