diff options
author | Sam James <sam@gentoo.org> | 2023-06-10 22:32:32 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-06-10 22:32:37 +0100 |
commit | a09cf66a0d720125efdfd0f62643ba4be61545a7 (patch) | |
tree | c9ea794cc16534c6211e64bb280758dd38704c24 /sci-libs/libsigrok | |
parent | dev-lang/swig: drop 4.0.2, 4.1.1 (diff) | |
download | gentoo-a09cf66a0d720125efdfd0f62643ba4be61545a7.tar.gz gentoo-a09cf66a0d720125efdfd0f62643ba4be61545a7.tar.bz2 gentoo-a09cf66a0d720125efdfd0f62643ba4be61545a7.zip |
sci-libs/libsigrok: fix build w/ swig-4.1
Closes: https://bugs.gentoo.org/878395
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sci-libs/libsigrok')
-rw-r--r-- | sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch | 11 | ||||
-rw-r--r-- | sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild | 156 |
2 files changed, 167 insertions, 0 deletions
diff --git a/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch b/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch new file mode 100644 index 000000000000..6513491270cf --- /dev/null +++ b/sci-libs/libsigrok/files/libsigrok-0.5.2-swig-4.1.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/878395 +--- a/bindings/cxx/enums.py ++++ b/bindings/cxx/enums.py +@@ -73,6 +73,8 @@ + code = open(os.path.join(outdirname, 'cxx/enums.cpp'), 'w') + swig = open(os.path.join(outdirname, 'swig/enums.i'), 'w') + ++print('%include "attribute.i" \n', file=swig) ++ + for file in (header, code): + print("/* Generated file - edit enums.py instead! */", file=file) diff --git a/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild new file mode 100644 index 000000000000..8da4999fe538 --- /dev/null +++ b/sci-libs/libsigrok/libsigrok-0.5.2-r4.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit autotools python-r1 java-pkg-opt-2 udev xdg-utils + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="git://sigrok.org/${PN}" + inherit git-r3 +else + SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" +fi + +DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file format support" +HOMEPAGE="https://sigrok.org/wiki/Libsigrok" + +LICENSE="GPL-3" +SLOT="0/4" +IUSE="bluetooth +cxx ftdi hidapi java parport python serial static-libs test +udev usb" +REQUIRED_USE="java? ( cxx ) + python? ( cxx ${PYTHON_REQUIRED_USE} )" + +RESTRICT="!test? ( test )" + +# 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(+)] + bluetooth? ( >=net-wireless/bluez-4.0:= ) + cxx? ( dev-cpp/glibmm:2[static-libs(+)] ) + ftdi? ( dev-embedded/libftdi:1[static-libs(+)] ) + hidapi? ( >=dev-libs/hidapi-0.8.0 ) + parport? ( sys-libs/libieee1284[static-libs(+)] ) + python? ( + ${PYTHON_DEPS} + >=dev-python/pygobject-3.0.0[${PYTHON_USEDEP}] + ) + serial? ( >=dev-libs/libserialport-0.1.1[static-libs(+)] ) + usb? ( virtual/libusb:1[static-libs(+)] ) +" +RDEPEND=" + java? ( >=virtual/jre-1.8:* ) + !static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} ) + static-libs? ( ${LIB_DEPEND} ) +" +DEPEND="${LIB_DEPEND//\[static-libs(+)]} + cxx? ( app-doc/doxygen ) + java? ( + >=dev-lang/swig-3.0.6 + >=virtual/jdk-1.8:* + ) + python? ( + >=dev-lang/swig-3.0.6 + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + ) + test? ( >=dev-libs/check-0.9.4 ) + virtual/pkgconfig +" + +S="${WORKDIR}"/${P} + +PATCHES=( + # https://sigrok.org/bugzilla/show_bug.cgi?id=1527 + "${FILESDIR}/${P}-swig-4.patch" + # https://sigrok.org/bugzilla/show_bug.cgi?id=1526 + "${FILESDIR}/${P}-check-0.15.patch" + # https://bugs.gentoo.org/878395 + "${FILESDIR}/${PN}-0.5.2-swig-4.1.patch" +) + +pkg_setup() { + use python && python_setup + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + [[ ${PV} == *9999* ]] && git-r3_src_unpack || default +} + +sigrok_src_prepare() { + eautoreconf +} + +src_prepare() { + default + sigrok_src_prepare + use python && python_copy_sources +} + +sigrok_src_configure() { + econf \ + $(use_with bluetooth libbluez) \ + $(use_with ftdi libftdi) \ + $(use_with hidapi libhidapi) \ + $(use_with parport libieee1284) \ + $(use_with serial libserialport) \ + $(use_with usb libusb) \ + $(use_enable cxx) \ + $(use_enable java) \ + $(use_enable static-libs static) \ + "${@}" +} + +each_python_configure() { + cd "${BUILD_DIR}" + sigrok_src_configure --disable-ruby --enable-python +} + +src_configure() { + sigrok_src_configure --disable-ruby --disable-python + use python && python_foreach_impl each_python_configure +} + +each_python_compile() { + cd "${BUILD_DIR}" + emake python-build +} + +src_compile() { + default + use python && python_foreach_impl each_python_compile +} + +src_test() { + emake check +} + +each_python_install() { + cd "${BUILD_DIR}" + emake python-install DESTDIR="${D}" + python_optimize +} + +src_install() { + default + use python && python_foreach_impl each_python_install + use udev && udev_dorules contrib/*.rules + find "${D}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + udev_reload +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + udev_reload +} |