You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-print/cups-filters/cups-filters-1.28.17-r2.ebuild

151 lines
3.6 KiB

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GENTOO_DEPEND_ON_PERL=no
inherit perl-module systemd flag-o-matic
DESCRIPTION="Cups filters"
HOMEPAGE="https://wiki.linuxfoundation.org/openprinting/cups-filters"
SRC_URI="
https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${P}.tar.xz
https://www.openprinting.org/download/${PN}/${P}.tar.xz
"
LICENSE="MIT GPL-2"
SLOT="0"
IUSE="dbus exif +foomatic jpeg ldap pclm pdf perl png +postscript test tiff zeroconf"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RESTRICT="!test? ( test )"
RDEPEND="
>=app-text/poppler-0.32[cxx,jpeg?,lcms,tiff?,utils]
>=app-text/qpdf-8.3.0:=
dev-libs/glib:2
media-libs/fontconfig
media-libs/freetype:2
media-libs/lcms:2
>=net-print/cups-1.7.3
!<=net-print/cups-1.5.9999
app-alternatives/bc
sys-libs/zlib
exif? ( media-libs/libexif )
dbus? ( sys-apps/dbus )
foomatic? ( !net-print/foomatic-filters )
jpeg? ( media-libs/libjpeg-turbo:= )
ldap? ( net-nds/openldap:= )
pdf? ( app-text/mupdf:= )
perl? ( dev-lang/perl:= )
png? ( media-libs/libpng:= )
postscript? ( >=app-text/ghostscript-gpl-9.09[cups] )
tiff? ( media-libs/tiff:= )
zeroconf? ( net-dns/avahi[dbus] )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gdbus-codegen
>=sys-devel/gettext-0.18.3
virtual/pkgconfig
test? ( media-fonts/dejavu )
"
PATCHES=(
"${FILESDIR}"/${PN}-1.28.17-c++17.patch
"${FILESDIR}"/${PN}-1.28.17-CVE-2023-24805.patch
)
src_configure() {
# Bug #898156
append-cxxflags -std=c++17
local myeconfargs=(
--enable-imagefilters
--localstatedir="${EPREFIX}"/var
--with-browseremoteprotocols=DNSSD,CUPS
--with-cups-rundir="${EPREFIX}"/run/cups
--with-fontdir="fonts/conf.avail"
--with-pdftops=pdftops
--with-rcdir=no
--without-php
$(use_enable exif)
$(use_enable dbus)
$(use_enable foomatic)
$(use_enable ldap)
$(use_enable pclm)
$(use_enable pdf mutool)
$(use_enable postscript ghostscript)
$(use_enable zeroconf avahi)
$(use_with jpeg)
$(use_with png)
$(use_with tiff)
)
econf "${myeconfargs[@]}"
if use perl; then
pushd "${S}"/scripting/perl > /dev/null || die
perl-module_src_configure
popd > /dev/null || die
fi
}
src_compile() {
default
if use perl; then
pushd "${S}"/scripting/perl > /dev/null || die
perl-module_src_compile
popd > /dev/null || die
fi
}
src_test() {
# Avoid perl-module_src_test
default
if use perl; then
pushd "${S}/scripting/perl" > /dev/null || die
perl-module_src_test
popd > /dev/null || die
fi
}
src_install() {
default
if use perl; then
pushd "${S}"/scripting/perl > /dev/null || die
perl-module_src_install
perl_delete_localpod
popd > /dev/null || die
fi
if use postscript; then
# workaround: some printer drivers still require pstoraster and pstopxl, bug #383831
dosym gstoraster /usr/libexec/cups/filter/pstoraster
dosym gstopxl /usr/libexec/cups/filter/pstopxl
fi
find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
cp "${FILESDIR}"/cups-browsed.init.d-r2 "${T}"/cups-browsed || die
if ! use zeroconf ; then
sed -i -e 's:need cupsd avahi-daemon:need cupsd:g' "${T}"/cups-browsed || die
sed -i -e 's:cups\.service avahi-daemon\.service:cups.service:g' "${S}"/utils/cups-browsed.service || die
fi
doinitd "${T}"/cups-browsed
systemd_dounit "${S}"/utils/cups-browsed.service
}
pkg_postinst() {
if ! use foomatic ; then
ewarn "You are disabling the foomatic code in cups-filters. Please do that ONLY if absolutely"
ewarn "necessary. net-print/foomatic-filters as a replacement is deprecated and unmaintained."
fi
}