Vincent Legoll writes: > I'm having a look at the reported profile-collisions > linter warnings. > > See for example: > http://data.guix.gnu.org/revision/f521104e344ed9bf259a6b821fd0f3080f8ebf6b/package/python-requests/2.20.1?locale=en_US.UTF-8 > > I'm trying to remove the duplicated propagated-inputs > entries (from the inherited package) and then > concatenating the overrides. > > I've come with the attached diff, but it's giving me > headaches. > > Anyone can give it a look and tell me what is wrong > with my coding ? It's good to fix lint warnings, although I wonder if these could be addressed by checking if this old version of python-requests is still necessary to use. Maybe things that use it could be updated, and use the normal version? On your code though, I made the following changes to make run at least: @@ -2455,9 +2455,11 @@ than Python’s urllib2 library.") (license license:asl2.0))) (define (propagated-inputs-filtered overrides old_inputs) - (let* ((overrides_names (map caar overrides)) - (old_inputs_filtered (remove (lambda i (member (caar i) overrides_names) old_inputs)))) - (concatenate '(old_inputs_filtered overrides)))) + (let* ((overrides_names (map car overrides)) + (old_inputs_filtered + (remove (lambda i (member (caar i) overrides_names)) + old_inputs))) + (append old_inputs_filtered overrides))) ;; Some software requires an older version of Requests, notably Docker/Docker ;; Compose. @@ -2471,10 +2473,10 @@ than Python’s urllib2 library.") (base32 "0qzj6cgv3k9wyj7wlxgz7xq0cfg4jbbkfm24pp8dnhczwl31527a")))) (propagated-inputs - `,@(propagated-inputs-filtered - `(("python-urllib3" ,python-urllib3-1.24) - ("python-idna" ,python-idna-2.7)) - (package-propagated-inputs python-requests))))) + (propagated-inputs-filtered + `(("python-urllib3" ,python-urllib3-1.24) + ("python-idna" ,python-idna-2.7)) + (package-propagated-inputs python-requests))))) (define-public python2-requests (package-with-python2 python-requests)) Applying your diff, and running make, I see: gnu/packages/python-web.scm:2459:30: warning: possibly wrong number of arguments to `remove' It's correct, avoiding long lines might help you spot things like this. caar needs to be car, that'll access the first element in a list. caar would only work if the list contains a pair/list as the first element. Because you wrote (concatenate '(old_inputs_filtered overrides)), note the ', you're trying to concatenate a list of two symbols. The following would work (concatenate `(,old_inputs_filtered ,overrides)), but you're better just using append. Anyway, I don't think having code is useful here. I'd just copy the two lines from the above package definition and replace ,@(package-propagated-inputs python-requests). This package definition doesn't need to dynamically change, so that's fine, and the duplication is simpler than this code. Note also that the old urllib3 is built with the normal idna version, so you'll probably need to do something about that to resolve all of the propagated-input warnings. Hope that helps, Chris