From: Graham Inggs Date: Thu, 8 Nov 2018 12:37:11 +0000 (+0000) Subject: Import openlibm_0.6.0+dfsg-2.debian.tar.xz X-Git-Tag: archive/raspbian/0.7.0+dfsg-1+rpi1~1^2~2^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ddcc3b6851d4438a993865e50ce8888a1aaf6c53;p=openlibm.git Import openlibm_0.6.0+dfsg-2.debian.tar.xz [dgit import tarball openlibm 0.6.0+dfsg-2 openlibm_0.6.0+dfsg-2.debian.tar.xz] --- ddcc3b6851d4438a993865e50ce8888a1aaf6c53 diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..4d6c753 --- /dev/null +++ b/README.Debian @@ -0,0 +1,40 @@ +Performance Comparison to system libm +===================================== + +Upstream source ships a simple benchmarker. To compile and use it, just + + $ cd tests + $ make bench + $ ./bench-openlibm + $ ./bench-syslibm + +Here is a sample result (CPU=Intel I5-7440HQ, 4C4T @ 2.8~3.8GHz) +(MPS: the larger the better) + + ./bench-syslibm + pow : 19.0415 MPS + hypot : 82.4286 MPS + exp : 83.2189 MPS + log : 57.1461 MPS + log10 : 44.8768 MPS + sin : 94.7686 MPS + cos : 84.7915 MPS + tan : 71.1836 MPS + asin : 81.8074 MPS + acos : 90.3702 MPS + atan : 70.2736 MPS + atan2 : 36.8241 MPS + + ./bench-openlibm + pow : 13.0814 MPS + hypot : 60.3638 MPS + exp : 116.1055 MPS + log : 95.2774 MPS + log10 : 77.2413 MPS + sin : 120.9996 MPS + cos : 124.5636 MPS + tan : 71.5262 MPS + asin : 38.2661 MPS + acos : 41.3668 MPS + atan : 88.0274 MPS + atan2 : 43.3577 MPS diff --git a/changelog b/changelog new file mode 100644 index 0000000..a4a2c85 --- /dev/null +++ b/changelog @@ -0,0 +1,164 @@ +openlibm (0.6.0+dfsg-2) unstable; urgency=medium + + [ Helmut Grohne ] + * Fix FTCBFS: make install needs to know CC (Closes: #912683) + + [ Graham Inggs ] + * Add support for s390x, thanks Dan Horák + * Bump Standards-Version to 4.2.1, no changes + + -- Graham Inggs Thu, 08 Nov 2018 12:37:11 +0000 + +openlibm (0.6.0+dfsg-1) unstable; urgency=medium + + [ Peter Colberg ] + * Update Vcs-* fields for move to salsa.debian.org + + [ Mo Zhou ] + * New upstream version 0.6.0+dfsg + * README.Debian: Add note about benchmarking + * Remove all the patches: + - Remove fix-missing-buildflags.patch, merged by upstream. + - Remove kfreebsd-hurd-tests.patch, fixed upstream. + - Remove fix-armhf-fp-status-register.patch, merged upstream. + - Remove add-mips-support.patch, merged upstream. + * Refresh copyright for upstream 0.6.0 release. + * Add myself to Uploaders. + * Upstream moved from JuliaLang to JuliaMath. + + Update control, watch, and copyright accordingly. + * Bump Standards Version to 4.1.4 . + + Fix insecure-copyright-format-uri. (3.9.8 -> 4.0.0) + * Bump debhelper compat level to 11. + - Remove --parallel flag in favor of debhelper compat 11. + * tests: Add autopkgtest control file. + * Refresh symbols control file for arm64. + + -- Mo Zhou Thu, 21 Jun 2018 09:01:29 +0000 + +openlibm (0.5.4+dfsg-3) unstable; urgency=medium + + * Add support for mips architectures, + thanks Radovan Birdic (Closes: #852441) + + -- Graham Inggs Tue, 24 Jan 2017 20:26:37 +0200 + +openlibm (0.5.4+dfsg-2) unstable; urgency=medium + + * Fix armhf floating-point status register, thanks Elliot Saba + * Update Forwarded status in fix-missing-buildflags.patch + * Mark libopenlibm-dev Multi-Arch: same, as per MultiArch hinter + * Update debian/copyright + + -- Graham Inggs Wed, 18 Jan 2017 20:25:14 +0200 + +openlibm (0.5.4+dfsg-1) unstable; urgency=medium + + * New upstream release + + -- Peter Colberg Sun, 18 Sep 2016 23:15:36 -0400 + +openlibm (0.5.3+dfsg-1) unstable; urgency=medium + + * New upstream release + + -- Peter Colberg Fri, 12 Aug 2016 00:04:11 -0400 + +openlibm (0.5.2+dfsg-1) unstable; urgency=medium + + * New upstream release + * Drop fix-inline-of-fpgetprec-on-i386.patch, applied upstream + * Add debian/gbp.conf for pristine-tar + + -- Peter Colberg Sat, 06 Aug 2016 23:06:47 -0400 + +openlibm (0.5.1+dfsg-1) unstable; urgency=medium + + [ Peter Colberg ] + * New upstream release (Closes: #803206) + * Enable parallel build + * Enable bindnow hardening flag + * Bump Standards-Version to 3.9.8, no further changes + * Add myself to Uploaders + * Add repacksuffix to debian/watch + * Fix FTBFS on i386 due to missing inline of __fpgetprec + + [ Graham Inggs ] + * Add arm64 symbols to debian/libopenlibm2.symbols + + -- Peter Colberg Wed, 22 Jun 2016 16:42:34 -0400 + +openlibm (0.5.0+dfsg-2) unstable; urgency=medium + + * Update debian/libopenlibm2.symbols, add ppc64 and i386. + * Fix building tests on GNU/kFreeBSD and GNU/Hurd. + * Fix missing buildflags, enable optimization again for *int.c and *intf.c. + + -- Graham Inggs Wed, 06 Apr 2016 22:32:26 +0200 + +openlibm (0.5.0+dfsg-1) unstable; urgency=medium + + [ Sébastien Villemot ] + * Remove Sébastien Villemot from Uploaders. + + [ Graham Inggs ] + * New upstream release + - PowerPC support (Closes: #818173) + * Drop all patches included upstream. + * Update debian/rules, tests now run in dh_auto_test. + * Update debian/libopenlibm2.symbols, add armhf, powerpc and ppc64el. + * Use secure URIs for VCS fields. + * Bump Standards-Version to 3.9.7, no further changes. + * Update debian/copyright. + + -- Graham Inggs Tue, 29 Mar 2016 17:37:11 +0200 + +openlibm (0.4.1+dfsg-4) unstable; urgency=medium + + * Fix unresolved symbol __fpgetprec in libopenlibm.so.1.0 on i386. + * Do not explicitly link libm to work around issue with + 'ld ... invalid version 26898 (max 0)' in some julia i386 builds. + + -- Graham Inggs Fri, 13 Nov 2015 12:54:29 +0200 + +openlibm (0.4.1+dfsg-3) unstable; urgency=medium + + * Build on GNU/kFreeBSD and GNU/Hurd. + * Update debian/libopenlibm1.symbols. + + -- Graham Inggs Tue, 27 Oct 2015 11:14:31 +0200 + +openlibm (0.4.1+dfsg-2) unstable; urgency=medium + + * Add myself to uploaders. + * Build everywhere. + * Fix missing buildflags. + * Explicitly link libm to fix underlinking. + + -- Graham Inggs Mon, 26 Oct 2015 05:47:15 +0200 + +openlibm (0.4.1+dfsg-1) unstable; urgency=medium + + * Imported Upstream version 0.4.1+dfsg + * Fix debian/watch for dfsg suffix mangling. + * d/p/test-tolerance.patch: drop patch, applied upstream. + * Bump Standards-Version to 3.9.6, no changes needed. + + -- Sébastien Villemot Thu, 30 Apr 2015 14:54:22 +0200 + +openlibm (0.4+dfsg-1) unstable; urgency=medium + + * Imported Upstream version 0.4+dfsg + * fix-soname.patch, i386.patch: remove patches, applied upstream. + * Bump SONAME, shared lib package now libopenlibm1. + * Ship pkg-config file. + * No longer mark libopenlibm-dev as M-A:same. (Closes: #755213) + * Execute tests at build time. + Two new patches needed: test-tolerance.patch, exp-fpstack.patch. + + -- Sébastien Villemot Tue, 29 Jul 2014 10:30:03 +0000 + +openlibm (0.3+dfsg-1) unstable; urgency=medium + + * Initial release. (Closes: #751378) + + -- Sébastien Villemot Sun, 06 Jul 2014 14:22:14 +0200 diff --git a/clean b/clean new file mode 100644 index 0000000..b6a318f --- /dev/null +++ b/clean @@ -0,0 +1,3 @@ +test/test-double +test/test-float +openlibm.pc diff --git a/compat b/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000..9c21b13 --- /dev/null +++ b/control @@ -0,0 +1,45 @@ +Source: openlibm +Priority: optional +Maintainer: Debian Julia Team +Uploaders: Graham Inggs , + Peter Colberg , + Mo Zhou , +Build-Depends: debhelper (>= 11), dh-exec +Standards-Version: 4.2.1 +Section: libs +Homepage: https://github.com/JuliaMath/openlibm +Vcs-Git: https://salsa.debian.org/julia-team/openlibm.git +Vcs-Browser: https://salsa.debian.org/julia-team/openlibm + +Package: libopenlibm2 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: standalone implementation of C mathematical functions (shared library) + OpenLibm is an effort to have a high quality, portable, standalone libm + implementation, under a liberal free software license. It can be used + standalone in applications and programming language implementations. + . + The project was born out of a need to have a good libm for the Julia + programming language that worked consistently across compilers and operating + systems, and in 32-bit and 64-bit environments. + . + This package contains a shared version of the library. + +Package: libopenlibm-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libopenlibm2 (= ${binary:Version}), ${misc:Depends} +Description: standalone implementation of C mathematical functions (development files) + OpenLibm is an effort to have a high quality, portable, standalone libm + implementation, under a liberal free software license. It can be used + standalone in applications and programming language implementations. + . + The project was born out of a need to have a good libm for the Julia + programming language that worked consistently across compilers and operating + systems, and in 32-bit and 64-bit environments. + . + This package contains the development files needed to compile software using + openlibm. diff --git a/copyright b/copyright new file mode 100644 index 0000000..4dd2bdc --- /dev/null +++ b/copyright @@ -0,0 +1,563 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Openlibm +Upstream-Contact: julia-dev@googlegroups.com +Source: https://github.com/JuliaMath/openlibm +Files-Excluded: i387/osx_asm.h + +Files: * +Copyright: 2011-2016 Viral B. Shah, Keno Fischer, Jameson Nash, + https://github.com/JuliaMath/openlibm/graphs/contributors +License: Expat + +Files: amd64/e_remainder.S + amd64/e_remainderf.S + amd64/e_remainderl.S + amd64/s_logbl.S + amd64/s_remquo.S + amd64/s_remquof.S + amd64/s_remquol.S + amd64/s_rintl.S + amd64/s_scalbnl.S + i387/e_exp.S + i387/e_fmod.S + i387/e_log.S + i387/e_log10.S + i387/e_log10f.S + i387/e_logf.S + i387/e_remainder.S + i387/e_remainderf.S + i387/e_remainderl.S + i387/e_sqrt.S + i387/e_sqrtf.S + i387/e_sqrtl.S + i387/s_ceil.S + i387/s_ceilf.S + i387/s_ceill.S + i387/s_copysign.S + i387/s_copysignf.S + i387/s_copysignl.S + i387/s_cos.S + i387/s_floor.S + i387/s_floorf.S + i387/s_floorl.S + i387/s_logb.S + i387/s_logbf.S + i387/s_logbl.S + i387/s_remquo.S + i387/s_remquof.S + i387/s_remquol.S + i387/s_rint.S + i387/s_rintf.S + i387/s_rintl.S + i387/s_scalbn.S + i387/s_scalbnf.S + i387/s_scalbnl.S + i387/s_sin.S + i387/s_tan.S + i387/s_trunc.S + i387/s_truncf.S + i387/s_truncl.S + src/w_cabs.c + src/w_cabsf.c + src/w_cabsl.c +Copyright: none +License: public-domain + Based on code written by J.T. Conklin + +Files: include/openlibm_math.h + ld128/s_remquol.c + ld128/s_tanhl.c + ld128/s_truncl.c + ld128/e_rem_pio2l.h + ld128/e_acoshl.c + ld128/k_tanl.c + ld128/s_nexttowardf.c + ld128/k_sinl.c + ld128/e_coshl.c + ld128/e_fmodl.c + ld128/e_powl.c + ld128/s_nexttoward.c + ld128/s_erfl.c + ld128/s_asinhl.c + ld128/e_hypotl.c + ld128/s_ceill.c + ld128/k_cosl.c + ld128/s_nextafterl.c + ld128/s_floorl.c + ld128/s_modfl.c + ld128/e_atanhl.c + ld128/e_sinhl.c + ld80/s_remquol.c + ld80/s_tanhl.c + ld80/s_truncl.c + ld80/e_rem_pio2l.h + ld80/e_acoshl.c + ld80/k_tanl.c + ld80/s_nexttowardf.c + ld80/k_sinl.c + ld80/e_coshl.c + ld80/e_fmodl.c + ld80/s_nexttoward.c + ld80/s_erfl.c + ld80/e_lgammal_r.c + ld80/s_asinhl.c + ld80/e_hypotl.c + ld80/s_ceill.c + ld80/k_cosl.c + ld80/s_nextafterl.c + ld80/s_floorl.c + ld80/s_modfl.c + ld80/e_atanhl.c + ld80/e_sinhl.c + src/k_logf.h + src/k_rem_pio2.c + src/s_remquol.c + src/e_sinh.c + src/s_ilogb.c + src/e_lgamma_r.c + src/e_exp.c + src/e_expf.c + src/s_tanhf.c + src/s_remquo.c + src/s_log1p.c + src/e_acosl.c + src/s_modf.c + src/s_logb.c + src/e_coshf.c + src/e_log10f.c + src/s_logbl.c + src/s_truncl.c + src/k_log.h + src/s_ceil.c + src/s_atanf.c + src/s_frexpf.c + src/s_frexp.c + src/s_erf.c + src/s_floorf.c + src/s_atanl.c + src/e_cosh.c + src/s_scalbnf.c + src/k_tanf.c + src/e_remainderf.c + src/s_nextafter.c + src/e_fmodf.c + src/e_j0.c + src/s_floor.c + src/s_tanf.c + src/e_sinhf.c + src/e_jn.c + src/s_rintf.c + src/s_ilogbl.c + src/math_private_openbsd.h + src/s_nexttowardf.c + src/s_tan.c + src/e_atan2f.c + src/s_truncf.c + src/s_copysign.c + src/s_fabs.c + src/s_expm1f.c + src/s_log1pf.c + src/e_asin.c + src/e_pow.c + src/s_cbrtl.c + src/e_logf.c + src/e_j1.c + src/s_scalbnl.c + src/e_lgammaf.c + src/s_cbrtf.c + src/e_hypotf.c + src/e_asinl.c + src/e_log2.c + src/s_fabsf.c + src/e_log2f.c + src/s_sinf.c + src/e_hypot.c + src/e_lgammaf_r.c + src/e_asinf.c + src/e_log10.c + src/s_cbrt.c + src/s_cosf.c + src/s_asinh.c + src/s_sincosl.c + src/s_remquof.c + src/math_private.h + src/e_fmodl.c + src/s_expm1.c + src/s_rint.c + src/k_sin.c + src/s_trunc.c + src/s_nexttoward.c + src/s_asinhf.c + src/s_logbf.c + src/s_atan.c + src/s_sin.c + src/s_sincos.c + src/s_modff.c + src/e_acosh.c + src/e_hypotl.c + src/s_ceill.c + src/e_sqrtf.c + src/e_j1f.c + src/k_sinf.c + src/e_atan2l.c + src/e_powf.c + src/s_erff.c + src/e_sqrt.c + src/e_atanhf.c + src/s_cos.c + src/e_fmod.c + src/s_ceilf.c + src/e_acoshf.c + src/e_rem_pio2.c + src/e_atan2.c + src/e_acos.c + src/e_rem_pio2f.c + src/k_cos.c + src/s_scalbn.c + src/s_nextafterl.c + src/e_jnf.c + src/s_copysignf.c + src/s_floorl.c + src/e_log.c + src/s_modfl.c + src/k_cosf.c + src/k_tan.c + src/s_nextafterf.c + src/s_ilogbf.c + src/s_tanh.c + src/e_lgamma.c + src/e_j0f.c + src/s_sincosf.c + src/e_acosf.c + src/e_remainder.c + src/e_atanh.c +Copyright: 1993, 2004 Sun Microsystems, Inc. + 2008-2011 Steven G. Kargl, David Schultz, Bruce D. Evans + 2013 Elliot Saba +License: permissive + Permission to use, copy, modify, and distribute this + software is freely granted, provided that this notice + is preserved. + +Files: amd64/e_sqrt.S + amd64/e_sqrtf.S + amd64/e_sqrtl.S + amd64/fenv.c + amd64/s_llrintl.S + amd64/s_lrint.S + amd64/s_lrintf.S + amd64/s_lrintl.S + amd64/s_remquo.S + amd64/s_remquof.S + amd64/s_remquol.S + amd64/s_scalbn.S + amd64/s_scalbnf.S + arm/fenv.c + i387/fenv.c + i387/invtrig.c + i387/s_llrint.S + i387/s_llrintf.S + i387/s_llrintl.S + i387/s_lrint.S + i387/s_lrintf.S + i387/s_lrintl.S + i387/s_remquo.S + i387/s_remquof.S + i387/s_remquol.S + include/openlibm_fenv_amd64.h + include/openlibm_fenv_arm.h + include/openlibm_fenv_i387.h + include/openlibm_fenv_powerpc.h + ld128/invtrig.c + ld128/invtrig.h + ld128/s_exp2l.c + ld128/s_nanl.c + ld80/invtrig.c + ld80/invtrig.h + ld80/s_exp2l.c + ld80/s_nanl.c + powerpc/fenv.c + src/aarch64_fpmath.h + src/amd64_fpmath.h + src/e_remainderl.c + src/e_sqrtl.c + src/fpmath.h + src/i386_fpmath.h + src/k_exp.c + src/k_expf.c + src/powerpc_fpmath.h + src/s_carg.c + src/s_cargf.c + src/s_cargl.c + src/s_ccosh.c + src/s_ccoshf.c + src/s_cexp.c + src/s_cexpf.c + src/s_cimag.c + src/s_cimagf.c + src/s_cimagl.c + src/s_conj.c + src/s_conjf.c + src/s_conjl.c + src/s_copysignl.c + src/s_cosl.c + src/s_cproj.c + src/s_cprojf.c + src/s_cprojl.c + src/s_creal.c + src/s_crealf.c + src/s_creall.c + src/s_csinh.c + src/s_csinhf.c + src/s_csqrt.c + src/s_csqrtf.c + src/s_csqrtl.c + src/s_ctanh.c + src/s_ctanhf.c + src/s_exp2.c + src/s_exp2f.c + src/s_fabsl.c + src/s_fdim.c + src/s_fma.c + src/s_fmaf.c + src/s_fmal.c + src/s_fmax.c + src/s_fmaxf.c + src/s_fmaxl.c + src/s_fmin.c + src/s_fminf.c + src/s_fminl.c + src/s_fpclassify.c + src/s_frexpl.c + src/s_isfinite.c + src/s_isinf.c + src/s_isnan.c + src/s_isnormal.c + src/s_lrint.c + src/s_lround.c + src/s_modfl.c + src/s_nan.c + src/s_nearbyint.c + src/s_rintl.c + src/s_round.c + src/s_roundf.c + src/s_roundl.c + src/s_scalbln.c + src/s_signbit.c + src/s_sinl.c + src/s_tanl.c + src/s_tgammaf.c +Copyright: 2002-2008, 2011 David Schultz + 2004 Stefan Farfeleder + 2003, 2005, 2007 Steven G. Kargl + 2005 Bruce D. Evans + 2003 Mike Barcroft + 1993 Sun Microsystems, Inc. +License: BSD-2-clause + +Files: amd64/bsd_asm.h + amd64/bsd_fpu.h + amd64/bsd_ieeefp.h + bsdsrc/b_exp.c + bsdsrc/b_log.c + bsdsrc/b_tgamma.c + bsdsrc/mathimpl.h + i387/bsd_asm.h + i387/bsd_ieeefp.h + i387/bsd_npx.h + src/bsd_cdefs.h +Copyright: 1985, 1988, 1990-1993 The Regents of the University of California + 2003 Dag-Erling Coïdan Smørgrav + 1990 Andrew Moore, Talke Studio + 2003 Peter Wemm +License: BSD-3-clause + +Files: test/libm-test.c + test/test-double.c + test/test-float.c +Copyright: 1997-2001 Free Software Foundation, Inc +License: LGPL-2.1+ + +Files: test/libm-bench.cpp +Copyright: 2014 Dahua Lin +License: Expat + +Files: include/openlibm_complex.h + ld128/e_coshl.c + ld128/e_expl.c + ld128/e_lgammal_r.c + ld128/e_log10l.c + ld128/e_log2l.c + ld128/e_logl.c + ld128/e_powl.c + ld128/e_sinhl.c + ld128/e_tgammal.c + ld128/s_erfl.c + ld128/s_expm1l.c + ld128/s_log1pl.c + ld128/s_tanhl.c + ld80/e_expl.c + ld80/e_lgammal_r.c + ld80/e_log10l.c + ld80/e_log2l.c + ld80/e_logl.c + ld80/e_powl.c + ld80/e_tgammal.c + ld80/s_erfl.c + ld80/s_expm1l.c + ld80/s_log1pl.c + src/polevll.c + src/s_cabs.c + src/s_cabsf.c + src/s_cabsl.c + src/s_cacos.c + src/s_cacosf.c + src/s_cacosh.c + src/s_cacoshf.c + src/s_cacoshl.c + src/s_cacosl.c + src/s_casin.c + src/s_casinf.c + src/s_casinh.c + src/s_casinhf.c + src/s_casinhl.c + src/s_casinl.c + src/s_catan.c + src/s_catanf.c + src/s_catanh.c + src/s_catanhf.c + src/s_catanhl.c + src/s_catanl.c + src/s_ccos.c + src/s_ccosf.c + src/s_ccoshl.c + src/s_ccosl.c + src/s_cexpl.c + src/s_clog.c + src/s_clogf.c + src/s_clogl.c + src/s_cpow.c + src/s_cpowf.c + src/s_cpowl.c + src/s_csin.c + src/s_csinf.c + src/s_csinhl.c + src/s_csinl.c + src/s_ctan.c + src/s_ctanf.c + src/s_ctanhl.c + src/s_ctanl.c +Copyright: 2008 Stephen L. Moshier +License: ISC + +Files: aarch64/fenv.c + include/openlibm_fenv_mips.h + mips/fenv-softfloat.h + mips/fenv.c + src/mips_fpmath.h +Copyright: 2004-2011 David Schultz +License: BSD-2-clause + +Files: debian/* +Copyright: 2014-2015 Sébastien Villemot + 2015-2017 Graham Inggs + 2016 Peter Colberg +License: Expat + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the author nor the names of any contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: ISC + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or (at + your option) any later version. + . + This library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser + General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public License + along with this library. If not, see . + . + On Debian systems, the complete text of the GNU Lesser General Public + License, version 2.1, can be found in the file + `/usr/share/common-licenses/LGPL-2.1'. diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..cec628c --- /dev/null +++ b/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +pristine-tar = True diff --git a/libopenlibm-dev.install b/libopenlibm-dev.install new file mode 100755 index 0000000..467cb84 --- /dev/null +++ b/libopenlibm-dev.install @@ -0,0 +1,6 @@ +#!/usr/bin/dh-exec + +usr/local/lib/libopenlibm.so /usr/lib/${DEB_HOST_MULTIARCH}/ +usr/local/lib/libopenlibm.a /usr/lib/${DEB_HOST_MULTIARCH}/ +usr/local/include/* /usr/include/ +usr/local/lib/pkgconfig/* /usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/ diff --git a/libopenlibm2.install b/libopenlibm2.install new file mode 100755 index 0000000..58fc53f --- /dev/null +++ b/libopenlibm2.install @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec + +usr/local/lib/libopenlibm.so.* /usr/lib/${DEB_HOST_MULTIARCH}/ diff --git a/libopenlibm2.symbols b/libopenlibm2.symbols new file mode 100644 index 0000000..ae428e6 --- /dev/null +++ b/libopenlibm2.symbols @@ -0,0 +1,358 @@ +libopenlibm.so.2 libopenlibm2 #MINVER# + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_aT@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_atanhi@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_atanlo@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS0@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS1@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS2@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS3@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS4@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS5@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pS6@Base 0.4 + (arch=arm64)_ItL_pS7@Base 0.6.0 + (arch=arm64)_ItL_pS8@Base 0.6.0 + (arch=arm64)_ItL_pS9@Base 0.6.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_pi_lo@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS1@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS2@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS3@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS4@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)_ItL_qS5@Base 0.4 + (arch=arm64)_ItL_qS6@Base 0.6.0 + (arch=arm64)_ItL_qS7@Base 0.6.0 + (arch=arm64)_ItL_qS8@Base 0.6.0 + (arch=arm64)_ItL_qS9@Base 0.6.0 + __exp__D@Base 0.4 + __fe_dfl_env@Base 0.4 +#MISSING: 0.5.0# (arch=!armhf)__fedisableexcept@Base 0.4 +#MISSING: 0.5.0# (arch=!armhf)__feenableexcept@Base 0.4 + __fpclassifyd@Base 0.4 + __fpclassifyf@Base 0.4 + (arch=!armhf)__fpclassifyl@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386)__has_sse@Base 0.4 + __ieee754_rem_pio2@Base 0.4 + __ieee754_rem_pio2f@Base 0.4 + __isfinite@Base 0.4 + __isfinitef@Base 0.4 + (arch=!armhf)__isfinitel@Base 0.4 + __isinff@Base 0.4 + (arch=!armhf)__isinfl@Base 0.4 + __isnanf@Base 0.4 + (arch=!armhf)__isnanl@Base 0.4 + __isnormal@Base 0.4 + __isnormalf@Base 0.4 + (arch=!armhf)__isnormall@Base 0.4 + __kernel_cos@Base 0.4 + __kernel_cosdf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__kernel_cosl@Base 0.4 + __kernel_rem_pio2@Base 0.4 + __kernel_sin@Base 0.4 +#MISSING: 0.5.0# __kernel_sincos@Base 0.4 +#MISSING: 0.5.0# __kernel_sincosdf@Base 0.4 + __kernel_sindf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__kernel_sinl@Base 0.4 + __kernel_tan@Base 0.4 + __kernel_tandf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__kernel_tanl@Base 0.4 + __ldexp_cexp@Base 0.4 + __ldexp_cexpf@Base 0.4 + __ldexp_exp@Base 0.4 + __ldexp_expf@Base 0.4 + __log__D@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__p1evll@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)__polevll@Base 0.5.0 + __scan_nan@Base 0.5.0 + __signbit@Base 0.4 + __signbitf@Base 0.4 + (arch=!armhf)__signbitl@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386)__test_sse@Base 0.4 +#MISSING: 0.5.0# _scan_nan@Base 0.4 + acos@Base 0.4 + acosf@Base 0.4 + acosh@Base 0.4 + acoshf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)acoshl@Base 0.5.0 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)acosl@Base 0.4 + asin@Base 0.4 + asinf@Base 0.4 + asinh@Base 0.4 + asinhf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)asinhl@Base 0.5.0 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)asinl@Base 0.4 + atan2@Base 0.4 + atan2f@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)atan2l@Base 0.4 + atan@Base 0.4 + atanf@Base 0.4 + atanh@Base 0.4 + atanhf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)atanhl@Base 0.5.0 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)atanl@Base 0.4 + cabs@Base 0.4 + cabsf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)cabsl@Base 0.4 + cacos@Base 0.5.0 + cacosf@Base 0.5.0 + cacosh@Base 0.5.0 + cacoshf@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cacoshl@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cacosl@Base 0.5.0 + carg@Base 0.4 + cargf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cargl@Base 0.4 + casin@Base 0.5.0 + casinf@Base 0.5.0 + casinh@Base 0.5.0 + casinhf@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)casinhl@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)casinl@Base 0.5.0 + catan@Base 0.5.0 + catanf@Base 0.5.0 + catanh@Base 0.5.0 + catanhf@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)catanhl@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)catanl@Base 0.5.0 + cbrt@Base 0.4 + cbrtf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cbrtl@Base 0.5.0 + ccos@Base 0.4 + ccosf@Base 0.4 + ccosh@Base 0.4 + ccoshf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ccoshl@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ccosl@Base 0.5.0 + ceil@Base 0.4 + ceilf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)ceill@Base 0.4 + cexp@Base 0.4 + cexpf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cexpl@Base 0.5.0 + cimag@Base 0.4 + cimagf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cimagl@Base 0.4 + clog@Base 0.5.0 + clogf@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)clogl@Base 0.5.0 + conj@Base 0.4 + conjf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)conjl@Base 0.4 + copysign@Base 0.4 + copysignf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)copysignl@Base 0.4 + cos@Base 0.4 + cosf@Base 0.4 + cosh@Base 0.4 + coshf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)coshl@Base 0.5.0 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)cosl@Base 0.4 + cpow@Base 0.4 + cpowf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cpowl@Base 0.4 + cproj@Base 0.4 + cprojf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)cprojl@Base 0.4 + creal@Base 0.4 + crealf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)creall@Base 0.4 + csin@Base 0.4 + csinf@Base 0.4 + csinh@Base 0.4 + csinhf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)csinhl@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)csinl@Base 0.5.0 + csqrt@Base 0.4 + csqrtf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)csqrtl@Base 0.4 + ctan@Base 0.4 + ctanf@Base 0.4 + ctanh@Base 0.4 + ctanhf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ctanhl@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ctanl@Base 0.5.0 +#MISSING: 0.5.0# drem@Base 0.4 +#MISSING: 0.5.0# dremf@Base 0.4 + erf@Base 0.4 + erfc@Base 0.4 + erfcf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)erfcl@Base 0.5.0 + erff@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)erfl@Base 0.5.0 + exp2@Base 0.4 + exp2f@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)exp2l@Base 0.4 + exp@Base 0.4 + expf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)expl@Base 0.5.0 + expm1@Base 0.4 + expm1f@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)expm1l@Base 0.5.0 + fabs@Base 0.4 + fabsf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fabsl@Base 0.4 + fdim@Base 0.4 + fdimf@Base 0.4 + fdiml@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)feclearexcept@Base 0.4 + (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fedisableexcept@Base 0.4 + (arch=!armhf !arm64 !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)feenableexcept@Base 0.4 + fegetenv@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fegetexceptflag@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fegetround@Base 0.4 + feholdexcept@Base 0.4 + feraiseexcept@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fesetenv@Base 0.4 + fesetexceptflag@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fesetround@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386 armhf arm64 powerpc ppc64el ppc64 mips mipsel mips64el s390x)fetestexcept@Base 0.4 + feupdateenv@Base 0.4 +#MISSING: 0.5.0# finite@Base 0.4 +#MISSING: 0.5.0# finitef@Base 0.4 + floor@Base 0.4 + floorf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)floorl@Base 0.4 + fma@Base 0.4 + fmaf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)fmal@Base 0.4 + fmax@Base 0.4 + fmaxf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fmaxl@Base 0.4 + fmin@Base 0.4 + fminf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fminl@Base 0.4 + fmod@Base 0.4 + fmodf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)fmodl@Base 0.4 + (arch=i386 kfreebsd-i386 hurd-i386)fpgetprec@Base 0.5.0 + (arch=i386 kfreebsd-i386 hurd-i386)fpsetprec@Base 0.5.0 + frexp@Base 0.4 + frexpf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)frexpl@Base 0.4 +#MISSING: 0.5.0# gamma@Base 0.4 +#MISSING: 0.5.0# gamma_r@Base 0.4 +#MISSING: 0.5.0# gammaf@Base 0.4 +#MISSING: 0.5.0# gammaf_r@Base 0.4 + hypot@Base 0.4 + hypotf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)hypotl@Base 0.4 + ilogb@Base 0.4 + ilogbf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)ilogbl@Base 0.4 + isinf@Base 0.4 + isinff@Base 0.4 + isnan@Base 0.4 + isnanf@Base 0.4 + isopenlibm@Base 0.4 + j0@Base 0.4 + j0f@Base 0.4 + j1@Base 0.4 + j1f@Base 0.4 + jn@Base 0.4 + jnf@Base 0.4 + ldexp@Base 0.4 + ldexpf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)ldexpl@Base 0.4 + lgamma@Base 0.4 + lgamma_r@Base 0.4 + lgammaf@Base 0.4 + lgammaf_r@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lgammal@Base 0.5.0 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lgammal_r@Base 0.5.0 + llrint@Base 0.4 + llrintf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)llrintl@Base 0.4 + llround@Base 0.4 + llroundf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)llroundl@Base 0.4 + log10@Base 0.4 + log10f@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)log10l@Base 0.5.0 + log1p@Base 0.4 + log1pf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)log1pl@Base 0.5.0 + log2@Base 0.4 + log2f@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)log2l@Base 0.5.0 + log@Base 0.4 + logb@Base 0.4 + logbf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)logbl@Base 0.4 + logf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)logl@Base 0.5.0 + lrint@Base 0.4 + lrintf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lrintl@Base 0.4 + lround@Base 0.4 + lroundf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)lroundl@Base 0.4 + modf@Base 0.4 + modff@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)modfl@Base 0.4 + nan@Base 0.4 + nanf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nanl@Base 0.4 + nearbyint@Base 0.4 + nearbyintf@Base 0.4 +#MISSING: 0.5.0# nearbyintl@Base 0.4 + (arch=arm64)nearbyintl@Base 0.6.0 + nextafter@Base 0.4 + nextafterf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nextafterl@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nexttoward@Base 0.4 + (arch=!armhf)nexttowardf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)nexttowardl@Base 0.4 + pow@Base 0.4 + powf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)powl@Base 0.5.0 + remainder@Base 0.4 + remainderf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)remainderl@Base 0.4 + remquo@Base 0.4 + remquof@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)remquol@Base 0.4 + rint@Base 0.4 + rintf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)rintl@Base 0.4 + round@Base 0.4 + roundf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)roundl@Base 0.4 +#MISSING: 0.5.0# scalb@Base 0.4 +#MISSING: 0.5.0# scalbf@Base 0.4 + scalbln@Base 0.4 + scalblnf@Base 0.4 + scalblnl@Base 0.4 + scalbn@Base 0.4 + scalbnf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)scalbnl@Base 0.4 + signgam@Base 0.4 +#MISSING: 0.5.0# significand@Base 0.4 +#MISSING: 0.5.0# significandf@Base 0.4 + sin@Base 0.4 + sincos@Base 0.4 + sincosf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)sincosl@Base 0.4 + sinf@Base 0.4 + sinh@Base 0.4 + sinhf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)sinhl@Base 0.5.0 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)sinl@Base 0.4 + sqrt@Base 0.4 + sqrtf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)sqrtl@Base 0.4 + tan@Base 0.4 + tanf@Base 0.4 + tanh@Base 0.4 + tanhf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)tanhl@Base 0.5.0 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)tanl@Base 0.4 + tgamma@Base 0.4 + tgammaf@Base 0.4 + (arch=!armhf !powerpc !ppc64el !ppc64 !mips !mipsel !mips64el !s390x)tgammal@Base 0.5.0 + trunc@Base 0.4 + truncf@Base 0.4 + (arch=!powerpc !ppc64el !ppc64 !mips64el !s390x)truncl@Base 0.4 + y0@Base 0.4 + y0f@Base 0.4 + y1@Base 0.4 + y1f@Base 0.4 + yn@Base 0.4 + ynf@Base 0.4 diff --git a/patches/add-s390x-support.patch b/patches/add-s390x-support.patch new file mode 100644 index 0000000..a449006 --- /dev/null +++ b/patches/add-s390x-support.patch @@ -0,0 +1,408 @@ +Description: Add s390x support +Origin: upstream, https://github.com/JuliaMath/openlibm/commit/2a1e56858a696c09eef310ceea1ede6ccd0b229c +Author: Dan Horák +Last-Update: 2016-09-05 + +--- a/Make.inc ++++ b/Make.inc +@@ -60,6 +60,9 @@ + ifeq ($(findstring ppc,$(ARCH)),ppc) + override ARCH := powerpc + endif ++ifeq ($(findstring s390,$(ARCH)),s390) ++override ARCH := s390 ++endif + ifneq ($(filter $(ARCH),i386 i486 i586 i686 i387 i487 i587 i687),) + override ARCH := i387 + MARCH ?= i686 +--- a/Makefile ++++ b/Makefile +@@ -72,7 +72,7 @@ + $(MAKE) -C test test-float + + clean: +- rm -f aarch64/*.o amd64/*.o arm/*.o bsdsrc/*.o i387/*.o ld80/*.o ld128/*.o src/*.o powerpc/*.o mips/*.o ++ rm -f aarch64/*.o amd64/*.o arm/*.o bsdsrc/*.o i387/*.o ld80/*.o ld128/*.o src/*.o powerpc/*.o mips/*.o s390/*.o + rm -f libopenlibm.a libopenlibm.*$(SHLIB_EXT)* + $(MAKE) -C test clean + +--- a/include/openlibm_fenv.h ++++ b/include/openlibm_fenv.h +@@ -12,6 +12,8 @@ + #include + #elif defined(__mips__) + #include ++#elif defined(__s390__) ++#include + #else + #error "Unsupported platform" + #endif +--- /dev/null ++++ b/include/openlibm_fenv_s390.h +@@ -0,0 +1,235 @@ ++/*- ++ * Copyright (c) 2016 Dan Horák ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * $FreeBSD$ ++ */ ++ ++#ifndef _FENV_H_ ++#define _FENV_H_ ++ ++#include ++ ++#ifndef __fenv_static ++#define __fenv_static static ++#endif ++ ++typedef __uint32_t fenv_t; ++typedef __uint32_t fexcept_t; ++ ++/* Exception flags */ ++#define FE_INEXACT 0x080000 ++#define FE_UNDERFLOW 0x100000 ++#define FE_OVERFLOW 0x200000 ++#define FE_DIVBYZERO 0x400000 ++#define FE_INVALID 0x800000 /* all types of invalid FP ops */ ++ ++#define FE_ALL_EXCEPT (FE_INVALID | FE_DIVBYZERO | FE_INEXACT | FE_OVERFLOW | FE_UNDERFLOW) ++ ++/* Rounding modes */ ++#define FE_TONEAREST 0x0000 ++#define FE_TOWARDZERO 0x0001 ++#define FE_UPWARD 0x0002 ++#define FE_DOWNWARD 0x0003 ++#define _ROUND_MASK (FE_TONEAREST | FE_DOWNWARD | \ ++ FE_UPWARD | FE_TOWARDZERO) ++ ++__BEGIN_DECLS ++ ++/* Default floating-point environment */ ++extern const fenv_t __fe_dfl_env; ++#define FE_DFL_ENV (&__fe_dfl_env) ++ ++/* We need to be able to map status flag positions to mask flag positions */ ++#define _FPC_EXC_MASK_SHIFT 8 ++#define _ENABLE_MASK ((FE_DIVBYZERO | FE_INEXACT | FE_INVALID | \ ++ FE_OVERFLOW | FE_UNDERFLOW) << _FPC_EXC_MASK_SHIFT) ++ ++/* Macros for accessing the hardware control word. */ ++#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0,0" : "=d" (cw)) ++#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0,0" : : "d" (cw)) ++ ++__fenv_static inline int ++feclearexcept(int __excepts) ++{ ++ fexcept_t __r; ++ ++ if (__excepts & FE_INVALID) ++ __excepts |= FE_ALL_EXCEPT; ++ _FPU_GETCW(__r); ++ __r &= ~__excepts; ++ _FPU_SETCW(__r); ++ return (0); ++} ++ ++__fenv_static inline int ++fegetexceptflag(fexcept_t *__flagp, int __excepts) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ *__flagp = __r & __excepts; ++ return (0); ++} ++ ++__fenv_static inline int ++fesetexceptflag(const fexcept_t *__flagp, int __excepts) ++{ ++ fexcept_t __r; ++ ++ if (__excepts & FE_INVALID) ++ __excepts |= FE_ALL_EXCEPT; ++ _FPU_GETCW(__r); ++ __r &= ~__excepts; ++ __r |= *__flagp & __excepts; ++ _FPU_SETCW(__r); ++ return (0); ++} ++ ++__fenv_static inline int ++feraiseexcept(int __excepts) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ __r |= __excepts; ++ _FPU_SETCW(__r); ++ return (0); ++} ++ ++__fenv_static inline int ++fetestexcept(int __excepts) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ return (__r & __excepts); ++} ++ ++__fenv_static inline int ++fegetround(void) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ return (__r & _ROUND_MASK); ++} ++ ++__fenv_static inline int ++fesetround(int __round) ++{ ++ fexcept_t __r; ++ ++ if (__round & ~_ROUND_MASK) ++ return (-1); ++ ++ _FPU_GETCW(__r); ++ __r &= ~_ROUND_MASK; ++ __r |= __round; ++ _FPU_SETCW(__r); ++ return (0); ++} ++ ++__fenv_static inline int ++fegetenv(fenv_t *__envp) ++{ ++ _FPU_GETCW(*__envp); ++ return (0); ++} ++ ++__fenv_static inline int ++feholdexcept(fenv_t *__envp) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ *__envp = __r; ++ __r &= ~(FE_ALL_EXCEPT | _ENABLE_MASK); ++ _FPU_SETCW(__r); ++ return (0); ++} ++ ++__fenv_static inline int ++fesetenv(const fenv_t *__envp) ++{ ++ _FPU_SETCW(*__envp); ++ return (0); ++} ++ ++__fenv_static inline int ++feupdateenv(const fenv_t *__envp) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ __r &= FE_ALL_EXCEPT; ++ __r |= *__envp; ++ _FPU_SETCW(__r); ++ return (0); ++} ++ ++#if __BSD_VISIBLE ++ ++/* We currently provide no external definitions of the functions below. */ ++ ++static inline int ++feenableexcept(int __mask) ++{ ++ fenv_t __r; ++ fenv_t __oldmask; ++ ++ _FPU_GETCW(__r); ++ __oldmask = __r; ++ __r |= (__mask & FE_ALL_EXCEPT) << _FPC_EXC_MASK_SHIFT; ++ _FPU_SETCW(__r); ++ return ((__oldmask & _ENABLE_MASK) >> _FPC_EXC_MASK_SHIFT); ++} ++ ++static inline int ++fedisableexcept(int __mask) ++{ ++ fenv_t __r; ++ fenv_t __oldmask; ++ ++ _FPU_GETCW(__r); ++ __oldmask = __r; ++ __r &= ~((__mask & FE_ALL_EXCEPT) << _FPC_EXC_MASK_SHIFT); ++ _FPU_SETCW(__r); ++ return ((__oldmask & _ENABLE_MASK) >> _FPC_EXC_MASK_SHIFT); ++} ++ ++static inline int ++fegetexcept(void) ++{ ++ fexcept_t __r; ++ ++ _FPU_GETCW(__r); ++ return (__r & (_ENABLE_MASK >> _FPC_EXC_MASK_SHIFT)); ++} ++ ++#endif /* __BSD_VISIBLE */ ++ ++__END_DECLS ++ ++#endif /* !_FENV_H_ */ +--- /dev/null ++++ b/s390/Make.files +@@ -0,0 +1 @@ ++$(CUR_SRCS) = fenv.c +--- /dev/null ++++ b/s390/fenv.c +@@ -0,0 +1,50 @@ ++/*- ++ * Copyright (c) 2016 Dan Horák ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * $FreeBSD$ ++ * ++ * cloned from ppc/fenv.c ++ */ ++ ++#define __fenv_static ++#include ++ ++#ifdef __GNUC_GNU_INLINE__ ++#error "This file must be compiled with C99 'inline' semantics" ++#endif ++ ++const fenv_t __fe_dfl_env = 0x00000000; ++ ++extern inline int feclearexcept(int __excepts); ++extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); ++extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); ++extern inline int feraiseexcept(int __excepts); ++extern inline int fetestexcept(int __excepts); ++extern inline int fegetround(void); ++extern inline int fesetround(int __round); ++extern inline int fegetenv(fenv_t *__envp); ++extern inline int feholdexcept(fenv_t *__envp); ++extern inline int fesetenv(const fenv_t *__envp); ++extern inline int feupdateenv(const fenv_t *__envp); +--- a/src/fpmath.h ++++ b/src/fpmath.h +@@ -41,6 +41,8 @@ + #include "powerpc_fpmath.h" + #elif defined(__mips__) + #include "mips_fpmath.h" ++#elif defined(__s390__) ++#include "s390_fpmath.h" + #endif + + /* Definitions provided directly by GCC and Clang. */ +--- /dev/null ++++ b/src/s390_fpmath.h +@@ -0,0 +1,51 @@ ++/*- ++ * Copyright (c) 2016 Dan Horák ++ * All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ * ++ * $FreeBSD$ ++ * ++ * cloned from powerpc_fpmath.h ++ */ ++ ++union IEEEl2bits { ++ long double e; ++ struct { ++ unsigned int sign :1; ++ unsigned int exp :11; ++ unsigned int manh :20; ++ unsigned int manl :32; ++ } bits; ++}; ++ ++#define mask_nbit_l(u) ((void)0) ++#define LDBL_IMPLICIT_NBIT ++#define LDBL_NBIT 0 ++ ++#define LDBL_MANH_SIZE 20 ++#define LDBL_MANL_SIZE 32 ++ ++#define LDBL_TO_ARRAY32(u, a) do { \ ++ (a)[0] = (uint32_t)(u).bits.manl; \ ++ (a)[1] = (uint32_t)(u).bits.manh; \ ++} while(0) +--- a/test/libm-test-ulps.h ++++ b/test/libm-test-ulps.h +@@ -250,5 +250,5 @@ + #define DELTA1663 CHOOSE(2, 2, 2, 2, 2, 1) /* yn (10, 0.1) == -0.11831335132045197885e19 */ + #define DELTA1664 CHOOSE(7, 6, 3, 7, 6, 3) /* yn (10, 0.7) == -0.42447194260703866924e10 */ + #define DELTA1665 CHOOSE(0, 1, 2, 0, 1, 1) /* yn (10, 1.0) == -0.12161801427868918929e9 */ +-#define DELTA1666 CHOOSE(1, 3, 1, 1, 2, 1) /* yn (10, 2.0) == -129184.54220803928264 */ ++#define DELTA1666 CHOOSE(1, 3, 3, 1, 2, 1) /* yn (10, 2.0) == -129184.54220803928264 */ + #define DELTA1667 CHOOSE(0, 2, 1, 0, 2, 1) /* yn (10, 10.0) == -0.35981415218340272205 */ diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..800110f --- /dev/null +++ b/patches/series @@ -0,0 +1 @@ +add-s390x-support.patch diff --git a/rules b/rules new file mode 100755 index 0000000..a635012 --- /dev/null +++ b/rules @@ -0,0 +1,10 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow +-include /usr/share/dpkg/buildtools.mk + +%: + dh $@ + +override_dh_auto_install: + dh_auto_install -- "CC=$(CC)" diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..22c20d6 --- /dev/null +++ b/tests/control @@ -0,0 +1,13 @@ +Test-Command: make -C test test-float; ./test/test-float +Depends: @, build-essential + +Test-Command: make -C test test-double; ./test/test-double +Depends: @, build-essential + +Test-Command: make -C test bench-syslibm; ./test/bench-syslibm +Depends: @, build-essential +Restrictions: allow-stderr + +Test-Command: make -C test bench-openlibm; ./test/bench-openlibm +Depends: @, build-essential +Restrictions: allow-stderr diff --git a/watch b/watch new file mode 100644 index 0000000..d98635c --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +opts=dversionmangle=s/\+dfsg$//,repacksuffix=+dfsg,filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/openlibm-$1\.tar\.gz/,dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$// \ + https://github.com/JuliaMath/openlibm/tags .*/v?(\d\S*)\.tar\.gz