Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37533188
en ru br
ALT Linux repositórios
S:6.3.0-alt1
5.0: 4.2.4-alt1
4.1: 4.2.2-alt1
4.0: 4.1.4-alt5
3.0: 4.1.4-alt2

Group :: Sistema/Bibliotecas
RPM: gmp

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Name: gmp
Version: 4.2.4
Release: alt1

Summary: GNU MP arbitrary precision arithmetic library
License: LGPLv3+
Group: System/Libraries
Url: http://gmplib.org/
Packager: Dmitry V. Levin <ldv at altlinux.org>

# ftp://ftp.gnu.org/gnu/gmp/gmp-%version.tar.bz2

Source: gmp-%version.tar
Patch: gmp-%version-%release.patch

# Automatically added by buildreq on Mon Jun 16 2003

BuildRequires: flex gcc-c++ libreadline-devel

%def_enable mpbsd
%def_enable cxx
%ifarch %ix86
%def_enable fat
%else
%def_disable fat
%endif

%description
GNU MP is a library for arbitrary precision arithmetic, operating on
signed integers, rational numbers, and floating point numbers.  It has
a rich set of functions, and the functions have a regular interface.

%package -n lib%name
Summary: GNU MP arbitrary precision arithmetic library
Group: System/Libraries
Provides: %name = %version-%release
Obsoletes: %name

%package -n lib%name-devel
Summary: Development GNU MP arbitrary precision arithmetic library
Group: Development/C
Requires: lib%name = %version-%release
Provides: %name-devel = %version-%release
Obsoletes: %name-devel

%package -n lib%name-devel-static
Summary: Static GNU MP arbitrary precision arithmetic library
Group: Development/C
Requires: lib%name-devel = %version-%release

%package -n lib%{name}_cxx
Summary: C++ bindings for the GNU MP arbitrary precision arithmetic library
Group: Development/C++
Requires: lib%name = %version-%release

%package -n lib%{name}_cxx-devel
Summary: Development C++ bindings for the GNU MP arbitrary precision arithmetic library
Group: Development/C++
Requires: lib%{name}_cxx = %version-%release
Requires: lib%{name}-devel = %version-%release

%package -n lib%{name}_cxx-devel-static
Summary: Static C++ bindings for the GNU MP arbitrary precision arithmetic library
Group: Development/C++
Requires: lib%{name}_cxx-devel = %version-%release
Requires: lib%{name}-devel-static = %version-%release

%description -n lib%name
GNU MP is a library for arbitrary precision arithmetic, operating on
signed integers, rational numbers, and floating point numbers.  It has
a rich set of functions, and the functions have a regular interface.

GNU MP is designed to be as fast as possible, both for small operands and
huge operands.  The speed is achieved by using fullwords as the basic
arithmetic type, by using fast algorithms, with carefully optimized
assembly code for the most common inner loops for lots of CPUs, and by
a general emphasis on speed (instead of simplicity or elegance).

GNU MP is believed to be faster than any other similar library.
Its advantage increases with operand sizes for certain operations,
since GNU MP in many cases has asymptotically faster algorithms.

%description -n lib%name-devel
This package contains libraries, header files and documentation required
for development with the GNU MP arbitrary precision arithmetic library.

%description -n lib%name-devel-static
This package contains static libraries required for development of
statically linked applications with the GNU MP arbitrary precision
arithmetic library.

%description -n lib%{name}_cxx
This package contains C++ bindings for the GNU MP arbitrary precision
arithmetic library.

%description -n lib%{name}_cxx-devel
This package contains libraries, header files and documentation required
for development C++ applications with the GNU MP arbitrary precision
arithmetic library.

%description -n lib%{name}_cxx-devel-static
This package contains static libraries required for development of
statically linked C++ applications with the GNU MP arbitrary precision
arithmetic library.

%prep
%setup -q
%patch -p1

%build
autoreconf -fisv
%configure %{subst_enable mpbsd} %{subst_enable cxx} %{subst_enable fat}
LANG=C awk 'NR>=3&&$1=="#define"&&$2~/^[a-z_0-9]+$/&&$3~/^__/{print gensub("^__MPN\\(([^)]+)\\)","__gmpn_\\1",1,$3)}' \
gmp.h |sort -u >libgmp.sym
cat >>libgmp.sym <<'EOF'
__gmp_allocate_func
__gmp_asprintf_final
__gmp_asprintf_memory
__gmp_asprintf_reps
__gmp_assert_fail
__gmp_default_allocate
__gmp_default_free
__gmp_default_reallocate
__gmp_doprnt_integer
__gmp_doprnt_mpf2
__gmp_fib_table
__gmp_free_func
__gmp_modlimb_invert_table
__gmp_randinit_mt_noseed
__gmp_rands
__gmp_rands_initialized
__gmp_reallocate_func
__gmp_tmp_reentrant_alloc
__gmp_tmp_reentrant_free
__gmpn_bases
__gmpn_cpuvec
__gmpn_cpuvec_init
__gmpn_divexact_1
__gmpn_get_d
__gmpn_jacobi_base
__gmpn_kara_mul_n
__gmpn_mod_34lsub1
__gmpn_mul_basecase
__gmpn_preinv_divrem_1
__gmpn_sqr_basecase
__gmpn_toom3_mul_n
__gmpz_divexact_gcd
EOF
%make_build
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:make -k check}}}

%install
%make_install DESTDIR=%buildroot install
install -pm644 gmp-mparam.h %buildroot%_includedir/

%post -n lib%name-devel
%install_info %name.info

%preun -n lib%name-devel
%uninstall_info %name.info

%files -n lib%name
%doc AUTHORS README NEWS
%_libdir/*.so.*
%{?_enable_cxx:%exclude %_libdir/*xx*.so.*}

%files -n lib%name-devel
%_libdir/*.so
%{?_enable_cxx:%exclude %_libdir/*xx*.so}
%_includedir/*
%{?_enable_cxx:%exclude %_includedir/*xx*}
%_infodir/*.info*

%files -n lib%name-devel-static
%_libdir/*.a
%exclude %_libdir/*xx*.a

%if_enabled cxx
%files -n lib%{name}_cxx
%_libdir/*xx*.so.*

%files -n lib%{name}_cxx-devel
%_libdir/*xx*.so
%_includedir/*xx*

%files -n lib%{name}_cxx-devel-static
%_libdir/*xx*.a
%endif #cxx

%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009