Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 May 2020 12:45:06 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r536970 - in head/astro/gnuastro: . files
Message-ID:  <202005291245.04TCj6aB050499@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Fri May 29 12:45:06 2020
New Revision: 536970
URL: https://svnweb.freebsd.org/changeset/ports/536970

Log:
  - 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)

Added:
  head/astro/gnuastro/files/
  head/astro/gnuastro/files/patch-bin_fits_keywords.c   (contents, props changed)
  head/astro/gnuastro/files/patch-lib_fits.c   (contents, props changed)
Modified:
  head/astro/gnuastro/Makefile
  head/astro/gnuastro/distinfo
  head/astro/gnuastro/pkg-plist

Modified: head/astro/gnuastro/Makefile
==============================================================================
--- head/astro/gnuastro/Makefile	Fri May 29 12:41:10 2020	(r536969)
+++ head/astro/gnuastro/Makefile	Fri May 29 12:45:06 2020	(r536970)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	gnuastro
-PORTVERSION=	0.11
+PORTVERSION=	0.12
 CATEGORIES=	astro
 MASTER_SITES=	GNU
 
@@ -27,6 +27,10 @@ INFO=		${PORTNAME}
 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 \

Modified: head/astro/gnuastro/distinfo
==============================================================================
--- head/astro/gnuastro/distinfo	Fri May 29 12:41:10 2020	(r536969)
+++ head/astro/gnuastro/distinfo	Fri May 29 12:45:06 2020	(r536970)
@@ -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

Added: head/astro/gnuastro/files/patch-bin_fits_keywords.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/gnuastro/files/patch-bin_fits_keywords.c	Fri May 29 12:45:06 2020	(r536970)
@@ -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 )

Added: head/astro/gnuastro/files/patch-lib_fits.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/astro/gnuastro/files/patch-lib_fits.c	Fri May 29 12:45:06 2020	(r536970)
@@ -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;
+ }
+ 
+ 

Modified: head/astro/gnuastro/pkg-plist
==============================================================================
--- head/astro/gnuastro/pkg-plist	Fri May 29 12:41:10 2020	(r536969)
+++ head/astro/gnuastro/pkg-plist	Fri May 29 12:45:06 2020	(r536970)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005291245.04TCj6aB050499>