summaryrefslogtreecommitdiff
path: root/sys-apps/flashrom
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-22 07:31:18 +0100
commit908778078736bd36f7a60a2d576d415cb8e000fa (patch)
treec6a4796c48b608c14dc7e9674cdbd38f905e3c15 /sys-apps/flashrom
parent185fa19bbf68a4d4dca534d2b46729207a177f16 (diff)
gentoo resync : 22.05.2021
Diffstat (limited to 'sys-apps/flashrom')
-rw-r--r--sys-apps/flashrom/Manifest5
-rw-r--r--sys-apps/flashrom/files/flashrom-9999_meson-fixes.patch255
-rw-r--r--sys-apps/flashrom/flashrom-1.2-r3.ebuild2
-rw-r--r--sys-apps/flashrom/flashrom-9999.ebuild121
4 files changed, 319 insertions, 64 deletions
diff --git a/sys-apps/flashrom/Manifest b/sys-apps/flashrom/Manifest
index c687169760ab..b3fa7a6ab9d2 100644
--- a/sys-apps/flashrom/Manifest
+++ b/sys-apps/flashrom/Manifest
@@ -1,6 +1,7 @@
AUX flashrom-1.2_meson-fixes.patch 7977 BLAKE2B 5ac9e09c6fbcf08f36da1fc874511f7023338b0bffe775c61be9f7c253d6d8343833ec64ff86dc3b4733e90e67435e3cc0d52e6ae11c8d368fe2f21b6a85bc59 SHA512 a0e30c2a87775342302fabfd594c91015b6ea9fba71a7d1b294c399a8336167f85b07fdcc2ff80174cc43362ef5ca28965571ca52e1a76922ef59dcb15991664
AUX flashrom-1.2_meson-install-manpage.patch 1208 BLAKE2B a4290c046d82a7c8b8dbfba0d58abed2384506d761272929ca7972c68a92a314de2ad17af5bd49cb86af5fea119d36fb126c45febdd5ac99210949158d33fc75 SHA512 1345bc880317e37d028bc3d40c98e5b5b4b17c7cde18d3b17762c9792cf0e4ac19613702ae1d367937f86dd3dbb02732851774d91ef1372e5bbb8f998346526d
+AUX flashrom-9999_meson-fixes.patch 6672 BLAKE2B 299d89375783134cd1465db0b49c2b024c12e18c5c8551902989dbbedd4e17abf51074e387c569505531346b36605d3877106b2f23906b3c4b76b5f874d5104b SHA512 d235f343d28dc2ef7541c6f3f996eb21f51260bfd9f87376f22631035524fb92dfe63c711692092dc9749248db5756048976ba168d7f9814f5381f9234d8c7ec
DIST flashrom-v1.2.tar.bz2 366995 BLAKE2B 091e01a91e12b486154ace334a5e74bccbb5f5311ad76e37f43a28167080757873d8c78b8f549d2e77eb984922c830895ba955b23eb6ee4fc24f1ffed259954b SHA512 8e01395a54d0d1344bc55e7e4975f43bb8e59ebe83fb5f2766d14f76756d718b487254ce9a19ef4093aed04fb9d40fff5fe8f709b18c512f6e6fad894f83d7b8
-EBUILD flashrom-1.2-r3.ebuild 4333 BLAKE2B 7aff14f2c2dfa58af2ab24d59908e3194adc05887e9e3faf0a617914e067409f1426c8cf1825ba1399e104fe82bcda63746498727e6351dc44b01dc0eeef8dad SHA512 39af8a0ccf443284c26766c8034b2cdf51c0eda686fef506255e5c4859e7638f0a872762e932a42c7f5134ef4dde96d2b66c94f6a6d2c9b3d2fde9c9be7e8abc
-EBUILD flashrom-9999.ebuild 4522 BLAKE2B 4f56084b6fa495cdad7df4ebe4991df07f4210d3dff115f2a42abc994ae1fab159add3e4dabad6d98d916acebb4c74ed77c04627dc1b0d7bf36644a4e120101b SHA512 1d700fbea79892e5cde4197c5e22780f9180db56c283c320ad4ca359f225231c40ed4882b394a78d02f3c4489f195c3dd3ac79e19f78ff9bde3c3f2c208f7211
+EBUILD flashrom-1.2-r3.ebuild 4341 BLAKE2B 8036e77820ba03662c09fb74fbf7471379fc5a9afba2d45e3ce2858169820cd555448bee08dcd474f0a12206758c451b72a602ad879af4ac64f81c7415a5803b SHA512 f2e7472a4aaf9dead08d7cb71b6811c3d58486b55e6ef6a453f7224c6226cf9848593b5291b1b62b1700885c4fe0563cfcc1eb115dc0dcc8d0d7f944d8931504
+EBUILD flashrom-9999.ebuild 4710 BLAKE2B da42297fbf9d8f61f8180208faf0f713cd45a56331284d2497997de184f3ebb94aa7ded0354a978e30a45863126dd482c6ca685ceb9f4c7f81dfbae0b833ffb0 SHA512 6a530c9791ef111feb44dfaef6dd75719ec7a1eef7d668540e69313e01503fabcb77c324249639c0c71b25d7865e68f834f72d16912fb91ad7d1c143c908663b
MISC metadata.xml 5037 BLAKE2B 3027f42fb0ab5965684cb79857991888772126fbf48e2f9c314a0e01c831cf38474a20ce846964631ea95dc459629396c3796fc89d858b35f239f2a3fb343c1b SHA512 8602f9ad7419bae5f10620400f9451d16c43d12223173873ab53191c93064bf0bdb72c78ee5cde8dc9fa091ce1c6c80575cf586141080c13c971370fa0ac85f8
diff --git a/sys-apps/flashrom/files/flashrom-9999_meson-fixes.patch b/sys-apps/flashrom/files/flashrom-9999_meson-fixes.patch
new file mode 100644
index 000000000000..63c2e2ef7553
--- /dev/null
+++ b/sys-apps/flashrom/files/flashrom-9999_meson-fixes.patch
@@ -0,0 +1,255 @@
+--- a/meson.build
++++ b/meson.build
+@@ -2,7 +2,7 @@ project('flashromutils', 'c',
+ version : run_command('util/getversion.sh', '-v').stdout().strip(),
+ license : 'GPL-2.0',
+ meson_version : '>=0.50.0',
+- default_options : ['warning_level=2', 'c_std=c99'],
++ default_options : ['warning_level=2', 'c_std=gnu99'],
+ )
+
+ # libtool versioning
+@@ -74,6 +74,10 @@ cargs = []
+ deps = []
+ srcs = []
+
++config_bitbang_spi = false
++need_libftdi = false
++need_libpci = false
++need_libusb = false
+ need_raw_access = false
+ need_serial = false
+
+@@ -88,27 +92,25 @@ if cc.check_header('sys/utsname.h')
+ add_project_arguments('-DHAVE_UTSNAME=1', language : 'c')
+ endif
+
+-# some programmers require libusb
+-if get_option('usb')
+- srcs += 'usbdev.c'
+- srcs += 'usb_device.c'
+- deps += dependency('libusb-1.0')
+-else
++if get_option('no_libftdi_programmers')
++ message('Disabling ALL libftdi-based programmers')
++ config_ft2232_spi = false
++ config_usbblaster_spi = false
++endif
++
++if get_option('no_libusb_programmers')
++ message('Disabling ALL libusb-based programmers')
+ config_ch341a_spi = false
+ config_dediprog = false
+ config_digilent_spi = false
+ config_developerbox_spi = false
+ config_pickit2_spi = false
+ config_raiden_debug_spi = false
++ config_stlinkv3_spi = false
+ endif
+
+-# some programmers require libpci
+-if get_option('pciutils')
+- srcs += 'pcidev.c'
+- deps += dependency('libpci')
+- need_raw_access = true
+- cargs += '-DNEED_PCI=1'
+-else
++if get_option('no_libpci_programmers')
++ message('Disabling ALL libpci-based programmers')
+ config_atahpt = false
+ config_atapromise = false
+ config_atavia = false
+@@ -130,14 +132,17 @@ endif
+ # set defines for configured programmers
+ if config_atahpt
+ srcs += 'atahpt.c'
++ need_libpci = true
+ cargs += '-DCONFIG_ATAHPT=1'
+ endif
+ if config_atapromise
+ srcs += 'atapromise.c'
++ need_libpci = true
+ cargs += '-DCONFIG_ATAPROMISE=1'
+ endif
+ if config_atavia
+ srcs += 'atavia.c'
++ need_libpci = true
+ cargs += '-DCONFIG_ATAVIA=1'
+ endif
+ if config_buspirate_spi
+@@ -147,18 +152,22 @@ if config_buspirate_spi
+ endif
+ if config_ch341a_spi
+ srcs += 'ch341a_spi.c'
++ need_libusb = true
+ cargs += '-DCONFIG_CH341A_SPI=1'
+ endif
+ if config_dediprog
+ srcs += 'dediprog.c'
++ need_libusb = true
+ cargs += '-DCONFIG_DEDIPROG=1'
+ endif
+ if config_developerbox_spi
+ srcs += 'developerbox_spi.c'
++ need_libusb = true
+ cargs += '-DCONFIG_DEVELOPERBOX_SPI=1'
+ endif
+ if config_digilent_spi
+ srcs += 'digilent_spi.c'
++ need_libusb = true
+ cargs += '-DCONFIG_DIGILENT_SPI=1'
+ endif
+ if config_jlink_spi
+@@ -168,6 +177,7 @@ if config_jlink_spi
+ endif
+ if config_drkaiser
+ srcs += 'drkaiser.c'
++ need_libpci = true
+ cargs += '-DCONFIG_DRKAISER=1'
+ endif
+ if config_dummy
+@@ -176,16 +186,18 @@ if config_dummy
+ endif
+ if config_ft2232_spi
+ srcs += 'ft2232_spi.c'
++ need_libftdi = true
+ cargs += '-DCONFIG_FT2232_SPI=1'
+- deps += dependency('libftdi1')
+ cargs += '-DHAVE_FT232H=1'
+ endif
+ if config_gfxnvidia
+ srcs += 'gfxnvidia.c'
++ need_libpci = true
+ cargs += '-DCONFIG_GFXNVIDIA=1'
+ endif
+ if config_raiden_debug_spi
+ srcs += 'raiden_debug_spi.c'
++ need_libusb = true
+ cargs += '-DCONFIG_RAIDEN_DEBUG_SPI=1'
+ endif
+ if config_internal
+@@ -204,6 +216,7 @@ if config_internal
+ srcs += 'sb600spi.c'
+ srcs += 'wbsio_spi.c'
+ endif
++ need_libpci = true
+ config_bitbang_spi = true
+ cargs += '-DCONFIG_INTERNAL=1'
+ if get_option('config_internal_dmi')
+@@ -217,6 +230,7 @@ if config_ene_lpc
+ endif
+ if config_it8212
+ srcs += 'it8212.c'
++ need_libpci = true
+ cargs += '-DCONFIG_IT8212=1'
+ endif
+ if config_linux_mtd
+@@ -237,36 +251,44 @@ if config_mstarddc_spi
+ endif
+ if config_nic3com
+ srcs += 'nic3com.c'
++ need_libpci = true
+ cargs += '-DCONFIG_NIC3COM=1'
+ endif
+ if config_nicintel
+ srcs += 'nicintel.c'
++ need_libpci = true
+ cargs += '-DCONFIG_NICINTEL=1'
+ endif
+ if config_nicintel_eeprom
+ srcs += 'nicintel_eeprom.c'
++ need_libpci = true
+ cargs += '-DCONFIG_NICINTEL_EEPROM=1'
+ endif
+ if config_nicintel_spi
+ srcs += 'nicintel_spi.c'
++ need_libpci = true
+ config_bitbang_spi = true
+ cargs += '-DCONFIG_NICINTEL_SPI=1'
+ endif
+ if config_nicnatsemi
+ srcs += 'nicnatsemi.c'
++ need_libpci = true
+ cargs += '-DCONFIG_NICNATSEMI=1'
+ endif
+ if config_nicrealtek
+ srcs += 'nicrealtek.c'
++ need_libpci = true
+ cargs += '-DCONFIG_NICREALTEK=1'
+ endif
+ if config_ogp_spi
+ config_bitbang_spi = true
+ srcs += 'ogp_spi.c'
++ need_libpci = true
+ cargs += '-DCONFIG_OGP_SPI=1'
+ endif
+ if config_pickit2_spi
+ srcs += 'pickit2_spi.c'
++ need_libusb = true
+ cargs += '-DCONFIG_PICKIT2_SPI=1'
+ endif
+ if config_pony_spi
+@@ -283,10 +305,12 @@ if config_rayer_spi
+ endif
+ if config_satamv
+ srcs += 'satamv.c'
++ need_libpci = true
+ cargs += '-DCONFIG_SATAMV=1'
+ endif
+ if config_satasii
+ srcs += 'satasii.c'
++ need_libpci = true
+ cargs += '-DCONFIG_SATASII=1'
+ endif
+ if config_serprog
+@@ -296,10 +320,12 @@ if config_serprog
+ endif
+ if config_usbblaster_spi
+ srcs += 'usbblaster_spi.c'
++ need_libftdi = true
+ cargs += '-DCONFIG_USBBLASTER_SPI=1'
+ endif
+ if config_stlinkv3_spi
+ srcs += 'stlinkv3_spi.c'
++ need_libusb = true
+ cargs += '-DCONFIG_STLINKV3_SPI=1'
+ endif
+ if config_lspcon_i2c_spi
+@@ -322,6 +348,26 @@ if host_machine.system() == 'linux'
+ cargs += '-DCONFIG_I2C_SUPPORT=1'
+ endif
+
++# some programmers require libftdi
++if need_libftdi
++ deps += dependency('libftdi1')
++endif
++
++# some programmers require libpci
++if need_libpci
++ srcs += 'pcidev.c'
++ deps += dependency('libpci')
++ need_raw_access = true
++ cargs += '-DNEED_PCI=1'
++endif
++
++# some programmers require libusb
++if need_libusb
++ srcs += 'usbdev.c'
++ srcs += 'usb_device.c'
++ deps += dependency('libusb-1.0')
++endif
++
+ # raw memory, MSR or PCI port I/O access
+ if need_raw_access
+ srcs += 'hwaccess.c'
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,5 +1,6 @@
+-option('pciutils', type : 'boolean', value : true, description : 'use pciutils')
+-option('usb', type : 'boolean', value : true, description : 'use libusb1')
++option('no_libftdi_programmers', type : 'boolean', value : false, description : 'disable all programmers depending on libftdi')
++option('no_libpci_programmers', type : 'boolean', value : false, description : 'disable all programmers depending on libpci')
++option('no_libusb_programmers', type : 'boolean', value : false, description : 'disable all programmers depending on libusb')
+ option('print_wiki', type : 'boolean', value : true, description : 'Print Wiki')
+
+ option('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')
diff --git a/sys-apps/flashrom/flashrom-1.2-r3.ebuild b/sys-apps/flashrom/flashrom-1.2-r3.ebuild
index 574e00f7884b..286893be3db7 100644
--- a/sys-apps/flashrom/flashrom-1.2-r3.ebuild
+++ b/sys-apps/flashrom/flashrom-1.2-r3.ebuild
@@ -16,7 +16,7 @@ else
fi
DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
-HOMEPAGE="https://flashrom.org/"
+HOMEPAGE="https://flashrom.org/Flashrom"
LICENSE="GPL-2"
SLOT="0"
diff --git a/sys-apps/flashrom/flashrom-9999.ebuild b/sys-apps/flashrom/flashrom-9999.ebuild
index fe588c7916e0..dedf1bc3ada7 100644
--- a/sys-apps/flashrom/flashrom-9999.ebuild
+++ b/sys-apps/flashrom/flashrom-9999.ebuild
@@ -3,7 +3,8 @@
EAPI=7
-inherit toolchain-funcs
+inherit meson
+
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"
inherit git-r3
@@ -15,16 +16,15 @@ else
fi
DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
-HOMEPAGE="https://flashrom.org/"
+HOMEPAGE="https://flashrom.org/Flashrom"
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.
+
+# The defaults match the upstream meson_options.txt.
IUSE_PROGRAMMERS="
atahpt
- +atapromise
+ atapromise
+atavia
+buspirate-spi
+ch341a-spi
@@ -59,11 +59,10 @@ IUSE_PROGRAMMERS="
+satamv
+satasii
+serprog
- stlinkv3-spi
+ +stlinkv3-spi
+usbblaster-spi
"
-
-IUSE="${IUSE_PROGRAMMERS} +internal-dmi static tools +wiki"
+IUSE="${IUSE_PROGRAMMERS} +internal-dmi tools +wiki"
LIB_DEPEND="
atahpt? ( sys-apps/pciutils[static-libs(+)] )
@@ -87,74 +86,74 @@ LIB_DEPEND="
nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
ogp-spi? ( sys-apps/pciutils[static-libs(+)] )
pickit2-spi? ( virtual/libusb:0[static-libs(+)] )
+ raiden-debug-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:1=[static-libs(+)] )
"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+RDEPEND="${LIB_DEPEND//\[static-libs(+)]}"
DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
sys-apps/diffutils"
-BDEPEND="virtual/pkgconfig"
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
-}
+DOCS=( README Documentation/ )
-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
+PATCHES=(
+ "${FILESDIR}"/${PN}-9999_meson-fixes.patch
+)
- tc-export AR CC PKG_CONFIG RANLIB
- emake WARNERROR=no "${args[@]}" all libflashrom.a
+src_configure() {
+ local emesonargs=(
+ $(meson_use atahpt config_atahpt)
+ $(meson_use atapromise config_atapromise)
+ $(meson_use atavia config_atavia)
+ $(meson_use buspirate-spi config_buspirate_spi)
+ $(meson_use ch341a-spi config_ch341a_spi)
+ $(meson_use dediprog config_dediprog)
+ $(meson_use developerbox-spi config_developerbox_spi)
+ $(meson_use digilent-spi config_digilent_spi)
+ $(meson_use drkaiser config_drkaiser)
+ $(meson_use dummy config_dummy)
+ $(meson_use ene-lpc config_ene_lpc)
+ $(meson_use ft2232-spi config_ft2232_spi)
+ $(meson_use gfxnvidia config_gfxnvidia)
+ $(meson_use internal config_internal)
+ $(meson_use internal-dmi config_internal_dmi)
+ $(meson_use it8212 config_it8212)
+ $(meson_use jlink-spi config_jlink_spi)
+ $(meson_use linux-mtd config_linux_mtd)
+ $(meson_use linux-spi config_linux_spi)
+ $(meson_use lspcon-i2c-spi config_lspcon_i2c_spi)
+ $(meson_use mec1308 config_mec1308)
+ $(meson_use mstarddc-spi config_mstarddc_spi)
+ $(meson_use nic3com config_nic3com)
+ $(meson_use nicintel-eeprom config_nicintel_eeprom)
+ $(meson_use nicintel-spi config_nicintel_spi)
+ $(meson_use nicintel config_nicintel)
+ $(meson_use nicnatsemi config_nicnatsemi)
+ $(meson_use nicrealtek config_nicrealtek)
+ $(meson_use ogp-spi config_ogp_spi)
+ $(meson_use pickit2-spi config_pickit2_spi)
+ $(meson_use pony-spi config_pony_spi)
+ $(meson_use raiden-debug-spi config_raiden_debug_spi)
+ $(meson_use rayer-spi config_rayer_spi)
+ $(meson_use realtek-mst-i2c-spi config_realtek_mst_i2c_spi)
+ $(meson_use satamv config_satamv)
+ $(meson_use satasii config_satasii)
+ $(meson_use stlinkv3-spi config_stlinkv3_spi)
+ $(meson_use serprog config_serprog)
+ $(meson_use usbblaster-spi config_usbblaster_spi)
+ $(meson_use wiki print_wiki)
+ )
+ meson_src_configure
}
src_install() {
- dosbin flashrom
- doman flashrom.8
- dodoc README Documentation/*.txt
- dolib.a libflashrom.a
- doheader libflashrom.h
+ meson_src_install
if use tools; then
- dosbin util/ich_descriptors_tool/ich_descriptors_tool
+ dosbin "${BUILD_DIR}"/util/ich_descriptors_tool/ich_descriptors_tool
fi
}