summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2020-04-28 10:31:40 +0100
committerMarek Szuba <marecki@gentoo.org>2020-04-28 10:34:31 +0100
commitb5a312d32873362067980b2a02886a4b79d08ca6 (patch)
tree7ce4af873e67b09c0e43efc0324d47ba3ab38e63 /sys-apps/flashrom/files
parentmedia-sound/qmmp: Removed old (diff)
downloadgentoo-b5a312d32873362067980b2a02886a4b79d08ca6.tar.gz
gentoo-b5a312d32873362067980b2a02886a4b79d08ca6.tar.bz2
gentoo-b5a312d32873362067980b2a02886a4b79d08ca6.zip
sys-apps/flashrom: switch to building with meson
Much simpler ebuild, libflashrom is shared, and most importantly - it gets an auto-generated pkg-config file. Upstream meson scripts have for now, as previously mentioned, not reached feature parity with the Makefile but with some patching, we can now at least support all the programmers. Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sys-apps/flashrom/files')
-rw-r--r--sys-apps/flashrom/files/flashrom-1.2_meson-fixes.patch263
1 files changed, 263 insertions, 0 deletions
diff --git a/sys-apps/flashrom/files/flashrom-1.2_meson-fixes.patch b/sys-apps/flashrom/files/flashrom-1.2_meson-fixes.patch
new file mode 100644
index 000000000000..84dec173676a
--- /dev/null
+++ b/sys-apps/flashrom/files/flashrom-1.2_meson-fixes.patch
@@ -0,0 +1,263 @@
+--- a/meson.build
++++ b/meson.build
+@@ -44,6 +44,7 @@
+ config_gfxnvidia = get_option('config_gfxnvidia')
+ config_internal = get_option('config_internal')
+ config_it8212 = get_option('config_it8212')
++config_jlink_spi = get_option('config_jlink_spi')
+ config_linux_mtd = get_option('config_linux_mtd')
+ config_linux_spi = get_option('config_linux_spi')
+ config_mstarddc_spi = get_option('config_mstarddc_spi')
+@@ -67,6 +68,9 @@
+ deps = []
+ srcs = []
+
++need_libftdi = false
++need_libpci = false
++need_libusb = false
+ need_raw_access = false
+ need_serial = false
+
+@@ -81,24 +85,24 @@
+ add_project_arguments('-DHAVE_UTSNAME=1', language : 'c')
+ endif
+
+-# some programmers require libusb
+-if get_option('usb')
+- srcs += 'usbdev.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_digilent_spi = false
+ config_pickit2_spi = false
++ config_stlinkv3_spi = false
+ endif
+
+-# some programmers require libpci
+-if get_option('pciutils')
+- srcs += 'pcidev.c'
+- deps += dependency('libpci')
+- 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
+@@ -121,14 +125,17 @@
+ # 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
+@@ -138,22 +145,27 @@
+ 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_drkaiser
+ srcs += 'drkaiser.c'
++ need_libpci = true
+ cargs += '-DCONFIG_DRKAISER=1'
+ endif
+ if config_dummy
+@@ -162,12 +174,13 @@
+ 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_internal
+@@ -186,6 +199,7 @@
+ 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')
+@@ -195,6 +209,7 @@
+ endif
+ if config_it8212
+ srcs += 'it8212.c'
++ need_libpci = true
+ cargs += '-DCONFIG_IT8212=1'
+ endif
+ if config_linux_mtd
+@@ -211,36 +226,44 @@
+ 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
+@@ -252,15 +275,18 @@
+ if config_rayer_spi
+ srcs += 'rayer_spi.c'
+ config_bitbang_spi = true
++ need_libpci = true
+ need_raw_access = true
+ cargs += '-DCONFIG_RAYER_SPI=1'
+ 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
+@@ -270,12 +296,19 @@
+ 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_jlink_spi
++ srcs += 'jlink_spi.c'
++ cargs += '-DCONFIG_JLINK_SPI=1'
++ deps += dependency('libjaylink')
++endif
+
+ # bitbanging SPI infrastructure
+ if config_bitbang_spi
+@@ -296,6 +329,25 @@
+ srcs += 'serial.c'
+ 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')
++ cargs += '-DNEED_PCI=1'
++endif
++
++# some programmers require libusb
++if need_libusb
++ srcs += 'usbdev.c'
++ deps += dependency('libusb-1.0')
++endif
++
++
+ prefix = get_option('prefix')
+ sbindir = join_paths(prefix, get_option('sbindir'))
+ libdir = join_paths(prefix, get_option('libdir'))
+--- 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('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')
+ option('config_atapromise', type : 'boolean', value : false, description : 'Promise ATA controller')
+@@ -16,6 +17,7 @@
+ option('config_internal', type : 'boolean', value : true, description : 'internal/onboard')
+ option('config_internal_dmi', type : 'boolean', value : true, description : 'Use internal DMI parser')
+ option('config_it8212', type : 'boolean', value : true, description : 'ITE IT8212F PATA')
++option('config_jlink_spi', type : 'boolean', value : false, description : 'SEGGER J-Link and compatible')
+ option('config_linux_mtd', type : 'boolean', value : true, description : 'Linux MTD interfaces')
+ option('config_linux_spi', type : 'boolean', value : true, description : 'Linux spidev interfaces')
+ option('config_mstarddc_spi', type : 'boolean', value : false, description : 'MSTAR DDC support')