IRC channel logs


back to list of logs

<civodul>Hello Guix!
<davexunit>hello guix
<davexunit>I'm trying to write a package for a piece of software that has no configure script, only a makefile.
<davexunit>removing the configure phase from the gnu build system isn't enough to get the package to build as it still cannot find header files.
<civodul>hey davexunit
<civodul>when adding the package's dependencies as inputs, $CPATH and $LIBRARY_PATH get defined appropriately
<davexunit>the configure phase looks like it does some voodoo to get the correct library path.
<civodul>such that headers and libraries are found
<civodul>the configure phase doesn't do that
<civodul>it's done automatically before, in 'set-paths'
<davexunit>I misread, then. I don't really understand the code there.
<civodul>the 'configure' procedure in (guix build gnu-build-system) essentially computes the flags for ./configure
<civodul>like --prefix, --includedir, etc.
<davexunit>I think I found why the headers are not found, now to try to fix it.
<civodul>good, that was fast ;-)
<davexunit>I'm packaging a little game that uses SDL.
<davexunit>I didn't know this until now, but SDL ships a little utility called "sdl-config"
<davexunit>which is used to get libs and cflags
<civodul>and it wasn't found i suppose?
<davexunit>SDL was found, but *not* the extension libraries like SDL_image because they have their own directories.
<davexunit>not sure how this difference should be reconciled. sdl-config assumes that all SDL headers/libs live in the same directories.
<civodul>does sdl-config return "-L/.../include" or "-L/.../include/foo"?
<civodul>err, -I
<davexunit>-I/gnu/store/a0q06spsk7992b1zm50p185g2sjf1plf-sdl-1.2.15/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
<civodul>ah, that's what i feared
<davexunit>yeah, SDL headers have their own special directory.
<civodul>CPATH is contains /...-sdl-image/include by default
<civodul>but not /...-sdl-image/include/SDL
<civodul>hence the problem
<davexunit>I see.
<civodul>one way would be to augment CPATH
<davexunit>I imagine there's a way to tweak things appropriately in this case.
<davexunit>civodul: got my package recipe working. took a few custom phases but I did it.
<davexunit>the project's makefile is very naive.
<davexunit>now, I can't run it to really tset because it throws an error that I have no audio device, so I guess I need to figure out how to make that work.
<civodul>davexunit: does it use SDL_audio?
<civodul>perhaps our SDL_audio package is misconfigured (like missed optional sound-support libs)
<davexunit>it uses SDL_mixer, yeah. I haven't set up anything related to audio for guix on this machine so I imagine that is the problem.
<davexunit>is there a way to build a package with debugging symbols?
<davexunit>I want to use gdb on a crashy program.
<civodul>davexunit: either #:strip-binaries? #f, or add a "debug" output
<davexunit>oh, thanks. missed that.
<davexunit>well, off to an exciting interview. :)
<davexunit>I'll see if I can finish this package later. still figuring out the debugging symbols.