From 471adf2217f0abc3d20950d66414b4c4f2f9123d Mon Sep 17 00:00:00 2001 From: Andrea Brancaleoni Date: Sat, 3 Nov 2018 14:19:54 +0100 Subject: [PATCH] csound: update to 6.12.0. Remove *-musl support. Please push patches upstream, or enable them only for *-musl. --- srcpkgs/csound/patches/buffersize.patch | 38 -------- srcpkgs/csound/patches/musl-execinfo.patch | 22 ----- srcpkgs/csound/patches/musl-strncpy.patch | 95 -------------------- srcpkgs/csound/patches/replace-sprintf.patch | 89 ------------------ srcpkgs/csound/patches/unused-variable.patch | 10 --- srcpkgs/csound/template | 10 ++- 6 files changed, 7 insertions(+), 257 deletions(-) delete mode 100644 srcpkgs/csound/patches/buffersize.patch delete mode 100644 srcpkgs/csound/patches/musl-execinfo.patch delete mode 100644 srcpkgs/csound/patches/musl-strncpy.patch delete mode 100644 srcpkgs/csound/patches/replace-sprintf.patch delete mode 100644 srcpkgs/csound/patches/unused-variable.patch diff --git a/srcpkgs/csound/patches/buffersize.patch b/srcpkgs/csound/patches/buffersize.patch deleted file mode 100644 index 25da8021fa4..00000000000 --- a/srcpkgs/csound/patches/buffersize.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- OOps/ugrw1.c 2018-05-10 10:31:20.000000000 +0200 -+++ OOps/ugrw1.c 2018-05-13 10:40:15.438512047 +0200 -@@ -1057,7 +1057,7 @@ - */ - static int32_t sprints(char *outstring, char *fmt, MYFLT **kvals, int32_t numVals) - { -- char tmp[8],cc; -+ char tmp[10],cc; - int32_t j = 0; - int32_t len = 8192; - while (*fmt) { ---- Engine/csound_orc_expressions.c.orig 2018-09-24 19:09:36.956995269 +0200 -+++ Engine/csound_orc_expressions.c 2018-09-24 19:11:09.401989759 +0200 -@@ -826,10 +826,10 @@ - - static TREE *create_synthetic_ident(CSOUND *csound, int32 count) - { -- char *label = (char *)csound->Calloc(csound, 20); -+ char *label = (char *)csound->Calloc(csound, 32); - ORCTOKEN *token; - -- snprintf(label, 20, "__synthetic_%"PRIi32, count); -+ snprintf(label, 32, "__synthetic_%"PRIi32, count); - if (UNLIKELY(PARSER_DEBUG)) - csound->Message(csound, "Creating Synthetic T_IDENT: %s\n", label); - token = make_token(csound, label); -@@ -840,9 +840,9 @@ - - static TREE *create_synthetic_label(CSOUND *csound, int32 count) - { -- char *label = (char *)csound->Calloc(csound, 20); -+ char *label = (char *)csound->Calloc(csound, 32); - ORCTOKEN *token; -- snprintf(label, 20, "__synthetic_%"PRIi32":", count); -+ snprintf(label, 32, "__synthetic_%"PRIi32":", count); - if (UNLIKELY(PARSER_DEBUG)) - csound->Message(csound, "Creating Synthetic label: %s\n", label); - token = make_label(csound, label); diff --git a/srcpkgs/csound/patches/musl-execinfo.patch b/srcpkgs/csound/patches/musl-execinfo.patch deleted file mode 100644 index 42fdf73b213..00000000000 --- a/srcpkgs/csound/patches/musl-execinfo.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- Top/csound.c.orig 2017-07-12 14:54:27.000000000 +0200 -+++ Top/csound.c 2017-07-17 17:27:27.064603813 +0200 -@@ -1089,7 +1089,7 @@ - - static void signal_handler(int sig) - { --#if defined(LINUX) && !defined(ANDROID) && !defined(NACL) -+#if defined(__GLIBC__) - #include - - { ---- Opcodes/linuxjoystick.c 2018-05-10 10:31:20.000000000 +0200 -+++ Opcodes/linuxjoystick.c 2018-05-13 10:47:51.360535568 +0200 -@@ -36,7 +36,7 @@ - */ - - #include "linuxjoystick.h" --#include -+#include - - static int32_t linuxjoystick (CSOUND *csound, LINUXJOYSTICK *stick) - { diff --git a/srcpkgs/csound/patches/musl-strncpy.patch b/srcpkgs/csound/patches/musl-strncpy.patch deleted file mode 100644 index 2e165b18c19..00000000000 --- a/srcpkgs/csound/patches/musl-strncpy.patch +++ /dev/null @@ -1,95 +0,0 @@ ---- Engine/csound_orc_semantics.c.orig 2018-09-24 20:32:36.504698465 +0200 -+++ Engine/csound_orc_semantics.c 2018-09-24 20:33:24.792695587 +0200 -@@ -70,7 +70,7 @@ - retVal = csound->Malloc(csound, len + 1); - - if (len > 0) { -- strncpy(retVal, str, len); -+ memcpy(retVal, str, len); - } - retVal[len] = '\0'; - -@@ -389,8 +389,8 @@ - len2 = strlen(argTypeRight); - inArgTypes = csound->Malloc(csound, len1 + len2 + 1); - -- strncpy(inArgTypes, argTypeLeft, len1); -- strncpy(inArgTypes + len1, argTypeRight, len2); -+ memcpy(inArgTypes, argTypeLeft, len1); -+ memcpy(inArgTypes + len1, argTypeRight, len2); - - inArgTypes[len1 + len2] = '\0'; - -@@ -447,8 +447,8 @@ - len2 = strlen(argTypeRight); - inArgTypes = csound->Malloc(csound, len1 + len2 + 1); - -- strncpy(inArgTypes, argTypeLeft, len1); -- strncpy(inArgTypes + len1, argTypeRight, len2); -+ memcpy(inArgTypes, argTypeLeft, len1); -+ memcpy(inArgTypes + len1, argTypeRight, len2); - - inArgTypes[len1 + len2] = '\0'; - ---- util1/csd_util/cs.c.orig 2018-09-24 20:42:03.578664665 +0200 -+++ util1/csd_util/cs.c 2018-09-24 20:44:51.364654664 +0200 -@@ -112,7 +112,7 @@ - strcpy(dir, "./"); - #endif - else { -- strncpy(dir, fullname, m + 1); -+ memcpy(dir, fullname, m + 1); - dir[m + 1] = '\0'; - } - /* base name */ -@@ -385,7 +385,8 @@ - while (--j) { - i++; - if (argv[i][0] != '-' && i < 3 && tmp[0] == '\0') { -- strncpy(tmp, argv[i],256); -+ memcpy(tmp, argv[i], sizeof(tmp)); -+ tmp[sizeof(tmp) - 1] = '\0'; - /* strip extension */ - if (is_orc(tmp) || is_sco(tmp) || is_mid(tmp) || is_csd(tmp)) - tmp[strlen(tmp) - 4] = '\0'; -@@ -427,20 +428,24 @@ - /* first, search environment variables, based on option list */ - /* (the last option has the highest precedence) */ - s = getenv("CSOUND"); -- if (s != NULL) /* get default setting from CSOUND, if available */ -- strncpy(tmp, s, 256); -+ if (s != NULL) { /* get default setting from CSOUND, if available */ -+ memcpy(tmp, s, sizeof(tmp)); -+ tmp[sizeof(tmp) - 1] = '\0'; -+ } - for (i = (int) strlen(optlst); --i >= 0; ) { - sprintf(tmp2, "CSOUND_%c", optlst[i]); - s = getenv(tmp2); - if (s != NULL) { -- strncpy(tmp, s, 256); -+ memcpy(tmp, s, sizeof(tmp)); -+ tmp[sizeof(tmp) - 1] = '\0'; - if (tmp[0] != '\0') break; - } - } - /* if nothing was found, use default settings */ - if (tmp[0] == '\0') { -- if (opts[17]) strncpy(tmp, default_csnd_r, 256); -- else strncpy(tmp, default_csnd, 256); -+ if (opts[17]) memcpy(tmp, default_csnd_r, sizeof(default_csnd_r)); -+ else memcpy(tmp, default_csnd, sizeof(default_csnd)); -+ tmp[sizeof(tmp) - 1] = '\0'; - } - /* convert this to a list of quoted options */ - s2 = cmdline; ---- util1/scot/scot.c.orig 2018-09-24 21:04:03.987585962 +0200 -+++ util1/scot/scot.c 2018-09-24 21:04:47.448583372 +0200 -@@ -684,7 +684,7 @@ - - ps = findparam(n, ptop); - if (strcmp(s, ".")) -- strncpy(ps, s, 1+strlen(s)); -+ memcpy(ps, s, 1+strlen(s)); - } - - static /* returns pointer to */ diff --git a/srcpkgs/csound/patches/replace-sprintf.patch b/srcpkgs/csound/patches/replace-sprintf.patch deleted file mode 100644 index 6518514c704..00000000000 --- a/srcpkgs/csound/patches/replace-sprintf.patch +++ /dev/null @@ -1,89 +0,0 @@ -Source: written by @pullmoll -Upstream: n/a -Reason: replace legacy sprintf with snprintf to avoid buffer overruns and fix gcc-8 warnings/errors. - ---- OOps/schedule.c.orig 2018-09-24 18:54:29.373049365 +0200 -+++ OOps/schedule.c 2018-09-24 19:04:41.067012905 +0200 -@@ -56,22 +56,27 @@ - return eventOpcodeI_(csound, &pp, 0, 'i'); - } - --static void add_string_arg(char *s, const char *arg) { -- int32_t offs = strlen(s) ; -- //char *c = s; -- s += offs; -- *s++ = ' '; -- -- *s++ ='\"'; -- while(*arg != '\0') { -- if(*arg == '\"') -- *s++ = '\\'; -- *s++ = *arg++; -+static void add_string_arg(char *s, size_t size, const char *arg) { -+ size_t offs = strlen(s); -+ size_t len; -+ len = snprintf(s + offs, size - offs, " \""); -+ if (len <= 0) -+ return; -+ offs += len; -+ while (*arg != '\0') { -+ if (*arg == '\"') { -+ len = snprintf(s + offs, size - offs, "\\"); -+ if (len <= 0) -+ return; -+ offs += len; -+ } -+ len = snprintf(s + offs, size - offs, "%c", *arg); -+ if (len <= 0) -+ return; -+ offs += len; -+ arg++; - } -- -- *s++ = '\"'; -- *s = '\0'; -- //printf("%s \n", c); -+ snprintf(s + offs, size - offs, "\""); - } - - -@@ -79,15 +84,16 @@ - { - int32_t i; - int32_t argno = p->INOCOUNT+1; -+ size_t len; - char s[16384]; -- sprintf(s, "i %f %f %f", *p->which, *p->when, *p->dur); -+ len = snprintf(s, sizeof(s), "i %f %f %f", *p->which, *p->when, *p->dur); - for (i=4; i < argno ; i++) { - MYFLT *arg = p->argums[i-4]; - if (csoundGetTypeForArg(arg) == &CS_VAR_TYPE_S) { -- add_string_arg(s, ((STRINGDAT *)arg)->data); -- //sprintf(s, "%s \"%s\" ", s, ((STRINGDAT *)arg)->data); -+ add_string_arg(s, sizeof(s), ((STRINGDAT *)arg)->data); -+ //snprintf(s, sizeof(s), "%s \"%s\" ", s, ((STRINGDAT *)arg)->data); - } -- else sprintf(s, "%s %f", s, *arg); -+ else snprintf(s + len, sizeof(s) - len, " %f", *arg); - - } - -@@ -99,14 +105,14 @@ - { - int32_t i; - int32_t argno = p->INOCOUNT+1; -+ size_t len; - char s[16384]; -- sprintf(s, "i \"%s\" %f %f", ((STRINGDAT *)p->which)->data, *p->when, *p->dur); -+ len = snprintf(s, sizeof(s), "i \"%s\" %f %f", ((STRINGDAT *)p->which)->data, *p->when, *p->dur); - for (i=4; i < argno ; i++) { - MYFLT *arg = p->argums[i-4]; - if (csoundGetTypeForArg(arg) == &CS_VAR_TYPE_S) -- //sprintf(s, "%s \"%s\" ", s, ((STRINGDAT *)arg)->data); -- add_string_arg(s, ((STRINGDAT *)arg)->data); -- else sprintf(s, "%s %f", s, *arg); -+ add_string_arg(s, sizeof(s), ((STRINGDAT *)arg)->data); -+ else snprintf(s + len, sizeof(s) - len, " %f", *arg); - } - //printf("%s\n", s); - csoundInputMessageInternal(csound, s); diff --git a/srcpkgs/csound/patches/unused-variable.patch b/srcpkgs/csound/patches/unused-variable.patch deleted file mode 100644 index 9361060e8e0..00000000000 --- a/srcpkgs/csound/patches/unused-variable.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- Top/threadsafe.c 2018-05-10 10:31:20.000000000 +0200 -+++ Top/threadsafe.c 2018-05-13 10:45:03.246526895 +0200 -@@ -551,6 +551,7 @@ - csoundSpinLock(lock); - *pval = val; - csoundSpinUnLock(lock); -+ (void)x; - } - #endif - } diff --git a/srcpkgs/csound/template b/srcpkgs/csound/template index 51e96a58a42..d11534d221d 100644 --- a/srcpkgs/csound/template +++ b/srcpkgs/csound/template @@ -1,7 +1,7 @@ # Template file for 'csound' pkgname=csound -version=6.11.0 -revision=2 +version=6.12.0 +revision=1 build_style=cmake configure_args=" -DLUA_MODULE_INSTALL_DIR=${XBPS_CROSS_BASE}/usr/lib/lua/5.1 @@ -17,11 +17,15 @@ maintainer="Andrea Brancaleoni " license="LGPL-2.1-or-later" homepage="https://csound.com/" distfiles="https://github.com/${pkgname}/${pkgname}/archive/${version}.tar.gz" -checksum=f47df73ff270faa70bf53bad68edc85b2dc5623b9c73d06054cd03f5d3332dc0 +checksum=edb0f6ac3cffa58a992f5c1f88e0e208e6559e0a84b34ec7ec2c0cf4b917d674 nocross=yes CXXFLAGS="-Wno-error" +case "$XBPS_TARGET_MACHINE" in + *-musl) broken="not yet supported";; +esac + post_install() { vinstall ${FILESDIR}/csound.sh 755 etc/profile.d # Avoid conflict with libextractor