unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* New importer for GNU packages
@ 2014-11-11 14:37 Ludovic Courtès
  2014-11-11 14:42 ` David Thompson
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2014-11-11 14:37 UTC (permalink / raw)
  To: guix-devel; +Cc: Karl Berry

[-- Attachment #1: Type: text/plain, Size: 3374 bytes --]

Karl recently suggested that we add a semi-automatic tool to facilitate
the addition of GNU packages, and Andreas rightfully noted that we
already have most of the infrastructure for ‘guix refresh’ et al.

Commit 7047133 adds that new command (will be in 0.8).  Here’s a sample
session:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix import gnu gforth
starting download of `/tmp/guix-file.IC7ZLK' from `ftp://ftp.gnu.org//gnu/gforth/gforth-0.7.3.tar.gz'...
ftp://ftp.gnu.org/.../gforth-0.7.3.tar.gz	100.0% of 2464.3 KiB
starting download of `/tmp/guix-file.7bKxRh' from `ftp://ftp.gnu.org//gnu/gforth/gforth-0.7.3.tar.gz.sig'...
ftp://ftp.gnu.org/.../gforth-0.7.3.tar.gz.sig	100.0% of 0.1 KiB
gpg: Signature made Sat 14 Jun 2014 12:56:48 AM CEST using DSA key ID 67007C30
gpg: Ne povas kontroli subskribon: Neniu publika ŝlosilo
Would you like to download this key and add it to your keyring?
yes
gpg: requesting key 67007C30 from hkp server pgp.mit.edu
gpg: key 67007C30: public key "Bernd Paysan <bernd.paysan@gmx.de>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:  18  signed:  42  trust: 0-, 0q, 0n, 0m, 0f, 18u
gpg: depth: 1  valid:  42  signed:  37  trust: 42-, 0q, 0n, 0m, 0f, 0u
gpg: sekva kontrolo de fido-datenaro je 2015-05-13
gpg:       Nombro traktita entute: 1
gpg:                   importitaj: 1
gpg: Signature made Sat 14 Jun 2014 12:56:48 AM CEST using DSA key ID 67007C30
gpg: Good signature from "Bernd Paysan <bernd.paysan@gmx.de>" [unknown]
gpg:                 aka "Bernd Paysan <bernd@net2o.de>" [unknown]
gpg:                 aka "Bernd Paysan <berndpaysan@163.com>" [unknown]
gpg:                 aka "Bernd Paysan <bernd@bernd-paysan.de>" [unknown]
gpg:                 aka "Bernd Paysan <bernd.paysan@gmail.com>" [unknown]
gpg:                 aka "Bernd Paysan <bernd.paysan@googlemail.com>" [unknown]
gpg:                 aka "Bernd Paysan (Forth Gesellschaft e.V.) <bp@forth-ev.de>" [unknown]
gpg:                 aka "[jpeg image of size 1410]" [unknown]
gpg:                 aka "[jpeg image of size 4913]" [unknown]
gpg: AVERTO: Ĉi tiu ŝlosilo ne estas atestita kun fidata subskribo!
gpg:          Estas nenia indiko, ke la subskribo apartenas al la posedanto.
Primary key fingerprint: E50D 62D4 49FD 0E19 3706  C235 8B82 0BB7 6700 7C30
(package
  (name "gforth")
  (version "0.7.3")
  (source
    (origin
      (method url-fetch)
      (uri (string-append
             "mirror://gnu/gforth/gforth-"
             version
             ".tar.gz"))
      (sha256
        (base32
          "f5rpeiz36armepibzeqlcvlkue7kwfuogi3lcm2svrpj6gcufoya"))))
  (build-system gnu-build-system)
  (synopsis "Forth interpreter")
  (description
    "Gforth is a fast and portable implementation of the ANSI Forth
language.  It includes an editing mode for Emacs and an interpreter
featuring completion and history.  A generic virtual machine
environment, vmgen, is also included.")
  (home-page "htmlxref")
  (license find-by-yourself!))
--8<---------------cut here---------------end--------------->8---

One still needs to specify the dependencies, license, etc., but that
already saves a bit of time.

OpenPGP key handling works as for ‘guix refresh’.

Comments welcome!

Ludo’.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New importer for GNU packages
  2014-11-11 14:37 New importer for GNU packages Ludovic Courtès
@ 2014-11-11 14:42 ` David Thompson
  2014-11-11 16:42   ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: David Thompson @ 2014-11-11 14:42 UTC (permalink / raw)
  To: Ludovic Courtès, guix-devel; +Cc: Karl Berry

Ludovic Courtès <ludo@gnu.org> writes:

> Karl recently suggested that we add a semi-automatic tool to facilitate
> the addition of GNU packages, and Andreas rightfully noted that we
> already have most of the infrastructure for ‘guix refresh’ et al.

Cool!

[snip]
> (package
>   (name "gforth")
>   (version "0.7.3")
>   (source
>     (origin
>       (method url-fetch)
>       (uri (string-append
>              "mirror://gnu/gforth/gforth-"
>              version
>              ".tar.gz"))
>       (sha256
>         (base32
>           "f5rpeiz36armepibzeqlcvlkue7kwfuogi3lcm2svrpj6gcufoya"))))
>   (build-system gnu-build-system)
>   (synopsis "Forth interpreter")
>   (description
>     "Gforth is a fast and portable implementation of the ANSI Forth
> language.  It includes an editing mode for Emacs and an interpreter
> featuring completion and history.  A generic virtual machine
> environment, vmgen, is also included.")
>   (home-page "htmlxref")
>   (license find-by-yourself!))

It's unfortunate that the GNU project doesn't maintain certain metadata
such as the license for each project.  It would be very convenient to
have!

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New importer for GNU packages
  2014-11-11 14:42 ` David Thompson
@ 2014-11-11 16:42   ` Ludovic Courtès
  2014-11-11 22:25     ` Karl Berry
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2014-11-11 16:42 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel, Karl Berry

David Thompson <dthompson2@worcester.edu> skribis:

> It's unfortunate that the GNU project doesn't maintain certain metadata
> such as the license for each project.  It would be very convenient to
> have!

Definitely.

In practice this information is now available in Guix, so hopefully that
could be shared with others.

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New importer for GNU packages
  2014-11-11 16:42   ` Ludovic Courtès
@ 2014-11-11 22:25     ` Karl Berry
  2014-11-21 10:00       ` Andreas Enge
  0 siblings, 1 reply; 7+ messages in thread
From: Karl Berry @ 2014-11-11 22:25 UTC (permalink / raw)
  To: dthompson2, guix-devel

    > It's unfortunate that the GNU project doesn't maintain certain metadata
    > such as the license for each project.

To the best of my knowledge, the Directory is intended to have that
information (and plenty of other things too), although I don't doubt
that plenty of updates are needed.  In the interests of not maintaining
the same thing in multiple places, I have never wanted to set up a
separate place for it.

karl

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New importer for GNU packages
  2014-11-11 22:25     ` Karl Berry
@ 2014-11-21 10:00       ` Andreas Enge
  2014-11-21 22:32         ` Karl Berry
  0 siblings, 1 reply; 7+ messages in thread
From: Andreas Enge @ 2014-11-21 10:00 UTC (permalink / raw)
  To: Karl Berry; +Cc: guix-devel

On Tue, Nov 11, 2014 at 10:25:30PM +0000, Karl Berry wrote:
> To the best of my knowledge, the Directory is intended to have that
> information (and plenty of other things too), although I don't doubt
> that plenty of updates are needed.  In the interests of not maintaining
> the same thing in multiple places, I have never wanted to set up a
> separate place for it.

Is it sufficiently machine readable so that one could extract the information
automatically? In any case, I do not think this is a blocker: Creating recipes
for the GNU packages is essentially a one-time effort. And given the GNU
standards, these are usually the simplest one to create.

Out of curiosity, I made a rough count (using grep on ftp.gnu.org etc.,
so the numbers may be a bit off):
Out of the ~303 packages in ftp.gnu.org/pub/gnu, wee currently have
~169 in Guix.

Andreas

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New importer for GNU packages
  2014-11-21 10:00       ` Andreas Enge
@ 2014-11-21 22:32         ` Karl Berry
  2014-11-21 22:55           ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Karl Berry @ 2014-11-21 22:32 UTC (permalink / raw)
  To: andreas, guix-devel

    Is it sufficiently machine readable so that one could extract the
    information automatically?

There have been various efforts over many years to make the Directory
machine-readable, in its many implementations.  I do not know where they
stand today.

    Out of the ~303 packages in ftp.gnu.org/pub/gnu, 

For the record, fp:/gd/gnuorg/maintainers.bypkg (and /maintainers)
ultimately defines what is and isn't a GNU "package".  There are
currently 382 GNU packages listed in that file (and nine special cases
and four lines of comments).

More accessibly, the gnupackages.txt in womb/gnumaint on savannah has
the same list, minus the special cases.

Of course, the contents of a "package" can vary tremendously, and not
all are installable software.  That's just how it has historically
turned out.

Best,
Karl

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New importer for GNU packages
  2014-11-21 22:32         ` Karl Berry
@ 2014-11-21 22:55           ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2014-11-21 22:55 UTC (permalink / raw)
  To: Karl Berry; +Cc: guix-devel

karl@freefriends.org (Karl Berry) skribis:

> More accessibly, the gnupackages.txt in womb/gnumaint on savannah has
> the same list, minus the special cases.

Using that info, via the API from (guix gnu-maintenance):

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(guix gnu-maintenance)
scheme@(guile-user)> ,use(gnu packages)
scheme@(guile-user)> ,use(srfi srfi-1)
scheme@(guile-user)> (length (official-gnu-packages))
$3 = 381
scheme@(guile-user)> (count (lambda (p)
			      (pair? (find-packages-by-name (gnu-package-name p))))
			    (official-gnu-packages))
$4 = 155
scheme@(guile-user)> (/ $4 $3 1.)
$5 = 0.4068241469816273
--8<---------------cut here---------------end--------------->8---

So we’re at 40% of coverage.

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-11-21 22:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-11 14:37 New importer for GNU packages Ludovic Courtès
2014-11-11 14:42 ` David Thompson
2014-11-11 16:42   ` Ludovic Courtès
2014-11-11 22:25     ` Karl Berry
2014-11-21 10:00       ` Andreas Enge
2014-11-21 22:32         ` Karl Berry
2014-11-21 22:55           ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).