public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
@ 2024-07-02 14:03 Fabian Groffen
  0 siblings, 0 replies; 4+ messages in thread
From: Fabian Groffen @ 2024-07-02 14:03 UTC (permalink / raw
  To: gentoo-commits

commit:     dc64c2c846bf8301f6a4295fbd2777cf357ef88b
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  2 14:01:33 2024 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Jul  2 14:03:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc64c2c8

sys-apps/flashrom-1.3.0-r3: fix function definition mismatch for real

Previous patch was bonkers and caused by spi_master backport patch that
was adapted in a wrong way.

Fix for real now by (not) changing the signature.  1.4.0 should resolve
this entire mess for us.

Closes: https://bugs.gentoo.org/915617
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 .../flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch     | 11 -----------
 sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch       |  8 ++++++--
 .../{flashrom-1.3.0-r2.ebuild => flashrom-1.3.0-r3.ebuild}    |  6 +++++-
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/sys-apps/flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch b/sys-apps/flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch
deleted file mode 100644
index 22243937b960..000000000000
--- a/sys-apps/flashrom/files/flashrom-1.3.0-llvm-dummyflasher.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/dummyflasher.c
-+++ b/dummyflasher.c
-@@ -930,7 +930,7 @@
- 	.read		= default_spi_read,
- 	.write_256	= dummy_spi_write_256,
- 	.write_aai	= default_spi_write_aai,
--	.probe_opcode	= dummy_spi_probe_opcode,
-+	.probe_opcode	= &dummy_spi_probe_opcode,
- };
- 
- static const struct par_master par_master_dummyflasher = {

diff --git a/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch b/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch
index 72298f8cfca3..ae2641af4a0a 100644
--- a/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch
+++ b/sys-apps/flashrom/files/flashrom-1.3.0_spi-master.patch
@@ -1,6 +1,10 @@
 Backported upstream commit
 https://github.com/flashrom/flashrom/commit/e1f30bbce7a603d518ecec9d7e6885719f396719
 
+This commit didn't apply straight because const/non-const changes were
+made inbetween, so there are some additional changes to silence more
+picky compilers like https://bugs.gentoo.org/915617
+
 --- a/bitbang_spi.c
 +++ b/bitbang_spi.c
 @@ -148,7 +148,6 @@
@@ -77,7 +81,7 @@ https://github.com/flashrom/flashrom/commit/e1f30bbce7a603d518ecec9d7e6885719f39
  int spi_aai_write(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
  int spi_chip_write_256(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
  int spi_chip_read(struct flashctx *flash, uint8_t *buf, unsigned int start, int unsigned len);
-+bool spi_probe_opcode(const struct flashctx *flash, uint8_t opcode);
++bool spi_probe_opcode(struct flashctx *flash, uint8_t opcode);
  
  /* spi25.c */
  int probe_spi_rdid(struct flashctx *flash);
@@ -235,7 +239,7 @@ https://github.com/flashrom/flashrom/commit/e1f30bbce7a603d518ecec9d7e6885719f39
  }
  
 -bool default_spi_probe_opcode(struct flashctx *flash, uint8_t opcode)
-+bool spi_probe_opcode(const struct flashctx *flash, uint8_t opcode)
++bool spi_probe_opcode(struct flashctx *flash, uint8_t opcode)
  {
 -	return true;
 +	if (!flash->mst->spi.probe_opcode)

diff --git a/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild b/sys-apps/flashrom/flashrom-1.3.0-r3.ebuild
similarity index 96%
rename from sys-apps/flashrom/flashrom-1.3.0-r2.ebuild
rename to sys-apps/flashrom/flashrom-1.3.0-r3.ebuild
index 0607f1d76a6d..ce98d59584d8 100644
--- a/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild
+++ b/sys-apps/flashrom/flashrom-1.3.0-r3.ebuild
@@ -103,7 +103,6 @@ BDEPEND="test? ( dev-util/cmocka )"
 PATCHES=(
 	"${FILESDIR}"/${PN}-1.3.0_spi-master.patch
 	"${FILESDIR}"/${PN}-1.3.0-c99.patch
-	"${FILESDIR}"/${PN}-1.3.0-llvm-dummyflasher.patch
 	"${FILESDIR}"/${PN}-1.3.0-libflashrom.patch
 )
 
@@ -116,6 +115,11 @@ src_prepare() {
 		sed -i -e 's/-DCONFIG_LINUX_MTD=1/-UCONFIG_LINUX_MTD/' \
 			meson.build || die
 	fi
+
+	# enable warnings
+	sed -i \
+		-e 's:^warning_flags = \[:warning_flags = \[ '"'-Wall'"' \]\nno = \[:' \
+		meson.build || die
 }
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
@ 2024-03-13  4:46 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2024-03-13  4:46 UTC (permalink / raw
  To: gentoo-commits

commit:     40a676f1eaff2df0d3c2d95a7694f0696ed19b00
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 13 04:37:48 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Mar 13 04:37:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40a676f1

sys-apps/flashrom: fix modern C issue

Closes: https://bugs.gentoo.org/919266
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/flashrom/files/flashrom-1.3.0-c99.patch |  59 ++++++++++
 sys-apps/flashrom/flashrom-1.3.0-r2.ebuild       | 133 +++++++++++++++++++++++
 2 files changed, 192 insertions(+)

diff --git a/sys-apps/flashrom/files/flashrom-1.3.0-c99.patch b/sys-apps/flashrom/files/flashrom-1.3.0-c99.patch
new file mode 100644
index 000000000000..5fdb8ff87e61
--- /dev/null
+++ b/sys-apps/flashrom/files/flashrom-1.3.0-c99.patch
@@ -0,0 +1,59 @@
+https://bugs.gentoo.org/919266
+https://github.com/flashrom/flashrom/commit/e31d721469a37bd5784b86ffcd2318108a796616
+
+From e31d721469a37bd5784b86ffcd2318108a796616 Mon Sep 17 00:00:00 2001
+From: Nikolai Artemiev <nartemiev@google.com>
+Date: Mon, 28 Nov 2022 17:40:56 +1100
+Subject: [PATCH] tree/: Make probe_opcode() flashctx argument const
+
+Probing an opcode generally shouldn't involve mutating the flashctx
+state and currently no probe_opcode functions do that.
+
+Make the flashctx arg const so that call sites don't need to have a
+non-const pointer.
+
+BUG=b:253715389,b:253713774
+BRANCH=none
+TEST=ninja test
+
+Change-Id: I19e98be50d682de2d2715417f8b7b8c62b871617
+Signed-off-by: Nikolai Artemiev <nartemiev@google.com>
+Reviewed-on: https://review.coreboot.org/c/flashrom/+/70030
+Reviewed-by: Angel Pons <th3fanbus@gmail.com>
+Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
+Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
+---
+ dummyflasher.c       | 4 ++--
+ ichspi.c             | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/dummyflasher.c b/dummyflasher.c
+index 35cdfef0b..da4efc79f 100644
+--- a/dummyflasher.c
++++ b/dummyflasher.c
+@@ -122,10 +122,10 @@ static int dummy_spi_write_256(struct flashctx *flash, const uint8_t *buf, unsig
+ 				 emu_data->spi_write_256_chunksize);
+ }
+ 
+-static bool dummy_spi_probe_opcode(struct flashctx *flash, uint8_t opcode)
++static bool dummy_spi_probe_opcode(const struct flashctx *flash, uint8_t opcode)
+ {
+ 	size_t i;
+-	struct emu_data *emu_data = flash->mst->spi.data;
++	const struct emu_data *emu_data = flash->mst->spi.data;
+ 	for (i = 0; i < emu_data->spi_blacklist_size; i++) {
+ 		if (emu_data->spi_blacklist[i] == opcode)
+ 			return false;
+diff --git a/ichspi.c b/ichspi.c
+index 62d1799b6..4588502a6 100644
+--- a/ichspi.c
++++ b/ichspi.c
+@@ -1661,7 +1661,7 @@ static int ich_spi_send_multicommand(const struct flashctx *flash,
+ 	return ret;
+ }
+ 
+-static bool ich_spi_probe_opcode(struct flashctx *flash, uint8_t opcode)
++static bool ich_spi_probe_opcode(const struct flashctx *flash, uint8_t opcode)
+ {
+ 	return find_opcode(curopcodes, opcode) >= 0;
+ }

diff --git a/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild b/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild
new file mode 100644
index 000000000000..1249ff4ee1a1
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-1.3.0-r2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+MY_P="${PN}-v${PV}"
+SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="https://flashrom.org/Flashrom"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+# The defaults should match the upstream "default" flags in meson.build
+IUSE_PROGRAMMERS="
+	atahpt
+	atapromise
+	+atavia
+	+buspirate-spi
+	+ch341a-spi
+	+dediprog
+	+developerbox-spi
+	+digilent-spi
+	+dirtyjtag-spi
+	+drkaiser
+	+dummy
+	+ft2232-spi
+	+gfxnvidia
+	+internal
+	+it8212
+	jlink-spi
+	+linux-mtd
+	+linux-spi
+	mediatek-i2c-spi
+	mstarddc-spi
+	+nic3com
+	+nicintel
+	+nicintel-eeprom
+	+nicintel-spi
+	nicnatsemi
+	+nicrealtek
+	+ogp-spi
+	parade-lspcon
+	+pickit2-spi
+	+pony-spi
+	+raiden-debug-spi
+	+rayer-spi
+	realtek-mst-i2c-spi
+	+satamv
+	+satasii
+	+serprog
+	+stlinkv3-spi
+	+usbblaster-spi"
+IUSE="${IUSE_PROGRAMMERS} +internal-dmi test tools"
+
+RESTRICT="!test? ( test )"
+
+COMMON="atahpt? ( sys-apps/pciutils )
+	atapromise? ( sys-apps/pciutils )
+	atavia? ( sys-apps/pciutils )
+	ch341a-spi? ( virtual/libusb:1 )
+	dediprog? ( virtual/libusb:1 )
+	developerbox-spi? ( virtual/libusb:1 )
+	digilent-spi? ( virtual/libusb:1 )
+	dirtyjtag-spi? ( virtual/libusb:1 )
+	drkaiser? ( sys-apps/pciutils )
+	ft2232-spi? ( dev-embedded/libftdi:1= )
+	gfxnvidia? ( sys-apps/pciutils )
+	internal? ( sys-apps/pciutils )
+	it8212? ( sys-apps/pciutils )
+	jlink-spi? ( dev-embedded/libjaylink )
+	nic3com? ( sys-apps/pciutils )
+	nicintel? ( sys-apps/pciutils )
+	nicintel-eeprom? ( sys-apps/pciutils )
+	nicintel-spi? ( sys-apps/pciutils )
+	nicnatsemi? ( sys-apps/pciutils )
+	nicrealtek? ( sys-apps/pciutils )
+	ogp-spi? ( sys-apps/pciutils )
+	pickit2-spi? ( virtual/libusb:1 )
+	raiden-debug-spi? ( virtual/libusb:1 )
+	satamv? ( sys-apps/pciutils )
+	satasii? ( sys-apps/pciutils )
+	stlinkv3-spi? ( virtual/libusb:1 )
+	usbblaster-spi? ( dev-embedded/libftdi:1= )"
+RDEPEND="${COMMON}
+	!internal-dmi? ( sys-apps/dmidecode )"
+DEPEND="${COMMON}
+	sys-apps/diffutils
+	linux-mtd? ( sys-kernel/linux-headers )
+	linux-spi? ( sys-kernel/linux-headers )
+	mediatek-i2c-spi? ( sys-kernel/linux-headers )
+	mstarddc-spi? ( sys-kernel/linux-headers )
+	parade-lspcon? ( sys-kernel/linux-headers )
+	realtek-mst-i2c-spi? ( sys-kernel/linux-headers )"
+BDEPEND="test? ( dev-util/cmocka )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.3.0_spi-master.patch
+	"${FILESDIR}"/${PN}-1.3.0-c99.patch
+)
+
+DOCS=( README Documentation/ )
+
+src_configure() {
+	local programmers="$(printf '%s,' $(for flag in ${IUSE_PROGRAMMERS//+/}; do usev ${flag}; done))"
+	programmers="${programmers%,}"
+	programmers="${programmers//-/_}"
+	local emesonargs=(
+		-Dclassic_cli="enabled"
+		-Dprogrammer="${programmers}"
+		$(meson_feature test tests)
+		$(meson_feature tools ich_descriptors_tool)
+	)
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Upstream requires libflashrom.a to be present at build time because the classic CLI
+	# executable uses internal symbols from that library. Therefore, we let it be built
+	# but keep it out of the installed tree.
+	find "${ED}" -name '*.a' -delete || die
+
+	if use tools; then
+		dosbin "${BUILD_DIR}"/util/ich_descriptors_tool/ich_descriptors_tool
+	fi
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
@ 2021-01-27 17:29 Marek Szuba
  0 siblings, 0 replies; 4+ messages in thread
From: Marek Szuba @ 2021-01-27 17:29 UTC (permalink / raw
  To: gentoo-commits

commit:     3ed18f288b06f8e7bb64b34313c97b8a8b318c0c
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 27 17:12:06 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Wed Jan 27 17:12:06 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ed18f28

sys-apps/flashrom: remove old

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../flashrom-1.2_make-libflashrom-usable.patch     |  70 --------
 sys-apps/flashrom/flashrom-1.2-r1.ebuild           | 162 -------------------
 sys-apps/flashrom/flashrom-1.2-r2.ebuild           | 180 ---------------------
 3 files changed, 412 deletions(-)

diff --git a/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch b/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch
deleted file mode 100644
index ea15a423059..00000000000
--- a/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-1. Add an (extremely primitive) rule for generating a pkgconfig file
-   for libflashrom, as fwupd cannot find it without one. Note that this
-   rule depends on several variables to be passed to make, see ebuilds
-   using this patch for details;
-2. Tweak the way library dependencies are passed around a bit to make it
-   easier to inject them into said pkgconfig file;
-3. Move print.o from CLI_OBJS to LIB_OBJS - it contains the array
-   'boards_known' which is used in library code. Upstream have already
-   fixed this in Meson files but not in the Makefile.
-
-diff -urN a/flashrom.pc.in b/flashrom.pc.in
---- a/flashrom.pc.in	1970-01-01 01:00:00.000000000 +0100
-+++ b/flashrom.pc.in	2020-07-28 22:47:01.928679346 +0200
-@@ -0,0 +1,9 @@
-+prefix=@PREFIX@
-+libdir=${prefix}/@LIBDIR@
-+includedir=${prefix}/@INCLUDEDIR@
-+
-+Name: libflashrom
-+Description: library to interact with flashrom
-+Version: @VERSION@
-+Libs: -L${libdir} -lflashrom @LIBS@
-+Cflags: -I${includedir}
-diff -urN a/Makefile b/Makefile
---- a/Makefile	2019-12-31 18:25:41.000000000 +0100
-+++ b/Makefile	2020-07-28 23:18:41.019492448 +0200
-@@ -570,12 +570,12 @@
- ###############################################################################
- # Library code.
- 
--LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o
-+LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o print.o
- 
- ###############################################################################
- # Frontend related stuff.
- 
--CLI_OBJS = cli_classic.o cli_output.o cli_common.o print.o
-+CLI_OBJS = cli_classic.o cli_output.o cli_common.o
- 
- # versioninfo.inc stores metadata required to build a packaged flashrom. It is generated by the export rule and
- # imported below. If versioninfo.inc is not found and the variables are not defined by the user, the info will
-@@ -1130,11 +1130,16 @@
- 	@+$(MAKE) -C util/ich_descriptors_tool/ TARGET_OS=$(TARGET_OS) EXEC_SUFFIX=$(EXEC_SUFFIX)
- endif
- 
-+ALL_LIBS = $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS)
-+
-+flashrom.pc:
-+	sed -e "s#@PREFIX@#$(PREFIX)#" -e "s#@LIBDIR@#$(LIBDIR)#" -e "s#@INCLUDEDIR@#$(INCLUDEDIR)#" -e "s#@VERSION@#$(VERSION)#" -e "s#@LIBS@#$(ALL_LIBS)#" < $@.in > $@.tmp && mv $@.tmp $@
-+
- $(PROGRAM)$(EXEC_SUFFIX): $(OBJS)
--	$(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS)
-+	$(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(ALL_LIBS)
- 
--libflashrom.a: $(LIBFLASHROM_OBJS)
--	$(AR) rcs $@ $^
-+libflashrom.a: $(LIBFLASHROM_OBJS) flashrom.pc
-+	$(AR) rcs $@ $(LIBFLASHROM_OBJS)
- 	$(RANLIB) $@
- 
- # TAROPTIONS reduces information leakage from the packager's system.
-@@ -1149,7 +1154,7 @@
- # This includes all frontends and libflashrom.
- # We don't use EXEC_SUFFIX here because we want to clean everything.
- clean:
--	rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE)
-+	rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a flashrom.pc *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE)
- 	@+$(MAKE) -C util/ich_descriptors_tool/ clean
- 
- distclean: clean

diff --git a/sys-apps/flashrom/flashrom-1.2-r1.ebuild b/sys-apps/flashrom/flashrom-1.2-r1.ebuild
deleted file mode 100644
index e984e762420..00000000000
--- a/sys-apps/flashrom/flashrom-1.2-r1.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"
-	inherit git-r3
-else
-	MY_P="${PN}-v${PV}"
-	SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"
-	KEYWORDS="amd64 arm arm64 ppc ppc64 sparc x86"
-	S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
-HOMEPAGE="https://flashrom.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-# The defaults match the upstream Makefile.
-# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
-# by some other spi programmers.
-IUSE_PROGRAMMERS="
-	atahpt
-	+atapromise
-	+atavia
-	+buspirate-spi
-	+ch341a-spi
-	+dediprog
-	+developerbox-spi
-	+digilent-spi
-	+drkaiser
-	+dummy
-	+ft2232-spi
-	+gfxnvidia
-	+internal
-	+it8212
-	jlink-spi
-	+linux-mtd
-	+linux-spi
-	mstarddc-spi
-	+nic3com
-	+nicintel
-	+nicintel-eeprom
-	+nicintel-spi
-	nicnatsemi
-	+nicrealtek
-	+ogp-spi
-	+pickit2-spi
-	+pony-spi
-	+rayer-spi
-	+satamv
-	+satasii
-	+serprog
-	stlinkv3-spi
-	+usbblaster-spi
-"
-
-IUSE="${IUSE_PROGRAMMERS} +internal-dmi static tools +wiki"
-
-LIB_DEPEND="
-	atahpt? ( sys-apps/pciutils[static-libs(+)] )
-	atapromise? ( sys-apps/pciutils[static-libs(+)] )
-	atavia? ( sys-apps/pciutils[static-libs(+)] )
-	ch341a-spi? ( virtual/libusb:1[static-libs(+)] )
-	dediprog? ( virtual/libusb:1[static-libs(+)] )
-	developerbox-spi? ( virtual/libusb:1[static-libs(+)] )
-	digilent-spi? ( virtual/libusb:1[static-libs(+)] )
-	drkaiser? ( sys-apps/pciutils[static-libs(+)] )
-	ft2232-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
-	gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
-	internal? ( sys-apps/pciutils[static-libs(+)] )
-	it8212? ( sys-apps/pciutils[static-libs(+)] )
-	jlink-spi? ( dev-embedded/libjaylink[static-libs(+)] )
-	nic3com? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel-eeprom? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel-spi? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel? ( sys-apps/pciutils[static-libs(+)] )
-	nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
-	nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
-	ogp-spi? ( sys-apps/pciutils[static-libs(+)] )
-	pickit2-spi? ( virtual/libusb:0[static-libs(+)] )
-	rayer-spi? ( sys-apps/pciutils[static-libs(+)] )
-	satamv? ( sys-apps/pciutils[static-libs(+)] )
-	satasii? ( sys-apps/pciutils[static-libs(+)] )
-	stlinkv3-spi? ( virtual/libusb:1[static-libs(+)] )
-	usbblaster-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
-"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
-	static? ( ${LIB_DEPEND} )
-	sys-apps/diffutils"
-RDEPEND+=" !internal-dmi? ( sys-apps/dmidecode )"
-
-_flashrom_enable() {
-	local c="CONFIG_${2:-$(echo "$1" | tr '[:lower:]-' '[:upper:]_')}"
-	args+=( "${c}=$(usex $1 yes no)" )
-}
-flashrom_enable() {
-	local u
-	for u ; do _flashrom_enable "${u}" ; done
-}
-
-src_prepare() {
-	# To make libflashrom.a actually useful
-	append-flags -fPIC
-
-	default
-}
-
-src_compile() {
-	# Help keep things in sync.
-	local sprogs=$(echo $(
-		grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
-			LC_ALL=C sort -u | \
-			sed 's:^CONFIG_::' | \
-			tr '[:upper:]_' '[:lower:]-' | \
-			grep -v ni845x-spi))
-	local eprogs=$(echo ${IUSE_PROGRAMMERS} | sed -E 's/\B[-+]\b//g')
-	if [[ ${sprogs} != "${eprogs}" ]] ; then
-		eerror "The ebuild needs to be kept in sync."
-		eerror "IUSE set to: ${eprogs}"
-		eerror "flashrom.c : ${sprogs}"
-		die "sync IUSE to the list of source programmers"
-	fi
-
-	# Turn USE flags into CONFIG_xxx settings.
-	local args=()
-	flashrom_enable ${eprogs}
-	_flashrom_enable wiki PRINT_WIKI
-	_flashrom_enable static STATIC
-
-	# You have to specify at least one programmer, and if you specify more than
-	# one programmer you have to include either dummy or internal in the list.
-	# We pick dummy as the default because internal requires libpci.
-	if ! use internal && ! use dummy ; then
-		if [[ ${#args[@]} -ne 1 ]] ; then
-			ewarn "You have to specify at least one programmer, and if you specify"
-			ewarn "more than one programmer, you have to enable either dummy or"
-			ewarn "internal as well.  'dummy' will be the default now."
-			args+=( CONFIG_DUMMY=yes )
-		fi
-	fi
-
-	tc-export AR CC PKG_CONFIG RANLIB
-	emake WARNERROR=no "${args[@]}" all libflashrom.a
-}
-
-src_install() {
-	dosbin flashrom
-	doman flashrom.8
-	dodoc README Documentation/*.txt
-	dolib.a libflashrom.a
-	doheader libflashrom.h
-
-	if use tools; then
-		dosbin util/ich_descriptors_tool/ich_descriptors_tool
-	fi
-}

diff --git a/sys-apps/flashrom/flashrom-1.2-r2.ebuild b/sys-apps/flashrom/flashrom-1.2-r2.ebuild
deleted file mode 100644
index d8bff2a09ca..00000000000
--- a/sys-apps/flashrom/flashrom-1.2-r2.ebuild
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
-	EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"
-	inherit git-r3
-else
-	MY_P="${PN}-v${PV}"
-	SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"
-	KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86"
-	S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
-HOMEPAGE="https://flashrom.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-# The defaults match the upstream Makefile.
-# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
-# by some other spi programmers.
-IUSE_PROGRAMMERS="
-	atahpt
-	+atapromise
-	+atavia
-	+buspirate-spi
-	+ch341a-spi
-	+dediprog
-	+developerbox-spi
-	+digilent-spi
-	+drkaiser
-	+dummy
-	+ft2232-spi
-	+gfxnvidia
-	+internal
-	+it8212
-	jlink-spi
-	+linux-mtd
-	+linux-spi
-	mstarddc-spi
-	+nic3com
-	+nicintel
-	+nicintel-eeprom
-	+nicintel-spi
-	nicnatsemi
-	+nicrealtek
-	+ogp-spi
-	+pickit2-spi
-	+pony-spi
-	+rayer-spi
-	+satamv
-	+satasii
-	+serprog
-	stlinkv3-spi
-	+usbblaster-spi
-"
-
-IUSE="${IUSE_PROGRAMMERS} +internal-dmi static tools +wiki"
-
-LIB_DEPEND="
-	atahpt? ( sys-apps/pciutils[static-libs(+)] )
-	atapromise? ( sys-apps/pciutils[static-libs(+)] )
-	atavia? ( sys-apps/pciutils[static-libs(+)] )
-	ch341a-spi? ( virtual/libusb:1[static-libs(+)] )
-	dediprog? ( virtual/libusb:1[static-libs(+)] )
-	developerbox-spi? ( virtual/libusb:1[static-libs(+)] )
-	digilent-spi? ( virtual/libusb:1[static-libs(+)] )
-	drkaiser? ( sys-apps/pciutils[static-libs(+)] )
-	ft2232-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
-	gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
-	internal? ( sys-apps/pciutils[static-libs(+)] )
-	it8212? ( sys-apps/pciutils[static-libs(+)] )
-	jlink-spi? ( dev-embedded/libjaylink[static-libs(+)] )
-	nic3com? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel-eeprom? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel-spi? ( sys-apps/pciutils[static-libs(+)] )
-	nicintel? ( sys-apps/pciutils[static-libs(+)] )
-	nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
-	nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
-	ogp-spi? ( sys-apps/pciutils[static-libs(+)] )
-	pickit2-spi? ( virtual/libusb:0[static-libs(+)] )
-	rayer-spi? ( sys-apps/pciutils[static-libs(+)] )
-	satamv? ( sys-apps/pciutils[static-libs(+)] )
-	satasii? ( sys-apps/pciutils[static-libs(+)] )
-	stlinkv3-spi? ( virtual/libusb:1[static-libs(+)] )
-	usbblaster-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
-"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
-	static? ( ${LIB_DEPEND} )
-	sys-apps/diffutils"
-RDEPEND+=" !internal-dmi? ( sys-apps/dmidecode )"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.2_make-libflashrom-usable.patch
-)
-
-_flashrom_enable() {
-	local c="CONFIG_${2:-$(echo "$1" | tr '[:lower:]-' '[:upper:]_')}"
-	args+=( "${c}=$(usex $1 yes no)" )
-}
-flashrom_enable() {
-	local u
-	for u ; do _flashrom_enable "${u}" ; done
-}
-
-src_prepare() {
-	# To make libflashrom.a actually useful
-	append-flags -fPIC
-
-	default
-}
-
-src_compile() {
-	# Help keep things in sync.
-	local sprogs=$(echo $(
-		grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
-			LC_ALL=C sort -u | \
-			sed 's:^CONFIG_::' | \
-			tr '[:upper:]_' '[:lower:]-' | \
-			grep -v ni845x-spi))
-	local eprogs=$(echo ${IUSE_PROGRAMMERS} | sed -E 's/\B[-+]\b//g')
-	if [[ ${sprogs} != "${eprogs}" ]] ; then
-		eerror "The ebuild needs to be kept in sync."
-		eerror "IUSE set to: ${eprogs}"
-		eerror "flashrom.c : ${sprogs}"
-		die "sync IUSE to the list of source programmers"
-	fi
-
-	# Turn USE flags into CONFIG_xxx settings.
-	local args=()
-	flashrom_enable ${eprogs}
-	_flashrom_enable wiki PRINT_WIKI
-	_flashrom_enable static STATIC
-
-	# You have to specify at least one programmer, and if you specify more than
-	# one programmer you have to include either dummy or internal in the list.
-	# We pick dummy as the default because internal requires libpci.
-	if ! use internal && ! use dummy ; then
-		if [[ ${#args[@]} -ne 1 ]] ; then
-			ewarn "You have to specify at least one programmer, and if you specify"
-			ewarn "more than one programmer, you have to enable either dummy or"
-			ewarn "internal as well.  'dummy' will be the default now."
-			args+=( CONFIG_DUMMY=yes )
-		fi
-	fi
-
-	tc-export AR CC PKG_CONFIG RANLIB
-	# PREFIX, INCLUDEDIR and LIBDIR are injected into the libflashrom pkgconfig
-	# file, which is why we pass them here even though src_install() puts all
-	# files in correct locations without employing make.
-	# VERSION too goes into the pkgconfig file, and we override the upstream
-	# value to get rid of the prefix 'v'.
-	emake \
-		INCLUDEDIR="include" \
-		LIBDIR="$(get_libdir)" \
-		PREFIX="${EPREFIX}/usr" \
-		VERSION="${PV}" \
-		WARNERROR=no "${args[@]}" \
-		all libflashrom.a
-}
-
-src_install() {
-	dosbin flashrom
-	doman flashrom.8
-	dodoc README Documentation/*.txt
-	dolib.a libflashrom.a
-	doheader libflashrom.h
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins ${PN}.pc
-
-	if use tools; then
-		dosbin util/ich_descriptors_tool/ich_descriptors_tool
-	fi
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/
@ 2020-07-28 22:14 Marek Szuba
  0 siblings, 0 replies; 4+ messages in thread
From: Marek Szuba @ 2020-07-28 22:14 UTC (permalink / raw
  To: gentoo-commits

commit:     c6600e403c0fc58fc168d7f3b2d0b911ed836fca
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 28 22:09:18 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Jul 28 22:13:21 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6600e40

sys-apps/flashrom: try making libflashrom usable for sys-apps/fwupd

Create a pkgconfig file so that fwupd can actually find this library,
and fix a makefile bug which left the symbol 'boards_known' undefined
in the library.

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../flashrom-1.2_make-libflashrom-usable.patch     |  70 ++++++++
 sys-apps/flashrom/flashrom-1.2-r2.ebuild           | 180 +++++++++++++++++++++
 2 files changed, 250 insertions(+)

diff --git a/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch b/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch
new file mode 100644
index 00000000000..ea15a423059
--- /dev/null
+++ b/sys-apps/flashrom/files/flashrom-1.2_make-libflashrom-usable.patch
@@ -0,0 +1,70 @@
+1. Add an (extremely primitive) rule for generating a pkgconfig file
+   for libflashrom, as fwupd cannot find it without one. Note that this
+   rule depends on several variables to be passed to make, see ebuilds
+   using this patch for details;
+2. Tweak the way library dependencies are passed around a bit to make it
+   easier to inject them into said pkgconfig file;
+3. Move print.o from CLI_OBJS to LIB_OBJS - it contains the array
+   'boards_known' which is used in library code. Upstream have already
+   fixed this in Meson files but not in the Makefile.
+
+diff -urN a/flashrom.pc.in b/flashrom.pc.in
+--- a/flashrom.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ b/flashrom.pc.in	2020-07-28 22:47:01.928679346 +0200
+@@ -0,0 +1,9 @@
++prefix=@PREFIX@
++libdir=${prefix}/@LIBDIR@
++includedir=${prefix}/@INCLUDEDIR@
++
++Name: libflashrom
++Description: library to interact with flashrom
++Version: @VERSION@
++Libs: -L${libdir} -lflashrom @LIBS@
++Cflags: -I${includedir}
+diff -urN a/Makefile b/Makefile
+--- a/Makefile	2019-12-31 18:25:41.000000000 +0100
++++ b/Makefile	2020-07-28 23:18:41.019492448 +0200
+@@ -570,12 +570,12 @@
+ ###############################################################################
+ # Library code.
+ 
+-LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o
++LIB_OBJS = libflashrom.o layout.o flashrom.o udelay.o programmer.o helpers.o ich_descriptors.o fmap.o print.o
+ 
+ ###############################################################################
+ # Frontend related stuff.
+ 
+-CLI_OBJS = cli_classic.o cli_output.o cli_common.o print.o
++CLI_OBJS = cli_classic.o cli_output.o cli_common.o
+ 
+ # versioninfo.inc stores metadata required to build a packaged flashrom. It is generated by the export rule and
+ # imported below. If versioninfo.inc is not found and the variables are not defined by the user, the info will
+@@ -1130,11 +1130,16 @@
+ 	@+$(MAKE) -C util/ich_descriptors_tool/ TARGET_OS=$(TARGET_OS) EXEC_SUFFIX=$(EXEC_SUFFIX)
+ endif
+ 
++ALL_LIBS = $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS)
++
++flashrom.pc:
++	sed -e "s#@PREFIX@#$(PREFIX)#" -e "s#@LIBDIR@#$(LIBDIR)#" -e "s#@INCLUDEDIR@#$(INCLUDEDIR)#" -e "s#@VERSION@#$(VERSION)#" -e "s#@LIBS@#$(ALL_LIBS)#" < $@.in > $@.tmp && mv $@.tmp $@
++
+ $(PROGRAM)$(EXEC_SUFFIX): $(OBJS)
+-	$(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(LIBS) $(PCILIBS) $(FEATURE_LIBS) $(USBLIBS) $(USB1LIBS) $(JAYLINKLIBS) $(NI845X_LIBS)
++	$(CC) $(LDFLAGS) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(ALL_LIBS)
+ 
+-libflashrom.a: $(LIBFLASHROM_OBJS)
+-	$(AR) rcs $@ $^
++libflashrom.a: $(LIBFLASHROM_OBJS) flashrom.pc
++	$(AR) rcs $@ $(LIBFLASHROM_OBJS)
+ 	$(RANLIB) $@
+ 
+ # TAROPTIONS reduces information leakage from the packager's system.
+@@ -1149,7 +1154,7 @@
+ # This includes all frontends and libflashrom.
+ # We don't use EXEC_SUFFIX here because we want to clean everything.
+ clean:
+-	rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE)
++	rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a flashrom.pc *.o *.d $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE)
+ 	@+$(MAKE) -C util/ich_descriptors_tool/ clean
+ 
+ distclean: clean

diff --git a/sys-apps/flashrom/flashrom-1.2-r2.ebuild b/sys-apps/flashrom/flashrom-1.2-r2.ebuild
new file mode 100644
index 00000000000..ae710e47031
--- /dev/null
+++ b/sys-apps/flashrom/flashrom-1.2-r2.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+	EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"
+	inherit git-r3
+else
+	MY_P="${PN}-v${PV}"
+	SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+	S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
+HOMEPAGE="https://flashrom.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+# The defaults match the upstream Makefile.
+# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
+# by some other spi programmers.
+IUSE_PROGRAMMERS="
+	atahpt
+	+atapromise
+	+atavia
+	+buspirate-spi
+	+ch341a-spi
+	+dediprog
+	+developerbox-spi
+	+digilent-spi
+	+drkaiser
+	+dummy
+	+ft2232-spi
+	+gfxnvidia
+	+internal
+	+it8212
+	jlink-spi
+	+linux-mtd
+	+linux-spi
+	mstarddc-spi
+	+nic3com
+	+nicintel
+	+nicintel-eeprom
+	+nicintel-spi
+	nicnatsemi
+	+nicrealtek
+	+ogp-spi
+	+pickit2-spi
+	+pony-spi
+	+rayer-spi
+	+satamv
+	+satasii
+	+serprog
+	stlinkv3-spi
+	+usbblaster-spi
+"
+
+IUSE="${IUSE_PROGRAMMERS} +internal-dmi static tools +wiki"
+
+LIB_DEPEND="
+	atahpt? ( sys-apps/pciutils[static-libs(+)] )
+	atapromise? ( sys-apps/pciutils[static-libs(+)] )
+	atavia? ( sys-apps/pciutils[static-libs(+)] )
+	ch341a-spi? ( virtual/libusb:1[static-libs(+)] )
+	dediprog? ( virtual/libusb:1[static-libs(+)] )
+	developerbox-spi? ( virtual/libusb:1[static-libs(+)] )
+	digilent-spi? ( virtual/libusb:1[static-libs(+)] )
+	drkaiser? ( sys-apps/pciutils[static-libs(+)] )
+	ft2232-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
+	gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
+	internal? ( sys-apps/pciutils[static-libs(+)] )
+	it8212? ( sys-apps/pciutils[static-libs(+)] )
+	jlink-spi? ( dev-embedded/libjaylink[static-libs(+)] )
+	nic3com? ( sys-apps/pciutils[static-libs(+)] )
+	nicintel-eeprom? ( sys-apps/pciutils[static-libs(+)] )
+	nicintel-spi? ( sys-apps/pciutils[static-libs(+)] )
+	nicintel? ( sys-apps/pciutils[static-libs(+)] )
+	nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
+	nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
+	ogp-spi? ( sys-apps/pciutils[static-libs(+)] )
+	pickit2-spi? ( virtual/libusb:0[static-libs(+)] )
+	rayer-spi? ( sys-apps/pciutils[static-libs(+)] )
+	satamv? ( sys-apps/pciutils[static-libs(+)] )
+	satasii? ( sys-apps/pciutils[static-libs(+)] )
+	stlinkv3-spi? ( virtual/libusb:1[static-libs(+)] )
+	usbblaster-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
+"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+	static? ( ${LIB_DEPEND} )
+	sys-apps/diffutils"
+RDEPEND+=" !internal-dmi? ( sys-apps/dmidecode )"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.2_make-libflashrom-usable.patch
+)
+
+_flashrom_enable() {
+	local c="CONFIG_${2:-$(echo "$1" | tr '[:lower:]-' '[:upper:]_')}"
+	args+=( "${c}=$(usex $1 yes no)" )
+}
+flashrom_enable() {
+	local u
+	for u ; do _flashrom_enable "${u}" ; done
+}
+
+src_prepare() {
+	# To make libflashrom.a actually useful
+	append-flags -fPIC
+
+	default
+}
+
+src_compile() {
+	# Help keep things in sync.
+	local sprogs=$(echo $(
+		grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
+			LC_ALL=C sort -u | \
+			sed 's:^CONFIG_::' | \
+			tr '[:upper:]_' '[:lower:]-' | \
+			grep -v ni845x-spi))
+	local eprogs=$(echo ${IUSE_PROGRAMMERS} | sed -E 's/\B[-+]\b//g')
+	if [[ ${sprogs} != "${eprogs}" ]] ; then
+		eerror "The ebuild needs to be kept in sync."
+		eerror "IUSE set to: ${eprogs}"
+		eerror "flashrom.c : ${sprogs}"
+		die "sync IUSE to the list of source programmers"
+	fi
+
+	# Turn USE flags into CONFIG_xxx settings.
+	local args=()
+	flashrom_enable ${eprogs}
+	_flashrom_enable wiki PRINT_WIKI
+	_flashrom_enable static STATIC
+
+	# You have to specify at least one programmer, and if you specify more than
+	# one programmer you have to include either dummy or internal in the list.
+	# We pick dummy as the default because internal requires libpci.
+	if ! use internal && ! use dummy ; then
+		if [[ ${#args[@]} -ne 1 ]] ; then
+			ewarn "You have to specify at least one programmer, and if you specify"
+			ewarn "more than one programmer, you have to enable either dummy or"
+			ewarn "internal as well.  'dummy' will be the default now."
+			args+=( CONFIG_DUMMY=yes )
+		fi
+	fi
+
+	tc-export AR CC PKG_CONFIG RANLIB
+	# PREFIX, INCLUDEDIR and LIBDIR are injected into the libflashrom pkgconfig
+	# file, which is why we pass them here even though src_install() puts all
+	# files in correct locations without employing make.
+	# VERSION too goes into the pkgconfig file, and we override the upstream
+	# value to get rid of the prefix 'v'.
+	emake \
+		INCLUDEDIR="include" \
+		LIBDIR="$(get_libdir)" \
+		PREFIX="${EPREFIX}/usr" \
+		VERSION="${PV}" \
+		WARNERROR=no "${args[@]}" \
+		all libflashrom.a
+}
+
+src_install() {
+	dosbin flashrom
+	doman flashrom.8
+	dodoc README Documentation/*.txt
+	dolib.a libflashrom.a
+	doheader libflashrom.h
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins ${PN}.pc
+
+	if use tools; then
+		dosbin util/ich_descriptors_tool/ich_descriptors_tool
+	fi
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-07-02 14:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-02 14:03 [gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/, sys-apps/flashrom/files/ Fabian Groffen
  -- strict thread matches above, loose matches on Subject: below --
2024-03-13  4:46 Sam James
2021-01-27 17:29 Marek Szuba
2020-07-28 22:14 Marek Szuba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox