public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sven Wegener" <swegener@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/libsigrok/
Date: Fri, 12 Apr 2019 17:30:32 +0000 (UTC)	[thread overview]
Message-ID: <1555090226.f116ea372762cb0dd20879f479272678ef39f731.swegener@gentoo> (raw)

commit:     f116ea372762cb0dd20879f479272678ef39f731
Author:     Sven Wegener <swegener <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 12 17:27:39 2019 +0000
Commit:     Sven Wegener <swegener <AT> gentoo <DOT> 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 <swegener <AT> 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
 }


             reply	other threads:[~2019-04-12 17:30 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-12 17:30 Sven Wegener [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-08-31 19:27 [gentoo-commits] repo/gentoo:master commit in: sci-libs/libsigrok/ Sven Wegener
2024-08-31 16:00 Sven Wegener
2024-07-14  8:06 Viorel Munteanu
2024-07-14  8:06 Viorel Munteanu
2024-07-13 15:31 Arthur Zamarin
2024-06-11 20:45 Sam James
2024-06-11 17:58 Sam James
2024-06-11 17:17 Sam James
2024-06-11 17:17 Sam James
2023-02-26 20:03 Sven Wegener
2023-02-26 20:03 Sven Wegener
2023-02-26 20:03 Sven Wegener
2023-02-26 20:03 Sven Wegener
2022-08-27  8:03 Sam James
2022-06-22 18:37 Arthur Zamarin
2022-06-22 16:02 Arthur Zamarin
2022-06-07  7:59 Joonas Niilola
2022-06-07  6:34 Joonas Niilola
2022-05-01  7:28 Sven Wegener
2022-01-08 15:47 Sven Wegener
2022-01-08 15:47 Sven Wegener
2022-01-08 15:47 Sven Wegener
2021-07-02  8:22 Joonas Niilola
2021-04-19 20:54 Sam James
2021-02-19 19:32 Thomas Deutschmann
2021-02-18  7:23 Sam James
2020-11-16 22:31 Sven Wegener
2020-11-16 22:31 Sven Wegener
2020-11-16 22:31 Sven Wegener
2020-11-16 22:31 Sven Wegener
2020-07-06 18:16 Andreas Sturmlechner
2020-07-06 18:16 Andreas Sturmlechner
2020-07-06 18:16 Andreas Sturmlechner
2020-07-06 18:16 Andreas Sturmlechner
2020-07-06 18:16 Andreas Sturmlechner
2020-02-09 16:36 Michał Górny
2020-01-16  6:39 Michał Górny
2019-12-31 15:13 Sven Wegener
2019-12-31 15:13 Sven Wegener
2019-04-12 15:45 Sven Wegener
2019-04-12 15:45 Sven Wegener
2018-12-08 21:34 Sven Wegener
2018-11-03 11:03 Sven Wegener
2018-10-11  7:24 Sven Wegener
2018-10-11  7:13 Sven Wegener
2018-04-11  9:40 David Seifert
2017-12-10 16:11 Sven Wegener
2017-12-10 16:11 Sven Wegener
2017-12-10 16:11 Sven Wegener
2017-11-07 22:13 Sven Wegener
2017-07-01 20:52 Sven Wegener
2017-03-22 21:13 Thomas Deutschmann
2017-01-10 14:55 Agostino Sarubbo
2016-08-03 11:41 Sven Wegener
2016-08-03 11:41 Sven Wegener
2016-08-03 11:41 Sven Wegener
2016-08-03 11:41 Sven Wegener
2016-01-10 11:17 Sven Wegener
2016-01-10  9:59 Sven Wegener
2015-12-19 17:15 Sven Wegener
2015-12-19 17:15 Sven Wegener
2015-12-19 17:14 Sven Wegener
2015-12-19 17:14 Sven Wegener
2015-12-19 17:14 Sven Wegener

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1555090226.f116ea372762cb0dd20879f479272678ef39f731.swegener@gentoo \
    --to=swegener@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox