mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
... to avoid installing broken static libraries w/ LTO. Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://codeberg.org/gentoo/gentoo/pulls/249 Merges: https://codeberg.org/gentoo/gentoo/pulls/249 Signed-off-by: Sam James <sam@gentoo.org>
83 lines
2.2 KiB
Bash
83 lines
2.2 KiB
Bash
# Copyright 1999-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
MY_PN="${PN}"-core
|
|
MY_P="${MY_PN}"-"${PV}"
|
|
inherit cmake dot-a toolchain-funcs
|
|
|
|
DESCRIPTION="High-performance, full-featured text search engine based off of lucene in C++"
|
|
HOMEPAGE="https://clucene.sourceforge.net"
|
|
SRC_URI="https://downloads.sourceforge.net/project/${PN}/${MY_PN}-unstable/$(ver_cut 1-2)/${MY_P}.tar.gz"
|
|
S="${WORKDIR}/${MY_PN}-${PV}"
|
|
|
|
LICENSE="|| ( Apache-2.0 LGPL-2.1 )"
|
|
SLOT="1"
|
|
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
|
|
IUSE="debug doc static-libs"
|
|
RESTRICT="test"
|
|
|
|
BDEPEND="doc? ( >=app-text/doxygen-1.4.2 )"
|
|
|
|
DOCS=(AUTHORS ChangeLog README README.PACKAGE REQUESTS)
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}/${P}-fix-clang.patch"
|
|
"${FILESDIR}/${P}-contrib.patch"
|
|
"${FILESDIR}/${P}-pkgconfig.patch"
|
|
"${FILESDIR}/${P}-gcc6.patch"
|
|
"${FILESDIR}/${P}-gmtime.patch"
|
|
"${FILESDIR}/${P}-musl-pthread.patch"
|
|
"${FILESDIR}/${P}-libcxx.patch"
|
|
"${FILESDIR}/${P}-fix-binary-function.patch"
|
|
"${FILESDIR}/${P}-cmake4.patch"
|
|
)
|
|
|
|
src_prepare() {
|
|
cmake_src_prepare
|
|
|
|
# patch out installing bundled boost headers, we build against system one
|
|
sed -i \
|
|
-e '/ADD_SUBDIRECTORY (src\/ext)/d' \
|
|
CMakeLists.txt || die
|
|
# don't reference non-existent paths in .pc file (bug #950316)
|
|
sed -i \
|
|
-e 's%\(:\| -I\)${prefix}/include/CLucene/ext%%g' \
|
|
./src/core/libclucene-core.pc.cmake || die
|
|
rm -rf src/ext || die
|
|
|
|
# do compile-only tests while cross-compiling
|
|
# the EXITCODE for each test can be overrided otherwise
|
|
if tc-is-cross-compiler; then
|
|
sed -i \
|
|
-e '/CHECK_CXX_SOURCE_/s/_RUNS/_COMPILES/' \
|
|
src/shared/cmake/*.cmake || die
|
|
fi
|
|
}
|
|
|
|
src_configure() {
|
|
use static-libs && lto-guarantee-fat
|
|
|
|
# Disabled threads: see upstream bug
|
|
# https://sourceforge.net/p/clucene/bugs/197/
|
|
local mycmakeargs=(
|
|
-DENABLE_ASCII_MODE=OFF
|
|
-DENABLE_PACKAGING=OFF
|
|
-DDISABLE_MULTITHREADING=OFF
|
|
-DBUILD_CONTRIBS_LIB=ON
|
|
-DLIB_DESTINATION="${EPREFIX}/usr/$(get_libdir)"
|
|
-DENABLE_DEBUG=$(usex debug)
|
|
-DENABLE_CLDOCS=$(usex doc)
|
|
-DBUILD_STATIC_LIBRARIES=$(usex static-libs)
|
|
)
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
src_install() {
|
|
cmake_src_install
|
|
|
|
use static-libs && strip-lto-bytecode
|
|
}
|