Re: Potential minor API change notice

2022-12-05 Thread Maxim Cournoyer
Hi Katherine,

Katherine Cox-Buday  writes:

> Maxim Cournoyer  writes:
>
>> This is a heads up to let you know that the
>> %BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu
>> system) may be removed in the near future.
>>
>> For the rationale and more details, see the proposed change [0].
>>
>> [0]  https://issues.guix.gnu.org/59661#1
>
> Maxim, I just wanted to say thank you for taking the feedback from the
> last breaking change, and not only graciously listening, but
> implementing it so quickly. You are a true leader!

Thank you!  Note that in this case, thanks to feedback from the
reviewers, the API was not "broken" in the end; a deprecated variable is
acting in place of the removed one (and emits a warning upon use).  It's
not functionally equivalent though, so it was good anyway to have it
communicated.

Have a good week,

-- 
Maxim



Re: Potential minor API change notice

2022-12-05 Thread Katherine Cox-Buday
Maxim Cournoyer  writes:

> This is a heads up to let you know that the
> %BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu
> system) may be removed in the near future.
>
> For the rationale and more details, see the proposed change [0].
>
> [0]  https://issues.guix.gnu.org/59661#1

Maxim, I just wanted to say thank you for taking the feedback from the
last breaking change, and not only graciously listening, but
implementing it so quickly. You are a true leader!

Sincerely,
-- 
Katherine



Re: Potential minor API change notice

2022-12-03 Thread Maxim Cournoyer
Hi Ludovic,

Ludovic Courtès  writes:

> Maxim Cournoyer  skribis:
>
>> Ludovic Courtès  writes:
>>
>>> Hi,
>>>
>>> Maxim Cournoyer  skribis:
>>>
 This is a heads up to let you know that the
 %BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu system)
 may be removed in the near future.
>>>
>>> If the patch eventually gets consensus, I would suggest making that
>>> variable an alias using ‘define-deprecated’: that way people will know
>>> about it and code won’t break.
>>
>> An deprecated alias to what?
>
> To ‘%base-packages’ for example?  It doesn’t really matter.

I've found that by setting the replacement to #f, it does what I want:

--8<---cut here---start->8---
1 file changed, 4 insertions(+)
gnu/system.scm | 4 

modified   gnu/system.scm
@@ -38,6 +38,7 @@ (define-module (gnu system)
   #:use-module (guix gexp)
   #:use-module (guix records)
   #:use-module (guix packages)
+  #:use-module (guix deprecation)
   #:use-module (guix derivations)
   #:use-module (guix profiles)
   #:use-module ((guix utils) #:select (substitute-keyword-arguments))
@@ -177,6 +178,7 @@ (define-module (gnu system)
 %base-packages-interactive
 %base-packages-linux
 %base-packages-networking
+%base-packages-disk-utilities
 %base-packages-utils
 %base-firmware
 %default-kernel-arguments))
@@ -894,6 +896,8 @@ (define %base-packages-networking
 ;; many people are familiar with, so keep it around.
 iw wireless-tools))
 
+(define-deprecated %base-packages-disk-utilities #f '())
+
 (define %base-packages
   ;; Default set of packages globally visible.  It should include anything
   ;; required for basic administrator tasks.
--8<---cut here---end--->8---

--8<---cut here---start->8---
$ ./pre-inst-env guix system build ~/stow/guix/hurd.scm
/home/maxim/stow/guix/hurd.scm:410:22: warning: '%base-packages-disk-utilities' 
is deprecated
--8<---cut here---end--->8---

I've sent a v2 to 59661 (you are in cc).

-- 
Thanks,
Maxim



Re: Potential minor API change notice

2022-12-02 Thread Ludovic Courtès
Maxim Cournoyer  skribis:

> Ludovic Courtès  writes:
>
>> Hi,
>>
>> Maxim Cournoyer  skribis:
>>
>>> This is a heads up to let you know that the
>>> %BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu system)
>>> may be removed in the near future.
>>
>> If the patch eventually gets consensus, I would suggest making that
>> variable an alias using ‘define-deprecated’: that way people will know
>> about it and code won’t break.
>
> An deprecated alias to what?

To ‘%base-packages’ for example?  It doesn’t really matter.

What’s important is to never ever remove a public variable, or change
the signature of a public procedure, without prior deprecation period
(at least for interfaces that one may use in their System or Home config
files.)

gnu/{services,packages}/*.scm contain bindings that have been deprecated
for years.  That’s probably excessive, but lack of a deprecation period
would unnecessarily upset fellow users and then we’d have to channel
their anger.  :-)

Ludo’.



Re: Potential minor API change notice

2022-11-29 Thread Maxim Cournoyer
Hi Ludo,

Ludovic Courtès  writes:

> Hi,
>
> Maxim Cournoyer  skribis:
>
>> This is a heads up to let you know that the
>> %BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu system)
>> may be removed in the near future.
>
> If the patch eventually gets consensus, I would suggest making that
> variable an alias using ‘define-deprecated’: that way people will know
> about it and code won’t break.

An deprecated alias to what?  It gets removed in the patch (well, moved
to another module and renamed, but we can't import it from that module).

-- 
Thanks,
Maxim



Re: Potential minor API change notice

2022-11-29 Thread Ludovic Courtès
Hi,

Maxim Cournoyer  skribis:

> This is a heads up to let you know that the
> %BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu system)
> may be removed in the near future.

If the patch eventually gets consensus, I would suggest making that
variable an alias using ‘define-deprecated’: that way people will know
about it and code won’t break.

Ludo’.



Potential minor API change notice

2022-11-28 Thread Maxim Cournoyer
Hello,

This is a heads up to let you know that the
%BASE-PACKAGES-DISK-UTILITIES public variable exported from (gnu system)
may be removed in the near future.

For the rationale and more details, see the proposed change [0].

[0]  https://issues.guix.gnu.org/59661#1

Thanks,
Maxim