mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] libgpiod: new package
@ 2017-05-19 17:01 Clemens Gruber
  2017-05-24 13:59 ` Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Clemens Gruber @ 2017-05-19 17:01 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

libgpiod is a C library with tools for interacting with the Linux
GPIO character device. Add a package for it.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 patches/libgpiod-0.2/autogen.sh |  1 +
 rules/libgpiod.in               | 57 +++++++++++++++++++++++++++++++++
 rules/libgpiod.make             | 70 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 128 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..a0d48943f
--- /dev/null
+++ b/rules/libgpiod.in
@@ -0,0 +1,57 @@
+## 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.
+
+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..1f4a2a38d
--- /dev/null
+++ b/rules/libgpiod.make
@@ -0,0 +1,70 @@
+# -*-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_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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ptxdist] [PATCH] libgpiod: new package
  2017-05-19 17:01 [ptxdist] [PATCH] libgpiod: new package Clemens Gruber
@ 2017-05-24 13:59 ` Michael Olbrich
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2017-05-24 13:59 UTC (permalink / raw)
  To: ptxdist

Hi,

On Fri, May 19, 2017 at 07:01:29PM +0200, Clemens Gruber wrote:
> libgpiod is a C library with tools for interacting with the Linux
> GPIO character device. Add a package for it.

This fails to build here:

core.c:41:28: error: field 'request' has incomplete type
core.c:52:28: error: field 'event' has incomplete type
core.c: In function 'gpiod_line_request_bulk':
[...]

I think this needs newer kernel headers. Check e.g. systemd.make on how to
make sure, that they are used if available. And add a comment which version
is needed.

Michael

> Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
> ---
>  patches/libgpiod-0.2/autogen.sh |  1 +
>  rules/libgpiod.in               | 57 +++++++++++++++++++++++++++++++++
>  rules/libgpiod.make             | 70 +++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 128 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..a0d48943f
> --- /dev/null
> +++ b/rules/libgpiod.in
> @@ -0,0 +1,57 @@
> +## 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.
> +
> +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..1f4a2a38d
> --- /dev/null
> +++ b/rules/libgpiod.make
> @@ -0,0 +1,70 @@
> +# -*-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_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

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-05-24 13:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-19 17:01 [ptxdist] [PATCH] libgpiod: new package Clemens Gruber
2017-05-24 13:59 ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox