mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
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

             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