summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-03-10 04:51:12 +0000
committerSam James <sam@gentoo.org>2021-03-10 04:51:12 +0000
commita4c858127655bd6543d301f40a24200f2b592b57 (patch)
tree31455cc14897d6eedb1bd8a70df0d42cc69263e4
parentwww-apache/mod_fastcgi_handler: workaround depend.apache eclass issues (diff)
downloadgentoo-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>
-rw-r--r--dev-embedded/libftdi/files/libftdi-1.5-cmake-cxx.patch46
-rw-r--r--dev-embedded/libftdi/libftdi-1.5-r3.ebuild96
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
+}