diff --git a/debian/jasper/jasper-1.900.1-debian1/debian/changelog b/debian/jasper/jasper-1.900.1-debian1/debian/changelog index f103c46b..9ad34eb8 100644 --- a/debian/jasper/jasper-1.900.1-debian1/debian/changelog +++ b/debian/jasper/jasper-1.900.1-debian1/debian/changelog @@ -1,3 +1,9 @@ +jasper (1.900.1-debian1-2.5ubuntu24.04.0+9~b) noble; urgency=high + + * Fix FTBFS with gcc14 + + -- Michele Calgaro Sat, 14 Sep 2024 18:46:00 +0900 + jasper (1.900.1-debian1-2.5ubuntu24.04.0+8~b) noble; urgency=high * Remove register instruction. diff --git a/debian/jasper/jasper-1.900.1-debian1/debian/patches/fix-ftbfs-gcc14.diff b/debian/jasper/jasper-1.900.1-debian1/debian/patches/fix-ftbfs-gcc14.diff new file mode 100644 index 00000000..c794bea1 --- /dev/null +++ b/debian/jasper/jasper-1.900.1-debian1/debian/patches/fix-ftbfs-gcc14.diff @@ -0,0 +1,127 @@ +--- a/src/libjasper/jpc/jpc_qmfb.c ++++ b/src/libjasper/jpc/jpc_qmfb.c +@@ -94,52 +94,38 @@ + #define QMFB_SPLITBUFSIZE 4096 + #define QMFB_JOINBUFSIZE 4096 + +-int jpc_ft_analyze(jpc_fix_t *a, int xstart, int ystart, int width, int height, +- int stride); +-int jpc_ft_synthesize(int *a, int xstart, int ystart, int width, int height, +- int stride); +- +-int jpc_ns_analyze(jpc_fix_t *a, int xstart, int ystart, int width, int height, +- int stride); +-int jpc_ns_synthesize(jpc_fix_t *a, int xstart, int ystart, int width, +- int height, int stride); ++int jpc_ft_analyze(jpc_fix_t *a, int xstart, int ystart, int width, int height, int stride); ++int jpc_ft_synthesize(jpc_fix_t *a, int xstart, int ystart, int width, int height, int stride); ++ ++int jpc_ns_analyze(jpc_fix_t *a, int xstart, int ystart, int width, int height, int stride); ++int jpc_ns_synthesize(jpc_fix_t *a, int xstart, int ystart, int width, int height, int stride); + + void jpc_ft_fwdlift_row(jpc_fix_t *a, int numcols, int parity); +-void jpc_ft_fwdlift_col(jpc_fix_t *a, int numrows, int stride, +- int parity); +-void jpc_ft_fwdlift_colgrp(jpc_fix_t *a, int numrows, int stride, +- int parity); +-void jpc_ft_fwdlift_colres(jpc_fix_t *a, int numrows, int numcols, +- int stride, int parity); ++void jpc_ft_fwdlift_col(jpc_fix_t *a, int numrows, int stride, int parity); ++void jpc_ft_fwdlift_colgrp(jpc_fix_t *a, int numrows, int stride, int parity); ++void jpc_ft_fwdlift_colres(jpc_fix_t *a, int numrows, int numcols, int stride, int parity); + + void jpc_ft_invlift_row(jpc_fix_t *a, int numcols, int parity); +-void jpc_ft_invlift_col(jpc_fix_t *a, int numrows, int stride, +- int parity); +-void jpc_ft_invlift_colgrp(jpc_fix_t *a, int numrows, int stride, +- int parity); +-void jpc_ft_invlift_colres(jpc_fix_t *a, int numrows, int numcols, +- int stride, int parity); ++void jpc_ft_invlift_col(jpc_fix_t *a, int numrows, int stride, int parity); ++void jpc_ft_invlift_colgrp(jpc_fix_t *a, int numrows, int stride, int parity); ++void jpc_ft_invlift_colres(jpc_fix_t *a, int numrows, int numcols, int stride, int parity); + + void jpc_ns_fwdlift_row(jpc_fix_t *a, int numcols, int parity); + void jpc_ns_fwdlift_colgrp(jpc_fix_t *a, int numrows, int stride, int parity); +-void jpc_ns_fwdlift_colres(jpc_fix_t *a, int numrows, int numcols, int stride, +- int parity); ++void jpc_ns_fwdlift_colres(jpc_fix_t *a, int numrows, int numcols, int stride, int parity); + void jpc_ns_invlift_row(jpc_fix_t *a, int numcols, int parity); + void jpc_ns_invlift_colgrp(jpc_fix_t *a, int numrows, int stride, int parity); +-void jpc_ns_invlift_colres(jpc_fix_t *a, int numrows, int numcols, int stride, +- int parity); ++void jpc_ns_invlift_colres(jpc_fix_t *a, int numrows, int numcols, int stride, int parity); + + void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity); + void jpc_qmfb_split_col(jpc_fix_t *a, int numrows, int stride, int parity); + void jpc_qmfb_split_colgrp(jpc_fix_t *a, int numrows, int stride, int parity); +-void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols, int stride, +- int parity); ++void jpc_qmfb_split_colres(jpc_fix_t *a, int numrows, int numcols, int stride, int parity); + + void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int parity); + void jpc_qmfb_join_col(jpc_fix_t *a, int numrows, int stride, int parity); + void jpc_qmfb_join_colgrp(jpc_fix_t *a, int numrows, int stride, int parity); +-void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols, int stride, +- int parity); ++void jpc_qmfb_join_colres(jpc_fix_t *a, int numrows, int numcols, int stride, int parity); + + double jpc_ft_lpenergywts[32] = { + 1.2247448713915889, +@@ -1530,7 +1516,7 @@ + + } + +-int jpc_ft_synthesize(int *a, int xstart, int ystart, int width, int height, ++int jpc_ft_synthesize(jpc_fix_t *a, int xstart, int ystart, int width, int height, + int stride) + { + int numrows = height; +--- a/src/libjasper/jpc/jpc_qmfb.h ++++ b/src/libjasper/jpc/jpc_qmfb.h +@@ -100,9 +100,10 @@ + #define JPC_QMFB_COLGRPSIZE 16 + #endif + ++#include "jpc_fix.h" + typedef struct { +- int (*analyze)(int *, int, int, int, int, int); +- int (*synthesize)(int *, int, int, int, int, int); ++ int (*analyze)(jpc_fix_t*, int, int, int, int, int); ++ int (*synthesize)(jpc_fix_t*, int, int, int, int, int); + double *lpenergywts; + double *hpenergywts; + } jpc_qmfb2d_t; +--- a/src/libjasper/jpc/jpc_tsfb.c ++++ b/src/libjasper/jpc/jpc_tsfb.c +@@ -88,10 +88,10 @@ + int xstart, int ystart, int xend, int yend, jpc_tsfb_band_t **bands, + int numlvls); + +-int jpc_tsfb_analyze2(jpc_tsfb_t *tsfb, int *a, int xstart, int ystart, ++int jpc_tsfb_analyze2(jpc_tsfb_t *tsfb, jas_seqent_t *a, int xstart, int ystart, + int width, int height, int stride, int numlvls); + +-int jpc_tsfb_synthesize2(jpc_tsfb_t *tsfb, int *a, int xstart, int ystart, ++int jpc_tsfb_synthesize2(jpc_tsfb_t *tsfb, jas_seqent_t *a, int xstart, int ystart, + int width, int height, int stride, int numlvls); + + /******************************************************************************\ +@@ -135,7 +135,7 @@ + jas_seq2d_height(a), jas_seq2d_rowstep(a), tsfb->numlvls - 1) : 0; + } + +-int jpc_tsfb_analyze2(jpc_tsfb_t *tsfb, int *a, int xstart, int ystart, ++int jpc_tsfb_analyze2(jpc_tsfb_t *tsfb, jas_seqent_t *a, int xstart, int ystart, + int width, int height, int stride, int numlvls) + { + if (width > 0 && height > 0) { +@@ -162,7 +162,7 @@ + jas_seq2d_height(a), jas_seq2d_rowstep(a), tsfb->numlvls - 1) : 0; + } + +-int jpc_tsfb_synthesize2(jpc_tsfb_t *tsfb, int *a, int xstart, int ystart, ++int jpc_tsfb_synthesize2(jpc_tsfb_t *tsfb, jas_seqent_t *a, int xstart, int ystart, + int width, int height, int stride, int numlvls) + { + if (numlvls > 0) { diff --git a/debian/jasper/jasper-1.900.1-debian1/debian/patches/series b/debian/jasper/jasper-1.900.1-debian1/debian/patches/series index 27ee9382..72b1a17c 100644 --- a/debian/jasper/jasper-1.900.1-debian1/debian/patches/series +++ b/debian/jasper/jasper-1.900.1-debian1/debian/patches/series @@ -29,3 +29,4 @@ CVE-2018-19540.patch CVE-2018-19542.patch add-missing-function-prototype.diff remove-register-instruction.diff +fix-ftbfs-gcc14.diff