dev-libs/pigpio-70: new ebuild
authorDaniel Kenzelmann <daniel@pc-daniel-desktop.fritz.box>
Sun, 11 Aug 2019 08:47:17 +0000 (10:47 +0200)
committerJoonas Niilola <juippis@gentoo.org>
Tue, 13 Aug 2019 04:54:17 +0000 (07:54 +0300)
New ebuild, now with .so versioning from upstream, new Makefile patch required

Signed-off-by: Daniel Kenzelmann <gentoo@k8n.de>
Closes: https://github.com/gentoo/gentoo/pull/12677
Signed-off-by: Joonas Niilola <juippis@gentoo.org>
dev-libs/pigpio/Manifest
dev-libs/pigpio/files/pigpio-70-makefile.patch [new file with mode: 0644]
dev-libs/pigpio/pigpio-70.ebuild [new file with mode: 0644]

index 9928f29679a28bbb697818553fc0b3b0e815e48f..0f01a744f391d39867d330db033bd26d56309066 100644 (file)
@@ -1,2 +1,3 @@
 DIST pigpio-67.tar.gz 369268 BLAKE2B a9d59369f5eed4b733e0e5c0e85013a132e55ff63a2393d79a3fb52d1fcb2513559d4dfeea84c4842d6281936b6e116bd81cd63e4542bbcffaf813ee356ee0d1 SHA512 9792f8402ee0dd204f4a975ab0513099a1fe3d398a28b766f412c08d7908e8e307de4cc92b2a2519b6484f15a043bd40008b7707486015c08bda5f97b1e7e00b
 DIST pigpio-68.tar.gz 371251 BLAKE2B c0118854d18ce158a3d5c96380289cc8bc68f35f72ce28f207dfbb827f97f538acd82cec2af11590e59985b77ef08834d55b3ac7578e1f6b6d1a0b5d5d594632 SHA512 125364eab9dd33c39fda148c6018679ac91b099914d7f0c6362f61566a9c957065189ace03ad4668b29f25d4d542b81d42c0befe0712867b48977b755dc03edc
+DIST pigpio-70.tar.gz 374569 BLAKE2B a2caadf0e1307c8c3ce936d5fd4d31e18185aa53900f6b2cf8b92a31f423b9a82bf4d2b7212fa8cd5b2d26773598a138ef8331884410f3f418542f43ca1fe2d4 SHA512 00db37b9c0f9751e6179b19e7018583abd9e11d78d01ff9f99b713004cf4e6a224e93644206599378a34dd46fd75c08557021b706015b0bc2bd8b34e363691db
diff --git a/dev-libs/pigpio/files/pigpio-70-makefile.patch b/dev-libs/pigpio/files/pigpio-70-makefile.patch
new file mode 100644 (file)
index 0000000..10df7e8
--- /dev/null
@@ -0,0 +1,98 @@
+--- a/Makefile 2019-08-10 10:10:22.834043361 +0200
++++ b/Makefile 2019-08-10 10:43:15.797503591 +0200
+@@ -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)
+ SOVERSION    = 1
+@@ -25,7 +28,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
+@@ -66,28 +69,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) *.so.$(SOVERSION)
+-ifeq ($(DESTDIR),)
+-  PYINSTALLARGS =
+-else
+-  PYINSTALLARGS = --root=$(DESTDIR)
+-endif
+-
+ 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)
+@@ -103,15 +99,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 $(PYINSTALLARGS); fi
+-      if which python3; then python3 setup.py install $(PYINSTALLARGS); fi
++      $(PYTHON2) setup.py install
++      $(PYTHON3) setup.py install
+       install -m 0755 -d                             $(DESTDIR)$(mandir)/man1
+-      install -m 0644 p*.1                           $(DESTDIR)$(mandir)/man1
++      install -m 0644 *.1                            $(DESTDIR)$(mandir)/man1
+       install -m 0755 -d                             $(DESTDIR)$(mandir)/man3
+-      install -m 0644 p*.3                           $(DESTDIR)$(mandir)/man3
+-ifeq ($(DESTDIR),)
+-      ldconfig
+-endif
++      install -m 0644 *.3                            $(DESTDIR)$(mandir)/man3
++      $(LDCONFIG)
+ uninstall:
+       rm -f $(DESTDIR)$(includedir)/pigpio.h
+@@ -136,19 +130,19 @@
+ endif
+ $(LIB1):      $(OBJ1)
+-      $(SHLIB) -pthread -Wl,-soname,$(LIB1).$(SOVERSION) -o $(LIB1).$(SOVERSION) $(OBJ1)
++      $(SHLIB) -o $(LIB1).$(SOVERSION) $(OBJ1)
+       ln -fs $(LIB1).$(SOVERSION) $(LIB1)
+       $(STRIPLIB) $(LIB1)
+       $(SIZE)     $(LIB1)
+ $(LIB2):      $(OBJ2)
+-      $(SHLIB) -pthread -Wl,-soname,$(LIB2).$(SOVERSION) -o $(LIB2).$(SOVERSION) $(OBJ2)
++      $(SHLIB) -o $(LIB2).$(SOVERSION) $(OBJ2)
+       ln -fs $(LIB2).$(SOVERSION) $(LIB2)
+       $(STRIPLIB) $(LIB2)
+       $(SIZE)     $(LIB2)
+ $(LIB3):      $(OBJ3)
+-      $(SHLIB) -pthread -Wl,-soname,$(LIB3).$(SOVERSION) -o $(LIB3).$(SOVERSION) $(OBJ3)
++      $(SHLIB) -o $(LIB3).$(SOVERSION) $(OBJ3)
+       ln -fs $(LIB3).$(SOVERSION) $(LIB3)
+       $(STRIPLIB) $(LIB3)
+       $(SIZE)     $(LIB3)
+
diff --git a/dev-libs/pigpio/pigpio-70.ebuild b/dev-libs/pigpio/pigpio-70.ebuild
new file mode 100644 (file)
index 0000000..f4a86cf
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+
+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} )"
+
+src_prepare() {
+       eapply "${FILESDIR}/${PN}-70-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="${EPREFIX}/usr/$(get_libdir)" prefix="${EPREFIX}/usr" \
+               mandir="${EPREFIX}/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
+}