summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Norris <briannorris@chromium.org>2016-02-08 13:54:52 -0800
committerMike Frysinger <vapier@gentoo.org>2016-02-10 21:20:52 -0500
commit75f35a8155a706cf370d89683c268d1b8246e425 (patch)
tree25b1f49ca4b61c27c5a8b10ca7aea98aed699397 /net-print
parentnet-print/cups{,-filters}: consolidate dependencies into cups-filters #573970 (diff)
downloadgentoo-75f35a8155a706cf370d89683c268d1b8246e425.tar.gz
gentoo-75f35a8155a706cf370d89683c268d1b8246e425.tar.bz2
gentoo-75f35a8155a706cf370d89683c268d1b8246e425.zip
net-print/cups-filters: add --disable-{foomatic,ghostscript} support
Support a new USE flag to allow disabling ghostscript-based filters in a CUPS installation. Requires patching in a new --disable-ghostscript option to the configure script. Patch supplied in upstream bug: https://bugs.linuxfoundation.org/show_bug.cgi?id=1342 Also support a proper configure flag for foomatic at the same time.
Diffstat (limited to 'net-print')
-rw-r--r--net-print/cups-filters/cups-filters-1.8.1-r1.ebuild22
-rw-r--r--net-print/cups-filters/files/cups-filters-1.8.1-allow-disable-ghostscript.patch187
2 files changed, 197 insertions, 12 deletions
diff --git a/net-print/cups-filters/cups-filters-1.8.1-r1.ebuild b/net-print/cups-filters/cups-filters-1.8.1-r1.ebuild
index a7a1a9a9bce7..d6f6ef2497e7 100644
--- a/net-print/cups-filters/cups-filters-1.8.1-r1.ebuild
+++ b/net-print/cups-filters/cups-filters-1.8.1-r1.ebuild
@@ -21,10 +21,10 @@ HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdf
LICENSE="MIT GPL-2"
SLOT="0"
-IUSE="dbus +foomatic jpeg perl png static-libs tiff zeroconf"
+IUSE="dbus +foomatic jpeg perl png +postscript static-libs tiff zeroconf"
RDEPEND="
- >=app-text/ghostscript-gpl-9.09[cups]
+ postscript? ( >=app-text/ghostscript-gpl-9.09[cups] )
app-text/poppler:=[cxx,jpeg?,lcms,tiff?,utils,xpdf-headers(+)]
>=app-text/qpdf-3.0.2:=
media-libs/fontconfig
@@ -48,6 +48,7 @@ DEPEND="${RDEPEND}
src_prepare() {
base_src_prepare
+ epatch "${FILESDIR}/${P}-allow-disable-ghostscript.patch"
sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die
eautoreconf
}
@@ -58,6 +59,8 @@ src_configure() {
$(use_enable dbus) \
$(use_enable zeroconf avahi) \
$(use_enable static-libs static) \
+ $(use_enable foomatic) \
+ $(use_enable postscript ghostscript) \
--with-fontdir="fonts/conf.avail" \
--with-pdftops=pdftops \
--enable-imagefilters \
@@ -90,9 +93,11 @@ src_install() {
popd > /dev/null
fi
- # 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
+ if use ghostscript; 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
prune_libtool_files --all
@@ -103,13 +108,6 @@ src_install() {
sed -i -e 's:cups\.service avahi-daemon\.service:cups.service:g' "${S}"/utils/cups-browsed.service || die
fi
- if ! use foomatic ; then
- # this needs an upstream solution / configure switch
- rm -v "${ED}/usr/bin/foomatic-rip" || die
- rm -v "${ED}/usr/libexec/cups/filter/foomatic-rip" || die
- rm -v "${ED}/usr/share/man/man1/foomatic-rip.1" || die
- fi
-
doinitd "${T}"/cups-browsed
systemd_dounit "${S}/utils/cups-browsed.service"
}
diff --git a/net-print/cups-filters/files/cups-filters-1.8.1-allow-disable-ghostscript.patch b/net-print/cups-filters/files/cups-filters-1.8.1-allow-disable-ghostscript.patch
new file mode 100644
index 000000000000..a9c63da3272b
--- /dev/null
+++ b/net-print/cups-filters/files/cups-filters-1.8.1-allow-disable-ghostscript.patch
@@ -0,0 +1,187 @@
+Allow disabling ghostscript and foomatic. Pulled from upstream bzr rev 7447:
+
+https://bugs.linuxfoundation.org/show_bug.cgi?id=1342
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -412,11 +412,14 @@ pdftopdf_LDADD = \
+ # Simple filter binaries
+ # ======================
+ pkgfilter_SCRIPTS = \
+- filter/gstopxl \
+ filter/imagetops \
+ filter/pstopdf \
+ filter/textonly \
+ filter/texttops
++if ENABLE_GHOSTSCRIPT
++pkgfilter_SCRIPTS += \
++ filter/gstopxl
++endif
+ if ENABLE_BRAILLE
+ nodist_pkgfilter_SCRIPTS = \
+ filter/braille/drivers/generic/brftoembosser \
+@@ -420,8 +423,6 @@ pdftopdf_LDADD = \
+ bannertopdf \
+ commandtoescpx \
+ commandtopclx \
+- foomatic-rip \
+- gstoraster \
+ pdftoijs \
+ sys5ippprinter \
+ pdftops \
+@@ -432,6 +433,14 @@ pkgfilter_PROGRAMS += \
+ texttopdf \
+ urftopdf \
+ rastertopdf
++if ENABLE_GHOSTSCRIPT
++pkgfilter_PROGRAMS += \
++ gstoraster
++endif
++if ENABLE_FOOMATIC
++pkgfilter_PROGRAMS += \
++ foomatic-rip
++endif
+ if ENABLE_IMAGEFILTERS
+ pkgfilter_PROGRAMS += \
+ imagetopdf \
+@@ -737,8 +746,11 @@ initrcdir = $(INITDDIR)
+ initrc_SCRIPTS = utils/cups-browsed
+ man_MANS = \
+ utils/cups-browsed.8 \
+- utils/cups-browsed.conf.5 \
++ utils/cups-browsed.conf.5
++if ENABLE_FOOMATIC
++man_MANS += \
+ filter/foomatic-rip/foomatic-rip.1
++endif
+ EXTRA_DIST += utils/cups-browsed.in \
+ $(man_MANS)
+ utils/org.cups.cupsd.Notifier.xml
+@@ -752,9 +764,12 @@ ppd_DATA = \
+ ppd/HP-Color_LaserJet_CM3530_MFP-PDF.ppd \
+ ppd/HP-PhotoSmart_Pro_B8300-hpijs-pdftoijs.ppd \
+ ppd/Ricoh-PDF_Printer-PDF.ppd \
+- ppd/pxlcolor.ppd \
+- ppd/pxlmono.ppd \
+ ppd/textonly.ppd
++if ENABLE_GHOSTSCRIPT
++ppd_DATA += \
++ ppd/pxlcolor.ppd \
++ ppd/pxlmono.ppd
++endif
+
+ EXTRA_DIST += $(ppd_DATA)
+
+@@ -782,7 +797,9 @@ distclean-local:
+ install-exec-hook:
+ $(INSTALL) -d -m 755 $(DESTDIR)$(bindir)
+ $(INSTALL) -d -m 755 $(DESTDIR)$(pkgfilterdir)
++if ENABLE_FOOMATIC
+ $(LN_S) -f $(pkgfilterdir)/foomatic-rip $(DESTDIR)$(bindir)
++endif
+ if ENABLE_BRAILLE
+ $(LN_S) -f imagetobrf $(DESTDIR)$(pkgfilterdir)/imagetoubrl
+ $(LN_S) -f textbrftoindexv3 $(DESTDIR)$(pkgfilterdir)/textbrftoindexv4
+@@ -806,7 +823,9 @@ if RCLINKS
+ fi
+ endif
+ $(RM) $(DESTDIR)$(pkgcharsetdir)/pdf.utf-8
++if ENABLE_FOOMATIC
+ $(RM) $(DESTDIR)$(bindir)/foomatic-rip
++endif
+ if ENABLE_BRAILLE
+ $(RM) $(DESTDIR)$(pkgfilterdir)/imagetoubrl
+ $(RM) $(DESTDIR)$(pkgfilterdir)/textbrftoindexv4
+--- a/configure.ac
++++ b/configure.ac
+@@ -431,6 +431,11 @@ AS_IF([test x"$long_long_found" = "xyes"], [
+ # ================
+ # Check for pdf2ps
+ # ================
++AC_ARG_ENABLE([ghostscript],
++ [AS_HELP_STRING([--disable-ghostscript], [Disable filters using Ghostscript.])],
++ [enable_ghostscript="$enableval"],
++ [enable_ghostscript=yes]
++)
+ AC_ARG_WITH([pdftops],
+ [AS_HELP_STRING([--with-pdftops=value], [Set which pdftops to use (gs,pdftops,pdftocairo,acroread,hybrid).])],
+ [with_pdftops="$withval"],
+@@ -471,25 +476,35 @@ AS_CASE([x$with_pdftops_maxres],
+ [AC_MSG_ERROR([Unknown value of with-pdftops-maxres provided: $with_pdftops])]
+ )
+
+-AS_IF([test "x$with_gs_path" != "xsystem"], [
+- CUPS_GHOSTSCRIPT="$with_gs_path"
+-], [
+- AC_PATH_PROG(CUPS_GHOSTSCRIPT, [gs], [AC_MSG_ERROR([Required gs binary is missing. Please install ghostscript-gpl package.])])
+-])
+-AS_IF([test "x$CUPS_GHOSTSCRIPT" != "x"], [
+- AC_DEFINE([HAVE_GHOSTSCRIPT], [], [Define that we provide ghostscript binary])
+- AS_IF([test x"$with_pdftops" = xgs], [AC_DEFINE_UNQUOTED([CUPS_PDFTOPS_RENDERER], [GS], [Define default renderer])])
+-
+- AC_MSG_CHECKING(whether gs supports the ps2write device)
+- AS_IF([`$CUPS_GHOSTSCRIPT -h 2>&1 | grep -q ps2write`], [
+- AC_MSG_RESULT([yes])
+- AC_DEFINE([HAVE_GHOSTSCRIPT_PS2WRITE], [], [gs supports ps2write])
++CUPS_GHOSTSCRIPT=""
++AS_IF([test "x$enable_ghostscript" != "xyes"], [
++ AS_IF([test "x$with_gs_path" != "xsystem"], [
++ AC_MSG_ERROR([Cannot supply both --disable-ghostscript and --gs-path=])
+ ], [
+- AC_MSG_RESULT([no])
++ with_gs_path=""
+ ])
+ ], [
+- CUPS_GHOSTSCRIPT="gs"
++ AS_IF([test "x$with_gs_path" != "xsystem"], [
++ CUPS_GHOSTSCRIPT="$with_gs_path"
++ ], [
++ AC_PATH_PROG(CUPS_GHOSTSCRIPT, [gs], [AC_MSG_ERROR([Required gs binary is missing. Please install ghostscript-gpl package.])])
++ ])
++ AS_IF([test "x$CUPS_GHOSTSCRIPT" != "x"], [
++ AC_DEFINE([HAVE_GHOSTSCRIPT], [], [Define that we provide ghostscript binary])
++ AS_IF([test x"$with_pdftops" = xgs], [AC_DEFINE_UNQUOTED([CUPS_PDFTOPS_RENDERER], [GS], [Define default renderer])])
++
++ AC_MSG_CHECKING(whether gs supports the ps2write device)
++ AS_IF([`$CUPS_GHOSTSCRIPT -h 2>&1 | grep -q ps2write`], [
++ AC_MSG_RESULT([yes])
++ AC_DEFINE([HAVE_GHOSTSCRIPT_PS2WRITE], [], [gs supports ps2write])
++ ], [
++ AC_MSG_RESULT([no])
++ ])
++ ], [
++ CUPS_GHOSTSCRIPT="gs"
++ ])
+ ])
++AM_CONDITIONAL(ENABLE_GHOSTSCRIPT, test "x$enable_ghostscript" = xyes)
+
+ AS_IF([test "x$with_pdftops_path" != "xsystem"], [
+ CUPS_PDFTOPS="$with_pdftops_path"
+@@ -550,6 +565,16 @@ AC_DEFINE_UNQUOTED([CUPS_POPPLER_PDFTOCAIRO], "$CUPS_PDFTOCAIRO", [pdftocairo bi
+ AC_DEFINE_UNQUOTED([CUPS_ACROREAD], "$CUPS_ACROREAD", [acroread binary to use.])
+ AC_DEFINE_UNQUOTED([CUPS_PDFTOPS_MAX_RESOLUTION], [$CUPS_PDFTOPS_MAXRES], [max resolution used for pdftops when converting images])
+
++# ==================
++# Check for foomatic
++# ==================
++AC_ARG_ENABLE([foomatic],
++ [AS_HELP_STRING([--disable-foomatic], [Disable Foomatic-based filters.])],
++ [enable_foomatic="$enableval"],
++ [enable_foomatic=yes]
++)
++AM_CONDITIONAL([ENABLE_FOOMATIC], [test "x$enable_foomatic" = "xyes"])
++
+ # =============
+ # Check for php
+ # =============
+@@ -658,8 +683,10 @@ Environment settings:
+ Build configuration:
+ cups-config: ${with_cups_config}
+ font directory: ${sysconfdir}/${FONTDIR}
++ foomatic: ${enable_foomatic}
+ init directory: ${INITDDIR}
+ cups dom socket: ${CUPS_DEFAULT_DOMAINSOCKET}
++ ghostscript: ${enable_ghostscript}
+ gs-path: ${with_gs_path}
+ imagefilters: ${enable_imagefilters}
+ jpeg: ${with_jpeg}