| 1 | # $Id: Portfile 29408 2007-09-23 06:37:43Z ryandesign@macports.org $ |
|---|
| 2 | |
|---|
| 3 | PortSystem 1.0 |
|---|
| 4 | |
|---|
| 5 | name boost |
|---|
| 6 | version 1.34.1 |
|---|
| 7 | revision 1 |
|---|
| 8 | categories devel |
|---|
| 9 | maintainers sanchom@gmail.com |
|---|
| 10 | description Collection of portable C++ source libraries |
|---|
| 11 | long_description Boost provides free portable peer-reviewed C++ \ |
|---|
| 12 | libraries. The emphasis is on portable libraries \ |
|---|
| 13 | which work well with the C++ Standard Library. |
|---|
| 14 | homepage http://www.boost.org |
|---|
| 15 | master_sites sourceforge |
|---|
| 16 | distname ${name}_[strsed ${version} {g/[.]/_/}] |
|---|
| 17 | use_bzip2 yes |
|---|
| 18 | checksums md5 2d938467e8a448a2c9763e0a9f8ca7e5 |
|---|
| 19 | platforms darwin |
|---|
| 20 | |
|---|
| 21 | depends_build bin:bjam:boost-jam |
|---|
| 22 | |
|---|
| 23 | platform darwin 9 { |
|---|
| 24 | depends_build-append port:gmake |
|---|
| 25 | build.env MAKE=gmake |
|---|
| 26 | } |
|---|
| 27 | |
|---|
| 28 | platform darwin { |
|---|
| 29 | post-destroot { |
|---|
| 30 | cd ${destroot}${prefix}/lib |
|---|
| 31 | |
|---|
| 32 | # get the library version as it shows up in the library names: |
|---|
| 33 | # eg. 1_34_1 |
|---|
| 34 | set libver [join [lrange [split ${version} {.}] 0 2] {_}] |
|---|
| 35 | |
|---|
| 36 | # ensure the identification name of the dynamic libraries agree |
|---|
| 37 | # with their final destination path (not the destroot path that |
|---|
| 38 | # they've just been installed to) |
|---|
| 39 | foreach lib [glob *-${libver}.dylib] { |
|---|
| 40 | system "install_name_tool -id ${prefix}/lib/${lib} ${lib}" |
|---|
| 41 | } |
|---|
| 42 | |
|---|
| 43 | # create relative symbolic links to the versioned libraries (.dylib only; |
|---|
| 44 | # .a were built with unversioned extensions that are duplicate files of the |
|---|
| 45 | # versioned extensions... handled next) |
|---|
| 46 | foreach lib [glob *-${libver}.dylib] { |
|---|
| 47 | set libname [join [lrange [split [file rootname ${lib}] {-}] 0 end-1] {-}] |
|---|
| 48 | set libext [file extension ${lib}] |
|---|
| 49 | set liblink "${libname}${libext}" |
|---|
| 50 | if {![catch {set libtype [file type ${liblink}]}]} { |
|---|
| 51 | if {${libtype} == "link"} { |
|---|
| 52 | file delete -force ${liblink} |
|---|
| 53 | } |
|---|
| 54 | } |
|---|
| 55 | system "ln -s ${lib} ${liblink}" |
|---|
| 56 | } |
|---|
| 57 | |
|---|
| 58 | # change the duplicated non-version-named .a libraries to |
|---|
| 59 | # symbolic links to the version-named .a libraries |
|---|
| 60 | foreach lib [glob *-${libver}.a] { |
|---|
| 61 | set libname [join [lrange [split [file rootname ${lib}] {-}] 0 end-1] {-}] |
|---|
| 62 | set libext [file extension ${lib}] |
|---|
| 63 | set liblink "${libname}${libext}" |
|---|
| 64 | # if this file is around, it is a duplicate, delete it |
|---|
| 65 | if {[file exists ${liblink}]} { |
|---|
| 66 | file delete -force ${liblink} |
|---|
| 67 | } |
|---|
| 68 | # add a symbolic link instead |
|---|
| 69 | system "ln -s ${lib} ${liblink}" |
|---|
| 70 | } |
|---|
| 71 | |
|---|
| 72 | # create a symbolic link in the include directory pointing to the current |
|---|
| 73 | # version of the boost include directory (e.g. boost-1_34_1/boost -> include/boost) |
|---|
| 74 | system "ln -fs boost-${libver}/boost ${destroot}${prefix}/include/boost" |
|---|
| 75 | } |
|---|
| 76 | } |
|---|
| 77 | |
|---|
| 78 | destroot.args PREFIX=${destroot}${prefix} EPREFIX=${destroot}${prefix} \ |
|---|
| 79 | LIBDIR=${destroot}${prefix}/lib INCLUDEDIR=${destroot}${prefix}/include \ |
|---|
| 80 | install |
|---|
| 81 | |
|---|
| 82 | configure.args --without-libraries=python --without-icu |
|---|
| 83 | |
|---|
| 84 | variant python24 { |
|---|
| 85 | set pyversion 2.4 |
|---|
| 86 | depends_lib lib:libpython${pyversion}:python[strsed ${pyversion} {g/[.]//}] |
|---|
| 87 | |
|---|
| 88 | configure.args-delete --without-libraries=python |
|---|
| 89 | } |
|---|
| 90 | |
|---|
| 91 | variant python25 { |
|---|
| 92 | set pyversion 2.5 |
|---|
| 93 | depends_lib lib:libpython${pyversion}:python[strsed ${pyversion} {g/[.]//}] |
|---|
| 94 | |
|---|
| 95 | configure.args-delete --without-libraries=python |
|---|
| 96 | } |
|---|
| 97 | variant icu { |
|---|
| 98 | depends_lib port:icu |
|---|
| 99 | |
|---|
| 100 | configure.args-delete --without-icu |
|---|
| 101 | configure.args-append --with-icu |
|---|
| 102 | } |
|---|