3227c1d215
${out} in configureFlags isn't expanded, so ncursesw5-config ends up expanding ${out} at *runtime*. Here is the relevant ncursesw5-config snippet showing how includedir gets its value at runtime. bindir="${exec_prefix}/bin" includedir="${out}/include" libdir="${exec_prefix}/lib" datadir="${prefix}/share" mandir="${prefix}/man" When running in a plain shell you get this: $ ncursesw5-config --cflags -I/include/ncursesw -I/include And when run in a nix-build shell for e.g. gpsd: $ ncursesw5-config --cflags -I/nix/store/HASH-gpsd-3.10/include/ncursesw -I/nix/store/HASH-gpsd-3.10/include This is clearly wrong. Q: How come this has gone undetected for years? A: It seems few packages use ncursesw5-config to get the compiler flags. For example, our python curses module builds its own compiler flags. Fix this by moving the --includedir setting to preConfigure where shell variables are expanded. |
||
---|---|---|
.. | ||
arduino | ||
compilers | ||
eclipse | ||
guile-modules | ||
interpreters | ||
libraries | ||
lisp-modules | ||
misc | ||
mobile | ||
ocaml-modules | ||
perl-modules | ||
python-modules | ||
qtcreator | ||
r-modules/generic | ||
ruby-modules | ||
tools | ||
web |