mirror of
https://github.com/ivabus/pantry
synced 2024-11-14 04:25:08 +03:00
46 lines
1 KiB
YAML
46 lines
1 KiB
YAML
distributable:
|
|
url: https://ftp.gnu.org/gnu/mpfr/mpfr-{{ version.raw }}.tar.gz
|
|
strip-components: 1
|
|
|
|
versions:
|
|
url: https://ftp.gnu.org/gnu/mpfr/
|
|
match: /mpfr-\d+\.\d+(\.\d+)?\.tar\.gz/
|
|
strip:
|
|
- /mpfr-/
|
|
- /.tar.gz/
|
|
|
|
build:
|
|
dependencies:
|
|
gnu.org/gmp: '>=4.2'
|
|
script: |
|
|
./configure --prefix={{ prefix }}
|
|
make --jobs {{ hw.concurrency }} install
|
|
test:
|
|
make test
|
|
|
|
test:
|
|
dependencies:
|
|
gnu.org/gmp: '>=4.2'
|
|
script: |
|
|
mv $FIXTURE test.c
|
|
gcc -lgmp -lmpfr test.c -o test
|
|
test $(./test) = '{{version}}'
|
|
fixture: |
|
|
#include <mpfr.h>
|
|
#include <math.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
|
|
int main() {
|
|
mpfr_t x, y;
|
|
mpfr_inits2 (256, x, y, NULL);
|
|
mpfr_set_ui (x, 2, MPFR_RNDN);
|
|
mpfr_rootn_ui (y, x, 2, MPFR_RNDN);
|
|
mpfr_pow_si (x, y, 4, MPFR_RNDN);
|
|
mpfr_add_si (y, x, -4, MPFR_RNDN);
|
|
mpfr_abs (y, y, MPFR_RNDN);
|
|
if (fabs(mpfr_get_d (y, MPFR_RNDN)) > 1.e-30) abort();
|
|
printf("%s", mpfr_get_version());
|
|
return 0;
|
|
}
|