net-wireless/lorcon: add what is likely the final snapshot of lorcon to fix ruby20...
authorZero_Chaos <zerochaos@gentoo.org>
Mon, 31 Aug 2015 17:09:21 +0000 (13:09 -0400)
committerZero_Chaos <zerochaos@gentoo.org>
Mon, 31 Aug 2015 17:09:21 +0000 (13:09 -0400)
Package-Manager: portage-2.2.20.1

net-wireless/lorcon/Manifest
net-wireless/lorcon/lorcon-0.0_p20150109.ebuild [new file with mode: 0644]
net-wireless/lorcon/lorcon-9999.ebuild

index 1f0b02401029ea4da9396d0a99b8c74e0256a384..4583bee8ed57b841464cc1d63adae3fa64b1d3a8 100644 (file)
@@ -1 +1,2 @@
 DIST lorcon-0.0_p20130212.tar.xz 956024 SHA256 1266bbd53e483456aca3031a49ea47fe3bd004e3e109b86a61672c881801742b SHA512 d7c33d9e8b5678e0b8b9513b6a132ab1b13045503e884d077474745a4a9731fa609ba8dc9c35f344ad93b65eb0ddc038919a6349d32187b6c6c92a020155b34f WHIRLPOOL b5e6af7977fd742b34a0f394eb443cc1aca95f9c44177b7353e8a19e1593bca4ccf7e72cf1fc2f05eb4fc5d77303bb162440462957fcc37a7f8a69443f1f4df5
+DIST lorcon-0.0_p20150109.tar.xz 259788 SHA256 a853b9bf3f9eb4a8950b3428121fe637eab274f5f0fe2aca0a5c988127c709f4 SHA512 acbd88477317475ca8555d579a1483ea5e5d9eac0f86ef7bde2592e007025070ca56c6cd43e814560e28165ac7b40bd86f2703a466faeca1619b8373dc2b625b WHIRLPOOL 54e50e1e2fb5537779dde8ce264c55663dbe3615ae1276e3c6f9c6379b3dc5d6f1dd1ed22fe51628abefc0ac94f30ed7bf1157da71edab2d53b849d07b8dfbf6
diff --git a/net-wireless/lorcon/lorcon-0.0_p20150109.ebuild b/net-wireless/lorcon/lorcon-0.0_p20150109.ebuild
new file mode 100644 (file)
index 0000000..9ef6605
--- /dev/null
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+
+USE_RUBY="ruby19 ruby20"
+RUBY_OPTIONAL=yes
+
+inherit distutils-r1 ruby-ng
+
+DESCRIPTION="A generic library for injecting 802.11 frames"
+HOMEPAGE="http://802.11ninja.net/lorcon"
+
+if [[ ${PV} == "9999" ]] ; then
+       EGIT_REPO_URI="https://code.google.com/p/lorcon/"
+       inherit git-r3
+       KEYWORDS=""
+else
+       SRC_URI="https://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.xz"
+       KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="python ruby"
+
+DEPEND="ruby? ( $(ruby_implementations_depend) )
+       python? ( ${PYTHON_DEPS} )
+       dev-libs/libnl:3=
+       net-libs/libpcap"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S="${WORKDIR}"/${P}
+
+pkg_setup() {
+       use ruby && ruby-ng_pkg_setup
+}
+
+src_unpack() {
+       if [[ ${PV} == "9999" ]] ; then
+               git-r3_src_unpack
+               cp -R "${S}/" "${WORKDIR}/all"
+       fi
+       default_src_unpack
+       #ruby-ng_src_unpack doesn't seem to like mixing with git so we just copy things above
+       use ruby && ruby-ng_src_unpack
+}
+
+src_prepare() {
+       sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' pylorcon2/PyLorcon2.c
+       sed -i 's#find_library("orcon2", "lorcon_list_drivers", "lorcon2/lorcon.h") and ##' ruby-lorcon/extconf.rb
+       sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' ruby-lorcon/Lorcon2.h
+       use python && distutils-r1_src_prepare
+       use ruby && ruby-ng_src_prepare
+}
+
+src_configure() {
+       default_src_configure
+}
+
+src_compile() {
+       default_src_compile
+       use ruby && ruby-ng_src_compile
+       if use python; then
+               LDFLAGS+=" -L${S}/.libs/"
+               cd pylorcon2 || die
+               distutils-r1_src_compile
+       fi
+}
+
+src_install() {
+       emake DESTDIR="${ED}" install
+       use ruby && ruby-ng_src_install
+       if use python; then
+               cd pylorcon2 || die
+               distutils-r1_src_install
+       fi
+}
+
+src_test() {
+       :
+}
+
+each_ruby_compile() {
+       sed -i "s#-I/usr/include/lorcon2#-I${WORKDIR}/${P}/ruby-lorcon -L${WORKDIR}/${P}/.libs#" ruby-lorcon/extconf.rb
+       "${RUBY}" -C ruby-lorcon extconf.rb || die
+       sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' ruby-lorcon/Lorcon2.h
+       sed -i "s#-L\.#-L. -L${WORKDIR}/${P}/.libs -lorcon2 #g" ruby-lorcon/Makefile || die
+       emake -C ruby-lorcon
+}
+
+each_ruby_install() {
+       DESTDIR="${ED}" emake -C ruby-lorcon install
+}
index 9f0b1f0d4d55566c50d8a7eab8c63175f7ee6d83..9ef660503c8e7cb62b3104b353309758bd544611 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -7,7 +7,7 @@ EAPI=5
 PYTHON_COMPAT=( python2_7 )
 DISTUTILS_OPTIONAL=1
 
-USE_RUBY="ruby19 ruby21"
+USE_RUBY="ruby19 ruby20"
 RUBY_OPTIONAL=yes
 
 inherit distutils-r1 ruby-ng
@@ -30,7 +30,7 @@ IUSE="python ruby"
 
 DEPEND="ruby? ( $(ruby_implementations_depend) )
        python? ( ${PYTHON_DEPS} )
-       dev-libs/libnl
+       dev-libs/libnl:3=
        net-libs/libpcap"
 RDEPEND="${DEPEND}"