Package: paml / 4.9j+dfsg-6

Metadata

Package Version Patches format
paml 4.9j+dfsg-6 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
gcc10.patch | (download)

src/paml.h | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 fix ftbfs with gcc 10
hardening.patch | (download)

src/Makefile | 24 12 + 12 - 0 !
1 file changed, 12 insertions(+), 12 deletions(-)

 enable propagation of hardening flags
add_clean_target.patch | (download)

src/Makefile | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 add clean target to upstream makefile
gcc14.patch | (download)

src/basemlg.c | 4 3 + 1 - 0 !
src/evolver.c | 3 2 + 1 - 0 !
src/paml.h | 2 1 + 1 - 0 !
src/treesub.c | 2 1 + 1 - 0 !
4 files changed, 7 insertions(+), 4 deletions(-)

 fix incompatible pointer types with gcc 14.
 This patch fixes a number of build failures caused by incompatible
 pointer types, now fatal with gcc 14.  Typical symptom looks like:
 .
  In file included from baseml.c:131:
  treesub.c: In function IdenticalSeqs:
  In file included from codeml.c:238:
  treesub.c: In function IdenticalSeqs:
  treesub.c:1310:33: error: passing argument 3 of printSeqs from incompatible pointer type [-Wincompatible-pointer-types]
   1310 |       printSeqs(ftmp, com.z, com.spname, com.ns, com.ls, com.npatt, com.fpatt, NULL, keep, 1);
        |                              ~~~^~~~~~~
        |                                 |
        |                                 char **
  In file included from baseml.c:11:
  paml.h:150:63: note: expected unsigned char ** but argument is of type char **
    150 | void printSeqs(FILE *fout, unsigned char *z[], unsigned char *spnames[], int ns, int ls, int npatt, double fpatt[], int *pose, char keep[], int format);
        |                                                ~~~~~~~~~~~~~~~^~~~~~~~~
  treesub.c:1310:33: error: passing argument 3 of printSeqs from incompatible pointer type [-Wincompatible-pointer-types]
   1310 |       printSeqs(ftmp, com.z, com.spname, com.ns, com.ls, com.npatt, com.fpatt, NULL, keep, 1);
        |                              ~~~^~~~~~~
        |                                 |
        |                                 char **
 .
 Every time when a change was needed, the plain "char" type was favored
 over the "unsigned char" type.  This is to allow the compiler to set
 the optimum char signature depending on the target CPU architecture
 (e.g. signed char for x86_64, unsigned char for Aarch64).

c23.patch | (download)

src/mcmctree.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix ftbfs with gcc 15
 This patch fixes the following error, appearing with standard C 2023
 compiler support:
 .
        treesub.c:8481:5: error: conflicting types for ProcessNodeAnnotation; have int(int *)
         8481 | int ProcessNodeAnnotation(int *haslabel)
              |     ^~~~~~~~~~~~~~~~~~~~~
        mcmctree.c:45:5: note: previous declaration of ProcessNodeAnnotation with type int(void)
           45 | int ProcessNodeAnnotation();
              |     ^~~~~~~~~~~~~~~~~~~~~