Re: [GOLDSTAR] Re: [ITA] ruby 3.2.2

2023-06-13 Thread Daisuke Fujimura via Cygwin-apps
Thank you. I am deeply grateful and happy to receive this award.

On Wed, Jun 14, 2023 at 12:05 AM Andrew Schulman via Cygwin-apps
 wrote:
>
> > On 19/04/2023 23:42, Daisuke Fujimura via Cygwin-apps wrote:
> > > Hello,
> > >
> > > 
> > >
> > > Cygportfile:
> > > - 
> > > https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby
> > >
> > > Packages, logs:
> > > - https://github.com/cygwin/scallywag/actions/runs/4743191979
> >
> > According to our rules, Fujimura-san deserves one of our literally
> > priceless gold stars for adopting Ruby.
> >
> > ... and several more, arranged into a tasteful tiara or something, for
> > adopting and updating various ruby language packages.
>
> Awarded! https://cygwin.com/goldstars/#DF
>


Re: [GOLDSTAR] Re: [ITA] ruby 3.2.2

2023-06-13 Thread Andrew Schulman via Cygwin-apps
> On 19/04/2023 23:42, Daisuke Fujimura via Cygwin-apps wrote:
> > Hello,
> > 
> > 
> > 
> > Cygportfile:
> > - 
> > https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby
> > 
> > Packages, logs:
> > - https://github.com/cygwin/scallywag/actions/runs/4743191979
>   
> According to our rules, Fujimura-san deserves one of our literally 
> priceless gold stars for adopting Ruby.
> 
> ... and several more, arranged into a tasteful tiara or something, for 
> adopting and updating various ruby language packages.

Awarded! https://cygwin.com/goldstars/#DF



[GOLDSTAR] Re: [ITA] ruby 3.2.2

2023-06-08 Thread Jon Turney via Cygwin-apps

On 19/04/2023 23:42, Daisuke Fujimura via Cygwin-apps wrote:

Hello,



Cygportfile:
- 
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby

Packages, logs:
- https://github.com/cygwin/scallywag/actions/runs/4743191979


According to our rules, Fujimura-san deserves one of our literally 
priceless gold stars for adopting Ruby.


... and several more, arranged into a tasteful tiara or something, for 
adopting and updating various ruby language packages.






Re: [ITA] ruby 3.2.2

2023-04-25 Thread Daisuke Fujimura via Cygwin-apps
> Yeah, I'm not quite sure what that statement means. It's not literally
> "every single binary in cygwin"
>
> I don't really know enough about ruby be sure how to interpret it.
> There's some subset of packages which need rebuilding (as discussed
> below), and maybe any locally installed gems which have binaries?

As you pointed out, the sub-packages and gems installed locally using
the gem command that depend on cygruby*0.dll will be subject to
recompilation.

I apologize for the insufficient explanation.


On Wed, Apr 26, 2023 at 7:13 AM Jon Turney  wrote:
>
> On 25/04/2023 22:10, Daisuke Fujimura via Cygwin-apps wrote:
> > Thank you for your response.
> >
> > Following the announcement of the previous update, I would like to
> > note that the binaries need to be recompiled.
> > - 
> > https://www.mail-archive.com/cygwin-announce-rDBXBDvO6BXQT0dZR+AlfA@public.gmane.org/msg08753.html
>
> Yeah, I'm not quite sure what that statement means. It's not literally
> "every single binary in cygwin"
>
> I don't really know enough about ruby be sure how to interpret it.
> There's some subset of packages which need rebuilding (as discussed
> below), and maybe any locally installed gems which have binaries?
>
> >> I applied my usual workaround (which is adding 'ruby_23' to an internal
> >> list of things which are allowed to not be provided), and set the job to
> >> rerun, which seems to have succeeded.
> >
> > Does this mean adding `ruby_23` to `depend2` in some packages in setup.ini?
>
> Not really.
>
> The failure was a consequence of that. As previously mentioned, using
> some special tools, I've retroactively added appropriate ruby_xy
> requires: in the .hint files for existing packages which:
>
> * install into /usr/lib/ruby/vendor_ruby/x.y/
> * install into /usr/lib/gems/ruby/x.y/
> * contain executable files linked to cygrubyxy0.dll because they embed a
> ruby interpreter (which seems to be just kross-ruby, kf5-kross-ruby and
> weechat-ruby)
>
> > I would like to know more about the specifications of setup.ini. Is
> > there any documentation available somewhere?
>
> Sure, the documentation is at:
>
> https://sourceware.org/cygwin-apps/setup.ini.html
>
> Feel free to ask if you have further questions not covered by that.
>


Re: [ITA] ruby 3.2.2

2023-04-25 Thread Jon Turney via Cygwin-apps

On 25/04/2023 22:10, Daisuke Fujimura via Cygwin-apps wrote:

Thank you for your response.

Following the announcement of the previous update, I would like to
note that the binaries need to be recompiled.
- 
https://www.mail-archive.com/cygwin-announce-rDBXBDvO6BXQT0dZR+AlfA@public.gmane.org/msg08753.html


Yeah, I'm not quite sure what that statement means. It's not literally 
"every single binary in cygwin"


I don't really know enough about ruby be sure how to interpret it. 
There's some subset of packages which need rebuilding (as discussed 
below), and maybe any locally installed gems which have binaries?



I applied my usual workaround (which is adding 'ruby_23' to an internal
list of things which are allowed to not be provided), and set the job to
rerun, which seems to have succeeded.


Does this mean adding `ruby_23` to `depend2` in some packages in setup.ini?


Not really.

The failure was a consequence of that. As previously mentioned, using 
some special tools, I've retroactively added appropriate ruby_xy 
requires: in the .hint files for existing packages which:


* install into /usr/lib/ruby/vendor_ruby/x.y/
* install into /usr/lib/gems/ruby/x.y/
* contain executable files linked to cygrubyxy0.dll because they embed a 
ruby interpreter (which seems to be just kross-ruby, kf5-kross-ruby and 
weechat-ruby)



I would like to know more about the specifications of setup.ini. Is
there any documentation available somewhere?


Sure, the documentation is at:

https://sourceware.org/cygwin-apps/setup.ini.html

Feel free to ask if you have further questions not covered by that.



Re: [ITA] ruby 3.2.2

2023-04-25 Thread Daisuke Fujimura via Cygwin-apps
Thank you for your response.

Following the announcement of the previous update, I would like to
note that the binaries need to be recompiled.
- https://www.mail-archive.com/cygwin-announce@cygwin.com/msg08753.html

> I applied my usual workaround (which is adding 'ruby_23' to an internal
> list of things which are allowed to not be provided), and set the job to
> rerun, which seems to have succeeded.

Does this mean adding `ruby_23` to `depend2` in some packages in setup.ini?

I would like to know more about the specifications of setup.ini. Is
there any documentation available somewhere?


On Tue, Apr 25, 2023 at 10:52 PM Jon Turney  wrote:
>
> On 25/04/2023 10:56, Daisuke Fujimura via Cygwin-apps wrote:
> >> I don't think so. Please, go ahead and deploy.
> >
> > I tried to deploy twice, but it failed.
> >
> > First attempt:
> > - https://github.com/cygwin/scallywag/actions/runs/4791077183
> >
> > ```
> > ERROR: package 'ruby-tcltk' version '3.2.2-1' has empty install tar
> > file, but it's not in ['virtual', '_obsolete'] category
> > ERROR: error while validating merged x86_64 packages for Daisuke Fujimura
> > SUMMARY: 2 ERROR(s)
> > ```
> >
> > I fixed it according to the error message.
> > - 
> > https://cygwin.com/cgit/cygwin-packages/ruby/commit/?id=e1bc357d4ca0423b5ec92aaeb3846adf7351efa3
> >
>
> Thanks.
>
> If you subsequently adopt the ruby-tk package, please remember to add
> ruby_tk_OBSOLETES="ruby-tcltk" there (as that's the preferred way to
> record obsoletions nowadays)
>
> > Second attempt:
> > - https://github.com/cygwin/scallywag/actions/runs/4791758304
> >
> > ```
> > ERROR: package 'ruby-caca' version '0.99.beta19-4' depends: 'ruby_23',
> > but nothing satisfies that
> > ERROR: package 'ruby-marisa' version '0.2.4-2' depends: 'ruby_23', but
> > nothing satisfies that
> > ERROR: package 'ruby-marisa' version '0.2.4-3' depends: 'ruby_23', but
> > nothing satisfies that
> > ERROR: package 'ruby-openbabel' version '2.3.2-6' depends: 'ruby_23',
> > but nothing satisfies that
> > ERROR: package 'ruby-openbabel' version '2.3.2-5' depends: 'ruby_23',
> > but nothing satisfies that
> > ERROR: package 'ruby-openwsman' version '2.6.3-3' depends: 'ruby_23',
> > but nothing satisfies that
> > ERROR: package 'ruby-openwsman' version '2.6.3-2' depends: 'ruby_23',
> > but nothing satisfies that
> > ERROR: package 'ruby-xapian' version '1.2.24-1' depends: 'ruby_23',
> > but nothing satisfies that
> > ERROR: package 'ruby-xapian' version '1.4.5-1' depends: 'ruby_23', but
> > nothing satisfies that
> > ERROR: package 'ruby-zinnia' version '0.06-8' depends: 'ruby_23', but
> > nothing satisfies that
> > ERROR: package 'ruby-zinnia' version '0.06-9' depends: 'ruby_23', but
> > nothing satisfies that
> > ERROR: package 'subversion-ruby' version '1.11.1-1' depends:
> > 'ruby_23', but nothing satisfies that
> > ERROR: x86_64 package set has errors after removing stale packages
> > ERROR: error while evaluating stale packages for Daisuke Fujimura
> > SUMMARY: 14 ERROR(s)
> > ```
> >
> > When I deployed ruby-3.2.2, ruby-2.3.6 (which provides ruby_23) was
> > moved to the vault, resulting in some ruby-* subpackages being unable
> > to satisfy the dependency of ruby_23.
> >
> > To resolve this, the following methods are being considered:
> >
> > - Do not move ruby-2.3.6 to the vault (I cannot do this myself).
> > - Rebuild the subpackages.
> > - Any other methods?
>
> Yeah, calm needs to learn how to deal with this scenario better.
>
> Probably what should actually happen here is that these packages get
> expired at the same time that the last thing providing ruby_23 gets
> expired (as they can no longer be installed and thus keeping them is a
> bit pointless)
>
> > Is there anything I can do to deploy ruby-3.2.2?
>
> I applied my usual workaround (which is adding 'ruby_23' to an internal
> list of things which are allowed to not be provided), and set the job to
> rerun, which seems to have succeeded.
>
>
> Apologies for the inconvenience, and thanks again for updating ruby!
>


Re: [ITA] ruby 3.2.2

2023-04-25 Thread Jon Turney via Cygwin-apps

On 25/04/2023 10:56, Daisuke Fujimura via Cygwin-apps wrote:

I don't think so. Please, go ahead and deploy.


I tried to deploy twice, but it failed.

First attempt:
- https://github.com/cygwin/scallywag/actions/runs/4791077183

```
ERROR: package 'ruby-tcltk' version '3.2.2-1' has empty install tar
file, but it's not in ['virtual', '_obsolete'] category
ERROR: error while validating merged x86_64 packages for Daisuke Fujimura
SUMMARY: 2 ERROR(s)
```

I fixed it according to the error message.
- 
https://cygwin.com/cgit/cygwin-packages/ruby/commit/?id=e1bc357d4ca0423b5ec92aaeb3846adf7351efa3



Thanks.

If you subsequently adopt the ruby-tk package, please remember to add 
ruby_tk_OBSOLETES="ruby-tcltk" there (as that's the preferred way to 
record obsoletions nowadays)



Second attempt:
- https://github.com/cygwin/scallywag/actions/runs/4791758304

```
ERROR: package 'ruby-caca' version '0.99.beta19-4' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-marisa' version '0.2.4-2' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-marisa' version '0.2.4-3' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-openbabel' version '2.3.2-6' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-openbabel' version '2.3.2-5' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-openwsman' version '2.6.3-3' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-openwsman' version '2.6.3-2' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-xapian' version '1.2.24-1' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-xapian' version '1.4.5-1' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-zinnia' version '0.06-8' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-zinnia' version '0.06-9' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'subversion-ruby' version '1.11.1-1' depends:
'ruby_23', but nothing satisfies that
ERROR: x86_64 package set has errors after removing stale packages
ERROR: error while evaluating stale packages for Daisuke Fujimura
SUMMARY: 14 ERROR(s)
```

When I deployed ruby-3.2.2, ruby-2.3.6 (which provides ruby_23) was
moved to the vault, resulting in some ruby-* subpackages being unable
to satisfy the dependency of ruby_23.

To resolve this, the following methods are being considered:

- Do not move ruby-2.3.6 to the vault (I cannot do this myself).
- Rebuild the subpackages.
- Any other methods?


Yeah, calm needs to learn how to deal with this scenario better.

Probably what should actually happen here is that these packages get 
expired at the same time that the last thing providing ruby_23 gets 
expired (as they can no longer be installed and thus keeping them is a 
bit pointless)



Is there anything I can do to deploy ruby-3.2.2?


I applied my usual workaround (which is adding 'ruby_23' to an internal 
list of things which are allowed to not be provided), and set the job to 
rerun, which seems to have succeeded.



Apologies for the inconvenience, and thanks again for updating ruby!



Re: [ITA] ruby 3.2.2

2023-04-25 Thread Daisuke Fujimura via Cygwin-apps
> I don't think so. Please, go ahead and deploy.

I tried to deploy twice, but it failed.

First attempt:
- https://github.com/cygwin/scallywag/actions/runs/4791077183

```
ERROR: package 'ruby-tcltk' version '3.2.2-1' has empty install tar
file, but it's not in ['virtual', '_obsolete'] category
ERROR: error while validating merged x86_64 packages for Daisuke Fujimura
SUMMARY: 2 ERROR(s)
```

I fixed it according to the error message.
- 
https://cygwin.com/cgit/cygwin-packages/ruby/commit/?id=e1bc357d4ca0423b5ec92aaeb3846adf7351efa3


Second attempt:
- https://github.com/cygwin/scallywag/actions/runs/4791758304

```
ERROR: package 'ruby-caca' version '0.99.beta19-4' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-marisa' version '0.2.4-2' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-marisa' version '0.2.4-3' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-openbabel' version '2.3.2-6' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-openbabel' version '2.3.2-5' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-openwsman' version '2.6.3-3' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-openwsman' version '2.6.3-2' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-xapian' version '1.2.24-1' depends: 'ruby_23',
but nothing satisfies that
ERROR: package 'ruby-xapian' version '1.4.5-1' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-zinnia' version '0.06-8' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'ruby-zinnia' version '0.06-9' depends: 'ruby_23', but
nothing satisfies that
ERROR: package 'subversion-ruby' version '1.11.1-1' depends:
'ruby_23', but nothing satisfies that
ERROR: x86_64 package set has errors after removing stale packages
ERROR: error while evaluating stale packages for Daisuke Fujimura
SUMMARY: 14 ERROR(s)
```

When I deployed ruby-3.2.2, ruby-2.3.6 (which provides ruby_23) was
moved to the vault, resulting in some ruby-* subpackages being unable
to satisfy the dependency of ruby_23.

To resolve this, the following methods are being considered:

- Do not move ruby-2.3.6 to the vault (I cannot do this myself).
- Rebuild the subpackages.
- Any other methods?

Is there anything I can do to deploy ruby-3.2.2?


On Tue, Apr 25, 2023 at 5:10 AM Jon Turney  wrote:
>
> On 24/04/2023 00:44, Daisuke Fujimura via Cygwin-apps wrote:
> >> This is what I get for not trying these things.  I think nesting the
> >> substitution like that isn't valid in bash, so maybe:
> >>
> >> SOVERSION=${VERSION%.*}
> >> ruby_PROVIDES="ruby_${SOVERSION//./}"
> >>
> >> actually works?
> >
> > It worked. Thank you very much.
> >
> > ```
> > $ cygport ruby.cygport vars ruby_PROVIDES
> > declare -- ruby_PROVIDES="ruby_32"
> > ```
> >
> > - 
> > https://cygwin.com/cgit/cygwin-packages/playground/commit/?id=9b448625c2166d5c7310c295bfa4328d24ac5444
> > - 
> > https://github.com/cygwin/scallywag/actions/runs/4780609520/jobs/8498537391
> >
> >
> > I think I can release ruby-3.2.2-1 without applying the cygport patch,
> > but is there any problem if I deploy it?
>
> I don't think so. Please, go ahead and deploy.
>
> > (The cygport patch should not be needed until someone rebuilds the
> > ruby-* subpackages.)
>
> Right. Hopefully I'll get around around to doing a cygport release with
> that change this week.
>


Re: [ITA] ruby 3.2.2

2023-04-24 Thread Jon Turney via Cygwin-apps

On 24/04/2023 00:44, Daisuke Fujimura via Cygwin-apps wrote:

This is what I get for not trying these things.  I think nesting the
substitution like that isn't valid in bash, so maybe:

SOVERSION=${VERSION%.*}
ruby_PROVIDES="ruby_${SOVERSION//./}"

actually works?


It worked. Thank you very much.

```
$ cygport ruby.cygport vars ruby_PROVIDES
declare -- ruby_PROVIDES="ruby_32"
```

- 
https://cygwin.com/cgit/cygwin-packages/playground/commit/?id=9b448625c2166d5c7310c295bfa4328d24ac5444
- https://github.com/cygwin/scallywag/actions/runs/4780609520/jobs/8498537391


I think I can release ruby-3.2.2-1 without applying the cygport patch,
but is there any problem if I deploy it?


I don't think so. Please, go ahead and deploy.


(The cygport patch should not be needed until someone rebuilds the
ruby-* subpackages.)


Right. Hopefully I'll get around around to doing a cygport release with 
that change this week.




Re: [ITA] ruby 3.2.2

2023-04-23 Thread Daisuke Fujimura via Cygwin-apps
> This is what I get for not trying these things.  I think nesting the
> substitution like that isn't valid in bash, so maybe:
>
> SOVERSION=${VERSION%.*}
> ruby_PROVIDES="ruby_${SOVERSION//./}"
>
> actually works?

It worked. Thank you very much.

```
$ cygport ruby.cygport vars ruby_PROVIDES
declare -- ruby_PROVIDES="ruby_32"
```

- 
https://cygwin.com/cgit/cygwin-packages/playground/commit/?id=9b448625c2166d5c7310c295bfa4328d24ac5444
- https://github.com/cygwin/scallywag/actions/runs/4780609520/jobs/8498537391


I think I can release ruby-3.2.2-1 without applying the cygport patch,
but is there any problem if I deploy it?

(The cygport patch should not be needed until someone rebuilds the
ruby-* subpackages.)


On Sun, Apr 23, 2023 at 10:35 PM Jon Turney  wrote:
>
> On 22/04/2023 13:04, Daisuke Fujimura via Cygwin-apps wrote:
> >> Are you planning to adopt also the ruby-* sub-packages ?
> >
> > I intend to do that.
> >
> >
> >>> 2. Modify cygport and release it.
> >>>   - Add code to detect dependencies on `ruby_xy`.
> >>>   - It is similar to the process for `perl5_xy0`.
> >>>   - 
> >>> https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L442
> >>>   - 
> >>> https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L639
> >>
> >> Yes.
> >>
> >> I'm not asking you to do this work though, unless you really feel like it 
> >> :)
> >
> > Please review the attached diff.
>
> That looks like almost exactly what's needed.
>
> Thank you very much for that!
>
> >>>   - Add `ruby_PROVIDES="ruby_${${VERSION%.*}//./}"` to ruby.cygport.
> >
> > ```
> > /tmp/cygport-ruby/ruby.cygport: line 49: ${${VERSION%.*}//./}: bad 
> > substitution
> > ```
> >
> > Is the warning being displayed because $VERSION (=3.2.2) starts with a 
> > number?
>
> This is what I get for not trying these things.  I think nesting the
> substitution like that isn't valid in bash, so maybe:
>
> SOVERSION=${VERSION%.*}
> ruby_PROVIDES="ruby_${SOVERSION//./}"
>
> actually works?
>


Re: [ITA] ruby 3.2.2

2023-04-23 Thread Jon Turney via Cygwin-apps

On 22/04/2023 13:04, Daisuke Fujimura via Cygwin-apps wrote:

Are you planning to adopt also the ruby-* sub-packages ?


I intend to do that.



2. Modify cygport and release it.
  - Add code to detect dependencies on `ruby_xy`.
  - It is similar to the process for `perl5_xy0`.
  - 
https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L442
  - 
https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L639


Yes.

I'm not asking you to do this work though, unless you really feel like it :)


Please review the attached diff.


That looks like almost exactly what's needed.

Thank you very much for that!


  - Add `ruby_PROVIDES="ruby_${${VERSION%.*}//./}"` to ruby.cygport.


```
/tmp/cygport-ruby/ruby.cygport: line 49: ${${VERSION%.*}//./}: bad substitution
```

Is the warning being displayed because $VERSION (=3.2.2) starts with a number?


This is what I get for not trying these things.  I think nesting the 
substitution like that isn't valid in bash, so maybe:


SOVERSION=${VERSION%.*}
ruby_PROVIDES="ruby_${SOVERSION//./}"

actually works?



Re: [ITA] ruby 3.2.2

2023-04-22 Thread Daisuke Fujimura via Cygwin-apps
>  Are you planning to adopt also the ruby-* sub-packages ?

I intend to do that.


> > 2. Modify cygport and release it.
> >  - Add code to detect dependencies on `ruby_xy`.
> >  - It is similar to the process for `perl5_xy0`.
> >  - 
> > https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L442
> >  - 
> > https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L639
>
> Yes.
>
> I'm not asking you to do this work though, unless you really feel like it :)

Please review the attached diff.


> >  - Add `ruby_PROVIDES="ruby_${${VERSION%.*}//./}"` to ruby.cygport.

```
/tmp/cygport-ruby/ruby.cygport: line 49: ${${VERSION%.*}//./}: bad substitution
```

Is the warning being displayed because $VERSION (=3.2.2) starts with a number?


On Sat, Apr 22, 2023 at 5:06 AM Jon Turney  wrote:
>
> On 21/04/2023 20:36, Daisuke Fujimura via Cygwin-apps wrote:
> > Thank you for your review.
> >
> > Based on your review, I understand that the following steps are necessary.
> >
> > Could you please let me know if it is correct?
> >
> > 1. Release `ruby-2.6.4-2`.
> >  - Add `ruby_PROVIDES="ruby_${${VERSION%.*}//./}"` to ruby.cygport.
> >  - The value of this variable will be `ruby_26`.
> >  - `provides: ruby_26` is added to `ruby-2.6.4-2.hint`.
>
> This isn't needed.  I've retroactively modified the existing 2.6.4-1 and
> 2.6.3-1 packages to have this provide.
>
> > 2. Modify cygport and release it.
> >  - Add code to detect dependencies on `ruby_xy`.
> >  - It is similar to the process for `perl5_xy0`.
> >  - 
> > https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L442
> >  - 
> > https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L639
>
> Yes.
>
> I'm not asking you to do this work though, unless you really feel like it :)
>
> > 3. Rebuild `ruby-*` subpackages.
>
> Again, this isn't needed as I can retroactively modify existing packages.
>
> >  - The new cygport adds `depends: ruby_26` to the hint.
>
> I've retroactively added this to the packages listed below, which
> install into /usr/lib/ruby/vendor_ruby/2.6/ a .so linked to cygruby260.dll:
>
> >  - (Question) Does a gem that has no dependencies on `cygruby*.dll`
> > need to rebuild?
>
> I don't really know enough about ruby to answer that question, but
> I don't think so.
>
> > 4. Release `ruby-3.2.2-1`.
> >  - The value of `provides` becomes `ruby_32`.
> >  - Packages that depend on `ruby_26` will no longer be installable.
> > 5. Rebuild `ruby-*` subpackages.
> >  - The rebuild adds `depends: ruby_32` to the hint.
>
> Yes.
>
> The idea is that this will ensures that packages which are installed
> together will work together, going forwards.
>
> > On Fri, Apr 21, 2023 at 1:13 AM Jon Turney wrote:
> >> On 20/04/2023 11:50, Jon Turney via Cygwin-apps wrote:
> >>> On 20/04/2023 04:28, Marco Atzeri via Cygwin-apps wrote:
>  On 20.04.2023 00:42, Daisuke Fujimura via Cygwin-apps wrote:
> > Hello,
> >
> > 
> >
> > Cygportfile:
> > -
> > https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby
> >
> >>
> >> Looks fine. Thanks very much for updating this!
> >>
> > Packages, logs:
> > - https://github.com/cygwin/scallywag/actions/runs/4743191979
> 
> 
>  all yours
> 
>  Are you planning to adopt also the ruby-* sub-packages ?
> 
>  Regards
>  Marco
> >>>
> >>> I have a concern about how this changes a soversioned dll inside the
> >>> package (from cygruby260.dll to cygruby320.dll)
> >>>
> >>> I don't know if there's anything linked against this DLL (perhaps ruby
> >>> bindings provided by other packages) which will get broken?
> >>>
> >>> Please hold off on uploading this until I have a chance to look into
> >>> that issue a bit more.
> >> It seems we have a handful of ruby binding packages, which install a .so
> >> file into /usr/lib/ruby/vendor_ruby/2.6/ which is linked against
> >> cygruby260.dll:
> >>
> >> ruby-gv
> >> ruby-marisa
> >> ruby-openbabel
> >> ruby-openwsman
> >> ruby-solv
> >> ruby-xapian
> >> ruby-zinnia
> >> subversion-ruby
>
> ruby-caca also belongs on this list, but the ruby binding hasn't been
> rebuilt since ruby 2.3.0
>
> Additionally, there are some packages which install a .so into
> /usr/lib/gems/ruby/2.6/, which probably need similar treatment?
>
> >> (There might also be some other packages which link with that dll to
> >> embed the ruby interpreter or something, but those are harder for me to
> >> identify quickly...)
> >>
> >> I think this can be handled in the same way as perl, i.e. add something
> >> like "ruby_PROVIDES=ruby_${${VERSION%.*}//./}" to ruby.cygport, and add
> >> a mechanism to cygport to make the binding packages have an additional
> >> dependency on that provide.
> >>
> >> I'll look into retroactively adding this to the existing ruby 2.6.x
> >> packages, to 

Re: [ITA] ruby 3.2.2

2023-04-21 Thread Jon Turney via Cygwin-apps

On 21/04/2023 20:36, Daisuke Fujimura via Cygwin-apps wrote:

Thank you for your review.

Based on your review, I understand that the following steps are necessary.

Could you please let me know if it is correct?

1. Release `ruby-2.6.4-2`.
 - Add `ruby_PROVIDES="ruby_${${VERSION%.*}//./}"` to ruby.cygport.
 - The value of this variable will be `ruby_26`.
 - `provides: ruby_26` is added to `ruby-2.6.4-2.hint`.


This isn't needed.  I've retroactively modified the existing 2.6.4-1 and 
2.6.3-1 packages to have this provide.



2. Modify cygport and release it.
 - Add code to detect dependencies on `ruby_xy`.
 - It is similar to the process for `perl5_xy0`.
 - 
https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L442
 - 
https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L639


Yes.

I'm not asking you to do this work though, unless you really feel like it :)


3. Rebuild `ruby-*` subpackages.


Again, this isn't needed as I can retroactively modify existing packages.


 - The new cygport adds `depends: ruby_26` to the hint.


I've retroactively added this to the packages listed below, which 
install into /usr/lib/ruby/vendor_ruby/2.6/ a .so linked to cygruby260.dll:



 - (Question) Does a gem that has no dependencies on `cygruby*.dll`
need to rebuild?


I don't really know enough about ruby to answer that question, but
I don't think so.


4. Release `ruby-3.2.2-1`.
 - The value of `provides` becomes `ruby_32`.
 - Packages that depend on `ruby_26` will no longer be installable.
5. Rebuild `ruby-*` subpackages.
 - The rebuild adds `depends: ruby_32` to the hint.


Yes.

The idea is that this will ensures that packages which are installed 
together will work together, going forwards.



On Fri, Apr 21, 2023 at 1:13 AM Jon Turney wrote:

On 20/04/2023 11:50, Jon Turney via Cygwin-apps wrote:

On 20/04/2023 04:28, Marco Atzeri via Cygwin-apps wrote:

On 20.04.2023 00:42, Daisuke Fujimura via Cygwin-apps wrote:

Hello,



Cygportfile:
-
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby



Looks fine. Thanks very much for updating this!


Packages, logs:
- https://github.com/cygwin/scallywag/actions/runs/4743191979



all yours

Are you planning to adopt also the ruby-* sub-packages ?

Regards
Marco


I have a concern about how this changes a soversioned dll inside the
package (from cygruby260.dll to cygruby320.dll)

I don't know if there's anything linked against this DLL (perhaps ruby
bindings provided by other packages) which will get broken?

Please hold off on uploading this until I have a chance to look into
that issue a bit more.

It seems we have a handful of ruby binding packages, which install a .so
file into /usr/lib/ruby/vendor_ruby/2.6/ which is linked against
cygruby260.dll:

ruby-gv
ruby-marisa
ruby-openbabel
ruby-openwsman
ruby-solv
ruby-xapian
ruby-zinnia
subversion-ruby


ruby-caca also belongs on this list, but the ruby binding hasn't been 
rebuilt since ruby 2.3.0


Additionally, there are some packages which install a .so into 
/usr/lib/gems/ruby/2.6/, which probably need similar treatment?



(There might also be some other packages which link with that dll to
embed the ruby interpreter or something, but those are harder for me to
identify quickly...)

I think this can be handled in the same way as perl, i.e. add something
like "ruby_PROVIDES=ruby_${${VERSION%.*}//./}" to ruby.cygport, and add
a mechanism to cygport to make the binding packages have an additional
dependency on that provide.

I'll look into retroactively adding this to the existing ruby 2.6.x
packages, to prevent non-working combinations of packages getting installed.


Re: [ITA] ruby 3.2.2

2023-04-21 Thread Daisuke Fujimura via Cygwin-apps
Thank you for your review.

Based on your review, I understand that the following steps are necessary.

Could you please let me know if it is correct?

1. Release `ruby-2.6.4-2`.
- Add `ruby_PROVIDES="ruby_${${VERSION%.*}//./}"` to ruby.cygport.
- The value of this variable will be `ruby_26`.
- `provides: ruby_26` is added to `ruby-2.6.4-2.hint`.
2. Modify cygport and release it.
- Add code to detect dependencies on `ruby_xy`.
- It is similar to the process for `perl5_xy0`.
- 
https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L442
- 
https://github.com/cygwin/cygport/blob/0.36.2/lib/pkg_info.cygpart#L639
3. Rebuild `ruby-*` subpackages.
- The new cygport adds `depends: ruby_26` to the hint.
- (Question) Does a gem that has no dependencies on `cygruby*.dll`
need to rebuild?
4. Release `ruby-3.2.2-1`.
- The value of `provides` becomes `ruby_32`.
- Packages that depend on `ruby_26` will no longer be installable.
5. Rebuild `ruby-*` subpackages.
- The rebuild adds `depends: ruby_32` to the hint.


On Fri, Apr 21, 2023 at 1:13 AM Jon Turney  wrote:
>
> On 20/04/2023 11:50, Jon Turney via Cygwin-apps wrote:
> > On 20/04/2023 04:28, Marco Atzeri via Cygwin-apps wrote:
> >> On 20.04.2023 00:42, Daisuke Fujimura via Cygwin-apps wrote:
> >>> Hello,
> >>>
> >>> 
> >>>
> >>> Cygportfile:
> >>> -
> >>> https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby
> >>>
>
> Looks fine. Thanks very much for updating this!
>
> >>> Packages, logs:
> >>> - https://github.com/cygwin/scallywag/actions/runs/4743191979
> >>
> >>
> >> all yours
> >>
> >> Are you planning to adopt also the ruby-* sub-packages ?
> >>
> >> Regards
> >> Marco
> >
> > I have a concern about how this changes a soversioned dll inside the
> > package (from cygruby260.dll to cygruby320.dll)
> >
> > I don't know if there's anything linked against this DLL (perhaps ruby
> > bindings provided by other packages) which will get broken?
> >
> > Please hold off on uploading this until I have a chance to look into
> > that issue a bit more.
> It seems we have a handful of ruby binding packages, which install a .so
> file into /usr/lib/ruby/vendor_ruby/2.6/ which is linked against
> cygruby260.dll:
>
> ruby-gv
> ruby-marisa
> ruby-openbabel
> ruby-openwsman
> ruby-solv
> ruby-xapian
> ruby-zinnia
> subversion-ruby
>
> (There might also be some other packages which link with that dll to
> embed the ruby interpreter or something, but those are harder for me to
> identify quickly...)
>
> I think this can be handled in the same way as perl, i.e. add something
> like "ruby_PROVIDES=ruby_${${VERSION%.*}//./}" to ruby.cygport, and add
> a mechanism to cygport to make the binding packages have an additional
> dependency on that provide.
>
> I'll look into retroactively adding this to the existing ruby 2.6.x
> packages, to prevent non-working combinations of packages getting installed.
>


Re: [ITA] ruby 3.2.2

2023-04-20 Thread Jon Turney via Cygwin-apps

On 20/04/2023 11:50, Jon Turney via Cygwin-apps wrote:

On 20/04/2023 04:28, Marco Atzeri via Cygwin-apps wrote:

On 20.04.2023 00:42, Daisuke Fujimura via Cygwin-apps wrote:

Hello,



Cygportfile:
- 
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby




Looks fine. Thanks very much for updating this!


Packages, logs:
- https://github.com/cygwin/scallywag/actions/runs/4743191979



all yours

Are you planning to adopt also the ruby-* sub-packages ?

Regards
Marco


I have a concern about how this changes a soversioned dll inside the 
package (from cygruby260.dll to cygruby320.dll)


I don't know if there's anything linked against this DLL (perhaps ruby 
bindings provided by other packages) which will get broken?


Please hold off on uploading this until I have a chance to look into 
that issue a bit more.
It seems we have a handful of ruby binding packages, which install a .so 
file into /usr/lib/ruby/vendor_ruby/2.6/ which is linked against 
cygruby260.dll:


ruby-gv
ruby-marisa
ruby-openbabel
ruby-openwsman
ruby-solv
ruby-xapian
ruby-zinnia
subversion-ruby

(There might also be some other packages which link with that dll to 
embed the ruby interpreter or something, but those are harder for me to 
identify quickly...)


I think this can be handled in the same way as perl, i.e. add something 
like "ruby_PROVIDES=ruby_${${VERSION%.*}//./}" to ruby.cygport, and add 
a mechanism to cygport to make the binding packages have an additional 
dependency on that provide.


I'll look into retroactively adding this to the existing ruby 2.6.x 
packages, to prevent non-working combinations of packages getting installed.




Re: [ITA] ruby 3.2.2

2023-04-20 Thread Jon Turney via Cygwin-apps

On 20/04/2023 04:28, Marco Atzeri via Cygwin-apps wrote:

On 20.04.2023 00:42, Daisuke Fujimura via Cygwin-apps wrote:

Hello,



Cygportfile:
- 
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby


Packages, logs:
- https://github.com/cygwin/scallywag/actions/runs/4743191979



all yours

Are you planning to adopt also the ruby-* sub-packages ?

Regards
Marco


I have a concern about how this changes a soversioned dll inside the 
package (from cygruby260.dll to cygruby320.dll)


I don't know if there's anything linked against this DLL (perhaps ruby 
bindings provided by other packages) which will get broken?


Please hold off on uploading this until I have a chance to look into 
that issue a bit more.




Re: [ITA] ruby 3.2.2

2023-04-19 Thread Marco Atzeri via Cygwin-apps

On 20.04.2023 00:42, Daisuke Fujimura via Cygwin-apps wrote:

Hello,



Cygportfile:
- 
https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/playground.git;a=shortlog;h=refs/heads/ruby

Packages, logs:
- https://github.com/cygwin/scallywag/actions/runs/4743191979



all yours

Are you planning to adopt also the ruby-* sub-packages ?

Regards
Marco