From: Clemens Gruber <clemens.gruber@pqgruber.com>
To: ptxdist@pengutronix.de
Cc: Clemens Gruber <clemens.gruber@pqgruber.com>
Subject: [ptxdist] [PATCH v2] libgpiod: new package
Date: Wed, 24 May 2017 17:09:19 +0200 [thread overview]
Message-ID: <20170524150919.24991-1-clemens.gruber@pqgruber.com> (raw)
libgpiod is a C library with tools for interacting with the Linux
GPIO character device. Add a package for it.
Note: Requires kernel-headers >= 4.8.
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
patches/libgpiod-0.2/autogen.sh | 1 +
rules/libgpiod.in | 58 +++++++++++++++++++++++++++++++
rules/libgpiod.make | 76 +++++++++++++++++++++++++++++++++++++++++
3 files changed, 135 insertions(+)
create mode 120000 patches/libgpiod-0.2/autogen.sh
create mode 100644 rules/libgpiod.in
create mode 100644 rules/libgpiod.make
diff --git a/patches/libgpiod-0.2/autogen.sh b/patches/libgpiod-0.2/autogen.sh
new file mode 120000
index 000000000..9f8a4cb7d
--- /dev/null
+++ b/patches/libgpiod-0.2/autogen.sh
@@ -0,0 +1 @@
+../autogen.sh
\ No newline at end of file
diff --git a/rules/libgpiod.in b/rules/libgpiod.in
new file mode 100644
index 000000000..23625ed49
--- /dev/null
+++ b/rules/libgpiod.in
@@ -0,0 +1,58 @@
+## SECTION=system_libraries
+
+menuconfig LIBGPIOD
+ tristate
+ prompt "libgpiod"
+ help
+ libgpiod is a library accompanied by a set of tools for
+ interacting with the Linux GPIO character device.
+ Requires kernel-headers >= 4.8.
+
+if LIBGPIOD
+
+config LIBGPIOD_TOOLS
+ bool
+
+config LIBGPIOD_GPIODETECT
+ bool
+ prompt "Install gpiodetect"
+ select LIBGPIOD_TOOLS
+ help
+ Lists all gpiochips present on the system
+
+config LIBGPIOD_GPIOINFO
+ bool
+ prompt "Install gpioinfo"
+ select LIBGPIOD_TOOLS
+ help
+ Lists all lines of specified gpiochips
+
+config LIBGPIOD_GPIOGET
+ bool
+ prompt "Install gpioget"
+ select LIBGPIOD_TOOLS
+ help
+ Reads values of specified GPIO lines
+
+config LIBGPIOD_GPIOSET
+ bool
+ prompt "Install gpioset"
+ select LIBGPIOD_TOOLS
+ help
+ Sets values of specified GPIO lines
+
+config LIBGPIOD_GPIOFIND
+ bool
+ prompt "Install gpiofind"
+ select LIBGPIOD_TOOLS
+ help
+ Finds the gpiochip given the line name
+
+config LIBGPIOD_GPIOMON
+ bool
+ prompt "Install gpiomon"
+ select LIBGPIOD_TOOLS
+ help
+ Waits for events on a GPIO line
+
+endif
diff --git a/rules/libgpiod.make b/rules/libgpiod.make
new file mode 100644
index 000000000..b1518ae35
--- /dev/null
+++ b/rules/libgpiod.make
@@ -0,0 +1,76 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Clemens Gruber <clemens.gruber@pqgruber.com>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_LIBGPIOD) += libgpiod
+
+#
+# Paths and names
+#
+LIBGPIOD_VERSION := 0.2
+LIBGPIOD_MD5 := e3430f35b6efa842693d659c0bfb7ad5
+LIBGPIOD := libgpiod-$(LIBGPIOD_VERSION)
+LIBGPIOD_SUFFIX := tar.gz
+LIBGPIOD_URL := https://github.com/brgl/libgpiod/archive/v$(LIBGPIOD_VERSION).$(LIBGPIOD_SUFFIX)
+LIBGPIOD_SOURCE := $(SRCDIR)/$(LIBGPIOD).$(LIBGPIOD_SUFFIX)
+LIBGPIOD_DIR := $(BUILDDIR)/$(LIBGPIOD)
+LIBGPIOD_LICENSE := LGPL-2.1
+LIBGPIOD_LICENSE_FILES := file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+LIBGPIOD_CONF_TOOL := autoconf
+LIBGPIOD_CONF_OPT := \
+ $(CROSS_AUTOCONF_USR) \
+ --$(call ptx/endis, PTXCONF_LIBGPIOD_TOOLS)-tools \
+ --disable-tests
+
+# libgpiod requires kernel headers >= 4.8
+ifdef PTXCONF_KERNEL_HEADER
+LIBGPIOD_CPPFLAGS := \
+ -I$(KERNEL_HEADERS_INCLUDE_DIR)
+endif
+
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIODETECT) += gpiodetect
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOINFO) += gpioinfo
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOGET) += gpioget
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOSET) += gpioset
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOFIND) += gpiofind
+LIBGPIOD_TOOLS-$(PTXCONF_LIBGPIOD_GPIOMON) += gpiomon
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/libgpiod.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, libgpiod)
+ @$(call install_fixup, libgpiod, PRIORITY, optional)
+ @$(call install_fixup, libgpiod, SECTION, base)
+ @$(call install_fixup, libgpiod, AUTHOR, "Clemens Gruber <clemens.gruber@pqgruber.com>")
+ @$(call install_fixup, libgpiod, DESCRIPTION, "Linux GPIO character device library")
+
+ @$(call install_lib, libgpiod, 0, 0, 0644, libgpiod)
+
+ @for tool in $(LIBGPIOD_TOOLS-y); do \
+ $(call install_copy, libgpiod, 0, 0, 0755, -, \
+ /usr/bin/$$tool); \
+ done
+
+ @$(call install_finish, libgpiod)
+
+ @$(call touch)
+
+# vim: syntax=make
--
2.13.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next reply other threads:[~2017-05-24 15:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-24 15:09 Clemens Gruber [this message]
2017-05-24 16:43 ` Robert Schwebel
2017-05-24 17:11 ` Clemens Gruber
2017-05-26 8:57 ` Uwe Kleine-König
2017-05-26 9:29 ` Clemens Gruber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170524150919.24991-1-clemens.gruber@pqgruber.com \
--to=clemens.gruber@pqgruber.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox