#67656 closed update (fixed)

svndigest 0.11

Reported by: peter31042 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: haspatch maintainer Cc:
Port: svndigest

Description


Attachments (1)

Portfile.diff (1.1 KB) - added by peter31042 11 months ago.

Download all attachments as: .zip

Change History (6)

Changed 11 months ago by peter31042

Attachment: Portfile.diff added

comment:1 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Status: newaccepted

Thanks! Looks like this Portfile hasn't been updated since MacPorts moved to GitHub in 2016 and a few things have changed since then.

We now list GitHub handles in addition to email addresses in the maintainers line.

The platforms darwin line can be removed because that's now the default.

A size value should now be added to the checksums area.

The revision line should now be specified even when it is 0.

We've been moving the checksums area right below the version and revision area since that consolidates the lines that get updated most frequently into one place.

I see from the NEWS file that a C++11 compiler is now required. This must be indicated in the Portfile to prevent build failures on older systems whose default compilers don't support C++11.

I'll make these changes when I commit this update shortly.

comment:2 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

I see that help2man is used:

checking whether to use help2man... yes

so I'll add a build dependency on the help2man port. macOS includes help2man but using the MacPorts version reduces surprises by ensuring we're using the same version on every macOS version.

The build fails when gsl is not installed:

./yat/utility.h:38:10: fatal error: 'gsl/gsl_math.h' file not found
#include <gsl/gsl_math.h>
         ^~~~~~~~~~~~~~~~

so I can add that build dependency too. Or perhaps even better, can that gsl #include line be removed? svndigest builds fine and tests pass without gsl installed when that line is removed.

============================================================================
Testsuite summary for svndigest 0.11
============================================================================
# TOTAL: 41
# PASS:  14
# SKIP:  27
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================

I see that the gsl #include was already removed from upstream yat 3 years ago but svndigest bundles a 10.5-year-old yat. That commit also removed the use of M_LN2 which is defined by gsl/gsl_math.h (if not already defined):

#ifndef M_LN2
#define M_LN2      0.69314718055994530941723212146      /* ln(2) */
#endif

My system's math.h already defines M_LN2 on macOS 12 (and I checked a Mac OS X 10.6 system and it appears to as well) but if this is the only thing from gsl/gsl_math.h that was being used in yat and if support for systems where math.h doesn't define M_LN2 is important maybe that #ifndef block can be used in yat/utility.h instead of including gsl/gsl_math.h.

Would updating svndigest to use a newer yat be useful? There have been dozens of releases of yat since the one included in svndigest.

comment:3 Changed 11 months ago by peter31042

The bug that GSL is required is sufficient to push out a 0.11.1. I'm not sure if it's worth patching the 0.11 within macports in the meantime, but removing the #include <gsl/gsl_math.h> seems okay. The template function T log2(T x) in which M_LN2 is used is actually never used in svndigest so the remove should not cause any problem even if M_LN2 is not defined.

comment:4 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

Ok thanks for confirming. Since I have the 0.11 update ready to go I'll include it in a batch of updates I hope to push out in the next hour or two and we can easily update to 0.11.1 whenever that's ready.

comment:5 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In 44ff87703003ee13e0cb915dbab2698540280e32/macports-ports (master):

svndigest: Update to 0.11

Closes: #67656

Note: See TracTickets for help on using tickets.