Blob Blame History Raw
%global srcname howdoi

Name:           python-%{srcname}
Version:        2.0.16
Release:        2%{?dist}
Summary:        Instant coding answers via the command line

License:        MIT
# pypi archive does not contain test data
# Source0:        {pypi_source}
Source0:        %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz

BuildArch:      noarch

%global _description %{expand:
Sherlock, your neighborhood command-line sloth sleuth.

Are you a hack programmer? Do you find yourself constantly Googling for how to
do basic programming tasks?

Suppose you want to know how to format a date in bash. Why open your browser and
read through blogs (risking major distraction) when you can simply stay in the
console and ask howdoi:

    $ howdoi format date bash
    > DATE=`date +%%Y-%%m-%%d`}

%description %_description

%package -n python3-%{srcname}
Summary:        %{summary}
BuildRequires:  python3-devel
BuildRequires:  python3-pytest
BuildRequires:  python3-setuptools
BuildRequires:  python3dist(appdirs)
BuildRequires:  python3dist(cachelib)
BuildRequires:  python3dist(keep)
BuildRequires:  python3dist(pygments)
BuildRequires:  python3dist(pyquery)

%description -n python3-%{srcname} %_description

%autosetup -n %{srcname}-%{version} -p1
# remove shebang
sed -i.shebang '1d' howdoi/
touch -r howdoi/ howdoi/



# some tests fail if run at once with
#   OSError: [Errno 24] Too many open files
# ``ulimit -n unlimited`` is not an option
skipped_tests=(multiple_answers position unicode_answer)
for testcase in "${skipped_tests[@]}"; do
  DESELECT+=" --deselect ${TEST_CLASS}::test_${testcase}"
%pytest -v ${DESELECT}
for testcase in "${skipped_tests[@]}"; do
  SELECT+=" ${TEST_CLASS}::test_${testcase}"
%pytest -v ${SELECT}

%files -n python3-%{srcname}
%license LICENSE.txt
%doc CHANGES.txt README.rst

* Wed Jun 30 2021 Michel Alexandre Salim <> - 2.0.16-2
- Escape %%s in description
- fix shebang in non-executable file
- Use `--deselect` to temporarily skip expensive tests

* Tue Jun 29 2021 Michel Alexandre Salim <> - 2.0.16-1
- Initial package