Hi Marco,

Marco Fortina <marco_fort...@hotmail.it> skribis:

> Yes, only changes in the environment.scm files are required for fixing the 
> issue.
>
> Why did you make the patch so complex?

[...]

>> +    (when (file-exists? gcc-path)
>> +      (catch 'system-error
>> +        (lambda ()
>> +          (symlink gcc-path "/bin/cc"))
>> +        (lambda args
>> +          ;; If /bin/cc already exists because it was provided by another
>> +          ;; package in PROFILE, such as 'clang-toolchain', leave it.
>> +          (unless (= EEXIST (system-error-errno args))
>> +            (apply throw args))))))

It’s more verbose, but it’s more accurate: we want to try to symlink and
let go if we get EEXIST, but not if we get another problem.  (That also
avoids a time-of-check-to-time-of-use race condition, though it does not
really matter in this context.)

HTH,
Ludo’.

Reply via email to