gentoo-haskell / haskell-updater

rebuilds Haskell packages after a GHC upgrade or a dependency upgrade
GNU General Public License v3.0
13 stars 8 forks source link

Issues when already-installed node package is masked #15

Open hololeap opened 2 years ago

hololeap commented 2 years ago

Note: "node" package refers to a package that is a transient dependency of a "leaf" package.

hls-selection-range-plugin was a dependency of haskell-language-server. They changed the name upstream, so I masked the old package and created hls-code-range-plugin.

This causes a conundrum when haskell-updater pulls in the already-installed package and fails with:

!!! All ebuilds that could satisfy "dev-haskell/hls-selection-range-plugin:0" have been masked.

Running emerge -c hls-selction-range-plugin does not work because it is a dependency of the installed version of haskell-language-server. Meanwhile, I can't rebuild haskell-language-server because it depends on broken packages that need to be rebuilt with haskell-updater.

Workarounds

A workaround would be to run:

# emerge -C hls-selction-range-plugin
# haskell-updater
hololeap commented 7 months ago

Another masked package that should be ignored by default:

!!! All ebuilds that could satisfy "dev-haskell/implicit-hie-cradle:0" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-haskell/implicit-hie-cradle-0.5.0.0-r1::haskell (masked by: package.mask)
/mnt/development/git/gentoo-haskell/profiles/package.mask:
# hololeap <hololeap@protonmail.com> (2024-01-21)
#
# No longer needed by HLS ecosystem, masked for removal
# Removal: 2024-02-20

(source: https://gist.github.com/hololeap/de88043133fc1cf9a1dde48dcdccba6c#file-gistfile1-txt-L66-L73)

workaround:

$ emerge -C implicit-hie-cradle
$ haskell-updater