Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#36130 closed submission (fixed)

New port for Bob

Reported by: andre.dos.anjos@… Owned by: ci42
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: bob

Description

I'm the maintainer of Bob, a toolkit for machine learning and signal processing: http://idiap.github.com/bob/.

We have been using Mac Ports for some time now and would like to include our Portfile in the official ports tree (attached).

Attachments (7)

Portfile (5.4 KB) - added by andre.dos.anjos@… 12 years ago.
Portfile for Bob
Portfile-v2 (5.3 KB) - added by andre.dos.anjos@… 12 years ago.
Version v2 after first set of comments
Portfile.2 (5.3 KB) - added by ci42 12 years ago.
bob_py25.log (285.6 KB) - added by ci42 12 years ago.
Portfile.3 (4.6 KB) - added by andre.dos.anjos@… 12 years ago.
Portfile version 3, without python25 variant
Portfile.4 (5.1 KB) - added by ci42 12 years ago.
Portfile.5 (4.9 KB) - added by andre.dos.anjos@… 12 years ago.
Less mantainers

Download all attachments as: .zip

Change History (17)

Changed 12 years ago by andre.dos.anjos@…

Attachment: Portfile added

Portfile for Bob

comment:1 Changed 12 years ago by ci42

Keywords: new port removed

Hi,

thanks for your submission. Some remarks regarding your portfile:

maintainers         anjos

This means anjos<at>macports.org. It should be removed.

depends_build       port:cmake

can be removed as this is implied by the cmake port group.

homepage            http://idiap.github.com/bob/

Ports for projects hosted on github should be using the github portgroup.

build.target        all
destroot.target     install
use_parallel_build  yes

These are all the default values. There's no need to explicitly include them in the port file.

configure.compiler llvm-gcc-4.2 #clang remains untested at this point

should be replaced with:

compiler.blacklist clang

Consider using the test phase (see http://guide.macports.org/#reference.phases.test) instead of

variant unittest description "Runs unit tests after compilation." {}

and the related steps in the pre-destroot.

And please don't add arbitrary keywords (see DraftKeywordGuidelines). The ticket type 'submission' is unambiguous.

comment:2 Changed 12 years ago by andre.dos.anjos@…

Ok, all done. Portfile-v2 attached.

Changed 12 years ago by andre.dos.anjos@…

Attachment: Portfile-v2 added

Version v2 after first set of comments

comment:3 in reply to:  2 Changed 12 years ago by ci42

Owner: changed from macports-tickets@… to ciserlohn@…

Replying to andre.dos.anjos@…:

Ok, all done. Portfile-v2 attached.

Ok, more comments to come. I'll attach the current state of the portfile.

But by now the port doesn't compile:

Scanning dependencies of target pybob_db_arface_sqlite
make[2]: Leaving directory `/opt/local/var/macports/build/_Users_ci_devel_repos_macports_trunk_dports_science_bob/bob/work/bob-1.0.6'
make[2]: Entering directory `/opt/local/var/macports/build/_Users_ci_devel_repos_macports_trunk_dports_science_bob/bob/work/bob-1.0.6'
make[2]: *** No rule to make target `databases/arface.sql3', needed by `python/db/CMakeFiles/pybob_db_arface_sqlite'.  Stop.
make[2]: Leaving directory `/opt/local/var/macports/build/_Users_ci_devel_repos_macports_trunk_dports_science_bob/bob/work/bob-1.0.6'
make[1]: *** [python/db/CMakeFiles/pybob_db_arface_sqlite.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/_Users_ci_devel_repos_macports_trunk_dports_science_bob/bob/work/bob-1.0.6'
make: *** [all] Error 2

Any ideas/suggestions.

Changed 12 years ago by ci42

Attachment: Portfile.2 added

comment:4 Changed 12 years ago by andre.dos.anjos@…

Sure, here is the problem:

To correctly compile and build, you will need some SQLite files which are shipped with our distributed sources at http://github.com/idiap/bob/downloads.

The github PortGroup is overriding that setting. Notice, that after I say "PortGroup github 1.0", I try to fix it by saying:

github.master_sites https://github.com/idiap/bob/downloads/
use_zip             yes

Strangely, mac ports is still trying to download the "tagged" version from github which do not contain the SQLite3 files.

How can one override the "master_sites" settings from the "github 1.0" PortGroup?

Changed 12 years ago by ci42

Attachment: bob_py25.log added

comment:5 Changed 12 years ago by ci42

@André Anjos: Please have a look at the attached log file. The python25 variant doesn't compile.

comment:6 Changed 12 years ago by andre.dos.anjos@…

Thanks for this feedback. I see the problem relies on features only available from python2.6 and onwards. At this point, I think the best is the python2.5 variant.

The attached Portfile.3 (based on the Portfile.2 by ciserlohn), removes this variant.

Changed 12 years ago by andre.dos.anjos@…

Attachment: Portfile.3 added

Portfile version 3, without python25 variant

Changed 12 years ago by ci42

Attachment: Portfile.4 added

comment:7 Changed 12 years ago by ci42

@André Anjos: Please have a look at the latest portfile. I think it's ready for inclusion. The main changes are:

  • revert the usage of the github portgroup. The portgroup is intended to fetch the tarball for a particular tag. In your case it has no advantage, it just complicates the portfile
  • check if boost is installed with the matching python variant, error out otherwise.
  • fix test phase usage
  • actually use 4 space indentation as stated in the modeline.

There is only one thing left I want to discuss. Do you really have 6 maintainers? In the first version of the portfile you were the only maintainer. Usually a port has one maintainer, sometimes two. Very few ports have more than two maintainers. Note that the 'maintainers' keyword lists the maintainer of the port in MacPorts, not the upstream maintainers.

Changed 12 years ago by andre.dos.anjos@…

Attachment: Portfile.5 added

Less mantainers

comment:8 Changed 12 years ago by andre.dos.anjos@…

Thanks for your feedback and all the work to make this package part of MacPorts - really appreciated.

For the maintainers, I have attached a new version of the Portfile (5) with only 2 as you suggested. Of course, I misunderstood the purpose of the "maintainers" keyword, I thought it was about the software maintainers. The list has been reduced to the people that actually care about the MacPorts build.

Thanks again, A

comment:9 Changed 12 years ago by ci42

Resolution: fixed
Status: newclosed

Committed in r98241.

comment:10 Changed 12 years ago by jmroot (Joshua Root)

Port: bob added
Version: 2.1.2
Note: See TracTickets for help on using tickets.