Blob Blame History Raw
%global srcname visidata

Name:           %{srcname}
Version:        3.0.2
Release:        %autorelease
Summary:        Terminal interface for exploring and arranging tabular data

License:        GPL-3.0-only
URL:            https://visidata.org
Source0:        %pypi_source %{srcname}
# Fedora specific:
Patch:          0001-Remove-extra-copy-of-man-page.patch
# Fix Desktop file validation
Patch:          https://github.com/saulpw/visidata/commit/3c4f032b72fb32c8e671b9d66f1e1edaa7181c4b.patch

BuildArch:      noarch

# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}

BuildRequires:  desktop-file-utils
BuildRequires:  python3-devel
BuildRequires:  python3dist(setuptools)
BuildRequires:  python3dist(pytest)

Requires:       python3-%{srcname} = %{version}-%{release}

%description
VisiData is an interactive multitool for tabular data. It combines the clarity
of a spreadsheet, the efficiency of the terminal, and the power of Python, into
a lightweight utility which can handle millions of rows with ease.


%package -n     python3-%{srcname}
Summary:        %{summary}

# Optional dependencies
Recommends: python3dist(PyYAML)
Recommends: python3dist(datapackage)
Recommends: python3dist(dnslib)
Recommends: python3dist(dpkt)
Recommends: python3dist(fonttools)
Recommends: python3dist(h5py)
Recommends: python3dist(lxml)
Recommends: python3dist(mapbox-vector-tile)
Recommends: python3dist(namestand)
Recommends: python3dist(numpy)
Recommends: python3dist(openpyxl)
Recommends: python3dist(pandas) >= 0.19.2
Recommends: python3dist(pdfminer-six)
Recommends: python3dist(psycopg2)
Recommends: python3dist(pypng)
Recommends: python3dist(pyshp)
Recommends: python3dist(requests)
Recommends: python3dist(sas7bdat)
Recommends: python3dist(savReaderWriter)
Recommends: python3dist(tabulate)
Recommends: python3dist(vobject)
Recommends: python3dist(wcwidth)
Recommends: python3dist(xlrd)
Recommends: python3dist(xport)

%description -n python3-%{srcname}
VisiData is an interactive multitool for tabular data. It combines the clarity
of a spreadsheet, the efficiency of the terminal, and the power of Python, into
a lightweight utility which can handle millions of rows with ease.


%prep
%autosetup -n %{srcname}-%{version} -p1

%generate_buildrequires
%pyproject_buildrequires

%build
%pyproject_wheel

%install
%pyproject_install
%pyproject_save_files %{srcname}

desktop-file-validate %{buildroot}%{_datadir}/applications/%{srcname}.desktop

%check
mkdir HOME
touch HOME/.visidatarc  # Needed for TestCommands.test_baseCommands
export HOME=$PWD/HOME
%{pytest}

%files
%{_bindir}/visidata
%{_bindir}/vd2to3.vdx
%{_bindir}/vd
%{_mandir}/man1/vd.1*
%{_mandir}/man1/visidata.1*
%{_datadir}/applications/%{srcname}.desktop

%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.md
%license LICENSE.gpl3

%changelog
%autochangelog