diff options
Diffstat (limited to 'sys-fs/owfs')
-rw-r--r-- | sys-fs/owfs/Manifest | 1 | ||||
-rw-r--r-- | sys-fs/owfs/owfs-3.2_p2-r2.ebuild | 192 |
2 files changed, 193 insertions, 0 deletions
diff --git a/sys-fs/owfs/Manifest b/sys-fs/owfs/Manifest index 40504cb01d81..360bbd5930b1 100644 --- a/sys-fs/owfs/Manifest +++ b/sys-fs/owfs/Manifest @@ -12,4 +12,5 @@ DIST owfs-3.1p4.tar.gz 1455420 BLAKE2B 58a0356d0abffd1bda3585a8e05faed0cf80c3818 DIST owfs-3.2p2.tar.gz 1491195 BLAKE2B 3e56b954fc61e097d6e39345d689d3ba5386f2ed4383bb7755da6a867d802fe56b9e920fe9b4f24cdd639543bad79a6d13bd549e7ce81afb8eab52372864565a SHA512 d64078639ce4c1c5c42735c720cfa6741a34b91297500d6a7cff6e48a0a87b6391e43fc0c5f6bf44cec27feffb9a2f9b5510e085c602666a5adf803bb8ba3338 EBUILD owfs-3.1_p4-r1.ebuild 4757 BLAKE2B 7b0bdec4f19c2abada54f6ed210895ca426a61d4aa8b994f1cf17b69f14521fb484a36d99b70868efc49828f4d7ec0187796cb6757448f94fddc48a9ca6ecab4 SHA512 6ad887858e45a066e277f49f4ff2a48244f702a965bf0d5862a9a7a54d3bf9614f705efe005627862a84aae8d139a6d0ad1b1e42e8ba61bddc426f81db6b5f47 EBUILD owfs-3.2_p2-r1.ebuild 4761 BLAKE2B 89dd1f022fabdcb7a87d16b3bc9b296006f1d24f1f44623b46b20c2ecf6206a3fdf12339d7476a919611837323fd02c89353cc7e4f04b6276baf2cf9ebe9854f SHA512 0deff6a1cb75beb10f7c987fc0cfce7d662b28c209f121f96e4e6dd84c4f414f10c996f31f86078fd33ec133bbfeab35bee7129e637c7c40350d4c1a20904465 +EBUILD owfs-3.2_p2-r2.ebuild 4784 BLAKE2B 61e34f01cddf667188e6f23b0ca7aea18da78c86f8f8ec0c42ee1e8dc88304fb730df066e617ccfc96b5d6fc2c2026c0486e21d297f1ee1876d753408ec06239 SHA512 499f96ba7463e8d54086d5957e63c46bd55ba9eec90f6c772229f1c19040f4b4c208a0d8955552de9470e4048765b9a018594748f2127a8bdcc3772c8222a657 MISC metadata.xml 1159 BLAKE2B 6a55584f7bf0ae7b11441169d59f53138a2e82a3ac38a53b9ab77c8a4e6baf5c268864e7f6897eb2fd9b35888f8373a6756b8760d894c5f4aeaae394f8cb3706 SHA512 4cff718d367711e5a99891caa7c19db9f50d885200841096f17ec3ee64cd01d3938fa34d1f2c5e6de575dd3cb36c5ea4f3625fa604b11cfdebe13362ea37cefe diff --git a/sys-fs/owfs/owfs-3.2_p2-r2.ebuild b/sys-fs/owfs/owfs-3.2_p2-r2.ebuild new file mode 100644 index 000000000000..109235a70a35 --- /dev/null +++ b/sys-fs/owfs/owfs-3.2_p2-r2.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit autotools distutils-r1 linux-info perl-functions systemd user + +MY_P="${P/_/}" + +DESCRIPTION="Access 1-Wire devices like a filesystem" +SRC_URI="mirror://sourceforge/owfs/${MY_P}.tar.gz" +HOMEPAGE="http://owfs.org/ https://sourceforge.net/projects/owfs/" +KEYWORDS="~amd64 ~arm ~x86" + +# Upstream uses crazy SONAME, https://github.com/owfs/owfs/commit/c696fa9b9b44f49c96b9f1c2b3159d277e0c1273 +SLOT="0/${PV}" +LICENSE="GPL-2" + +IUSE="debug ftdi ftpd fuse httpd parport perl python tcl usb zeroconf" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND=" + ftdi? ( dev-embedded/libftdi:0 ) + fuse? ( sys-fs/fuse:0= ) + perl? ( dev-lang/perl:= ) + parport? ( sys-kernel/linux-headers ) + python? ( ${PYTHON_DEPS} ) + tcl? ( dev-lang/tcl:0= ) + usb? ( virtual/libusb:0 ) + zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) +" + +DEPEND="${RDEPEND} + perl? ( dev-lang/swig ) + python? ( dev-lang/swig ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1-vendordir.patch + "${FILESDIR}"/${PN}-3.1p4-sysmacros.patch +) + +S="${WORKDIR}/${MY_P}" + +OWUID="${OWUID:-owfs}" +OWGID="${OWGID:-owfs}" + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + + if linux_config_exists; then + if ! linux_chkconfig_present W1; then + ewarn "CONFIG_W1 isn't set. You will not be able to use 1-wire bus on this system!" + fi + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + use perl && perl_set_version + + enewgroup ${OWGID} 150 + enewuser ${OWUID} 150 -1 -1 ${OWGID} +} + +src_prepare() { + default + + # Support user's CFLAGS and LDFLAGS. + sed -i "s/@CPPFLAGS@/@CPPFLAGS@ ${CFLAGS}/" \ + module/swig/perl5/OW/Makefile.linux.in || die + sed -i "s/@LIBS@/@LIBS@ ${LDFLAGS}/" \ + module/swig/perl5/OW/Makefile.linux.in || die + + eautoreconf +} + +src_configure() { + # disable owpython since we can build python anyway + # and without it, we don't have to fix the build ;) + # disable owphp because it is not compatible with PHP-7, bug #651106 + local myeconf=( + $(use_enable debug) + $(use_enable fuse owfs) + $(use_enable ftdi) + $(use_enable ftpd owftpd) + $(use_enable httpd owhttpd) + $(use_enable parport) + $(use_enable perl owperl) + --disable-owphp + --disable-owpython + $(use_enable tcl owtcl) + $(use_enable zeroconf avahi) + $(use_enable zeroconf zero) + $(use_enable usb) + --with-systemdsystemunitdir=$(systemd_get_systemunitdir) + ) + + if use httpd || use ftpd || use fuse; then + myeconf+=( --enable-owserver ) + else + myeconf+=( --disable-owserver ) + fi + + econf ${myeconf[@]} +} + +src_compile() { + default + + if use python; then + local CFLAGS="${CFLAGS} -fno-strict-aliasing" + + pushd module/ownet/python > /dev/null || die + distutils-r1_src_compile + popd > /dev/null || die + + pushd module/swig/python > /dev/null || die + emake ow_wrap.c + distutils-r1_src_compile + popd > /dev/null || die + fi +} + +src_test() { :; } + +src_install() { + default + + if use httpd || use ftpd || use fuse; then + newinitd "${FILESDIR}"/owserver.initd-r1 owserver + newconfd "${FILESDIR}"/owserver.confd owserver + + for i in httpd ftpd; do + if use ${i}; then + newinitd "${FILESDIR}"/ow${i}.initd-r1 ow${i} + newconfd "${FILESDIR}"/ow${i}.confd ow${i} + fi + done + + if use fuse; then + dodir /var/lib/owfs + dodir /var/lib/owfs/mnt + newinitd "${FILESDIR}"/owfs.initd-r1 owfs + newconfd "${FILESDIR}"/owfs.confd owfs + fi + fi + + use perl && perl_delete_localpod + + if use python; then + pushd module/ownet/python > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + + pushd module/swig/python > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + fi + + find "${D}" -name '*.la' -delete || die +} + +pkg_postinst() { + if use httpd || use ftpd || use fuse; then + echo + if [[ ${OWUID} != root ]]; then + ewarn + ewarn "In order to allow the OWFS daemon user '${OWUID}' to read" + ewarn "from and/or write to a 1 wire bus controller device, make" + ewarn "sure the user has appropriate permission to access the" + ewarn "corresponding device node/path (e.g. /dev/ttyS0), for example" + ewarn "by adding the user to the group 'uucp' (for serial devices)" + ewarn "or 'usb' (for USB devices accessed via usbfs on /proc/bus/usb)," + ewarn "or install an appropriate UDEV rules (see http://owfs.org/index.php?page=udev-and-usb" + ewarn "for more information)." + ewarn + if use fuse; then + ewarn "In order to allow regular users to read from and/or write to" + ewarn "1 wire bus devices accessible via the owfs FUSE filesystem" + ewarn "client and its filesystem mountpoint, make sure the user is" + ewarn "a member of the group '${OWGID}'." + ewarn + fi + echo + fi + fi +} |