dev-libs/pigpio: initial pull request (v67)
authorDaniel Kenzelmann <gentoo@k8n.de>
Sat, 17 Mar 2018 13:00:48 +0000 (14:00 +0100)
committerMichał Górny <mgorny@gentoo.org>
Fri, 23 Mar 2018 22:10:04 +0000 (23:10 +0100)
This is a new ebuild for the pigpio library
( http://abyz.me.uk/rpi/pigpio/ )
Supports systemd and openrc start files and also optional python support
currently needed Makefile patches will be reported/requested upstream

Closes: https://bugs.gentoo.org/646570
Closes: https://github.com/gentoo/gentoo/pull/7484

dev-libs/pigpio/Manifest [new file with mode: 0644]
dev-libs/pigpio/files/pigpio-67-makefile.patch [new file with mode: 0644]
dev-libs/pigpio/files/pigpiod.confd [new file with mode: 0644]
dev-libs/pigpio/files/pigpiod.initd [new file with mode: 0644]
dev-libs/pigpio/files/pigpiod.systemd [new file with mode: 0644]
dev-libs/pigpio/metadata.xml [new file with mode: 0644]
dev-libs/pigpio/pigpio-67.ebuild [new file with mode: 0644]

diff --git a/dev-libs/pigpio/Manifest b/dev-libs/pigpio/Manifest
new file mode 100644 (file)
index 0000000..ed15ca2
--- /dev/null
@@ -0,0 +1 @@
+DIST pigpio-67.tar.gz 369268 BLAKE2B a9d59369f5eed4b733e0e5c0e85013a132e55ff63a2393d79a3fb52d1fcb2513559d4dfeea84c4842d6281936b6e116bd81cd63e4542bbcffaf813ee356ee0d1 SHA512 9792f8402ee0dd204f4a975ab0513099a1fe3d398a28b766f412c08d7908e8e307de4cc92b2a2519b6484f15a043bd40008b7707486015c08bda5f97b1e7e00b
diff --git a/dev-libs/pigpio/files/pigpio-67-makefile.patch b/dev-libs/pigpio/files/pigpio-67-makefile.patch
new file mode 100644 (file)
index 0000000..1df4475
--- /dev/null
@@ -0,0 +1,64 @@
+--- a/Makefile 2018-03-21 19:51:11.711880972 +0100
++++ b/Makefile 2018-03-21 20:51:46.341684595 +0100
+@@ -9,6 +9,9 @@
+ STRIP        = $(CROSS_PREFIX)strip
+ SHLIB        = $(CC) -shared
+ STRIPLIB     = $(STRIP) --strip-unneeded
++LDCONFIG     = ldconfig
++PYTHON2      = $(shell type -P python2 || echo ':' 2> /dev/null)
++PYTHON3      = $(shell type -P python3 || echo ':' 2> /dev/null)
+ CFLAGS        += -O3 -Wall -pthread
+@@ -23,7 +26,7 @@
+ LIB      = $(LIB1) $(LIB2) $(LIB3)
+-ALL     = $(LIB) x_pigpio x_pigpiod_if x_pigpiod_if2 pig2vcd pigpiod pigs
++ALL     = $(LIB) pig2vcd pigpiod pigs
+ LL1      = -L. -lpigpio -pthread -lrt
+@@ -64,22 +67,21 @@
+       $(CC) -o x_pigpiod_if2 x_pigpiod_if2.o $(LL3)
+ pigpiod:      pigpiod.o $(LIB1)
+-      $(CC) -o pigpiod pigpiod.o $(LL1)
++      $(CC) $(CFLAGS) $(LDFLAGS) -o pigpiod pigpiod.o $(LL1)
+       $(STRIP) pigpiod
+ pigs:         pigs.o command.o
+-      $(CC) -o pigs pigs.o command.o
++      $(CC) $(CFLAGS) $(LDFLAGS) -o pigs pigs.o command.o
+       $(STRIP) pigs
+ pig2vcd:      pig2vcd.o
+-      $(CC) -o pig2vcd pig2vcd.o
++      $(CC) $(CFLAGS) $(LDFLAGS) -o pig2vcd pig2vcd.o
+       $(STRIP) pig2vcd
+ clean:
+       rm -f *.o *.i *.s *~ $(ALL)
+ install:      $(ALL)
+-      install -m 0755 -d                $(DESTDIR)/opt/pigpio/cgi
+       install -m 0755 -d                $(DESTDIR)$(includedir)
+       install -m 0644 pigpio.h          $(DESTDIR)$(includedir)
+       install -m 0644 pigpiod_if.h      $(DESTDIR)$(includedir)
+@@ -92,13 +94,13 @@
+       install -m 0755 pig2vcd           $(DESTDIR)$(bindir)
+       install -m 0755 pigpiod           $(DESTDIR)$(bindir)
+       install -m 0755 pigs              $(DESTDIR)$(bindir)
+-      if which python2; then python2 setup.py install; fi
+-      if which python3; then python3 setup.py install; fi
++      $(PYTHON2) setup.py install
++      $(PYTHON3) setup.py install
+       install -m 0755 -d                $(DESTDIR)$(mandir)/man1
+       install -m 0644 *.1               $(DESTDIR)$(mandir)/man1
+       install -m 0755 -d                $(DESTDIR)$(mandir)/man3
+       install -m 0644 *.3               $(DESTDIR)$(mandir)/man3
+-      ldconfig
++      $(LDCONFIG)
+ uninstall:
+       rm -f $(DESTDIR)$(includedir)/pigpio.h
diff --git a/dev-libs/pigpio/files/pigpiod.confd b/dev-libs/pigpio/files/pigpiod.confd
new file mode 100644 (file)
index 0000000..dbcf8a4
--- /dev/null
@@ -0,0 +1,4 @@
+# Only listen on local interface by default
+# use evironment variables PIGPIO_PORT="8888" and PIGPIO_ADDR="::1" for pigs with local interface
+# PIGPIOD_OPTS="-l -p 8888"
+PIGPIOD_OPTS="-l"
diff --git a/dev-libs/pigpio/files/pigpiod.initd b/dev-libs/pigpio/files/pigpiod.initd
new file mode 100644 (file)
index 0000000..2b3f339
--- /dev/null
@@ -0,0 +1,7 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/pigpio.pid"
+command="/usr/bin/pigpiod"
+command_args="${PIGPIOD_OPTS}"
diff --git a/dev-libs/pigpio/files/pigpiod.systemd b/dev-libs/pigpio/files/pigpiod.systemd
new file mode 100644 (file)
index 0000000..b1d28a6
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=Pigpio daemon
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/pigpiod
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-libs/pigpio/metadata.xml b/dev-libs/pigpio/metadata.xml
new file mode 100644 (file)
index 0000000..9344dda
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="person">
+               <email>gentoo@k8n.de</email>
+               <name>Daniel Kenzelmann</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>proxy-maint@gentoo.org</email>
+               <name>Gentoo Proxy Maintainers Project</name>
+       </maintainer>
+</pkgmetadata>
diff --git a/dev-libs/pigpio/pigpio-67.ebuild b/dev-libs/pigpio/pigpio-67.ebuild
new file mode 100644 (file)
index 0000000..1975d0a
--- /dev/null
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit distutils-r1 systemd toolchain-funcs
+
+DESCRIPTION="A library for the Raspberry which allows control of the GPIOs"
+HOMEPAGE="http://abyz.me.uk/rpi/pigpio/index.html"
+SRC_URI="https://github.com/joan2937/pigpio/archive/V${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~arm"
+IUSE="python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       eapply "${FILESDIR}/${P}-makefile.patch"
+       eapply_user
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)" STRIP=: STRIPLIB=: SIZE=:
+       use python && distutils-r1_src_compile
+}
+
+src_install() {
+       emake DESTDIR="${D}" LDCONFIG=: PYTHON2=: PYTHON3=: libdir="$(get_libdir)" prefix="/usr" mandir="/usr/share/man" install
+       einstalldocs
+       newinitd "${FILESDIR}"/pigpiod.initd pigpiod
+       newconfd "${FILESDIR}"/pigpiod.confd pigpiod
+       systemd_newunit "${FILESDIR}"/pigpiod.systemd pigpiod.service
+       use python && distutils-r1_src_install
+}