dev-libs/pigpio: initial pull request (v67)

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
This commit is contained in:
Daniel Kenzelmann
2018-03-17 14:00:48 +01:00
committed by Michał Górny
parent 1f5c6695d3
commit cd447c2a86
7 changed files with 137 additions and 0 deletions

1
dev-libs/pigpio/Manifest Normal file
View File

@@ -0,0 +1 @@
DIST pigpio-67.tar.gz 369268 BLAKE2B a9d59369f5eed4b733e0e5c0e85013a132e55ff63a2393d79a3fb52d1fcb2513559d4dfeea84c4842d6281936b6e116bd81cd63e4542bbcffaf813ee356ee0d1 SHA512 9792f8402ee0dd204f4a975ab0513099a1fe3d398a28b766f412c08d7908e8e307de4cc92b2a2519b6484f15a043bd40008b7707486015c08bda5f97b1e7e00b

View File

@@ -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

View File

@@ -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"

View File

@@ -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}"

View File

@@ -0,0 +1,9 @@
[Unit]
Description=Pigpio daemon
[Service]
Type=simple
ExecStart=/usr/bin/pigpiod
[Install]
WantedBy=multi-user.target

View File

@@ -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>

View File

@@ -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
}