Opened 17 months ago
Closed 17 months ago
#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)
Change History (6)
Changed 17 months ago by peter31042
Attachment: | Portfile.diff added |
---|
comment:1 Changed 17 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Status: | new → accepted |
comment:2 Changed 17 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 17 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 17 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 17 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
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 thechecksums
area.The
revision
line should now be specified even when it is0
.We've been moving the
checksums
area right below theversion
andrevision
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.