Gentoo Archives: gentoo-commits

From: Marek Szuba <marecki@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/flashrom/
Date: Mon, 30 Mar 2020 22:42:47
Message-Id: 1585608010.de4384a216e0ea905d4d509e7b881a97677c4736.marecki@gentoo
1 commit: de4384a216e0ea905d4d509e7b881a97677c4736
2 Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 30 22:31:59 2020 +0000
4 Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 30 22:40:10 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de4384a2
7
8 sys-apps/flashrom: bump to 1.2
9
10 Turns out the Meson scripts are incomplete for now (e.g. no libftdi
11 dependency for usbblaster-spi in spite of the source code referencing
12 the relevant header files, no jlink-spi support) so let us continue to
13 use the Makefiles.
14
15 Closes: https://bugs.gentoo.org/712500
16 Closes: https://bugs.gentoo.org/709986
17 Closes: https://bugs.gentoo.org/707304
18 Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
19
20 sys-apps/flashrom/Manifest | 1 +
21 sys-apps/flashrom/flashrom-1.2.ebuild | 154 ++++++++++++++++++++++++++++++++++
22 2 files changed, 155 insertions(+)
23
24 diff --git a/sys-apps/flashrom/Manifest b/sys-apps/flashrom/Manifest
25 index 446fed63d46..227d29704d8 100644
26 --- a/sys-apps/flashrom/Manifest
27 +++ b/sys-apps/flashrom/Manifest
28 @@ -1,3 +1,4 @@
29 DIST flashrom-0.9.8.tar.bz2 473902 BLAKE2B c127a41c2857ae2e1564777b49b1eff17e2e931c8a2417e738e8188871a6ce4e0fe6a0380c2139aaa906f299ca833563df895aa5fd1af333b24bf7467de0dc8f SHA512 1a1c4513bac7cdf91326ab68b822034101e688bfab0dc0b5698f664fc766027229128c55eed94f302cac05d949647cdec6a103a423c3861b047cf0ff7cc0b509
30 DIST flashrom-1.0.tar.bz2 321693 BLAKE2B 7e3e021cdf639083717ca30d5268ac9e02eb8b68e54bbcd5caf9de4352f332ba0ab23cf22253f0627fa9c9a0472404fff44cda17e8c306fe4f93b2b1f0563718 SHA512 355ac1322421b2fd699deb0ceff8555c9e89062e639de674c62f1fdacad9ed9351fe89e4c14e22f07a6d4e2e2f070fd4d2ed1cd347a20069f2505966b5c29e0e
31 DIST flashrom-v1.1.tar.bz2 348458 BLAKE2B cee1b8e4f680739e794239c3d777ef9cf0af1f734fe4d8f4b122d26316cdb8d45d53f92054937c7cde1737364ba8ed80410561bfbb7f304b0371942be144859b SHA512 8cb75a7223490fa9dbd65a85d24a87beab68ee03120891a3d8ebf4e8bc3d2a2ee640e254ccff657eaf5175e6c2477288337369fa1b1dac110a0903b0c95c1e56
32 +DIST flashrom-v1.2.tar.bz2 366995 BLAKE2B 091e01a91e12b486154ace334a5e74bccbb5f5311ad76e37f43a28167080757873d8c78b8f549d2e77eb984922c830895ba955b23eb6ee4fc24f1ffed259954b SHA512 8e01395a54d0d1344bc55e7e4975f43bb8e59ebe83fb5f2766d14f76756d718b487254ce9a19ef4093aed04fb9d40fff5fe8f709b18c512f6e6fad894f83d7b8
33
34 diff --git a/sys-apps/flashrom/flashrom-1.2.ebuild b/sys-apps/flashrom/flashrom-1.2.ebuild
35 new file mode 100644
36 index 00000000000..b51635e3ad8
37 --- /dev/null
38 +++ b/sys-apps/flashrom/flashrom-1.2.ebuild
39 @@ -0,0 +1,154 @@
40 +# Copyright 1999-2020 Gentoo Authors
41 +# Distributed under the terms of the GNU General Public License v2
42 +
43 +EAPI=7
44 +
45 +inherit toolchain-funcs
46 +if [[ ${PV} == "9999" ]] ; then
47 + EGIT_REPO_URI="https://review.coreboot.org/flashrom.git"
48 + inherit git-r3
49 +else
50 + MY_P="${PN}-v${PV}"
51 + SRC_URI="https://download.flashrom.org/releases/${MY_P}.tar.bz2"
52 + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
53 + S="${WORKDIR}/${MY_P}"
54 +fi
55 +
56 +DESCRIPTION="Utility for reading, writing, erasing and verifying flash ROM chips"
57 +HOMEPAGE="https://flashrom.org/"
58 +
59 +LICENSE="GPL-2"
60 +SLOT="0"
61 +# The defaults match the upstream Makefile.
62 +# Note: Do not list bitbang_spi as it is not a programmer; it's a backend used
63 +# by some other spi programmers.
64 +IUSE_PROGRAMMERS="
65 + atahpt
66 + +atapromise
67 + +atavia
68 + +buspirate-spi
69 + +ch341a-spi
70 + +dediprog
71 + +developerbox-spi
72 + +digilent-spi
73 + +drkaiser
74 + +dummy
75 + +ft2232-spi
76 + +gfxnvidia
77 + +internal
78 + +it8212
79 + jlink-spi
80 + +linux-mtd
81 + +linux-spi
82 + mstarddc-spi
83 + +nic3com
84 + +nicintel
85 + +nicintel-eeprom
86 + +nicintel-spi
87 + nicnatsemi
88 + +nicrealtek
89 + +ogp-spi
90 + +pickit2-spi
91 + +pony-spi
92 + +rayer-spi
93 + +satamv
94 + +satasii
95 + +serprog
96 + stlinkv3-spi
97 + +usbblaster-spi
98 +"
99 +
100 +IUSE="${IUSE_PROGRAMMERS} +internal-dmi static tools +wiki"
101 +
102 +LIB_DEPEND="
103 + atahpt? ( sys-apps/pciutils[static-libs(+)] )
104 + atapromise? ( sys-apps/pciutils[static-libs(+)] )
105 + atavia? ( sys-apps/pciutils[static-libs(+)] )
106 + ch341a-spi? ( virtual/libusb:1[static-libs(+)] )
107 + dediprog? ( virtual/libusb:1[static-libs(+)] )
108 + developerbox-spi? ( virtual/libusb:1[static-libs(+)] )
109 + digilent-spi? ( virtual/libusb:1[static-libs(+)] )
110 + drkaiser? ( sys-apps/pciutils[static-libs(+)] )
111 + ft2232-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
112 + gfxnvidia? ( sys-apps/pciutils[static-libs(+)] )
113 + internal? ( sys-apps/pciutils[static-libs(+)] )
114 + it8212? ( sys-apps/pciutils[static-libs(+)] )
115 + jlink-spi? ( dev-embedded/libjaylink[static-libs(+)] )
116 + nic3com? ( sys-apps/pciutils[static-libs(+)] )
117 + nicintel-eeprom? ( sys-apps/pciutils[static-libs(+)] )
118 + nicintel-spi? ( sys-apps/pciutils[static-libs(+)] )
119 + nicintel? ( sys-apps/pciutils[static-libs(+)] )
120 + nicnatsemi? ( sys-apps/pciutils[static-libs(+)] )
121 + nicrealtek? ( sys-apps/pciutils[static-libs(+)] )
122 + ogp-spi? ( sys-apps/pciutils[static-libs(+)] )
123 + pickit2-spi? ( virtual/libusb:0[static-libs(+)] )
124 + rayer-spi? ( sys-apps/pciutils[static-libs(+)] )
125 + satamv? ( sys-apps/pciutils[static-libs(+)] )
126 + satasii? ( sys-apps/pciutils[static-libs(+)] )
127 + stlinkv3-spi? ( virtual/libusb:1[static-libs(+)] )
128 + usbblaster-spi? ( dev-embedded/libftdi:=[static-libs(+)] )
129 +"
130 +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
131 +DEPEND="${RDEPEND}
132 + static? ( ${LIB_DEPEND} )
133 + sys-apps/diffutils"
134 +RDEPEND+=" !internal-dmi? ( sys-apps/dmidecode )"
135 +
136 +_flashrom_enable() {
137 + local c="CONFIG_${2:-$(echo "$1" | tr '[:lower:]-' '[:upper:]_')}"
138 + args+=( "${c}=$(usex $1 yes no)" )
139 +}
140 +flashrom_enable() {
141 + local u
142 + for u ; do _flashrom_enable "${u}" ; done
143 +}
144 +
145 +src_compile() {
146 + # Help keep things in sync.
147 + local sprogs=$(echo $(
148 + grep -o 'CONFIG_[A-Z0-9_]*' flashrom.c | \
149 + LC_ALL=C sort -u | \
150 + sed 's:^CONFIG_::' | \
151 + tr '[:upper:]_' '[:lower:]-' | \
152 + grep -v ni845x-spi))
153 + local eprogs=$(echo ${IUSE_PROGRAMMERS} | sed -E 's/\B[-+]\b//g')
154 + if [[ ${sprogs} != "${eprogs}" ]] ; then
155 + eerror "The ebuild needs to be kept in sync."
156 + eerror "IUSE set to: ${eprogs}"
157 + eerror "flashrom.c : ${sprogs}"
158 + die "sync IUSE to the list of source programmers"
159 + fi
160 +
161 + # Turn USE flags into CONFIG_xxx settings.
162 + local args=()
163 + flashrom_enable ${eprogs}
164 + _flashrom_enable wiki PRINT_WIKI
165 + _flashrom_enable static STATIC
166 +
167 + # You have to specify at least one programmer, and if you specify more than
168 + # one programmer you have to include either dummy or internal in the list.
169 + # We pick dummy as the default because internal requires libpci.
170 + if ! use internal && ! use dummy ; then
171 + if [[ ${#args[@]} -ne 1 ]] ; then
172 + ewarn "You have to specify at least one programmer, and if you specify"
173 + ewarn "more than one programmer, you have to enable either dummy or"
174 + ewarn "internal as well. 'dummy' will be the default now."
175 + args+=( CONFIG_DUMMY=yes )
176 + fi
177 + fi
178 +
179 + tc-export AR CC PKG_CONFIG RANLIB
180 + emake WARNERROR=no "${args[@]}" all libflashrom.a
181 +}
182 +
183 +src_install() {
184 + dosbin flashrom
185 + doman flashrom.8
186 + dodoc README Documentation/*.txt
187 + dolib.a libflashrom.a
188 + doheader libflashrom.h
189 +
190 + if use tools; then
191 + dosbin util/ich_descriptors_tool/ich_descriptors_tool
192 + fi
193 +}