diff options
author | Sven Wegener <swegener@gentoo.org> | 2019-04-12 17:27:39 +0000 |
---|---|---|
committer | Sven Wegener <swegener@gentoo.org> | 2019-04-12 17:30:26 +0000 |
commit | f116ea372762cb0dd20879f479272678ef39f731 (patch) | |
tree | c08bdb4352424babc199a57ba3da1bb3b47816c0 /sci-libs/libsigrok | |
parent | app-editors/emacs-vcs: Upstream change of version number. (diff) | |
download | gentoo-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.ebuild | 81 |
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 } |