guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 36d059847d13ded9255e5e02dae9d9a371805c2c
Author: Ludovic Courtès <[email protected]>
AuthorDate: Thu Oct 16 17:06:49 2025 +0200
packages: Add ‘define-deprecated-package’.
* gnu/packages/tex.scm (define-deprecated-package): Move to…
* guix/packages.scm (define-deprecated-package): … here. Add extra clause
to
handle the case where the package name differs from the variable name.
Change-Id: Ie28e6c37a38dfb05e0b7a2530f14c8b07ef3df8b
---
gnu/packages/tex.scm | 5 -----
guix/packages.scm | 23 ++++++++++++++++++++++-
2 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index ce89ebc881..fd5b71ac39 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -263,11 +263,6 @@
;;;
;;; Code:
-(define-syntax-rule (define-deprecated-package old-name name)
- "Define OLD-NAME as a deprecated package alias for NAME."
- (define-deprecated/public old-name name
- (deprecated-package (symbol->string 'old-name) name)))
-
(define-public texlive-source
(package
(name "texlive-source")
diff --git a/guix/packages.scm b/guix/packages.scm
index 272cb99915..beb889f933 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2024 Ludovic Courtès <[email protected]>
+;;; Copyright © 2012-2025 Ludovic Courtès <[email protected]>
;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <[email protected]>
;;; Copyright © 2015 Eric Bavier <[email protected]>
;;; Copyright © 2016 Alex Kost <[email protected]>
@@ -116,6 +116,7 @@
hidden-package?
package-superseded
deprecated-package
+ define-deprecated-package
package-field-location
this-package-input
@@ -793,6 +794,26 @@ object."
(name old-name)
(properties `((superseded . ,p)))))
+(define-syntax define-deprecated-package
+ (syntax-rules ()
+ "Define OLD-NAME as a deprecated package alias for NAME:
+
+ (define-deprecated-package OLD-NAME NAME)
+
+When the variable name differs from the package name (the 'name' field of the
+package), use the three-argument form like so:
+
+ (define-deprecated-package OLD-NAME OLD-PACKAGE-NAME NAME)
+
+This defines OLD-NAME as a an deprecated alias for NAME, with OLD-PACKAGE-NAME
+(a string) as the name of the package being deprecated."
+ ((_ old-name name)
+ (define-deprecated-package old-name (symbol->string 'old-name)
+ name))
+ ((_ old-name old-package-name name)
+ (define-deprecated/public old-name name
+ (deprecated-package old-package-name name)))))
+
(define* (field-value-location port field
#:optional (file (port-filename port)))
"Return the source location of the value of FIELD as read from PORT, or #f