net-print/hplip: Revision bump to 3.18.6-r1. Switch to EAPI 7.

Add back libnotify USE flag now that dev-python/notify2 is in the
tree. Add a patch to fix compiler warnings.

Signed-off-by: Daniel Pielmeier <billie@gentoo.org>
Package-Manager: Portage-2.3.49, Repoman-2.3.11
This commit is contained in:
Daniel Pielmeier
2018-10-07 17:01:31 +02:00
parent 94fd5d6f0c
commit a2bd11fc3b
3 changed files with 276 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST hplip-3.18.3-patches-2.tar.xz 8936 BLAKE2B 58c17f3b6332de1edd88a3b458f1e9f856bc917842f62eee0808469ec14ff5793cd33c7a2ba30593eba624e58c12a6d426fa43a7d375d6ac50b985b895a85b4c SHA512 cbafcd9616f9c86318007b703325d3429ed0698c3fc9d3eddd422e4cd7a16c77320ac168bfa01b5874213e1740cfaae1867d31c3cf96cd57573ad33651a674ed
DIST hplip-3.18.6-patches-1.tar.xz 10612 BLAKE2B 5fade89a54b5db9002ada0b1819b41cc177d1a709bdb74a32359927ddac35445275bbbbbdec4bcf64a8413fba94bde66c5f4eda2a8a460cc13afc187c59aa388 SHA512 ee1e4848ec7060aed688fb46263f87838a3116666a4d0161dd414ef6b4231c23a11090679d2525c65c2686838436735427a40de0ad80bca4cd5c48eff5207c59
DIST hplip-3.18.6.tar.gz 22590564 BLAKE2B edbc80120bb332de9848e528095839b8f3496404ae83482a17bb8bd196c30dd8d3fca4d3dbb60c048bfbeeddd4384b4d7844798dad993eaf52d5418a9391b4ad SHA512 deb4e6e1c7e9ea7452967f7d7d7fd93e92eb59406b4978bb9b874db93bc5022b25aab012a7420ac3e991259032bc7cb749cd924c93a164544e29a4152962184f

View File

@@ -0,0 +1,274 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
PYTHON_REQ_USE="threads,xml"
# 14 and 15 spit out a lot of warnings about subdirs
WANT_AUTOMAKE="1.13"
inherit autotools linux-info python-single-r1 readme.gentoo-r1 udev
DESCRIPTION="HP Linux Imaging and Printing - Print, scan, fax drivers and service tools"
HOMEPAGE="https://developers.hp.com/hp-linux-imaging-and-printing"
SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz
https://dev.gentoo.org/~billie/distfiles/${PN}-3.18.6-patches-1.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc fax +hpcups hpijs kde libnotify libressl -libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X"
COMMON_DEPEND="
net-print/cups
virtual/jpeg:0
hpijs? ( net-print/cups-filters[foomatic] )
!minimal? (
${PYTHON_DEPS}
sys-apps/dbus
!libusb0? ( virtual/libusb:1 )
libusb0? ( virtual/libusb:0 )
scanner? ( media-gfx/sane-backends )
snmp? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
net-analyzer/net-snmp
)
)
"
BDEPEND="
virtual/pkgconfig
"
DEPEND="
${COMMON_DEPEND}
"
RDEPEND="
${COMMON_DEPEND}
app-text/ghostscript-gpl
!minimal? (
>=dev-python/dbus-python-1.2.0-r1[${PYTHON_USEDEP}]
$(python_gen_cond_dep 'dev-python/pygobject:2[${PYTHON_USEDEP}]' 'python2*')
$(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]' 'python3*')
fax? ( dev-python/reportlab[${PYTHON_USEDEP}] )
kernel_linux? ( virtual/udev )
qt5? (
>=dev-python/PyQt5-5.5.1[dbus,gui,widgets,${PYTHON_USEDEP}]
libnotify? ( dev-python/notify2[${PYTHON_USEDEP}] )
)
scanner? (
>=dev-python/reportlab-3.2[${PYTHON_USEDEP}]
>=dev-python/pillow-3.1.1[${PYTHON_USEDEP}]
X? (
|| (
kde? ( kde-misc/skanlite )
media-gfx/xsane
media-gfx/sane-frontends
)
)
)
)
policykit? ( sys-auth/polkit )
"
REQUIRED_USE="!minimal? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${WORKDIR}/patches"
)
CONFIG_CHECK="~PARPORT ~PPDEV"
ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)."
#DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="
For more information on setting up your printer please take
a look at the hplip section of the gentoo printing guide:
https://wiki.gentoo.org/wiki/Printing
Any user who wants to print must be in the lp group.
"
pkg_setup() {
use !minimal && python-single-r1_pkg_setup
use scanner && ! use X && ewarn "You need USE=X for the scanner GUI."
if ! use hpcups && ! use hpijs ; then
ewarn "Installing neither hpcups (USE=-hpcups) nor hpijs (USE=-hpijs) driver,"
ewarn "which is probably not what you want."
ewarn "You will almost certainly not be able to print."
fi
if use minimal ; then
ewarn "Installing driver portions only, make sure you know what you are doing."
ewarn "Depending on the USE flags set for hpcups or hpijs the appropiate driver"
ewarn "is installed. If both USE flags are set hpijs overrides hpcups."
else
use parport && linux-info_pkg_setup
fi
}
src_prepare() {
default
if use !minimal ; then
python_export EPYTHON PYTHON
python_fix_shebang .
fi
# Make desktop files follow the specification
# Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=443680
# Upstream bug: https://bugs.launchpad.net/hplip/+bug/1080324
sed -i -e '/^Categories=/s/Application;//' \
-e '/^Encoding=.*/d' hplip.desktop.in || die
sed -i -e '/^Categories=/s/Application;//' \
-e '/^Version=.*/d' \
-e '/^Comment=.*/d' hplip-systray.desktop.in || die
# Fix for Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=345725
# Upstream bug: https://bugs.launchpad.net/hplip/+bug/880847,
# https://bugs.launchpad.net/hplip/+bug/500086
local udevdir=$(get_udevdir)
sed -i -e "s|/etc/udev|${udevdir}|g" \
$(find . -type f -exec grep -l /etc/udev {} +) || die
# Force recognition of Gentoo distro by hp-check
sed -i \
-e "s:file('/etc/issue', 'r').read():'Gentoo':" \
installer/core_install.py || die
eautoreconf
}
src_configure() {
local myconf drv_build minimal_build
if use libusb0 ; then
myconf="${myconf} --enable-libusb01_build"
else
myconf="${myconf} --disable-libusb01_build"
fi
if use hpcups ; then
drv_build="$(use_enable hpcups hpcups-install)"
if use static-ppds ; then
drv_build="${drv_build} --enable-cups-ppd-install"
drv_build="${drv_build} --disable-cups-drv-install"
else
drv_build="${drv_build} --enable-cups-drv-install"
drv_build="${drv_build} --disable-cups-ppd-install"
fi
else
drv_build="--disable-hpcups-install"
drv_build="${drv_build} --disable-cups-drv-install"
drv_build="${drv_build} --disable-cups-ppd-install"
fi
if use hpijs ; then
drv_build="${drv_build} $(use_enable hpijs hpijs-install)"
if use static-ppds ; then
drv_build="${drv_build} --enable-foomatic-ppd-install"
drv_build="${drv_build} --disable-foomatic-drv-install"
else
drv_build="${drv_build} --enable-foomatic-drv-install"
drv_build="${drv_build} --disable-foomatic-ppd-install"
fi
else
drv_build="${drv_build} --disable-hpijs-install"
drv_build="${drv_build} --disable-foomatic-drv-install"
drv_build="${drv_build} --disable-foomatic-ppd-install"
fi
if use minimal ; then
if use hpijs ; then
minimal_build="--enable-hpijs-only-build"
else
minimal_build="--disable-hpijs-only-build"
fi
if use hpcups ; then
minimal_build="${minimal_build} --enable-hpcups-only-build"
else
minimal_build="${minimal_build} --disable-hpcups-only-build"
fi
fi
# disable class driver for now
econf \
--disable-cups11-build \
--disable-lite-build \
--disable-foomatic-rip-hplip-install \
--disable-shadow-build \
--disable-qt3 \
--disable-qt4 \
--disable-udev_sysfs_rules \
--with-cupsbackenddir=$(cups-config --serverbin)/backend \
--with-cupsfilterdir=$(cups-config --serverbin)/filter \
--with-docdir=/usr/share/doc/${PF} \
--with-htmldir=/usr/share/doc/${PF}/html \
${myconf} \
${drv_build} \
${minimal_build} \
--enable-hpps-install \
--disable-class-driver \
$(use_enable doc doc-build) \
$(use_enable fax fax-build) \
$(use_enable !minimal gui-build) \
$(use_enable !minimal dbus-build) \
$(use_enable parport pp-build) \
$(use_enable policykit) \
$(use_enable qt5) \
$(use_enable scanner scan-build) \
$(use_enable snmp network-build)
# hpijs ppds are created at configure time but are not installed (3.17.11)
# Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip
# The hpcups driver does not use foomatic-rip
#local i
#for i in ppd/hpijs/*.ppd.gz ; do
# rm -f ${i}.temp || die
# gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \
# gzip > ${i}.temp || die
# mv ${i}.temp ${i} || die
#done
}
src_install() {
# Disable parallel install
# Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=578018
emake -j1 DESTDIR="${D}" install
einstalldocs
# default
# Installed by sane-backends
# Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=201023
rm -f "${ED}"/etc/sane.d/dll.conf || die
# Remove desktop and autostart files
# Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=638770
use qt5 || {
rm -Rf "${ED}"/usr/share/applications "${ED}"/etc/xdg
}
rm -f "${ED}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die
rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/doc/${PF}/ || die
# Remove hal fdi files
rm -rf "${ED}"/usr/share/hal || die
find "${D}" -name '*.la' -delete || die
if use !minimal ; then
python_export EPYTHON PYTHON
python_optimize "${ED}"/usr/share/hplip
fi
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@@ -14,6 +14,7 @@
<flag name="hpcups">Build the hpcups driver for cups (by HP)</flag>
<flag name="hpijs">Build the IJS driver for cups (Foomatic)</flag>
<flag name="kde">Enables <pkg>kde-misc/skanlite</pkg> as scanner GUI with USE="scanner X"</flag>
<flag name="libnotify">Enables desktop notifications</flag>
<flag name="libusb0">Depend on <pkg>virtual/libusb</pkg> SLOT 0. Some old printers do not work with <pkg>virtual/libusb</pkg> SLOT 1.</flag>
<flag name="minimal">Only build internal hpijs/hpcups driver (not recommended at all, make sure you know what you are doing)</flag>
<flag name="parport">Enable parallel port for devices which require it</flag>