diff options
Diffstat (limited to 'dev-libs/tomsfastmath')
-rw-r--r-- | dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch | 13 | ||||
-rw-r--r-- | dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild | 69 |
2 files changed, 82 insertions, 0 deletions
diff --git a/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch new file mode 100644 index 000000000000..627bf4b2f4d9 --- /dev/null +++ b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-export-fp_isprime_ex.patch @@ -0,0 +1,13 @@ +Needed because libtomcrypt expects this symbol to be available +https://github.com/libtom/tomsfastmath/commit/81530c207da8b3a43867da14df7d79d2cdf96978.patch +--- a/libtfm.symbols ++++ b/libtfm.symbols +@@ -16,6 +16,7 @@ fp_gcd + fp_ident + fp_invmod + fp_isprime ++fp_isprime_ex + fp_lcm + fp_lshd + fp_mod + diff --git a/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild new file mode 100644 index 000000000000..738e6706e8c4 --- /dev/null +++ b/dev-libs/tomsfastmath/tomsfastmath-0.13.1-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="Fast public domain large integer arithmetic library" +HOMEPAGE="https://www.libtom.net/TomsFastMath/ + https://github.com/libtom/tomsfastmath" +SRC_URI="https://github.com/libtom/tomsfastmath/releases/download/v${PV}/tfm-${PV}.tar.xz" +LICENSE="Unlicense" + +# Current SONAME is 1 +# Please bump when the ABI changes upstream +# Helpful site: +# https://abi-laboratory.pro/index.php?view=timeline&l=tomsfastmath +SLOT="0/1" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +PATCHES=( + "${FILESDIR}/${P}-makefile-fix.patch" + "${FILESDIR}/${PN}-0.13.1-export-fp_isprime_ex.patch" +) + +_emake() { + # Standard boilerplate + # Upstream use homebrewed makefiles + # Best to use same args for all, for consistency, + # in case behaviour changes (v possible). + emake \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + DESTDIR="${ED}" \ + LIBPATH="/usr/$(get_libdir)" \ + IGNORE_SPEED=1 \ + "$@" +} + +src_compile() { + _emake -f makefile.shared +} + +src_test() { + _emake test_standalone stest rsatest + + # We choose to be verbose during the test process + # because the output is quite repetitive with no + # clear demarcation b/t tests + local tests=( "test" "stest" "rsatest" ) + + local test + for test in "${tests[@]}"; do + einfo "Running test (${test})" + ./${test} || die "Test (${test}) failed" + einfo "Completed test (${test})" + done +} + +src_install() { + _emake -f makefile.shared install + + # Remove unnecessary .la files + find "${ED}" -name '*.la' -delete || die + # Same for static libs + find "${ED}" -name "*.a" -delete || die +} |