From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 63DF5138334 for ; Fri, 12 Apr 2019 17:30:36 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AF1DEE08EB; Fri, 12 Apr 2019 17:30:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6A4E1E08EB for ; Fri, 12 Apr 2019 17:30:35 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 01BC5340E91 for ; Fri, 12 Apr 2019 17:30:34 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A641D576 for ; Fri, 12 Apr 2019 17:30:32 +0000 (UTC) From: "Sven Wegener" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sven Wegener" Message-ID: <1555090226.f116ea372762cb0dd20879f479272678ef39f731.swegener@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/libsigrok/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-libs/libsigrok/libsigrok-9999.ebuild X-VCS-Directories: sci-libs/libsigrok/ X-VCS-Committer: swegener X-VCS-Committer-Name: Sven Wegener X-VCS-Revision: f116ea372762cb0dd20879f479272678ef39f731 X-VCS-Branch: master Date: Fri, 12 Apr 2019 17:30:32 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a5d95906-ca66-4022-9f65-0c497b879536 X-Archives-Hash: a2a783533abca51171c79cbe1028522f commit: f116ea372762cb0dd20879f479272678ef39f731 Author: Sven Wegener gentoo org> AuthorDate: Fri Apr 12 17:27:39 2019 +0000 Commit: Sven Wegener gentoo org> CommitDate: Fri Apr 12 17:30:26 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f116ea37 sci-libs/libsigrok: Build for multiple python and ruby versions Closes: https://bugs.gentoo.org/578328 Signed-off-by: Sven Wegener gentoo.org> Package-Manager: Portage-2.3.62, Repoman-2.3.11 sci-libs/libsigrok/libsigrok-9999.ebuild | 81 ++++++++++++++++++++++++++++---- 1 file changed, 71 insertions(+), 10 deletions(-) diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild b/sci-libs/libsigrok/libsigrok-9999.ebuild index 4c9fa1e4807..b82051f8e0f 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 }