#48965: Add subport as a dependency --------------------------------+-------------------------------- Reporter: tiagofrepereira@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Resolution: invalid | Keywords: Port: | --------------------------------+-------------------------------- Changes (by ryandesign@…): * cc: ryandesign@… (added) * status: new => closed * resolution: => invalid Old description:
Hi,
I'm creating a Portfile which contains several subports.
I would like to add these subports as a dependency of my main Portfile, but it seems not possible. When I try to install I have the following error.
$$$ ---> Dependencies to be installed: py-bob.blitz py-bob.core py- bob.io.base Error: The following dependencies were not installed: py-bob.blitz py- bob.core py-bob.io.base $$$$
Those packages "py-bob.blitz py-bob.core py-bob.io.base" are my subports. The dependencies are defined in the line 64 of the attached file.
Thank you very much in advance!!
New description: Hi, I'm creating a Portfile which contains several subports. I would like to add these subports as a dependency of my main Portfile, but it seems not possible. When I try to install I have the following error. {{{ ---> Dependencies to be installed: py-bob.blitz py-bob.core py- bob.io.base Error: The following dependencies were not installed: py-bob.blitz py- bob.core py-bob.io.base }}} Those packages "py-bob.blitz py-bob.core py-bob.io.base" are my subports. The dependencies are defined in the line 64 of the attached file. Thank you very much in advance!! -- Comment: In the Portfile you've written {{{ depends_run \ port:py-bob.blitz \ port:py-bob.core \ port:py-bob.io.base }}} outside of any blocks or conditionals. That means it applies to all ports, both the "main" port and all the subports. So, for example, you've asked the subport py-bob.blitz to have a dependency on itself, which of course can't work. If you only want the main port to have those dependencies, say that: {{{ if {${subport} eq ${name}} { depends_run \ port:py-bob.blitz \ port:py-bob.core \ port:py-bob.io.base } }}} But there are additional problems here. You're using the python portgroup, whose purpose is to let you create one port (named py-''something'') and it will create subports for you (named py26-''something'', py27-''something'', py33-''something'', py34-''something'', etc.) based on how you set `python.versions`. But then you're trying to create additional py-''somethingelse'' subports as well. The python portgroup doesn't know anything about these other subports you've created, and will not create py26-''somethingelse'' etc. subports for you, so that won't work right. Furthermore, these subports are all for different software, which have their own version numbers, master_sites, distfiles and checksums. I think you'll find things will work correctly if you create a separate portfile for each software, and not try to put them all into the same portfile. If you need further help developing portfiles, please write to the macports-dev mailing list rather than filing tickets in the issue tracker. -- Ticket URL: <https://trac.macports.org/ticket/48965#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X