| 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
|