diff options
author | Sam James <sam@gentoo.org> | 2021-03-10 04:51:12 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-03-10 04:51:12 +0000 |
commit | a4c858127655bd6543d301f40a24200f2b592b57 (patch) | |
tree | 31455cc14897d6eedb1bd8a70df0d42cc69263e4 /dev-embedded | |
parent | www-apache/mod_fastcgi_handler: workaround depend.apache eclass issues (diff) | |
download | gentoo-a4c858127655bd6543d301f40a24200f2b592b57.tar.gz gentoo-a4c858127655bd6543d301f40a24200f2b592b57.tar.bz2 gentoo-a4c858127655bd6543d301f40a24200f2b592b57.zip |
dev-embedded/libftdi: add upstream CMake patch
Closes: https://bugs.gentoo.org/775116
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-embedded')
-rw-r--r-- | dev-embedded/libftdi/files/libftdi-1.5-cmake-cxx.patch | 46 | ||||
-rw-r--r-- | dev-embedded/libftdi/libftdi-1.5-r3.ebuild | 96 |
2 files changed, 142 insertions, 0 deletions
diff --git a/dev-embedded/libftdi/files/libftdi-1.5-cmake-cxx.patch b/dev-embedded/libftdi/files/libftdi-1.5-cmake-cxx.patch new file mode 100644 index 000000000000..a04aee1cf1d0 --- /dev/null +++ b/dev-embedded/libftdi/files/libftdi-1.5-cmake-cxx.patch @@ -0,0 +1,46 @@ +https://bugs.gentoo.org/766818 + +From cdb28383402d248dbc6062f4391b038375c52385 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine <fontaine.fabrice@gmail.com> +Date: Fri, 17 Jul 2020 21:25:03 +0200 +Subject: [PATCH] CMakeLists.txt: fix paths when FTDIPP is set + +Use the same project name (i.e. libftdi1 and not libftdipp1) when FTDIPP +is enabled as suggested by Aurelien Jarno in +http://developer.intra2net.com/mailarchive/html/libftdi/2020/msg00044.html + +Without this change, the libftdi1.pc config file defines the include +path as /usr/local/include/libftdipp1 while the ftdi.h file is actually +installed in /usr/local/include/libftdi1 + +This is an issue for example for libsigrok which will fail on: + +In file included from src/hardware/asix-sigma/protocol.c:27: +src/hardware/asix-sigma/protocol.h:28:10: fatal error: ftdi.h: No such file or directory + 28 | #include <ftdi.h> + | ^~~~~~~~ + +Fixes: + - http://autobuild.buildroot.org/results/1427f44e36752c337791597fab47a1889552a2fe + +Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> +--- + CMakeLists.txt | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5aecafc..3b0b87c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -136,7 +136,7 @@ endif () + + add_subdirectory(src) + if ( FTDIPP ) +- project(libftdipp1 C CXX) ++ project(libftdi1 C CXX) + add_subdirectory(ftdipp) + endif () + if ( PYTHON_BINDINGS ) +-- +1.7.1 + diff --git a/dev-embedded/libftdi/libftdi-1.5-r3.ebuild b/dev-embedded/libftdi/libftdi-1.5-r3.ebuild new file mode 100644 index 000000000000..43542c3f4d83 --- /dev/null +++ b/dev-embedded/libftdi/libftdi-1.5-r3.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) +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" + KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86" +fi + +DESCRIPTION="Userspace access to FTDI USB interface chips" +HOMEPAGE="https://www.intra2net.com/en/developer/libftdi/" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2" +SLOT="1" +IUSE="cxx doc examples python test tools" +RESTRICT="!test? ( test )" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +BDEPEND=" + doc? ( app-doc/doxygen ) + python? ( dev-lang/swig )" +RDEPEND=" + virtual/libusb:1 + cxx? ( dev-libs/boost ) + python? ( ${PYTHON_DEPS} ) + tools? ( + !<dev-embedded/ftdi_eeprom-1.0 + dev-libs/confuse:= + )" +DEPEND="${RDEPEND} + test? ( dev-libs/boost ) +" + +PATCHES=( + "${FILESDIR}"/${P}-tests-no-cxx.patch + "${FILESDIR}"/${P}-cmake-cxx.patch +) + +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 + + # Fix up pkgconfig files + # bug #766818 + if use cxx ; then + sed -i -e "s/libftdipp1/libftdi1/" "${ED}"/usr/$(get_libdir)/pkgconfig/libftdi1.pc || die + sed -i -e "s/libftdi1/libftdipp1/" "${ED}"/usr/$(get_libdir)/pkgconfig/libftdipp1.pc || die + fi + + use python && python_optimize + dodoc AUTHORS ChangeLog README TODO + + if use doc ; then + # Clean up crap man pages. #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 +} |