Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/python-dsv/files/, dev-python/python-dsv/
Date: Sun, 15 Oct 2017 12:36:33
Message-Id: 1508070959.d695735f23bab3a8b67e69a6721b2b1fc666f8f0.mgorny@gentoo
1 commit: d695735f23bab3a8b67e69a6721b2b1fc666f8f0
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 15 12:28:33 2017 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 15 12:35:59 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d695735f
7
8 dev-python/python-dsv: Move patches to a dist tarball
9
10 Closes: https://bugs.gentoo.org/620568
11
12 dev-python/python-dsv/Manifest | 1 +
13 .../python-dsv/files/python-dsv-1.4.1-env.patch | 21 -
14 .../files/python-dsv-1.4.1-unicode.patch | 21 -
15 .../files/python-dsv-1.4.1-wx-namespace.patch | 435 ---------------------
16 .../files/python-dsv-1.4.1-wxpython30.patch | 21 -
17 dev-python/python-dsv/python-dsv-1.4.1-r2.ebuild | 13 +-
18 6 files changed, 8 insertions(+), 504 deletions(-)
19
20 diff --git a/dev-python/python-dsv/Manifest b/dev-python/python-dsv/Manifest
21 index d0a3141e684..33e3fa261cc 100644
22 --- a/dev-python/python-dsv/Manifest
23 +++ b/dev-python/python-dsv/Manifest
24 @@ -1 +1,2 @@
25 DIST DSV-1.4.1.tar.gz 14682 SHA256 5d0ec99c45f8ea91ea920dcd2cdf2cdc9e721985551ea80718519ce70dc98f15 SHA512 c26df1efabff9e70b6dfd17f6ff928f022ad19cfa39af431ef7ac663687e8d80406b0ad471376e238eeb6fcbab31aa2a84eaeae2949173e22316eb92e51f7ada WHIRLPOOL 565ef07a5c87cc4090b8b75df0fb992561865563ac3a0a8adaac2d1bc893e664d0db4d66836d9f682b2e69f62b2fc1fb1c3cdb649d973672b87a731887ded97d
26 +DIST python-dsv-1.4.1-gentoo-patchset.tar.bz2 5259 SHA256 f4e55836c60ec24285460755238e1eaaa9ddb7d03083934326c36003183b937e SHA512 c36335e5a6e423c53a9edec9dd795054e77b81a638d774a445bf1b621119c703064892eaff7ec67f85ce7e693af1156c39b3e60faaa5a800c1eca28ea7544f98 WHIRLPOOL 08d8eb7c2b9f9b0ce5b9daed3954757e6c9797055ceff76d1eab921c6a2f37e3ece1e490831219574cc67f6f7dbbdc0a164318112f16abefec299c8afa7d8bd4
27
28 diff --git a/dev-python/python-dsv/files/python-dsv-1.4.1-env.patch b/dev-python/python-dsv/files/python-dsv-1.4.1-env.patch
29 deleted file mode 100644
30 index c2e7aee946d..00000000000
31 --- a/dev-python/python-dsv/files/python-dsv-1.4.1-env.patch
32 +++ /dev/null
33 @@ -1,21 +0,0 @@
34 -Index: python-dsv-1.4.1/DSV/DSV.py
35 -===================================================================
36 ---- python-dsv-1.4.1.orig/DSV/DSV.py 2003-08-09 06:37:32.000000000 -0400
37 -+++ python-dsv-1.4.1/DSV/DSV.py 2010-01-26 20:38:02.000000000 -0500
38 -@@ -127,11 +127,11 @@
39 - import copy
40 - import exceptions
41 - import string
42 --# RedHat 8.0 (or rather GTK2?) sets LANG = en_us.UTF-8 and apparently some
43 --# older apps (including wxGTK) can't handle this. The fix is to set LANG=C
44 --# before running the app. Thanks to Ahmad Baitalmal for supplying this info.
45 --import os
46 --os.putenv('LANG', 'C')
47 -+## RedHat 8.0 (or rather GTK2?) sets LANG = en_us.UTF-8 and apparently some
48 -+## older apps (including wxGTK) can't handle this. The fix is to set LANG=C
49 -+## before running the app. Thanks to Ahmad Baitalmal for supplying this info.
50 -+# import os
51 -+# os.putenv('LANG', 'C')
52 -
53 - try:
54 - from wxPython import wx, grid
55
56 diff --git a/dev-python/python-dsv/files/python-dsv-1.4.1-unicode.patch b/dev-python/python-dsv/files/python-dsv-1.4.1-unicode.patch
57 deleted file mode 100644
58 index 39faebe103b..00000000000
59 --- a/dev-python/python-dsv/files/python-dsv-1.4.1-unicode.patch
60 +++ /dev/null
61 @@ -1,21 +0,0 @@
62 -Index: python-dsv-1.4.1/DSV/DSV.py
63 -===================================================================
64 ---- python-dsv-1.4.1.orig/DSV/DSV.py 2010-01-26 20:35:23.000000000 -0500
65 -+++ python-dsv-1.4.1/DSV/DSV.py 2010-01-26 20:35:23.000000000 -0500
66 -@@ -486,8 +486,14 @@
67 - list of lists of data
68 - """
69 - if type(input) != type([]):
70 -- raise InvalidData, "expected list of lists of strings"
71 -- if type(delimiter) != type('') or not delimiter:
72 -+ raise InvalidData, "expected list of lists of strings"
73 -+ # Try to convert Unicode delimiters back to ASCII (wxPython can be
74 -+ # overenthusiastic), but ultimately support either.
75 -+ try:
76 -+ delimiter = delimiter.encode()
77 -+ except:
78 -+ pass
79 -+ if (type(delimiter) != str and type(delimiter) != unicode) or not delimiter:
80 - raise InvalidDelimiter, `delimiter`
81 -
82 - ## if textQualifier:
83
84 diff --git a/dev-python/python-dsv/files/python-dsv-1.4.1-wx-namespace.patch b/dev-python/python-dsv/files/python-dsv-1.4.1-wx-namespace.patch
85 deleted file mode 100644
86 index c4b819f6bb0..00000000000
87 --- a/dev-python/python-dsv/files/python-dsv-1.4.1-wx-namespace.patch
88 +++ /dev/null
89 @@ -1,435 +0,0 @@
90 -Index: python-dsv-1.4.1/DSV/DSV.py
91 -===================================================================
92 ---- python-dsv-1.4.1.orig/DSV/DSV.py 2010-01-26 20:35:23.000000000 -0500
93 -+++ python-dsv-1.4.1/DSV/DSV.py 2010-01-26 20:37:59.000000000 -0500
94 -@@ -2,6 +2,9 @@
95 - DSV.py - Cliff Wells, 2002
96 - Import/export DSV (delimiter separated values, a generalization of CSV).
97 -
98 -+2007-01-09: Modified by Joe Pham <djpham@××××××.org> to accommodate
99 -+ wxPython 2.8+
100 -+
101 - Basic use:
102 -
103 - from DSV import DSV
104 -@@ -133,8 +136,14 @@
105 - # import os
106 - # os.putenv('LANG', 'C')
107 -
108 -+##try:
109 -+## from wxPython import wx, grid
110 -+##except ImportError:
111 -+## wx = None
112 -+
113 - try:
114 -- from wxPython import wx, grid
115 -+ import wx
116 -+ import wx.grid as gridlib
117 - except ImportError:
118 - wx = None
119 -
120 -@@ -625,19 +634,19 @@
121 -
122 - if wx is not None:
123 - # ------------------------------------------------------------------------------
124 -- class ImportWizardPanel_Delimiters(wx.wxPanel):
125 -+ class ImportWizardPanel_Delimiters(wx.Panel):
126 - """
127 - CLASS(SUPERCLASS):
128 -- ImportWizardPanel_Delimiters(wx.wxPanel)
129 -+ ImportWizardPanel_Delimiters(wx.Panel)
130 - DESCRIPTION:
131 -- A wx.wxPanel that provides a basic interface for validating and changing the
132 -+ A wx.Panel that provides a basic interface for validating and changing the
133 - parameters for importing a delimited text file. Similar to MS Excel's
134 - CSV import wizard. Can be used in a series of wizards or embedded in an
135 - application.
136 - PROTOTYPE:
137 - ImportWizardPanel_Delimiters(parent, id, file, data, isValidCallback = None,
138 -- pos = wx.wxDefaultPosition, size = wx.wxDefaultSize,
139 -- style = wx.wxTAB_TRAVERSAL, name = 'ImportWizardPanel')
140 -+ pos = wx.DefaultPosition, size = wx.DefaultSize,
141 -+ style = wx.TAB_TRAVERSAL, name = 'ImportWizardPanel')
142 - ARGUMENTS:
143 - - parent is the parent window
144 - - id is the id of this wizard panel
145 -@@ -657,24 +666,24 @@
146 - """
147 -
148 - def __init__(self, parent, id, file, data, isValidCallback = None,
149 -- pos = wx.wxDefaultPosition, size = wx.wxDefaultSize,
150 -- style = wx.wxTAB_TRAVERSAL, name = "ImportWizardPanel"):
151 -- wx.wxPanel.__init__(self, parent, id, pos, size, style, name)
152 -- self.SetAutoLayout(wx.true)
153 -- mainSizer = wx.wxFlexGridSizer(3, 1)
154 -+ pos = wx.DefaultPosition, size = wx.DefaultSize,
155 -+ style = wx.TAB_TRAVERSAL, name = "ImportWizardPanel"):
156 -+ wx.Panel.__init__(self, parent, id, pos, size, style, name)
157 -+ self.SetAutoLayout(True)
158 -+ mainSizer = wx.FlexGridSizer(3, 1)
159 - self.SetSizer(mainSizer)
160 - mainSizer.AddGrowableCol(0)
161 -
162 -- self.initialized = wx.false
163 -+ self.initialized = False
164 - self.data = data
165 - self.isValidCallback = isValidCallback
166 - self.Validate = (isValidCallback and self.Validate) or self.BuildPreview
167 -
168 -- dlg = wx.wxProgressDialog("Import Wizard",
169 -+ dlg = wx.ProgressDialog("Import Wizard",
170 - "Analyzing %s... Please wait." % file,
171 - 3,
172 - parent,
173 -- wx.wxPD_APP_MODAL | wx.wxPD_AUTO_HIDE)
174 -+ wx.PD_APP_MODAL | wx.PD_AUTO_HIDE)
175 - textQualifier = guessTextQualifier(data)
176 - dlg.Update(1)
177 - newdata = organizeIntoLines(data, textQualifier = textQualifier, limit = 100)
178 -@@ -686,13 +695,13 @@
179 - # -------------
180 - msg = ("This screen lets you set the delimiters your data contains.\n"
181 - "You can see how your data is affected in the preview below.")
182 -- message1 = wx.wxStaticText(self, -1, msg)
183 -+ message1 = wx.StaticText(self, -1, msg)
184 -
185 - # -------------
186 -- delimiterBox = wx.wxBoxSizer(wx.wxHORIZONTAL)
187 -- delimStaticBox = wx.wxStaticBox(self, -1, "Delimiters")
188 -- delimStaticSizer = wx.wxStaticBoxSizer(delimStaticBox, wx.wxVERTICAL)
189 -- delimGridSizer = wx.wxFlexGridSizer(2, 3)
190 -+ delimiterBox = wx.BoxSizer(wx.HORIZONTAL)
191 -+ delimStaticBox = wx.StaticBox(self, -1, "Delimiters")
192 -+ delimStaticSizer = wx.StaticBoxSizer(delimStaticBox, wx.VERTICAL)
193 -+ delimGridSizer = wx.FlexGridSizer(2, 3)
194 -
195 - delims = {
196 - 'Tab': '\t',
197 -@@ -704,36 +713,36 @@
198 - self.delimChecks = {}
199 -
200 - for label, value in delims.items():
201 -- self.delimChecks[value] = wx.wxCheckBox(self, -1, label)
202 -- delimGridSizer.Add(self.delimChecks[value], 0, wx.wxALL, 3)
203 -+ self.delimChecks[value] = wx.CheckBox(self, -1, label)
204 -+ delimGridSizer.Add(self.delimChecks[value], 0, wx.ALL, 3)
205 - wx.EVT_CHECKBOX(self, self.delimChecks[value].GetId(), self.Validate)
206 -
207 -- otherSizer = wx.wxBoxSizer(wx.wxHORIZONTAL)
208 -+ otherSizer = wx.BoxSizer(wx.HORIZONTAL)
209 -
210 -- self.delimChecks['Other'] = wx.wxCheckBox(self, -1, 'Other:')
211 -+ self.delimChecks['Other'] = wx.CheckBox(self, -1, 'Other:')
212 - wx.EVT_CHECKBOX(self, self.delimChecks['Other'].GetId(), self.Validate)
213 -
214 -- self.otherDelim = wx.wxTextCtrl(self, -1, size = (20, -1))
215 -+ self.otherDelim = wx.TextCtrl(self, -1, size = (20, -1))
216 - wx.EVT_TEXT(self, self.otherDelim.GetId(), self.OnCustomDelim)
217 -
218 - if self.delimChecks.has_key(delimiter):
219 -- self.delimChecks[delimiter].SetValue(wx.true)
220 -+ self.delimChecks[delimiter].SetValue(True)
221 - elif delimiter is not None:
222 -- self.delimChecks['Other'].SetValue(wx.true)
223 -+ self.delimChecks['Other'].SetValue(True)
224 - self.otherDelim.SetValue(delimiter)
225 -
226 - otherSizer.AddMany([
227 -- (self.delimChecks['Other'], 0, wx.wxALL, 3),
228 -- (self.otherDelim, 0, wx.wxALIGN_CENTER),
229 -+ (self.delimChecks['Other'], 0, wx.ALL, 3),
230 -+ (self.otherDelim, 0, wx.ALIGN_CENTER),
231 - ])
232 -
233 - delimGridSizer.Add(otherSizer)
234 -- delimStaticSizer.Add(delimGridSizer, 1, wx.wxEXPAND)
235 -- delimOtherSizer = wx.wxBoxSizer(wx.wxVERTICAL)
236 -- self.consecutiveDelimsAs1 = wx.wxCheckBox(self, -1, "Treat consecutive delimiters as one")
237 -- self.consecutiveDelimsAs1.Enable(wx.false)
238 -- tqSizer = wx.wxBoxSizer(wx.wxHORIZONTAL)
239 -- self.textQualifierChoice = wx.wxChoice(self, -1, choices = ['"', "'", "{None}"])
240 -+ delimStaticSizer.Add(delimGridSizer, 1, wx.EXPAND)
241 -+ delimOtherSizer = wx.BoxSizer(wx.VERTICAL)
242 -+ self.consecutiveDelimsAs1 = wx.CheckBox(self, -1, "Treat consecutive delimiters as one")
243 -+ self.consecutiveDelimsAs1.Enable(False)
244 -+ tqSizer = wx.BoxSizer(wx.HORIZONTAL)
245 -+ self.textQualifierChoice = wx.Choice(self, -1, choices = ['"', "'", "{None}"])
246 - wx.EVT_CHOICE(self, self.textQualifierChoice.GetId(), self.BuildPreview)
247 - if textQualifier is not None:
248 - self.textQualifierChoice.SetStringSelection(textQualifier)
249 -@@ -741,52 +750,52 @@
250 - self.textQualifierChoice.SetStringSelection('{None}')
251 -
252 - tqSizer.AddMany([
253 -- (wx.wxStaticText(self, -1, "Text qualifier:"), 0, wx.wxALIGN_RIGHT | wx.wxALIGN_CENTER_VERTICAL),
254 -- (self.textQualifierChoice, 0, wx.wxALL | wx.wxALIGN_LEFT | wx.wxALIGN_CENTER_VERTICAL, 5),
255 -+ (wx.StaticText(self, -1, "Text qualifier:"), 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL),
256 -+ (self.textQualifierChoice, 0, wx.ALL | wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL, 5),
257 - ])
258 -
259 - delimOtherSizer.AddMany([
260 -- (self.consecutiveDelimsAs1, 1, wx.wxEXPAND | wx.wxALL, 5),
261 -- (tqSizer, 1, wx.wxALL | wx.wxALIGN_CENTER, 5),
262 -+ (self.consecutiveDelimsAs1, 1, wx.EXPAND | wx.ALL, 5),
263 -+ (tqSizer, 1, wx.ALL | wx.ALIGN_CENTER, 5),
264 - ])
265 -
266 - delimiterBox.AddMany([
267 -- (delimStaticSizer, 0, wx.wxALIGN_CENTER),
268 -- (delimOtherSizer, 0, wx.wxALIGN_CENTER),
269 -+ (delimStaticSizer, 0, wx.ALIGN_CENTER),
270 -+ (delimOtherSizer, 0, wx.ALIGN_CENTER),
271 - ])
272 -
273 - delimStaticBox.Fit()
274 -
275 - # -------------
276 - self.displayRows = 6
277 -- previewSettingsBox = wx.wxBoxSizer(wx.wxHORIZONTAL)
278 -- self.hasHeaderRow = wx.wxCheckBox(self, -1, "First row is header")
279 -+ previewSettingsBox = wx.BoxSizer(wx.HORIZONTAL)
280 -+ self.hasHeaderRow = wx.CheckBox(self, -1, "First row is header")
281 - wx.EVT_CHECKBOX(self, self.hasHeaderRow.GetId(), self.BuildPreview)
282 -
283 -- if wx.wxPlatform in ('__WX.WXGTK__', '__WX.WXMSW__'):
284 -- # wx.wxSpinCtrl causes seg fault under GTK when <enter> is hit in text - use wx.wxSpinButton instead
285 -- self.previewRowsText = wx.wxTextCtrl(self, -1, str(self.displayRows),
286 -- size = (30, -1), style = wx.wxTE_PROCESS_ENTER)
287 -+ if wx.Platform in ('__WX.WXGTK__', '__WX.WXMSW__'):
288 -+ # wx.SpinCtrl causes seg fault under GTK when <enter> is hit in text - use wx.SpinButton instead
289 -+ self.previewRowsText = wx.TextCtrl(self, -1, str(self.displayRows),
290 -+ size = (30, -1), style = wx.TE_PROCESS_ENTER)
291 - h = self.previewRowsText.GetSize().height
292 -- self.previewRows = wx.wxSpinButton(self, -1, size = (-1, h), style = wx.wxSP_VERTICAL)
293 -+ self.previewRows = wx.SpinButton(self, -1, size = (-1, h), style = wx.SP_VERTICAL)
294 - self.previewRows.SetRange(self.displayRows, 100)
295 - self.previewRows.SetValue(self.displayRows)
296 - wx.EVT_SPIN(self, self.previewRows.GetId(), self.OnSpinPreviewRows)
297 - wx.EVT_TEXT_ENTER(self, self.previewRowsText.GetId(), self.OnTextPreviewRows)
298 - else:
299 -- self.previewRows = wx.wxSpinCtrl(self, -1, str(self.displayRows),
300 -+ self.previewRows = wx.SpinCtrl(self, -1, str(self.displayRows),
301 - min = self.displayRows, max = 100, size = (50, -1))
302 - wx.EVT_SPINCTRL(self, self.previewRows.GetId(), self.BuildPreview)
303 -
304 - previewSettingsBox.AddMany([
305 -- (self.hasHeaderRow, 1, wx.wxALL | wx.wxEXPAND, 5),
306 -- (wx.wxStaticText(self, -1, "Preview"), 0, wx.wxWEST | wx.wxALIGN_RIGHT | wx.wxALIGN_CENTER_VERTICAL, 10),
307 -+ (self.hasHeaderRow, 1, wx.ALL | wx.EXPAND, 5),
308 -+ (wx.StaticText(self, -1, "Preview"), 0, wx.WEST | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 10),
309 - ])
310 -- if wx.wxPlatform in ('__WX.WXGTK__', '__WX.WXMSW__'):
311 -- previewSettingsBox.Add(self.previewRowsText, 0, wx.wxALIGN_CENTER | wx.wxALL, 3)
312 -+ if wx.Platform in ('__WX.WXGTK__', '__WX.WXMSW__'):
313 -+ previewSettingsBox.Add(self.previewRowsText, 0, wx.ALIGN_CENTER | wx.ALL, 3)
314 - previewSettingsBox.AddMany([
315 -- (self.previewRows, 0, wx.wxALIGN_CENTER | wx.wxALL, 3),
316 -- (wx.wxStaticText(self, -1, "rows"), 0, wx.wxALIGN_RIGHT | wx.wxALIGN_CENTER_VERTICAL),
317 -+ (self.previewRows, 0, wx.ALIGN_CENTER | wx.ALL, 3),
318 -+ (wx.StaticText(self, -1, "rows"), 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL),
319 - ])
320 -
321 - # -------------
322 -@@ -804,28 +813,28 @@
323 - hasHeaders = 0
324 - cols = 1
325 -
326 -- previewStaticBox = wx.wxStaticBox(self, -1, "Data Preview")
327 -- previewStaticSizer = wx.wxStaticBoxSizer(previewStaticBox, wx.wxVERTICAL)
328 -- self.preview = grid.wxGrid(self, -1)
329 -+ previewStaticBox = wx.StaticBox(self, -1, "Data Preview")
330 -+ previewStaticSizer = wx.StaticBoxSizer(previewStaticBox, wx.VERTICAL)
331 -+ self.preview = gridlib.Grid(self, -1)
332 - self.preview.CreateGrid(self.displayRows, cols)
333 -- self.preview.SetDefaultRowSize(self.preview.GetCharHeight() + 4, wx.true)
334 -- self.preview.EnableEditing(wx.false)
335 -+ self.preview.SetDefaultRowSize(self.preview.GetCharHeight() + 4, True)
336 -+ self.preview.EnableEditing(False)
337 - self.preview.SetColLabelSize(0)
338 - self.preview.SetRowLabelSize(0)
339 - self.preview.SetMargins(1, 0)
340 -- self.initialized = wx.true
341 -+ self.initialized = True
342 - self.BuildPreview()
343 -
344 - rowheight = self.preview.GetRowSize(0) + 2
345 - self.preview.SetSize((-1, rowheight * self.displayRows))
346 -- previewStaticSizer.Add(self.preview, 0, wx.wxALL | wx.wxEXPAND, 5)
347 -+ previewStaticSizer.Add(self.preview, 0, wx.ALL | wx.EXPAND, 5)
348 -
349 - # -------------
350 - mainSizer.AddMany([
351 -- (message1, 0, wx.wxALL, 5),
352 -- (delimiterBox, 0, wx.wxALL, 5),
353 -- (previewSettingsBox, 0, wx.wxALL, 5),
354 -- (previewStaticSizer, 0, wx.wxALL | wx.wxEXPAND, 5),
355 -+ (message1, 0, wx.ALL, 5),
356 -+ (delimiterBox, 0, wx.ALL, 5),
357 -+ (previewSettingsBox, 0, wx.ALL, 5),
358 -+ (previewStaticSizer, 0, wx.ALL | wx.EXPAND, 5),
359 - ])
360 -
361 - self.Layout()
362 -@@ -855,9 +864,9 @@
363 - if not self.initialized:
364 - return # got triggered before initialization was completed
365 -
366 -- if wx.wxPlatform != '__WX.WXGTK__':
367 -- wx.wxBeginBusyCursor() # causes a spurious spin event under GTK
368 -- wx.wxYield() # allow controls to update first, in case of slow preview
369 -+ if wx.Platform != '__WX.WXGTK__':
370 -+ wx.BeginBusyCursor() # causes a spurious spin event under GTK
371 -+ wx.Yield() # allow controls to update first, in case of slow preview
372 - self.preview.BeginBatch()
373 - self.preview.DeleteCols(0, self.preview.GetNumberCols())
374 - self.preview.DeleteRows(0, self.preview.GetNumberRows())
375 -@@ -892,7 +901,7 @@
376 - for col in range(cols):
377 - try: self.preview.SetColLabelValue(col, str(previewData[0][col]))
378 - except: self.preview.SetColLabelValue(col, "")
379 -- # self.preview.AutoSizeColumns(wx.true) # size columns to headers
380 -+ # self.preview.AutoSizeColumns(True) # size columns to headers
381 - else:
382 - self.preview.SetColLabelSize(0)
383 -
384 -@@ -902,13 +911,13 @@
385 - except: pass
386 -
387 - # if not hasHeaders:
388 -- self.preview.AutoSizeColumns(wx.true) # size columns to data
389 -+ self.preview.AutoSizeColumns(True) # size columns to data
390 -
391 - rowheight = self.preview.GetRowSize(0)
392 - self.preview.SetRowSize(0, rowheight)
393 - self.preview.EndBatch()
394 -- if wx.wxPlatform != '__WX.WXGTK__':
395 -- wx.wxEndBusyCursor()
396 -+ if wx.Platform != '__WX.WXGTK__':
397 -+ wx.EndBusyCursor()
398 -
399 - self.delimiters = delimiter
400 - self.textQualifier = textQualifier
401 -@@ -928,17 +937,17 @@
402 - return self.hasHeaders
403 -
404 - # ------------------------------------------------------------------------------
405 -- class ImportWizardDialog(wx.wxDialog):
406 -+ class ImportWizardDialog(wx.Dialog):
407 - """
408 - CLASS(SUPERCLASS):
409 -- ImportWizardDialog(wx.wxDialog)
410 -+ ImportWizardDialog(wx.Dialog)
411 - DESCRIPTION:
412 - A dialog allowing the user to preview and change the options for importing
413 - a file.
414 - PROTOTYPE:
415 - ImportWizardDialog(parent, id, title, file,
416 -- pos = wx.wxDefaultPosition, size = wx.wxDefaultSize,
417 -- style = wx.wxDEFAULT_DIALOG_STYLE, name = 'ImportWizardDialog')
418 -+ pos = wx.DefaultPosition, size = wx.DefaultSize,
419 -+ style = wx.DEFAULT_DIALOG_STYLE, name = 'ImportWizardDialog')
420 - ARGUMENTS:
421 - - parent: the parent window
422 - - id: the id of this window
423 -@@ -955,22 +964,22 @@
424 - """
425 -
426 - def __init__(self, parent, id, title, file,
427 -- pos = wx.wxDefaultPosition, size = wx.wxDefaultSize,
428 -- style = wx.wxDEFAULT_DIALOG_STYLE, name = "ImportWizardDialog"):
429 -- wx.wxDialog.__init__(self, parent, id, title, pos, size, style, name)
430 -- self.SetAutoLayout(wx.true)
431 -+ pos = wx.DefaultPosition, size = wx.DefaultSize,
432 -+ style = wx.DEFAULT_DIALOG_STYLE, name = "ImportWizardDialog"):
433 -+ wx.Dialog.__init__(self, parent, id, title, pos, size, style, name)
434 -+ self.SetAutoLayout(True)
435 -
436 - self.file = file
437 - f = open(file, 'r')
438 - self.data = f.read()
439 - f.close()
440 -
441 -- sizer = wx.wxBoxSizer(wx.wxVERTICAL)
442 -+ sizer = wx.BoxSizer(wx.VERTICAL)
443 - self.delimPanel = ImportWizardPanel_Delimiters(self, -1, file, self.data, self.ValidState)
444 - buttonBox = self.ButtonBox()
445 - sizer.AddMany([
446 -- (self.delimPanel, 0, wx.wxALL, 5),
447 -- (buttonBox, 0, wx.wxSOUTH | wx.wxALIGN_CENTER_HORIZONTAL | wx.wxALIGN_TOP, 0),
448 -+ (self.delimPanel, 0, wx.ALL, 5),
449 -+ (buttonBox, 0, wx.SOUTH | wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_TOP, 0),
450 - ])
451 -
452 - self.SetSizer(sizer)
453 -@@ -980,15 +989,15 @@
454 - self.Centre()
455 -
456 - def ButtonBox(self):
457 -- panel = wx.wxPanel(self, -1)
458 -- panel.SetAutoLayout(wx.true)
459 -- sizer = wx.wxBoxSizer(wx.wxHORIZONTAL)
460 -+ panel = wx.Panel(self, -1)
461 -+ panel.SetAutoLayout(True)
462 -+ sizer = wx.BoxSizer(wx.HORIZONTAL)
463 - panel.SetSizer(sizer)
464 -- self.ok = wx.wxButton(panel, wx.wxID_OK, "Ok")
465 -- cancel = wx.wxButton(panel, wx.wxID_CANCEL, "Cancel")
466 -+ self.ok = wx.Button(panel, wx.ID_OK, "Ok")
467 -+ cancel = wx.Button(panel, wx.ID_CANCEL, "Cancel")
468 - sizer.AddMany([
469 -- (self.ok, 0, wx.wxALIGN_TOP | wx.wxEAST | wx.wxSOUTH, 10),
470 -- (cancel, 0, wx.wxALIGN_TOP | wx.wxWEST | wx.wxSOUTH, 10),
471 -+ (self.ok, 0, wx.ALIGN_TOP | wx.EAST | wx.SOUTH, 10),
472 -+ (cancel, 0, wx.ALIGN_TOP | wx.WEST | wx.SOUTH, 10),
473 - ])
474 - panel.Layout()
475 - panel.Fit()
476 -@@ -1002,11 +1011,11 @@
477 - def ImportData(self, errorHandler = skipRow):
478 - delimiters, qualifier, hasHeaders = self.GetImportInfo()
479 - self.data = organizeIntoLines(self.data, textQualifier = qualifier)
480 -- dlg = wx.wxProgressDialog("Import DSV File",
481 -+ dlg = wx.ProgressDialog("Import DSV File",
482 - self.file,
483 - 100,
484 - self,
485 -- wx.wxPD_CAN_ABORT | wx.wxPD_APP_MODAL | wx.wxPD_AUTO_HIDE)
486 -+ wx.PD_CAN_ABORT | wx.PD_APP_MODAL | wx.PD_AUTO_HIDE)
487 - self.data = importDSV(self.data,
488 - delimiter = delimiters,
489 - textQualifier = qualifier,
490 -@@ -1034,12 +1043,12 @@
491 -
492 -
493 - def demo():
494 -- class SampleApp(wx.wxApp):
495 -+ class SampleApp(wx.App):
496 - def OnInit(self):
497 -- dlg = wx.wxFileDialog(None, "Choose a file", ".", "",
498 -+ dlg = wx.FileDialog(None, "Choose a file", ".", "",
499 - "CSV files (*.csv)|*.csv|Text files (*.txt)|*.txt|All files (*.*)|*.*",
500 -- wx.wxOPEN)
501 -- if dlg.ShowModal() == wx.wxID_OK:
502 -+ wx.OPEN)
503 -+ if dlg.ShowModal() == wx.ID_OK:
504 - path = dlg.GetPath()
505 - dlg.Destroy()
506 -
507 -@@ -1049,7 +1058,7 @@
508 - file.write("LINE %d: %s\n" % (linenumber, oldrow))
509 -
510 - dlg = ImportWizardDialog(None, -1, 'CSV Import Wizard (v.%s)' % __version__, path)
511 -- if dlg.ShowModal() == wx.wxID_OK:
512 -+ if dlg.ShowModal() == wx.ID_OK:
513 - results = dlg.ImportData(errorHandler = logErrors)
514 - dlg.Destroy()
515 - errorLog.close()
516 -@@ -1074,7 +1083,7 @@
517 - else:
518 - dlg.Destroy()
519 -
520 -- return wx.true
521 -+ return True
522 -
523 - app = SampleApp()
524 - app.MainLoop()
525
526 diff --git a/dev-python/python-dsv/files/python-dsv-1.4.1-wxpython30.patch b/dev-python/python-dsv/files/python-dsv-1.4.1-wxpython30.patch
527 deleted file mode 100644
528 index c5ed5738084..00000000000
529 --- a/dev-python/python-dsv/files/python-dsv-1.4.1-wxpython30.patch
530 +++ /dev/null
531 @@ -1,21 +0,0 @@
532 ---- a/DSV/DSV.py
533 -+++ b/DSV/DSV.py
534 -@@ -676,7 +676,7 @@ if wx is not None:
535 - style = wx.TAB_TRAVERSAL, name = "ImportWizardPanel"):
536 - wx.Panel.__init__(self, parent, id, pos, size, style, name)
537 - self.SetAutoLayout(True)
538 -- mainSizer = wx.FlexGridSizer(3, 1)
539 -+ mainSizer = wx.FlexGridSizer(4, 1)
540 - self.SetSizer(mainSizer)
541 - mainSizer.AddGrowableCol(0)
542 -
543 -@@ -1089,7 +1089,8 @@ if __name__ == '__main__':
544 - else:
545 - dlg.Destroy()
546 -
547 -- return True
548 -+ # return True
549 -+ sys.exit()
550 -
551 - app = SampleApp()
552 - app.MainLoop()
553
554 diff --git a/dev-python/python-dsv/python-dsv-1.4.1-r2.ebuild b/dev-python/python-dsv/python-dsv-1.4.1-r2.ebuild
555 index 5a4498fa70a..b9159dd4d24 100644
556 --- a/dev-python/python-dsv/python-dsv-1.4.1-r2.ebuild
557 +++ b/dev-python/python-dsv/python-dsv-1.4.1-r2.ebuild
558 @@ -1,4 +1,4 @@
559 -# Copyright 1999-2016 Gentoo Foundation
560 +# Copyright 1999-2017 Gentoo Foundation
561 # Distributed under the terms of the GNU General Public License v2
562
563 EAPI=6
564 @@ -8,7 +8,8 @@ inherit distutils-r1
565
566 DESCRIPTION="Python module for importing and exporting DSV files"
567 HOMEPAGE="http://python-dsv.sourceforge.net/"
568 -SRC_URI="mirror://sourceforge/${PN}/DSV-${PV}.tar.gz"
569 +SRC_URI="mirror://sourceforge/${PN}/DSV-${PV}.tar.gz
570 + https://dev.gentoo.org/~mgorny/dist/${P}-gentoo-patchset.tar.bz2"
571
572 LICENSE="CNRI"
573 SLOT="0"
574 @@ -22,8 +23,8 @@ S="${WORKDIR}/DSV-${PV}"
575
576 PATCHES=(
577 # From Debian
578 - "${FILESDIR}"/${P}-env.patch
579 - "${FILESDIR}"/${P}-unicode.patch
580 - "${FILESDIR}"/${P}-wx-namespace.patch
581 - "${FILESDIR}"/${P}-wxpython30.patch
582 + "${WORKDIR}/${P}-gentoo-patchset"/${P}-env.patch
583 + "${WORKDIR}/${P}-gentoo-patchset"/${P}-unicode.patch
584 + "${WORKDIR}/${P}-gentoo-patchset"/${P}-wx-namespace.patch
585 + "${WORKDIR}/${P}-gentoo-patchset"/${P}-wxpython30.patch
586 )