guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can we find a better idiom for unversioned packages?


From: Maxime Devos
Subject: Re: Can we find a better idiom for unversioned packages?
Date: Wed, 01 Sep 2021 18:29:18 +0200
User-agent: Evolution 3.34.2

> > (define-public sbcl-feeder
> >   (name "sbcl-feeder")
> >   (version (extended-version
> >              (base "1.0.0")
> >              (revision 1)
> >              (commit "b05f517d7729564575cc809e086c262646a94d34")))
> >  (source
> >   (origin
> >     (method git-fetch)
> >     (uri (git-reference ...)
> >            (url ...)
> >            ;; git-reference needs to be extended to retrieve the commit 
> > from the version
> >            (version version)))
> >     (file-name (git-file-name "feeder" version))
> >     (sha256 ...)))
> >  [...])
> 
> How will this work for SVN and CVS?  I am not familiar with either, but
> I know that SVN has its own ‘revision’ thing.

Maybe:

(extended-version
  (base-version "14.12.0")
  (revision 123)  ; what guix considers a revision
  (commit 38938)) ; what svn considers a revision (TODO figure out 
non-confusing terminology)

(define (version->string v)
  (cond ((string? v) v)
        ;; for SVN
        (REVISION is set but COMMIT isn't
         (string-append base-version "-" (number->string revision)))
        ;; for git and mercurial
        (both REVISION and COMMIT are set
         the code from git-version)))

Or have separate types <git-version>, <mercurial-version>, <svn-version> ...

Greetings,
Maxime.

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]