gentoo / dlang

[MIRROR] D programming language ebuild repository
https://gitweb.gentoo.org/repo/user/dlang.git
GNU General Public License v2.0
30 stars 25 forks source link

Big stabilization sweep #128

Closed the-horo closed 9 months ago

the-horo commented 9 months ago

This PR removeds a lot of the old versions of the packages in the overlay. Most notably dlang-tools and dmd lost the most versions. dlang-tools shouldn't have had so many versions in the tree in the first place since it's not slotted and dmd, while it may be useful to have access to older compiler versions, having rotting versions in the tree that don't work or are not tested only makes it harder to fix problems in the newer versions and adds a lot of complexity to dmd.eclass.

The cut on which versions will remain has been made based on the if checks in dmd.eclass, 2.101 being the last version that requires conditional code in the eclass. ldc2 has been left alone as its ebuilds don't require that many changes across versions.

dmd-2.086 has been kept in order to still be able to build tilix so that we wouldn't have to remove it from the tree.

mleise commented 9 months ago

I don't quite remember what made dlang-tools end up in that state, but there fact that gdmd and ldmd2 can be used by rdmd and how it's inherently dependent on a compatible dmd for command-line flags and how ddemangle depends on the respective ABI of dmd possibly played into it. Technically, when installing an old dmd it makes sense to pull in an old version of dlang-tools as well so they are compatible. Maybe I ran into problems with gdmd and ldmd2. Really can't remember. That was 10 years ago ^^. The many dmd versions were sort of an archive to go back through in case something doesn't compile or produces an error and you want to check if its a regression or the compiler has been behaving like that before. Or just to see how dmd performed two years ago if it suddenly feels slow. I'm fine with cutting down on it. I am not actively maintaining it nowadays anyways and then, yeah, it starts to rot and suddenly throws errors because something in glibc changed or whatnot.

the-horo commented 9 months ago

For basic tests at least, rdmd seems to be working fine with either gdc or ldc2.

For ddemangle, it's souce file has not been updated in 6 years and it's using core.demangle for doing to compiler-specific calculations so the ebuild version of dlang-tools doesn't matter, what matters is the compiler used to build it.

The dmd situation is indeed different. I can see its use in being able to use multiple different versions from across the years to see how the compiler (d)evolved but that's useful to developers, not to users. If somebody was impacted by the removal I wouldn't mind keeping a few more versions in the tree for a while but my interest for now is having up to date ebuilds and improving the overlay, not maintaining unused old versions.