diff options
author | Viorel Munteanu <ceamac@gentoo.org> | 2024-04-20 22:36:33 +0300 |
---|---|---|
committer | Viorel Munteanu <ceamac@gentoo.org> | 2024-04-20 22:47:25 +0300 |
commit | 64a76907fb19980476a40fd2ae8230af2fe9126b (patch) | |
tree | 94c72ae41b0ef4faa75f36e19a0432a985fb46e2 /dev-embedded/libftdi | |
parent | sys-block/bmap-tools: enable py3.12 (diff) | |
download | gentoo-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.ebuild | 90 | ||||
-rw-r--r-- | dev-embedded/libftdi/libftdi-1.5-r6.ebuild | 90 | ||||
-rw-r--r-- | dev-embedded/libftdi/libftdi-9999.ebuild | 4 |
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() { |