Changes between Initial Version and Version 1 of Ticket #15712, comment 21
- Timestamp:
- Mar 31, 2018, 7:33:09 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #15712, comment 21
initial v1 8 8 } 9 9 }}} 10 The better question is: what if one PortGroup says `whitelist darwin-16` and the other one says `whitelist darwin-15`. I guess the answer should then be that the port cannot be installed at all. But then users will certainly want to do 11 {{{ 12 #!tcl 13 if {something} { 14 platforms whitelist-darwin-10 15 } 16 if (something_else) { 17 platforms whitelist-darwin-11 18 } 19 }}} 20 and might be surprised if that would blacklist everything. This could be slightly tricker to implement. 10 21 11 22 What we could also do is support just blacklisting. If one particular port is supported on `darwin10`, `darwin12` and `darwin13`, you do something in this sense (please ignore the exact syntax, I just want to convey the meaning for now): … … 13 24 platforms-blacklist[-append] {darwin < 10} darwin11 {darwin >= 14} 14 25 }}} 26 and then rewrite the above into 27 {{{ 28 #!tcl 29 if {!something} { 30 platforms blacklist-darwin-10 31 } 32 if (!something_else) { 33 platforms blacklist-darwin-11 34 } 35 }}} 15 36 I would really like to see the ability to proliferate this information from PortGroups or potentially even dependencies. If one port depends on `qt5` which cannot be compiled on older systems, then this port (or any other dependent port of `qt5`) should have those darwin versions blacklisted as well. 16 37 17 As far as the current meaning of `platforms` is concerned: given that we are developing and testing the packages almost exclusively on macOS anyway, I indeed find the current value of `platforms` of limited value. It's officially forbidden to exclude it, but we currently don't accept any package that would only compile on linux for example, so `darwin` would always be implied, while the lack of `linux` does not mean that the package cannot be compiled on linux and nobody would ever notice that this value is "missing".38 As far as the current meaning of `platforms` is concerned: given that we are developing and testing the packages almost exclusively on macOS anyway, I indeed find the current value of `platforms` of limited value. It's officially forbidden to exclude it, but we currently don't accept any package that would only compile on linux for example, so `darwin` would always be implied, while the lack of `linux` does not mean that the package cannot be compiled on Linux and nobody would ever notice that this value is "missing" (they might successfully install the package on Linux and move on). 18 39 19 40 It could make more sense to use (pseudocode): 20 41 {{{ 42 #!tcl 21 43 also-tested-on linux freebsd 22 44 }}} … … 26 48 Totally off-topic. I was just reading Bootstrap tutorial, according to their logic we would specify (in pseudocode): 27 49 {{{ 50 #!tcl 28 51 platforms blacklist-darwin-9-down blacklist-darwin-11 blacklist-darwin-14-up 29 52 }}} 30 They support whitelisting as well, but I didn't test what happens when you do both in the same string. If you do them separately (nested), blacklisting would always win .53 They support whitelisting as well, but I didn't test what happens when you do both in the same string. If you do them separately (nested), blacklisting would always win, whitelist should be treated just as a shorthand (instead of writing a longer blacklist).