summaryrefslogtreecommitdiff
path: root/doc/contributing.texi
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2025-10-16 18:25:23 +0200
committerLudovic Courtès <ludo@gnu.org>2025-10-23 19:35:06 +0200
commit99956145589a5dbcfb3838e2332f17caf1fbe27c (patch)
tree2dbac7d0666d4e8f96808f45a489045c33147ffa /doc/contributing.texi
parent9fcfb9394471d58c75a5fffeda3763e5864b18fa (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.texi18
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
3344change to users, the package module provided this definition: 3344change 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
3352That way, someone running @command{guix install go-ipfs} or similar sees 3353That way, someone running @command{guix install go-ipfs} or similar sees
3353a deprecation warning mentioning the new name. 3354a deprecation warning mentioning the new package name; likewise, someone
3355referring to the @code{go-ipfs} @emph{variable} from their manifest or
3356package definition will see a warning.
3357
3358Under 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
3361package 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
3360have been @b{failing to build for two months or more} may be removed. 3368have been @b{failing to build for two months or more} may be removed.
3361 3369
3362There is no formal deprecation mechanism for this case, unless a 3370There is no formal deprecation mechanism for this case, unless a
3363replacement exists, in which case the @code{deprecated-package} 3371replacement exists, in which case the @code{define-deprecated-package}
3364procedure mentioned above can be used. 3372macro mentioned above can be used.
3365 3373
3366If the package being removed is a ``leaf'' (no other packages depend on 3374If the package being removed is a ``leaf'' (no other packages depend on
3367it), it may be removed after a @b{one-month review period} of the patch 3375it), it may be removed after a @b{one-month review period} of the patch