FreeBSD Bugzilla – Attachment 254278 Details for
Bug 282123
devel/ocaml-magic: Strip binaries
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
0001-devel-ocaml-magic-Strip-binaries.patch
0001-devel-ocaml-magic-Strip-binaries.patch (text/plain), 5.86 KB, created by
Benjamin Jacobs
on 2024-10-15 21:42:36 UTC
(
hide
)
Description:
0001-devel-ocaml-magic-Strip-binaries.patch
Filename:
MIME Type:
Creator:
Benjamin Jacobs
Created:
2024-10-15 21:42:36 UTC
Size:
5.86 KB
patch
obsolete
>From eb3aab8d61e60e5f0d7d9803947b939e9cd7a2f2 Mon Sep 17 00:00:00 2001 >From: Benjamin Jacobs <freebsd@dev.thsi.be> >Date: Sun, 9 Jun 2024 12:04:01 +0000 >Subject: [PATCH] devel/ocaml-magic: Strip binaries > >While at it, patch to use the CAML_NAME_SPACE identifiers of the OCaml >C-API, as the support for the legacy identifiers has been dropped from OCaml 5. >--- > devel/ocaml-magic/Makefile | 6 +- > .../files/patch-src_magic__stubs.c | 114 ++++++++++++++++++ > 2 files changed, 119 insertions(+), 1 deletion(-) > create mode 100644 devel/ocaml-magic/files/patch-src_magic__stubs.c > >diff --git a/devel/ocaml-magic/Makefile b/devel/ocaml-magic/Makefile >index 376198661680..e9a7c2df003b 100644 >--- a/devel/ocaml-magic/Makefile >+++ b/devel/ocaml-magic/Makefile >@@ -1,6 +1,6 @@ > PORTNAME= magic > PORTVERSION= 0.7.3 >-PORTREVISION= 6 >+PORTREVISION= 7 > CATEGORIES= devel > MASTER_SITES= SF/ocaml-${PORTNAME}/ocaml-${PORTNAME}/0.7 > PKGNAMEPREFIX= ocaml- >@@ -28,6 +28,9 @@ EXAMPLESDIR= ${OCAML_EXAMPLESDIR}/${PORTNAME} > > OPTIONS_DEFINE= DOCS EXAMPLES > >+post-install: >+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/${OCAML_SITELIBDIR}/magic/dllmagic_stubs.so >+ > post-install-DOCS-on: > @${MKDIR} ${STAGEDIR}${DOCSDIR} > ${INSTALL_DATA} ${WRKSRC}/doc/html/* ${STAGEDIR}${DOCSDIR} >@@ -35,5 +38,6 @@ post-install-DOCS-on: > post-install-EXAMPLES-on: > @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} > ${INSTALL_DATA} ${WRKSRC}/examples/* ${STAGEDIR}${EXAMPLESDIR} >+ ${STRIP_CMD} ${STAGEDIR}${EXAMPLESDIR}/file > > .include <bsd.port.mk> >diff --git a/devel/ocaml-magic/files/patch-src_magic__stubs.c b/devel/ocaml-magic/files/patch-src_magic__stubs.c >new file mode 100644 >index 000000000000..38e313e916d4 >--- /dev/null >+++ b/devel/ocaml-magic/files/patch-src_magic__stubs.c >@@ -0,0 +1,114 @@ >+--- src/magic_stubs.c.orig 2008-03-23 20:39:45 UTC >++++ src/magic_stubs.c >+@@ -53,7 +53,7 @@ static void raise_magic_failure(const char * msg) >+ { >+ static value * exn = NULL; >+ if (exn == NULL) exn = caml_named_value("Magic.Failure"); >+- raise_with_string(*exn, (char *) msg); >++ caml_raise_with_string(*exn, (char *) msg); >+ } >+ >+ /* [raise_on_error] raises an exception according to the error that >+@@ -73,20 +73,20 @@ static void raise_on_error(const char* fname, const ma >+ if (err_magic != NULL) { >+ /* libmagic error */ >+ if ((errmsg = malloc(flen + strlen(err_magic) + 1)) == NULL) >+- raise_out_of_memory(); >++ caml_raise_out_of_memory(); >+ if (exn == NULL) exn = caml_named_value("Magic.Failure"); >+ strcpy(errmsg, fname); >+ strcpy(errmsg + flen, err_magic); >+- verrmsg = copy_string(errmsg); >++ verrmsg = caml_copy_string(errmsg); >+ free(errmsg); /* err_magic is freed by magic_close */ >+- raise_with_arg(*exn, verrmsg); >++ caml_raise_with_arg(*exn, verrmsg); >+ } >+ else { >+ /* System error */ >+ const int err = magic_errno(cookie); >+ int len = 80; /* buffer length */ >+ >+- if ((errmsg = malloc(len)) == NULL) raise_out_of_memory(); >++ if ((errmsg = malloc(len)) == NULL) caml_raise_out_of_memory(); >+ strcpy(errmsg, fname); >+ #ifdef HAVE_STRERROR_R >+ /* Allocate buffer [errmsg] until there is enough space for the >+@@ -95,15 +95,15 @@ static void raise_on_error(const char* fname, const ma >+ /* Reallocate to a bigger size -- no need to keep the contents */ >+ len *= 2; >+ free(errmsg); >+- if ((errmsg = malloc(len)) == NULL) raise_out_of_memory(); >++ if ((errmsg = malloc(len)) == NULL) caml_raise_out_of_memory(); >+ strcpy(errmsg, fname); >+ } >+ #else >+ strncat(errmsg, strerror(err), len - flen - 1); >+ #endif >+- verrmsg = copy_string(errmsg); >++ verrmsg = caml_copy_string(errmsg); >+ free(errmsg); >+- raise_sys_error(verrmsg); >++ caml_raise_sys_error(verrmsg); >+ } >+ >+ CAMLreturn0; >+@@ -147,7 +147,7 @@ static struct custom_operations cookie_ops = { >+ /* deserialize */ custom_deserialize_default >+ }; >+ >+-#define ALLOC_COOKIE alloc_custom(&cookie_ops, sizeof(magic_t), \ >++#define ALLOC_COOKIE caml_alloc_custom(&cookie_ops, sizeof(magic_t), \ >+ sizeof(magic_t), 40 * sizeof(magic_t)) >+ >+ /* >+@@ -169,22 +169,22 @@ CAMLprim value ocaml_magic_open(value flags) >+ else { >+ const int err = errno; /* save it */ >+ >+- if ((errmsg = malloc(len)) == NULL) raise_out_of_memory(); >++ if ((errmsg = malloc(len)) == NULL) caml_raise_out_of_memory(); >+ strcpy(errmsg, "Magic.create: "); /* 14 chars */ >+ #ifdef HAVE_STRERROR_R >+ /* No cookie yet, so one cannot use the above generic err fun */ >+ while(strerror_r(err, errmsg + 14, len - 14) < 0) { >+ len *= 2; >+ free(errmsg); >+- if ((errmsg = malloc(len)) == NULL) raise_out_of_memory(); >++ if ((errmsg = malloc(len)) == NULL) caml_raise_out_of_memory(); >+ strcpy(errmsg, "Magic.create: "); >+ } >+ #else >+ strncat(errmsg, strerror(err), len - 15); >+ #endif >+- verrmsg = copy_string(errmsg); >++ verrmsg = caml_copy_string(errmsg); >+ free(errmsg); >+- raise_sys_error(verrmsg); >++ caml_raise_sys_error(verrmsg); >+ } >+ } >+ CAMLreturn(c); >+@@ -207,11 +207,11 @@ CAMLprim value ocaml_magic_file(value c, value fname) >+ const char * ans; >+ const magic_t cookie = COOKIE_VAL(c); >+ >+- if (cookie == NULL) invalid_argument("Magic.file"); >++ if (cookie == NULL) caml_invalid_argument("Magic.file"); >+ if ((ans = magic_file(cookie, String_val(fname))) == NULL) { >+ raise_on_error("Magic.file: ", cookie); >+ } >+- CAMLreturn(copy_string(ans)); >++ CAMLreturn(caml_copy_string(ans)); >+ } >+ >+ CAMLprim value ocaml_magic_buffer(value c, value buf, value len) >+@@ -224,7 +224,7 @@ CAMLprim value ocaml_magic_buffer(value c, value buf, >+ if ((ans = magic_buffer(cookie, String_val(buf), Int_val(len))) >+ == NULL) >+ raise_on_error("Magic.buffer: ", cookie); >+- CAMLreturn(copy_string(ans)); >++ CAMLreturn(caml_copy_string(ans)); >+ } >+ >+ >-- >2.43.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 282123
: 254278