Subject: Re: bug#26802: [PATCH 3/4] guix: lint: Check for version in source file name.

From: [email-masked] (Ludovic Courtès)
Date: Thu, 18 May 2017 13:32:08 +0200

Arun Isaac <[email-masked]> skribis:

> * guix/scripts/lint.scm (check-source-file-name): Check for version in source
>   file name.

[...]

>    (define (origin-file-name-valid? origin)
> -    ;; Return #f if the source file name contains only a version or is #f;
> -    ;; indicates that the origin needs a 'file-name' field.
> +    ;; Return #f if the source file name is #f, contains only a version, or
> +    ;; does not contain a version; indicates that the origin needs a
> +    ;; 'file-name' field.
>      (let ((file-name (origin-actual-file-name origin))
>            (version (package-version package)))
>        (and file-name
>             ;; Common in many projects is for the filename to start
>             ;; with a "v" followed by the version,
>             ;; e.g. "v3.2.0.tar.gz".
> -           (not (string-match (string-append "^v?" version) file-name)))))
> +           (not (string-match (string-append "^v?" version) file-name))
> +           (string-match version file-name))))

What about simply:

  (string-prefix? (string-append (package-name package) "-"
                                 (package-version package))
                  file-name)

?

That’s a bit stricter but I think that’s what we expect.

Thanks,
Ludo’.