Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#37075 closed enhancement (fixed)

boost: add "default_variants +python27"

Reported by: mamoll (Mark Moll) Owned by: adfernandes (Andrew Fernandes)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: boost

Description

Many MacPorts users would have the python27 port installed anyway, so enabling boost.python by default wouldn't make much of a difference to those who don't use Boost.Python. For the ones that do, it makes a big difference if binary packages are available. I maintain a number of ports that depend on Boost.Python (py-graph-tool, ompl). Since I can't depend on a variant of a port, users have to compile boost and packages that depend on boost.python from source. They may also have to reinstall boost if they didn't have boost.python enabled before.

Change History (6)

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Type: requestenhancement
Version: 2.1.2

This is an "enhancement". A "request" is a request for a new port to be added but no portfile is attached.

FYI, I agree this is a good idea.

comment:2 Changed 12 years ago by adfernandes (Andrew Fernandes)

Done (r99960).

Want to bet that there are complaints that python3 isn't a default...? :-)

comment:3 Changed 12 years ago by mamoll (Mark Moll)

Thanks! Could you also bump the revision to force a rebuild by the build bot?

comment:4 Changed 12 years ago by adfernandes (Andrew Fernandes)

Resolution: fixed
Status: newclosed

r99961

Grumble. I need to add +openmpi, so I can't use the buildbot version... and rebuilding boost makes my electricity bill double!

:-)

-A.

comment:5 in reply to:  4 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Summary: please consider adding "default_variants +python27" to boostboost: add "default_variants +python27"

Replying to adfernandes@…:

Done (r99960).

You shouldn't unconditionally make +python27 the default variant; it makes it hard for users who want a different python variant:

$ sudo port install boost +python26
Password:
Error: boost: Variant python26 conflicts with python27
Error: Unable to open port: Error evaluating variants

Usually you would follow wiki:PortfileRecipes#default_variants for this but the boost port is more unusual in that it constructs variants in a for loop. Fixed in r100008 using a method I found in the alps port.

See also #37111.

Want to bet that there are complaints that python3 isn't a default...? :-)

python27 is the default python in MacPorts. Any desire to change that should be discussed and agreed upon on the dev mailing list.

Replying to mmoll@…:

Thanks! Could you also bump the revision to force a rebuild by the build bot?

Increasing the revision solely to make the buildbot rebuild is not a good idea; see mailing list.

In this case increasing the revision also has the effect of ensuring anybody who did not have a python variant selected will now have python27 selected. This also seems not essential. Anyone who really needed python27 would have selected it manually by now. And by adding it to default_variants, anyone else will get it next time they rebuild, for example when the next version of boost is released. So if I had it to do over again I would not have imposed this rebuild on users and would not have increased the revision.

Replying to adfernandes@…:

Grumble. I need to add +openmpi, so I can't use the buildbot version... and rebuilding boost makes my electricity bill double!

You don't have to upgrade a port, of course; you can wait until the next version or whenever.

comment:6 Changed 12 years ago by adfernandes (Andrew Fernandes)

Okay, thanks, Ryan.

I must say, boost is a right PITA given all the options, variants, platforms, and ports that depend on it!

Note: See TracTickets for help on using tickets.