From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1593467-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id C516A15838C
	for <garchives@archives.gentoo.org>; Mon, 22 Jan 2024 19:25:23 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 0FE4BE2A67;
	Mon, 22 Jan 2024 19:25:23 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id D870CE2A67
	for <gentoo-commits@lists.gentoo.org>; Mon, 22 Jan 2024 19:25:22 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id CA44D3432CA
	for <gentoo-commits@lists.gentoo.org>; Mon, 22 Jan 2024 19:25:21 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 59166AB4
	for <gentoo-commits@lists.gentoo.org>; Mon, 22 Jan 2024 19:25:15 +0000 (UTC)
From: "Daniel Pielmeier" <billie@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Daniel Pielmeier" <billie@gentoo.org>
Message-ID: <1705951443.3b749cf6bb57019509f117a4484d6b153187ce36.billie@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: net-print/hplip/
X-VCS-Repository: repo/gentoo
X-VCS-Files: net-print/hplip/hplip-3.23.12-r1.ebuild
X-VCS-Directories: net-print/hplip/
X-VCS-Committer: billie
X-VCS-Committer-Name: Daniel Pielmeier
X-VCS-Revision: 3b749cf6bb57019509f117a4484d6b153187ce36
X-VCS-Branch: master
Date: Mon, 22 Jan 2024 19:25:15 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 6821a993-c6b5-4303-952d-7cd6ef064154
X-Archives-Hash: 7cccd18d72e4e53690bf59c717612df7

commit:     3b749cf6bb57019509f117a4484d6b153187ce36
Author:     Nima Sadeghi <neeshy <AT> tfwno <DOT> gf>
AuthorDate: Sat Jul 22 17:29:02 2023 +0000
Commit:     Daniel Pielmeier <billie <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 19:24:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b749cf6

net-print/hplip: disable dbus dependency when minimal USE flag is active

Signed-off-by: Nima Sadeghi <neeshy <AT> tfwno.gf>
Closes: https://github.com/gentoo/gentoo/pull/34855
Signed-off-by: Daniel Pielmeier <billie <AT> gentoo.org>

 net-print/hplip/hplip-3.23.12-r1.ebuild | 291 ++++++++++++++++++++++++++++++++
 1 file changed, 291 insertions(+)

diff --git a/net-print/hplip/hplip-3.23.12-r1.ebuild b/net-print/hplip/hplip-3.23.12-r1.ebuild
new file mode 100644
index 000000000000..8981b1c837fb
--- /dev/null
+++ b/net-print/hplip/hplip-3.23.12-r1.ebuild
@@ -0,0 +1,291 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10,11} )
+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="https://developers.hp.com/hp-linux-imaging-and-printing"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz
+	https://dev.gentoo.org/~billie/distfiles/${PN}-3.23.12-patches-1.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+
+IUSE="doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X"
+
+COMMON_DEPEND="
+	net-print/cups
+	media-libs/libjpeg-turbo:0
+	hpijs? ( net-print/cups-filters[foomatic] )
+	!libusb0? ( virtual/libusb:1 )
+	libusb0? ( virtual/libusb:0 )
+	${PYTHON_DEPS}
+	!minimal? (
+		sys-apps/dbus
+		scanner? (
+			media-gfx/sane-backends
+		)
+		snmp? (
+			dev-libs/openssl:0=
+			net-analyzer/net-snmp:=[${PYTHON_SINGLE_USEDEP}]
+			net-dns/avahi[dbus,python,${PYTHON_SINGLE_USEDEP}]
+		)
+	)
+"
+BDEPEND="
+	virtual/pkgconfig
+"
+DEPEND="
+	${COMMON_DEPEND}
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	app-text/ghostscript-gpl
+	!minimal? (
+		$(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]' 'python3*')
+		kernel_linux? ( virtual/udev )
+		$(python_gen_cond_dep '
+			>=dev-python/dbus-python-1.2.0-r1[${PYTHON_USEDEP}]
+			dev-python/distro[${PYTHON_USEDEP}]
+			fax? ( dev-python/reportlab[${PYTHON_USEDEP}] )
+			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="${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
+"
+
+pkg_setup() {
+	python-single-r1_pkg_setup
+
+	use scanner && ! use X && ewarn "You need USE=X for the scanner GUI."
+
+	use parport && linux-info_pkg_setup
+
+	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."
+		ewarn "This also disables fax, network, scanner and gui support!"
+	fi
+
+	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
+}
+
+src_prepare() {
+	default
+
+	python_fix_shebang .
+
+	# 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 drv_build minimal_build
+
+	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
+		minimal_build="${minimal_build} --disable-dbus-build"
+		minimal_build="${minimal_build} --disable-fax-build"
+		minimal_build="${minimal_build} --disable-network-build"
+		minimal_build="${minimal_build} --disable-scan-build"
+		minimal_build="${minimal_build} --disable-gui-build"
+	else
+		minimal_build="${minimal_build} --enable-dbus-build"
+		if use fax ; then
+			minimal_build="${minimal_build} --enable-fax-build"
+		else
+			minimal_build="${minimal_build} --disable-fax-build"
+		fi
+		if use snmp ; then
+			minimal_build="${minimal_build} --enable-network-build"
+		else
+			minimal_build="${minimal_build} --disable-network-build"
+		fi
+		if use scanner ; then
+			minimal_build="${minimal_build} --enable-scan-build"
+		else
+			minimal_build="${minimal_build} --disable-scan-build"
+		fi
+		if use qt5 ; then
+			minimal_build="${minimal_build} --enable-qt5"
+			minimal_build="${minimal_build} --enable-gui-build"
+		else
+			minimal_build="${minimal_build} --disable-gui-build"
+			minimal_build="${minimal_build} --disable-qt5"
+		fi
+	fi
+
+	# disable class driver for now
+	econf \
+		--disable-class-driver \
+		--disable-cups11-build \
+		--disable-foomatic-rip-hplip-install \
+		--disable-imageProcessor-build \
+		--disable-lite-build \
+		--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 \
+		--enable-hpps-install \
+		${drv_build} \
+		${minimal_build} \
+		$(use_enable doc doc-build) \
+		$(use_enable libusb0 libusb01_build) \
+		$(use_enable parport pp-build) \
+		$(use_enable policykit)
+
+	# 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
+
+	python_optimize "${ED}"/usr/share/hplip
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	udev_reload
+	readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+	udev_reload
+}