Changes between Initial Version and Version 1 of Ticket #15712, comment 21


Ignore:
Timestamp:
Mar 31, 2018, 7:33:09 PM (2 years ago)
Author:
mojca (Mojca Miklavec)
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #15712, comment 21

    initial v1  
    88}
    99}}}
     10The 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
     13if {something} {
     14    platforms whitelist-darwin-10
     15}
     16if (something_else) {
     17    platforms whitelist-darwin-11
     18}
     19}}}
     20and might be surprised if that would blacklist everything. This could be slightly tricker to implement.
    1021
    1122What 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):
     
    1324platforms-blacklist[-append] {darwin < 10} darwin11 {darwin >= 14}
    1425}}}
     26and then rewrite the above into
     27{{{
     28#!tcl
     29if {!something} {
     30    platforms blacklist-darwin-10
     31}
     32if (!something_else) {
     33    platforms blacklist-darwin-11
     34}
     35}}}
    1536I 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.
    1637
    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".
     38As 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).
    1839
    1940It could make more sense to use (pseudocode):
    2041{{{
     42#!tcl
    2143also-tested-on linux freebsd
    2244}}}
     
    2648Totally off-topic. I was just reading Bootstrap tutorial, according to their logic we would specify (in pseudocode):
    2749{{{
     50#!tcl
    2851platforms blacklist-darwin-9-down blacklist-darwin-11 blacklist-darwin-14-up
    2952}}}
    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.
     53They 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).