diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2025-10-16 18:25:23 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2025-10-23 19:35:06 +0200 |
| commit | 99956145589a5dbcfb3838e2332f17caf1fbe27c (patch) | |
| tree | 2dbac7d0666d4e8f96808f45a489045c33147ffa /doc/contributing.texi | |
| parent | 9fcfb9394471d58c75a5fffeda3763e5864b18fa (diff) | |
doc: Recommend ‘define-deprecated-package’ in the Deprecation Policy.
* doc/contributing.texi (Deprecation Policy): Document and recommend
‘define-deprecated-package’.
Change-Id: I530310f5216f09025525d91f690bb3885fe2cfb4
Diffstat (limited to 'doc/contributing.texi')
| -rw-r--r-- | doc/contributing.texi | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/doc/contributing.texi b/doc/contributing.texi index 6c4423a6900..d1e2e63758b 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi | |||
| @@ -3344,13 +3344,21 @@ for @b{at least one year}. For example, @code{go-ipfs} was renamed to | |||
| 3344 | change to users, the package module provided this definition: | 3344 | change to users, the package module provided this definition: |
| 3345 | 3345 | ||
| 3346 | @findex deprecated-package | 3346 | @findex deprecated-package |
| 3347 | @findex define-deprecated-package | ||
| 3347 | @lisp | 3348 | @lisp |
| 3348 | (define-public go-ipfs | 3349 | (define-deprecated-package go-ipfs |
| 3349 | (deprecated-package "go-ipfs" kubo)) | 3350 | kubo) |
| 3350 | @end lisp | 3351 | @end lisp |
| 3351 | 3352 | ||
| 3352 | That way, someone running @command{guix install go-ipfs} or similar sees | 3353 | That way, someone running @command{guix install go-ipfs} or similar sees |
| 3353 | a deprecation warning mentioning the new name. | 3354 | a deprecation warning mentioning the new package name; likewise, someone |
| 3355 | referring to the @code{go-ipfs} @emph{variable} from their manifest or | ||
| 3356 | package definition will see a warning. | ||
| 3357 | |||
| 3358 | Under the hood, @code{define-deprecated-package} combines | ||
| 3359 | @code{define-deprecated/public-alias} to mark the variable as deprecated | ||
| 3360 | (see below), and the @code{deprecated-package} procedure to mark the | ||
| 3361 | package name as deprecated. | ||
| 3354 | 3362 | ||
| 3355 | @cindex package removal policy | 3363 | @cindex package removal policy |
| 3356 | @anchor{package-removal-policy} | 3364 | @anchor{package-removal-policy} |
| @@ -3360,8 +3368,8 @@ of life'' or being unmaintained may be removed; likewise, packages that | |||
| 3360 | have been @b{failing to build for two months or more} may be removed. | 3368 | have been @b{failing to build for two months or more} may be removed. |
| 3361 | 3369 | ||
| 3362 | There is no formal deprecation mechanism for this case, unless a | 3370 | There is no formal deprecation mechanism for this case, unless a |
| 3363 | replacement exists, in which case the @code{deprecated-package} | 3371 | replacement exists, in which case the @code{define-deprecated-package} |
| 3364 | procedure mentioned above can be used. | 3372 | macro mentioned above can be used. |
| 3365 | 3373 | ||
| 3366 | If the package being removed is a ``leaf'' (no other packages depend on | 3374 | If the package being removed is a ``leaf'' (no other packages depend on |
| 3367 | it), it may be removed after a @b{one-month review period} of the patch | 3375 | it), it may be removed after a @b{one-month review period} of the patch |
