Files
ports/net/rsync/Makefile
Adam Weinberger f180a39684 rsync: Unbreak and fix depends
rsync now depends on stuff in LOCALBASE. Previously, clang only needed to know
about LOCALBASE if POPT or ICONV was enabled. When those options are off, xxhash
and zstd were not found by configure.

Also, a depend on libssl was missing, and there were some noop reinplaces.

With hat: portmgr
2020-07-28 23:51:00 +00:00

113 lines
3.5 KiB
Makefile

# Created by: David O'Brien (obrien@cs.ucdavis.edu)
# $FreeBSD$
PORTNAME= rsync
DISTVERSION= 3.2.2
CATEGORIES= net
MASTER_SITES= https://rsync.samba.org/ftp/rsync/ \
https://www.mirrorservice.org/sites/rsync.samba.org/ \
http://rsync.samba.org/ftp/rsync/ \
ftp://ftp.fu-berlin.de/pub/unix/network/rsync/ \
http://www.mirrorservice.org/sites/rsync.samba.org/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= rodrigo@FreeBSD.org
COMMENT= Network file distribution/synchronization utility
LICENSE= GPLv3
LIB_DEPENDS= libxxhash.so:devel/xxhash \
libzstd.so:archivers/zstd
USES= cpe shebangfix ssl
SHEBANG_FILES= support/rrsync
CPE_VENDOR= samba
CPE_PRODUCT= rsync
PATCH_STRIP= -p1
GNU_CONFIGURE= yes
USE_RC_SUBR= rsyncd
SUB_LIST= NAME=rsyncd
INSTALL_TARGET= install-strip
TEST_TARGET= check
CONFIGURE_ARGS= --disable-debug --enable-ipv6 \
--with-rsyncd-conf=${ETCDIR}/rsyncd.conf
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
PORTDOCS= NEWS.md README.md csprotocol.txt tech_report.tex
# define options
OPTIONS_DEFINE= DOCS POPT_PORT ZLIB_BASE SSH ICONV
OPTIONS_RADIO= PTS
OPTIONS_RADIO_PTS= TIMELIMIT RENAMED FLAGS ATIMES ACL
# options provided upstream
POPT_PORT_DESC= Use popt from devel/popt instead of bundled one
ZLIB_BASE_DESC= Use zlib from base instead of bundled one
SSH_DESC= Use SSH instead of RSH
# options provided by patch (mutually exclusive)
PTS_DESC= Functionality provided by third party patches
TIMELIMIT_DESC= Time limit patch
RENAMED_DESC= Add support for renamed file detection
FLAGS_DESC= File system flags support patch, adds --fileflags
ATIMES_DESC= Preserve access times, adds --atimes (BROKEN)
ACL_DESC= Add backward-compatibility for the --acls option
# define default options
OPTIONS_DEFAULT=FLAGS ICONV SSH
ZLIB_BASE_CONFIGURE_ON= --with-included-zlib=no
TIMELIMIT_EXTRA_PATCHES= ${WRKSRC}/patches/time-limit.diff
ATIMES_EXTRA_PATCHES= ${WRKSRC}/patches/atimes.diff
FLAGS_EXTRA_PATCHES= ${WRKSRC}/patches/fileflags.diff \
${FILESDIR}/extrapatch-main.c
RENAMED_EXTRA_PATCHES= ${WRKSRC}/patches/detect-renamed.diff
ACL_EXTRA_PATCHES= ${WRKSRC}/patches/acls.diff \
${FILESDIR}/extrapatch-acl
ICONV_USES= iconv:translit
ICONV_CONFIGURE_ENABLE= iconv iconv-open
POPT_PORT_LIB_DEPENDS= libpopt.so:devel/popt
POPT_PORT_CONFIGURE_OFF= --with-included-popt
SSH_CONFIGURE_ON= --with-rsh=ssh
SSH_CONFIGURE_OFF= --with-rsh=rsh
ACL_DISTFILES= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
ATIMES_DISTFILES= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
FLAGS_DISTFILES= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
ICONV_DISTFILES= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
RENAMED_DISTFILES= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
TIMELIMIT_DISTFILES= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
.if make(makesum)
DISTFILES+= ${PORTNAME}-patches-${DISTVERSION}${EXTRACT_SUFX}
.endif
.include <bsd.port.pre.mk>
.if empty(ICONV_LIB) || ! ${PORT_OPTIONS:MICONV}
CONFIGURE_ARGS+=ac_cv_search_libiconv_open=no
.endif
post-patch:
@${REINPLACE_CMD} -e 's:/etc/:${ETCDIR}/:g' \
${WRKSRC}/rsync.1 ${WRKSRC}/rsyncd.conf.5
@${REINPLACE_CMD} -e 's|/usr/bin/rsync|${PREFIX}/bin/rsync|g' ${WRKSRC}/support/rrsync
post-install:
@${MKDIR} ${STAGEDIR}${ETCDIR}
${INSTALL_DATA} ${FILESDIR}/rsyncd.conf.sample ${STAGEDIR}${ETCDIR}/
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
${INSTALL_SCRIPT} ${WRKSRC}/support/rrsync ${STAGEDIR}${PREFIX}/sbin
.include <bsd.port.post.mk>