Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-nltk for openSUSE:Factory checked in at 2022-12-28 10:54:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nltk (Old)
and /work/SRC/openSUSE:Factory/.python-nltk.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nltk"
Wed Dec 28 10:54:39 2022 rev:12 rq:1045543 version:3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nltk/python-nltk.changes 2022-03-28 17:01:45.453066891 +0200
+++ /work/SRC/openSUSE:Factory/.python-nltk.new.1563/python-nltk.changes 2022-12-28 10:54:49.904203326 +0100
@@ -1,0 +2,9 @@
+Mon Dec 26 10:41:22 UTC 2022 - Matej Cepl
+
+- Complete nltk_data.tar.xz for offline testing
+- Fix failing tests (gh#nltk/nltk#2969) by adding patches:
+ - port-2to3.patch
+ - skip-networked-test.patch
+- Clean up the SPEC to get rid of rpmlint warnings.
+
+-------------------------------------------------------------------
New:
----
nltk_data.tar.xz
port-2to3.patch
python-nltk.rpmlintrc
skip-networked-test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nltk.spec ++++++
--- /var/tmp/diff_new_pack.FgjEJS/_old 2022-12-28 10:54:53.184220399 +0100
+++ /var/tmp/diff_new_pack.FgjEJS/_new 2022-12-28 10:54:53.188220428 +0100
@@ -25,7 +25,18 @@
Summary: Natural Language Toolkit
License: Apache-2.0
URL: http://nltk.org/
-Source: https://files.pythonhosted.org/packages/source/n/nltk/%{pyname}-%{version}.zip
+Source0: https://files.pythonhosted.org/packages/source/n/nltk/%{pyname}-%{version}.zip
+# Downloaded NLTK data via python3 -m nltk.downloader,
+# then unzip downloaded zip archive.
+# see https://www.nltk.org/data.html for more details
+Source1: nltk_data.tar.xz
+Source99: python-nltk.rpmlintrc
+# PATCH-FIX-UPSTREAM skip-networked-test.patch gh#nltk/nltk#2969 mcepl@suse.com
+# skip tests requiring network connection
+Patch0: skip-networked-test.patch
+# PATCH-FIX-UPSTREAM port-2to3.patch bsc#[0-9]+ mcepl@suse.com
+# port scripts in nltk_data to Python 3
+Patch1: port-2to3.patch
BuildRequires: %{python_module regex}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
@@ -33,6 +44,27 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: unzip
+# For testing
+BuildRequires: %{python_module tk}
+BuildRequires: %{python_module click}
+BuildRequires: %{python_module pytest}
+# BuildRequires: %%{python_module gensim}
+BuildRequires: %{python_module joblib}
+BuildRequires: %{python_module Jinja2}
+BuildRequires: %{python_module matplotlib}
+BuildRequires: %{python_module numpy}
+BuildRequires: %{python_module pyparsing}
+BuildRequires: %{python_module pytest-cov}
+BuildRequires: %{python_module pytest-mock}
+BuildRequires: %{python_module python-crfsuite}
+BuildRequires: %{python_module regex}
+BuildRequires: %{python_module requests}
+BuildRequires: %{python_module scikit-learn}
+BuildRequires: %{python_module scipy}
+BuildRequires: %{python_module text-unidecode}
+BuildRequires: %{python_module tqdm}
+BuildRequires: %{python_module twython}
+#
Requires: python-regex
Requires: python-six
Recommends: python-gensim
@@ -49,19 +81,49 @@
BuildArch: noarch
%python_subpackages
+# changedir = nltk/test
+
%description
NLTK -- the Natural Language Toolkit -- is a suite of
Python modules, data sets and tutorials supporting research and
development in Natural Language Processing.
%prep
-%autosetup -p1 -n %{pyname}-%{version}
+%autosetup -p1 -a1 -n %{pyname}-%{version}
+
+# Remove obsolete scripts
+rm tools/nltk_term_index.py tools/run_doctests.py nltk_data/corpora/semcor/semcor.py
-# sed -i "1,4{/\/usr\/bin\/env/d}" nltk/corpus/reader/knbc.py
-# sed -i "1,4{/\/usr\/bin\/env/d}" nltk/test/runtests.py
-# sed -i "1,4{/\/usr\/bin\/env/d}" nltk/test/unit/test_tgrep.py
-# sed -i "1,4{/\/usr\/bin\/env/d}" nltk/tgrep.py
-# sed -i "1,4{/\/usr\/bin\/env/d}" nltk/tokenize/stanford_segmenter.py
+# Fix EOL
+sed -i 's/\r/\n/g; s/\n$//' \
+ README.md \
+ nltk/corpus/reader/knbc.py \
+ nltk/test/unit/test_tgrep.py \
+ nltk/tgrep.py \
+ nltk/tokenize/stanford_segmenter.py \
+ nltk/corpus/reader/knbc.py \
+ nltk/test/unit/test_tgrep.py \
+ nltk/tgrep.py \
+ nltk/tokenize/stanford_segmenter.py \
+ nltk/corpus/reader/knbc.py \
+ nltk/test/unit/test_tgrep.py \
+ nltk/tgrep.py \
+ nltk/tokenize/stanford_segmenter.py
+
+# Remove unrequired shebangs
+sed -E -i "/#![[:space:]]*\/usr\/bin\/env python/d" \
+ nltk/tgrep.py \
+ nltk/tokenize/stanford_segmenter.py \
+ nltk/test/unit/test_tgrep.py \
+ nltk/corpus/reader/knbc.py
+
+# Switch shebangs to the standard Python interpreter
+sed -E -i "s|#![[:space:]]*%{_bindir}/env python|#!%{_bindir}/python3|" \
+ setup.py \
+ tools/global_replace.py \
+ nltk_data/corpora/pl196x/splitter.py \
+ tools/find_deprecated.py \
+ tools/svnmime.py
%build
%python_build
@@ -75,8 +137,9 @@
}
%check
-# FOLLOWING http://www.nltk.org/install.html
-%python_exec -c "import nltk" || exit 1
+export NLTK_DATA=$(readlink -f ./nltk_data/)
+# export PYTEST_ADDOPTS="--doctest-modules"
+%pytest -k 'not network'
%post
%python_install_alternative nltk
++++++ port-2to3.patch ++++++
---
nltk_data/corpora/pl196x/splitter.py | 4 ++--
nltk_data/taggers/universal_tagset/universal_tags.py | 5 -----
tools/find_deprecated.py | 2 +-
3 files changed, 3 insertions(+), 8 deletions(-)
--- a/nltk_data/corpora/pl196x/splitter.py
+++ b/nltk_data/corpora/pl196x/splitter.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
import sys, re
@@ -7,7 +7,7 @@ TEXTID = re.compile(r'<text id="(.*)">')
if __name__ == '__main__':
if len(sys.argv) != 2:
- print 'One argument required: a pl196x corpus to split.'
+ print('One argument required: a pl196x corpus to split.')
sys.exit()
inputFileName = sys.argv[1]
--- a/nltk_data/taggers/universal_tagset/universal_tags.py
+++ b/nltk_data/taggers/universal_tagset/universal_tags.py
@@ -22,11 +22,6 @@ X - other: foreign words, typos, abbrevi
@author: Nathan Schneider (nschneid)
@since: 2011-05-06
'''
-
-# Strive towards Python 3 compatibility
-from __future__ import print_function, unicode_literals, division
-from future_builtins import map, filter
-
import re, glob
from collections import defaultdict
--- a/tools/find_deprecated.py
+++ b/tools/find_deprecated.py
@@ -29,7 +29,7 @@ import textwrap
import tokenize
from doctest import DocTestParser, register_optionflag
-from cStringIO import StringIO
+from io import StringIO
import nltk.corpus
from nltk import defaultdict
++++++ python-nltk.rpmlintrc ++++++
addFilter("E: zero-length /usr/lib/python3\.\d/site-packages/nltk/tbl/api\.py")
++++++ skip-networked-test.patch ++++++
---
nltk/test/unit/test_downloader.py | 4 ++++
setup.cfg | 4 ++++
2 files changed, 8 insertions(+)
--- a/nltk/test/unit/test_downloader.py
+++ b/nltk/test/unit/test_downloader.py
@@ -1,6 +1,9 @@
from nltk import download
+import pytest
+
+@pytest.mark.network
def test_downloader_using_existing_parent_download_dir(tmp_path):
"""Test that download works properly when the parent folder of the download_dir exists"""
@@ -9,6 +12,7 @@ def test_downloader_using_existing_paren
assert download_status is True
+@pytest.mark.network
def test_downloader_using_non_existing_parent_download_dir(tmp_path):
"""Test that download works properly when the parent folder of the download_dir does not exist"""
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,3 +1,7 @@
+[tool:pytest]
+markers =
+ network: test case requires network connection
+
[metadata]
license_files =
LICENSE.txt