diff --git a/devel/orc/Makefile b/devel/orc/Makefile index 3ebbd84bf732..d7f331d03bd6 100644 --- a/devel/orc/Makefile +++ b/devel/orc/Makefile @@ -1,25 +1,26 @@ PORTNAME= orc DISTVERSION= 0.4.34 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= http://gstreamer.freedesktop.org/data/src/orc/ MAINTAINER= kwm@FreeBSD.org COMMENT= Library and toolset to operate arrays of data WWW= https://gstreamer.freedesktop.org/projects/orc.html LICENSE= BSD2CLAUSE BSD3CLAUSE LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/COPYING USES= gmake meson pkgconfig tar:xz USE_LDCONFIG= yes PLIST_SUB+= LIBMINORVER=${DISTVERSION:E} OPTIONS_DEFINE= DOCS DOCS_BUILD_DEPENDS= gtkdoc-scan:textproc/gtk-doc DOCS_MESON_ENABLED= gtk_doc .include diff --git a/devel/orc/files/patch-orc_orcprogram-c.c b/devel/orc/files/patch-orc_orcprogram-c.c new file mode 100644 index 000000000000..e97ca08db3a7 --- /dev/null +++ b/devel/orc/files/patch-orc_orcprogram-c.c @@ -0,0 +1,19 @@ +This patch works around a bug in the armv7 libc where sprintf(buf, "%g", 1.26e-321); +generates a string with an embedded NUL byte, causing broken source code to be +generated (PR272229). + +--- orc/orcprogram-c.c.orig 2023-06-26 19:40:12 UTC ++++ orc/orcprogram-c.c +@@ -825,10 +825,9 @@ c_rule_loadpX (OrcCompiler *p, void *user, OrcInstruct + } + } else if (p->vars[insn->src_args[0]].vartype == ORC_VAR_TYPE_CONST) { + if (p->vars[insn->src_args[0]].size <= 4) { +- ORC_ASM_CODE(p," %s = 0x%08x; /* %d or %gf */\n", dest, ++ ORC_ASM_CODE(p," %s = 0x%08x; /* %d */\n", dest, + (unsigned int)p->vars[insn->src_args[0]].value.i, +- (int)p->vars[insn->src_args[0]].value.i, +- p->vars[insn->src_args[0]].value.f); ++ (int)p->vars[insn->src_args[0]].value.i); + } else { + ORC_ASM_CODE(p," %s = ORC_UINT64_C(0x%08x%08x); /* %gf */\n", dest, + (orc_uint32)(((orc_uint64)p->vars[insn->src_args[0]].value.i)>>32),