Hanno Böck commited on 2020-09-27 11:09:51
Zeige 22 geänderte Dateien mit 0 Einfügungen und 978 Löschungen.
... | ... |
@@ -1,3 +0,0 @@ |
1 |
-AUX cffi-0.14.0-g-line.patch 9258 BLAKE2B a57cb8836dfcfb1124b1b72c38fb4c02d231fc7116c2de4b970e6423d037d1aa382173a4bebb9dafab0d690df485a64d824aafcdb16e31d01b391c25f4c239eb SHA512 335758de740050256af711e688072bbe4ac835551437bc2fbfd4dfaf5492efd5c722bca3bd8e5747bb0a88d3e7e6f82b78f85f5f42a4f11efb7b2f6c3ae4a492 |
|
2 |
-DIST cffi-1.14.0.tar.gz 463065 BLAKE2B 4d1e8a92241db801848ef8bd05ea15a31c7f61ea426ce4da184aff00df786348d2c76de9dc48898c814478aed9750b665868df24ad39435062cd7e1c84163e52 SHA512 4c5451eeede1d48a8f4b40e25b845ad1863b8bf3bd39624e6c693c2800d89a13efedc4c43b37e317a035613bffc2e3fd5f7e583c46cb283cb5cb930356f86253 |
|
3 |
-EBUILD cffi-1.14.0-r2.ebuild 1349 BLAKE2B 51d75557181e50a0cf4b23d7358e23f8b56bd05d76efe18a9d5685328c5197060eb45e9ffe894fbc5f05baa2e35275eef205d148b080ff6e774ce09da8cb6743 SHA512 510887308c5068c4d7b9f44c9e297cd854202b1651ba2661b2339dcf91fc438b476e1f1f6c30cbc95267e675dd00a98979a24482d5cc9aed99db6c89d9c555c9 |
... | ... |
@@ -1,47 +0,0 @@ |
1 |
-# Copyright 1999-2020 Gentoo Authors |
|
2 |
-# Distributed under the terms of the GNU General Public License v2 |
|
3 |
- |
|
4 |
-EAPI=7 |
|
5 |
- |
|
6 |
-# DO NOT ADD pypy to PYTHON_COMPAT |
|
7 |
-# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead. |
|
8 |
-DISTUTILS_USE_SETUPTOOLS=rdepend |
|
9 |
-PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} ) |
|
10 |
- |
|
11 |
-inherit distutils-r1 toolchain-funcs |
|
12 |
- |
|
13 |
-DESCRIPTION="Foreign Function Interface for Python calling C code" |
|
14 |
-HOMEPAGE="https://cffi.readthedocs.io/ https://pypi.org/project/cffi/" |
|
15 |
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" |
|
16 |
- |
|
17 |
-LICENSE="MIT" |
|
18 |
-SLOT="0/${PV}" |
|
19 |
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
|
20 |
-IUSE="test" |
|
21 |
-RESTRICT="!test? ( test )" |
|
22 |
- |
|
23 |
-DEPEND="dev-libs/libffi:=" |
|
24 |
-RDEPEND="${DEPEND} |
|
25 |
- dev-python/pycparser[${PYTHON_USEDEP}]" |
|
26 |
-BDEPEND="${RDEPEND} |
|
27 |
- virtual/pkgconfig |
|
28 |
- test? ( dev-python/pytest[${PYTHON_USEDEP}] )" |
|
29 |
- |
|
30 |
-distutils_enable_sphinx doc/source |
|
31 |
- |
|
32 |
-PATCHES=( |
|
33 |
- "${FILESDIR}"/cffi-0.14.0-g-line.patch |
|
34 |
-) |
|
35 |
- |
|
36 |
-src_configure() { |
|
37 |
- tc-export PKG_CONFIG |
|
38 |
-} |
|
39 |
- |
|
40 |
-python_test() { |
|
41 |
- "${EPYTHON}" -c "import _cffi_backend as backend" || die |
|
42 |
- pytest -x -vv \ |
|
43 |
- --ignore testing/test_zintegration.py \ |
|
44 |
- --ignore testing/embedding \ |
|
45 |
- c/ testing/ \ |
|
46 |
- || die "Testing failed with ${EPYTHON}" |
|
47 |
-} |
... | ... |
@@ -1,250 +0,0 @@ |
1 |
-From 19ff1036043ae40ff3d8a2e1a6a793219e1ec378 Mon Sep 17 00:00:00 2001 |
|
2 |
-From: Armin Rigo <arigo@tunes.org> |
|
3 |
-Date: Tue, 26 May 2020 15:51:56 +0200 |
|
4 |
-Subject: [PATCH] Issue #454 |
|
5 |
- |
|
6 |
-Try harder to avoid #line directives confuse the rest of pre-parsing |
|
7 |
---- |
|
8 |
- cffi/cparser.py | 37 ++++++++++++++++++++++++--- |
|
9 |
- testing/cffi0/test_parsing.py | 48 ++++++++++++++++++++++++++++++++++- |
|
10 |
- 2 files changed, 81 insertions(+), 4 deletions(-) |
|
11 |
- |
|
12 |
-diff --git a/cffi/cparser.py b/cffi/cparser.py |
|
13 |
-index d7069a73..d9784655 100644 |
|
14 |
---- a/cffi/cparser.py |
|
15 |
-+++ b/cffi/cparser.py |
|
16 |
-@@ -29,6 +29,7 @@ _r_comment = re.compile(r"/\*.*?\*/|//([^\n\\]|\\.)*?$", |
|
17 |
- _r_define = re.compile(r"^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)" |
|
18 |
- r"\b((?:[^\n\\]|\\.)*?)$", |
|
19 |
- re.DOTALL | re.MULTILINE) |
|
20 |
-+_r_line_directive = re.compile(r"^[ \t]*#[ \t]*line\b.*$", re.MULTILINE) |
|
21 |
- _r_partial_enum = re.compile(r"=\s*\.\.\.\s*[,}]|\.\.\.\s*\}") |
|
22 |
- _r_enum_dotdotdot = re.compile(r"__dotdotdot\d+__$") |
|
23 |
- _r_partial_array = re.compile(r"\[\s*\.\.\.\s*\]") |
|
24 |
-@@ -163,10 +164,37 @@ def _warn_for_non_extern_non_static_global_variable(decl): |
|
25 |
- "with C it should have a storage class specifier " |
|
26 |
- "(usually 'extern')" % (decl.name,)) |
|
27 |
- |
|
28 |
-+def _remove_line_directives(csource): |
|
29 |
-+ # _r_line_directive matches whole lines, without the final \n, if they |
|
30 |
-+ # start with '#line' with some spacing allowed. This function stores |
|
31 |
-+ # them away and replaces them with exactly the string '#line@N', where |
|
32 |
-+ # N is the index in the list 'line_directives'. |
|
33 |
-+ line_directives = [] |
|
34 |
-+ def replace(m): |
|
35 |
-+ i = len(line_directives) |
|
36 |
-+ line_directives.append(m.group()) |
|
37 |
-+ return '#line@%d' % i |
|
38 |
-+ csource = _r_line_directive.sub(replace, csource) |
|
39 |
-+ return csource, line_directives |
|
40 |
-+ |
|
41 |
-+def _put_back_line_directives(csource, line_directives): |
|
42 |
-+ def replace(m): |
|
43 |
-+ s = m.group() |
|
44 |
-+ if not s.startswith('#line@'): |
|
45 |
-+ raise AssertionError("unexpected #line directive " |
|
46 |
-+ "(should have been processed and removed") |
|
47 |
-+ return line_directives[int(s[6:])] |
|
48 |
-+ return _r_line_directive.sub(replace, csource) |
|
49 |
-+ |
|
50 |
- def _preprocess(csource): |
|
51 |
-+ # First, remove the lines of the form '#line N "filename"' because |
|
52 |
-+ # the "filename" part could confuse the rest |
|
53 |
-+ csource, line_directives = _remove_line_directives(csource) |
|
54 |
- # Remove comments. NOTE: this only work because the cdef() section |
|
55 |
-- # should not contain any string literal! |
|
56 |
-- csource = _r_comment.sub(' ', csource) |
|
57 |
-+ # should not contain any string literals (except in line directives)! |
|
58 |
-+ def replace_keeping_newlines(m): |
|
59 |
-+ return ' ' + m.group().count('\n') * '\n' |
|
60 |
-+ csource = _r_comment.sub(replace_keeping_newlines, csource) |
|
61 |
- # Remove the "#define FOO x" lines |
|
62 |
- macros = {} |
|
63 |
- for match in _r_define.finditer(csource): |
|
64 |
-@@ -219,7 +247,10 @@ def _preprocess(csource): |
|
65 |
- csource = _r_float_dotdotdot.sub(' __dotdotdotfloat__ ', csource) |
|
66 |
- # Replace all remaining "..." with the same name, "__dotdotdot__", |
|
67 |
- # which is declared with a typedef for the purpose of C parsing. |
|
68 |
-- return csource.replace('...', ' __dotdotdot__ '), macros |
|
69 |
-+ csource = csource.replace('...', ' __dotdotdot__ ') |
|
70 |
-+ # Finally, put back the line directives |
|
71 |
-+ csource = _put_back_line_directives(csource, line_directives) |
|
72 |
-+ return csource, macros |
|
73 |
- |
|
74 |
- def _common_type_names(csource): |
|
75 |
- # Look in the source for what looks like usages of types from the |
|
76 |
-diff --git a/testing/cffi0/test_parsing.py b/testing/cffi0/test_parsing.py |
|
77 |
-index 3fc3783a..5f2d7ec4 100644 |
|
78 |
---- a/testing/cffi0/test_parsing.py |
|
79 |
-+++ b/testing/cffi0/test_parsing.py |
|
80 |
-@@ -174,7 +174,7 @@ def test_remove_line_continuation_comments(): |
|
81 |
- double // blah \\ |
|
82 |
- more comments |
|
83 |
- x(void); |
|
84 |
-- double // blah\\\\ |
|
85 |
-+ double // blah // blah\\\\ |
|
86 |
- y(void); |
|
87 |
- double // blah\\ \ |
|
88 |
- etc |
|
89 |
-@@ -185,6 +185,52 @@ def test_remove_line_continuation_comments(): |
|
90 |
- m.y |
|
91 |
- m.z |
|
92 |
- |
|
93 |
-+def test_dont_remove_comment_in_line_directives(): |
|
94 |
-+ ffi = FFI(backend=FakeBackend()) |
|
95 |
-+ e = py.test.raises(CDefError, ffi.cdef, """ |
|
96 |
-+ \t # \t line \t 8 \t "baz.c" \t |
|
97 |
-+ |
|
98 |
-+ some syntax error here |
|
99 |
-+ """) |
|
100 |
-+ assert str(e.value) == "parse error\nbaz.c:9:14: before: syntax" |
|
101 |
-+ # |
|
102 |
-+ e = py.test.raises(CDefError, ffi.cdef, """ |
|
103 |
-+ #line 7 "foo//bar.c" |
|
104 |
-+ |
|
105 |
-+ some syntax error here |
|
106 |
-+ """) |
|
107 |
-+ assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax" |
|
108 |
-+ |
|
109 |
-+def test_multiple_line_directives(): |
|
110 |
-+ ffi = FFI(backend=FakeBackend()) |
|
111 |
-+ e = py.test.raises(CDefError, ffi.cdef, |
|
112 |
-+ """ #line 5 "foo.c" |
|
113 |
-+ extern int xx; |
|
114 |
-+ #line 6 "bar.c" |
|
115 |
-+ extern int yy; |
|
116 |
-+ #line 7 "baz.c" |
|
117 |
-+ some syntax error here |
|
118 |
-+ #line 8 "yadda.c" |
|
119 |
-+ extern int zz; |
|
120 |
-+ """) |
|
121 |
-+ assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax" |
|
122 |
-+ |
|
123 |
-+def test_commented_line_directive(): |
|
124 |
-+ ffi = FFI(backend=FakeBackend()) |
|
125 |
-+ e = py.test.raises(CDefError, ffi.cdef, """ |
|
126 |
-+ /* |
|
127 |
-+ #line 5 "foo.c" |
|
128 |
-+ */ |
|
129 |
-+ void xx(void); |
|
130 |
-+ |
|
131 |
-+ #line 6 "bar.c" |
|
132 |
-+ /* |
|
133 |
-+ #line 35 "foo.c" |
|
134 |
-+ */ |
|
135 |
-+ some syntax error |
|
136 |
-+ """) |
|
137 |
-+ assert str(e.value) == "parse error\nbar.c:9:14: before: syntax" |
|
138 |
-+ |
|
139 |
- def test_line_continuation_in_defines(): |
|
140 |
- ffi = FFI(backend=FakeBackend()) |
|
141 |
- ffi.cdef(""" |
|
142 |
-2.26.2 |
|
143 |
- |
|
144 |
-From 31249d786c833d4960bbbf4e0d7f7bcaecf92d1f Mon Sep 17 00:00:00 2001 |
|
145 |
-From: Armin Rigo <arigo@tunes.org> |
|
146 |
-Date: Fri, 29 May 2020 10:27:40 +0200 |
|
147 |
-Subject: [PATCH] #454 |
|
148 |
- |
|
149 |
-Second try with '# NUMBER' instead of '#line NUMBER', as gcc seems to output |
|
150 |
---- |
|
151 |
- cffi/cparser.py | 8 +++---- |
|
152 |
- testing/cffi0/test_parsing.py | 41 +++++++++++++++++++++++++++++++++++ |
|
153 |
- 2 files changed, 45 insertions(+), 4 deletions(-) |
|
154 |
- |
|
155 |
-diff --git a/cffi/cparser.py b/cffi/cparser.py |
|
156 |
-index d9784655..74830e91 100644 |
|
157 |
---- a/cffi/cparser.py |
|
158 |
-+++ b/cffi/cparser.py |
|
159 |
-@@ -29,7 +29,7 @@ _r_comment = re.compile(r"/\*.*?\*/|//([^\n\\]|\\.)*?$", |
|
160 |
- _r_define = re.compile(r"^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)" |
|
161 |
- r"\b((?:[^\n\\]|\\.)*?)$", |
|
162 |
- re.DOTALL | re.MULTILINE) |
|
163 |
--_r_line_directive = re.compile(r"^[ \t]*#[ \t]*line\b.*$", re.MULTILINE) |
|
164 |
-+_r_line_directive = re.compile(r"^[ \t]*#[ \t]*(?:line|\d+)\b.*$", re.MULTILINE) |
|
165 |
- _r_partial_enum = re.compile(r"=\s*\.\.\.\s*[,}]|\.\.\.\s*\}") |
|
166 |
- _r_enum_dotdotdot = re.compile(r"__dotdotdot\d+__$") |
|
167 |
- _r_partial_array = re.compile(r"\[\s*\.\.\.\s*\]") |
|
168 |
-@@ -166,9 +166,9 @@ def _warn_for_non_extern_non_static_global_variable(decl): |
|
169 |
- |
|
170 |
- def _remove_line_directives(csource): |
|
171 |
- # _r_line_directive matches whole lines, without the final \n, if they |
|
172 |
-- # start with '#line' with some spacing allowed. This function stores |
|
173 |
-- # them away and replaces them with exactly the string '#line@N', where |
|
174 |
-- # N is the index in the list 'line_directives'. |
|
175 |
-+ # start with '#line' with some spacing allowed, or '#NUMBER'. This |
|
176 |
-+ # function stores them away and replaces them with exactly the string |
|
177 |
-+ # '#line@N', where N is the index in the list 'line_directives'. |
|
178 |
- line_directives = [] |
|
179 |
- def replace(m): |
|
180 |
- i = len(line_directives) |
|
181 |
-diff --git a/testing/cffi0/test_parsing.py b/testing/cffi0/test_parsing.py |
|
182 |
-index 5f2d7ec4..a5e45874 100644 |
|
183 |
---- a/testing/cffi0/test_parsing.py |
|
184 |
-+++ b/testing/cffi0/test_parsing.py |
|
185 |
-@@ -199,6 +199,21 @@ def test_dont_remove_comment_in_line_directives(): |
|
186 |
- |
|
187 |
- some syntax error here |
|
188 |
- """) |
|
189 |
-+ # |
|
190 |
-+ assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax" |
|
191 |
-+ ffi = FFI(backend=FakeBackend()) |
|
192 |
-+ e = py.test.raises(CDefError, ffi.cdef, """ |
|
193 |
-+ \t # \t 8 \t "baz.c" \t |
|
194 |
-+ |
|
195 |
-+ some syntax error here |
|
196 |
-+ """) |
|
197 |
-+ assert str(e.value) == "parse error\nbaz.c:9:14: before: syntax" |
|
198 |
-+ # |
|
199 |
-+ e = py.test.raises(CDefError, ffi.cdef, """ |
|
200 |
-+ # 7 "foo//bar.c" |
|
201 |
-+ |
|
202 |
-+ some syntax error here |
|
203 |
-+ """) |
|
204 |
- assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax" |
|
205 |
- |
|
206 |
- def test_multiple_line_directives(): |
|
207 |
-@@ -214,6 +229,18 @@ def test_multiple_line_directives(): |
|
208 |
- extern int zz; |
|
209 |
- """) |
|
210 |
- assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax" |
|
211 |
-+ # |
|
212 |
-+ e = py.test.raises(CDefError, ffi.cdef, |
|
213 |
-+ """ # 5 "foo.c" |
|
214 |
-+ extern int xx; |
|
215 |
-+ # 6 "bar.c" |
|
216 |
-+ extern int yy; |
|
217 |
-+ # 7 "baz.c" |
|
218 |
-+ some syntax error here |
|
219 |
-+ # 8 "yadda.c" |
|
220 |
-+ extern int zz; |
|
221 |
-+ """) |
|
222 |
-+ assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax" |
|
223 |
- |
|
224 |
- def test_commented_line_directive(): |
|
225 |
- ffi = FFI(backend=FakeBackend()) |
|
226 |
-@@ -229,6 +256,20 @@ def test_commented_line_directive(): |
|
227 |
- */ |
|
228 |
- some syntax error |
|
229 |
- """) |
|
230 |
-+ # |
|
231 |
-+ assert str(e.value) == "parse error\nbar.c:9:14: before: syntax" |
|
232 |
-+ e = py.test.raises(CDefError, ffi.cdef, """ |
|
233 |
-+ /* |
|
234 |
-+ # 5 "foo.c" |
|
235 |
-+ */ |
|
236 |
-+ void xx(void); |
|
237 |
-+ |
|
238 |
-+ # 6 "bar.c" |
|
239 |
-+ /* |
|
240 |
-+ # 35 "foo.c" |
|
241 |
-+ */ |
|
242 |
-+ some syntax error |
|
243 |
-+ """) |
|
244 |
- assert str(e.value) == "parse error\nbar.c:9:14: before: syntax" |
|
245 |
- |
|
246 |
- def test_line_continuation_in_defines(): |
|
247 |
-2.26.2 |
|
248 |
- |
... | ... |
@@ -1,2 +0,0 @@ |
1 |
-DIST dnspython-1.16.0.tar.gz 167172 BLAKE2B a246684aae8651d94b4312a4b4cce2236a0c4f2289a8fe8a2bb8e81c6beddf6e81a7d54928bc50f950fde862b27e589e83fa9f7aaff7d263a6442f47fe9bb3bb SHA512 825a1815855e036ea1dfece6ec0d42242f83163960439ecba3da58d9adb85b65dda7e628cf38c386807a6c0c36aa026d5e95f7a1bdc2927aa2f6f042f873c14c |
|
2 |
-EBUILD dnspython-1.16.0-r1.ebuild 1219 BLAKE2B d565b4754b471a8ca98f2b84c25c1eb61a869f0dec3378ebd889191ed73bc8424e3c1229184d93bcdbaba59e4b22200fc1a747722ae894e50876c27f5a980e22 SHA512 20f3dfee95722c0965dfa2b9a4fc69307e6358752510211183de7e6f7469981efedbe2a3951b71a5ea241b7a6686fb8286cf99c30034e6d7ed8467711ec12756 |
... | ... |
@@ -1,44 +0,0 @@ |
1 |
-# Copyright 1999-2020 Gentoo Authors |
|
2 |
-# Distributed under the terms of the GNU General Public License v2 |
|
3 |
- |
|
4 |
-EAPI=7 |
|
5 |
- |
|
6 |
-PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} pypy3 ) |
|
7 |
- |
|
8 |
-inherit distutils-r1 |
|
9 |
- |
|
10 |
-DESCRIPTION="DNS toolkit for Python" |
|
11 |
-HOMEPAGE="http://www.dnspython.org/ https://pypi.org/project/dnspython/" |
|
12 |
-SRC_URI="https://github.com/rthalley/dnspython/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
|
13 |
- |
|
14 |
-LICENSE="ISC" |
|
15 |
-SLOT="0" |
|
16 |
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris" |
|
17 |
-IUSE="examples" |
|
18 |
- |
|
19 |
-RDEPEND="dev-python/pycryptodome[${PYTHON_USEDEP}] |
|
20 |
- >=dev-python/ecdsa-0.13[${PYTHON_USEDEP}] |
|
21 |
- >=dev-python/idna-2.1[${PYTHON_USEDEP}] |
|
22 |
- $(python_gen_cond_dep 'dev-python/typing[${PYTHON_USEDEP}]' -2) |
|
23 |
- !dev-python/dnspython:py2 |
|
24 |
- !dev-python/dnspython:py3" |
|
25 |
- |
|
26 |
-src_prepare() { |
|
27 |
- sed -i -e '/network_avail/s:True:False:' \ |
|
28 |
- tests/test_resolver.py || die |
|
29 |
- distutils-r1_src_prepare |
|
30 |
-} |
|
31 |
- |
|
32 |
-python_test() { |
|
33 |
- pushd tests >/dev/null || die |
|
34 |
- "${EPYTHON}" utest.py || die "tests failed under ${EPYTHON}" |
|
35 |
- popd > /dev/null || die |
|
36 |
-} |
|
37 |
- |
|
38 |
-python_install_all() { |
|
39 |
- distutils-r1_python_install_all |
|
40 |
- if use examples; then |
|
41 |
- dodoc -r examples |
|
42 |
- docompress -x /usr/share/doc/${PF}/examples |
|
43 |
- fi |
|
44 |
-} |
... | ... |
@@ -1,3 +0,0 @@ |
1 |
-AUX pycryptodome-3.9.4-parallel-make.patch 756 BLAKE2B 06a79eff056ecb983131838287563d4d60896f27e28d5c2534f4ab008e50017694ac9355b43f8f387cc29abfd21ffd648233c3dbae33a06fcedb12a6c7e11e80 SHA512 06b42ea780bd374cf5cb5d6cef3fade5d695c1ee0d765e2659408da7645ad311eef2028f17d8ec0289d49c3a5851b4c63503d7c922de15873dbbf16d0db58b08 |
|
2 |
-DIST pycryptodome-3.9.8.tar.gz 15633268 BLAKE2B 8c4f8d4839be0fb09556677514ee6c7f832684f20eb4e355cee87eb5b52a5c09e12712c1865ff89fb5dd6c628ca027374c7cab8a2287aafa4eecedf1095f1a12 SHA512 894e763720df284804fd686d5805980853b86773bb3097bf03d929818b9944e5a257e47414275f302966864751e50ae34dea19ad749910f1ceac31833a53ef7c |
|
3 |
-EBUILD pycryptodome-3.9.8.ebuild 1330 BLAKE2B 97e78373d4e5d2d7065d0ca60fa8374d225c48ccf89b51fd51d8bbd68897d5ed37ba237f346bd9347a6cdb3204b5b7b43a28426fa593e3d039259a4664ac4e60 SHA512 3596bf56db6f47c1e9c0ce9568988566a858541128e2962af886d1260f059a6542ec5588bf651c343db73a42e483b64e44ab8fdafacfdd6aa6f53cd46dc1df4f |
... | ... |
@@ -1,22 +0,0 @@ |
1 |
-diff --git a/setup.py b/setup.py |
|
2 |
-index 1d70caad..c72f64ff 100644 |
|
3 |
---- a/setup.py |
|
4 |
-+++ b/setup.py |
|
5 |
-@@ -364,7 +364,7 @@ ext_modules = [ |
|
6 |
- Extension("Crypto.Cipher._raw_eksblowfish", |
|
7 |
- include_dirs=['src/'], |
|
8 |
- define_macros=[('EKS',None),], |
|
9 |
-- sources=["src/blowfish.c"]), |
|
10 |
-+ sources=["src/blowfish_eks.c"]), |
|
11 |
- Extension("Crypto.Cipher._raw_cast", |
|
12 |
- include_dirs=['src/'], |
|
13 |
- sources=["src/CAST.c"]), |
|
14 |
-@@ -427,7 +427,7 @@ ext_modules = [ |
|
15 |
- # Math |
|
16 |
- Extension("Crypto.Math._modexp", |
|
17 |
- include_dirs=['src/'], |
|
18 |
-- sources=['src/modexp.c', 'src/siphash.c', 'src/modexp_utils.c', 'src/mont.c'], |
|
19 |
-+ sources=['src/modexp.c', 'src/siphash.c', 'src/modexp_utils.c', 'src/mont_math.c'], |
|
20 |
- ), |
|
21 |
- ] |
|
22 |
- |
... | ... |
@@ -1,41 +0,0 @@ |
1 |
-# Copyright 1999-2020 Gentoo Authors |
|
2 |
-# Distributed under the terms of the GNU General Public License v2 |
|
3 |
- |
|
4 |
-EAPI=7 |
|
5 |
- |
|
6 |
-PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} pypy3 ) |
|
7 |
-PYTHON_REQ_USE="threads(+)" |
|
8 |
- |
|
9 |
-inherit distutils-r1 |
|
10 |
- |
|
11 |
-DESCRIPTION="A self-contained cryptographic library for Python" |
|
12 |
-HOMEPAGE="https://www.pycryptodome.org https://github.com/Legrandin/pycryptodome https://pypi.org/project/pycryptodome/" |
|
13 |
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" |
|
14 |
- |
|
15 |
-LICENSE="BSD-2 Unlicense" |
|
16 |
-SLOT="0" |
|
17 |
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" |
|
18 |
-IUSE="" |
|
19 |
- |
|
20 |
-RDEPEND="dev-libs/gmp:0 |
|
21 |
- virtual/python-cffi[${PYTHON_USEDEP}] |
|
22 |
- !dev-python/pycrypto" |
|
23 |
-BDEPEND="${RDEPEND}" |
|
24 |
- |
|
25 |
-PATCHES=( |
|
26 |
- "${FILESDIR}/pycryptodome-3.9.4-parallel-make.patch" |
|
27 |
-) |
|
28 |
- |
|
29 |
-distutils_enable_tests setup.py |
|
30 |
- |
|
31 |
-python_prepare_all() { |
|
32 |
- # parallel make fixes |
|
33 |
- # Multiple targets were compiling the same file, setuptools doesn't |
|
34 |
- # understand this and you get race conditions where a file gets |
|
35 |
- # overwritten while it's linking. This makes the files look like separate |
|
36 |
- # files so this race won't happen |
|
37 |
- ln src/blowfish.c src/blowfish_eks.c || die |
|
38 |
- ln src/mont.c src/mont_math.c || die |
|
39 |
- |
|
40 |
- distutils-r1_python_prepare_all |
|
41 |
-} |
... | ... |
@@ -1,11 +0,0 @@ |
1 |
-AUX 50_mailman.conf-r2 482 BLAKE2B 670ff96cdfed658558a1062259bb95441bb5ca2f54f710532f2ec075efbfb0c216fad255fcac158cb6ef2d987bedccc0feaa518fd2190692922b9ddb2e0d4840 SHA512 c279f8709ea7932469c0d8ff0b645df228562678081df5fc3d946d62f7bbbc33f4723e71fd4560eebfc751052a6a271d4aadf6affadefeca107f41d3193563d3 |
|
2 |
-AUX README.gentoo-r3 6691 BLAKE2B aa740e1936f756f8eeecfb88629adc36c33d43ab283a298752865913efc1d068ceb45884d9c33fa45fc4e34e6016b6981f42769172fb7f2bac8dd842faa8e26c SHA512 12490bb17b4da308f0855fa9f5e36c2c01c806822021d3ac92dc15cc7901a417dbeb1e1f78c9df2603128076bd11d9ded0a946f4cedd3b056a1694afbdab28d3 |
|
3 |
-AUX mailman-2.1.14_rc1-directory-check.patch 786 BLAKE2B 24cde989fac774ecaea27075ee58c583bf7812cb0b9b4b12a84bba99e144dd060df2f557d952827a5243c1daccd80fdac7353f931e3fc36d903e26aec595e5fe SHA512 510a67915163732ae05ed9f8920f93eb99538a706d85e4fb2c071e01a6d88be8cd32aa5ea0127d36a1dc4f7a735c179bb1169e7358025ee7d3c85b0c8cda44d7 |
|
4 |
-AUX mailman-2.1.26-add-recaptcha.diff 1828 BLAKE2B efdd502ca8dc24b3553169bb9802c01ddf475cfa6e5b1ddedbf026e2a7c990233c5e1f6d82a2358204e452a904b2e989d8abb44c9db9ea2d95ec82c8cd3dbd2f SHA512 d2e1ab22fceb1fec9275f7e6a11a15a26df0fc4d0e5d25dd3b3d2f4b4ac72853f3eaac871ee4209f33c636fb05619fa0ff7a6ad674638c38fa384adbe3fee8e6 |
|
5 |
-AUX mailman-2.1.9-icons.patch 555 BLAKE2B c000931d44321f0eb9fabdf1a49cfcd05b2c68a3809f302f9275eade918135bc231860cf9c2ab798827b9f1e5baf59a74cbaabc3787e95f3001426425ebf6de2 SHA512 caec3eb1abdb29e92ebd6a589f93870ffc91bbcc7bd2e0115e38f48ae0a31e564037a4a828395229ee238d215e72e19a31d53c8bca6c39a48b5c08a327e663a6 |
|
6 |
-AUX mailman-fix-sitedir.diff 796 BLAKE2B e59e540b424f94959e14d9a67323373c885937c1f717517b93254418c2d6a195b44bfed6a59b74e31f387840331acfb273200c51eecd2f904b20069c6c5df4c3 SHA512 d7c3909eca4cf4161e2a51418b4800203184313260914c7bfe3ea6cffb065a610dffdce9a3c61a0d429cdae9cecc097da491dd56f384273ed13bcd6da9cf75ff |
|
7 |
-AUX mailman.rc 488 BLAKE2B 76f35e4e1a5257b6aa058b0cea29cf53640322d436a195140cd71b7bc749d4205fc4555b611b1713663604c08ca929b3aa57d60355d8e9e5e9b7056b9dc1c5f1 SHA512 bb97f6fec48cf474be66c1aa73adc874ceaeee894acc3fad76f4b3f5e6f82dcd4238a6915de941fe87f815668dfb6c5ffe90926c5aaaddedf7dc06dfa4c1a126 |
|
8 |
-AUX mailman.service 288 BLAKE2B 64dad97b16458f9d9b64f249f9096e4217ce78e9a33e9d3ea55ef27d11daea102a1ecae30ddda095c1bbf1b175def17b9ad2db5a3e0b8e694ab02ed94a557e87 SHA512 c4a5532666afbebc5aa69463ec9b9eaa2dcb03fdd8fd62307920a4572d0c795c1d93478236240746018be617c0eec0fcfcc1c711e8810140fb8ffbc0a9b71009 |
|
9 |
-DIST mailman-2.1.29.tgz 9376258 BLAKE2B 63ae740abed79d2887eef35ddfd8b51f22ee984a0eaacddeb34afb8147c0d239e5eaf93579face987b3c604653fed4c13233de78298914b4eacf5a33f769a997 SHA512 ed25179a4580092629890664c5502908b20e326c2ed06ad4e597fb4e8de84076c369ecd7a272be5ed8a1cb4479413d0e004d87804de763ee850e4d04d9a83376 |
|
10 |
-EBUILD mailman-2.1.29-r1.ebuild 6189 BLAKE2B b69f27a4dc85b852312d23e928a823c6c26567df6f3da984dd09f02501b0ad01002b4d2390ce2ca7b4a5b2c3eb19723b75be5aa9a1848dd66f4e48ad90282eee SHA512 65ad45312b5a21e97978e23634edcf158d54360117305d770a5c75fe6dbc1c7e03f85b592dce4683283868dd21481331814715fe43dd55cd705a8b1ce9801ada |
|
11 |
-MISC metadata.xml 398 BLAKE2B 47faf896df7388b5df4d4066764385d64413e8a48d57fee0ca63c98b574a2b219bae96d099f3e0f2f18988ae0aaf6e7c400b07c59bb02f4dbb77b740e1b76adc SHA512 e12fcde6e9360aaab80a5cece049ca20ba8deca00c7051987d0903d1dd9992545d62c10186f05dca6fed28682050efe704cc3ffd92bbcb0ceb9ce5ce972cf62f |
... | ... |
@@ -1,18 +0,0 @@ |
1 |
-<IfDefine MAILMAN> |
|
2 |
- ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/" |
|
3 |
- <Directory "/usr/local/mailman/cgi-bin/"> |
|
4 |
- AllowOverride None |
|
5 |
- Options None |
|
6 |
- </Directory> |
|
7 |
- |
|
8 |
- Alias /pipermail/ "/usr/local/mailman/archives/public/" |
|
9 |
- <Directory "/usr/local/mailman/archives/public/"> |
|
10 |
- AllowOverride None |
|
11 |
- Options ExecCGI FollowSymLinks |
|
12 |
- </Directory> |
|
13 |
- |
|
14 |
- Alias /mailman-icons/ "/usr/local/mailman/icons/" |
|
15 |
- <Directory "/usr/local/mailman/icons/"> |
|
16 |
- AllowOverride None |
|
17 |
- </Directory> |
|
18 |
-</IfDefine> |
... | ... |
@@ -1,181 +0,0 @@ |
1 |
-# Copyright 1999-2004 Gentoo Foundation |
|
2 |
-# Distributed under the terms of the GNU General Public License v2 |
|
3 |
- |
|
4 |
-Follow these instructions to finish setting up mailman. This file and the |
|
5 |
-original ebuild were tweaked by me <lamer@gentoo.org> but were graciously |
|
6 |
-submitted by Joby Walker (YOU RULE!) |
|
7 |
-2003 Jul 09: updated by Jesus Perez and re-tweaked by me <raker@gentoo.org> |
|
8 |
-for 2.1.x. |
|
9 |
- |
|
10 |
-Please view the documentation on Mailman at: http://www.list.org/ |
|
11 |
- |
|
12 |
-This documentation assumes you're using the default gentoo path |
|
13 |
-(/usr/lib/mailman/), if you've changed it with MAILMAN_PREFIX, adjust them |
|
14 |
-accordingly. |
|
15 |
- |
|
16 |
-1) If this is your first time installing mailman, after your "emerge mailman", |
|
17 |
-you need to add -D MAILMAN to /etc/conf.d/apache or /etc/conf.d/apache2 and restart |
|
18 |
-apache. |
|
19 |
- |
|
20 |
-2) In your /etc/conf.d/apache (for apache 1.x) |
|
21 |
- or /etc/conf.d/apache2 (for apache 2.x) |
|
22 |
- file add the additional option to the |
|
23 |
- APACHE_OPTS or APACHE2_OPTS variable: |
|
24 |
- |
|
25 |
- -D MAILMAN |
|
26 |
- |
|
27 |
-3) Make sure mailman is a part of the cron group |
|
28 |
- |
|
29 |
-4) This must be done as user mailman: |
|
30 |
- |
|
31 |
- su - mailman |
|
32 |
- |
|
33 |
-Add the cron jobs: |
|
34 |
- |
|
35 |
- cd cron |
|
36 |
- crontab crontab.in |
|
37 |
- cd .. |
|
38 |
- |
|
39 |
-Create the site password: |
|
40 |
- |
|
41 |
- bin/mmsitepass |
|
42 |
- |
|
43 |
-and main list: |
|
44 |
- |
|
45 |
- bin/newlist mailman |
|
46 |
- |
|
47 |
- |
|
48 |
-5) Change back to root: |
|
49 |
- |
|
50 |
- exit |
|
51 |
- |
|
52 |
-(Postfix users: read the notes at the end of this file before you continue) |
|
53 |
-Add this to /etc/mail/aliases (and see point 9 for notes): |
|
54 |
- mailman: "|/usr/lib/mailman/mail/mailman post mailman" |
|
55 |
- mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman" |
|
56 |
- mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman" |
|
57 |
- mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman" |
|
58 |
- mailman-join: "|/usr/lib/mailman/mail/mailman join mailman" |
|
59 |
- mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman" |
|
60 |
- mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman" |
|
61 |
- mailman-request: "|/usr/lib/mailman/mail/mailman request mailman" |
|
62 |
- mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman" |
|
63 |
- mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman" |
|
64 |
- |
|
65 |
-For courier, the aliases have to go to /etc/courier/aliases and you have to skip |
|
66 |
-the quotes. |
|
67 |
- |
|
68 |
-Run newaliases (only if you use sendmail). |
|
69 |
- |
|
70 |
- newaliases |
|
71 |
- |
|
72 |
-6) Start the mailman daemon: |
|
73 |
- |
|
74 |
- /etc/init.d/mailman start |
|
75 |
- |
|
76 |
-and add it to default runlevel (optional but recommended): |
|
77 |
- |
|
78 |
- rc-update add mailman default |
|
79 |
- |
|
80 |
-7) For each list created (either with web interface or with bin/newlist) |
|
81 |
-this must be added to /etc/mail/aliases (see smrsh notes below) |
|
82 |
-replace <list-name> with the name of the list: |
|
83 |
- |
|
84 |
- <list-name>: "|/usr/lib/mailman/mail/mailman post <list-name>" |
|
85 |
- <list-name>-admin: "|/usr/lib/mailman/mail/mailman admin <list-name>" |
|
86 |
- <list-name>-bounces: "|/usr/lib/mailman/mail/mailman bounces <list-name>" |
|
87 |
- <list-name>-confirm: "|/usr/lib/mailman/mail/mailman confirm <list-name>" |
|
88 |
- <list-name>-join: "|/usr/lib/mailman/mail/mailman join <list-name>" |
|
89 |
- <list-name>-leave: "|/usr/lib/mailman/mail/mailman leave <list-name>" |
|
90 |
- <list-name>-owner: "|/usr/lib/mailman/mail/mailman owner <list-name>" |
|
91 |
- <list-name>-request: "|/usr/lib/mailman/mail/mailman request <list-name>" |
|
92 |
- <list-name>-subscribe: "|/usr/lib/mailman/mail/mailman subscribe <list-name>" |
|
93 |
- <list-name>-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe <list-name>" |
|
94 |
- |
|
95 |
-For courier, the aliases have to go to /etc/courier/aliases and you have to skip |
|
96 |
-the quotes. |
|
97 |
- |
|
98 |
-Run newaliases: |
|
99 |
- |
|
100 |
- newaliases |
|
101 |
- |
|
102 |
-smrsh notes |
|
103 |
------------ |
|
104 |
-(if you use sendmail, you are surely using srmsh) you must note that |
|
105 |
-sendmail won't run any program outside of EBINDIR. I tried to change |
|
106 |
-EBINDIR using,define(`confEBINDIR', `/usr/lib/mailman/mail')dnl in |
|
107 |
-sendmail.mc but it didn't work, so mailman must be placed in EBINDIR, |
|
108 |
-which in Gentoo is /usr/adm/sm.bin, so you must run as root: |
|
109 |
- |
|
110 |
- ln -s /usr/lib/mailman/mail/mailman /usr/adm/sm.bin/mailman |
|
111 |
- |
|
112 |
-And the lines in /etc/mail/aliases which refer to |
|
113 |
-/usr/lib/mailman/mail/mailman must be changed to mailman: |
|
114 |
- |
|
115 |
- <list-name>: "|mailman post <list-name>" |
|
116 |
- <list-name>-admin: "|mailman admin <list-name>" |
|
117 |
- <list-name>-bounces: "|mailman bounces <list-name>" |
|
118 |
- <list-name>-confirm: "|mailman confirm <list-name>" |
|
119 |
- <list-name>-join: "|mailman join <list-name>" |
|
120 |
- <list-name>-leave: "|mailman leave <list-name>" |
|
121 |
- <list-name>-owner: "|mailman owner <list-name>" |
|
122 |
- <list-name>-request: "|mailman request <list-name>" |
|
123 |
- <list-name>-subscribe: "|mailman subscribe <list-name>" |
|
124 |
- <list-name>-unsubscribe: "|mailman unsubscribe <list-name>" |
|
125 |
- |
|
126 |
-exim notes |
|
127 |
----------- |
|
128 |
-You can write an exim stanza for the router and transport that looks something |
|
129 |
-like (Derived from, and in part taken from cpanel): |
|
130 |
- |
|
131 |
-mailman_virtual_router: |
|
132 |
- driver = accept |
|
133 |
- require_files = /var/lib/mailman/lists/${lc::$local_part}/config.pck |
|
134 |
- local_part_suffix_optional |
|
135 |
- local_part_suffix = -admin : \ |
|
136 |
- -bounces : -bounces+* : \ |
|
137 |
- -confirm : -confirm+* : \ |
|
138 |
- -join : -leave : \ |
|
139 |
- -owner : -request : \ |
|
140 |
- -subscribe : -unsubscribe |
|
141 |
- transport = mailman_virtual_transport |
|
142 |
- |
|
143 |
-mailman_virtual_transport: |
|
144 |
- driver = pipe |
|
145 |
- command = /usr/lib/mailman/mail/mailman \ |
|
146 |
- '${if def:local_part_suffix \ |
|
147 |
- {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ |
|
148 |
- {post}}' \ |
|
149 |
- ${lc:$local_part} |
|
150 |
- current_directory = /usr/lib/mailman |
|
151 |
- home_directory = /usr/lib/mailman |
|
152 |
- user = mailman |
|
153 |
- group = mailman |
|
154 |
- |
|
155 |
-Note the double colon in the require files. See |
|
156 |
-http://wiki.exim.org/FAQ/General_Debugging/Q0060 for more information. |
|
157 |
- |
|
158 |
-This should be modified if you're using the vhosts USE flag, specifically you |
|
159 |
-need to modify the location of the config.pck file, to be |
|
160 |
-${lc::$local_part}-${lc::$domain} instead of simply ${lc::$local_part}, and for the |
|
161 |
-transport you need to change the last part of the command in the same fashion. |
|
162 |
- |
|
163 |
-Other Helpful things to know... |
|
164 |
-------------------------------- |
|
165 |
-run "bin/check_perms -f" from the root mailman directory |
|
166 |
-(/usr/lib/mailman) to check and fix permission problems. |
|
167 |
- |
|
168 |
-The INSTALL file is located in /usr/share/doc/mailman-$VERSION/ |
|
169 |
- |
|
170 |
-Postfix notes |
|
171 |
-------------- |
|
172 |
-If you're using Postfix, don't manually change your /etc/mail/aliases |
|
173 |
-file, as described above. Instead, follow these instructions: |
|
174 |
- |
|
175 |
-http://list.org/mailman-install/node13.html |
|
176 |
- |
|
177 |
-This will set up Mailman and Postfix to automatically generate the new |
|
178 |
-aliases when you create new lists. It will also make sure that Postfix |
|
179 |
-uses the correct group ID when it's talking to Mailman, otherwise you |
|
180 |
-will get security errors from Mailman. |
|
181 |
- |
... | ... |
@@ -1,19 +0,0 @@ |
1 |
---- mailman-2.1.14rc1/bin/update 2010-09-09 18:51:09.000000000 +0200 |
|
2 |
-+++ mailman-2.1.14rc1-1/bin/update 2010-09-14 01:02:09.000000000 +0200 |
|
3 |
-@@ -35,6 +35,7 @@ |
|
4 |
- """ |
|
5 |
- |
|
6 |
- import os |
|
7 |
-+import stat |
|
8 |
- import sys |
|
9 |
- import time |
|
10 |
- import errno |
|
11 |
-@@ -428,7 +429,7 @@ |
|
12 |
- # Now update for the Mailman 2.1.5 qfile format. For every filebase in |
|
13 |
- # the qfiles/* directories that has both a .pck and a .db file, pull the |
|
14 |
- # data out and re-queue them. |
|
15 |
-- for dirname in os.listdir(mm_cfg.QUEUE_DIR): |
|
16 |
-+ for dirname in [x for x in os.listdir(mm_cfg.QUEUE_DIR) if stat.S_ISDIR(os.stat(os.path.join(mm_cfg.QUEUE_DIR,x)).st_mode)]: |
|
17 |
- dirpath = os.path.join(mm_cfg.QUEUE_DIR, dirname) |
|
18 |
- if dirpath == mm_cfg.BADQUEUE_DIR: |
|
19 |
- # The files in qfiles/bad can't possibly be pickles |
... | ... |
@@ -1,49 +0,0 @@ |
1 |
---- listinfo.py 2018-02-26 14:56:48.000000000 +0000 |
|
2 |
-+++ /usr/lib/mailman/Mailman/Cgi/listinfo.py 2018-02-26 14:08:34.000000000 +0000 |
|
3 |
-@@ -31,6 +31,7 @@ |
|
4 |
- from Mailman import i18n |
|
5 |
- from Mailman.htmlformat import * |
|
6 |
- from Mailman.Logging.Syslog import syslog |
|
7 |
-+from recaptcha.client import captcha |
|
8 |
- |
|
9 |
- # Set up i18n |
|
10 |
- _ = i18n._ |
|
11 |
-@@ -244,6 +245,10 @@ |
|
12 |
- replacements[''] = mlist.FormatFormStart('listinfo') |
|
13 |
- replacements[''] = mlist.FormatBox('fullname', size=30) |
|
14 |
- |
|
15 |
-+ # Captcha |
|
16 |
-+ replacements['<mm-recaptcha-javascript>'] = captcha.displayhtml(mm_cfg.RECAPTCHA_PUBLIC_KEY, use_ssl=True, version=2) |
|
17 |
-+ replacements['<mm-recaptcha-script>'] = captcha.load_script(version=2) |
|
18 |
-+ |
|
19 |
- # Do the expansion. |
|
20 |
- doc.AddItem(mlist.ParseTags('listinfo.html', replacements, lang)) |
|
21 |
- print doc.Format() |
|
22 |
---- subscribe.py 2018-02-26 14:56:38.000000000 +0000 |
|
23 |
-+++ /usr/lib/mailman/Mailman/Cgi/subscribe.py 2018-02-26 14:08:18.000000000 +0000 |
|
24 |
-@@ -32,6 +32,7 @@ |
|
25 |
- from Mailman.UserDesc import UserDesc |
|
26 |
- from Mailman.htmlformat import * |
|
27 |
- from Mailman.Logging.Syslog import syslog |
|
28 |
-+from recaptcha.client import captcha |
|
29 |
- |
|
30 |
- SLASH = '/' |
|
31 |
- ERRORSEP = '\n\n<p>' |
|
32 |
-@@ -165,6 +166,17 @@ |
|
33 |
- results.append( |
|
34 |
- _('There was no hidden token in your submission or it was corrupted.')) |
|
35 |
- results.append(_('You must GET the form before submitting it.')) |
|
36 |
-+ |
|
37 |
-+ # recaptcha |
|
38 |
-+ captcha_response = captcha.v2submit( |
|
39 |
-+ cgidata.getvalue('g-recaptcha-response', ""), |
|
40 |
-+ mm_cfg.RECAPTCHA_PRIVATE_KEY, |
|
41 |
-+ remote, |
|
42 |
-+ ) |
|
43 |
-+ |
|
44 |
-+ if not captcha_response.is_valid: |
|
45 |
-+ results.append(_('Invalid captcha: %s' % captcha_response.error_code)) |
|
46 |
-+ |
|
47 |
- # Was an attempt made to subscribe the list to itself? |
|
48 |
- if email == mlist.GetListEmail(): |
|
49 |
- syslog('mischief', 'Attempt to self subscribe %s: %s', email, remote) |
... | ... |
@@ -1,12 +0,0 @@ |
1 |
-diff -rau mailman-2.1.9-orig/Mailman/Defaults.py.in mailman-2.1.9-mailman-icons/Mailman/Defaults.py.in |
|
2 |
---- mailman-2.1.9-orig/Mailman/Defaults.py.in 2006-08-04 14:20:33.000000000 +0200 |
|
3 |
-+++ mailman-2.1.9/Mailman/Defaults.py.in 2008-02-03 14:27:02.000000000 +0200 |
|
4 |
-@@ -54,7 +54,7 @@ |
|
5 |
- # disable Mailman's logo footer altogther, hack |
|
6 |
- # Mailman/htmlformat.py:MailmanLogo(), which also contains the hardcoded links |
|
7 |
- # and image names. |
|
8 |
--IMAGE_LOGOS = '/icons/' |
|
9 |
-+IMAGE_LOGOS = '/mailman-icons/' |
|
10 |
- |
|
11 |
- # The name of the Mailman favicon |
|
12 |
- SHORTCUT_ICON = 'mm-icon.png' |
... | ... |
@@ -1,24 +0,0 @@ |
1 |
-diff -Naurp a/misc/paths.py.in b/misc/paths.py.in |
|
2 |
---- a/misc/paths.py.in 2018-07-25 00:01:28.000000000 +0200 |
|
3 |
-+++ b/misc/paths.py.in 2019-08-03 11:56:57.032059619 +0200 |
|
4 |
-@@ -26,6 +26,7 @@ |
|
5 |
- |
|
6 |
- import os |
|
7 |
- import sys |
|
8 |
-+import site |
|
9 |
- |
|
10 |
- # some scripts expect this attribute to be in this module |
|
11 |
- prefix = '@prefix@' |
|
12 |
-@@ -58,9 +59,9 @@ sys.path.insert(0, prefix) |
|
13 |
- sys.path.insert(0, os.path.join(prefix, 'pythonlib')) |
|
14 |
- |
|
15 |
- # Include Python's site-packages directory. |
|
16 |
--sitedir = os.path.join(sys.prefix, 'lib', 'python'+sys.version[:3], |
|
17 |
-- 'site-packages') |
|
18 |
--sys.path.append(sitedir) |
|
19 |
-+sitedirs = site.getsitepackages() |
|
20 |
-+for sitedir in sitedirs: |
|
21 |
-+ sys.path.append(sitedir) |
|
22 |
- |
|
23 |
- # Include Python's dist-packages directory. |
|
24 |
- distdir = os.path.join(sys.prefix, 'lib', 'python'+sys.version[:3], |
... | ... |
@@ -1,26 +0,0 @@ |
1 |
-#!/sbin/openrc-run |
|
2 |
-# Copyright 1999-2004 Gentoo Foundation |
|
3 |
-# Distributed under the terms of the GNU General Public License v2 |
|
4 |
- |
|
5 |
-depend() { |
|
6 |
- need net |
|
7 |
- use logger |
|
8 |
-} |
|
9 |
- |
|
10 |
-start() { |
|
11 |
- ebegin "Starting mailman" |
|
12 |
- su - mailman -c 'bin/mailmanctl -s start' >/dev/null 2>&1 |
|
13 |
- eend $? |
|
14 |
-} |
|
15 |
- |
|
16 |
-stop() { |
|
17 |
- ebegin "Stopping mailman" |
|
18 |
- su - mailman -c 'bin/mailmanctl stop' >/dev/null 2>&1 |
|
19 |
- eend $? |
|
20 |
-} |
|
21 |
- |
|
22 |
-svc_restart() { |
|
23 |
- ebegin "Restarting mailman" |
|
24 |
- su - mailman -c 'bin/mailmanctl restart' >/dev/null 2>&1 |
|
25 |
- eend $? |
|
26 |
-} |
... | ... |
@@ -1,13 +0,0 @@ |
1 |
-[Unit] |
|
2 |
-Description=GNU Mailing List Manager |
|
3 |
-After=network.target |
|
4 |
- |
|
5 |
-[Service] |
|
6 |
-User=mailman |
|
7 |
-ExecStart=/usr/lib/mailman/bin/mailmanctl -s start |
|
8 |
-ExecReload=/usr/lib/mailman/bin/mailmanctl restart |
|
9 |
-ExecStop=/usr/lib/mailman/bin/mailmanctl stop |
|
10 |
-Type=forking |
|
11 |
- |
|
12 |
-[Install] |
|
13 |
-WantedBy=multi-user.target |
... | ... |
@@ -1,174 +0,0 @@ |
1 |
-# Copyright 1999-2019 Gentoo Authors |
|
2 |
-# Distributed under the terms of the GNU General Public License v2 |
|
3 |
- |
|
4 |
-EAPI=5 |
|
5 |
- |
|
6 |
-PYTHON_COMPAT=( python2_7 ) |
|
7 |
- |
|
8 |
-inherit eutils python-single-r1 multilib systemd user |
|
9 |
- |
|
10 |
-DESCRIPTION="A python-based mailing list server with an extensive web interface" |
|
11 |
-SRC_URI="mirror://sourceforge/${PN}/${P/_p/-}.tgz" |
|
12 |
-HOMEPAGE="http://www.list.org/" |
|
13 |
- |
|
14 |
-LICENSE="GPL-2" |
|
15 |
-SLOT="0" |
|
16 |
-KEYWORDS="amd64 ppc x86" |
|
17 |
-IUSE="selinux" |
|
18 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE}" |
|
19 |
- |
|
20 |
-DEPEND=" |
|
21 |
- ${PYTHON_DEPS} |
|
22 |
- dev-python/python-recaptcha[${PYTHON_USEDEP}] |
|
23 |
- dev-python/dnspython[${PYTHON_USEDEP}] |
|
24 |
- virtual/mta |
|
25 |
- virtual/cron |
|
26 |
- virtual/httpd-cgi" |
|
27 |
-RDEPEND="${DEPEND} |
|
28 |
- selinux? ( sec-policy/selinux-mailman ) |
|
29 |
-" |
|
30 |
- |
|
31 |
-S="${WORKDIR}/${P/_p/-}" |
|
32 |
- |
|
33 |
-pkg_setup() { |
|
34 |
- python-single-r1_pkg_setup |
|
35 |
- INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"} |
|
36 |
- VAR_PREFIX=${MAILMAN_VAR_PREFIX:-"/var/lib/mailman"} |
|
37 |
- CGIUID=${MAILMAN_CGIUID:-apache} |
|
38 |
- CGIGID=${MAILMAN_CGIGID:-apache} |
|
39 |
- MAILUSR=${MAILMAN_MAILUSR:-mailman} |
|
40 |
- MAILUID=${MAILMAN_MAILUID:-280} |
|
41 |
- MAILGRP=${MAILMAN_MAILGRP:-mailman} |
|
42 |
- MAILGID=${MAILMAN_MAILGID:-280} |
|
43 |
- |
|
44 |
- # Bug #58526: switch to enew{group,user}. |
|
45 |
- # need to add mailman here for compile process. |
|
46 |
- # Duplicated at pkg_postinst() for binary install. |
|
47 |
- enewgroup ${MAILGRP} ${MAILGID} |
|
48 |
- enewuser ${MAILUSR} ${MAILUID} /bin/bash ${INSTALLDIR} mailman,cron |
|
49 |
-} |
|
50 |
- |
|
51 |
-src_prepare() { |
|
52 |
- epatch "${FILESDIR}/${PN}-2.1.14_rc1-directory-check.patch" |
|
53 |
- epatch "${FILESDIR}/${PN}-2.1.9-icons.patch" |
|
54 |
- epatch "${FILESDIR}/${PN}-2.1.26-add-recaptcha.diff" |
|
55 |
- epatch "${FILESDIR}/mailman-fix-sitedir.diff" |
|
56 |
- sed -i \ |
|
57 |
- -e 's:<mm-digest-question-end>:<mm-digest-question-end><tr><td>\ </td><td><mm-recaptcha-javascript></td></tr>:g' \ |
|
58 |
- -e 's:</TITLE>:</TITLE>\n<MM-Recaptcha-Script>:g' \ |
|
59 |
- ./templates/*/listinfo.html |
|
60 |
-} |
|
61 |
- |
|
62 |
-src_configure() { |
|
63 |
- econf \ |
|
64 |
- --without-permcheck \ |
|
65 |
- --prefix="${INSTALLDIR}" \ |
|
66 |
- --with-mail-gid=${MAILGID} \ |
|
67 |
- --with-cgi-gid=${CGIGID} \ |
|
68 |
- --with-cgi-ext="${MAILMAN_CGIEXT}" \ |
|
69 |
- --with-var-prefix="${VAR_PREFIX}" \ |
|
70 |
- --with-username=${MAILUSR} \ |
|
71 |
- --with-groupname=${MAILGRP} \ |
|
72 |
- --with-python="${PYTHON}" |
|
73 |
-} |
|
74 |
- |
|
75 |
-src_install () { |
|
76 |
- emake "DESTDIR=${D}" doinstall |
|
77 |
- |
|
78 |
- insinto /etc/apache2/modules.d |
|
79 |
- newins "${FILESDIR}/50_mailman.conf-r2" 50_mailman.conf |
|
80 |
- sed \ |
|
81 |
- -e "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" \ |
|
82 |
- -e "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" \ |
|
83 |
- -e "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" \ |
|
84 |
- -i "${D}/etc/apache2/modules.d/50_mailman.conf" || die |
|
85 |
- |
|
86 |
- newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo |
|
87 |
- |
|
88 |
- dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \ |
|
89 |
- contrib/README.check_perms_grsecurity contrib/virtusertable |
|
90 |
- |
|
91 |
- exeinto ${INSTALLDIR}/bin |
|
92 |
- doexe build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \ |
|
93 |
- contrib/mm-handler* |
|
94 |
- |
|
95 |
- dodir /etc/mailman |
|
96 |
- mv "${D}/${INSTALLDIR}/Mailman/mm_cfg.py" "${D}/etc/mailman" |
|
97 |
- dosym /etc/mailman/mm_cfg.py ${INSTALLDIR}/Mailman/mm_cfg.py |
|
98 |
- |
|
99 |
- # Save the old config for updates from pre-2.1.9-r2 |
|
100 |
- # To be removed some distant day |
|
101 |
- for i in /var/mailman /home/mailman /usr/local/mailman ${INSTALLDIR}; do |
|
102 |
- if [ -f ${i}/Mailman/mm_cfg.py ] && ! [ -L ${i}/Mailman/mm_cfg.py ]; then |
|
103 |
- cp ${i}/Mailman/mm_cfg.py "${D}/etc/mailman/mm_cfg.py" || die |
|
104 |
- fi |
|
105 |
- done |
|
106 |
- |
|
107 |
- newinitd "${FILESDIR}/mailman.rc" mailman |
|
108 |
- cp "${FILESDIR}/mailman.service" "${T}/mailman.service" || die |
|
109 |
- sed -i "s/^User=.*/User=${MAILUSR}/" "${T}/mailman.service" || die |
|
110 |
- systemd_dounit "${T}/mailman.service" |
|
111 |
- |
|
112 |
- keepdir ${VAR_PREFIX}/logs |
|
113 |
- keepdir ${VAR_PREFIX}/locks |
|
114 |
- keepdir ${VAR_PREFIX}/spam |
|
115 |
- keepdir ${VAR_PREFIX}/archives/public |
|
116 |
- keepdir ${VAR_PREFIX}/archives/private |
|
117 |
- keepdir ${VAR_PREFIX}/lists |
|
118 |
- keepdir ${VAR_PREFIX}/qfiles |
|
119 |
- |
|
120 |
- chown -R ${MAILUSR}:${MAILGRP} "${D}/${VAR_PREFIX}" "${D}/${INSTALLDIR}" "${D}"/etc/mailman/* || die |
|
121 |
- chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private" || die |
|
122 |
- chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \ |
|
123 |
- "${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public} || die |
|
124 |
- chmod 2770 "${D}/${VAR_PREFIX}/archives/private" || die |
|
125 |
- chmod 2770 "${D}/${VAR_PREFIX}/qfiles" || die |
|
126 |
- chmod 2755 "${D}/${INSTALLDIR}"/cgi-bin/* "${D}/${INSTALLDIR}/mail/mailman" || die |
|
127 |
- |
|
128 |
- python_optimize "${D}/${INSTALLDIR}/bin/" \ |
|
129 |
- "${D}/${INSTALLDIR}/Mailman/" \ |
|
130 |
- "${D}/${INSTALLDIR}/Mailman/*" |
|
131 |
-} |
|
132 |
- |
|
133 |
-pkg_postinst() { |
|
134 |
- enewgroup ${MAILGRP} ${MAILGID} |
|
135 |
- enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman,cron |
|
136 |
- echo |
|
137 |
- elog "Please read /usr/share/doc/${PF}/README.gentoo.bz2 for additional" |
|
138 |
- elog "Setup information, mailman will NOT run unless you follow" |
|
139 |
- elog "those instructions!" |
|
140 |
- echo |
|
141 |
- |
|
142 |
- elog "An example Mailman configuration file for Apache has been installed into:" |
|
143 |
- elog " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf" |
|
144 |
- echo |
|
145 |
- elog "To enable, you will need to add \"-D MAILMAN\" to" |
|
146 |
- elog "/etc/conf.d/apache2." |
|
147 |
- echo |
|
148 |
- |
|
149 |
- ewarn "Default-Configuration has changed deeply in 2.1.9-r2. You can configure" |
|
150 |
- ewarn "mailman with the following variables:" |
|
151 |
- ewarn "MAILMAN_PREFIX (default: /usr/$(get_libdir)/mailman)" |
|
152 |
- ewarn "MAILMAN_VAR_PREFIX (default: /var/lib/mailman)" |
|
153 |
- ewarn "MAILMAN_CGIUID (default: apache)" |
|
154 |
- ewarn "MAILMAN_CGIGID (default: apache)" |
|
155 |
- ewarn "MAILMAN_CGIEXT (default: empty)" |
|
156 |
- ewarn "MAILMAN_MAILUSR (default: mailman)" |
|
157 |
- ewarn "MAILMAN_MAILUID (default: 280)" |
|
158 |
- ewarn "MAILMAN_MAILGRP (default: mailman)" |
|
159 |
- ewarn "MAILMAN_MAILGID (default: 280)" |
|
160 |
- ewarn |
|
161 |
- ewarn "Config file is now symlinked in /etc/mailman, so etc-update works." |
|
162 |
- ewarn |
|
163 |
- ewarn "If you're upgrading from below 2.1.9-r2 or changed MAILMAN_PREFIX, you" |
|
164 |
- ewarn "NEED to make a few manual updates to your system:" |
|
165 |
- ewarn |
|
166 |
- ewarn "1. Update your mailman users's home directory: usermod -d ${INSTALLDIR} mailman" |
|
167 |
- ewarn "2. Re-import the crontab: su - mailman -c 'crontab cron/crontab.in'" |
|
168 |
- ewarn "3. Copy your old mm_cfg.py file to /etc/mailman/mm_cfg.py" |
|
169 |
- ewarn |
|
170 |
- ewarn "Additionally if you've modified MAILMAN_VAR_PREFIX (or upgraded from" |
|
171 |
- ewarn "a pre 2.1.9-r2 installation), you should move your old lists/ and" |
|
172 |
- ewarn "archives/ directory to the new location, ensuring that the" |
|
173 |
- ewarn "permissions is correct. See bug #208789 for a discussion." |
|
174 |
-} |
... | ... |
@@ -1,14 +0,0 @@ |
1 |
-<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
|
3 |
-<pkgmetadata> |
|
4 |
- <maintainer type="person"> |
|
5 |
- <email>hanno@gentoo.org</email> |
|
6 |
- </maintainer> |
|
7 |
- <maintainer type="project"> |
|
8 |
- <email>net-mail@gentoo.org</email> |
|
9 |
- <name>Net-Mail</name> |
|
10 |
- </maintainer> |
|
11 |
- <upstream> |
|
12 |
- <remote-id type="sourceforge">mailman</remote-id> |
|
13 |
- </upstream> |
|
14 |
-</pkgmetadata> |
... | ... |
@@ -1,2 +0,0 @@ |
1 |
-EBUILD python-cffi-1.ebuild 583 BLAKE2B ec2bc45f0ec539df749667d5258724330c94bed602cf7db73e75ccbab872144d784bb547b021ca2aa603306e945092d5e4041bfb3bc12609b7c1baa61af3ba92 SHA512 97d8cbd4cf20f287e661e33af6943163814d2a76cf3fb6e0868f0db3ef071c1fba59656b15d887365b2060d01e80dffdabf3056744f5adddeacddbee01510491 |
|
2 |
-MISC metadata.xml 240 BLAKE2B 41e6a4d9da33dab2decc5ff419924f382a8f64d27a81fdb97576db8c6cf125be95911747946ec8be1b453f56617fef1084f5947f84b50a8db419d46df2ae8a0f SHA512 9c23321eaa853f851bf00195ea64ac2ba093e516f9b57855ee5aa58fbb1988130c9f0c17c2a9ce9fae4ee033e0a28a70c868e0f5acdfa1dd316ab533c5279d59 |
... | ... |
@@ -1,17 +0,0 @@ |
1 |
-# Copyright 1999-2020 Gentoo Authors |
|
2 |
-# Distributed under the terms of the GNU General Public License v2 |
|
3 |
- |
|
4 |
-EAPI=7 |
|
5 |
- |
|
6 |
-PYTHON_COMPAT=( python2_7 python3_{6,7,8,9} pypy3 ) |
|
7 |
- |
|
8 |
-inherit python-r1 |
|
9 |
- |
|
10 |
-DESCRIPTION="A virtual for the Python cffi package" |
|
11 |
-SLOT="0" |
|
12 |
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris" |
|
13 |
-REQUIRED_USE="${PYTHON_REQUIRED_USE}" |
|
14 |
- |
|
15 |
-# built-in in PyPy and PyPy3 |
|
16 |
-RDEPEND="${PYTHON_DEPS} |
|
17 |
- $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')" |
|
18 | 0 |