From aaeb953cd0be84dcc376510099d04b739816c994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Mon, 27 Jan 2020 16:08:52 +0100 Subject: [PATCH] virtuoso: update to 7.2.5.1; adopt --- .../virtuoso/patches/fix-utf8-bittest.patch | 15 ++ srcpkgs/virtuoso/patches/musl-page_size.patch | 16 ++ srcpkgs/virtuoso/patches/musl-wchar_t.patch | 10 - .../patch-libsrc_Wi_xmlenc_algos_c.diff | 134 ------------- .../patches/patch-libsrc_Wi_xmlenc_c.diff | 182 ------------------ .../patches/patch-libsrc_Wi_xmlenc_h.diff | 26 --- .../remove-openssl-version-check.patch | 48 +++++ .../virtuoso/patches/ssl-connect-state.patch | 15 ++ srcpkgs/virtuoso/patches/use-mkstemp.patch | 18 ++ .../virtuoso/patches/yacc-pure-parser.patch | 59 ++++++ srcpkgs/virtuoso/template | 31 +-- 11 files changed, 191 insertions(+), 363 deletions(-) create mode 100644 srcpkgs/virtuoso/patches/fix-utf8-bittest.patch create mode 100644 srcpkgs/virtuoso/patches/musl-page_size.patch delete mode 100644 srcpkgs/virtuoso/patches/musl-wchar_t.patch delete mode 100644 srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos_c.diff delete mode 100644 srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_c.diff delete mode 100644 srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_h.diff create mode 100644 srcpkgs/virtuoso/patches/remove-openssl-version-check.patch create mode 100644 srcpkgs/virtuoso/patches/ssl-connect-state.patch create mode 100644 srcpkgs/virtuoso/patches/use-mkstemp.patch create mode 100644 srcpkgs/virtuoso/patches/yacc-pure-parser.patch diff --git a/srcpkgs/virtuoso/patches/fix-utf8-bittest.patch b/srcpkgs/virtuoso/patches/fix-utf8-bittest.patch new file mode 100644 index 0000000000..f912f7fb61 --- /dev/null +++ b/srcpkgs/virtuoso/patches/fix-utf8-bittest.patch @@ -0,0 +1,15 @@ +Source: @pullmoll +Upstream: no +Reason: expression requires binary AND, not logical + +--- libsrc/util/pcrelib/pcre_study.c 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/util/pcrelib/pcre_study.c 2020-01-27 15:44:57.715821355 +0100 +@@ -432,7 +432,7 @@ + for (c = 0; c < 16; c++) start_bits[c] |= tcode[c]; + for (c = 128; c < 256; c++) + { +- if ((tcode[c/8] && (1 << (c&7))) != 0) ++ if ((tcode[c/8] & (1 << (c&7))) != 0) + { + int d = (c >> 6) | 0xc0; /* Set bit for this starter */ + start_bits[d/8] |= (1 << (d&7)); /* and then skip on to the */ diff --git a/srcpkgs/virtuoso/patches/musl-page_size.patch b/srcpkgs/virtuoso/patches/musl-page_size.patch new file mode 100644 index 0000000000..95145747f4 --- /dev/null +++ b/srcpkgs/virtuoso/patches/musl-page_size.patch @@ -0,0 +1,16 @@ +Source: @pullmoll +Upstream: no +Reason: Musl libc already defines PAGE_SIZE + +--- libsrc/Dk/tlsf.h 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Dk/tlsf.h 2020-01-27 15:53:35.498205916 +0100 +@@ -159,7 +159,9 @@ + + #define DEFAULT_AREA_SIZE (1024*10) + ++#if defined(__GLIBC__) + #define PAGE_SIZE (getpagesize()) ++#endif + + #ifndef WIN32 + #ifdef USE_PRINTF diff --git a/srcpkgs/virtuoso/patches/musl-wchar_t.patch b/srcpkgs/virtuoso/patches/musl-wchar_t.patch deleted file mode 100644 index 0e4dcd2e3d..0000000000 --- a/srcpkgs/virtuoso/patches/musl-wchar_t.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libsrc/odbcsdk/include/sqltypes.h 2013-12-09 13:28:32.000000000 +0100 -+++ libsrc/odbcsdk/include/sqltypes.h 2020-01-27 00:16:39.381042209 +0100 -@@ -393,6 +393,7 @@ - defined(_WCHAR_T) || \ - defined(_WCHAR_T_DEFINED) || \ - defined(_WCHAR_T_DECLARED) || \ -+ defined(__DEFINED_wchar_t) || \ - defined(_BSD_WCHAR_T_DEFINED_) - typedef wchar_t SQLWCHAR; - # else diff --git a/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos_c.diff b/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos_c.diff deleted file mode 100644 index b820b61a3c..0000000000 --- a/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos_c.diff +++ /dev/null @@ -1,134 +0,0 @@ -$OpenBSD: patch-libsrc_Wi_xmlenc_algos_c,v 1.1 2014/04/15 11:25:42 naddy Exp $ ---- libsrc/Wi/xmlenc_algos.c.orig Fri Mar 23 13:28:31 2012 -+++ libsrc/Wi/xmlenc_algos.c Tue Apr 15 00:27:50 2014 -@@ -1162,10 +1162,10 @@ dsig_hmac_sha256_digest (dk_session_t * ses_in, long l - switch (key->xek_type) - { - case DSIG_KEY_3DES: -- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock)); -- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock)); -- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock)); -- key_len = 3 * sizeof (des_cblock); -+ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock)); -+ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock)); -+ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock)); -+ key_len = 3 * sizeof (DES_cblock); - break; - #ifdef AES_ENC_ENABLE - case DSIG_KEY_AES: -@@ -1234,10 +1234,10 @@ dsig_hmac_sha256_verify (dk_session_t * ses_in, long l - switch (key->xek_type) - { - case DSIG_KEY_3DES: -- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock)); -- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock)); -- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock)); -- key_len = 3 * sizeof (des_cblock); -+ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock)); -+ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock)); -+ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock)); -+ key_len = 3 * sizeof (DES_cblock); - break; - #ifdef AES_ENC_ENABLE - case DSIG_KEY_AES: -@@ -1599,10 +1599,10 @@ dsig_hmac_sha1_digest (dk_session_t * ses_in, long len - switch (key->xek_type) - { - case DSIG_KEY_3DES: -- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock)); -- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock)); -- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock)); -- key_len = 3 * sizeof (des_cblock); -+ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock)); -+ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock)); -+ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock)); -+ key_len = 3 * sizeof (DES_cblock); - break; - #ifdef AES_ENC_ENABLE - case DSIG_KEY_AES: -@@ -1671,10 +1671,10 @@ dsig_hmac_sha1_verify (dk_session_t * ses_in, long len - switch (key->xek_type) - { - case DSIG_KEY_3DES: -- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock)); -- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock)); -- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock)); -- key_len = 3 * sizeof (des_cblock); -+ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock)); -+ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock)); -+ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock)); -+ key_len = 3 * sizeof (DES_cblock); - break; - #ifdef AES_ENC_ENABLE - case DSIG_KEY_AES: -@@ -2240,13 +2240,13 @@ int xenc_des3_encryptor (dk_session_t * ses_in, long s - } - - -- des_ede3_cbc_encrypt ((const unsigned char *)buf, -+ DES_ede3_cbc_encrypt ((const unsigned char *)buf, - (unsigned char *)out_buf, - (long)DES_BLOCK_LEN, -- key->ki.triple_des.ks1, -- key->ki.triple_des.ks2, -- key->ki.triple_des.ks3, -- (des_cblock*) _iv, -+ &key->ki.triple_des.ks1, -+ &key->ki.triple_des.ks2, -+ &key->ki.triple_des.ks3, -+ (DES_cblock*) _iv, - DES_ENCRYPT); - total_blocks++; - -@@ -2310,7 +2310,7 @@ int xenc_des3_decryptor (dk_session_t * ses_in_base64, - char *text, *text_beg; - dk_session_t *ses_in; - long text_len; -- des_cblock iv; -+ DES_cblock iv; - - if (!seslen) - return 0; -@@ -2352,12 +2352,12 @@ int xenc_des3_decryptor (dk_session_t * ses_in_base64, - END_READ_FAIL (ses_in); - for (;!failed;) - { -- des_ede3_cbc_encrypt ((const unsigned char *)buf, -+ DES_ede3_cbc_encrypt ((const unsigned char *)buf, - (unsigned char *)out_buf, - (long)DES_BLOCK_LEN, -- key->ki.triple_des.ks1, -- key->ki.triple_des.ks2, -- key->ki.triple_des.ks3, -+ &key->ki.triple_des.ks1, -+ &key->ki.triple_des.ks2, -+ &key->ki.triple_des.ks3, - &iv, - DES_DECRYPT); - CATCH_READ_FAIL (ses_in) -@@ -2404,7 +2404,7 @@ int xenc_des3_decryptor (dk_session_t * ses_in_base64, - char out_buf[DES_BLOCK_LEN + 1]; - char *text, *text_beg; - long text_len; -- des_cblock iv; -+ DES_cblock iv; - int blocks; - - if (!seslen) -@@ -2440,12 +2440,12 @@ int xenc_des3_decryptor (dk_session_t * ses_in_base64, - memcpy (buf, text, DES_BLOCK_LEN); - text += DES_BLOCK_LEN; - -- des_ede3_cbc_encrypt ((const unsigned char *)buf, -+ DES_ede3_cbc_encrypt ((const unsigned char *)buf, - (unsigned char *)out_buf, - (long)DES_BLOCK_LEN, -- key->ki.triple_des.ks1, -- key->ki.triple_des.ks2, -- key->ki.triple_des.ks3, -+ &key->ki.triple_des.ks1, -+ &key->ki.triple_des.ks2, -+ &key->ki.triple_des.ks3, - &iv, - DES_DECRYPT); - diff --git a/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_c.diff b/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_c.diff deleted file mode 100644 index bc15c37926..0000000000 --- a/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_c.diff +++ /dev/null @@ -1,182 +0,0 @@ -$OpenBSD: patch-libsrc_Wi_xmlenc_c,v 1.1 2014/04/15 11:25:42 naddy Exp $ ---- libsrc/Wi/xmlenc.c.orig Wed Aug 1 22:54:31 2012 -+++ libsrc/Wi/xmlenc.c Tue Apr 15 00:34:07 2014 -@@ -1762,7 +1762,7 @@ xenc_key_len_get (const char * algo) - if (!algo) - len = 0; - else if (!strcmp (algo, XENC_TRIPLEDES_ALGO)) -- len = 3 * sizeof (des_cblock); -+ len = 3 * sizeof (DES_cblock); - else if (!strcmp (algo, XENC_AES128_ALGO)) - len = 128; - else if (!strcmp (algo, XENC_AES256_ALGO)) -@@ -1814,7 +1814,7 @@ xenc_key_create_from_utok (u_tok_t * utok, caddr_t see - { - xenc_key_t * key; - P_SHA1_CTX * psha1; -- des_cblock _key[5]; -+ DES_cblock _key[5]; - int key_len = 0; - caddr_t * utok_opts = (caddr_t *) xenc_get_option (ctx->wc_opts, "UsernameToken", NULL); - caddr_t key_algo = xenc_get_option (utok_opts, "keyAlgorithm", XENC_TRIPLEDES_ALGO); -@@ -1843,13 +1843,13 @@ xenc_key_create_from_utok (u_tok_t * utok, caddr_t see - memset (&key->ki.triple_des.ks3, 0, sizeof (key->ki.triple_des.ks3)); - memset (&key->ki.triple_des.iv, 0, sizeof (key->ki.triple_des.iv)); - -- des_set_key_unchecked(&_key[0], key->ki.triple_des.ks1); -- des_set_key_unchecked(&_key[1], key->ki.triple_des.ks2); -- des_set_key_unchecked(&_key[2], key->ki.triple_des.ks3); -+ DES_set_key_unchecked(&_key[0], &key->ki.triple_des.ks1); -+ DES_set_key_unchecked(&_key[1], &key->ki.triple_des.ks2); -+ DES_set_key_unchecked(&_key[2], &key->ki.triple_des.ks3); - -- memcpy (key->ki.triple_des.k1, &_key[0], sizeof (des_cblock)); -- memcpy (key->ki.triple_des.k2, &_key[1], sizeof (des_cblock)); -- memcpy (key->ki.triple_des.k3, &_key[2], sizeof (des_cblock)); -+ memcpy (key->ki.triple_des.k1, &_key[0], sizeof (DES_cblock)); -+ memcpy (key->ki.triple_des.k2, &_key[1], sizeof (DES_cblock)); -+ memcpy (key->ki.triple_des.k3, &_key[2], sizeof (DES_cblock)); - break; - } - #ifdef AES_ENC_ENABLE -@@ -2073,7 +2073,7 @@ static - int __xenc_key_3des_init (char *name, char *pwd, int lock) - { - char _key[KEYSIZB+1]; -- des_cblock key[3]; -+ DES_cblock key[3]; - - xenc_key_t * pkey = xenc_get_key_by_name (name, lock); - if (NULL == pkey) -@@ -2093,13 +2093,13 @@ int __xenc_key_3des_init (char *name, char *pwd, int l - (unsigned char *)_key, - strlen(_key), 1, (unsigned char*) &key[0], pkey->ki.triple_des.iv); - -- des_set_key_unchecked(&key[0], pkey->ki.triple_des.ks1); -- des_set_key_unchecked(&key[1], pkey->ki.triple_des.ks2); -- des_set_key_unchecked(&key[2], pkey->ki.triple_des.ks3); -+ DES_set_key_unchecked(&key[0], &pkey->ki.triple_des.ks1); -+ DES_set_key_unchecked(&key[1], &pkey->ki.triple_des.ks2); -+ DES_set_key_unchecked(&key[2], &pkey->ki.triple_des.ks3); - -- memcpy (pkey->ki.triple_des.k1, &key[0], sizeof (des_cblock)); -- memcpy (pkey->ki.triple_des.k2, &key[1], sizeof (des_cblock)); -- memcpy (pkey->ki.triple_des.k3, &key[2], sizeof (des_cblock)); -+ memcpy (pkey->ki.triple_des.k1, &key[0], sizeof (DES_cblock)); -+ memcpy (pkey->ki.triple_des.k2, &key[1], sizeof (DES_cblock)); -+ memcpy (pkey->ki.triple_des.k3, &key[2], sizeof (DES_cblock)); - - xenc_store_key (pkey, lock); - return 0; -@@ -2107,13 +2107,13 @@ int __xenc_key_3des_init (char *name, char *pwd, int l - - void xenc_key_3des_init (xenc_key_t * pkey, unsigned char * k1, unsigned char * k2, unsigned char * k3) - { -- memcpy (pkey->ki.triple_des.k1, k1, sizeof (des_cblock)); -- memcpy (pkey->ki.triple_des.k2, k2, sizeof (des_cblock)); -- memcpy (pkey->ki.triple_des.k3, k3, sizeof (des_cblock)); -+ memcpy (pkey->ki.triple_des.k1, k1, sizeof (DES_cblock)); -+ memcpy (pkey->ki.triple_des.k2, k2, sizeof (DES_cblock)); -+ memcpy (pkey->ki.triple_des.k3, k3, sizeof (DES_cblock)); - -- des_set_key_unchecked((const_des_cblock*) k1, pkey->ki.triple_des.ks1); -- des_set_key_unchecked((const_des_cblock*) k2, pkey->ki.triple_des.ks2); -- des_set_key_unchecked((const_des_cblock*) k3, pkey->ki.triple_des.ks3); -+ DES_set_key_unchecked((const_DES_cblock*) k1, &pkey->ki.triple_des.ks1); -+ DES_set_key_unchecked((const_DES_cblock*) k2, &pkey->ki.triple_des.ks2); -+ DES_set_key_unchecked((const_DES_cblock*) k3, &pkey->ki.triple_des.ks3); - } - - -@@ -2145,20 +2145,20 @@ caddr_t bif_xenc_key_3des_rand_create (caddr_t * qst, - { - caddr_t name = bif_key_name_arg (qst, args, 0, "xenc_key_3DES_rand_create"); - xenc_key_t * k = 0; -- des_cblock k1; -- des_cblock k2; -- des_cblock k3; -- des_key_schedule ks1; -- des_key_schedule ks2; -- des_key_schedule ks3; -+ DES_cblock k1; -+ DES_cblock k2; -+ DES_cblock k3; -+ DES_key_schedule ks1; -+ DES_key_schedule ks2; -+ DES_key_schedule ks3; - -- des_random_key (&k1); -- des_random_key (&k2); -- des_random_key (&k3); -+ DES_random_key (&k1); -+ DES_random_key (&k2); -+ DES_random_key (&k3); - -- if ( (des_set_key_checked (&k1, ks1) < 0) || -- (des_set_key_checked (&k2, ks2) < 0) || -- (des_set_key_checked (&k3, ks3) < 0) ) -+ if ( (DES_set_key_checked (&k1, &ks1) < 0) || -+ (DES_set_key_checked (&k2, &ks2) < 0) || -+ (DES_set_key_checked (&k3, &ks3) < 0) ) - GPF_T; /* parity check failed, library error - could not check result of it's own work */ - - mutex_enter (xenc_keys_mtx); -@@ -2169,13 +2169,13 @@ caddr_t bif_xenc_key_3des_rand_create (caddr_t * qst, - mutex_leave (xenc_keys_mtx); - SQLR_NEW_KEY_EXIST_ERROR (name); - } -- memcpy (&k->ki.triple_des.k1, &k1, sizeof (des_cblock)); -- memcpy (&k->ki.triple_des.k2, &k2, sizeof (des_cblock)); -- memcpy (&k->ki.triple_des.k3, &k3, sizeof (des_cblock)); -+ memcpy (&k->ki.triple_des.k1, &k1, sizeof (DES_cblock)); -+ memcpy (&k->ki.triple_des.k2, &k2, sizeof (DES_cblock)); -+ memcpy (&k->ki.triple_des.k3, &k3, sizeof (DES_cblock)); - -- memcpy (&k->ki.triple_des.ks1, &ks1, sizeof (des_key_schedule)); -- memcpy (&k->ki.triple_des.ks2, &ks2, sizeof (des_key_schedule)); -- memcpy (&k->ki.triple_des.ks3, &ks3, sizeof (des_key_schedule)); -+ memcpy (&k->ki.triple_des.ks1, &ks1, sizeof (DES_key_schedule)); -+ memcpy (&k->ki.triple_des.ks2, &ks2, sizeof (DES_key_schedule)); -+ memcpy (&k->ki.triple_des.ks3, &ks3, sizeof (DES_key_schedule)); - - mutex_leave (xenc_keys_mtx); - -@@ -2565,9 +2565,9 @@ caddr_t bif_xenc_key_serialize (caddr_t * qst, caddr_t - - if (k->xek_type == DSIG_KEY_3DES) - { -- memcpy (in_buf, k->ki.triple_des.k1, sizeof (des_cblock)); -- memcpy (in_buf + sizeof (des_cblock), k->ki.triple_des.k2, sizeof (des_cblock)); -- memcpy (in_buf + 2*sizeof (des_cblock), k->ki.triple_des.k3, sizeof (des_cblock)); -+ memcpy (in_buf, k->ki.triple_des.k1, sizeof (DES_cblock)); -+ memcpy (in_buf + sizeof (DES_cblock), k->ki.triple_des.k2, sizeof (DES_cblock)); -+ memcpy (in_buf + 2*sizeof (DES_cblock), k->ki.triple_des.k3, sizeof (DES_cblock)); - } - else if (k->xek_type == DSIG_KEY_RSA) - { -@@ -5980,7 +5980,7 @@ void xenc_kt_test () - xenc_des3_decryptor (out, strses_length (out), in, key, &t); - key_data_2 = strses_string (in); - -- if (memcmp (key_data, key_data_2, 3 * sizeof (des_cblock))) -+ if (memcmp (key_data, key_data_2, 3 * sizeof (DES_cblock))) - xenc_assert (0); - dk_free_box (key_data_2); - dk_free_box (key_data); -@@ -5988,13 +5988,13 @@ void xenc_kt_test () - new_key = xenc_build_encrypted_key ("virtdev_test_rest", in, XENC_TRIPLEDES_ALGO, &t); - - if (memcmp (new_key->ki.triple_des.k1, -- key->ki.triple_des.k1, sizeof (des_cblock))) -+ key->ki.triple_des.k1, sizeof (DES_cblock))) - xenc_assert (0); - if (memcmp (new_key->ki.triple_des.k2, -- key->ki.triple_des.k2, sizeof (des_cblock))) -+ key->ki.triple_des.k2, sizeof (DES_cblock))) - xenc_assert (0); - if (memcmp (new_key->ki.triple_des.k3, -- key->ki.triple_des.k3, sizeof (des_cblock))) -+ key->ki.triple_des.k3, sizeof (DES_cblock))) - xenc_assert (0); - - strses_flush (in); diff --git a/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_h.diff b/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_h.diff deleted file mode 100644 index 1a96bf9e2b..0000000000 --- a/srcpkgs/virtuoso/patches/patch-libsrc_Wi_xmlenc_h.diff +++ /dev/null @@ -1,26 +0,0 @@ -$OpenBSD: patch-libsrc_Wi_xmlenc_h,v 1.1 2014/04/15 11:25:42 naddy Exp $ ---- libsrc/Wi/xmlenc.h.orig Fri Mar 23 13:28:31 2012 -+++ libsrc/Wi/xmlenc.h Tue Apr 15 00:16:35 2014 -@@ -312,15 +312,15 @@ struct xenc_key_s - } dsa; - struct dsig_des3_keyinfo_s - { -- des_cblock k1; -- des_cblock k2; -- des_cblock k3; -+ DES_cblock k1; -+ DES_cblock k2; -+ DES_cblock k3; - -- des_key_schedule ks1;/* key schedule */ -- des_key_schedule ks2;/* key schedule (for ede) */ -- des_key_schedule ks3;/* key schedule (for ede3) */ -+ DES_key_schedule ks1;/* key schedule */ -+ DES_key_schedule ks2;/* key schedule (for ede) */ -+ DES_key_schedule ks3;/* key schedule (for ede3) */ - -- des_cblock iv; -+ DES_cblock iv; - #define PKCS5_SALT_LEN 8 - unsigned char salt[PKCS5_SALT_LEN]; - } triple_des; diff --git a/srcpkgs/virtuoso/patches/remove-openssl-version-check.patch b/srcpkgs/virtuoso/patches/remove-openssl-version-check.patch new file mode 100644 index 0000000000..76c279b6f9 --- /dev/null +++ b/srcpkgs/virtuoso/patches/remove-openssl-version-check.patch @@ -0,0 +1,48 @@ +Source: @pullmoll +Upstream: no +Reason: Enable subdir-objects and strip openssl version check which fails for libressl + +--- configure.ac 2018-08-16 01:06:21.000000000 +0200 ++++ configure.ac 2020-01-27 15:02:36.946922663 +0100 +@@ -58,7 +58,7 @@ + dnl AM_INIT_AUTOMAKE([1.8]) + dnl AM_INIT_AUTOMAKE([1.9 tar-ustar]) + dnl +-AM_INIT_AUTOMAKE([1.9 tar-ustar]) ++AM_INIT_AUTOMAKE([1.9 tar-ustar subdir-objects]) + + AM_MAINTAINER_MODE + +@@ -867,32 +867,6 @@ + ;; + esac + +-AC_MSG_CHECKING([OpenSSL version]) +-AC_TRY_COMPILE([ +-#include +-], [ +-#if OPENSSL_VERSION_NUMBER < 0x0090801fL +-#error OpenSSL version too old +-#endif +- ],[ +- AC_MSG_RESULT([>= 0.9.8e]) +- ],[ +- AC_MSG_ERROR([OpenSSL version 0.9.8e or greater is required.]) +- ]) +- +-AC_MSG_CHECKING([OpenSSL version]) +-AC_TRY_COMPILE([ +-#include +-],[ +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL +-#error OpenSSL version too new +-#endif +- ],[ +- AC_MSG_RESULT([< 1.1.0]) +- ],[ +- AC_MSG_ERROR([OpenSSL version 1.1.0 or greater is currently not supported.]) +- ]) +- + AC_MSG_CHECKING([usability of the OpenSSL header files and library in ${openssl_dir}]) + AC_TRY_RUN([ + #include diff --git a/srcpkgs/virtuoso/patches/ssl-connect-state.patch b/srcpkgs/virtuoso/patches/ssl-connect-state.patch new file mode 100644 index 0000000000..75d955385b --- /dev/null +++ b/srcpkgs/virtuoso/patches/ssl-connect-state.patch @@ -0,0 +1,15 @@ +Source: @pullmoll +Upstream: no +Reason: Use the proper interface of libressl which does not expose the internal structure of SSL + +--- libsrc/Wi/http.c 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Wi/http.c 2020-01-27 15:09:53.284905265 +0100 +@@ -9949,7 +9949,7 @@ + cli_ssl_get_error_string (err_buf, sizeof (err_buf)); + sqlr_new_error ("42000", "..002", "SSL_do_handshake failed %s", err_buf); + } +- ssl->state = SSL_ST_ACCEPT; ++ SSL_set_accept_state (ssl); + while (SSL_renegotiate_pending (ssl) && ctr < 1000) + { + timeout_t to = { 0, 1000 }; diff --git a/srcpkgs/virtuoso/patches/use-mkstemp.patch b/srcpkgs/virtuoso/patches/use-mkstemp.patch new file mode 100644 index 0000000000..bd560b1282 --- /dev/null +++ b/srcpkgs/virtuoso/patches/use-mkstemp.patch @@ -0,0 +1,18 @@ +Source: @pullmoll +Upstream: no +Reason: Avoid mktemp(3) because "Never use this function; see BUGS." + +--- libsrc/Dk/Dksesstr.c 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Dk/Dksesstr.c 2020-01-27 15:22:00.953876251 +0100 +@@ -298,8 +298,10 @@ + if (!ses2->ses_file->ses_max_blocks_in_mem) + { + char fname[PATH_MAX + 1]; ++ int fd; + snprintf (fname, sizeof (fname), "%s/sesXXXXXX", ses_tmp_dir); +- mktemp (fname); ++ fd = mkstemp (fname); ++ close (fd); + + #if defined (WIN32) + # define OPEN_FLAGS O_CREAT | O_RDWR | O_BINARY | O_EXCL | O_TEMPORARY diff --git a/srcpkgs/virtuoso/patches/yacc-pure-parser.patch b/srcpkgs/virtuoso/patches/yacc-pure-parser.patch new file mode 100644 index 0000000000..3d2141a9ba --- /dev/null +++ b/srcpkgs/virtuoso/patches/yacc-pure-parser.patch @@ -0,0 +1,59 @@ +Source: @pullmoll +Upstream: no +Reason: In yacc mode %pure-parser emits a warning to use %define api.pure instead + +--- libsrc/Wi/nquad_p.y 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Wi/nquad_p.y 2020-01-27 15:58:33.086194051 +0100 +@@ -21,7 +21,7 @@ + * + */ + +-%pure-parser ++%define api.pure + %parse-param {ttlp_t * ttlp_arg} + %parse-param {yyscan_t yyscanner} + %lex-param {ttlp_t * ttlp_arg} +--- libsrc/Wi/sparql_p.y 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Wi/sparql_p.y 2020-01-27 15:58:32.947194056 +0100 +@@ -36,7 +36,7 @@ + + Whitespaces in all other places, including two whitespaces after "::=" in BNF comments */ + +-%pure-parser ++%define api.pure + %parse-param {sparp_t * sparp_arg} + %lex-param {sparp_t * sparp_arg} + %expect 14 +--- libsrc/Wi/sql3.y 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Wi/sql3.y 2020-01-27 15:58:33.013194054 +0100 +@@ -25,7 +25,7 @@ + * + */ + +-%pure-parser ++%define api.pure + %parse-param {yyscan_t scanner} + %lex-param {yyscan_t scanner} + /*%parse-param {sql_comp_context_t* scs_arg}*/ +--- libsrc/Wi/turtle_p.y 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Wi/turtle_p.y 2020-01-27 15:58:33.083194051 +0100 +@@ -21,7 +21,7 @@ + * + */ + +-%pure-parser ++%define api.pure + %parse-param {ttlp_t * ttlp_arg} + %parse-param {yyscan_t yyscanner} + %lex-param {ttlp_t * ttlp_arg} +--- libsrc/Wi/xpathp.y 2018-08-16 01:06:21.000000000 +0200 ++++ libsrc/Wi/xpathp.y 2020-01-27 15:58:33.086194051 +0100 +@@ -25,7 +25,7 @@ + * + */ + +-%pure-parser ++%define api.pure + %parse-param {xpp_t * xpp_arg} + %lex-param {xpp_t * xpp_arg} + diff --git a/srcpkgs/virtuoso/template b/srcpkgs/virtuoso/template index c202966772..2b9dd75d58 100644 --- a/srcpkgs/virtuoso/template +++ b/srcpkgs/virtuoso/template @@ -1,27 +1,36 @@ # Template file for 'virtuoso' pkgname=virtuoso -version=6.1.8 -revision=16 +version=7.2.5.1 +revision=1 +archs="x86_64* aarch64* ppc64*" wrksrc="${pkgname}-opensource-${version}" build_style=gnu-configure -hostmakedepends="flex gperf net-tools" +configure_args="--enable-static" +hostmakedepends="automake libtool flex gperf net-tools" makedepends="libressl-devel libldap-devel readline-devel libxml2-devel mit-krb5-devel" short_desc="Scalable cross-platform server of virtuoso" -maintainer="Orphaned " +maintainer="Jürgen Buchmüller " license="GPL-2" homepage="http://virtuoso.openlinksw.com/wiki/main/Main/" -distfiles="${SOURCEFORGE_SITE}/${pkgname}/${pkgname}-opensource-${version}.tar.gz" -checksum=08d05c6165117de0370e81aa89ddab618e645b5110be301f72e6ffea7044ca50 +distfiles="https://github.com/openlink/virtuoso-opensource/archive/v${version}.tar.gz" +checksum=3e4807e94098b8265f8cf00867d1215bb1e9d0d274878e59a420742d2de471c2 # cannot execute binary file: Exec format error nocross="https://build.voidlinux.org/builders/armv6l_builder/builds/29187/steps/shell_3/logs/stdio" -disable_parallel_build=yes case "$XBPS_TARGET_MACHINE" in - *-musl) makedepends+=" libexecinfo-devel" - LDFLAGS+=" -lexecinfo" - ;; + *-musl) makedepends+=" libexecinfo-devel"; LDFLAGS+=" -lexecinfo";; esac +# Reduce amount of warnings spamming the log +CFLAGS="-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable" +CFLAGS+=" -Wno-incompatible-pointer-types -Wno-maybe-uninitialized" +CFLAGS+=" -Wno-pointer-sign -Wno-pointer-compare -Wno-format-truncation" +CFLAGS+=" -Wno-format-overflow -Wno-stringop-truncation -Wno-misleading-indentation" + +pre_configure() { + NOCONFIGURE=1 autoreconf -fi +} + do_configure() { ./configure ${configure_args} --without-internal-zlib --with-readline \ --with-layout=debian \ @@ -38,7 +47,7 @@ post_install() { rm ${DESTDIR}/usr/lib/virtodbcu.{a,so} rm ${DESTDIR}/usr/lib/virtodbcu_r.{a,so} # remove static libs. - rm ${DESTDIR}/usr/lib/virtuoso/hosting/*.a + rm ${DESTDIR}/usr/lib/virtuoso-opensource-${version%%.*}/hosting/*.a } virtuoso-base_package() {