gnu: avrdude: Use libusb-compat.

* gnu/packages/patches/avrdude-fix-libusb.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/flashing-tools.scm (avrdude)[source]: Remove patch.
[inputs]: Replace "libusb" with "libusb-compat".
This commit is contained in:
Ricardo Wurmus 2016-06-25 09:16:23 +02:00
parent 3bce0f14b2
commit b0069a6777
No known key found for this signature in database
GPG key ID: 197A5888235FACAC
3 changed files with 2 additions and 260 deletions

View file

@ -441,7 +441,6 @@ dist_patch_DATA = \
%D%/packages/patches/automake-regexp-syntax.patch \
%D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/avrdude-fix-libusb.patch \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/beets-image-test-failure.patch \

View file

@ -90,12 +90,11 @@ (define-public avrdude
version ".tar.gz"))
(sha256
(base32
"0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y"))
(patches (search-patches "avrdude-fix-libusb.patch"))))
"0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y"))))
(build-system gnu-build-system)
(inputs
`(("libelf" ,libelf)
("libusb" ,libusb)
("libusb" ,libusb-compat)
("libftdi" ,libftdi)))
(native-inputs
`(("bison" ,bison)

View file

@ -1,256 +0,0 @@
Avrdude cannot build with our version of libusb. This patch fixes that.
See http://savannah.nongnu.org/bugs/?41854
diff --git a/dfu.c b/dfu.c
index 7d349bc..0f80440 100644
--- a/dfu.c
+++ b/dfu.c
@@ -36,13 +36,14 @@
#ifndef HAVE_LIBUSB
-int dfu_open(struct dfu_dev *dfu, char *port_name) {
+struct dfu_dev * dfu_open(char *port_spec) {
fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n",
progname);
- return -1;
+ return NULL;
}
-int dfu_init(struct dfu_dev *dfu, unsigned short usb_pid) {
+int dfu_init(struct dfu_dev *dfu,
+ unsigned short vid, unsigned short pid) {
return -1;
}
diff --git a/flip1.c b/flip1.c
index b891d80..0959996 100644
--- a/flip1.c
+++ b/flip1.c
@@ -164,6 +164,8 @@ static void flip1_setup(PROGRAMMER * pgm);
static void flip1_teardown(PROGRAMMER * pgm);
/* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */
+#ifdef HAVE_LIBUSB
+// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB
static void flip1_show_info(struct flip1 *flip1);
@@ -177,6 +179,8 @@ static const char * flip1_mem_unit_str(enum flip1_mem_unit mem_unit);
static int flip1_set_mem_page(struct dfu_dev *dfu, unsigned short page_addr);
static enum flip1_mem_unit flip1_mem_unit(const char *name);
+#endif /* HAVE_LIBUSB */
+
/* THE INITPGM FUNCTION DEFINITIONS */
void flip1_initpgm(PROGRAMMER *pgm)
@@ -201,6 +205,7 @@ void flip1_initpgm(PROGRAMMER *pgm)
pgm->teardown = flip1_teardown;
}
+#ifdef HAVE_LIBUSB
/* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */
int flip1_open(PROGRAMMER *pgm, char *port_spec)
@@ -876,3 +881,82 @@ enum flip1_mem_unit flip1_mem_unit(const char *name) {
return FLIP1_MEM_UNIT_EEPROM;
return FLIP1_MEM_UNIT_UNKNOWN;
}
+#else /* HAVE_LIBUSB */
+// Dummy functions
+int flip1_open(PROGRAMMER *pgm, char *port_spec)
+{
+ fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n",
+ progname);
+ return NULL;
+}
+
+int flip1_initialize(PROGRAMMER* pgm, AVRPART *part)
+{
+ return -1;
+}
+
+void flip1_close(PROGRAMMER* pgm)
+{
+}
+
+void flip1_enable(PROGRAMMER* pgm)
+{
+}
+
+void flip1_disable(PROGRAMMER* pgm)
+{
+}
+
+void flip1_display(PROGRAMMER* pgm, const char *prefix)
+{
+}
+
+int flip1_program_enable(PROGRAMMER* pgm, AVRPART *part)
+{
+ return -1;
+}
+
+int flip1_chip_erase(PROGRAMMER* pgm, AVRPART *part)
+{
+ return -1;
+}
+
+int flip1_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned long addr, unsigned char *value)
+{
+ return -1;
+}
+
+int flip1_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned long addr, unsigned char value)
+{
+ return -1;
+}
+
+int flip1_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned int page_size, unsigned int addr, unsigned int n_bytes)
+{
+ return -1;
+}
+
+int flip1_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned int page_size, unsigned int addr, unsigned int n_bytes)
+{
+ return -1;
+}
+
+int flip1_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem)
+{
+ return -1;
+}
+
+void flip1_setup(PROGRAMMER * pgm)
+{
+}
+
+void flip1_teardown(PROGRAMMER * pgm)
+{
+}
+
+
+#endif /* HAVE_LIBUSB */
\ No newline at end of file
diff --git a/flip2.c b/flip2.c
index ed8e996..16c4bf8 100644
--- a/flip2.c
+++ b/flip2.c
@@ -151,6 +151,8 @@ static void flip2_setup(PROGRAMMER * pgm);
static void flip2_teardown(PROGRAMMER * pgm);
/* INTERNAL PROGRAMMER FUNCTION PROTOTYPES */
+#ifdef HAVE_LIBUSB
+// The internal ones are made conditional, as they're not defined further down #ifndef HAVE_LIBUSB
static void flip2_show_info(struct flip2 *flip2);
@@ -171,6 +173,8 @@ static const char * flip2_status_str(const struct dfu_status *status);
static const char * flip2_mem_unit_str(enum flip2_mem_unit mem_unit);
static enum flip2_mem_unit flip2_mem_unit(const char *name);
+#endif /* HAVE_LIBUSB */
+
/* THE INITPGM FUNCTION DEFINITIONS */
void flip2_initpgm(PROGRAMMER *pgm)
@@ -195,6 +199,7 @@ void flip2_initpgm(PROGRAMMER *pgm)
pgm->teardown = flip2_teardown;
}
+#ifdef HAVE_LIBUSB
/* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */
int flip2_open(PROGRAMMER *pgm, char *port_spec)
@@ -922,3 +927,85 @@ enum flip2_mem_unit flip2_mem_unit(const char *name) {
return FLIP2_MEM_UNIT_SIGNATURE;
return FLIP2_MEM_UNIT_UNKNOWN;
}
+
+#else /* HAVE_LIBUSB */
+
+/* EXPORTED PROGRAMMER FUNCTION DEFINITIONS */
+
+int flip2_open(PROGRAMMER *pgm, char *port_spec)
+{
+ fprintf(stderr, "%s: Error: No USB support in this compile of avrdude\n",
+ progname);
+ return NULL;
+}
+
+int flip2_initialize(PROGRAMMER* pgm, AVRPART *part)
+{
+ return -1;
+}
+
+void flip2_close(PROGRAMMER* pgm)
+{
+}
+
+void flip2_enable(PROGRAMMER* pgm)
+{
+}
+
+void flip2_disable(PROGRAMMER* pgm)
+{
+}
+
+void flip2_display(PROGRAMMER* pgm, const char *prefix)
+{
+}
+
+int flip2_program_enable(PROGRAMMER* pgm, AVRPART *part)
+{
+ return -1;
+}
+
+int flip2_chip_erase(PROGRAMMER* pgm, AVRPART *part)
+{
+ return -1;
+}
+
+int flip2_read_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned long addr, unsigned char *value)
+{
+ return -1;
+}
+
+int flip2_write_byte(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned long addr, unsigned char value)
+{
+ return -1;
+}
+
+int flip2_paged_load(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned int page_size, unsigned int addr, unsigned int n_bytes)
+{
+ return -1;
+}
+
+int flip2_paged_write(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem,
+ unsigned int page_size, unsigned int addr, unsigned int n_bytes)
+{
+ return -1;
+}
+
+int flip2_read_sig_bytes(PROGRAMMER* pgm, AVRPART *part, AVRMEM *mem)
+{
+ return -1;
+}
+
+void flip2_setup(PROGRAMMER * pgm)
+{
+}
+
+void flip2_teardown(PROGRAMMER * pgm)
+{
+}
+
+
+#endif /* HAVE_LIBUSB */