gnu: Add dfu-programmer

* gnu/packages/flashing-tools.scm (dfu-programmer): New variable.
* gnu/packages/patches/dfu-programmer-fix-libusb.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Manolis Ragkousis 2014-09-29 13:27:30 +03:00 committed by Ludovic Courtès
parent 4b91ce2974
commit 2a9a4fb8b7
3 changed files with 81 additions and 0 deletions

View File

@ -319,6 +319,7 @@ dist_patch_DATA = \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
gnu/packages/patches/doxygen-test.patch \
gnu/packages/patches/doxygen-tmake.patch \
gnu/packages/patches/duplicity-piped-password.patch \

View File

@ -104,3 +104,26 @@ programmer devices.")
EEPROM contents of AVR microcontrollers using the in-system programming
technique (ISP).")
(license gpl2+)))
(define-public dfu-programmer
(package
(name "dfu-programmer")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/dfu-programmer/dfu-programmer-"
version ".tar.gz"))
(sha256
(base32
"17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf"))
(patches (list (search-patch "dfu-programmer-fix-libusb.patch")))))
(build-system gnu-build-system)
(inputs
`(("libusb" ,libusb)))
(home-page "http://dfu-programmer.github.io/")
(synopsis "Device firmware update programmer for Atmel chips")
(description
"Dfu-programmer is a multi-platform command-line programmer for Atmel
(8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP")
(license gpl2+)))

View File

@ -0,0 +1,57 @@
Dfu-programmer cannot cannot find libusb. This patch fixes that.
diff --git a/src/dfu-device.h b/src/dfu-device.h
index bbdfa99..31af0e8 100644
--- a/src/dfu-device.h
+++ b/src/dfu-device.h
@@ -6,7 +6,7 @@
#endif
#include <stdint.h>
#ifdef HAVE_LIBUSB_1_0
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
#else
#include <usb.h>
#endif
diff --git a/src/main.c b/src/main.c
index ef2aa16..dcc3636 100644
--- a/src/main.c
+++ b/src/main.c
@@ -24,7 +24,7 @@
#include <stdio.h>
#include <string.h>
#ifdef HAVE_LIBUSB_1_0
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
#else
#include <usb.h>
#endif
diff --git a/src/dfu.c b/src/dfu.c
index 7dbcc57..952e896 100644
--- a/src/dfu.c
+++ b/src/dfu.c
@@ -27,7 +27,7 @@
#include <stdlib.h>
#include <stddef.h>
#ifdef HAVE_LIBUSB_1_0
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
#else
#include <usb.h>
#endif
diff --git a/src/dfu.h b/src/dfu.h
index 2a159e8..63510f2 100644
--- a/src/dfu.h
+++ b/src/dfu.h
@@ -25,7 +25,7 @@
# include <config.h>
#endif
#ifdef HAVE_LIBUSB_1_0
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
#else
#include <usb.h>
#endif