dev-embedded/libftdi: add upstream CMake patch

Closes: https://bugs.gentoo.org/775116
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2021-03-10 04:51:12 +00:00
parent ad49fd833d
commit a4c8581276
2 changed files with 142 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}