guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Erroneous uses of regex in the invokation of FIND-FILES


From: Maxim Cournoyer
Subject: Re: Erroneous uses of regex in the invokation of FIND-FILES
Date: Sat, 21 Sep 2019 05:31:11 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi again,

Alex Vong <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]