GMP is a free library for arbitrary precision arithmetic, operating
on signed integers, rational numbers, and floating point numbers.
There is no limit to the precision except the ones implied by the
available memory in the machine GMP runs on. GMP has a rich set of
functions, and the functions have a regular interface.
GMP is designed to be as fast as possible, both for small operands
and for 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 a lot of
CPUs, and by a general emphasis on speed (instead of simplicity or
elegance).
GMP is believed to be faster than any other similar library. The
advantage for GMP increases with the operand sizes for certain
operations, since GMP in many cases has asymptotically faster
algorithms.
===> The following configuration options are available for gmp-6.3.0:
CPU_OPTS=off: Enable assembly optimizations for your CPU
INFO=on: Build and/or install GNU info pages
===> Use 'make config' to modify these settings
math/gmp: fix build after base cd0727ec709b
After base cd0727ec709bb54f8f82104f6113284a15dd3464 ("libc: Add
<stdio.h> C23 feature test macro"), math/gmp fails to build with errors
similar to:
inp_str.c:63:10: warning: call to undeclared function
'__gmpz_inp_str_nowhite'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
63 | return mpz_inp_str_nowhite (x, stream, base, c, nread);
| ^
../gmp-impl.h:1782:29: note: expanded from macro 'mpz_inp_str_nowhite'
1782 | #define mpz_inp_str_nowhite __gmpz_inp_str_nowhite
| ^
inp_str.c:68:1: error: conflicting types for '__gmpz_inp_str_nowhite'
68 | mpz_inp_str_nowhite (mpz_ptr x, FILE *stream, int base, int c, size_t
nread)
| ^
(Only the first 15 lines of the commit message are shown above )
all: drop support for FreeBSD 13, mips and risc64sf
Reviewed by: many (*)
Differential Revision: https://reviews.freebsd.org/D55624
Differential Revision: https://reviews.freebsd.org/D55642 (merged in from bofh)
many (*)
acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
nobutaka pkubaj se tagattie thj
Anton Saietskii
GenericRikka
Gert Doering
Jan Bramkamp
Oleh Hushchenkov
Oleksandr Kryvulia
Ralf van der Enden
Yamagi
desktop kde python tcltk office
math/gmp: Optionize INFO
- Remove unnecessary CONFIGURE_ARGS are which are also default for
HAS_CONFIGURE
- Pet portclippy
- No BUMP as there is no change in pkg
PR: 259573
Approved by: ale (maintainer-timeout)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
math: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Alessando Sagratini <ale_sagra@hotmail.com>
* Alex Dupre <ale@FreeBSD.org>
* Alexey Dokuchaev <danfe@FreeBSD.org>
* Amarendra Godbole <amarendra.godbole@gmail.com>
* Anders Nordby <anders@FreeBSD.org>
* Andreas Fehlner (fehlner@gmx.de)
* Andrew L. Neporada <andrew@chg.ru>
* Andrey <gugu@zoo.rambler.ru>
* Andrey Zakhvatov
(Only the first 15 lines of the commit message are shown above )
Install texinfo files (GNU info) into ${PREFIX}/share/info
After a discussion on the mailing list on moving manpages to
${PREFIX}/share/man for consistency with base where it is
installed in usr/share/man, it appeared the same should happen
to GNU info files which were installed under share in base and
not in ports.
Now texinfo is not in base on any of the supported version of FreeBSD
it is possible to proceed to this move and it is easier to do than
the manpage change.
Other benefit than consistency are less patching: all build tools but
cmake are expecting info files to be under share/info and cmake (patched here)
was having an exception for BSD so the patch makes FreeBSD case less
specific for them
Bump revision of all impacted ports
PR: 232907
exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D17816
Zero memory used by mpn_lshift_com configure test, this should fix
configure when malloc debugging is turned on (default on head)
With help from: dim@
Reported by: pkg-fallout
Finally update to 6.1.2 release, it should work fine with currently supported
FreeBSD releases.
PR: 217071
Submitted by: Iblis Lin <iblis@hs.ntnu.edu.tw>
math/gmp: use CONFIGURE_TARGET rather than recreating it
The --build configure argument is a re-invention of CONFIGURE_TARGET
except that platform is hardcoded to freebsd rather than the value
of OPSYS:tl. Use CONFIGURE_TARGET instead. It's a no-op for FreeBSD
but is a fix for DragonFly.
Approved by: non-invasive DF support blanket
MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.
While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.
Also, replace some EXTRACT_SUFX occurences with USES=tar:*.
Checked by: make fetch-urlall-list
With hat: portmgr
Sponsored by: Absolight
When linking a library libA with a library libB using libtool, if libB.la
exists, libtool will add all libraries libB.la refers to (dependency_libs
field) to the linker command line and store them in the dependency_libs
field of libA.la. So everything that subsequently links with libA will also
link to these extra libraries. This causes too much overlinking.
This commit modifies Mk/Uses/libtool.mk so it empties the dependency_libs
field in .la libraries during staging. However, because .la libraries have
very limited use when dependency_libs is empty it makes sense to completely
remove them during staging.
So with this commit USES=libtool is modified to remove .la libraries and a
new form (USES=libtool:keepla) is introduced in case they need to be kept
(dependency_libs is still emptied).
(Only the first 15 lines of the commit message are shown above )
The MCPU_OPTS conditional block currently incorrectly sets ABI=64 for
all ARCH strings that in 64. GMP expects mode64, mode32 or 32 as valid values
for the ABI option [1]. Using an invalid value causes the following
build error on powerpc64:
configure: error: ABI=64 is not among the following valid choices:
mode64 mode32 32
This is the minimum change to set the correct "mode64" ABI value when
ARCH is powerpc64, while also keeping all other semantics the same. A
more complete refactor of this port is possible, but would need an
exp-run to test for regressions.
The change was tested on powerpc64 (thanks justin) and amd64 (for regression)
While I'm here:
- Remove indefinite article from COMMENT
[1] https://gmplib.org/manual/Build-Options.html
PR: ports/179127
Submitted by: jhibbits
Reviewed by: jhibbits, ak
Approved by: maintainer timeout (6 months)
Remove more tags from pkg-descr files fo the form:
- Name
em@i.l
or variations thereof. While I'm here also fix some whitespace and other
formatting errors, including moving WWW: to the last line in the file.