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 |
+} |