<mark_weaver>even though it's mostly pointless until GCC 4.8 is made the default compiler, I have the 3A bootstrapping core-updates with the new bootstrap tarballs. It built GCC 4.7.3 in 7.5 hours, compared with 20.3 hours on the 2F machine.
<civodul>mark_weaver: re bootstrapping core-updates, good news
<civodul>i have a stash with a tool to help do the re-bootstrap
<civodul>i wanted to finish that before pushing the new bootstrap tarballs
<mark_weaver>anything else needs to be listed explicitly in your package definition.
<jmd>My chroot is missing the /etc/fonts directory. This surprises me, because both fontconfig and gs-fonts are inputs.
<mark_weaver>all inputs are in /nix/store. there's nothing outside of that, (except /proc /sys /dev /tmp)
<mark_weaver>I don't know the details of how fonts are searched, but you need to have it look in /nix/store/*/share/fonts.
<mark_weaver>please understand that the special features that guix provides (e.g. robustness, rollbacks, multiple versions of the same package that don't interfere), require that packages refer directly to their dependencies in /nix/store/*.
<mark_weaver>if they use anything in the standard places, then they are no longer built on top of an immutable base, but rather on something that might get upgraded later and thus broken.
<mark_weaver>when you actually use these things as a user, the fonts will be in ~/.guix-profile/share/fonts/, with all font packages merged together there.
<mark_weaver>and presumably some environment variable will point to that.
<mark_weaver>but during package builds, you don't have anything like that. instead, environment variables are set to search in the relevant inputs.
<mark_weaver>for example, whereas as a user, you have a merged ~/.guix-profile/bin, during a build you have nothing like that. instead PATH is set to contain /nix/store/*/bin for all the relevant inputs. ditto for CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH too I think.
<jmd>Then I suspect the FONTCONFIG_FILE environment variable has not been set when it ought to have been.
<mark_weaver>jmd: a_e knows more about guix packaging than I do, maybe he can help.
<mark_weaver>however, I suspect that 'native-search-paths' might be what you're looking for. (e.g. search for 'native-search-paths' in gnu/packages/gcc.scm)
<mark_weaver>a_e: jmd is having a problem with a build recipe where something during the build needs access to fonts, and it can't find them. it's looking in places like /etc for fonts, which of course won't work.
<a_e>The command replaces the #:phases argument by a copy of %standard-phases, in which the new phase 'envvar (given by the lambda function; _ means it ignores all potential arguments) is added before the 'build.
<jmd>I'll look at it tomorrow. I must go to bed soon.
<a_e>Very well! If you wish to set FONTCONFIG_FILE, that should go in a separate line. Just to try it out, you make use an absolute path. If this solves the problem, we can automatically have it filled in depending on the input fontconfig.
<mark_weaver>civodul: I pushed it to savannah, on branch 'wip-loongson-gcc-4.8'
<mark_weaver>the reason it has 'loongson' in the name is because I haven't yet updated the hashes for the new x86_64 bootstrap tarballs, and yet I got rid of the pattern matching stuff, so it will currently work only on mips.
<mark_weaver>(it always looks in <arch>/20131110/* with the new version numbers)