Skip to content

Commit

Permalink
net-print/hplip: Fix bug 638770.
Browse files Browse the repository at this point in the history
Thanks to MildKiss for the report.

Package-Manager: Portage-2.3.13, Repoman-2.3.3
  • Loading branch information
billie80 committed Nov 26, 2017
1 parent ae9b2e4 commit 92d5032
Show file tree
Hide file tree
Showing 2 changed files with 263 additions and 2 deletions.
4 changes: 2 additions & 2 deletions net-print/hplip/Manifest
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
DIST hplip-3.16.2-patches-1.tar.xz 8188 SHA256 8a9a78e0caac1731eae79f047a6054b411c237c579fdfd07bc59d435db708705 SHA512 7eb03c093cfb9ef6b9a980ef5520575310d080c45ed13191933a5facaf9bbb04b38c8381762a3ecd33884ad582830e61e17b6c17f2ed7cdf910670e05eed2510 WHIRLPOOL 6721eac17977485eae0cb22b1702d0479003e3639e806ecd3c5888f1b5015a0bf904512104ebefee4b3d5f64abebd0608090e00310ec8d5b48f210c7e4a95e4e
DIST hplip-3.16.3.tar.gz 22408596 SHA256 42d2302ee38bda41caa0f2f9524a91f531e3aa432814ffd45b3e5c396dc30194 SHA512 32d2f88c0983208e77592f73bf65cf2900cd6aa234d09220a18b45b5fc4bd0d10e9cfc8c7a10639e5a51ad5f5d0f8ed7bd477d08c86b89c633a1bbcd42682915 WHIRLPOOL b287ecf80c2e7b0da0de0afefcf60c507f9d42c74dbba1e745b4b43f253a5b0dedb6398a1f073e14d196296da47764e983138c0151e05bfc7a5dd416458662a0
DIST hplip-3.17.10.tar.gz 23878364 SHA256 0f7344174672f63a98a22f3c109005b6eb89fe738b7d466316bf2c53d083476c SHA512 0c1c78730d269ec41f95bbde887a490aebb4c9c3dcb9784052a1c3b537c12093cbc426e1f79266c63dd5e7adecdda0735b9bf964ddc1307b2c6603f3fa0462a8 WHIRLPOOL d8bffafedcfa40686d4e076c9a74af461a0ea29fec2a2effb5324fba8e60d9c85b13a0e8f73bfaf014ccb7bf4eb4e0d1eeffcdecc0efc4d1f31dd065d4093090
DIST hplip-3.17.9-patches-1.tar.xz 8484 SHA256 2ec368039a59e375bebf565bd679dd3bedb1e0c1ecfc103c5dcf9bb2701ba9d7 SHA512 125f9cfd1c3cad662ce33954b8ab9ab1898368b449c4ad78dfe99f29de8025183773272b9865cd22b976a30c502e38254ce0ac59d685299dff7f9314927d546a WHIRLPOOL 2354bd3b158733b668c731ea3fd605170dd4cc0df5ffebc327a69ad33995ec02166d34897567ed69d608a62e97b33bd12fc0066acb6c302677cc68830a2661cf
DIST hplip-3.17.10.tar.gz 23878364 BLAKE2B 0165bcb00159572a16277624db0de4b2ca8421d5cf42418bf406548dd68a7d5087142a74a0e6ca332936b006f6ffeaa4d9202c5332fd1f971923bb142adb244f SHA512 0c1c78730d269ec41f95bbde887a490aebb4c9c3dcb9784052a1c3b537c12093cbc426e1f79266c63dd5e7adecdda0735b9bf964ddc1307b2c6603f3fa0462a8
DIST hplip-3.17.9-patches-1.tar.xz 8484 BLAKE2B 3a1f25d0554af5597266eb5ed3ff9f594560671784a89ade6246e9287661bf17fa16c555391c3f685e59aec8c548560911065a9c4188906c2f00c755f503fe49 SHA512 125f9cfd1c3cad662ce33954b8ab9ab1898368b449c4ad78dfe99f29de8025183773272b9865cd22b976a30c502e38254ce0ac59d685299dff7f9314927d546a
261 changes: 261 additions & 0 deletions net-print/hplip/hplip-3.17.10-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,261 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
PYTHON_REQ_USE="threads,xml"

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="http://hplipopensource.com/hplip-web/index.html"
SRC_URI="mirror://sourceforge/hplip/${P}.tar.gz
https://dev.gentoo.org/~billie/distfiles/${PN}-3.17.9-patches-1.tar.xz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"

IUSE="doc fax +hpcups hpijs kde libressl -libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X"

# dependency on dev-python/notify-python dropped due to python 3 incompatibility
# possible replacement notify2 (https://pypi.python.org/pypi/notify2/0.3) not in tree

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
)
)
"
DEPEND="${COMMON_DEPEND}
virtual/pkgconfig
"
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}] )
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

# 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

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

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 \
$(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)
}

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
}

0 comments on commit 92d5032

Please sign in to comment.