On Nov 1, 2013, at 4:04 PM, Ryan Schmidt <ryandes...@macports.org> wrote: > On Nov 1, 2013, at 15:02, Daniel J. Luke <dl...@geeklair.net> wrote: >> On Nov 1, 2013, at 3:58 PM, Ryan Schmidt <ryandes...@macports.org> wrote: >>> On Nov 1, 2013, at 14:55, Daniel J. Luke <dl...@geeklair.net> wrote: >>>> On Nov 1, 2013, at 3:50 PM, Ryan Schmidt <ryandes...@macports.org> wrote: >>>>> On Nov 1, 2013, at 14:44, Daniel J. Luke wrote: >>>>>> On Nov 1, 2013, at 2:09 PM, Ryan Schmidt wrote: >>>>>>> The solution would be for ports that use the ImageMagick libraries to >>>>>>> depend on it via depends_lib and for those only needing its programs to >>>>>>> depend on it via depends_build and/or depends_run. >>>>>> >>>>>> I don't think you can say depends_run means 'only depends on programs' >>>>>> unless we specifically define it to mean that (I can think of a case >>>>>> where something doesn't link with a library or plugin, but loads it at >>>>>> runtime). >>>>> >>>>> I didn’t say that. I said perhaps we should make “depends_lib” mean that >>>>> it depends on (i.e. links with) a library. That doesn’t seem so >>>>> unreasonable. >>>> >>>> the quoted sentence indicates: >>>> >>>> 1. depends_lib == linked to it (needs revbump) >>>> 2. depends_build/depends_run == only needs its programs. >>>> >>>> I'm saying that unless we define depends_build/depends_run as only >>>> pertaining to programs, that 2 isn't necessarily true (an application can >>>> have a runtime dependency on a library or plugin that it loads at runtime >>>> but isn't linked with). >>> >>> Sorry if I was unclear. My only proposal is: >>> >>> depends_lib should mean that a port links with another port’s library, such >>> that it needs a revbump if that port’s library version increases >>> >>> If you link with another port’s library, use depends_lib >>> >>> If you do not link with another port’s library, do not use depends_lib >> >> ok, so you don't actually want to fix the problem you have with some things >> depending on ImageMagic libraries and some things depending on just the >> programs? :) > > The way I want to fix it is to go through the ports that depend on > ImageMagick, find those that declare “depends_lib port:ImageMagick” but only > use its programs, and change them to “depends_run port:ImageMagick” > (presuming they use the programs at runtime) and if they check for the > presence of the program at configure time, then also add “depends_build > port:ImageMagick”.
which again, you're assuming that no port has a runtime dependency on a library that doesn't link with that library (which a reasonable person might express as a depends_run dependency). This is #2 from above. The only way you can assume that depends_run means "only depends on programs" is if we define depends_run to mean "only depends on programs". In other words, for this to work, depends_lib doesn't just mean "I link to a library provided by this port" but "I link to, or load a library or plugin provided by this port." I don't think it's a /bad/ idea to define things that way, just that it needs to be clear so that maintainers use depends_lib/depends_run in a way that is consistent. > The part of the question I was replying to was "is there any difference > between listing a package in both depends_build and depends_run compared to > just listing it in depends_lib”. I was trying to explain what I thought the > difference should be. -- Daniel J. Luke +========================================================+ | *---------------- dl...@geeklair.net ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+ _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-dev