summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2019-04-12 17:27:39 +0000
committerSven Wegener <swegener@gentoo.org>2019-04-12 17:30:26 +0000
commitf116ea372762cb0dd20879f479272678ef39f731 (patch)
treec08bdb4352424babc199a57ba3da1bb3b47816c0 /sci-libs/libsigrok
parentapp-editors/emacs-vcs: Upstream change of version number. (diff)
downloadgentoo-f116ea372762cb0dd20879f479272678ef39f731.tar.gz
gentoo-f116ea372762cb0dd20879f479272678ef39f731.tar.bz2
gentoo-f116ea372762cb0dd20879f479272678ef39f731.zip
sci-libs/libsigrok: Build for multiple python and ruby versions
Closes: https://bugs.gentoo.org/578328 Signed-off-by: Sven Wegener <swegener@gentoo.org> Package-Manager: Portage-2.3.62, Repoman-2.3.11
Diffstat (limited to 'sci-libs/libsigrok')
-rw-r--r--sci-libs/libsigrok/libsigrok-9999.ebuild81
1 files changed, 71 insertions, 10 deletions
diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild b/sci-libs/libsigrok/libsigrok-9999.ebuild
index 4c9fa1e48079..b82051f8e0f5 100644
--- a/sci-libs/libsigrok/libsigrok-9999.ebuild
+++ b/sci-libs/libsigrok/libsigrok-9999.ebuild
@@ -3,9 +3,11 @@
EAPI="6"
-PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} )
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+USE_RUBY="ruby26 ruby25 ruby24"
+RUBY_OPTIONAL="yes"
-inherit eutils gnome2-utils python-single-r1 java-pkg-opt-2 udev xdg-utils
+inherit eutils gnome2-utils python-r1 java-pkg-opt-2 ruby-ng udev xdg-utils
if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
@@ -20,14 +22,15 @@ HOMEPAGE="https://sigrok.org/wiki/Libsigrok"
LICENSE="GPL-3"
SLOT="0/9999"
-IUSE="cxx ftdi java parport python serial static-libs test +udev usb"
-REQUIRED_USE="java? ( cxx ) python? ( cxx ${PYTHON_REQUIRED_USE} )"
+IUSE="cxx ftdi java parport python ruby serial static-libs +udev test usb"
+REQUIRED_USE="java? ( cxx ) python? ( cxx ${PYTHON_REQUIRED_USE} ) ruby? ( cxx || ( $(ruby_get_use_targets) ) )"
# We also support librevisa, but that isn't in the tree ...
LIB_DEPEND=">=dev-libs/glib-2.32.0[static-libs(+)]
>=dev-libs/libzip-0.8:=[static-libs(+)]
cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
python? ( ${PYTHON_DEPS} >=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}] )
+ ruby? ( $(ruby_implementations_depend) )
ftdi? ( >=dev-embedded/libftdi-0.16:=[static-libs(+)] )
parport? ( sys-libs/libieee1284[static-libs(+)] )
serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] )
@@ -47,19 +50,36 @@ DEPEND="${LIB_DEPEND//\[static-libs(+)]}
dev-python/numpy[${PYTHON_USEDEP}]
>=dev-lang/swig-3.0.6
)
+ ruby? ( >=dev-lang/swig-3.0.8 )
virtual/pkgconfig"
+S="${WORKDIR}"/${P}
+
pkg_setup() {
- use python && python-single-r1_pkg_setup
+ use ruby && ruby-ng_pkg_setup
java-pkg-opt-2_pkg_setup
}
-src_prepare() {
+src_unpack() {
+ [[ ${PV} == "9999" ]] && git-r3_src_unpack || default
+}
+
+sigrok_src_prepare() {
[[ ${PV} == "9999" ]] && eautoreconf
+}
+
+each_ruby_prepare() {
+ sigrok_src_prepare
+}
+
+src_prepare() {
+ use ruby && cp -rl "${S}" "${WORKDIR}"/all && ruby-ng_src_prepare
+ sigrok_src_prepare
eapply_user
+ use python && python_copy_sources
}
-src_configure() {
+sigrok_src_configure() {
econf \
$(use_with ftdi libftdi) \
$(use_with parport libieee1284) \
@@ -67,17 +87,58 @@ src_configure() {
$(use_with usb libusb) \
$(use_enable cxx) \
$(use_enable java) \
- $(use_enable python) \
- --disable-ruby \
- $(use_enable static-libs static)
+ $(use_enable static-libs static) \
+ "${@}"
+}
+
+each_ruby_configure() {
+ RUBY="${RUBY}" sigrok_src_configure --enable-ruby --disable-python
+}
+
+each_python_configure() {
+ cd "${BUILD_DIR}"
+ sigrok_src_configure --disable-ruby --enable-python
+}
+
+src_configure() {
+ python_setup
+ sigrok_src_configure --disable-ruby --disable-python
+ use ruby && ruby-ng_src_configure
+ use python && python_foreach_impl each_python_configure
+}
+
+each_ruby_compile() {
+ emake ruby-build
+}
+
+each_python_compile() {
+ cd "${BUILD_DIR}"
+ emake python-build
+}
+
+src_compile() {
+ default
+ use ruby && ruby-ng_src_compile
+ use python && python_foreach_impl each_python_compile
}
src_test() {
emake check
}
+each_ruby_install() {
+ emake ruby-install DESTDIR="${D}"
+}
+
+each_python_install() {
+ cd "${BUILD_DIR}"
+ emake python-install DESTDIR="${D}"
+}
+
src_install() {
default
+ use python && python_foreach_impl each_python_install
+ use ruby && ruby-ng_src_install
use udev && udev_dorules contrib/*.rules
prune_libtool_files
}