Ticket #36130: Portfile-v2

File Portfile-v2, 5.3 KB (added by andre.dos.anjos@…, 12 years ago)

Version v2 after first set of comments

Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id$
3
4PortSystem          1.0
5PortGroup           cmake 1.0
6
7PortGroup           github 1.0
8github.setup        idiap bob 1.0.6 v
9github.master_sites https://github.com/idiap/bob/downloads/
10use_zip             yes
11
12name                bob
13version             1.0.6
14set soversion       1.0
15revision            1
16categories          science math devel
17platforms           darwin
18maintainers         idiap.ch:andre.anjos \
19                    idiap.ch:laurent.el-shafey \
20                    idiap.ch:sebastien.marcel \
21                    idiap.ch:manuel.guenther \
22                    idiap.ch:ivana.chingovska \
23                    idiap.ch:elie.khoury
24
25description         Bob is a signal-processing and machine learning toolbox
26
27long_description    Bob is a signal-processing and machine learning toolbox \
28                    developed at the Idiap Research Institute, in Martigny, \
29                    Switzerland. The toolbox is written in a mix of Python \
30                    and C++ and is designed to be both efficient and to \
31                    reduce development time.
32
33license             GPL-3
34
35checksums           rmd160 eac3e390ed25c69d8c6038f815ea473c21118a0f \
36                    sha256 767e22bddb2bfb59458b76eb37cab3791bf1bfbe33fc7ad11ca29038343b5dea
37
38depends_lib         port:blitz \
39                    port:ffmpeg \
40                    port:matio \
41                    port:imagemagick \
42                    port:hdf5-18 \
43                    port:boost \
44                    port:fftw-3 \
45                    port:vlfeat \
46                    port:libsvm
47
48configure.args      -DCMAKE_BUILD_TYPE=Release -DBOB_VERSION=${version} -DBOB_SOVERSION=${soversion}
49
50universal_variant    no
51default_variants     +qt4 +opencv
52
53variant python25 conflicts python26 python27 description "Builds for python 2.5." {
54  depends_lib-append    port:py25-numpy \
55                        port:py25-matplotlib \
56                        port:py25-sqlalchemy \
57                        port:py25-argparse \
58                        port:py25-scipy
59}
60
61variant python26 conflicts python25 python27 description "Builds for python 2.6." {
62  depends_lib-append    port:py26-numpy \
63                        port:py26-matplotlib \
64                        port:py26-sqlalchemy \
65                        port:py26-argparse \
66                        port:py26-scipy
67}
68
69variant python27 conflicts python25 python26 description "Builds for python 2.7." {
70  depends_lib-append    port:py27-numpy \
71                        port:py27-matplotlib \
72                        port:py27-sqlalchemy \
73                        port:py27-argparse \
74                        port:py27-scipy
75}
76
77variant qt4 description "Compile Qt4 extensions." {
78  depends_lib-append      port:qt4-mac
79}
80
81variant opencv description "Compile OpenCV extensions." {
82  depends_lib-append      port:opencv
83}
84
85variant doc description "Builds documentation." {
86  depends_build-append    port:dvipng \
87                          port:doxygen \
88                          port:texlive-latex-extra \
89                          port:texlive-fonts-recommended
90  destroot.target-append  sphinx-latex install-sphinx install-doxygen
91
92  if {[variant_isset python25]} {
93    depends_build-append  port:py25-sphinx
94  }
95  if {[variant_isset python26]} {
96    depends_build-append  port:py26-sphinx
97  }
98  if {[variant_isset python27]} {
99    depends_build-append  port:py27-sphinx
100  }
101  test.target-append sphinx-doctest
102}
103
104pre-configure {
105  if {[variant_isset python25]} {
106    configure.args-append -DWITH_PYTHON=${prefix}/bin/python2.5
107  } elseif {[variant_isset python26]} {
108      configure.args-append -DWITH_PYTHON=${prefix}/bin/python2.6
109  } elseif {[variant_isset python27]} {
110    configure.args-append -DWITH_PYTHON=${prefix}/bin/python2.7
111  } else {
112    ui_error "You must choose a python variant. Tip: use the same variant used for building the boost port (use `port installed boost` to find it out)"
113  }
114  compiler.blacklist clang
115}
116
117post-destroot {
118  if {[variant_isset python25]} {
119    set pycompile ${destroot}/${prefix}/lib/python2.5/site-packages
120    system "${prefix}/bin/python2.5 -m compileall ${pycompile}"
121  } elseif {[variant_isset python26]} {
122    set pypath ${prefix}/lib/python2.6/site-packages
123    set pycompile ${prefix}/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
124    file mkdir ${destroot}/${pycompile}
125    system "${prefix}/bin/python2.6 -m compileall ${destroot}/${pypath}/bob"
126    move ${destroot}/${pypath}/bob ${destroot}/${pycompile}/bob
127    move ${destroot}/${pypath}/bob-${version}-py2.6.egg-info ${destroot}/${pycompile}/
128  } elseif {[variant_isset python27]} {
129    set pypath ${prefix}/lib/python2.7/site-packages
130    set pycompile ${prefix}/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
131    file mkdir ${destroot}/${pycompile}
132    system "${prefix}/bin/python2.7 -m compileall ${destroot}/${pypath}/bob"
133    move ${destroot}/${pypath}/bob ${destroot}/${pycompile}/bob
134    move ${destroot}/${pypath}/bob-${version}-py2.7.egg-info ${destroot}/${pycompile}/
135  } else {
136    ui_error "You must choose a python variant. Tip: use the same variant used for building the boost port (use `port installed boost` to find it out)"
137  }
138}