* [Buildroot] [PATCH v3 0/2] new Avro packages
@ 2019-12-14 17:42 Titouan Christophe
2019-12-14 17:42 ` [Buildroot] [PATCH v3 1/2] package/avro-c: new package Titouan Christophe
2019-12-14 17:42 ` [Buildroot] [PATCH v3 2/2] package/python-avro: " Titouan Christophe
0 siblings, 2 replies; 6+ messages in thread
From: Titouan Christophe @ 2019-12-14 17:42 UTC (permalink / raw)
To: buildroot
Apache Avro is a data serialization system, somewhat similar to protobuff or
cap'n proto. Unlike them however, Avro schemas can be distributed in JSON
files to be loaded at runtime, rather than language-specific generated code
to use at compile time, even though the latter is also possible with Avro.
http://avro.apache.org/
This series adds 2 packages for the Avro serialization format:
* 1 package for the C language bindings and files manipulation utilities
* 1 package for the Python3 language bindings, and a file manipulation utility
There are also Avro bindings for other languages such as Perl, PHP, Java, Ruby
or C++. However, because I am not familiar with these ones and not using them,
they are not part of this initial series.
---
Changes v1->v2:
* Use per-language archives from upstream
* Split new packages in multiple patches
* Keep my DEVELOPERS packages in alphabetical order
Changes v2->v3:
* avro-c depends on zlib, snappy if they are enabled
* NOTICE is not part of the license files
* fix musl patch format for avro-c
* display the prompt "avro-c" in menuconfig and add comment for shared libs
* add upstream url in Config.in
---
Titouan Christophe (2):
package/avro-c: new package
package/python-avro: new package
DEVELOPERS | 2 ++
package/Config.in | 2 ++
package/avro-c/0001-Compile-on-musl.patch | 39 +++++++++++++++++++++++
package/avro-c/Config.in | 25 +++++++++++++++
package/avro-c/avro-c.hash | 5 +++
package/avro-c/avro-c.mk | 22 +++++++++++++
package/python-avro/Config.in | 20 ++++++++++++
package/python-avro/python-avro.hash | 5 +++
package/python-avro/python-avro.mk | 14 ++++++++
9 files changed, 134 insertions(+)
create mode 100644 package/avro-c/0001-Compile-on-musl.patch
create mode 100644 package/avro-c/Config.in
create mode 100644 package/avro-c/avro-c.hash
create mode 100644 package/avro-c/avro-c.mk
create mode 100644 package/python-avro/Config.in
create mode 100644 package/python-avro/python-avro.hash
create mode 100644 package/python-avro/python-avro.mk
--
2.23.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/2] package/avro-c: new package
2019-12-14 17:42 [Buildroot] [PATCH v3 0/2] new Avro packages Titouan Christophe
@ 2019-12-14 17:42 ` Titouan Christophe
2019-12-15 9:39 ` Gilles Talis
2019-12-22 21:18 ` Yann E. MORIN
2019-12-14 17:42 ` [Buildroot] [PATCH v3 2/2] package/python-avro: " Titouan Christophe
1 sibling, 2 replies; 6+ messages in thread
From: Titouan Christophe @ 2019-12-14 17:42 UTC (permalink / raw)
To: buildroot
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/avro-c/0001-Compile-on-musl.patch | 39 +++++++++++++++++++++++
package/avro-c/Config.in | 25 +++++++++++++++
package/avro-c/avro-c.hash | 5 +++
package/avro-c/avro-c.mk | 22 +++++++++++++
6 files changed, 93 insertions(+)
create mode 100644 package/avro-c/0001-Compile-on-musl.patch
create mode 100644 package/avro-c/Config.in
create mode 100644 package/avro-c/avro-c.hash
create mode 100644 package/avro-c/avro-c.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 8d11ad8a31..4468373a73 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2400,6 +2400,7 @@ N: Timo Ketola <timo.ketola@exertus.fi>
F: package/fbgrab/
N: Titouan Christophe <titouan.christophe@railnova.eu>
+F: package/avro-c/
F: package/mosquitto/
F: package/redis/
diff --git a/package/Config.in b/package/Config.in
index 4bac3aabff..fa4e98403c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1708,6 +1708,7 @@ menu "Other"
source "package/argp-standalone/Config.in"
source "package/armadillo/Config.in"
source "package/atf/Config.in"
+ source "package/avro-c/Config.in"
source "package/bctoolbox/Config.in"
source "package/bdwgc/Config.in"
source "package/boost/Config.in"
diff --git a/package/avro-c/0001-Compile-on-musl.patch b/package/avro-c/0001-Compile-on-musl.patch
new file mode 100644
index 0000000000..d6df6e83c2
--- /dev/null
+++ b/package/avro-c/0001-Compile-on-musl.patch
@@ -0,0 +1,39 @@
+From 4ada709e44e26a329d11359f10ab208ce758d863 Mon Sep 17 00:00:00 2001
+From: Titouan Christophe <titouan.christophe@railnova.eu>
+Date: Sun, 8 Dec 2019 01:55:59 +0100
+Subject: [PATCH] Allow avro C to be built on musl based systems.
+
+The type 'ssize_t' is defined in sys/types.h, and nowhere else
+in the musl standard C library, so it should be included for the
+compilation to succeed.
+
+This fixes several errors like:
+
+ In file included from src/generic.c:29:0:
+ src/generic.c: In function 'avro_generic_value_new':
+ src/avro_generic_internal.h:63:39:
+ error: 'ssize_t' undeclared (first use in this function);
+ did you mean 'size_t'?
+
+Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
+[Upstream status: https://github.com/apache/avro/pull/740]
+---
+ src/avro_generic_internal.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/avro_generic_internal.h b/src/avro_generic_internal.h
+index 709403c0..9843ed65 100644
+--- a/src/avro_generic_internal.h
++++ b/src/avro_generic_internal.h
+@@ -24,6 +24,8 @@ extern "C" {
+ #define CLOSE_EXTERN
+ #endif
+
++#include <sys/types.h>
++
+ #include "avro/generic.h"
+ #include "avro/schema.h"
+ #include "avro/value.h"
+--
+2.23.0
+
diff --git a/package/avro-c/Config.in b/package/avro-c/Config.in
new file mode 100644
index 0000000000..fe962e1e3c
--- /dev/null
+++ b/package/avro-c/Config.in
@@ -0,0 +1,25 @@
+comment "avro-c needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
+
+config BR2_PACKAGE_AVRO_C
+ bool "avro-c"
+ depends on !BR2_STATIC_LIBS # Avro unconditionally compiles shared libs
+ select BR2_PACKAGE_JANSSON
+ help
+ Select this option to install the Avro C language bindings,
+ and the command line tools avroappend, avrocat, avromod and
+ avropipe.
+
+ Apache Avro is a data serialization system.
+ Avro provides:
+ - Rich data structures.
+ - A compact, fast, binary data format.
+ - A container file, to store persistent data.
+ - Remote procedure call (RPC).
+ - Simple integration with dynamic languages.
+ - Code generation is not required to read or write data
+ files nor to use or implement RPC protocols.
+ - Code generation as an optional optimization,
+ only worth implementing for statically typed languages.
+
+ http://avro.apache.org/
diff --git a/package/avro-c/avro-c.hash b/package/avro-c/avro-c.hash
new file mode 100644
index 0000000000..da74f3c052
--- /dev/null
+++ b/package/avro-c/avro-c.hash
@@ -0,0 +1,5 @@
+# From https://www-eu.apache.org/dist/avro/avro-1.9.1/c/avro-c-1.9.1.tar.gz.sha512
+sha512 68b1f44f870c9b6f0b2380da9e34d91148ff4398cb300f4bdd4e3e1ad00820acd9084b73232b00d4cd4935fb992b41dc65afdafcbea14a3d87259608688df904 avro-c-1.9.1.tar.gz
+
+# License files
+sha256 d62488d6ba17132e92c23c03c80bfedc848267f96ab36489fec860f76cf6819a LICENSE
diff --git a/package/avro-c/avro-c.mk b/package/avro-c/avro-c.mk
new file mode 100644
index 0000000000..01fc97f33d
--- /dev/null
+++ b/package/avro-c/avro-c.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# avro-c
+#
+################################################################################
+
+AVRO_C_VERSION = 1.9.1
+AVRO_C_SITE = https://www-eu.apache.org/dist/avro/avro-$(AVRO_C_VERSION)/c
+AVRO_C_LICENSE = Apache-2.0
+AVRO_C_LICENSE_FILES = LICENSE
+AVRO_C_INSTALL_STAGING = YES
+AVRO_C_DEPENDENCIES = jansson
+
+ifeq ($(BR2_PACKAGE_SNAPPY),y)
+AVRO_C_DEPENDENCIES += snappy
+endif
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+AVRO_C_DEPENDENCIES += zlib
+endif
+
+$(eval $(cmake-package))
--
2.23.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 2/2] package/python-avro: new package
2019-12-14 17:42 [Buildroot] [PATCH v3 0/2] new Avro packages Titouan Christophe
2019-12-14 17:42 ` [Buildroot] [PATCH v3 1/2] package/avro-c: new package Titouan Christophe
@ 2019-12-14 17:42 ` Titouan Christophe
2019-12-15 9:40 ` Gilles Talis
1 sibling, 1 reply; 6+ messages in thread
From: Titouan Christophe @ 2019-12-14 17:42 UTC (permalink / raw)
To: buildroot
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/python-avro/Config.in | 20 ++++++++++++++++++++
package/python-avro/python-avro.hash | 5 +++++
package/python-avro/python-avro.mk | 14 ++++++++++++++
5 files changed, 41 insertions(+)
create mode 100644 package/python-avro/Config.in
create mode 100644 package/python-avro/python-avro.hash
create mode 100644 package/python-avro/python-avro.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 4468373a73..e7a8a8d3aa 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2402,6 +2402,7 @@ F: package/fbgrab/
N: Titouan Christophe <titouan.christophe@railnova.eu>
F: package/avro-c/
F: package/mosquitto/
+F: package/python-avro/
F: package/redis/
N: Trent Piepho <tpiepho@impinj.com>
diff --git a/package/Config.in b/package/Config.in
index fa4e98403c..f43f64357b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -845,6 +845,7 @@ menu "External python modules"
source "package/python-attrs/Config.in"
source "package/python-autobahn/Config.in"
source "package/python-automat/Config.in"
+ source "package/python-avro/Config.in"
source "package/python-babel/Config.in"
source "package/python-backcall/Config.in"
source "package/python-backports-abc/Config.in"
diff --git a/package/python-avro/Config.in b/package/python-avro/Config.in
new file mode 100644
index 0000000000..e1d7fc832c
--- /dev/null
+++ b/package/python-avro/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_PYTHON_AVRO
+ bool "python-avro"
+ depends on BR2_PACKAGE_PYTHON3
+ help
+ Select this option to install the Avro Python3 language
+ bindings, and the `avro` command line tool
+
+ Apache Avro is a data serialization system.
+ Avro provides:
+ - Rich data structures.
+ - A compact, fast, binary data format.
+ - A container file, to store persistent data.
+ - Remote procedure call (RPC).
+ - Simple integration with dynamic languages.
+ - Code generation is not required to read or write data
+ files nor to use or implement RPC protocols.
+ - Code generation as an optional optimization,
+ only worth implementing for statically typed languages.
+
+ http://avro.apache.org/
diff --git a/package/python-avro/python-avro.hash b/package/python-avro/python-avro.hash
new file mode 100644
index 0000000000..f63b37ee0a
--- /dev/null
+++ b/package/python-avro/python-avro.hash
@@ -0,0 +1,5 @@
+# From https://www-eu.apache.org/dist/avro/avro-1.9.1/py3/avro-python3-1.9.1.tar.gz.sha512
+sha512 771ce6e5ca6315f5b9108cb4f5dd9488575cc3433ffdd744f96ce7989763728259c89475319fd9c411ed6b65c996b762548c50a697eb1fba9ab024112ca17daa avro-python3-1.9.1.tar.gz
+
+# License files
+sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 avro/LICENSE
diff --git a/package/python-avro/python-avro.mk b/package/python-avro/python-avro.mk
new file mode 100644
index 0000000000..3f9140e946
--- /dev/null
+++ b/package/python-avro/python-avro.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# python-avro
+#
+################################################################################
+
+PYTHON_AVRO_VERSION = $(AVRO_C_VERSION)
+PYTHON_AVRO_SITE = https://www-eu.apache.org/dist/avro/avro-1.9.1/py3
+PYTHON_AVRO_SOURCE = avro-python3-$(PYTHON_AVRO_VERSION).tar.gz
+PYTHON_AVRO_LICENSE = Apache-2.0
+PYTHON_AVRO_LICENSE_FILES = avro/LICENSE
+PYTHON_AVRO_SETUP_TYPE = setuptools
+
+$(eval $(python-package))
--
2.23.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/2] package/avro-c: new package
2019-12-14 17:42 ` [Buildroot] [PATCH v3 1/2] package/avro-c: new package Titouan Christophe
@ 2019-12-15 9:39 ` Gilles Talis
2019-12-22 21:18 ` Yann E. MORIN
1 sibling, 0 replies; 6+ messages in thread
From: Gilles Talis @ 2019-12-15 9:39 UTC (permalink / raw)
To: buildroot
Hello Titouan, all
Le sam. 14 d?c. 2019 ? 18:42, Titouan Christophe
<titouan.christophe@railnova.eu> a ?crit :
>
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/avro-c/0001-Compile-on-musl.patch | 39 +++++++++++++++++++++++
> package/avro-c/Config.in | 25 +++++++++++++++
> package/avro-c/avro-c.hash | 5 +++
> package/avro-c/avro-c.mk | 22 +++++++++++++
> 6 files changed, 93 insertions(+)
> create mode 100644 package/avro-c/0001-Compile-on-musl.patch
> create mode 100644 package/avro-c/Config.in
> create mode 100644 package/avro-c/avro-c.hash
> create mode 100644 package/avro-c/avro-c.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 8d11ad8a31..4468373a73 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2400,6 +2400,7 @@ N: Timo Ketola <timo.ketola@exertus.fi>
> F: package/fbgrab/
>
> N: Titouan Christophe <titouan.christophe@railnova.eu>
> +F: package/avro-c/
> F: package/mosquitto/
> F: package/redis/
>
> diff --git a/package/Config.in b/package/Config.in
> index 4bac3aabff..fa4e98403c 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1708,6 +1708,7 @@ menu "Other"
> source "package/argp-standalone/Config.in"
> source "package/armadillo/Config.in"
> source "package/atf/Config.in"
> + source "package/avro-c/Config.in"
> source "package/bctoolbox/Config.in"
> source "package/bdwgc/Config.in"
> source "package/boost/Config.in"
> diff --git a/package/avro-c/0001-Compile-on-musl.patch b/package/avro-c/0001-Compile-on-musl.patch
> new file mode 100644
> index 0000000000..d6df6e83c2
> --- /dev/null
> +++ b/package/avro-c/0001-Compile-on-musl.patch
> @@ -0,0 +1,39 @@
> +From 4ada709e44e26a329d11359f10ab208ce758d863 Mon Sep 17 00:00:00 2001
> +From: Titouan Christophe <titouan.christophe@railnova.eu>
> +Date: Sun, 8 Dec 2019 01:55:59 +0100
> +Subject: [PATCH] Allow avro C to be built on musl based systems.
> +
> +The type 'ssize_t' is defined in sys/types.h, and nowhere else
> +in the musl standard C library, so it should be included for the
> +compilation to succeed.
> +
> +This fixes several errors like:
> +
> + In file included from src/generic.c:29:0:
> + src/generic.c: In function 'avro_generic_value_new':
> + src/avro_generic_internal.h:63:39:
> + error: 'ssize_t' undeclared (first use in this function);
> + did you mean 'size_t'?
> +
> +Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> +[Upstream status: https://github.com/apache/avro/pull/740]
> +---
> + src/avro_generic_internal.h | 2 ++
> + 1 file changed, 2 insertions(+)
> +
> +diff --git a/src/avro_generic_internal.h b/src/avro_generic_internal.h
> +index 709403c0..9843ed65 100644
> +--- a/src/avro_generic_internal.h
> ++++ b/src/avro_generic_internal.h
> +@@ -24,6 +24,8 @@ extern "C" {
> + #define CLOSE_EXTERN
> + #endif
> +
> ++#include <sys/types.h>
> ++
> + #include "avro/generic.h"
> + #include "avro/schema.h"
> + #include "avro/value.h"
> +--
> +2.23.0
> +
> diff --git a/package/avro-c/Config.in b/package/avro-c/Config.in
> new file mode 100644
> index 0000000000..fe962e1e3c
> --- /dev/null
> +++ b/package/avro-c/Config.in
> @@ -0,0 +1,25 @@
> +comment "avro-c needs a toolchain w/ dynamic library"
> + depends on BR2_STATIC_LIBS
> +
> +config BR2_PACKAGE_AVRO_C
> + bool "avro-c"
> + depends on !BR2_STATIC_LIBS # Avro unconditionally compiles shared libs
> + select BR2_PACKAGE_JANSSON
> + help
> + Select this option to install the Avro C language bindings,
> + and the command line tools avroappend, avrocat, avromod and
> + avropipe.
> +
> + Apache Avro is a data serialization system.
> + Avro provides:
> + - Rich data structures.
> + - A compact, fast, binary data format.
> + - A container file, to store persistent data.
> + - Remote procedure call (RPC).
> + - Simple integration with dynamic languages.
> + - Code generation is not required to read or write data
> + files nor to use or implement RPC protocols.
> + - Code generation as an optional optimization,
> + only worth implementing for statically typed languages.
> +
> + http://avro.apache.org/
> diff --git a/package/avro-c/avro-c.hash b/package/avro-c/avro-c.hash
> new file mode 100644
> index 0000000000..da74f3c052
> --- /dev/null
> +++ b/package/avro-c/avro-c.hash
> @@ -0,0 +1,5 @@
> +# From https://www-eu.apache.org/dist/avro/avro-1.9.1/c/avro-c-1.9.1.tar.gz.sha512
> +sha512 68b1f44f870c9b6f0b2380da9e34d91148ff4398cb300f4bdd4e3e1ad00820acd9084b73232b00d4cd4935fb992b41dc65afdafcbea14a3d87259608688df904 avro-c-1.9.1.tar.gz
> +
> +# License files
> +sha256 d62488d6ba17132e92c23c03c80bfedc848267f96ab36489fec860f76cf6819a LICENSE
> diff --git a/package/avro-c/avro-c.mk b/package/avro-c/avro-c.mk
> new file mode 100644
> index 0000000000..01fc97f33d
> --- /dev/null
> +++ b/package/avro-c/avro-c.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# avro-c
> +#
> +################################################################################
> +
> +AVRO_C_VERSION = 1.9.1
> +AVRO_C_SITE = https://www-eu.apache.org/dist/avro/avro-$(AVRO_C_VERSION)/c
> +AVRO_C_LICENSE = Apache-2.0
> +AVRO_C_LICENSE_FILES = LICENSE
> +AVRO_C_INSTALL_STAGING = YES
> +AVRO_C_DEPENDENCIES = jansson
> +
> +ifeq ($(BR2_PACKAGE_SNAPPY),y)
> +AVRO_C_DEPENDENCIES += snappy
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ZLIB),y)
> +AVRO_C_DEPENDENCIES += zlib
> +endif
> +
> +$(eval $(cmake-package))
> --
> 2.23.0
>
Reviewed-by: Gilles Talis <gilles.talis@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 2/2] package/python-avro: new package
2019-12-14 17:42 ` [Buildroot] [PATCH v3 2/2] package/python-avro: " Titouan Christophe
@ 2019-12-15 9:40 ` Gilles Talis
0 siblings, 0 replies; 6+ messages in thread
From: Gilles Talis @ 2019-12-15 9:40 UTC (permalink / raw)
To: buildroot
Hello Titouan, all
Le sam. 14 d?c. 2019 ? 18:42, Titouan Christophe
<titouan.christophe@railnova.eu> a ?crit :
>
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> ---
> DEVELOPERS | 1 +
> package/Config.in | 1 +
> package/python-avro/Config.in | 20 ++++++++++++++++++++
> package/python-avro/python-avro.hash | 5 +++++
> package/python-avro/python-avro.mk | 14 ++++++++++++++
> 5 files changed, 41 insertions(+)
> create mode 100644 package/python-avro/Config.in
> create mode 100644 package/python-avro/python-avro.hash
> create mode 100644 package/python-avro/python-avro.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 4468373a73..e7a8a8d3aa 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2402,6 +2402,7 @@ F: package/fbgrab/
> N: Titouan Christophe <titouan.christophe@railnova.eu>
> F: package/avro-c/
> F: package/mosquitto/
> +F: package/python-avro/
> F: package/redis/
>
> N: Trent Piepho <tpiepho@impinj.com>
> diff --git a/package/Config.in b/package/Config.in
> index fa4e98403c..f43f64357b 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -845,6 +845,7 @@ menu "External python modules"
> source "package/python-attrs/Config.in"
> source "package/python-autobahn/Config.in"
> source "package/python-automat/Config.in"
> + source "package/python-avro/Config.in"
> source "package/python-babel/Config.in"
> source "package/python-backcall/Config.in"
> source "package/python-backports-abc/Config.in"
> diff --git a/package/python-avro/Config.in b/package/python-avro/Config.in
> new file mode 100644
> index 0000000000..e1d7fc832c
> --- /dev/null
> +++ b/package/python-avro/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_PYTHON_AVRO
> + bool "python-avro"
> + depends on BR2_PACKAGE_PYTHON3
> + help
> + Select this option to install the Avro Python3 language
> + bindings, and the `avro` command line tool
> +
> + Apache Avro is a data serialization system.
> + Avro provides:
> + - Rich data structures.
> + - A compact, fast, binary data format.
> + - A container file, to store persistent data.
> + - Remote procedure call (RPC).
> + - Simple integration with dynamic languages.
> + - Code generation is not required to read or write data
> + files nor to use or implement RPC protocols.
> + - Code generation as an optional optimization,
> + only worth implementing for statically typed languages.
> +
> + http://avro.apache.org/
> diff --git a/package/python-avro/python-avro.hash b/package/python-avro/python-avro.hash
> new file mode 100644
> index 0000000000..f63b37ee0a
> --- /dev/null
> +++ b/package/python-avro/python-avro.hash
> @@ -0,0 +1,5 @@
> +# From https://www-eu.apache.org/dist/avro/avro-1.9.1/py3/avro-python3-1.9.1.tar.gz.sha512
> +sha512 771ce6e5ca6315f5b9108cb4f5dd9488575cc3433ffdd744f96ce7989763728259c89475319fd9c411ed6b65c996b762548c50a697eb1fba9ab024112ca17daa avro-python3-1.9.1.tar.gz
> +
> +# License files
> +sha256 c79a7fea0e3cac04cd43f20e7b648e5a0ff8fa5344e644b0ee09ca1162b62747 avro/LICENSE
> diff --git a/package/python-avro/python-avro.mk b/package/python-avro/python-avro.mk
> new file mode 100644
> index 0000000000..3f9140e946
> --- /dev/null
> +++ b/package/python-avro/python-avro.mk
> @@ -0,0 +1,14 @@
> +################################################################################
> +#
> +# python-avro
> +#
> +################################################################################
> +
> +PYTHON_AVRO_VERSION = $(AVRO_C_VERSION)
> +PYTHON_AVRO_SITE = https://www-eu.apache.org/dist/avro/avro-1.9.1/py3
> +PYTHON_AVRO_SOURCE = avro-python3-$(PYTHON_AVRO_VERSION).tar.gz
> +PYTHON_AVRO_LICENSE = Apache-2.0
> +PYTHON_AVRO_LICENSE_FILES = avro/LICENSE
> +PYTHON_AVRO_SETUP_TYPE = setuptools
> +
> +$(eval $(python-package))
> --
> 2.23.0
>
Reviewed-by: Gilles Talis <gilles.talis@gmail.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v3 1/2] package/avro-c: new package
2019-12-14 17:42 ` [Buildroot] [PATCH v3 1/2] package/avro-c: new package Titouan Christophe
2019-12-15 9:39 ` Gilles Talis
@ 2019-12-22 21:18 ` Yann E. MORIN
1 sibling, 0 replies; 6+ messages in thread
From: Yann E. MORIN @ 2019-12-22 21:18 UTC (permalink / raw)
To: buildroot
Titouan, All,
On 2019-12-14 18:42 +0100, Titouan Christophe spake thusly:
> Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> ---
[--SNIP--]
> diff --git a/package/avro-c/0001-Compile-on-musl.patch b/package/avro-c/0001-Compile-on-musl.patch
> new file mode 100644
> index 0000000000..d6df6e83c2
> --- /dev/null
> +++ b/package/avro-c/0001-Compile-on-musl.patch
> @@ -0,0 +1,39 @@
> +From 4ada709e44e26a329d11359f10ab208ce758d863 Mon Sep 17 00:00:00 2001
> +From: Titouan Christophe <titouan.christophe@railnova.eu>
> +Date: Sun, 8 Dec 2019 01:55:59 +0100
> +Subject: [PATCH] Allow avro C to be built on musl based systems.
> +
> +The type 'ssize_t' is defined in sys/types.h, and nowhere else
> +in the musl standard C library, so it should be included for the
> +compilation to succeed.
> +
> +This fixes several errors like:
> +
> + In file included from src/generic.c:29:0:
> + src/generic.c: In function 'avro_generic_value_new':
> + src/avro_generic_internal.h:63:39:
> + error: 'ssize_t' undeclared (first use in this function);
> + did you mean 'size_t'?
> +
> +Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
> +[Upstream status: https://github.com/apache/avro/pull/740]
Which has been accepted now. :-)
[--SNIP--]
> diff --git a/package/avro-c/avro-c.mk b/package/avro-c/avro-c.mk
> new file mode 100644
> index 0000000000..01fc97f33d
> --- /dev/null
> +++ b/package/avro-c/avro-c.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# avro-c
> +#
> +################################################################################
> +
> +AVRO_C_VERSION = 1.9.1
> +AVRO_C_SITE = https://www-eu.apache.org/dist/avro/avro-$(AVRO_C_VERSION)/c
> +AVRO_C_LICENSE = Apache-2.0
> +AVRO_C_LICENSE_FILES = LICENSE
> +AVRO_C_INSTALL_STAGING = YES
> +AVRO_C_DEPENDENCIES = jansson
It also use pkg-config, so needs host-pkgconf.
> +ifeq ($(BR2_PACKAGE_SNAPPY),y)
> +AVRO_C_DEPENDENCIES += snappy
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ZLIB),y)
> +AVRO_C_DEPENDENCIES += zlib
> +endif
While you are at it at adding compression libraries, avro-c may also
optionally use liblzma, so may depend on xz.
Care to respin, please?
Regards,
Yann E. MORIN.
> +$(eval $(cmake-package))
> --
> 2.23.0
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-12-22 21:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-14 17:42 [Buildroot] [PATCH v3 0/2] new Avro packages Titouan Christophe
2019-12-14 17:42 ` [Buildroot] [PATCH v3 1/2] package/avro-c: new package Titouan Christophe
2019-12-15 9:39 ` Gilles Talis
2019-12-22 21:18 ` Yann E. MORIN
2019-12-14 17:42 ` [Buildroot] [PATCH v3 2/2] package/python-avro: " Titouan Christophe
2019-12-15 9:40 ` Gilles Talis
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.