[med-svn] [Git][med-team/pplacer][master] More API upgrades
Andreas Tille (@tille)
gitlab at salsa.debian.org
Fri Dec 13 16:49:07 GMT 2024
Andreas Tille pushed to branch master at Debian Med / pplacer
Commits:
db5e5ef3 by Andreas Tille at 2024-12-13T17:48:56+01:00
More API upgrades
- - - - -
4 changed files:
- debian/changelog
- + debian/patches/caml_bigarray.patch
- + debian/patches/no_redefined_definitions.patch
- debian/patches/series
Changes:
=====================================
debian/changelog
=====================================
@@ -3,6 +3,7 @@ pplacer (1.1~alpha19-9) UNRELEASED; urgency=medium
* Fix Build issues with OCaml 5.2.0
- Use -Wno-incompatible-pointer-types
- Fix misleading indentation
+ - Upgrade to Ocaml 5.2.0 API of bigarray
-- Andreas Tille <tille at debian.org> Fri, 13 Dec 2024 16:59:47 +0100
=====================================
debian/patches/caml_bigarray.patch
=====================================
@@ -0,0 +1,289 @@
+Description: Fix Build issues with OCaml 5.2.0: Upgrade to Ocaml 5.2.0 API of bigarray
+Author: Andreas Tille <tille at debian.org>
+Bug-Debian: https://bugs.debian.org/1074546
+Last-Update: 2024-12-13
+
+--- a/cdd_src/caml_cdd.c
++++ b/cdd_src/caml_cdd.c
+@@ -25,17 +25,18 @@ double *extreme_vertices(const double *,
+ CAMLprim value caml_extreme_vertices(value vertices, value lower_bound, value upper_bound)
+ {
+ CAMLparam3(vertices, lower_bound, upper_bound);
+- double *vert_arr = Data_bigarray_val(vertices);
+- int nrows = (Bigarray_val(vertices)->dim[0]);
+- int ncols = (Bigarray_val(vertices)->dim[1]);
++ double *vert_arr = Caml_ba_array_val(vertices);
++ struct caml_ba_array *ba = Caml_ba_array_val(vertices);
++ int nrows = ba->dim[0];
++ int ncols = ba->dim[1];
+ size_t res_size;
+ double *res = extreme_vertices(vert_arr, nrows, ncols,
+ Double_val(lower_bound), Double_val(upper_bound), &res_size);
+ if (res == NULL)
+ CAMLreturn(Val_none);
+ else {
+- value res_bigarr = alloc_bigarray_dims(BIGARRAY_FLOAT64 | BIGARRAY_C_LAYOUT, 2, NULL, res_size / 3, 3);
+- memcpy(Data_bigarray_val(res_bigarr), res, sizeof *res * res_size);
++ value res_bigarr = caml_ba_alloc_dims(CAML_BA_FLOAT64 | CAML_BA_C_LAYOUT, 2, NULL, res_size / 3, 3);
++ memcpy(Caml_ba_data_val(res_bigarr), res, sizeof(*res) * res_size);
+ free(res);
+ CAMLreturn(Val_some(res_bigarr));
+ }
+--- a/pam_src/caml_pam.c
++++ b/pam_src/caml_pam.c
+@@ -16,7 +16,7 @@ CAMLprim value caml_pam(value k_value, v
+ {
+ CAMLparam3(k_value, keep_value, dist_value);
+ char *keep = String_val(keep_value);
+- double *dist = Data_bigarray_val(dist_value);
++ double *dist = Caml_ba_array_val(dist_value);
+ gsl_matrix_view m;
+ gsl_vector_char_view v;
+ double work;
+@@ -34,7 +34,7 @@ CAMLprim value caml_pam(value k_value, v
+ medoids = pam(&m.matrix, k, &v.vector, &work);
+
+ res_bigarr = alloc_bigarray_dims(BIGARRAY_CAML_INT | BIGARRAY_C_LAYOUT, 1, NULL, k);
+- res_ptr = Data_bigarray_val(res_bigarr);
++ res_ptr = Caml_ba_array_val(res_bigarr);
+ medoids_ptr = medoids;
+ for (i = 0; i < k; ++i) {
+ *res_ptr++ = *medoids_ptr++;
+--- a/pplacer_src/linear_c.c
++++ b/pplacer_src/linear_c.c
+@@ -29,9 +29,9 @@
+ CAMLprim value gemmish_c(value dst_value, value a_value, value b_value)
+ {
+ CAMLparam3(dst_value, a_value, b_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *a = Data_bigarray_val(a_value);
+- double *b = Data_bigarray_val(b_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *a = Caml_ba_array_val(a_value);
++ double *b = Caml_ba_array_val(b_value);
+ int n_states = Bigarray_val(a_value)->dim[0];
+ int n_sites = Bigarray_val(b_value)->dim[0];
+ int site, i, j;
+@@ -92,10 +92,10 @@ CAMLprim value gemmish_c(value dst_value
+ CAMLprim value dediagonalize (value dst_value, value u_value, value lambda_value, value uit_value)
+ {
+ CAMLparam4(dst_value, u_value, lambda_value, uit_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *u = Data_bigarray_val(u_value);
+- double *lambda = Data_bigarray_val(lambda_value);
+- double *uit = Data_bigarray_val(uit_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *u = Caml_ba_array_val(u_value);
++ double *lambda = Caml_ba_array_val(lambda_value);
++ double *uit = Caml_ba_array_val(uit_value);
+ double *uit_p;
+ int n = Bigarray_val(lambda_value)->dim[0];
+ int i, j, k;
+@@ -152,7 +152,7 @@ CAMLprim value dediagonalize (value dst_
+ CAMLprim value mat_print_c(value x_value)
+ {
+ CAMLparam1(x_value);
+- double *x = Data_bigarray_val(x_value);
++ double *x = Caml_ba_array_val(x_value);
+ int n_sites = (Bigarray_val(x_value)->dim[0]);
+ int n_states = (Bigarray_val(x_value)->dim[1]);
+ double *loc = x;
+@@ -171,10 +171,10 @@ CAMLprim value mat_log_like3_c(value sta
+ {
+ CAMLparam4(statd_value, x_value, y_value, z_value);
+ CAMLlocal1(ml_ll_tot);
+- double *statd = Data_bigarray_val(statd_value);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
+- double *z = Data_bigarray_val(z_value);
++ double *statd = Caml_ba_array_val(statd_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
++ double *z = Caml_ba_array_val(z_value);
+ int n_sites = Bigarray_val(x_value)->dim[0];
+ int n_states = Bigarray_val(x_value)->dim[1];
+ int site, state;
+@@ -218,9 +218,9 @@ CAMLprim value mat_log_like3_c(value sta
+ CAMLprim value mat_pairwise_prod_c(value dst_value, value x_value, value y_value)
+ {
+ CAMLparam3(dst_value, x_value, y_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
+ int size = (Bigarray_val(x_value)->dim[0]) * (Bigarray_val(x_value)->dim[1]);
+ int i;
+ for(i=0; i < size; i++) {
+@@ -232,10 +232,10 @@ CAMLprim value mat_pairwise_prod_c(value
+ CAMLprim value mat_statd_pairwise_prod_c(value statd_value, value dst_value, value a_value, value b_value)
+ {
+ CAMLparam4(statd_value, dst_value, a_value, b_value);
+- double *statd = Data_bigarray_val(statd_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *a = Data_bigarray_val(a_value);
+- double *b = Data_bigarray_val(b_value);
++ double *statd = Caml_ba_array_val(statd_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *a = Caml_ba_array_val(a_value);
++ double *b = Caml_ba_array_val(b_value);
+ int n_sites = Bigarray_val(a_value)->dim[0];
+ int n_states = Bigarray_val(a_value)->dim[1];
+ int site, state;
+@@ -252,9 +252,9 @@ CAMLprim value mat_masked_logdot_c(value
+ {
+ CAMLparam3(x_value, y_value, mask_value);
+ CAMLlocal1(ml_ll_tot);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
+- uint16_t *mask = Data_bigarray_val(mask_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
++ uint16_t *mask = Caml_ba_array_val(mask_value);
+ int n_sites = (Bigarray_val(x_value)->dim[0]);
+ int n_states = (Bigarray_val(x_value)->dim[1]);
+ if(n_sites != Bigarray_val(mask_value)->dim[0])
+@@ -299,8 +299,8 @@ CAMLprim value mat_bounded_logdot_c(valu
+ {
+ CAMLparam4(x_value, y_value, first_value, last_value);
+ CAMLlocal1(ml_ll_tot);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
+ int first = Int_val(first_value);
+ int last = Int_val(last_value);
+ int n_used = 1 + last - first;
+@@ -345,7 +345,7 @@ CAMLprim value mat_bounded_logdot_c(valu
+ CAMLprim value ten_print_c(value x_value)
+ {
+ CAMLparam1(x_value);
+- double *x = Data_bigarray_val(x_value);
++ double *x = Caml_ba_array_val(x_value);
+ int n_rates = (Bigarray_val(x_value)->dim[0]);
+ int n_sites = (Bigarray_val(x_value)->dim[1]);
+ int n_states = (Bigarray_val(x_value)->dim[2]);
+@@ -368,11 +368,11 @@ CAMLprim value ten_log_like3_c(value sta
+ {
+ CAMLparam5(statd_value, x_value, y_value, z_value, util_value);
+ CAMLlocal1(ml_ll_tot);
+- double *statd = Data_bigarray_val(statd_value);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
+- double *z = Data_bigarray_val(z_value);
+- double *util = Data_bigarray_val(util_value);
++ double *statd = Caml_ba_array_val(statd_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
++ double *z = Caml_ba_array_val(z_value);
++ double *util = Caml_ba_array_val(util_value);
+ int n_rates = Bigarray_val(x_value)->dim[0];
+ int n_sites = Bigarray_val(x_value)->dim[1];
+ int n_states = Bigarray_val(x_value)->dim[2];
+@@ -426,9 +426,9 @@ CAMLprim value ten_log_like3_c(value sta
+ CAMLprim value ten_pairwise_prod_c(value dst_value, value x_value, value y_value)
+ {
+ CAMLparam3(dst_value, x_value, y_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
+ int size =
+ (Bigarray_val(x_value)->dim[0])
+ * (Bigarray_val(x_value)->dim[1])
+@@ -443,10 +443,10 @@ CAMLprim value ten_pairwise_prod_c(value
+ CAMLprim value ten_statd_pairwise_prod_c(value statd_value, value dst_value, value a_value, value b_value)
+ {
+ CAMLparam4(statd_value, dst_value, a_value, b_value);
+- double *statd = Data_bigarray_val(statd_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *a = Data_bigarray_val(a_value);
+- double *b = Data_bigarray_val(b_value);
++ double *statd = Caml_ba_array_val(statd_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *a = Caml_ba_array_val(a_value);
++ double *b = Caml_ba_array_val(b_value);
+ int n_rates = Bigarray_val(a_value)->dim[0];
+ int n_sites = Bigarray_val(a_value)->dim[1];
+ int n_states = Bigarray_val(a_value)->dim[2];
+@@ -466,10 +466,10 @@ CAMLprim value ten_masked_logdot_c(value
+ {
+ CAMLparam4(x_value, y_value, mask_value, util_value);
+ CAMLlocal1(ml_ll_tot);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
+- uint16_t *mask = Data_bigarray_val(mask_value);
+- double *util = Data_bigarray_val(util_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
++ uint16_t *mask = Caml_ba_array_val(mask_value);
++ double *util = Caml_ba_array_val(util_value);
+ int n_rates = Bigarray_val(x_value)->dim[0];
+ int n_sites = Bigarray_val(x_value)->dim[1];
+ int n_states = Bigarray_val(x_value)->dim[2];
+@@ -542,11 +542,11 @@ CAMLprim value ten_bounded_logdot_c(valu
+ {
+ CAMLparam5(x_value, y_value, first_value, last_value, util_value);
+ CAMLlocal1(ml_ll_tot);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
+ int first = Int_val(first_value);
+ int last = Int_val(last_value);
+- double *util = Data_bigarray_val(util_value);
++ double *util = Caml_ba_array_val(util_value);
+ int n_rates = Bigarray_val(x_value)->dim[0];
+ int n_sites = Bigarray_val(x_value)->dim[1];
+ int n_states = Bigarray_val(x_value)->dim[2];
+@@ -607,9 +607,9 @@ CAMLprim value ten_bounded_logdot_c(valu
+ CAMLprim value vec_pairwise_prod_c(value dst_value, value x_value, value y_value)
+ {
+ CAMLparam3(dst_value, x_value, y_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *x = Data_bigarray_val(x_value);
+- double *y = Data_bigarray_val(y_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *x = Caml_ba_array_val(x_value);
++ double *y = Caml_ba_array_val(y_value);
+ int i;
+ for(i=0; i < Bigarray_val(x_value)->dim[0]; i++) {
+ dst[i] = x[i] * y[i];
+@@ -620,7 +620,7 @@ CAMLprim value vec_pairwise_prod_c(value
+ CAMLprim value int_vec_tot_c(value x_value)
+ {
+ CAMLparam1(x_value);
+- uint16_t *x = Data_bigarray_val(x_value);
++ uint16_t *x = Caml_ba_array_val(x_value);
+ CAMLlocal1(ml_tot);
+ int i, tot = 0;
+ for(i=0; i < Bigarray_val(x_value)->dim[0]; i++)
+@@ -632,9 +632,9 @@ CAMLprim value int_vec_tot_c(value x_val
+ CAMLprim value int_vec_pairwise_prod_c(value dst_value, value x_value, value y_value)
+ {
+ CAMLparam3(dst_value, x_value, y_value);
+- uint16_t *dst = Data_bigarray_val(dst_value);
+- uint16_t *x = Data_bigarray_val(x_value);
+- uint16_t *y = Data_bigarray_val(y_value);
++ uint16_t *dst = Caml_ba_array_val(dst_value);
++ uint16_t *x = Caml_ba_array_val(x_value);
++ uint16_t *y = Caml_ba_array_val(y_value);
+ uint16_t *dst_end = dst + Bigarray_val(dst_value)->dim[0];
+ while (dst < dst_end)
+ *dst++ = *x++ * *y++;
+@@ -644,9 +644,9 @@ CAMLprim value int_vec_pairwise_prod_c(v
+ CAMLprim value float_mat_int_vec_mul_c(value dst_value, value mat_value, value vec_value)
+ {
+ CAMLparam3(dst_value, mat_value, vec_value);
+- double *dst = Data_bigarray_val(dst_value);
+- double *mat = Data_bigarray_val(mat_value);
+- uint16_t vec_j, *vec = Data_bigarray_val(vec_value);
++ double *dst = Caml_ba_array_val(dst_value);
++ double *mat = Caml_ba_array_val(mat_value);
++ uint16_t vec_j, *vec = Caml_ba_array_val(vec_value);
+ int j;
+ int n = Bigarray_val(mat_value)->dim[0], k = Bigarray_val(mat_value)->dim[1];
+ double *dst_start = dst, *dst_end = dst + k;
=====================================
debian/patches/no_redefined_definitions.patch
=====================================
@@ -0,0 +1,16 @@
+Description: Fix Build issues with OCaml 5.2.0: Avoid redefinition of Some_val(v)
+Author: Andreas Tille <tille at debian.org>
+Bug-Debian: https://bugs.debian.org/1074546
+Last-Update: 2024-12-13
+
+--- a/cdd_src/caml_cdd.c
++++ b/cdd_src/caml_cdd.c
+@@ -18,7 +18,7 @@ value Val_some(value v)
+ CAMLreturn(some);
+ }
+
+-#define Some_val(v) Field(v,0)
++/* #define Some_val(v) Field(v,0) // defined in .../ocaml/5.2.0/caml/mlvalues.h */
+
+ double *extreme_vertices(const double *, const size_t, const size_t, float, float, size_t *);
+
=====================================
debian/patches/series
=====================================
@@ -8,3 +8,5 @@ PR-337.patch
fix_ocaml_build_error_List.min.patch
no-incompatible-pointer-types.patch
misleading-indentation.patch
+no_redefined_definitions.patch
+caml_bigarray.patch
View it on GitLab: https://salsa.debian.org/med-team/pplacer/-/commit/db5e5ef332d2e0066a17794d108bf232594138af
--
View it on GitLab: https://salsa.debian.org/med-team/pplacer/-/commit/db5e5ef332d2e0066a17794d108bf232594138af
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20241213/b4bfdd8c/attachment-0001.htm>
More information about the debian-med-commit
mailing list