3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
TEXLIVE_MODULE_CONTENTS="
|
7 |
|
collection-langportuguese.r67125
|
8 |
|
babel-portuges.r59883
|
9 |
|
feupphdteses.r30962
|
10 |
|
hyphen-portuguese.r58609
|
11 |
|
numberpt.r51640
|
12 |
|
ordinalpt.r15878
|
13 |
|
ptlatexcommands.r67125
|
14 |
|
"
|
15 |
|
TEXLIVE_MODULE_DOC_CONTENTS="
|
16 |
|
babel-portuges.doc.r59883
|
17 |
|
beamer-tut-pt.doc.r15878
|
18 |
|
cursolatex.doc.r24139
|
19 |
|
feupphdteses.doc.r30962
|
20 |
|
latex-via-exemplos.doc.r68627
|
21 |
|
latexcheat-ptbr.doc.r15878
|
22 |
|
lshort-portuguese.doc.r55643
|
23 |
|
numberpt.doc.r51640
|
24 |
|
ordinalpt.doc.r15878
|
25 |
|
ptlatexcommands.doc.r67125
|
26 |
|
xypic-tut-pt.doc.r15878
|
27 |
|
"
|
28 |
|
TEXLIVE_MODULE_SRC_CONTENTS="
|
29 |
|
babel-portuges.source.r59883
|
30 |
|
numberpt.source.r51640
|
31 |
|
ordinalpt.source.r15878
|
32 |
|
ptlatexcommands.source.r67125
|
33 |
|
"
|
|
6 |
# Uncomment when introducing a patch which touches configure
|
|
7 |
RSYNC_NEEDS_AUTOCONF=1
|
|
8 |
PYTHON_COMPAT=( python3_{10..13} )
|
|
9 |
inherit flag-o-matic prefix python-single-r1 systemd
|
|
10 |
|
|
11 |
DESCRIPTION="File transfer program to keep remote files into sync"
|
|
12 |
HOMEPAGE="https://rsync.samba.org/"
|
|
13 |
if [[ ${PV} == *9999 ]] ; then
|
|
14 |
EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
|
|
15 |
inherit autotools git-r3
|
|
16 |
|
|
17 |
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
|
18 |
else
|
|
19 |
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/andrewtridgell.asc
|
|
20 |
inherit verify-sig
|
34 |
21 |
|
35 |
|
inherit texlive-module
|
|
22 |
if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
|
|
23 |
inherit autotools
|
|
24 |
fi
|
36 |
25 |
|
37 |
|
DESCRIPTION="TeXLive Portuguese"
|
|
26 |
if [[ ${PV} == *_pre* ]] ; then
|
|
27 |
SRC_DIR="src-previews"
|
|
28 |
else
|
|
29 |
SRC_DIR="src"
|
|
30 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
|
31 |
fi
|
38 |
32 |
|
39 |
|
LICENSE="GPL-1+ GPL-2+ LPPL-1.3 LPPL-1.3c MIT public-domain"
|
|
33 |
SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz
|
|
34 |
verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
|
|
35 |
S="${WORKDIR}"/${P/_/}
|
|
36 |
fi
|
|
37 |
|
|
38 |
LICENSE="GPL-3"
|
40 |
39 |
SLOT="0"
|
41 |
|
KEYWORDS="amd64 ~ppc ~ppc64 ~x86"
|
42 |
|
COMMON_DEPEND="
|
43 |
|
>=dev-texlive/texlive-basic-2024
|
44 |
|
"
|
|
40 |
IUSE="acl examples iconv lz4 rrsync ssl stunnel system-zlib xattr xxhash zstd"
|
|
41 |
REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
|
|
42 |
REQUIRED_USE+=" rrsync? ( ${PYTHON_REQUIRED_USE} )"
|
|
43 |
|
|
44 |
# attr is autodetected and then dropped by -Wl,--as-needed:
|
|
45 |
# https://github.com/RsyncProject/rsync/pull/753
|
45 |
46 |
RDEPEND="
|
46 |
|
${COMMON_DEPEND}
|
47 |
|
"
|
48 |
|
DEPEND="
|
49 |
|
${COMMON_DEPEND}
|
|
47 |
>=dev-libs/popt-1.19
|
|
48 |
acl? ( virtual/acl )
|
|
49 |
examples? (
|
|
50 |
${PYTHON_DEPS}
|
|
51 |
dev-lang/perl
|
|
52 |
)
|
|
53 |
lz4? ( app-arch/lz4:= )
|
|
54 |
rrsync? (
|
|
55 |
${PYTHON_DEPS}
|
|
56 |
$(python_gen_cond_dep '
|
|
57 |
dev-python/bracex[${PYTHON_USEDEP}]
|
|
58 |
')
|
|
59 |
)
|
|
60 |
ssl? ( dev-libs/openssl:= )
|
|
61 |
system-zlib? ( sys-libs/zlib )
|
|
62 |
xxhash? ( >=dev-libs/xxhash-0.8 )
|
|
63 |
zstd? ( >=app-arch/zstd-1.4:= )
|
|
64 |
iconv? ( virtual/libiconv )"
|
|
65 |
DEPEND="${RDEPEND}"
|
|
66 |
BDEPEND="
|
|
67 |
examples? ( ${PYTHON_DEPS} )
|
|
68 |
rrsync? ( ${PYTHON_DEPS} )
|
50 |
69 |
"
|
|
70 |
|
|
71 |
if [[ ${PV} == *9999 ]] ; then
|
|
72 |
BDEPEND+=" ${PYTHON_DEPS}
|
|
73 |
$(python_gen_cond_dep '
|
|
74 |
dev-python/commonmark[${PYTHON_USEDEP}]
|
|
75 |
')"
|
|
76 |
else
|
|
77 |
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-andrewtridgell )"
|
|
78 |
fi
|
|
79 |
|
|
80 |
PATCHES=(
|
|
81 |
"${FILESDIR}"/${PN}-3.4.1-c23.patch
|
|
82 |
)
|
|
83 |
|
|
84 |
pkg_setup() {
|
|
85 |
# - USE=examples needs Python itself at runtime, but nothing else
|
|
86 |
# - 9999 needs commonmark at build time
|
|
87 |
if [[ ${PV} == *9999 ]] || use examples || use rrsync; then
|
|
88 |
python-single-r1_pkg_setup
|
|
89 |
fi
|
|
90 |
}
|
|
91 |
|
|
92 |
src_prepare() {
|
|
93 |
default
|
|
94 |
|
|
95 |
sed -i -e 's/AC_HEADER_MAJOR_FIXED/AC_HEADER_MAJOR/' configure.ac
|
|
96 |
|
|
97 |
if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
|
|
98 |
eaclocal -I m4
|
|
99 |
eautoconf -o configure.sh
|
|
100 |
eautoheader && touch config.h.in
|
|
101 |
fi
|
|
102 |
|
|
103 |
if use examples || use rrsync; then
|
|
104 |
python_fix_shebang support/
|
|
105 |
fi
|
|
106 |
|
|
107 |
if [[ -f rrsync.1 ]]; then
|
|
108 |
# If the pre-build rrsync.1 man page exists, then link to it
|
|
109 |
# from support/rrsync.1 to avoid rsync's build system attempting
|
|
110 |
# re-creating the man page (bug #883049).
|
|
111 |
ln -s ../rrsync.1 support/rrsync.1 || die
|
|
112 |
fi
|
|
113 |
}
|
|
114 |
|
|
115 |
src_configure() {
|
|
116 |
local myeconfargs=(
|
|
117 |
--with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
|
|
118 |
--without-included-popt
|
|
119 |
--enable-ipv6
|
|
120 |
$(use_enable acl acl-support)
|
|
121 |
$(use_enable iconv)
|
|
122 |
$(use_enable lz4)
|
|
123 |
$(use_with rrsync)
|
|
124 |
$(use_enable ssl openssl)
|
|
125 |
$(use_with !system-zlib included-zlib)
|
|
126 |
$(use_enable xattr xattr-support)
|
|
127 |
$(use_enable xxhash)
|
|
128 |
$(use_enable zstd)
|
|
129 |
)
|
|
130 |
|
|
131 |
# https://github.com/WayneD/rsync/pull/428
|
|
132 |
if is-flagq -fsanitize=undefined ; then
|
|
133 |
sed -E -i \
|
|
134 |
-e 's:#define CAREFUL_ALIGNMENT (0|1):#define CAREFUL_ALIGNMENT 1:' \
|
|
135 |
byteorder.h || die
|
|
136 |
append-flags -DCAREFUL_ALIGNMENT
|
|
137 |
fi
|
|
138 |
|
|
139 |
econf "${myeconfargs[@]}"
|
|
140 |
}
|
|
141 |
|
|
142 |
src_install() {
|
|
143 |
emake DESTDIR="${D}" install
|
|
144 |
|
|
145 |
newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
|
|
146 |
newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
|
|
147 |
|
|
148 |
dodoc NEWS.md README.md TODO tech_report.tex
|
|
149 |
|
|
150 |
insinto /etc
|
|
151 |
newins "${FILESDIR}"/rsyncd.conf-3.2.7-r5 rsyncd.conf
|
|
152 |
|
|
153 |
insinto /etc/logrotate.d
|
|
154 |
newins "${FILESDIR}"/rsyncd.logrotate rsyncd
|
|
155 |
|
|
156 |
insinto /etc/xinetd.d
|
|
157 |
newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
|
|
158 |
|
|
159 |
# Install stunnel helpers
|
|
160 |
if use stunnel ; then
|
|
161 |
emake DESTDIR="${D}" install-ssl-daemon
|
|
162 |
fi
|
|
163 |
|
|
164 |
# Install the useful contrib scripts
|
|
165 |
if use examples ; then
|
|
166 |
# The 'rrsync' script is installed conditionally via the 'rrysnc'
|
|
167 |
# USE flag, and not via the 'examples' USE flag.
|
|
168 |
rm support/rrsync* || die
|
|
169 |
|
|
170 |
exeinto /usr/share/rsync
|
|
171 |
doexe support/*
|
|
172 |
|
|
173 |
rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
|
|
174 |
fi
|
|
175 |
|
|
176 |
eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
|
|
177 |
|
|
178 |
systemd_newunit packaging/systemd/rsync.service rsyncd.service
|
|
179 |
}
|
|
180 |
|
|
181 |
pkg_postinst() {
|
|
182 |
if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
|
|
183 |
"${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
|
|
184 |
ewarn "You have disabled chroot support in your rsyncd.conf. This"
|
|
185 |
ewarn "is a security risk which you should fix. Please check your"
|
|
186 |
ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
|
|
187 |
fi
|
|
188 |
|
|
189 |
if use stunnel ; then
|
|
190 |
einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
|
|
191 |
einfo
|
|
192 |
einfo "You maybe have to update the certificates configured in"
|
|
193 |
einfo "${EROOT}/etc/stunnel/rsync.conf"
|
|
194 |
fi
|
|
195 |
|
|
196 |
if use system-zlib ; then
|
|
197 |
ewarn "Using system-zlib is incompatible with <rsync-3.1.1 when"
|
|
198 |
ewarn "using the --compress option."
|
|
199 |
ewarn
|
|
200 |
ewarn "When syncing with >=rsync-3.1.1 built with bundled zlib,"
|
|
201 |
ewarn "and the --compress option, add --new-compress (-zz)."
|
|
202 |
ewarn
|
|
203 |
ewarn "For syncing the portage tree, add:"
|
|
204 |
ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
|
|
205 |
fi
|
|
206 |
}
|