Hi, On Fri, 10 Apr 2020 02:12:42 +0530 Naga Malleswari wrote: >On 09/04/20 3:49 am, Danny Milosavljevic wrote: >> + (inherit libxfce4ui-1) >> + (name "libxfce4ui") ; not necessary but I like it for no reason >> + (version "4.15.2") >> + (source (origin ; necessary block!! >I used the same. I added name block. It worked !!! >1) If name block is removed in the latest [libxfce4ui package], it's building the >older version. Why?? If I remove (name "libxfce4ui") from the latest libxfce4ui package, and then invoke make -j5 SUBDIRS= then I get an error error: name: unbound variable. from the compilation of gnu/packages/xfce.scm. So that's why the latest libxfce4ui package would never be loaded into guix (it's broken) and instead the other one would be used. I'm not sure why that is the case. It's certainly different to most other programming languages. @Ludo? @Ludo: Reduced test case: ,use (guix packages) (define-public a (package (name "a") (version name) (source #f) (build-system #f) (synopsis #f) (description #f) (license #f) (home-page #f))) (define-public b (package (inherit a) (version name))) ; error message here Error message: ;;; :9:4: warning: possibly unbound variable `name' :9:4: In procedure module-lookup: Unbound variable: name What's happening here? I would have expected NAME to be available from the descendant record and accessing the ancestor record... is it not available on purpose? >2)  /latest is also removed from variable. Would it make a difference? No. It's just part of a variable's name (the slash has no special meaning either).