diff options
-rw-r--r-- | dev-libs/wiringPi/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/wiringPi/files/2.44-devLib_Makefile.patch | 21 | ||||
-rw-r--r-- | dev-libs/wiringPi/files/2.44-wiringPi_Makefile.patch | 12 | ||||
-rw-r--r-- | dev-libs/wiringPi/files/devLib_Makefile.patch | 29 | ||||
-rw-r--r-- | dev-libs/wiringPi/files/wiringPi_Makefile.patch | 20 | ||||
-rw-r--r-- | dev-libs/wiringPi/wiringPi-2.13.ebuild | 120 | ||||
-rw-r--r-- | dev-libs/wiringPi/wiringPi-2.44.ebuild | 45 |
7 files changed, 248 insertions, 0 deletions
diff --git a/dev-libs/wiringPi/Manifest b/dev-libs/wiringPi/Manifest new file mode 100644 index 0000000..df8cc87 --- /dev/null +++ b/dev-libs/wiringPi/Manifest @@ -0,0 +1 @@ +DIST wiringPi-2.44.tar.gz 159030 SHA256 548ffb87bdf147758503a3aa5a725ef90525134c2ec9d04d3e0ed452c2c5f7ce SHA512 b21bb602ee27232562ae0ce603b5d0537dc5cce5bc803adeba9bdb2b5eaec8df8205fb122c72624d12ead2f64176139c3e7fc17c8429297391911535bd8f159b WHIRLPOOL df5bebf2a743af0328abb7ac0a61efa1767ca0dddacdeeb36512eb0d362b504bf36fb07f3fc7c91f5e1b25647b14afe3a148f5340a246ce5335dec0dac60bb7f diff --git a/dev-libs/wiringPi/files/2.44-devLib_Makefile.patch b/dev-libs/wiringPi/files/2.44-devLib_Makefile.patch new file mode 100644 index 0000000..0bf9d91 --- /dev/null +++ b/dev-libs/wiringPi/files/2.44-devLib_Makefile.patch @@ -0,0 +1,21 @@ +--- devLib/Makefile 2017-04-18 22:47:02.066600061 +0100 ++++ devLib/Makefile 2017-04-18 22:49:34.305024481 +0100 +@@ -37,7 +37,7 @@ + #DEBUG = -g -O0 + DEBUG = -O2 + CC = gcc +-INCLUDE = -I. ++INCLUDE = -I. -I../wiringPi + DEFS = -D_GNU_SOURCE + CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC + +@@ -93,8 +93,7 @@ + $Q echo "[Install Dynamic Lib]" + $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib + $Q install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) +- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so +- $Q $(LDCONFIG) ++ $Q ln -sf --relative $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so + + .PHONY: install-static + install-static: $(STATIC) diff --git a/dev-libs/wiringPi/files/2.44-wiringPi_Makefile.patch b/dev-libs/wiringPi/files/2.44-wiringPi_Makefile.patch new file mode 100644 index 0000000..c41d17e --- /dev/null +++ b/dev-libs/wiringPi/files/2.44-wiringPi_Makefile.patch @@ -0,0 +1,12 @@ +--- wiringPi/Makefile 2017-04-18 22:50:38.951022128 +0100 ++++ wiringPi/Makefile 2017-04-18 22:51:19.747265645 +0100 +@@ -104,8 +104,7 @@ + $Q echo "[Install Dynamic Lib]" + $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib + $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) +- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so +- $Q $(LDCONFIG) ++ $Q ln -sf --relative $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so + + .PHONY: install-static + install-static: $(STATIC) diff --git a/dev-libs/wiringPi/files/devLib_Makefile.patch b/dev-libs/wiringPi/files/devLib_Makefile.patch new file mode 100644 index 0000000..27b5dd5 --- /dev/null +++ b/dev-libs/wiringPi/files/devLib_Makefile.patch @@ -0,0 +1,29 @@ +--- devLib/Makefile 2013-08-04 00:53:35.000000000 +0200 ++++ devLib/Makefile 2014-05-13 00:53:20.364314712 +0200 +@@ -33,7 +33,7 @@ + #DEBUG = -g -O0 + DEBUG = -O2 + CC = gcc +-INCLUDE = -I. ++INCLUDE = -I. -I../wiringPi + CFLAGS = $(DEBUG) -Wformat=2 -Wall $(INCLUDE) -Winline -pipe -fPIC + + LIBS = +@@ -94,8 +94,7 @@ + @echo "[Install Dynamic Lib]" + @install -m 0755 -d $(DESTDIR)$(PREFIX)/lib + @install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) +- @ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so +- @ldconfig ++ @ln -sf --relative $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so + + .PHONEY: install-static + install-static: $(STATIC) install-headers +@@ -115,7 +114,6 @@ + @rm -f $(DESTDIR)$(PREFIX)/include/lcd.h + @rm -f $(DESTDIR)$(PREFIX)/include/piGlow.h + @rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.* +- @ldconfig + + + .PHONEY: depend diff --git a/dev-libs/wiringPi/files/wiringPi_Makefile.patch b/dev-libs/wiringPi/files/wiringPi_Makefile.patch new file mode 100644 index 0000000..38901ab --- /dev/null +++ b/dev-libs/wiringPi/files/wiringPi_Makefile.patch @@ -0,0 +1,20 @@ +--- wiringPi/Makefile 2013-08-04 00:53:35.000000000 +0200 ++++ wiringPi/Makefile 2014-05-13 00:31:35.303253358 +0200 +@@ -121,8 +121,7 @@ + @echo "[Install Dynamic Lib]" + @install -m 0755 -d $(DESTDIR)$(PREFIX)/lib + @install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) +- @ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so +- @ldconfig ++ @ln -sf --relative $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so + + .PHONEY: install-static + install-static: $(STATIC) install-headers +@@ -157,7 +156,6 @@ + @rm -f $(DESTDIR)$(PREFIX)/include/pcf8591.h + @rm -f $(DESTDIR)$(PREFIX)/include/sn3218.h + @rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPi.* +- @ldconfig + + + .PHONEY: depend diff --git a/dev-libs/wiringPi/wiringPi-2.13.ebuild b/dev-libs/wiringPi/wiringPi-2.13.ebuild new file mode 100644 index 0000000..a18db63 --- /dev/null +++ b/dev-libs/wiringPi/wiringPi-2.13.ebuild @@ -0,0 +1,120 @@ +# Copyright (c) 2017 sakaki <sakaki@deciban.com> +# License: GPL v3+ +# NO WARRANTY + +EAPI=6 +inherit flag-o-matic toolchain-funcs git-r3 + +KEYWORDS="~arm ~arm64" + +DESCRIPTION="GPIO interface libraries (and utility) for the Raspberry Pi" +HOMEPAGE="http://wiringpi.com/" +SRC_URI="" +LICENSE="LGPL-3+" +SLOT="0" +IUSE="" +RESTRICT="mirror" + +EGIT_REPO_URI="git://git.drogon.net/wiringPi" +EGIT_BRANCH="master" +# fetch the branch matching the ebuild version +EGIT_COMMIT="${PV}" + +DEPEND="" +RDEPEND=" + ${DEPEND}" + +src_prepare() { + local DIR + # put header files in include subdirectory + # don't make library links directly (these break) + # update manpage location to non-deprecated value + # get rid of suid (security risk); install utility as sbin instead + # if on arm64, install to /usr/lib64, not /usr/lib + # purge upstream email addresses as Gentoo is an unsupported platform + for DIR in wiringPi devLib gpio; do + sed -e "s#/include#/include/${PN}#" \ + -e 's:\($Q \)ln -sf:#\1ln -sf:g' \ + -e 's:/man/man:/share/man/man:g' \ + -e 's:/bin:/sbin:g' \ + -e 's:4755:0755:g' \ + -i "${DIR}"/Makefile + if use arm64; then + sed -e 's:$(PREFIX)/lib:$(PREFIX)/lib64:g' \ + -e 's:/lib/:/lib64/:g' \ + -i "${DIR}"/Makefile + fi + done + sed -e 's/projects@drogon.net/(email removed, Gentoo unsupported)/g' \ + -i $(find . -type f -exec grep -l "projects@drogon.net" {} +) + # deal with problem that RPi3 in 64-bit mode does not have + # the 'Hardware' line in /proc/cpuinfo, which the wiringPi library + # checks, by making it look in /etc/wiringpi/cpuinfo instead + use arm64 && epatch "${FILESDIR}/${PV}-pseudo-cpuinfo.patch" + default +} + +src_compile() { + # git archive contains object files + cd wiringPi + emake V=1 clean + append-cflags "-fPIC" "-I${S}/wiringPi" + # ensure the right compiler and flags get used + emake V=1 CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \ + LDCONFIG=/bin/true + # set up symlink for library + ln -s libwiringPi.so.* libwiringPi.so + + # now ditto for other directories + + cd ../devLib + emake V=1 clean + append-cflags "-I${S}/devLib" + emake V=1 CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \ + LDCONFIG=/bin/true + ln -s libwiringPiDev.so.* libwiringPiDev.so + + cd ../gpio + emake V=1 clean + append-cflags "-I${S}/cpio" + append-ldflags "-L${S}/wiringPi" "-L${S}/devLib" + emake V=1 CC=$(tc-getCC) CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \ + LDCONFIG=/bin/true +} + +src_install() { + local LIBDIR="${D%/}/usr/lib" + if use arm64; then + LIBDIR+="64" + fi + cd wiringPi + emake DESTDIR="${D%/}" PREFIX="/usr" install + cp --no-dereference libwiringPi.so "${LIBDIR}/" + cd ../devLib + emake DESTDIR="${D%/}" PREFIX="/usr" install + cp --no-dereference libwiringPiDev.so "${LIBDIR}/" + cd ../gpio + mkdir -p "${D%/}/usr/sbin" + emake DESTDIR="${D%/}" PREFIX="/usr" install + cd .. + DOCS=( README.TXT People ) + if use arm64; then + # following is a snippet of cpuinfo, for use on Pi3s (which + # don't contain all the expected fields when booted in 64-bit + # mode) + insinto "/etc/${PN}" + newins "${FILESDIR}/cpuinfo-1" "cpuinfo" + fi + einstalldocs +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]] && use arm64; then + elog "The file /etc/${PN}/cpuinfo has been created." + elog "The library will look there, instead of /proc/cpuinfo" + elog "when determining system type; this is necessary because" + elog "some /proc/cpuinfo data is not output in 64-bit mode." + elog "It only contains the necessary stanzas." + elog "You can modify this file as required." + fi +} diff --git a/dev-libs/wiringPi/wiringPi-2.44.ebuild b/dev-libs/wiringPi/wiringPi-2.44.ebuild new file mode 100644 index 0000000..879d082 --- /dev/null +++ b/dev-libs/wiringPi/wiringPi-2.44.ebuild @@ -0,0 +1,45 @@ +# Copyright 2013 Hacking Networked Solutions +# Distributed under the terms of the GNU General Public License v3 +# $Header: $ + +EAPI="3" + +inherit eutils + +DESCRIPTION="A 'wiring' like library for the Raspberry Pi" +HOMEPAGE="http://wiringpi.com/" +SRC_URI="http://downloads.mad-hacking.net/software/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="" + +RDEPEND="" +DEPEND="${RDEPEND}" + +MAKEDIRS="wiringPi devLib" + +src_prepare() { + epatch "${FILESDIR}/2.44-wiringPi_Makefile.patch" + epatch "${FILESDIR}/2.44-devLib_Makefile.patch" + + for d in ${MAKEDIRS}; do + sed -i -e "s:\/lib$:\/$(get_libdir):g" ${WORKDIR}/${P}/${d}/Makefile || die + sed -i -e "s:\/lib\/:\/$(get_libdir)/:g" ${WORKDIR}/${P}/${d}/Makefile || die + done +} + +src_compile() { + for d in ${MAKEDIRS}; do + cd "${WORKDIR}/${P}/${d}" + emake + done +} + +src_install() { + for d in ${MAKEDIRS}; do + cd "${WORKDIR}/${P}/${d}" + emake DESTDIR="${D}/usr/" PREFIX="" install + done +} |