summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViorel Munteanu <ceamac@gentoo.org>2024-04-20 22:36:33 +0300
committerViorel Munteanu <ceamac@gentoo.org>2024-04-20 22:47:25 +0300
commit64a76907fb19980476a40fd2ae8230af2fe9126b (patch)
tree94c72ae41b0ef4faa75f36e19a0432a985fb46e2 /dev-embedded/libftdi
parentsys-block/bmap-tools: enable py3.12 (diff)
downloadgentoo-64a76907fb19980476a40fd2ae8230af2fe9126b.tar.gz
gentoo-64a76907fb19980476a40fd2ae8230af2fe9126b.tar.bz2
gentoo-64a76907fb19980476a40fd2ae8230af2fe9126b.zip
dev-embedded/libftdi: enable py3.12
Require >=dev-lang/swig-4.2.0 because that's where they added support for Python 3.12 in swig. In this case this is not strictly required, because swig-4.1.1 generates the same files, so the requirement can be relaxed if needed. Closes: https://bugs.gentoo.org/929394 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
Diffstat (limited to 'dev-embedded/libftdi')
-rw-r--r--dev-embedded/libftdi/libftdi-0.20-r3.ebuild90
-rw-r--r--dev-embedded/libftdi/libftdi-1.5-r6.ebuild90
-rw-r--r--dev-embedded/libftdi/libftdi-9999.ebuild4
3 files changed, 182 insertions, 2 deletions
diff --git a/dev-embedded/libftdi/libftdi-0.20-r3.ebuild b/dev-embedded/libftdi/libftdi-0.20-r3.ebuild
new file mode 100644
index 000000000000..da4a55f0c65e
--- /dev/null
+++ b/dev-embedded/libftdi/libftdi-0.20-r3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake python-single-r1
+
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://developer.intra2net.com/${PN}"
+else
+ SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+DESCRIPTION="Userspace access to FTDI USB interface chips"
+HOMEPAGE="https://www.intra2net.com/en/developer/libftdi/"
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE="cxx doc examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libusb:0
+ cxx? ( dev-libs/boost )
+ doc? ( !dev-embedded/libftdi:1[doc] )
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ python? ( >=dev-lang/swig-4.2.0 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake-include.patch
+ "${FILESDIR}"/${P}-cmake-version.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if use python; then
+ sed -i \
+ -e "s:[$]{PYTHON_LIB_INSTALL}/../site-packages:$(python_get_sitedir):" \
+ bindings/CMakeLists.txt || die
+ fi
+ sed -i \
+ -e '/SET(LIB_SUFFIX /d' \
+ CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFTDIPP=$(usex cxx)
+ -DDOCUMENTATION=$(usex doc)
+ -DEXAMPLES=$(usex examples)
+ -DPYTHON_BINDINGS=$(usex python)
+ -DCMAKE_SKIP_BUILD_RPATH=ON
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use python && python_optimize
+ dodoc ChangeLog README
+
+ if use doc ; then
+ # Clean up man pages with too generic names. #356369
+ rm -vf "${BUILD_DIR}"/doc/man/man3/{_,usb_,deprecated}* || die
+
+ doman "${BUILD_DIR}"/doc/man/man3/*
+ dodoc -r "${BUILD_DIR}"/doc/html
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.c
+ fi
+
+ use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
+}
diff --git a/dev-embedded/libftdi/libftdi-1.5-r6.ebuild b/dev-embedded/libftdi/libftdi-1.5-r6.ebuild
new file mode 100644
index 000000000000..267cb1a06ce6
--- /dev/null
+++ b/dev-embedded/libftdi/libftdi-1.5-r6.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake python-single-r1
+
+MY_P="${PN}1-${PV}"
+if [[ ${PV} == 9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="git://developer.intra2net.com/${PN}"
+else
+ SRC_URI="https://www.intra2net.com/en/developer/${PN}/download/${MY_P}.tar.bz2"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+ PATCHES=(
+ "${FILESDIR}"/${P}-tests-no-cxx.patch
+ "${FILESDIR}"/${P}-cmake-cxx.patch
+ )
+fi
+
+DESCRIPTION="Userspace access to FTDI USB interface chips"
+HOMEPAGE="https://www.intra2net.com/en/developer/libftdi/"
+
+LICENSE="LGPL-2"
+SLOT="1"
+IUSE="cxx doc examples python test tools"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ virtual/libusb:1
+ cxx? ( dev-libs/boost )
+ doc? ( !dev-embedded/libftdi:0[doc] )
+ python? ( ${PYTHON_DEPS} )
+ tools? ( dev-libs/confuse:= )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/boost )
+"
+BDEPEND="
+ doc? ( app-text/doxygen )
+ python? ( >=dev-lang/swig-4.2.0 )
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DFTDIPP=$(usex cxx)
+ -DDOCUMENTATION=$(usex doc)
+ -DEXAMPLES=$(usex examples)
+ -DPYTHON_BINDINGS=$(usex python)
+ -DBUILD_TESTS=$(usex test)
+ -DFTDI_EEPROM=$(usex tools)
+ -DCMAKE_SKIP_BUILD_RPATH=ON
+ -DSTATICLIBS=OFF
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}/test" || die
+ LD_LIBRARY_PATH="${BUILD_DIR}/src" ./test_libftdi1 -l all || die
+}
+
+src_install() {
+ cmake_src_install
+
+ use python && python_optimize
+ dodoc AUTHORS ChangeLog README TODO
+
+ if use doc ; then
+ # Clean up man pages with too generic names. #356369
+ rm -vf "${BUILD_DIR}"/doc/man/man3/_* || die
+
+ doman "${BUILD_DIR}"/doc/man/man3/*
+ dodoc -r "${BUILD_DIR}"/doc/html
+ fi
+
+ if use examples ; then
+ docinto examples
+ dodoc examples/*.c
+ fi
+}
diff --git a/dev-embedded/libftdi/libftdi-9999.ebuild b/dev-embedded/libftdi/libftdi-9999.ebuild
index bb804f1f7033..0430681351f7 100644
--- a/dev-embedded/libftdi/libftdi-9999.ebuild
+++ b/dev-embedded/libftdi/libftdi-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-single-r1
MY_P="${PN}1-${PV}"
@@ -42,7 +42,7 @@ DEPEND="${RDEPEND}
"
BDEPEND="
doc? ( app-text/doxygen )
- python? ( dev-lang/swig )
+ python? ( >=dev-lang/swig-4.2.0 )
"
pkg_setup() {