2002-01-15 02:45:03 +01:00
# New ports collection makefile for: subversion
# Date created: 10 September 2001
# Whom: rooneg@electricjellyfish.net
#
# $FreeBSD$
PORTNAME = subversion
2004-01-09 17:59:36 +01:00
PORTVERSION = 0.35.1
2004-01-12 11:59:32 +01:00
PORTREVISION = 1
2002-01-15 02:45:03 +01:00
CATEGORIES = devel
2004-01-09 17:59:36 +01:00
MASTER_SITES = http://subversion.tigris.org/tarballs/
2002-01-15 02:45:03 +01:00
2003-09-02 19:22:59 +02:00
MAINTAINER = lev@freebsd.org
2003-02-21 12:23:04 +01:00
COMMENT = Version control system
2002-01-15 02:45:03 +01:00
2002-02-20 03:37:37 +01:00
LIB_DEPENDS = db4:${ PORTSDIR } /databases/db4 \
2003-10-01 12:53:56 +02:00
neon.24:${ PORTSDIR } /www/neon \
2003-06-27 23:03:40 +02:00
expat.4:${ PORTSDIR } /textproc/expat2
2002-02-20 03:37:37 +01:00
2003-04-04 20:06:54 +02:00
INSTALLS_SHLIB = yes
2002-02-20 03:37:37 +01:00
GNU_CONFIGURE = yes
2002-07-15 20:06:17 +02:00
USE_REINPLACE = yes
2003-05-02 20:23:08 +02:00
CONFIGURE_TARGET = --build= ${ MACHINE_ARCH } -portbld-freebsd${ OSREL }
2003-04-04 20:06:54 +02:00
CONFIGURE_ARGS = --with-ssl \
2002-03-14 17:52:42 +01:00
--with-neon= ${ LOCALBASE } \
2002-07-15 20:06:17 +02:00
--with-berkeley-db= ${ LOCALBASE } /include/db4:${ LOCALBASE } /lib \
2003-06-10 22:04:42 +02:00
--with-swig= no
2002-02-20 03:37:37 +01:00
2004-01-09 17:59:36 +01:00
MAN1 = svn.1 svnadmin.1 svnlook.1 svndumpfilter.1 svnversion.1
MAN5 = svnserve.conf.5
MAN8 = svnserve.8
2003-04-04 20:06:54 +02:00
MANCOMPRESSED = no
2003-01-24 08:08:11 +01:00
2003-10-24 16:35:55 +02:00
. i n c l u d e < b s d . p o r t . p r e . m k >
2003-10-09 14:50:16 +02:00
SVNREPOS ?= /home/svn/repos
2003-06-27 23:03:40 +02:00
. i f d e f i n e d ( W I T H _ M O D _ D A V _ S V N )
WITH_APACHE2_APR = yes
2004-01-12 11:59:32 +01:00
CONFIGURE_ARGS += --with-apxs= ${ APXS }
2003-05-23 03:31:48 +02:00
PLIST_SUB += MOD_DAV_SVN = ""
2003-10-09 14:50:16 +02:00
SVNGROUP ?= www
2003-05-23 03:31:48 +02:00
. e l s e
PLIST_SUB += MOD_DAV_SVN = "@comment "
PKGDEINSTALL = NONEXISTENT
2003-10-09 14:50:16 +02:00
SVNGROUP ?= svn
2003-05-23 03:31:48 +02:00
. e n d i f
2003-06-27 23:03:40 +02:00
. i f d e f i n e d ( W I T H _ A P A C H E 2 _ A P R )
2003-11-07 10:12:58 +01:00
APACHE2_PORT ?= www/apache2
BUILD_DEPENDS += ${ APXS } :${ PORTSDIR } /${ APACHE2_PORT }
RUN_DEPENDS += ${ APXS } :${ PORTSDIR } /${ APACHE2_PORT }
2003-06-27 23:03:40 +02:00
CONFIGURE_ARGS += --with-apr= ${ LOCALBASE } /lib/apache2/apr-config \
--with-apr-util= ${ LOCALBASE } /lib/apache2/apu-config
2004-01-12 11:59:32 +01:00
APU_CONFIG = ${ LOCALBASE } /lib/apache2/apu-config
APU_PORT = www/apache2
OPT_NAME = WITH_BERKELEYDB = db4
2003-06-27 23:03:40 +02:00
. e l s e
2004-01-12 11:59:32 +01:00
LIB_DEPENDS += apr-0.9:${ PORTSDIR } /devel/apr
2003-06-27 23:03:40 +02:00
CONFIGURE_ARGS += --with-apr= ${ LOCALBASE } \
--with-apr-util= ${ LOCALBASE }
2004-01-12 11:59:32 +01:00
APU_CONFIG = ${ LOCALBASE } /bin/apu-config
APU_PORT = devel/apr
OPT_NAME = APR_UTIL_WITH_BERKELEY_DB = yes
2003-06-27 23:03:40 +02:00
. e n d i f
2003-10-09 14:50:16 +02:00
. i f d e f i n e d ( W I T H _ S V N S E R V E _ W R A P P E R )
PLIST_SUB += SVNSERVE_WRAPPER = ""
EXTRA_PATCHES = ${ PATCHDIR } /build-outputs.mk.patch
. e l s e
PLIST_SUB += SVNSERVE_WRAPPER = "@comment "
. e n d i f
2003-05-23 03:31:48 +02:00
pre-extract :
2003-09-04 11:48:25 +02:00
. i f ! d e f i n e d ( B A T C H )
2004-01-09 17:59:36 +01:00
@dialog --title "-- URGENT UPGRADE INFORMATION --" --clear --yesno \
"If you upgrade Subversion from pre-0.34.0 version, please,\ndump you repository with old (pre-0.34.0) svnadmin command.\nAfter this, install new version, remove old repository, create new\none with svnadmin & load dump created from old repository\n\nVersions after 0.34.0 have different repository format and\nyour old repository could not be used with versions 0.34.0 and up.\n\nRead\nhttp://svn.collab.net/repos/svn/trunk/notes/repos_upgrade_HOWTO\nfor details.\n\nDid you dump you repository and ready to install new version?" \
18 70
2003-09-04 11:48:25 +02:00
. e n d i f
2003-06-27 23:03:40 +02:00
. i f d e f i n e d ( W I T H _ M O D _ D A V _ S V N )
@${ ECHO_MSG } "mod_dav_svn module for Apache 2.X enabled."
. e l s e
2003-06-19 18:40:42 +02:00
@${ ECHO_MSG } "You can enable the mod_dav_svn module for Apache 2.X"
2003-07-07 17:05:38 +02:00
@${ ECHO_MSG } "by defining WITH_MOD_DAV_SVN. This option implies"
2003-06-27 23:03:40 +02:00
@${ ECHO_MSG } "the WITH_APACHE2_APR option."
. e n d i f
2003-05-23 03:31:48 +02:00
@${ ECHO_MSG }
2003-06-27 23:03:40 +02:00
. i f d e f i n e d ( W I T H _ A P A C H E 2 _ A P R )
@${ ECHO_MSG } "Using APR from www/apache2. If you have the devel/apr"
@${ ECHO_MSG } "port/package installed, you may need to remove it."
2003-07-02 17:13:31 +02:00
. e l s e
2003-06-27 23:03:40 +02:00
@${ ECHO_MSG } "You can link subversion against the APR built with"
@${ ECHO_MSG } "the www/apache2 port, rather than the devel/apr port,"
@${ ECHO_MSG } "by defining WITH_APACHE2_APR."
2003-05-23 03:31:48 +02:00
. e n d i f
2003-06-27 23:03:40 +02:00
@${ ECHO_MSG }
2003-10-09 14:50:16 +02:00
. i f d e f i n e d ( W I T H _ S V N S E R V E _ W R A P P E R )
@${ ECHO_MSG } "svnserve wrapper enabled."
. e l s e
@${ ECHO_MSG } "You can install the svnserve wrapper (sets umask 002)"
@${ ECHO_MSG } "by defining WITH_SVNSERVE_WRAPPER."
. e n d i f
@${ ECHO_MSG }
. i f d e f i n e d ( W I T H _ R E P O S I T O R Y _ C R E A T I O N )
@${ ECHO_MSG } " I will create (or use, if it exists) \" ${ SVNGROUP } \" group. "
2003-11-19 12:40:34 +01:00
@${ ECHO_MSG } "Make sure that all committers are its members."
2003-10-09 14:50:16 +02:00
. e l s e
@${ ECHO_MSG } "You can have the repository created for you by defining"
@${ ECHO_MSG } "WITH_REPOSITORY_CREATION."
@${ ECHO_MSG } ""
@${ ECHO_MSG } "Make sure that:"
@${ ECHO_MSG } "* all your svn users are members of a common group"
@${ ECHO_MSG } "* this group is the group id of the db/ and locks/"
@${ ECHO_MSG } " subdirectories of your repository"
@${ ECHO_MSG } "* the above subdirectories are writable by this group"
@${ ECHO_MSG } ""
@${ ECHO_MSG } " Repository will be created at ' ${ SVNREPOS } ' with group ' ${ SVNGROUP } ' "
2003-11-19 12:40:34 +01:00
@${ ECHO_MSG } "You could change these settings by defining SVNREPOS and SVNGROUP"
2003-10-09 14:50:16 +02:00
@${ ECHO_MSG } ""
. e n d i f
@${ ECHO_MSG }
2003-05-23 03:31:48 +02:00
2002-02-20 03:37:37 +01:00
post-extract :
2002-07-15 20:06:17 +02:00
@${ REINPLACE_CMD } 's/ldb/ldb4/g' ${ WRKSRC } /configure
2002-03-14 17:52:42 +01:00
2002-02-20 03:37:37 +01:00
@${ RM } -r ${ WRKSRC } /neon
2002-03-14 17:52:42 +01:00
@${ RM } -r ${ WRKSRC } /apr
@${ RM } -r ${ WRKSRC } /apr-util
2002-02-20 03:37:37 +01:00
2003-11-13 11:00:38 +01:00
post-patch :
. i f ${PREFIX} != "/usr"
@${ REINPLACE_CMD } " s#/etc/subversion# ${ PREFIX } /etc/subversion#g " ${ WRKSRC } /subversion/libsvn_subr/config_file.c
@${ REINPLACE_CMD } " s#/etc/subversion# ${ PREFIX } /etc/subversion#g " ${ WRKSRC } /subversion/libsvn_subr/config_impl.h
. e n d i f
2004-01-12 11:59:32 +01:00
pre-configure :
@if [ ! -x ${ APU_CONFIG } ] ; then \
${ ECHO_MSG } "" ; \
${ ECHO_MSG } 'You select to use`' " ${ APU_PORT } ' for apr library. " ; \
${ ECHO_MSG } 'It seems that `' " ${ APU_PORT } ' is not properly installed. " ; \
${ ECHO_MSG } "" ; \
${ FALSE } ; \
fi
@if [ ` ${ APU_CONFIG } --db-version` != "4" ] ; then \
${ ECHO_MSG } "" ; \
${ ECHO_MSG } 'You should build `' " ${ APU_PORT } ' with db4 support to use subversion with it. " ; \
${ ECHO_MSG } 'Please, rebuild `' " ${ APU_PORT } ' with option " '`' " ${ OPT_NAME } ' and try again. " ; \
${ ECHO_MSG } "" ; \
${ FALSE } ; \
fi
2003-05-23 03:31:48 +02:00
. i f d e f i n e d ( W I T H _ M O D _ D A V _ S V N )
pre-install :
${ APXS } -e -S LIBEXECDIR = ${ PREFIX } /libexec/apache2 -a -n dav libexec/apache2/mod_dav.so
. e n d i f
2003-01-24 08:08:11 +01:00
post-install :
. i f ! d e f i n e d ( N O P O R T D O C S )
2003-07-26 00:47:56 +02:00
${ MKDIR } ${ DOCSDIR }
2003-10-01 12:53:56 +02:00
for f in BUGS CHANGES COMMITTERS COPYING HACKING INSTALL README; do \
2003-06-10 22:04:42 +02:00
${ INSTALL_DATA } ${ WRKSRC } /$$ f ${ DOCSDIR } ; \
done
2003-01-24 08:08:11 +01:00
. e n d i f
2003-10-09 14:50:16 +02:00
. i f d e f i n e d ( W I T H _ S V N S E R V E _ W R A P P E R )
@${ INSTALL_SCRIPT } ${ FILESDIR } /svnserve.wrapper ${ PREFIX } /bin/svnserve
. e n d i f
. i f d e f i n e d ( W I T H _ R E P O S I T O R Y _ C R E A T I O N ) & & ! e x i s t s ( $ { S V N R E P O S } )
. i f d e f i n e d ( W I T H _ S V N S E R V E _ W R A P P E R )
@if /usr/sbin/pw groupshow " ${ SVNGROUP } " >/dev/null 2>& 1; then \
echo " You already have a group \" ${ SVNGROUP } \", so I will use it. " ; \
else \
if /usr/sbin/pw groupadd ${ SVNGROUP } -h -; \
then \
echo " Added group \" ${ SVNGROUP } \". " ; \
else \
echo " Adding group \" ${ SVNGROUP } \" failed... " ; \
echo "Please create it, and try again." ; \
${ FALSE } ; \
fi ; \
fi
. e n d i f
@${ MKDIR } ${ SVNREPOS }
@${ PREFIX } /bin/svnadmin create ${ SVNREPOS }
2003-10-26 20:12:49 +01:00
@${ CHGRP } ${ SVNGROUP } ${ SVNREPOS } /db ${ SVNREPOS } /locks/db.lock ${ SVNREPOS } /dav
@${ CHMOD } g+w ${ SVNREPOS } /db ${ SVNREPOS } /locks/db.lock ${ SVNREPOS } /dav
2003-10-09 14:50:16 +02:00
@for i in ${ SVNREPOS } /db/* ; do \
i = $$ { i##*/} ; \
case $$ i in \
DB_CONFIG) ; ; \
*) ${ CHGRP } ${ SVNGROUP } ${ SVNREPOS } /db/$$ i; \
${ CHMOD } g+w ${ SVNREPOS } /db/$$ i; \
; ; \
esac ; \
done
. e n d i f
2002-01-15 02:45:03 +01:00
2003-05-23 03:31:48 +02:00
post-deinstall :
. i f d e f i n e d ( W I T H _ M O D _ D A V _ S V N )
@PKG_PREFIX= ${ PREFIX } ${ SH } ${ PKGDEINSTALL } ${ PKGNAME } POST-DEINSTALL
. e n d i f
2003-10-23 22:07:01 +02:00
. i n c l u d e < b s d . p o r t . p o s t . m k >