summaryrefslogtreecommitdiff
path: root/package/git
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2013-10-05 08:58:47 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2013-10-05 08:58:47 +0200
commit02ee9966d6e890bba7637dbffc761859ae90d186 (patch)
tree11825dbe13384f1374b8a50de2edacb34707fdf5 /package/git
parent202363dab62195e0c4562758d3f356d84ad64fdf (diff)
fix uclibc compile,patch from alpinelinux
Diffstat (limited to 'package/git')
-rw-r--r--package/git/Makefile2
-rw-r--r--package/git/patches/git-uclibc.patch108
2 files changed, 109 insertions, 1 deletions
diff --git a/package/git/Makefile b/package/git/Makefile
index e95221ad1..e66be0b33 100644
--- a/package/git/Makefile
+++ b/package/git/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= git
PKG_VERSION:= 1.8.4
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= 355768a1c70d0cb4fedf4b598ac1375b
PKG_DESCR:= fast version control system
PKG_SECTION:= scm
diff --git a/package/git/patches/git-uclibc.patch b/package/git/patches/git-uclibc.patch
new file mode 100644
index 000000000..887db6ec1
--- /dev/null
+++ b/package/git/patches/git-uclibc.patch
@@ -0,0 +1,108 @@
+From 59c678a754227ca1fb44541cdfe39bbe052be195 Mon Sep 17 00:00:00 2001
+From: Natanael Copa <ncopa@alpinelinux.org>
+Date: Tue, 27 Aug 2013 07:57:12 +0000
+Subject: [PATCH] config: add _cb suffix to callback functions
+
+Commit 4d8dd1494e9f3af2e9738edaca40ada096f7bf10 introduced a build
+regression on uClibc which defines fgetc as macro. To work around that
+we add a _cb suffix to the callback functions.
+
+Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
+---
+ config.c | 32 ++++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/config.c b/config.c
+index e13a7b6..aa80078 100644
+--- a/config.c
++++ b/config.c
+@@ -27,9 +27,9 @@ struct config_source {
+ struct strbuf value;
+ struct strbuf var;
+
+- int (*fgetc)(struct config_source *c);
+- int (*ungetc)(int c, struct config_source *conf);
+- long (*ftell)(struct config_source *c);
++ int (*fgetc_cb)(struct config_source *c);
++ int (*ungetc_cb)(int c, struct config_source *conf);
++ long (*ftell_cb)(struct config_source *c);
+ };
+
+ static struct config_source *cf;
+@@ -217,13 +217,13 @@ int git_config_from_parameters(config_fn_t fn, void *data)
+
+ static int get_next_char(void)
+ {
+- int c = cf->fgetc(cf);
++ int c = cf->fgetc_cb(cf);
+
+ if (c == '\r') {
+ /* DOS like systems */
+- c = cf->fgetc(cf);
++ c = cf->fgetc_cb(cf);
+ if (c != '\n') {
+- cf->ungetc(c, cf);
++ cf->ungetc_cb(c, cf);
+ c = '\r';
+ }
+ }
+@@ -992,9 +992,9 @@ int git_config_from_file(config_fn_t fn, const char *filename, void *data)
+ top.u.file = f;
+ top.name = filename;
+ top.die_on_error = 1;
+- top.fgetc = config_file_fgetc;
+- top.ungetc = config_file_ungetc;
+- top.ftell = config_file_ftell;
++ top.fgetc_cb = config_file_fgetc;
++ top.ungetc_cb = config_file_ungetc;
++ top.ftell_cb = config_file_ftell;
+
+ ret = do_config_from(&top, fn, data);
+
+@@ -1013,9 +1013,9 @@ int git_config_from_buf(config_fn_t fn, const char *name, const char *buf,
+ top.u.buf.pos = 0;
+ top.name = name;
+ top.die_on_error = 0;
+- top.fgetc = config_buf_fgetc;
+- top.ungetc = config_buf_ungetc;
+- top.ftell = config_buf_ftell;
++ top.fgetc_cb = config_buf_fgetc;
++ top.ungetc_cb = config_buf_ungetc;
++ top.ftell_cb = config_buf_ftell;
+
+ return do_config_from(&top, fn, data);
+ }
+@@ -1196,7 +1196,7 @@ static int store_aux(const char *key, const char *value, void *cb)
+ return 1;
+ }
+
+- store.offset[store.seen] = cf->ftell(cf);
++ store.offset[store.seen] = cf->ftell_cb(cf);
+ store.seen++;
+ }
+ break;
+@@ -1223,19 +1223,19 @@ static int store_aux(const char *key, const char *value, void *cb)
+ * Do not increment matches: this is no match, but we
+ * just made sure we are in the desired section.
+ */
+- store.offset[store.seen] = cf->ftell(cf);
++ store.offset[store.seen] = cf->ftell_cb(cf);
+ /* fallthru */
+ case SECTION_END_SEEN:
+ case START:
+ if (matches(key, value)) {
+- store.offset[store.seen] = cf->ftell(cf);
++ store.offset[store.seen] = cf->ftell_cb(cf);
+ store.state = KEY_SEEN;
+ store.seen++;
+ } else {
+ if (strrchr(key, '.') - key == store.baselen &&
+ !strncmp(key, store.key, store.baselen)) {
+ store.state = SECTION_SEEN;
+- store.offset[store.seen] = cf->ftell(cf);
++ store.offset[store.seen] = cf->ftell_cb(cf);
+ }
+ }
+ }
+--
+1.8.3.4