From f0b24a07e3b298277be4362cf56b33d591610c1f Mon Sep 17 00:00:00 2001 From: "Sam James (sam_c)" Date: Sun, 24 May 2020 05:03:33 +0000 Subject: [PATCH] dev-libs/tomsfastmath: New package "TomsFastMath is a fast public domain, open source, large integer arithmetic library written in portable ISO C." app-antivirus/clamav currently bundles this, and the new dev-libs/libtomcrypto can optionally make use of it. Introduce it as a new package to keep track of security issues. Bug: https://bugs.gentoo.org/649394 Closes: https://bugs.gentoo.org/723856 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sam James (sam_c) Signed-off-by: Michael Orlitzky --- dev-libs/tomsfastmath/Manifest | 1 + .../tomsfastmath-0.13.1-makefile-fix.patch | 45 +++++++++++++ dev-libs/tomsfastmath/metadata.xml | 12 ++++ .../tomsfastmath/tomsfastmath-0.13.1.ebuild | 66 +++++++++++++++++++ 4 files changed, 124 insertions(+) create mode 100644 dev-libs/tomsfastmath/Manifest create mode 100644 dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch create mode 100644 dev-libs/tomsfastmath/metadata.xml create mode 100644 dev-libs/tomsfastmath/tomsfastmath-0.13.1.ebuild diff --git a/dev-libs/tomsfastmath/Manifest b/dev-libs/tomsfastmath/Manifest new file mode 100644 index 000000000000..245166bd36a7 --- /dev/null +++ b/dev-libs/tomsfastmath/Manifest @@ -0,0 +1 @@ +DIST tfm-0.13.1.tar.xz 322684 BLAKE2B 393c0e0e018b199c9fc975ab3013466399ea337f520f4634649a9e61b2218b9a6b218d11212b535fc8bbd2bf40d8722fc413dc60756f1b8ff7c78da049765083 SHA512 84225fe81bbcd1df7e40ed0b8c8077d60612246a76f3149b672dfd1066eb0179262fa4f5a42ffd2034e60cb74cfd86e0b49139371971ebbb4f41a4ecebca2111 diff --git a/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch new file mode 100644 index 000000000000..7239178e5dde --- /dev/null +++ b/dev-libs/tomsfastmath/files/tomsfastmath-0.13.1-makefile-fix.patch @@ -0,0 +1,45 @@ +diff --git a/makefile.shared b/makefile.shared +index 47c35d9..cebaa04 100644 +--- a/makefile.shared ++++ b/makefile.shared +@@ -1,7 +1,8 @@ + #makefile for TomsFastMath + # + # +-VERSION=1:0:0 ++VERSION=0.13.1 ++VERSION_LIB=1:0:0 + + LT ?= libtool + LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC) +@@ -89,13 +90,16 @@ $(OBJECTS): $(HEADERS) + $(LTCOMPILE) $(CFLAGS) $(LDFLAGS) -o $@ -c $< + + $(LIBNAME): $(OBJECTS) +- libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) `find . -type f | LC_ALL=C sort | grep "[.]lo" | xargs` -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION) -export-symbols libtfm.symbols ++ libtool --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) `find . -type f | LC_ALL=C sort | grep "[.]lo" | xargs` -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_LIB) -export-symbols libtfm.symbols + + install: $(LIBNAME) + install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH) + libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME) + install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH) + install -g $(GROUP) -o $(USER) $(HEADERS_PUB) $(DESTDIR)$(INCPATH) ++ sed -e 's,^Version:.*,Version: $(VERSION),' tomsfastmath.pc.in > tomsfastmath.pc ++ install -d $(DESTDIR)$(LIBPATH)/pkgconfig ++ install -m 644 tomsfastmath.pc $(DESTDIR)$(LIBPATH)/pkgconfig/ + + HEADER_FILES=$(notdir $(HEADERS_PUB)) + uninstall: +diff --git a/tomsfastmath.pc.in b/tomsfastmath.pc.in +new file mode 100644 +index 0000000..a0275ab +--- /dev/null ++++ b/tomsfastmath.pc.in +@@ -0,0 +1,7 @@ ++# TomsFastMath, a fast ISO C bignum library. -- Tom St Denis ++# SPDX-License-Identifier: Unlicense ++ ++Name: TomFastMath ++Description: Fast multiple-precision integer library ++Version: @VERSION@ ++Libs: -ltfm diff --git a/dev-libs/tomsfastmath/metadata.xml b/dev-libs/tomsfastmath/metadata.xml new file mode 100644 index 000000000000..6e3769c91101 --- /dev/null +++ b/dev-libs/tomsfastmath/metadata.xml @@ -0,0 +1,12 @@ + + + + + sam@cmpct.info + Sam James + + + proxy-maint@gentoo.org + Proxy Maintainers + + diff --git a/dev-libs/tomsfastmath/tomsfastmath-0.13.1.ebuild b/dev-libs/tomsfastmath/tomsfastmath-0.13.1.ebuild new file mode 100644 index 000000000000..3b61e419f34b --- /dev/null +++ b/dev-libs/tomsfastmath/tomsfastmath-0.13.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="TomsFastMath is a 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="~amd64" + +PATCHES=( + "${FILESDIR}/${P}-makefile-fix.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 + tests=( "test" "stest" "rsatest" ) + + 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 +} -- 2.26.2