commit:     64a76907fb19980476a40fd2ae8230af2fe9126b
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 20 19:36:33 2024 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 19:47:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64a76907

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 <AT> gentoo.org>

 ...{libftdi-9999.ebuild => libftdi-0.20-r3.ebuild} | 63 +++++++++++-----------
 .../{libftdi-9999.ebuild => libftdi-1.5-r6.ebuild} |  5 +-
 dev-embedded/libftdi/libftdi-9999.ebuild           |  4 +-
 3 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/dev-embedded/libftdi/libftdi-9999.ebuild 
b/dev-embedded/libftdi/libftdi-0.20-r3.ebuild
similarity index 60%
copy from dev-embedded/libftdi/libftdi-9999.ebuild
copy to dev-embedded/libftdi/libftdi-0.20-r3.ebuild
index bb804f1f7033..da4a55f0c65e 100644
--- a/dev-embedded/libftdi/libftdi-9999.ebuild
+++ b/dev-embedded/libftdi/libftdi-0.20-r3.ebuild
@@ -3,80 +3,79 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{10..11} )
+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
-       )
+       
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="1"
-IUSE="cxx doc examples python test tools"
-RESTRICT="!test? ( test )"
+SLOT="0"
+IUSE="cxx doc examples python static-libs"
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
 RDEPEND="
-       virtual/libusb:1
+       virtual/libusb:0
        cxx? ( dev-libs/boost )
+       doc? ( !dev-embedded/libftdi:1[doc] )
        python? ( ${PYTHON_DEPS} )
-       tools? ( dev-libs/confuse:= )
-"
-DEPEND="${RDEPEND}
-       test? ( dev-libs/boost )
 "
+DEPEND="${RDEPEND}"
 BDEPEND="
        doc? ( app-text/doxygen )
-       python? ( dev-lang/swig )
+       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)
-               -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
+       cmake_src_configure
 }
 
 src_install() {
        cmake_src_install
-
        use python && python_optimize
-       dodoc AUTHORS ChangeLog README TODO
+       dodoc ChangeLog README
 
        if use doc ; then
                # Clean up man pages with too generic names. #356369
-               rm -vf "${BUILD_DIR}"/doc/man/man3/_* || die
+               rm -vf "${BUILD_DIR}"/doc/man/man3/{_,usb_,deprecated}* || die
 
                doman "${BUILD_DIR}"/doc/man/man3/*
                dodoc -r "${BUILD_DIR}"/doc/html
@@ -86,4 +85,6 @@ src_install() {
                docinto examples
                dodoc examples/*.c
        fi
+
+       use static-libs || rm "${ED}"/usr/$(get_libdir)/${PN}.a || die
 }

diff --git a/dev-embedded/libftdi/libftdi-9999.ebuild 
b/dev-embedded/libftdi/libftdi-1.5-r6.ebuild
similarity index 94%
copy from dev-embedded/libftdi/libftdi-9999.ebuild
copy to dev-embedded/libftdi/libftdi-1.5-r6.ebuild
index bb804f1f7033..267cb1a06ce6 100644
--- a/dev-embedded/libftdi/libftdi-9999.ebuild
+++ b/dev-embedded/libftdi/libftdi-1.5-r6.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}"
@@ -34,6 +34,7 @@ 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:= )
 "
@@ -42,7 +43,7 @@ DEPEND="${RDEPEND}
 "
 BDEPEND="
        doc? ( app-text/doxygen )
-       python? ( dev-lang/swig )
+       python? ( >=dev-lang/swig-4.2.0 )
 "
 
 pkg_setup() {

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() {

Reply via email to