aboutsummaryrefslogtreecommitdiff
path: root/devel/subversion/Makefile.common
blob: 265fbe014e06c48b3a7e062133c0f88f9af5ec20 (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
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
PORTNAME?=	subversion
PORTVERSION=	1.14.2
PORTREVISION?=	0
CATEGORIES+=	devel
MASTER_SITES=	APACHE/subversion

GNU_CONFIGURE=	yes
USES+=		cpe libtool pathfix pkgconfig shebangfix tar:bzip2
SHEBANG_FILES=	tools/server-side/svnpubsub/rc.d/svnpubsub.solaris \
		tools/server-side/svnpubsub/rc.d/svnwcsub.solaris

LICENSE=	APACHE20

CPE_VENDOR=	apache

CONFLICTS_INSTALL+=	${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-1.[0-9].[0-9]* \
			${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-1.[^1][0-9].[0-9]*

LIB_DEPENDS+=		libapr-1.so:devel/apr1 \
			libsqlite3.so:databases/sqlite3 \
			libexpat.so:textproc/expat2 \
			libutf8proc.so:textproc/utf8proc \
			liblz4.so:archivers/liblz4

CONFIGURE_ARGS+=	--without-swig \
			--with-sqlite=${LOCALBASE} \
			--with-expat=${LOCALBASE}/include:${LOCALBASE}/lib:expat

# ===============================================================
OPTIONS_SUB=			yes

BDB_CONFIGURE_ON=		--enable-bdb6
BDB_CONFIGURE_OFF=		--without-berkeley-db
BDB_USES=			bdb

NLS_CONFIGURE_OFF=		--disable-nls
NLS_USES=			gettext

SASL_CONFIGURE_OFF=		--without-sasl
SASL_CONFIGURE_ON=		--with-sasl=${LOCALBASE}
SASL_LIB_DEPENDS=		libsasl2.so:security/cyrus-sasl2

SERF_CONFIGURE_OFF=		--without-serf
SERF_CONFIGURE_ON=		--with-serf
SERF_LIB_DEPENDS=		libserf-1.so:www/serf

GPG_AGENT_CONFIGURE_OFF=	--without-gpg-agent
GPG_AGENT_CONFIGURE_ON=		--with-gpg-agent
GPG_AGENT_BUILD_DEPENDS=	gpg-agent:security/gnupg
GPG_AGENT_RUN_DEPENDS=		gpg-agent:security/gnupg

STATIC_CONFIGURE_ON=		--enable-all-static PKG_CONFIG="${LOCALBASE}/bin/pkg-config --static"

# ===============================================================
.include <bsd.port.options.mk>

.if defined(WITH_DEBUG)
CONFIGURE_ARGS+=	--enable-maintainer-mode --enable-debug
.endif

APR_CONFIG=	${LOCALBASE}/bin/apr-1-config
APU_CONFIG=	${LOCALBASE}/bin/apu-1-config

CONFIGURE_ARGS+=--with-apr=${APR_CONFIG} --with-apr-util=${APU_CONFIG}

.if ${ARCH} == "amd64"
CFLAGS+=	-fpic -DPIC
.endif

OPTIONS_FILE_UNSET?=""
OPTIONS_FILE_SET?=""

.if ( ${PORT_OPTIONS:MFREEBSD_TEMPLATE} || !${OPTIONS_FILE_UNSET:MFREEBSD_TEMPLATE} ) && defined(ORGANIZATION)
CFLAGS+=	-DHAS_ORGANIZATION_NAME
.endif

.include <bsd.port.pre.mk>

pre-everything::
.if defined(SVN_BUILD_ADDONS)
.if ${PORT_OPTIONS:MSTATIC} || ${OPTIONS_FILE_SET:MSTATIC}
	@${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
	@${ECHO_MSG} "!!! addons (bindings, mod_dav_svn, etc). and static build are not compatible !!!"
	@${ECHO_MSG} "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
	@${FALSE}
.endif
.endif

pre-patch:
.if defined(SVN_BUILD_ADDONS)
	@${CP} ${FILESDIR}/build-outputs.mk.addons ${WRKSRC}/build-outputs.mk
.endif

post-patch:
.if ${PREFIX} != "/usr"
	@${REINPLACE_CMD} "s#/etc/subversion#${ETCDIR}#g" ${WRKSRC}/subversion/libsvn_subr/config_file.c
	@${REINPLACE_CMD} "s#/etc/subversion#${ETCDIR}#g" ${WRKSRC}/subversion/libsvn_subr/config_impl.h
.endif
	@${REINPLACE_CMD} "s#^swig_pydir =.*#swig_pydir = ${PYTHON_SITELIBDIR}/libsvn#" ${WRKSRC}/Makefile.in
	@${REINPLACE_CMD} "s#^swig_pydir_extra =.*#swig_pydir_extra = ${PYTHON_SITELIBDIR}/svn#" ${WRKSRC}/Makefile.in
.if ( ${PORT_OPTIONS:MFREEBSD_TEMPLATE} || !${OPTIONS_FILE_UNSET:MFREEBSD_TEMPLATE} ) && defined(ORGANIZATION)
	@${ECHO_CMD} "#define ORGANIZATION_NAME \"${ORGANIZATION}\"" > ${WRKSRC}/subversion/freebsd-organization.h
.endif
# shebangfix
	@${FIND} ${WRKSRC}/tools/ -type f -exec ${GREP} -l -e '#!/bin/b' -e '#!/bin/env' \
		-e '#!/usr/bin/p' {} + | ${XARGS} ${REINPLACE_CMD} -e \
		'1s|#\!/bin/b|#\!/usr/local/bin/b|' \
		-e '1s|#\!/bin/env|#\!/usr/bin/env|' \
		-e '1s|#\!/usr/bin/p|#\!/usr/local/bin/p|'
# remove all .bak files to clean the stage
	@${FIND} ${WRKSRC} -name '*.bak' -delete