Created attachment 163862 [details]
It is beneficial to have hyphens allowed in group names, because group names can sometimes be associated with the project-defined directories where for example GitHub projects are extracted.
The attached patch solves the issue.
Later I will add the blocked by this port www/sharelatex that greatly benefits from this.
Created attachment 163865 [details]
What problem exactly does having an hyphen in a variable name do you have ?
Because make(1) sure does not have any.
When I replace group 'duk' -> 'd-uk', I get this error:
===> aseprite-1.1.1 depends on file: /usr/local/sbin/pkg - found
_MASTER_SITES_d-uk=https://codeload.github.com/aseprite/duktape/tar.gz/90090c7?dummy=/: not found
I didn't realize that make supports hyphens in variable names. I assumed it doesn't. But this experiment proves that hyphenated variable names don't quite work the same way.
Created attachment 164189 [details]
Good news - needed to also allow periods, and potentially some other characters can be needed. Can't expect all these characters to be supported by the make(1) as variable names, can we?
So I reworked and generalized the patch, added the regex variables.
It all works. I think it can be committed now.
Created attachment 164190 [details]
This is getting more and more complicated, and making things less and less readable. It would be more simple to simply forbid anything outside of [a-zA-Z0-9_]
No, I disagree, group names aren't simply typed in. It is often easy to make them equal to the github project name. This is where the problem comes from.
As usual, there are a lot of users (or ports), and one framework. You shouldn't force many users to work around the bug in one framework. It should just be fixed.
This isn't just a bunch of changes. This is the functional relationship, the mapping from the group name with the wider character set into the variable name with the narrower character set. One function.
I found that this patch breaks on 9.X (with the older version of make). I am looking for the solution for this.
No feedback timeout
Well, you last said "I am looking for the solutions". Timeout is two weeks, I gave it three months.
Matt, sorry I didn't realize this.
I am testing the workaround now, until 9.X goes out of support.
Will update all depending ports and will temporarily close this until 2017.