From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1458852-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 91BA0158020
	for <garchives@archives.gentoo.org>; Mon, 21 Nov 2022 08:14:36 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 8B3FCE098F;
	Mon, 21 Nov 2022 08:14:35 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 72DC4E098F
	for <gentoo-commits@lists.gentoo.org>; Mon, 21 Nov 2022 08:14:35 +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 95F3E341176
	for <gentoo-commits@lists.gentoo.org>; Mon, 21 Nov 2022 08:14:34 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id D788A75E
	for <gentoo-commits@lists.gentoo.org>; Mon, 21 Nov 2022 08:14:32 +0000 (UTC)
From: "Sam James" <sam@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, "Sam James" <sam@gentoo.org>
Message-ID: <1669018082.e51265f34bd7639c66ea99dfeb82b682c6e81987.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/pciutils/
X-VCS-Repository: repo/gentoo
X-VCS-Files: sys-apps/pciutils/Manifest sys-apps/pciutils/pciutils-3.9.0.ebuild
X-VCS-Directories: sys-apps/pciutils/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: e51265f34bd7639c66ea99dfeb82b682c6e81987
X-VCS-Branch: master
Date: Mon, 21 Nov 2022 08:14:32 +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: 8d04453b-9794-40fb-8c05-b7d33dee2b61
X-Archives-Hash: b5eb019561b5818bb65d162b5f845a85

commit:     e51265f34bd7639c66ea99dfeb82b682c6e81987
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 21 07:35:07 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Nov 21 08:08:02 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e51265f3

sys-apps/pciutils: add 3.9.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/pciutils/Manifest              |   1 +
 sys-apps/pciutils/pciutils-3.9.0.ebuild | 166 ++++++++++++++++++++++++++++++++
 2 files changed, 167 insertions(+)

diff --git a/sys-apps/pciutils/Manifest b/sys-apps/pciutils/Manifest
index 79bcc5d9677d..a276781e291b 100644
--- a/sys-apps/pciutils/Manifest
+++ b/sys-apps/pciutils/Manifest
@@ -1 +1,2 @@
 DIST pciutils-3.8.0.tar.gz 575255 BLAKE2B 7339189f7115af31ccc19663d54e12ef966fbcd75c6b6b4c28c8ddcaafa3e233313ca14300ef70100edb00f5f2e1e767af9d6527a9d836edd07b598f0a40f4f4 SHA512 4b0de02a54c6ed19d5ea85a01d89a62386000bc0f816498872479aba26fb007a8c394cba3f95e77a7ffe52d36ad2726169b7b83bda5ab0647f00e49d8a34bf15
+DIST pciutils-3.9.0.tar.gz 908219 BLAKE2B 59d2a151b114691980b8f0a0bfdf8e48b9e1a0a9976df6dbc94962c251d8bfc61e7bd3b0f3c47a4295f52b5df67ad0e44ed6f2e6a87728e213e4ef0b8a55c028 SHA512 e17225c2adcc21c9ff4253998aec5805ae5e031888fa01841a1ff680796f7515f9dd6e5c2e0588edba854f66f1268ba8e28ae1a2f794574e715fec8a8c8def4f

diff --git a/sys-apps/pciutils/pciutils-3.9.0.ebuild b/sys-apps/pciutils/pciutils-3.9.0.ebuild
new file mode 100644
index 000000000000..43f9e6d798f4
--- /dev/null
+++ b/sys-apps/pciutils/pciutils-3.9.0.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs multilib-minimal flag-o-matic
+
+DESCRIPTION="Various utilities dealing with the PCI bus"
+HOMEPAGE="https://mj.ucw.cz/sw/pciutils/ https://git.kernel.org/?p=utils/pciutils/pciutils.git"
+SRC_URI="https://mj.ucw.cz/download/linux/pci/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="dns +kmod static-libs +udev zlib"
+REQUIRED_USE="static-libs? ( !udev )"
+
+# Have the sub-libs in RDEPEND with [static-libs] since, logically,
+# our libpci.a depends on libz.a/etc... at runtime.
+LIB_DEPEND="zlib? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+),${MULTILIB_USEDEP}] )"
+DEPEND="kmod? ( sys-apps/kmod )
+	udev? ( >=virtual/libudev-208[${MULTILIB_USEDEP}] )
+	static-libs? ( ${LIB_DEPEND} )
+	!static-libs? ( ${LIB_DEPEND//static-libs([+-]),} )"
+RDEPEND="${DEPEND}
+	sys-apps/hwdata"
+# See bug #847133 re binutils check
+BDEPEND="|| ( >=sys-devel/binutils-2.37:* sys-devel/lld sys-devel/native-cctools )
+	kmod? ( virtual/pkgconfig )"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/pci/config.h )
+
+switch_config() {
+	[[ $# -ne 2 ]] && return 1
+	local opt=$1 val=$2
+
+	sed "s@^\(${opt}=\).*\$@\1${val}@" -i Makefile || die
+	return 0
+}
+
+check_binutils_version() {
+	if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]] && ! tc-ld-is-gold && ! tc-ld-is-lld ; then
+		# Okay, hopefully it's Binutils' bfd.
+		# bug #847133
+
+		# Convert this:
+		# ```
+		# GNU ld (Gentoo 2.38 p4) 2.38
+		# Copyright (C) 2022 Free Software Foundation, Inc.
+		# This program is free software; you may redistribute it under the terms of
+		# the GNU General Public License version 3 or (at your option) a later version.
+		# This program has absolutely no warranty.
+		# ```
+		#
+		# into...
+		# ```
+		# 2.38
+		# ```
+		local ver=$($(tc-getLD) --version 2>&1 | head -n 1 | rev | cut -d' ' -f1 | rev)
+
+		if ! [[ ${ver} =~ [0-9].[0-9][0-9] ]] ; then
+			# Skip if unrecognised format so we don't pass something
+			# odd into ver_cut.
+			return
+		fi
+
+		ver_major=$(ver_cut 1 "${ver}")
+		ver_minor=$(ver_cut 2 "${ver}")
+
+		# We use 2.37 here, not 2.35, as https://github.com/pciutils/pciutils/issues/98 mentions
+		# because we've had other miscompiles with older Binutils (not just build failures!)
+		# and we don't want people running any unsupported versions of Binutils. An example
+		# of this is where glibc is completely broken with old binutils: bug #802036. It's
+		# just not sustainable to support.
+		if [[ ${ver_major} -eq 2 && ${ver_minor} -lt 37 ]] ; then
+			eerror "Old version of binutils activated! ${P} cannot be built with an old version."
+			eerror "Please follow these steps:"
+			eerror "1. Select a newer binutils (>= 2.37) using binutils-config"
+			eerror " (If no such version is installed, run emerge -v1 sys-devel/binutils)"
+			eerror "2. Run: . /etc/profile"
+			eerror "3. Try emerging again with: emerge -v1 ${CATEGORY}/${P}"
+			eerror "4. Complete your world upgrade if you were performing one."
+			eerror "5. Perform a depclean (emerge -acv)"
+			eerror "\tYou MUST depclean after every world upgrade in future!"
+			die "Old binutils found! Change to a newer ld using binutils-config (bug #847133)."
+		fi
+	fi
+}
+
+pkg_pretend() {
+	[[ ${MERGE_TYPE} != binary ]] && check_binutils_version
+}
+
+pkg_setup() {
+	[[ ${MERGE_TYPE} != binary ]] && check_binutils_version
+}
+
+src_prepare() {
+	default
+
+	if use static-libs ; then
+		cp -pPR "${S}" "${S}.static" || die
+		mv "${S}.static" "${S}/static" || die
+	fi
+
+	multilib_copy_sources
+}
+
+multilib_src_configure() {
+	# bug #640836, bug #852929
+	filter-lto
+
+	# bug #471102
+	append-lfs-flags
+}
+
+pemake() {
+	emake \
+		HOST="${CHOST}" \
+		CROSS_COMPILE="${CHOST}-" \
+		CC="$(tc-getCC)" \
+		AR="$(tc-getAR)" \
+		PKG_CONFIG="$(tc-getPKG_CONFIG)" \
+		RANLIB="$(tc-getRANLIB)" \
+		DNS=$(usex dns) \
+		IDSDIR='$(SHAREDIR)/hwdata' \
+		MANDIR='$(SHAREDIR)/man' \
+		PREFIX="${EPREFIX}/usr" \
+		SHARED="yes" \
+		STRIP="" \
+		ZLIB=$(usex zlib) \
+		PCI_COMPRESSED_IDS=0 \
+		PCI_IDS=pci.ids \
+		LIBDIR="\${PREFIX}/$(get_libdir)" \
+		LIBKMOD=$(multilib_native_usex kmod) \
+		HWDB=$(usex udev) \
+		"$@"
+}
+
+multilib_src_compile() {
+	pemake OPT="${CFLAGS}" all
+
+	if use static-libs ; then
+		pemake \
+			-C "${BUILD_DIR}"/static \
+			OPT="${CFLAGS}" \
+			SHARED="no" \
+			lib/libpci.a
+	fi
+}
+
+multilib_src_install() {
+	pemake DESTDIR="${D}" install install-lib
+
+	use static-libs && dolib.a "${BUILD_DIR}"/static/lib/libpci.a
+}
+
+multilib_src_install_all() {
+	dodoc ChangeLog README TODO
+
+	rm "${ED}"/usr/sbin/update-pciids "${ED}"/usr/share/man/man8/update-pciids.8* || die
+	rm -r "${ED}"/usr/share/hwdata || die
+
+	newinitd "${FILESDIR}"/init.d-pciparm pciparm
+	newconfd "${FILESDIR}"/conf.d-pciparm pciparm
+}