public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/pciutils/
Date: Mon,  1 May 2023 18:20:27 +0000 (UTC)	[thread overview]
Message-ID: <1682965196.1f6e00fbb2e1491e868b5b10472023fe8854a75b.sam@gentoo> (raw)

commit:     1f6e00fbb2e1491e868b5b10472023fe8854a75b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon May  1 18:18:48 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon May  1 18:19:56 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1f6e00fb

sys-apps/pciutils: add 3.10.0

Drops filtering LTO as https://github.com/pciutils/pciutils/commit/2d16e3a7875a9cb5abd60713bb2e39b536a7dec4
seems to fix it.

Bug: https://bugs.gentoo.org/640836
Bug: https://bugs.gentoo.org/852929
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/pciutils/Manifest               |   1 +
 sys-apps/pciutils/pciutils-3.10.0.ebuild | 174 +++++++++++++++++++++++++++++++
 2 files changed, 175 insertions(+)

diff --git a/sys-apps/pciutils/Manifest b/sys-apps/pciutils/Manifest
index a276781e291b..c0806c45dfaf 100644
--- a/sys-apps/pciutils/Manifest
+++ b/sys-apps/pciutils/Manifest
@@ -1,2 +1,3 @@
+DIST pciutils-3.10.0.tar.gz 931711 BLAKE2B 2e1255eb5508c9d1339f5bc772c2592a03cae4d8d097e8939748c9bb5d5d949be53d705d1b7d903f7ea88b2abeea91e39de16e39d2f46f0a1f62f8a9e32c6faa SHA512 3da1af4af8b0fa3cf4d3f06095524e25dc292182beec10aa2c16c5c6ba751fe469d0e7f54e43413b6f3f5bcdbd1fba3c66df1d8e39d2e1962ae36a2d9c06238e
 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.10.0.ebuild b/sys-apps/pciutils/pciutils-3.10.0.ebuild
new file mode 100644
index 000000000000..5e89fcabdfd5
--- /dev/null
+++ b/sys-apps/pciutils/pciutils-3.10.0.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2023 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
+	# Seems to be fixed in 3.10.0:
+	# https://github.com/pciutils/pciutils/commit/2d16e3a7875a9cb5abd60713bb2e39b536a7dec4
+	#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
+}


             reply	other threads:[~2023-05-01 18:20 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-01 18:20 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-07-17  4:59 [gentoo-commits] repo/gentoo:master commit in: sys-apps/pciutils/ Sam James
2024-07-17  4:56 Sam James
2024-07-17  4:56 Sam James
2024-07-17  4:44 Sam James
2024-07-17  4:44 Sam James
2024-07-17  4:44 Sam James
2024-07-17  4:36 Sam James
2024-06-12  5:03 Sam James
2024-06-02  5:35 Sam James
2024-05-30  3:24 Sam James
2024-05-30  3:24 Sam James
2024-05-30  3:24 Sam James
2024-05-30  3:24 Sam James
2024-05-30  3:24 Sam James
2024-05-30  3:24 Sam James
2024-05-30  3:24 Sam James
2024-04-08  6:28 Sam James
2024-02-29  4:34 Sam James
2023-06-11 20:44 Sam James
2023-06-09 19:08 Arthur Zamarin
2023-06-09 16:13 Arthur Zamarin
2023-06-09 14:17 Sam James
2023-06-09 13:51 Arthur Zamarin
2023-06-09 13:51 Arthur Zamarin
2023-06-09 13:50 Sam James
2023-06-09 13:48 Sam James
2023-01-13 12:17 Arthur Zamarin
2022-12-26  3:20 Sam James
2022-12-25 21:24 Sam James
2022-12-25 20:32 Arthur Zamarin
2022-12-25 20:15 Arthur Zamarin
2022-12-25 20:13 Sam James
2022-12-25 20:11 Sam James
2022-12-25 20:08 Arthur Zamarin
2022-11-21  8:14 Sam James
2022-09-23  2:09 Sam James
2022-07-28 13:20 Sam James
2022-07-17 15:24 Sam James
2022-07-12 17:20 Arthur Zamarin
2022-07-12  6:47 Agostino Sarubbo
2022-07-12  6:47 Agostino Sarubbo
2022-07-12  6:46 Agostino Sarubbo
2022-07-12  2:42 Sam James
2022-07-12  2:42 Sam James
2022-07-12  1:16 Sam James
2022-07-12  1:16 Sam James
2022-07-07  3:13 Sam James
2022-06-24  5:26 Sam James
2022-05-24 21:27 Sam James
2022-05-24 21:20 Sam James
2022-05-24 21:14 Sam James
2022-05-24 21:14 Sam James
2022-05-24 21:06 Sam James
2022-05-22 11:27 Jakov Smolić
2022-05-22  6:22 Agostino Sarubbo
2022-05-22  6:19 Agostino Sarubbo
2022-05-22  6:17 Agostino Sarubbo
2022-05-22  3:25 Sam James
2022-05-22  3:21 Sam James
2022-05-22  3:20 Sam James
2022-05-22  3:18 Sam James
2022-05-19 10:35 WANG Xuerui
2022-05-15 15:44 Mike Gilbert
2022-04-19 22:09 Sam James
2022-04-19 21:47 Sam James
2021-12-25  0:02 Mike Gilbert
2021-12-07 20:29 Sam James
2021-11-28 20:08 Mike Gilbert
2021-09-07 17:37 Mike Gilbert
2021-05-14 22:14 David Seifert
2021-03-31 15:25 Sergei Trofimovich
2021-03-31 14:08 Agostino Sarubbo
2021-03-31 14:05 Agostino Sarubbo
2021-03-31 13:53 Agostino Sarubbo
2021-03-31  2:24 Sam James
2021-03-31  2:24 Sam James
2021-03-31  2:23 Sam James
2021-03-31  2:23 Sam James
2020-08-01  2:20 Lars Wendler
2020-07-10 19:30 Sam James
2020-07-10 11:05 Sam James
2020-07-09  8:34 Agostino Sarubbo
2020-07-08 12:23 Michał Górny
2020-07-07  6:58 Sergei Trofimovich
2020-07-06 16:43 Sergei Trofimovich
2020-07-06  7:22 Sergei Trofimovich
2020-07-06  7:02 Sergei Trofimovich
2020-05-31  9:13 Lars Wendler
2020-05-31  9:13 Lars Wendler
2020-02-06 22:00 Mike Gilbert
2020-01-26 14:40 Lars Wendler
2020-01-23  8:45 Lars Wendler
2020-01-23  1:40 Thomas Deutschmann
2020-01-12 15:12 Lars Wendler
2019-10-27 15:31 Michał Górny
2018-09-03 14:31 Mikle Kolyada
2018-09-03 14:31 Mikle Kolyada
2018-08-30 20:07 Markus Meier
2018-08-21 10:06 Mart Raudsepp
2018-08-21  0:13 Sergei Trofimovich
2018-08-20  3:37 Mikle Kolyada
2018-08-18 22:24 Sergei Trofimovich
2018-08-18 22:18 Sergei Trofimovich
2018-08-16  0:39 Thomas Deutschmann
2018-08-14  0:41 Mikle Kolyada
2018-08-13 21:20 Sergei Trofimovich
2018-08-13 20:43 Sergei Trofimovich
2018-08-13  6:42 Lars Wendler
2018-08-13  6:42 Lars Wendler
2018-07-13 11:24 Lars Wendler
2018-07-01 13:54 Lars Wendler
2018-07-01 13:54 Lars Wendler
2017-11-22 16:02 Lars Wendler
2017-11-22 16:02 Lars Wendler
2017-07-05 21:46 Lars Wendler
2017-07-05 21:46 Lars Wendler
2017-02-26 13:04 Lars Wendler
2017-02-26 13:04 Lars Wendler
2017-02-15 23:59 Lars Wendler
2017-01-19 14:14 Mike Frysinger
2017-01-17 16:23 Lars Wendler
2016-10-04  8:16 Lars Wendler
2016-07-01  4:41 Jeroen Roovers
2016-06-20  4:22 Mike Frysinger
2016-06-01 12:25 Tobias Klausmann
2016-05-31 19:28 Markus Meier
2016-05-31  4:20 Jeroen Roovers
2016-05-27 12:46 Lars Wendler
2016-05-26 20:37 Lars Wendler
2016-05-22 16:02 Lars Wendler
2016-05-19 19:56 Lars Wendler
2016-05-19 19:56 Lars Wendler
2016-03-07 21:29 Mike Frysinger
2016-01-14  2:29 Mike Frysinger
2016-01-04  9:22 Lars Wendler
2015-09-15  7:12 Lars Wendler
2015-09-15  1:54 Mike Gilbert
2015-09-14 21:13 Lars Wendler
2015-09-14 21:13 Lars Wendler
2015-08-24  5:16 Jeroen Roovers
2015-08-21 16:41 Markus Meier
2015-08-18  4:32 Jeroen Roovers
2015-08-16 17:35 Mikle Kolyada
2015-08-12 12:56 Sergey Popov
2015-08-09 11:20 Mikle Kolyada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1682965196.1f6e00fbb2e1491e868b5b10472023fe8854a75b.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox