summaryrefslogtreecommitdiff
path: root/sys-libs/libfaketime/libfaketime-0.9.10.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/libfaketime/libfaketime-0.9.10.ebuild')
-rw-r--r--sys-libs/libfaketime/libfaketime-0.9.10.ebuild67
1 files changed, 67 insertions, 0 deletions
diff --git a/sys-libs/libfaketime/libfaketime-0.9.10.ebuild b/sys-libs/libfaketime/libfaketime-0.9.10.ebuild
new file mode 100644
index 000000000000..53106198a4cf
--- /dev/null
+++ b/sys-libs/libfaketime/libfaketime-0.9.10.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs multilib-minimal
+
+DESCRIPTION="Report faked system time to programs"
+HOMEPAGE="http://www.code-wizards.com/projects/libfaketime/ https://github.com/wolfcw/libfaketime"
+SRC_URI="https://github.com/wolfcw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+src_prepare() {
+ default
+
+ sed -i -e 's/-Werror //' {src,test}/Makefile || die
+
+ # Bug #617624 (GCC-6 compatibility)
+ sed -i 's/-Wno-nonnull-compare //' src/Makefile || die
+
+ # bug #863911
+ filter-lto
+
+ # We used to always set this, but see:
+ # 1. https://github.com/wolfcw/libfaketime/commit/40edcc7ca087a8118fe5a2d27152617fa233e0e2
+ # i.e. we should report cases which end up needing it, rather than always setting it.
+ #
+ # 2. As of 0.9.10, libfaketime tries to detect at runtime if it's needed.
+ #append-cflags -DFORCE_MONOTONIC_FIX
+
+ # bug #844958
+ use riscv && append-cflags -DFORCE_PTHREAD_NONVER
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ local target=all
+
+ pushd src > /dev/null || die
+ multilib_is_native_abi || target="${PN}.so.1 ${PN}MT.so.1"
+ # ${target} is intentionally not quoted
+ emake CC="$(tc-getCC)" LIBDIRNAME="/$(get_libdir)" PREFIX=/usr ${target}
+ popd > /dev/null || die
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && emake CC="$(tc-getCC)" test
+}
+
+multilib_src_install() {
+ multilib_is_native_abi && dobin src/faketime
+
+ exeinto /usr/$(get_libdir)
+ doexe src/${PN}*.so.*
+
+ dosym ${PN}.so.1 /usr/$(get_libdir)/${PN}.so
+ dosym ${PN}MT.so.1 /usr/$(get_libdir)/${PN}MT.so
+}
+
+multilib_src_install_all() {
+ doman man/faketime.1
+ dodoc NEWS README TODO
+}