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

ldc2 isn't updated for LLVM<=15 #122

Open Connor-GH opened 1 year ago

Connor-GH commented 1 year ago

Never ldc versions use LLVM 15 and 16. The ebuild is also outdated for dmd version as well.

Connor-GH commented 11 months ago

The below diff works fine for ldc 1.34.0. Apply the diff and update the file please.

21c21
< # We support LLVM 9.0 through 14.
---
> # We support LLVM 9.0 through 16.
24,25c24
<       sys-devel/llvm:13
<       sys-devel/llvm:14
---
>       sys-devel/llvm:16
27c26
<   <sys-devel/llvm-15:=
---
>   <sys-devel/llvm-17:=
30c29
< LLVM_MAX_SLOT=14
---
> LLVM_MAX_SLOT=16
37c36
< DLANG_VERSION_RANGE="2.075-2.080 2.082-"
---
> DLANG_VERSION_RANGE="2.099-"
the-horo commented 11 months ago

Sorry for making you wait so much. I'll finish testing ldc2-1.34.0 and I'll update it today.

About your paste:

< # We support LLVM 9.0 through 14.
---
> # We support LLVM 9.0 through 16.

is supposed to be # Upstream supports LLVM ... which is from 11.0 to 16.0 for ldc2-1.34.0, as it says here. I changed the text in the ebuild so the message will be more obvious.

<       sys-devel/llvm:13
<       sys-devel/llvm:14
---
>       sys-devel/llvm:16

We don't need to drop the older version as possible candidates, we only want to remove llvm:13 since that's not in the tree anymore. Since we support up to 16 though, we should add llvm:15 and llvm:16 as candidates, not just llvm:16.

< DLANG_VERSION_RANGE="2.075-2.080 2.082-"
---
> DLANG_VERSION_RANGE="2.099-"

It's good that you put in only the versions that you tested, I assume ldc2-1.29 and ldc2-1.30 but, as far as my tests conclude, we can leave the value unchanged.

In case you care about contributing in the future, when you submit a patch try to produce it with git diff since it's easier to work with or, even better, make a pull request.

Thanks for bearing with me so far, in the future, I'll try to keep the ebuilds more up to date since nobody likes outdated packages.

Connor-GH commented 11 months ago

I appreciate the quick response. I ended up just adding a custom 1.34.0 ebuild for myself and it worked fine when I bootstrapped it with dmd 2.099.

In case you care about contributing in the future, when you submit a patch try to produce it with git diff since it's easier to work with or, even better, make a pull request.

I didn't put as much effort into this issue as I should have because I just wanted to send you a foundation for the ebuild because if you're anything like me, you know that updating packages - especially ones that aren't yours - can be a hassle.

the-horo commented 11 months ago

Here you go: 21fe0c08d3a89204e96d99ac0fbf1963928e51a2.

I didn't put as much effort into this issue as I should have because I just wanted to send you a foundation for the ebuild because if you're anything like me, you know that updating packages - especially ones that aren't yours - can be a hassle.

I have only started as an actual maintainer, not just a contributor, and I'm starting to get a better picture about how ebuilds are being kept up to date. There's a lot more than just copying the old version and hoping that it works. I'm not saying this isn't valid if you just want something that works for your, but when you have to put it in an overlay for other people to use the bar is higher.

I appreciate your interest nonetheless and I'll go and add the older versions in the following days.

the-horo commented 11 months ago

I've updated ldc2 for older versions. Now dmd and ldc2 both are in sync with upstream stable releases.

If I didn't miss anything I think this issue can be marked as completed.