1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

- Update Gnuastro to the latest version 0.12

- Do not build with -O3 by default (respect CFLAGS)
- Pull the fix for bogus timezone calculation
  (see https://savannah.gnu.org/bugs/?58455)
This commit is contained in:
Alexey Dokuchaev 2020-05-29 12:45:06 +00:00
parent cb66c59c7b
commit ce8c2d1fda
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=536970
5 changed files with 63 additions and 6 deletions

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= gnuastro
PORTVERSION= 0.11
PORTVERSION= 0.12
CATEGORIES= astro
MASTER_SITES= GNU
@ -28,6 +28,10 @@ PORTDOCS= AUTHORS ChangeLog NEWS README THANKS
OPTIONS_DEFINE= DOCS
post-patch:
@${REINPLACE_CMD} -e 's,cflags_add="-O3",:,' \
${WRKSRC}/configure
post-install:
@${FIND} ${STAGEDIR}${PREFIX}/etc -name \*.conf \
-exec ${MV} '{}' '{}.sample' \;

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1574693798
SHA256 (gnuastro-0.11.tar.lz) = 7bcc22311e69db17351a476df01dfd31009b0db06e2b6d525338efb3b0603e30
SIZE (gnuastro-0.11.tar.lz) = 3490088
TIMESTAMP = 1589989283
SHA256 (gnuastro-0.12.tar.lz) = ced7ab6d3dca6913fc8df649070dc3a496b67e975b14e57a64e81c2c0e0bf37a
SIZE (gnuastro-0.12.tar.lz) = 3533517

View File

@ -0,0 +1,11 @@
--- bin/fits/keywords.c.orig 2020-05-15 16:58:42 UTC
+++ bin/fits/keywords.c
@@ -413,6 +413,8 @@ keywords_date_to_seconds(struct fitsparams *p, fitsfil
/* Return the number of seconds (and subseconds) that it corresponds
to. */
seconds=gal_fits_key_date_to_seconds(fitsdate, &subsecstr, &subsec);
+ if(seconds==GAL_BLANK_SIZE_T)
+ error(EXIT_FAILURE, 0, "the time string couldn't be interpretted");
/* Print the result (for the sub-seconds, print everything after the */
if( !p->cp.quiet )

View File

@ -0,0 +1,41 @@
--- lib/fits.c.orig 2020-05-15 16:58:42 UTC
+++ lib/fits.c
@@ -1023,6 +1023,7 @@ gal_fits_key_date_to_seconds(char *fitsdate, char **su
time_t t;
char *tmp;
struct tm tp;
+ size_t seconds;
void *outptr=subsec;
/* Fill in the 'tp' elements with values read from the string. */
@@ -1044,14 +1045,23 @@ gal_fits_key_date_to_seconds(char *fitsdate, char **su
tmp);
}
- /* Convert the 'tm' structure to 'time_t'. Note that the system's
- timezone and daylight saving need to be subtracted from the output of
- 'mktime'. Otherwise the result will be different on different
- host-system timezones (which is not what we want here: bug #57995). */
- t=mktime(&tp)-timezone-daylight;
+ /* Convert the contents of the 'tm' structure to 'time_t' (a positive
+ integer) with 'mktime'. Note that by design, the system's timezone is
+ included in the returned value of 'mktime' (leading to situations like
+ bug #57995). But it writes the given time's timezone (number of
+ seconds ahead of UTC) in the 'tm_gmtoff' element of its input.
- /* Return the value and set the output pointer. */
- return (size_t)t;
+ IMPORTANT NOTE: the timezone that is calculated by 'mktime' (in
+ 'tp.tm_gmtoff') belongs to the time that is already within 'tp' (this
+ is exactly what we want!). So for example when daylight saving is
+ activated at run-time, but at the time inside 'tp', there was no
+ daylight saving, the value of 'tp.tm_gmtoff' will be different from
+ the 'timezone' global variable. */
+ t=mktime(&tp);
+
+ /* Calculate the seconds and return it. */
+ seconds = (t == (time_t)(-1)) ? GAL_BLANK_SIZE_T : (t+tp.tm_gmtoff);
+ return seconds;
}

View File

@ -64,11 +64,12 @@ include/gnuastro/tiff.h
include/gnuastro/tile.h
include/gnuastro/txt.h
include/gnuastro/type.h
include/gnuastro/units.h
include/gnuastro/wcs.h
lib/libgnuastro.a
lib/libgnuastro.so
lib/libgnuastro.so.9
lib/libgnuastro.so.9.0.0
lib/libgnuastro.so.10
lib/libgnuastro.so.10.0.0
libdata/pkgconfig/gnuastro.pc
man/man1/astarithmetic.1.gz
man/man1/astbuildprog.1.gz