Andreas Enge <[email protected]> skribis: > Am Dienstag, 12. Februar 2013 schrieb Ludovic Courtès: >> It’s actually slightly more complex: you need to select those packages >> that are installed and for which either a newer version is available >> (per ‘version-string>?’, see gnu-maintenance.scm; should be moved to >> utils.scm) > > This reminds me: > guix-package -i libjpeg > still installs version 8d and not 9, so apparently, there is no check on > the version number.
Indeed, we should fix it. > And > guix-package -A jpeg > prints > libjpeg 9 out gnu/packages/libjpeg.scm:27:3 > libjpeg 8d out gnu/packages/libjpeg.scm:27:3 > which is strange since libjpeg-9 is indeed defined around line 27, but > libjpeg-8 comes later in the file. Yes. That’s because the record ‘libjpeg-8d’ “inherits” from the other one, so it takes its ‘location’ field unchanged. Currently you have to explicitly add the ‘location’ field when inheriting: (location (source-properties->location (current-source-location))) That’s inconvenient though, and perhaps ‘define-record-type*’ should be extended to support non-inheritable fields. Thoughts? Ludo’.
