aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/flashrom-use-libftdi1.patch
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-08-05 00:15:08 -0400
committerMark H Weaver <mhw@netris.org>2014-08-05 20:00:29 -0400
commit42dc3af5bfc8458de0289d66cb069d0e2efbad39 (patch)
tree27711398146f64806aaa5deed3cfa6a7183be00c /gnu/packages/patches/flashrom-use-libftdi1.patch
parentf0176a9f185f081535b02764b3bfe1151ce315be (diff)
downloadguix-42dc3af5bfc8458de0289d66cb069d0e2efbad39.tar
guix-42dc3af5bfc8458de0289d66cb069d0e2efbad39.tar.gz
gnu: Add flashrom.
* gnu/packages/patches/flashrom-use-libftdi1.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/admin.scm (flashrom): New variable.
Diffstat (limited to 'gnu/packages/patches/flashrom-use-libftdi1.patch')
-rw-r--r--gnu/packages/patches/flashrom-use-libftdi1.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/gnu/packages/patches/flashrom-use-libftdi1.patch b/gnu/packages/patches/flashrom-use-libftdi1.patch
new file mode 100644
index 0000000000..a6051df30a
--- /dev/null
+++ b/gnu/packages/patches/flashrom-use-libftdi1.patch
@@ -0,0 +1,70 @@
+Update to libftdi-1.0 is advertised as a drop-in replacement for libftdi,
+running on top of libusb-1.0. This also removes indirect dependency to
+libusb-0.1.
+
+Patch by Kyösti Mälkki <kyosti.malkki@gmail.com>.
+See <http://patchwork.coreboot.org/patch/3904/>.
+
+--- flashrom/Makefile.orig 2013-08-13 18:00:00.000000000 -0400
++++ flashrom/Makefile 2014-08-05 03:10:40.217145375 -0400
+@@ -492,19 +492,21 @@
+ ifeq ($(CONFIG_FT2232_SPI), yes)
+ # This is a totally ugly hack.
+ FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_FT2232_SPI=1'")
+-NEED_FTDI := yes
++NEED_FTDI1 := yes
+ PROGRAMMER_OBJS += ft2232_spi.o
+ endif
+
+ ifeq ($(CONFIG_USBBLASTER_SPI), yes)
+ # This is a totally ugly hack.
+ FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "-D'CONFIG_USBBLASTER_SPI=1'")
+-NEED_FTDI := yes
++NEED_LIBUSB1 := yes
++NEED_FTDI1 := yes
+ PROGRAMMER_OBJS += usbblaster_spi.o
+ endif
+
+-ifeq ($(NEED_FTDI), yes)
+-FTDILIBS := $(shell pkg-config --libs libftdi 2>/dev/null || printf "%s" "-lftdi -lusb")
++ifeq ($(NEED_FTDI1), yes)
++FTDILIBS := $(shell pkg-config --libs libftdi1 2>/dev/null || printf "%s" "-lftdi1 -lusb-1.0")
++FEATURE_CFLAGS += $(shell pkg-config --cflags libftdi1 2>/dev/null)
+ FEATURE_CFLAGS += $(shell LC_ALL=C grep -q "FT232H := yes" .features && printf "%s" "-D'HAVE_FT232H=1'")
+ FEATURE_LIBS += $(shell LC_ALL=C grep -q "FTDISUPPORT := yes" .features && printf "%s" "$(FTDILIBS)")
+ # We can't set NEED_USB here because that would transform libftdi auto-enabling
+@@ -781,6 +783,7 @@
+ endif
+
+ define FTDI_TEST
++#include <stddef.h>
+ #include <ftdi.h>
+ struct ftdi_context *ftdic = NULL;
+ int main(int argc, char **argv)
+@@ -793,6 +796,7 @@
+ export FTDI_TEST
+
+ define FTDI_232H_TEST
++#include <stddef.h>
+ #include <ftdi.h>
+ enum ftdi_chip_type type = TYPE_232H;
+ endef
+@@ -826,15 +830,15 @@
+
+ features: compiler
+ @echo "FEATURES := yes" > .features.tmp
+-ifeq ($(NEED_FTDI), yes)
++ifeq ($(NEED_FTDI1), yes)
+ @printf "Checking for FTDI support... "
+ @echo "$$FTDI_TEST" > .featuretest.c
+- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
++ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
+ ( echo "found."; echo "FTDISUPPORT := yes" >> .features.tmp ) || \
+ ( echo "not found."; echo "FTDISUPPORT := no" >> .features.tmp )
+ @printf "Checking for FT232H support in libftdi... "
+ @echo "$$FTDI_232H_TEST" >> .featuretest.c
+- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
++ @$(CC) $(CPPFLAGS) $(CFLAGS) $(FEATURE_CFLAGS) $(LDFLAGS) .featuretest.c -o .featuretest$(EXEC_SUFFIX) $(FTDILIBS) $(LIBS) >/dev/null 2>&1 && \
+ ( echo "found."; echo "FT232H := yes" >> .features.tmp ) || \
+ ( echo "not found."; echo "FT232H := no" >> .features.tmp )
+ endif