/
Portfile
156 lines (130 loc) · 5.53 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# -*- 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
PortSystem 1.0
PortGroup github 1.0
PortGroup waf 1.0
epoch 1
github.setup retrieva pficommon 2.0.0
revision 2
categories devel
maintainers nomaintainer
description Common Library of C++
long_description ${name} is a general purpose C++ library.
platforms darwin
license BSD
checksums rmd160 faa0d09e0d0ca27c9675cceca7796ab2319e4027 \
sha256 003969a61cf6c06e513538a35fa8a696fb90137fa848fd972dfab4e34ddeda7c \
size 449467
patchfiles patch-wscript.diff
platform darwin {
if {${os.major} <= 10} {
known_fail yes
pre-fetch {
ui_error "${name} @${version} does not build on Snow Leopard or earlier."
error "unsupported platform"
}
} elseif {${os.major} >= 13} {
known_fail yes
pre-fetch {
ui_error "${name} @${version} does not build on Mavericks or later."
error "unsupported platform"
}
}
}
# optional database: my = MySQL, pg = PostgreSQL.
set my_pkg mysql56
set pg_version 94
post-patch {
set mysql_config ${prefix}/lib/${my_pkg}/bin/mysql_config
set pg_config ${prefix}/lib/postgresql${pg_version}/bin/pg_config
reinplace "s|@mysql_config@|${mysql_config}|g" ${worksrcpath}/src/database/wscript
reinplace "s|@pg_config@|${pg_config}|g" ${worksrcpath}/src/database/wscript
}
# msgpack for jubatus.
default_variants +mprpc
configure.args-append --disable-mysql \
--disable-postgresql \
--disable-mprpc \
--disable-fcgi \
--disable-magickpp
variant mysql56 conflicts mysql55 mysql51 mariadb percona description {Enable MySQL 5.6} {
depends_lib-append port:mysql56
set my_pkg mysql56
configure.args-delete --disable-mysql
}
variant mysql55 conflicts mysql56 mysql51 mariadb percona description {Enable MySQL 5.5} {
depends_lib-append port:mysql55
set my_pkg mysql55
configure.args-delete --disable-mysql
}
variant mysql51 conflicts mysql56 mysql55 mariadb percona description {Enable MySQL 5.1} {
depends_lib-append port:mysql51
set my_pkg mysql51
configure.args-delete --disable-mysql
}
variant mariadb conflicts mysql56 mysql55 mysql51 percona description {Enable MariaDB} {
depends_lib-append port:mariadb
set my_pkg mariadb
configure.args-delete --disable-mysql
}
variant percona conflicts mysql56 mysql55 mysql51 mariadb description {Enable Percona} {
depends_lib-append port:percona
set my_pkg percona
configure.args-delete --disable-mysql
}
variant postgresql94 conflicts postgresql93 postgresql92 postgresql91 postgresql90 postgresql84 description {Enable PostgreSQL 9.4} {
depends_lib-append port:postgresql94
set pg_version 94
configure.args-delete --disable-postgresql
}
variant postgresql93 conflicts postgresql94 postgresql92 postgresql91 postgresql90 postgresql84 description {Enable PostgreSQL 9.3} {
depends_lib-append port:postgresql93
set pg_version 93
configure.args-delete --disable-postgresql
}
variant postgresql92 conflicts postgresql94 postgresql93 postgresql91 postgresql90 postgresql84 description {Enable PostgreSQL 9.2} {
depends_lib-append port:postgresql92
set pg_version 92
configure.args-delete --disable-postgresql
}
variant postgresql91 conflicts postgresql94 postgresql93 postgresql92 postgresql90 postgresql84 description {Enable PostgreSQL 9.1} {
depends_lib-append port:postgresql91
set pg_version 91
configure.args-delete --disable-postgresql
}
variant postgresql90 conflicts postgresql94 postgresql93 postgresql92 postgresql91 postgresql84 description {Enable PostgreSQL 9.0} {
depends_lib-append port:postgresql90
set pg_version 90
configure.args-delete --disable-postgresql
}
variant postgresql84 conflicts postgresql94 postgresql93 postgresql92 postgresql91 postgresql90 description {Enable PostgreSQL 8.4} {
depends_lib-append port:postgresql84
set pg_version 84
configure.args-delete --disable-postgresql
}
variant fcgi description {Enable FastCGI module} {
depends_lib-append port:fcgi
configure.args-replace s|--disable-fcgi|--with-fcgi=${prefix}|
}
variant mprpc description {Enable MessagePack RPC module} {
depends_lib-append port:msgpack0
configure.args-delete --disable-mprpc
}
variant magickpp description {Enable Magick++ of ImageMagick module} {
depends_lib-append port:ImageMagick
configure.args-delete --disable-magickpp
}
post-destroot {
set libdir ${destroot}${prefix}/lib
foreach libname [glob -tails -directory ${libdir} *.dylib] {
system "install_name_tool -id ${prefix}/lib/${libname} ${libdir}/${libname}"
}
set bindir ${destroot}${prefix}/bin
set builddir ${worksrcpath}/build/src
foreach path [concat [glob ${libdir}/*.dylib] ${bindir}/genrpc] {
set libpathes [regexp -all -inline {\S+\/libpficommon\S+dylib \(} [exec otool -L ${path}]]
foreach libpath ${libpathes} {
regexp {\S+\/(libpficommon\S+dylib)} ${libpath} srcpath libname
system "install_name_tool -change ${srcpath} ${prefix}/lib/${libname} ${path}"
}
}
}