--- Begin Message ---
Subject: |
gforge.inria.fr to be taken off-line in Dec. 2020 |
Date: |
Thu, 02 Jul 2020 09:29:55 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello!
The hosting site gforge.inria.fr will be taken off-line in December
2020. This GForge instance hosts source code as tarballs, Subversion
repos, and Git repos. Users have been invited to migrate to
gitlab.inria.fr, which is Git only. It seems that Software Heritage
hasn’t archived (yet) all of gforge.inria.fr. Let’s keep track of the
situation in this issue.
The following packages have their source on gforge.inria.fr:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,pp packages-on-gforge
$7 = (#<package r-spams@2.6-2017-03-22 gnu/packages/statistics.scm:3931
7f632401a640>
#<package ocaml-cudf@0.9 gnu/packages/ocaml.scm:295 7f63235eb3c0>
#<package ocaml-dose3@5.0.1 gnu/packages/ocaml.scm:357 7f63235eb280>
#<package mpfi@1.5.4 gnu/packages/multiprecision.scm:158 7f632ee3adc0>
#<package pt-scotch@6.0.6 gnu/packages/maths.scm:2920 7f632d832640>
#<package scotch@6.0.6 gnu/packages/maths.scm:2774 7f632d832780>
#<package pt-scotch32@6.0.6 gnu/packages/maths.scm:2944 7f632d8325a0>
#<package scotch32@6.0.6 gnu/packages/maths.scm:2873 7f632d8326e0>
#<package gf2x@1.2 gnu/packages/algebra.scm:103 7f6323ea1280>
#<package gmp-ecm@7.0.4 gnu/packages/algebra.scm:658 7f6323eb4960>
#<package cmh@1.0 gnu/packages/algebra.scm:322 7f6323eb4dc0>)
--8<---------------cut here---------------end--------------->8---
‘isl’ (a dependency of GCC) has its source on gforge.inria.fr but it’s
also mirrored at gcc.gnu.org apparently.
Of these, the following are available on Software Heritage:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,pp archived-source
$8 = (#<package ocaml-cudf@0.9 gnu/packages/ocaml.scm:295 7f63235eb3c0>
#<package ocaml-dose3@5.0.1 gnu/packages/ocaml.scm:357 7f63235eb280>
#<package pt-scotch@6.0.6 gnu/packages/maths.scm:2920 7f632d832640>
#<package scotch@6.0.6 gnu/packages/maths.scm:2774 7f632d832780>
#<package pt-scotch32@6.0.6 gnu/packages/maths.scm:2944 7f632d8325a0>
#<package scotch32@6.0.6 gnu/packages/maths.scm:2873 7f632d8326e0>
#<package isl@0.18 gnu/packages/gcc.scm:925 7f632dc82320>
#<package isl@0.11.1 gnu/packages/gcc.scm:939 7f632dc82280>)
--8<---------------cut here---------------end--------------->8---
So we’ll be missing these:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,pp (lset-difference eq? $7 $8)
$11 = (#<package r-spams@2.6-2017-03-22 gnu/packages/statistics.scm:3931
7f632401a640>
#<package mpfi@1.5.4 gnu/packages/multiprecision.scm:158 7f632ee3adc0>
#<package gf2x@1.2 gnu/packages/algebra.scm:103 7f6323ea1280>
#<package gmp-ecm@7.0.4 gnu/packages/algebra.scm:658 7f6323eb4960>
#<package cmh@1.0 gnu/packages/algebra.scm:322 7f6323eb4dc0>)
--8<---------------cut here---------------end--------------->8---
Attached the code I used for this.
Thanks,
Ludo’.
(use-modules (guix) (gnu)
(guix svn-download)
(guix git-download)
(guix swh)
(ice-9 match)
(srfi srfi-1)
(srfi srfi-26))
(define (gforge? package)
(define (gforge-string? str)
(string-contains str "gforge.inria.fr"))
(match (package-source package)
((? origin? o)
(match (origin-uri o)
((? string? url)
(gforge-string? url))
(((? string? urls) ...)
(any gforge-string? urls)) ;or 'find'
((? git-reference? ref)
(gforge-string? (git-reference-url ref)))
((? svn-reference? ref)
(gforge-string? (svn-reference-url ref)))
(_ #f)))
(_ #f)))
(define packages-on-gforge
(fold-packages (lambda (package result)
(if (gforge? package)
(cons package result)
result))
'()))
(define archived-source
(filter (lambda (package)
(let* ((origin (package-source package))
(hash (origin-hash origin)))
(lookup-content (content-hash-value hash)
(symbol->string
(content-hash-algorithm hash)))))
packages-on-gforge))
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#42162: gforge.inria.fr to be taken off-line in Dec. 2020 |
Date: |
Wed, 13 Jan 2021 11:39:19 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi Maxim,
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
>> The following packages have their source on gforge.inria.fr:
>>
>> scheme@(guile-user)> ,pp packages-on-gforge
>> $7 = (#<package r-spams@2.6-2017-03-22 gnu/packages/statistics.scm:3931
>> 7f632401a640>
>> #<package ocaml-cudf@0.9 gnu/packages/ocaml.scm:295 7f63235eb3c0>
>> #<package ocaml-dose3@5.0.1 gnu/packages/ocaml.scm:357 7f63235eb280>
[...]
> I ran the code you had attached to the original message and got:
>
> ,pp packages-on-gforge
> $2 = ()
> scheme@(guile-user)> ,pp archived-source
> $3 = ()
Oh, it’s due to a bug, where the wrong ‘origin?’ predicate was taken.
After hiding the “wrong” one:
#:use-module ((guix swh) #:hide (origin?))
I get:
--8<---------------cut here---------------start------------->8---
scheme@(guix-user)> ,pp packages-on-gforge
$1 = (#<package r-spams@2.6-2017-03-22 gnu/packages/statistics.scm:3964
7fa8a522b280>
#<package ocaml-cudf@0.9 gnu/packages/ocaml.scm:281 7fa8a4f44dc0>
#<package ocaml-dose3@5.0.1 gnu/packages/ocaml.scm:343 7fa8a4f44c80>
#<package mpfi@1.5.4 gnu/packages/multiprecision.scm:158 7fa8afd8aa00>
#<package scotch@6.1.0 gnu/packages/maths.scm:3083 7fa8a69c8d20>
#<package pt-scotch@6.1.0 gnu/packages/maths.scm:3229 7fa8a69c8be0>
#<package scotch32@6.1.0 gnu/packages/maths.scm:3182 7fa8a69c8c80>
#<package pt-scotch32@6.1.0 gnu/packages/maths.scm:3253 7fa8a69c8b40>
#<package isl@0.22.1 gnu/packages/gcc.scm:932 7fa8a64cbdc0>
#<package isl@0.11.1 gnu/packages/gcc.scm:997 7fa8a64cbc80>
#<package isl@0.18 gnu/packages/gcc.scm:983 7fa8a64cbd20>
#<package gf2x@1.2 gnu/packages/algebra.scm:104 7fa8a4f66500>
#<package gmp-ecm@7.0.4 gnu/packages/algebra.scm:672 7fa8a4f70be0>
#<package cmh@1.0 gnu/packages/algebra.scm:325 7fa8a4f660a0>)
scheme@(guix-user)> ,pp archived-source
$2 = (#<package ocaml-cudf@0.9 gnu/packages/ocaml.scm:281 7fa8a4f44dc0>
#<package ocaml-dose3@5.0.1 gnu/packages/ocaml.scm:343 7fa8a4f44c80>
#<package scotch@6.1.0 gnu/packages/maths.scm:3083 7fa8a69c8d20>
#<package pt-scotch@6.1.0 gnu/packages/maths.scm:3229 7fa8a69c8be0>
#<package scotch32@6.1.0 gnu/packages/maths.scm:3182 7fa8a69c8c80>
#<package pt-scotch32@6.1.0 gnu/packages/maths.scm:3253 7fa8a69c8b40>
#<package isl@0.11.1 gnu/packages/gcc.scm:997 7fa8a64cbc80>
#<package isl@0.18 gnu/packages/gcc.scm:983 7fa8a64cbd20>)
--8<---------------cut here---------------end--------------->8---
Attaching the fixed script for clarity.
BTW, gforge.inria.fr shutdown has been delayed a bit, but most active
projects have started migrating to gitlab.inria.fr or elsewhere, so
hopefully we should be able to start updating our package recipes
accordingly. It’s likely, though, that tarballs were lost in the
migration.
For example, Scotch is now at <https://gitlab.inria.fr/scotch/scotch>.
<https://gitlab.inria.fr/scotch/scotch/-/releases> shows “assets” for
the 6.1.0 release, but these are auto-generated tarballs instead of the
handcrafted one found on gforge.inria.fr (but this one is fine since its
tarball is archived as-is on SWH.)
ISL, MPFI, and GMP-ECM haven’t migrated, it seems. CMH is now at
<https://gitlab.inria.fr/cmh/cmh> but without its tarballs.
Andreas, do you happen to know about the status of these?
We can already change Scotch and CMH to ‘git-fetch’ I think. That
doesn’t solve the problem for earlier Guix revisions though, and I hope
Disarchive will save us!
Thanks,
Ludo’.
(use-modules (guix) (gnu)
(guix svn-download)
(guix git-download)
((guix swh) #:hide (origin?))
(ice-9 match)
(srfi srfi-1)
(srfi srfi-26))
(define (gforge? package)
(define (gforge-string? str)
(string-contains str "gforge.inria.fr"))
(match (package-source package)
((? origin? o)
(match (origin-uri o)
((? string? url)
(gforge-string? url))
(((? string? urls) ...)
(any gforge-string? urls)) ;or 'find'
((? git-reference? ref)
(gforge-string? (git-reference-url ref)))
((? svn-reference? ref)
(gforge-string? (svn-reference-url ref)))
(_ #f)))
(_ #f)))
(define packages-on-gforge
(fold-packages (lambda (package result)
(if (gforge? package)
(cons package result)
result))
'()))
(define archived-source
(filter (lambda (package)
(let* ((origin (package-source package))
(hash (origin-hash origin)))
(lookup-content (content-hash-value hash)
(symbol->string
(content-hash-algorithm hash)))))
packages-on-gforge))
--- End Message ---