From 6c39d2d621d15cd6f252545c791bbc381b1b48bf Mon Sep 17 00:00:00 2001
From: Koen Zandberg <koen@bergzand.net>
Date: Mon, 16 Apr 2018 19:01:27 +0200
Subject: [PATCH] pkg/libcose: Add package for COSE

---
 pkg/libcose/Makefile               | 12 ++++++++++++
 pkg/libcose/Makefile.dep           | 10 ++++++++++
 pkg/libcose/Makefile.include       | 12 ++++++++++++
 pkg/libcose/Makefile.libcose       |  3 +++
 pkg/libcose/Makefile.libcose_crypt |  4 ++++
 5 files changed, 41 insertions(+)
 create mode 100644 pkg/libcose/Makefile
 create mode 100644 pkg/libcose/Makefile.dep
 create mode 100644 pkg/libcose/Makefile.include
 create mode 100644 pkg/libcose/Makefile.libcose
 create mode 100644 pkg/libcose/Makefile.libcose_crypt

diff --git a/pkg/libcose/Makefile b/pkg/libcose/Makefile
new file mode 100644
index 0000000000..5771706bb1
--- /dev/null
+++ b/pkg/libcose/Makefile
@@ -0,0 +1,12 @@
+PKG_NAME=libcose
+PKG_URL=https://github.com/bergzand/libcose
+PKG_VERSION=v0.3.1
+PKG_LICENSE=LGPL
+
+.PHONY: all
+
+all: git-download
+	"$(MAKE)" -C $(PKG_BUILDDIR)/src -f $(CURDIR)/Makefile.libcose
+	"$(MAKE)" -C $(PKG_BUILDDIR)/src/crypt -f $(CURDIR)/Makefile.libcose_crypt
+
+include $(RIOTBASE)/pkg/pkg.mk
diff --git a/pkg/libcose/Makefile.dep b/pkg/libcose/Makefile.dep
new file mode 100644
index 0000000000..33718ac8f9
--- /dev/null
+++ b/pkg/libcose/Makefile.dep
@@ -0,0 +1,10 @@
+USEPKG += cn-cbor
+
+USEMODULE += libcose_crypt
+
+ifneq (,$(filter libcose_crypt_tweetnacl,$(USEMODULE)))
+  USEPKG += tweetnacl
+endif
+ifneq (,$(filter libcose_crypt_hacl,$(USEMODULE)))
+  USEPKG += hacl
+endif
diff --git a/pkg/libcose/Makefile.include b/pkg/libcose/Makefile.include
new file mode 100644
index 0000000000..744210a853
--- /dev/null
+++ b/pkg/libcose/Makefile.include
@@ -0,0 +1,12 @@
+INCLUDES += -I$(PKGDIRBASE)/libcose/include
+CFLAGS += -DUSE_CBOR_CONTEXT
+
+ifneq (,$(filter libcose_crypt_tweetnacl,$(USEMODULE)))
+  CFLAGS += -DCRYPTO_TWEETNACL
+endif
+ifneq (,$(filter libcose_crypt_hacl,$(USEMODULE)))
+  CFLAGS += -DCRYPTO_HACL
+endif
+
+# Declare pseudomodules here to be selfcontained
+PSEUDOMODULES += libcose_crypt_%
diff --git a/pkg/libcose/Makefile.libcose b/pkg/libcose/Makefile.libcose
new file mode 100644
index 0000000000..0adb43d408
--- /dev/null
+++ b/pkg/libcose/Makefile.libcose
@@ -0,0 +1,3 @@
+MODULE := libcose
+
+include $(RIOTBASE)/Makefile.base
diff --git a/pkg/libcose/Makefile.libcose_crypt b/pkg/libcose/Makefile.libcose_crypt
new file mode 100644
index 0000000000..a381cb2df3
--- /dev/null
+++ b/pkg/libcose/Makefile.libcose_crypt
@@ -0,0 +1,4 @@
+MODULE := libcose_crypt
+SUBMODULES = 1
+
+include $(RIOTBASE)/Makefile.base
-- 
GitLab