Hi again, Alex Vong <alexvong1...@gmail.com> writes:
> Hello guix, > > I find out that there are a lof of erroneous uses of regex in the > invokation of FIND-FILES. The correct usage should be: > > (find-files "." "\\.c$") > > Instead people write: > > (find-files "." ".*\\.c") > > which match unwanted files. > > For examples, in the procedure CUSTOM-GCC, the correct regex should be: > > "(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)$" > > instead of: > > ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)" > > Please correct me if I am wrong. > > Right now, the erroneous use of regex in CUSTOM-GCC casues the 'bin/' > directory of the output of gccgo, gcc-objc and gcc-objc++ to be empty. Looking at this some more, I'm not sure what we expect to see in the bin/ directory of gcc-objc, As I found out earlier, the files present before any deletion are those: --8<---------------cut here---------------start------------->8--- c++ cpp g++ gcc gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool x86_64-unknown-linux-gnu-c++ x86_64-unknown-linux-gnu-g++ x86_64-unknown-linux-gnu-gcc x86_64-unknown-linux-gnu-gcc-8.3.0 x86_64-unknown-linux-gnu-gcc-ar x86_64-unknown-linux-gnu-gcc-nm x86_64-unknown-linux-gnu-gcc-ranlib --8<---------------cut here---------------end--------------->8--- All of those files don't appear to be specific to gcc-objc (they are also part of regular gcc) and thus it appear that removing them fits the bill (the patch name says it exists to remove broken or conflicting files). The way that these GCC packages affect the GCC installation is by mean of extending the search path of the GCC libraries, e.g.: --8<---------------cut here---------------start------------->8--- (define-public gcc-objc-5 (custom-gcc gcc-5 "gcc-objc" '("objc") (list (search-path-specification (variable "OBJC_INCLUDE_PATH") (files '("include"))) (search-path-specification (variable "LIBRARY_PATH") (files '("lib" "lib64")))))) --8<---------------cut here---------------end--------------->8--- not by providing custom binaries. Here's the list of files of the regular gcc package: --8<---------------cut here---------------end--------------->8--- ls -l /gnu/store/ginrh3x6qi4w2i005gics37wzz5b78s7-gcc-5.5.0/bin total 9308 c++ cpp g++ gcc gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool x86_64-unknown-linux-gnu-c++ x86_64-unknown-linux-gnu-g++ x86_64-unknown-linux-gnu-gcc x86_64-unknown-linux-gnu-gcc-5.5.0 x86_64-unknown-linux-gnu-gcc-ar x86_64-unknown-linux-gnu-gcc-nm x86_64-unknown-linux-gnu-gcc-ranlib --8<---------------cut here---------------end--------------->8--- It's confusing though that an empty bin directory is left behind. We could fix this. Maxim