Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecated formulae with dependents #106902

Closed
21 of 22 tasks
carlocab opened this issue Jul 30, 2022 · 24 comments
Closed
21 of 22 tasks

Deprecated formulae with dependents #106902

carlocab opened this issue Jul 30, 2022 · 24 comments
Labels
outdated PR was locked due to age

Comments

@carlocab
Copy link
Member

carlocab commented Jul 30, 2022

A number of formulae were deprecated despite having dependents. This goes
against our deprecation policy, and these formulae were undeprecated in order to
enable merging Homebrew/brew#12770.

We should decide what to do about these formulae and their dependents:

  • libelf

Done

@carlocab
Copy link
Member Author

carlocab commented Jul 30, 2022

As noted in previous PRs, sdl dependents can probably be made to use sdl2 using sdl12-compat. lua@5.1 dependents may be able to use luajit.

For the rest, I suggest investigating whether the dependency can be removed. If not, we should file issues upstream to ask about their plans for the deprecated dependency.

We should prioritise those formulae that have outstanding CVEs or are causing us problems in CI.

@carlocab carlocab added the help wanted Task(s) needing PRs from the community or maintainers label Jul 30, 2022
@carlocab
Copy link
Member Author

isl@0.18 has gcc@5 as a dependent. We can deprecate both when we migrate to a newer bottling distro. See Homebrew/brew#13619.

@carlocab

This comment was marked as resolved.

@danielnachun
Copy link
Member

danielnachun commented Jul 31, 2022

A few things I've found so far:

  • cmu-sphinxbase - cmu-pocketsphinx has moved to GitHub (https://github.com/cmusphinx/pocketsphinx) and SphinxBase is now integrated into it. So cmu-pocketsphinx should be updated not to depend on cmu-sphinxbase and at that point cmu-sphinxbase will have no dependents.
  • dep - devd is the only undeprecated dependent and @Bo98 opened an issue more than year ago asking about Go module support which remains unanswered: Compatiblity with future Go versions cortesi/devd#115. It's probably time to deprecated devd.
  • docker-machine - Given that docker-machine is deprecated I don't see any way for its docker-machine-* dependent to be supported. So they all probably should be deprecated.
  • glide - has two undeprecated dependents jabba and textql. textql has had an unanswered issue open for more than a year about Go module support: Release new version with go modules dinedal/textql#131. It looks like jabba may have added Go module support in upstream commits: shyiko/jabba@7b9e621.
  • govendor - dockviz is the only undeprecated dependent. There is an open issue about Go module support: status of the project? justone/dockviz#49. But it doesn't seem like anything has been done yet to add support.
  • guile@2 - used by lilypond which is definitely actively developed. It's unclear if works with Guile 3 but it may be worth trying.
  • ilmbase - has two dependents ctl and field3d- development appears stalled for both so they should probably just be deprecated.
    jam - has two build dependents argyll-cms and lincity-ng. We should contact both upstreams asking if they plan to migrate to a different build system.
  • libelf - has two dependents avrdude and dynamips. We've already migrated both of these to elfutils on Linux but we can't do so on macOS because elfutils is Linux-only.
  • mpfi - there is a GitHub maintenance fork now which might be a suitable substitute. It could be vendored as a resource for sollya, its only dependent, instead of being maintained as a separate formula.
  • openexr@2 - needed for ctl - see above comment for ilmbase.
  • tbb@2020 - has one dependent osrm-backend which is actively developed. There is an open issue about this failing to build with newer TBB: Does not build with tbb 2021.4.0-1.1 on openSUSE_Tumbleweed Project-OSRM/osrm-backend#6181
  • vtk@8.2 - has two dependents gdcm and itk - both are actively maintained and we should see if they work with newer vtk. If not we should open upstream issues.

@SMillerDev
Copy link
Member

For docker-machine I believe Gitlab took over development.

@alebcay
Copy link
Member

alebcay commented Aug 1, 2022

Just tried lilypond with guile (3.x), looks like it does not search for/consider 3.x versions:

[...]
checking for guile-1.8 >= 1.8.2... no
checking for guile-2.2 >= 2.2.0... no
checking libguile18.h usability... no
checking libguile18.h presence... no
checking for libguile18.h... no
[...]
ERROR: Please install required programs:  guile-devel >= 1.8

@cho-m
Copy link
Member

cho-m commented Aug 3, 2022

I remember looking into lilypond and, as I recall, support was added in HEAD (and maybe unstable version). We would need to wait for stable version with changes. EDIT: What I previously saw was https://gitlab.com/lilypond/lilypond/-/merge_requests/1230 but haven't checked if it works.

I tried re-enabling/updating mpfi in #98522, but it had segfaulted on make check. Didn't really look into reason.

My libelf migration plan was elftoolchain (#104303) though not sure of actual compatibility.

vtk@8.2 - gdcm issue was opened a while back (https://sourceforge.net/p/gdcm/bugs/509/). We could just disable VTK support again.

@SMillerDev
Copy link
Member

I don't think docker-machine is actually resolved now. It just went from unsupported upstream to deprecated upstream.

@carlocab
Copy link
Member Author

carlocab commented Aug 3, 2022

Oh, I was under the impression that the GitLab fork was under development. Unticked.

@SMillerDev
Copy link
Member

It is, until they work out how to drop it. So it's still not a long term solution unfortunately.

@nwhetsell
Copy link
Contributor

@cho-m The latest (but unstable) version of LilyPond can now be built with Guile 3. If it’s any help, I have this working over at

https://github.com/nwhetsell/homebrew-lilypond/blob/master/Formula/lilypond-unstable.rb

I’m not sure when LilyPond will release a new stable version, unfortunately; I’d say Feb 2023 if I had to guess.

@danielnachun
Copy link
Member

@cho-m The latest (but unstable) version of LilyPond can now be built with Guile 3. If it’s any help, I have this working over at

https://github.com/nwhetsell/homebrew-lilypond/blob/master/Formula/lilypond-unstable.rb

I’m not sure when LilyPond will release a new stable version, unfortunately; I’d say Feb 2023 if I had to guess.

Since this "unstable" release is properly tagged and obeys semantic versioning, I'm inclined to say we should just update our formula to that version, and maybe even start using those instead. lilypond has no dependents it cannot break any other formulae. It seems that the upstream definition of "stable" may be more conservative than what we would consider stable.

@danielnachun
Copy link
Member

It is, until they work out how to drop it. So it's still not a long term solution unfortunately.

I think we should just deprecate docker-machine and its dependents in this case. It would be better to do this now so users get a heads up that they are relying on an unmaintained product and need to start switching over. From what I understand there are a number of other actively maintained alternatives that are not drop in replacements but can do the same things.

@SMillerDev
Copy link
Member

SMillerDev commented Sep 20, 2022

I think we can set a disable date for docker-machine. But as a user of docker-machine there's only two alternatives that I know of, and both aren't great.

  • Docker Desktop: proprietary and doesn't allow other vrtualisation backends.

  • podman machine: open source, doesn't allow other backends than QEMU. Not as easy to set up as docker-machine.

Unfortunately I found out that docker-machine doesn't run out of the box on M1 either (needs special configuration to run arm machines), so disabling it at a future date makes sense to me.

@alebcay
Copy link
Member

alebcay commented Sep 20, 2022

I use lima after Docker Desktop changed their licensing. It runs with a QEMU backend and is fairly simple to set up (2-3 commands). I believe it also works on M1 too.

@carlocab
Copy link
Member Author

I use lima after Docker Desktop changed their licensing.

Same. It's part of why I added the bit about lima to our contributing guide.

@justone
Copy link

justone commented Oct 2, 2022

I updated dockviz to use go modules. Sorry for the delay.

@cho-m
Copy link
Member

cho-m commented Dec 6, 2022

cmu-pocketsphinx has a new release now. Can deprecate cmu-sphinxbase after we update that.

lilypond is on RCs with new stable release planned for this month. Can deprecate guile@2 once that is available.

@cho-m cho-m mentioned this issue Feb 4, 2023
6 tasks
cho-m added a commit to cho-m/homebrew-core that referenced this issue Feb 4, 2023
`ilmbase` and `openexr@2` were originally deprecated and are planned for
re-deprecation (Homebrew#106902). In order to avoid
deprecating `ctl`, we backport all upstream commits necessary to migrate
to latest `imath` and `openexr`.
BrewTestBot pushed a commit that referenced this issue Feb 4, 2023
`ilmbase` and `openexr@2` were originally deprecated and are planned for
re-deprecation (#106902). In order to avoid
deprecating `ctl`, we backport all upstream commits necessary to migrate
to latest `imath` and `openexr`.

Closes #122274.

Signed-off-by: Patrick Linnane <patrick@linnane.io>
Signed-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>
@cho-m

This comment was marked as resolved.

@cho-m
Copy link
Member

cho-m commented Feb 14, 2023

docker-machine GitLab plan ref https://gitlab.com/groups/gitlab-org/-/epics/2502

  • We are fully supporting the GitLab maintained Docker Machine fork for autoscaling runner on VM's on the significant public providers at a minimum through FY24 Q4.

@chrisfinazzo

This comment was marked as off-topic.

@carlocab
Copy link
Member Author

You shouldn't be seeing that message, since pycparser is an existing, non-deprecated formula.

Try doing

brew update
brew reinstall pycparser

If that doesn't help, try making a post at the discussion page (not here), and include the full output of brew config, brew doctor and brew info pycparser.

@IgorKha

This comment has been minimized.

@cho-m cho-m removed the help wanted Task(s) needing PRs from the community or maintainers label Apr 3, 2024
@cho-m
Copy link
Member

cho-m commented Apr 3, 2024

Going to close this as complete given we have finished all actionable tasks.

libelf is going to take months/years to get a resolution on as there is no ideal alternative right now on macOS (elfutils requires a lot of hacks to build on macOS, elftoolchain is still buggy & upstream is very slow to release, and discussion with dependent upstreams are mainly around bundling the library which isn't much better).

@cho-m cho-m closed this as completed Apr 3, 2024
@github-actions github-actions bot added the outdated PR was locked due to age label May 4, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 4, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests

10 participants