From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-lang/erlang/files/18.2.1-wx3.0.patch | 113 +++++++++++++++++++++ dev-lang/erlang/files/50erlang-gentoo.el | 5 + dev-lang/erlang/files/epmd.init | 19 ++++ dev-lang/erlang/files/epmd.service | 9 ++ .../erlang/files/erlang-20.2-libressl-2.6.1.patch | 111 ++++++++++++++++++++ .../files/erlang-20.3.2-dont-ignore-LDFLAGS.patch | 42 ++++++++ 6 files changed, 299 insertions(+) create mode 100644 dev-lang/erlang/files/18.2.1-wx3.0.patch create mode 100644 dev-lang/erlang/files/50erlang-gentoo.el create mode 100644 dev-lang/erlang/files/epmd.init create mode 100644 dev-lang/erlang/files/epmd.service create mode 100644 dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch create mode 100644 dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch (limited to 'dev-lang/erlang/files') diff --git a/dev-lang/erlang/files/18.2.1-wx3.0.patch b/dev-lang/erlang/files/18.2.1-wx3.0.patch new file mode 100644 index 000000000000..aada0d9eaa1e --- /dev/null +++ b/dev-lang/erlang/files/18.2.1-wx3.0.patch @@ -0,0 +1,113 @@ +Description: Fix constants for wxwidgets3.0 + The values of wx constants can change between stable release series (and + some have between 2.8 and 3.0), but erlang seems to hardcode these values. +Author: Olly Betts +Bug-Debian: https://bugs.debian.org/766790 +Forwarded: no +Last-Update: 2014-11-25 + +--- a/lib/wx/include/wx.hrl ++++ b/lib/wx/include/wx.hrl +@@ -767,7 +767,7 @@ + % From "checkbox.h" + -define(wxCHK_ALLOW_3RD_STATE_FOR_USER, 8192). + -define(wxCHK_3STATE, 4096). +--define(wxCHK_2STATE, 0). ++-define(wxCHK_2STATE, 16384). + % From "checkbox.h": wxCheckBoxState + -define(wxCHK_UNCHECKED, 0). + -define(wxCHK_CHECKED, 1). +@@ -1014,10 +1014,10 @@ + -define(wxSIZE_AUTO_WIDTH, 1). + -define(wxSETUP, 131072). + -define(wxMORE, 65536). +--define(wxHELP, 32768). +--define(wxRESET, 16384). +--define(wxBACKWARD, 8192). +--define(wxFORWARD, 4096). ++-define(wxHELP, 4096). ++-define(wxRESET, 32768). ++-define(wxBACKWARD, 16384). ++-define(wxFORWARD, 8192). + -define(wxICON_MASK, (16#00000100 bor 16#00000200 bor 16#00000400 bor 16#00000800)). + -define(wxICON_ASTERISK, ?wxICON_INFORMATION). + -define(wxICON_STOP, ?wxICON_HAND). +@@ -1049,8 +1049,8 @@ + -define(wxTC_TOP, 0). + -define(wxTC_FIXEDWIDTH, 32). + -define(wxTC_RIGHTJUSTIFY, 16). +--define(wxSP_WRAP, 8192). +--define(wxSP_ARROW_KEYS, 4096). ++-define(wxSP_WRAP, 32768). ++-define(wxSP_ARROW_KEYS, 16384). + -define(wxSP_VERTICAL, ?wxVERTICAL). + -define(wxSP_HORIZONTAL, ?wxHORIZONTAL). + -define(wxSB_VERTICAL, ?wxVERTICAL). +@@ -1071,8 +1071,8 @@ + -define(wxCB_SIMPLE, 4). + -define(wxLB_INT_HEIGHT, 2048). + -define(wxLB_HSCROLL, ?wxHSCROLL). +--define(wxLB_ALWAYS_SB, 1024). +--define(wxLB_NEEDED_SB, 512). ++-define(wxLB_ALWAYS_SB, 512). ++-define(wxLB_NEEDED_SB, 0). + -define(wxLB_OWNERDRAW, 256). + -define(wxLB_EXTENDED, 128). + -define(wxLB_MULTIPLE, 64). +@@ -1548,7 +1548,7 @@ + -define(wxUPDATE_UI_FROMIDLE, 2). + % From "dialog.h" + -define(wxDEFAULT_DIALOG_STYLE, (?wxCAPTION bor ?wxSYSTEM_MENU bor ?wxCLOSE_BOX)). +--define(wxDIALOG_NO_PARENT, 1). ++-define(wxDIALOG_NO_PARENT, 32). + % From "dirctrlg.h" + -define(wxDIRCTRL_DIR_ONLY, 16). + -define(wxDIRCTRL_SELECT_FIRST, 32). +@@ -3728,7 +3728,7 @@ + -define(wxSTC_KEY_LEFT, 302). + -define(wxSTC_KEY_UP, 301). + -define(wxSTC_KEY_DOWN, 300). +--define(wxSTC_MODEVENTMASKALL, 8191). ++-define(wxSTC_MODEVENTMASKALL, 1048575). + -define(wxSTC_MULTILINEUNDOREDO, 4096). + -define(wxSTC_MOD_BEFOREDELETE, 2048). + -define(wxSTC_MOD_BEFOREINSERT, 1024). +@@ -3810,7 +3810,7 @@ + -define(wxSTC_INDIC_TT, 2). + -define(wxSTC_INDIC_SQUIGGLE, 1). + -define(wxSTC_INDIC_PLAIN, 0). +--define(wxSTC_INDIC_MAX, 7). ++-define(wxSTC_INDIC_MAX, 31). + -define(wxSTC_CASE_LOWER, 2). + -define(wxSTC_CASE_UPPER, 1). + -define(wxSTC_CASE_MIXED, 0). +@@ -3835,7 +3835,7 @@ + -define(wxSTC_CHARSET_BALTIC, 186). + -define(wxSTC_CHARSET_DEFAULT, 1). + -define(wxSTC_CHARSET_ANSI, 0). +--define(wxSTC_STYLE_MAX, 127). ++-define(wxSTC_STYLE_MAX, 255). + -define(wxSTC_STYLE_LASTPREDEFINED, 39). + -define(wxSTC_STYLE_CALLTIP, 38). + -define(wxSTC_STYLE_INDENTGUIDE, 37). +@@ -3934,9 +3934,9 @@ + -define(wxTE_PROCESS_TAB, 64). + -define(wxTE_MULTILINE, 32). + -define(wxTE_READONLY, 16). +--define(wxTE_AUTO_SCROLL, 8). ++-define(wxTE_AUTO_SCROLL, 0). + -define(wxTE_NO_VSCROLL, 2). +--define(wxHAS_TEXT_WINDOW_STREAM, 0). ++-define(wxHAS_TEXT_WINDOW_STREAM, 1). + % From "textctrl.h": wxTextAttrAlignment + -define(wxTEXT_ALIGNMENT_DEFAULT, 0). + -define(wxTEXT_ALIGNMENT_LEFT, 1). +@@ -3986,7 +3986,7 @@ + -define(wxDEFAULT_FRAME_STYLE, (?wxSYSTEM_MENU bor ?wxRESIZE_BORDER bor ?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX bor ?wxCAPTION bor ?wxCLIP_CHILDREN)). + -define(wxRESIZE_BORDER, 64). + -define(wxTINY_CAPTION_VERT, 128). +--define(wxTINY_CAPTION_HORIZ, 256). ++-define(wxTINY_CAPTION_HORIZ, 128). + -define(wxMAXIMIZE_BOX, 512). + -define(wxMINIMIZE_BOX, 1024). + -define(wxSYSTEM_MENU, 2048). diff --git a/dev-lang/erlang/files/50erlang-gentoo.el b/dev-lang/erlang/files/50erlang-gentoo.el new file mode 100644 index 000000000000..db1ae7636f1d --- /dev/null +++ b/dev-lang/erlang/files/50erlang-gentoo.el @@ -0,0 +1,5 @@ +;;; erlang site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(require 'erlang-start) +(setq erlang-root-dir "/usr/share") diff --git a/dev-lang/erlang/files/epmd.init b/dev-lang/erlang/files/epmd.init new file mode 100644 index 000000000000..9b3b9e2ad72c --- /dev/null +++ b/dev-lang/erlang/files/epmd.init @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Erlang Public License 1.1 + +depend() { + need net +} + +start() { + ebegin "Starting Erlang Port Mapper Daemon" + start-stop-daemon --start --quiet --user nobody --group nobody --exec /usr/bin/epmd -- -daemon + eend $? +} + +stop() { + ebegin "Stopping Erlang Port Mapper Daemon" + /usr/bin/epmd -kill >/dev/null + eend $? +} diff --git a/dev-lang/erlang/files/epmd.service b/dev-lang/erlang/files/epmd.service new file mode 100644 index 000000000000..57382ff36a40 --- /dev/null +++ b/dev-lang/erlang/files/epmd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Erlang Portmapper Daemon +Wants=network.target + +[Service] +ExecStart=/usr/bin/epmd + +[Install] +WantedBy=multi-user.target diff --git a/dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch b/dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch new file mode 100644 index 000000000000..89f8fc8b323d --- /dev/null +++ b/dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch @@ -0,0 +1,111 @@ +From b5b6c7695c5377b5aa474d8620df7c3e9a1ba629 Mon Sep 17 00:00:00 2001 +From: Hans Nilsson +Date: Thu, 11 Jan 2018 15:29:23 +0100 +Subject: [PATCH] crypto: Disable RSA sslv23 padding for LibreSSL >= 2.6.1 + +Not supported in newer LibreSSL. +--- + lib/crypto/c_src/crypto.c | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c +index 6957d25774..9a3ea07c97 100644 +--- a/lib/crypto/c_src/crypto.c ++++ b/lib/crypto/c_src/crypto.c +@@ -179,6 +179,12 @@ + # define HAVE_ECB_IVEC_BUG + #endif + ++#define HAVE_RSA_SSLV23_PADDING ++#if defined(HAS_LIBRESSL) \ ++ && LIBRESSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION_PLAIN(2,6,1) ++# undef HAVE_RSA_SSLV23_PADDING ++#endif ++ + #if defined(HAVE_CMAC) + #include + #endif +@@ -659,7 +665,9 @@ static ERL_NIF_TERM atom_rsa_oaep_md; + static ERL_NIF_TERM atom_rsa_pad; /* backwards compatibility */ + static ERL_NIF_TERM atom_rsa_padding; + static ERL_NIF_TERM atom_rsa_pkcs1_pss_padding; ++#ifdef HAVE_RSA_SSLV23_PADDING + static ERL_NIF_TERM atom_rsa_sslv23_padding; ++#endif + static ERL_NIF_TERM atom_rsa_x931_padding; + static ERL_NIF_TERM atom_rsa_pss_saltlen; + static ERL_NIF_TERM atom_sha224; +@@ -1064,7 +1072,9 @@ static int initialize(ErlNifEnv* env, ERL_NIF_TERM load_info) + atom_rsa_pad = enif_make_atom(env,"rsa_pad"); /* backwards compatibility */ + atom_rsa_padding = enif_make_atom(env,"rsa_padding"); + atom_rsa_pkcs1_pss_padding = enif_make_atom(env,"rsa_pkcs1_pss_padding"); ++#ifdef HAVE_RSA_SSLV23_PADDING + atom_rsa_sslv23_padding = enif_make_atom(env,"rsa_sslv23_padding"); ++#endif + atom_rsa_x931_padding = enif_make_atom(env,"rsa_x931_padding"); + atom_rsa_pss_saltlen = enif_make_atom(env,"rsa_pss_saltlen"); + atom_sha224 = enif_make_atom(env,"sha224"); +@@ -4449,8 +4459,10 @@ static int get_pkey_crypt_options(ErlNifEnv *env, ERL_NIF_TERM algorithm, ERL_NI + opt->rsa_padding = RSA_PKCS1_PADDING; + } else if (tpl_terms[1] == atom_rsa_pkcs1_oaep_padding) { + opt->rsa_padding = RSA_PKCS1_OAEP_PADDING; ++#ifdef HAVE_RSA_SSLV23_PADDING + } else if (tpl_terms[1] == atom_rsa_sslv23_padding) { + opt->rsa_padding = RSA_SSLV23_PADDING; ++#endif + } else if (tpl_terms[1] == atom_rsa_x931_padding) { + opt->rsa_padding = RSA_X931_PADDING; + } else if (tpl_terms[1] == atom_rsa_no_padding) { +@@ -4516,7 +4528,10 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + #endif + PKeyCryptOptions crypt_opt; + ErlNifBinary in_bin, out_bin, tmp_bin; +- size_t outlen, tmplen; ++ size_t outlen; ++#ifdef HAVE_RSA_SSLV23_PADDING ++ size_t tmplen; ++#endif + int is_private = (argv[4] == atom_true), + is_encrypt = (argv[5] == atom_true); + int algo_init = 0; +@@ -4596,6 +4611,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + if (crypt_opt.signature_md != NULL + && EVP_PKEY_CTX_set_signature_md(ctx, crypt_opt.signature_md) <= 0) + goto badarg; ++#ifdef HAVE_RSA_SSLV23_PADDING + if (crypt_opt.rsa_padding == RSA_SSLV23_PADDING) { + if (is_encrypt) { + RSA *rsa = EVP_PKEY_get1_RSA(pkey); +@@ -4607,9 +4623,11 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + in_bin = tmp_bin; + } + if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_NO_PADDING) <= 0) goto badarg; +- } else { ++ } else ++#endif ++ { + if (EVP_PKEY_CTX_set_rsa_padding(ctx, crypt_opt.rsa_padding) <= 0) goto badarg; +- } ++ } + #ifdef HAVE_RSA_OAEP_MD + if (crypt_opt.rsa_padding == RSA_PKCS1_OAEP_PADDING) { + if (crypt_opt.rsa_oaep_md != NULL +@@ -4728,6 +4746,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + #endif + + if ((i > 0) && argv[0] == atom_rsa && !is_encrypt) { ++#ifdef HAVE_RSA_SSLV23_PADDING + if (crypt_opt.rsa_padding == RSA_SSLV23_PADDING) { + RSA *rsa = EVP_PKEY_get1_RSA(pkey); + unsigned char *p; +@@ -4745,6 +4764,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + i = 1; + } + } ++#endif + } + + if (tmp_bin.data != NULL) { +-- +2.16.0 + diff --git a/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch new file mode 100644 index 000000000000..32dd89e0d6c7 --- /dev/null +++ b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch @@ -0,0 +1,42 @@ +From 69043168302ec7c0bcfaa8b1fb56bfae500bd139 Mon Sep 17 00:00:00 2001 +From: Nick Sarnie +Date: Sun, 8 Apr 2018 16:11:55 -0400 +Subject: [PATCH] Don't ignore LDFLAGS + +Bug: https://bugs.gentoo.org/263129 + +Signed-off-by: Nick Sarnie +--- + lib/megaco/src/flex/Makefile.in | 2 +- + lib/odbc/c_src/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index c37ad4d702..400024ca0c 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -66,7 +66,7 @@ endif + CC = $(DED_CC) + CFLAGS_MT = $(CFLAGS) $(DED_THR_DEFS) + LD = $(DED_LD) +-LDFLAGS = $(DED_LDFLAGS) ++LDFLAGS += $(DED_LDFLAGS) + LEX = @LEX@ + LEXLIB = @LEXLIB@ + PERL = @PERL@ +diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in +index 784e73c47e..51c023f710 100644 +--- a/lib/odbc/c_src/Makefile.in ++++ b/lib/odbc/c_src/Makefile.in +@@ -82,7 +82,7 @@ CC = @CC@ + CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@ + EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET) + LD = @LD@ +-LDFLAGS = $(ODBC_LIB) $(EI_LDFLAGS) ++LDFLAGS += $(ODBC_LIB) $(EI_LDFLAGS) + LIBS = @LIBS@ @THR_LIBS@ $(EI_LIB) + INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE) + TARGET_FLAGS = @TARGET_FLAGS@ +-- +2.17.0 + -- cgit v1.2.3