1 |
|
# Copyright 1999-2023 Gentoo Authors
|
|
1 |
# Copyright 1999-2025 Gentoo Authors
|
2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
inherit autotools linux-info xdg multilib-minimal optfeature pam toolchain-funcs
|
|
6 |
inherit autotools eapi9-ver linux-info xdg multilib-minimal optfeature pam toolchain-funcs
|
7 |
7 |
|
8 |
8 |
MY_PV="${PV/_beta/b}"
|
9 |
9 |
MY_PV="${MY_PV/_rc/rc}"
|
... | ... | |
17 |
17 |
else
|
18 |
18 |
SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz"
|
19 |
19 |
if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then
|
20 |
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
|
20 |
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
21 |
21 |
fi
|
22 |
22 |
fi
|
23 |
23 |
|
... | ... | |
30 |
30 |
SLOT="0"
|
31 |
31 |
IUSE="acl dbus debug kerberos openssl pam selinux static-libs systemd test usb X xinetd zeroconf"
|
32 |
32 |
|
33 |
|
# As of 2.4.2, they don't actually seem to be interactive (they pass some flags
|
34 |
|
# by default to input for us), but they fail on some greyscale issue w/ poppler?
|
35 |
|
RESTRICT="!test? ( test ) test"
|
|
33 |
RESTRICT="!test? ( test )"
|
36 |
34 |
|
37 |
35 |
BDEPEND="
|
38 |
36 |
acct-group/lp
|
39 |
37 |
acct-group/lpadmin
|
40 |
38 |
virtual/pkgconfig
|
41 |
39 |
"
|
42 |
|
DEPEND="
|
|
40 |
COMMON_DEPEND="
|
43 |
41 |
app-text/libpaper:=
|
44 |
42 |
sys-libs/zlib
|
45 |
43 |
acl? (
|
46 |
44 |
kernel_linux? (
|
47 |
45 |
sys-apps/acl
|
48 |
|
sys-apps/attr
|
49 |
46 |
)
|
50 |
47 |
)
|
51 |
48 |
dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
|
... | ... | |
60 |
57 |
xinetd? ( sys-apps/xinetd )
|
61 |
58 |
zeroconf? ( >=net-dns/avahi-0.6.31-r2[dbus,${MULTILIB_USEDEP}] )
|
62 |
59 |
"
|
|
60 |
# if libcupsfilters is installed, more tests are run. They fail without at least one of the two formats enabled.
|
|
61 |
DEPEND="
|
|
62 |
${COMMON_DEPEND}
|
|
63 |
test? ( || ( net-print/libcupsfilters[jpeg] net-print/libcupsfilters[png] ) )
|
|
64 |
"
|
63 |
65 |
RDEPEND="
|
64 |
|
${DEPEND}
|
|
66 |
${COMMON_DEPEND}
|
65 |
67 |
acct-group/lp
|
66 |
68 |
acct-group/lpadmin
|
67 |
69 |
selinux? ( sec-policy/selinux-cups )
|
68 |
70 |
"
|
69 |
|
PDEPEND=">=net-print/cups-filters-1.0.43"
|
70 |
71 |
|
71 |
72 |
PATCHES=(
|
72 |
73 |
"${FILESDIR}/${PN}-2.4.1-nostrip.patch"
|
... | ... | |
163 |
164 |
$(use_enable kerberos gssapi)
|
164 |
165 |
$(multilib_native_use_enable pam)
|
165 |
166 |
$(use_enable static-libs static)
|
166 |
|
$(use_enable test unit-tests)
|
167 |
167 |
--with-tls=$(usex openssl openssl gnutls)
|
168 |
168 |
$(use_with systemd ondemand systemd)
|
169 |
169 |
$(multilib_native_use_enable usb libusb)
|
... | ... | |
212 |
212 |
}
|
213 |
213 |
|
214 |
214 |
multilib_src_test() {
|
215 |
|
# Avoid using /tmp
|
216 |
|
export CUPS_TESTBASE="${T}"/cups-tests
|
|
215 |
# We only build some of CUPS for multilib, so can't run the tests.
|
|
216 |
if multilib_is_native_abi; then
|
|
217 |
# Avoid using /tmp
|
|
218 |
export CUPS_TESTBASE="${T}"/cups-tests
|
217 |
219 |
|
218 |
|
mkdir "${T}"/cups-tests || die
|
|
220 |
mkdir "${T}"/cups-tests || die
|
219 |
221 |
|
220 |
|
# We only build some of CUPS for multilib, so can't run the tests.
|
221 |
|
multilib_is_native_abi && default
|
|
222 |
# avoid building *and running* test binaries in src_compile
|
|
223 |
# https://github.com/OpenPrinting/cups/commit/b1d42061e9286f50eefc851ed906d17c6e80c4b0
|
|
224 |
emake UNITTESTS=unittests
|
|
225 |
default
|
|
226 |
fi
|
222 |
227 |
}
|
223 |
228 |
|
224 |
229 |
multilib_src_install() {
|
... | ... | |
291 |
296 |
|
292 |
297 |
pkg_postinst() {
|
293 |
298 |
xdg_pkg_postinst
|
294 |
|
local v
|
295 |
299 |
|
296 |
|
for v in ${REPLACING_VERSIONS}; do
|
297 |
|
if ! ver_test ${v} -ge 2.2.2-r2 ; then
|
298 |
|
ewarn "The cupsd init script switched to using pidfiles. Shutting down"
|
299 |
|
ewarn "cupsd will fail the next time. To fix this, please run once as root"
|
300 |
|
ewarn " killall cupsd ; /etc/init.d/cupsd zap ; /etc/init.d/cupsd start"
|
301 |
|
break
|
302 |
|
fi
|
303 |
|
done
|
|
300 |
if ver_replacing -lt 2.2.2-r2 ; then
|
|
301 |
ewarn "The cupsd init script switched to using pidfiles. Shutting down"
|
|
302 |
ewarn "cupsd will fail the next time. To fix this, please run once as root"
|
|
303 |
ewarn " killall cupsd ; /etc/init.d/cupsd zap ; /etc/init.d/cupsd start"
|
|
304 |
fi
|
304 |
305 |
|
305 |
|
for v in ${REPLACING_VERSIONS}; do
|
|
306 |
if [[ -n ${REPLACING_VERSIONS} ]]; then
|
306 |
307 |
elog
|
307 |
308 |
elog "For information about installing a printer and general cups setup"
|
308 |
309 |
elog "take a look at: https://wiki.gentoo.org/wiki/Printing"
|
309 |
|
break
|
310 |
|
done
|
|
310 |
fi
|
311 |
311 |
|
312 |
312 |
optfeature_header "CUPS may need installing the following for certain features to work:"
|
313 |
313 |
use zeroconf && optfeature "local hostname resolution using a hostname.local naming scheme" sys-auth/nss-mdns
|