aboutsummaryrefslogtreecommitdiffstats
path: root/databases/mongodb36-tools/Makefile
blob: 62d077432ef01fe981ba8fa082e13a963a9849f5 (plain) (blame)
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
# $FreeBSD$

PORTNAME=   mongodb36-tools
PORTVERSION=    3.6.3
DISTVERSIONPREFIX=  r
CATEGORIES= databases net

MAINTAINER= numisemis@yahoo.com
COMMENT=    Tools for MongoDB

LICENSE=    APACHE20

ONLY_FOR_ARCHS= amd64 i386
ONLY_FOR_ARCHS_REASON=  "not yet ported to anything other than i386 and amd64"
BROKEN_SSL= openssl111 libressl libressl-devel
BROKEN_SSL_REASON_openssl111=   variable has incomplete type 'BIO_METHOD' (aka 'struct bio_method_st')
BROKEN_SSL_REASON_libressl=     could not determine kind of name for C.EVP_sha
BROKEN_SSL_REASON_libressl-devel=   ${BROKEN_SSL_REASON_libressl}

CONFLICTS_INSTALL=  mongodb mongodb[32-34]-tools

USES=   go localbase

USE_GITHUB= yes
GH_ACCOUNT= mongodb
GH_PROJECT= mongo-tools

OPTIONS_DEFINE= DOCS SSL SASL
OPTIONS_DEFAULT=    SSL SASL

SASL_USE=   my_tags=sasl
SASL_LIB_DEPENDS=   libsasl2.so:security/cyrus-sasl2

SSL_USES=   ssl
SSL_USE=    my_tags=ssl

# Go is not our friend. Without below, ignores user-supplied flags.
MAKE_CMD=   ${LOCALBASE}/bin/go build
MAKE_ENV=   GOPATH="${WRKSRC}/.gopath:${WRKSRC}/vendor" \
        CGO_CFLAGS="${CFLAGS}" CGO_CPPFLAGS="${CPPFLAGS}" \
        CGO_CXXFLAGS="${CXXFLAGS}" CGO_LDFLAGS="-L${LOCALBASE}/lib ${LDFLAGS}"

MY_TAGS=    -tags "${USE_MY_TAGS}"

.include <bsd.port.pre.mk>

.if ${SSL_DEFAULT} == base
BROKEN_FreeBSD_12=  variable has incomplete type 'BIO_METHOD' (aka 'struct bio_method_st')
BROKEN_FreeBSD_13=  variable has incomplete type 'BIO_METHOD' (aka 'struct bio_method_st')
.endif

post-patch:
    @cd ${WRKSRC} ; ${MKDIR} ${WRKSRC}/.gopath/src/github.com/${GH_ACCOUNT} ; \
        ${LN} -sf ${WRKSRC} ${WRKSRC}/.gopath/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}

do-build:
.for x in bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop
    ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \
        -o ${WRKSRC}/bin/${x} ${MY_TAGS}\
        -ldflags "-X github.com/${GH_ACCOUNT}/${GH_PROJECT}/common/options.Gitspec=${GH_TAGNAME}"\
        ${WRKSRC}/${x}/main/${x}.go
.endfor

do-install:
.for x in bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/${x} ${STAGEDIR}${PREFIX}/bin/
.endfor

    ${MKDIR} ${STAGEDIR}${DOCSDIR}
.for x in LICENSE.md README.md THIRD-PARTY-NOTICES
    ${INSTALL_MAN} ${WRKSRC}/${x} ${STAGEDIR}${DOCSDIR}
.endfor

.include <bsd.port.post.mk>