meta-google: conf2struct-native: Add package

Google-Bug-Id: 179618161
Upstream: 8ac594bdf054082ca6dbe35c4345759fe4c31669
Change-Id: I1f86406891528241295455c6498f2a488d5b1b78
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/meta-google/recipes-extended/libconfig/conf2struct-native_git.bb b/meta-google/recipes-extended/libconfig/conf2struct-native_git.bb
new file mode 100644
index 0000000..1a77f4d
--- /dev/null
+++ b/meta-google/recipes-extended/libconfig/conf2struct-native_git.bb
@@ -0,0 +1,32 @@
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1b886630cdc9a17c26250934beda407d"
+
+PV = "0.1+git${SRCPV}"
+SRC_URI = "git://github.com/yrutschle/conf2struct"
+SRCREV = "e8468017b27211b1c452f8df0afe6f19e97035a4"
+S = "${WORKDIR}/git"
+
+SRC_URI += " \
+  file://0001-makefile-Add-missing-LDFLAGS.patch \
+  file://0001-conf2struct-Use-the-right-perl.patch \
+  "
+
+inherit native
+
+DEPENDS += " \
+  libconfig-native \
+  libconfig-perl-native \
+  "
+
+EXTRA_OEMAKE += " \
+  DESTDIR=${D} \
+  prefix=${prefix} \
+  "
+
+do_compile() {
+    oe_runmake checker
+}
+
+do_install() {
+    oe_runmake install
+}
diff --git a/meta-google/recipes-extended/libconfig/files/0001-conf2struct-Use-the-right-perl.patch b/meta-google/recipes-extended/libconfig/files/0001-conf2struct-Use-the-right-perl.patch
new file mode 100644
index 0000000..8340269
--- /dev/null
+++ b/meta-google/recipes-extended/libconfig/files/0001-conf2struct-Use-the-right-perl.patch
@@ -0,0 +1,23 @@
+From b44f0d3dbcadb20396dc83a2aa307d54490388ea Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <wak@google.com>
+Date: Thu, 28 May 2020 23:07:58 -0700
+Subject: [PATCH] conf2struct: Use the right perl
+
+---
+ conf2struct | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/conf2struct b/conf2struct
+index 8d68741..b88a9b7 100755
+--- a/conf2struct
++++ b/conf2struct
+@@ -1,4 +1,5 @@
+-#! /usr/bin/perl -w
++#!/usr/bin/env perl
++use warnings;
+ 
+ my $license = <<EOF;
+ # conf2struct: generate libconf parsers that read to structs
+-- 
+2.27.0.rc0.183.gde8f92d652-goog
+
diff --git a/meta-google/recipes-extended/libconfig/files/0001-makefile-Add-missing-LDFLAGS.patch b/meta-google/recipes-extended/libconfig/files/0001-makefile-Add-missing-LDFLAGS.patch
new file mode 100644
index 0000000..0dc8845
--- /dev/null
+++ b/meta-google/recipes-extended/libconfig/files/0001-makefile-Add-missing-LDFLAGS.patch
@@ -0,0 +1,34 @@
+From 8fc429f59df50e1f468c8e9616a6e7ef42cc6ebf Mon Sep 17 00:00:00 2001
+From: "William A. Kennington III" <wak@google.com>
+Date: Thu, 28 May 2020 22:51:47 -0700
+Subject: [PATCH] makefile: Add missing LDFLAGS
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a4d5f10..4976726 100644
+--- a/Makefile
++++ b/Makefile
+@@ -6,7 +6,7 @@ all: example checker
+ CFLAGS=-g
+ 
+ checker: confcheck.o
+-	$(CC) $(CFLAGS) -o confcheck confcheck.o -lconfig
++	$(CC) $(CFLAGS) -o confcheck confcheck.o $(LDFLAGS) -lconfig
+ 
+ 
+ install:
+@@ -19,7 +19,7 @@ uninstall:
+ 	
+ EG_OBJ=example.o parser.o argtable3.o
+ example: $(EG_OBJ)
+-	$(CC) $(CFLAGS) -o example $(EG_OBJ) -lconfig
++	$(CC) $(CFLAGS) -o example $(EG_OBJ) $(LDFLAGS) -lconfig
+ 
+ example.c: eg_conf.cfg
+ 	./conf2struct eg_conf.cfg
+-- 
+2.27.0.rc0.183.gde8f92d652-goog
+