aboutsummaryrefslogtreecommitdiff
path: root/libs/avro
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2019-10-30 11:12:33 -0700
committerRosen Penev <rosenp@gmail.com>2019-10-30 11:36:52 -0700
commitf1aa25594c773f2021d8d8bbb0ee4438a0a06811 (patch)
tree77295b286767e152f556eb1280937016723e839a /libs/avro
parentc037c8d988027453214849a098232f86dd4ca4d4 (diff)
avro-c: Update to 1.9.1
Added utilities package. Added small size optimization. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'libs/avro')
-rw-r--r--libs/avro/Makefile26
-rw-r--r--libs/avro/patches/010-pkgconfig.patch4
-rw-r--r--libs/avro/patches/020-bin-shared.patch27
-rw-r--r--libs/avro/patches/030-ssize_t.patch11
4 files changed, 63 insertions, 5 deletions
diff --git a/libs/avro/Makefile b/libs/avro/Makefile
index 272e806a4..ebd842dd7 100644
--- a/libs/avro/Makefile
+++ b/libs/avro/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=avro-c
-PKG_VERSION:=1.8.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.9.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@APACHE/avro/avro-$(PKG_VERSION)/c
-PKG_HASH:=4639982b2b8fbd91fc7128fef672207129c959bb7900dd64b077ce4206edf10e
+PKG_HASH:=7df7bc1e13ce7180f0438ed05ab6642b5b2b6df91f30b927b470e25a78e04642
PKG_MAINTAINER:=John Clark <inindev@gmail.com>
PKG_LICENSE:=Apache-2.0
@@ -37,10 +37,30 @@ define Package/avro-c/description
This package contains the Apache Avro C library.
endef
+define Package/avro-c-utils
+ SECTIONS:=utils
+ CATEGORY:=Utilities
+ DEPENDS:=+avro-c
+ TITLE:=Apache Avro C utilities
+ URL:=https://avro.apache.org
+endef
+
+define Package/avro-c-utils/description
+ This package contains the Apache Avro C utilities.
+endef
+
+TARGET_LDFLAGS += -Wl,--gc-sections
+
define Package/avro-c/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libavro.so* $(1)/usr/lib/
endef
+define Package/avro-c-utils/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/avro* $(1)/usr/bin/
+endef
+
$(eval $(call BuildPackage,avro-c))
+$(eval $(call BuildPackage,avro-c-utils))
diff --git a/libs/avro/patches/010-pkgconfig.patch b/libs/avro/patches/010-pkgconfig.patch
index 155dee8bc..2c95912ec 100644
--- a/libs/avro/patches/010-pkgconfig.patch
+++ b/libs/avro/patches/010-pkgconfig.patch
@@ -1,6 +1,6 @@
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
-@@ -121,9 +121,8 @@ endif(WIN32)
+@@ -122,9 +122,8 @@ endif(WIN32)
# Install pkg-config file
@@ -22,7 +22,7 @@
Name: avro-c
Description: C library for parsing Avro data
Version: @VERSION@
- URL: http://avro.apache.org/
+ URL: https://avro.apache.org/
-Libs: -L@prefix@/lib -lavro
-Cflags: -I@prefix@/include
+Libs: -L${libdir} -lavro
diff --git a/libs/avro/patches/020-bin-shared.patch b/libs/avro/patches/020-bin-shared.patch
new file mode 100644
index 000000000..61419373d
--- /dev/null
+++ b/libs/avro/patches/020-bin-shared.patch
@@ -0,0 +1,27 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -129,20 +129,20 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/avro-c.pc
+ DESTINATION lib/pkgconfig)
+
+ add_executable(avrocat avrocat.c)
+-target_link_libraries(avrocat avro-static)
++target_link_libraries(avrocat avro-shared)
+ install(TARGETS avrocat RUNTIME DESTINATION bin)
+
+ add_executable(avroappend avroappend.c)
+-target_link_libraries(avroappend avro-static)
++target_link_libraries(avroappend avro-shared)
+ install(TARGETS avroappend RUNTIME DESTINATION bin)
+
+ if (NOT WIN32)
+ #TODO: Port getopt() to Windows to compile avropipe.c and avromod.c
+ add_executable(avropipe avropipe.c)
+-target_link_libraries(avropipe avro-static)
++target_link_libraries(avropipe avro-shared)
+ install(TARGETS avropipe RUNTIME DESTINATION bin)
+
+ add_executable(avromod avromod.c)
+-target_link_libraries(avromod avro-static)
++target_link_libraries(avromod avro-shared)
+ install(TARGETS avromod RUNTIME DESTINATION bin)
+ endif(NOT WIN32)
diff --git a/libs/avro/patches/030-ssize_t.patch b/libs/avro/patches/030-ssize_t.patch
new file mode 100644
index 000000000..746c7a5d8
--- /dev/null
+++ b/libs/avro/patches/030-ssize_t.patch
@@ -0,0 +1,11 @@
+--- a/src/avro_generic_internal.h
++++ b/src/avro_generic_internal.h
+@@ -28,6 +28,8 @@ extern "C" {
+ #include "avro/schema.h"
+ #include "avro/value.h"
+
++#include <stdio.h>
++
+ /*
+ * Each generic value implementation struct defines a couple of extra
+ * methods that we use to control the lifecycle of the value objects.