%global commitdate 20240505
%global commit e56718b3ebcadc1a3ce73d6530d1c342f8ab80ed
%global shortcommit %(c=%{commit}; echo ${c:0:7})

Name:           trackma
Version:        0.8.6
Release:        1.%{commitdate}git%{shortcommit}%{?dist}
# Release:        1%{?dist}
Summary:        Open multi-site list manager for Unix-like systems.

License:        GPLv3
URL:            https://github.com/z411/trackma
# Source0:        https://github.com/z411/trackma/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source0:        https://github.com/z411/trackma/archive/%{commit}/%{name}-%{shortcommit}.tar.gz
Source1:        %{name}-qt.desktop
Source2:        %{name}-gtk.desktop

BuildArch:      noarch
BuildRequires:  pkgconfig(python3)
BuildRequires:  python3dist(poetry-core)
BuildRequires:  desktop-file-utils

Requires:       lsof

%py_provides    python3-trackma


%description
Trackma aims to be a lightweight and simple but feature-rich program for Unix
based systems for fetching, updating and using data from personal lists hosted
in several media tracking websites.


%package -n     trackma+gtk
Summary:        GTK interface for Trackma
Requires:       gtk3
Requires:       %{name} = %{version}-%{release}
Obsoletes:      trackma-gtk < %{version}-%{release}

%description -n trackma+gtk
Trackma aims to be a lightweight and simple but feature-rich program for Unix
based systems for fetching, updating and using data from personal lists hosted
in several media tracking websites.

GTK interface.


%package -n     trackma+qt
Summary:        QT interface for Trackma
Requires:       %{name} = %{version}-%{release}
Obsoletes:      trackma-qt < %{version}-%{release}

%description -n trackma+qt
Trackma aims to be a lightweight and simple but feature-rich program for Unix
based systems for fetching, updating and using data from personal lists hosted
in several media tracking websites.

QT interface.


%package -n     trackma+curses
Summary:        Curses interface for Trackma
Requires:       %{name} = %{version}-%{release}
Obsoletes:      trackma-curses < %{version}-%{release}

%description -n trackma+curses
Trackma aims to be a lightweight and simple but feature-rich program for Unix
based systems for fetching, updating and using data from personal lists hosted
in several media tracking websites.

Curses interface.


%prep
%autosetup -n %{name}-%{commit}


%generate_buildrequires
%pyproject_buildrequires


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files trackma

install -dm 0755 %{buildroot}%{_datadir}/applications/
install -dm 0755 %{buildroot}%{_datadir}/pixmaps/
install -m 0644 %{name}/data/icon.png %{buildroot}%{_datadir}/pixmaps/%{name}.png

desktop-file-install \
--dir=%{buildroot}%{_datadir}/applications \
%{SOURCE1}
desktop-file-install \
--dir=%{buildroot}%{_datadir}/applications \
%{SOURCE2}


%post -n trackma+qt
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%post -n trackma+gtk
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun -n trackma+qt
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%postun -n trackma+gtk
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans -n trackma+qt
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%posttrans -n trackma+gtk
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%files -n trackma -f %{pyproject_files}
%{_bindir}/%{name}
%{_datadir}/pixmaps/%{name}.png


%files -n trackma+qt -f %{pyproject_files}
%{_bindir}/%{name}-qt
%{_datadir}/applications/%name-qt.desktop


%files -n trackma+gtk -f %{pyproject_files}
%{_bindir}/%{name}-gtk
%{_datadir}/applications/%name-gtk.desktop


%files -n trackma+curses -f %{pyproject_files}
%{_bindir}/%{name}-curses


%changelog
* Sun Dec 17 2023 Eddy Castillo <dyskette@gmail.com> - 0.8.6-1.20230915git601de5b
- Update version

* Sun Oct 16 2022 Eddy Castillo <dyskette@gmail.com> - 0.8.5-1
- Update to 0.8.5

* Fri Apr 22 2022 Eddy Castillo <dyskette@gmail.com> - 0.8.4-4.20220306git78d0499
- Update to 78d0499

* Sat Nov 06 2021 Eddy Castillo <dyskette@gmail.com> - 0.8.4-3.20210915git55728fd
- Update to 55728fd

* Sun Nov 04 2018 Eddy Castillo <dyskette@gmail.com> - 0.7.6-1
- Update to 0.8.4

* Sun Nov 04 2018 Eddy Castillo <dyskette@gmail.com> - 0.7.6-1
- Update to 0.7.6

* Tue Jul 04 2017 Dylan Smith <dyskette@gmail.com> - 0.7.4-1
- Update to 0.7.4

* Tue Mar 28 2017 Dylan Smith <dyskette@gmail.com> - 0.7.3-1
- Update to 0.7.3

* Sun Mar 12 2017 Dylan Smith <dyskette@gmail.com> - 0.7.2-1
- Update to 0.7.2

* Tue Feb 28 2017 Dylan Smith <dyskette@gmail.com> - 0.7.1-1
- Update to 0.7.1

* Wed Jan 18 2017 Dylan Smith <dyskette@gmail.com> - 0.7-1
- Updato to 0.7

* Tue Jan 17 2017 Dylan Smith <dyskette@gmail.com> - 0.6.2-6.20170116git94a0a1e
- Update to 94a0a1e

* Thu Jan 12 2017 Dylan Smith <dyskette@gmail.com> - 0.6.2-5.20170109git02446ea
- Update to 02446ea

* Tue Dec 13 2016 Dylan Smith <dyskette@gmail.com> - 0.6.2-4.20161213git1e00c4d
- Update to 1e00c4d

* Tue Nov 29 2016 Dylan Smith <dyskette@gmail.com> - 0.6.2-3.20161127gitc4c4ceb
- Update to c4c4ceb

* Thu Nov 24 2016 Dylan Smith <dyskette@gmail.com> - 0.6.2-2.20161124git0f8fd1c
- Update to 0f8fd1c

* Thu Nov 24 2016 Dylan Smith <dyskette@gmail.com> - 0.6.2-1
- Update to 0.6.2

* Sat Oct 15 2016 Dylan Smith <dyskette@gmail.com> - 0.6.1-3.20161014gitc87eeaf
- Update to c87eeaf

* Sun Oct 02 2016 Dylan Smith <dyskette@gmail.com> - 0.6.1-2.20160917git35257dd
- Remove qt4 script

* Sun Oct 02 2016 Dylan Smith <dyskette@gmail.com> - 0.6.1-1.20160917git35257dd
- Update to 35257dd

* Sun Aug 07 2016 Dylan Smith <dyskette@gmail.com> - 0.6.1-1
- Update to 0.6.1

* Thu Aug 04 2016 Dylan Smith <dyskette@gmail.com> - 0.6-1.20160801gitf3f0c9d
- Upgrade to 0.6 version

* Fri May 27 2016 Dylan Smith <dyskette@gmail.com> - 0.4-10.20160521git7ca2678
- Update to 7ca2678

* Tue May 03 2016 Dylan Smith <dyskette@gmail.com> - 0.4-9.20160427gita0606aa
- Update to a0606aa

* Sat Mar 12 2016 Dylan Smith <dyskette@gmail.com> - 0.4-8.20160312gite2095c3
- Update to e2095c3

* Sun Jan 31 2016 Dylan Smith <dyskette@gmail.com> - 0.4-7.20160114git9556355
- Update to 9556355

* Tue Dec 22 2015 Dylan Smith <dyskette@gmail.com> - 0.4-6.20151221git5442876
- Update to 5442876

* Fri Nov 27 2015 Dylan Smith <dyskette@gmail.com> - 0.4-5.20151127git067ba63
- Update to 067ba63

* Fri Nov 27 2015 Dylan Smith <dyskette@gmail.com> - 0.4-4.20151126git544c6d0
- Update to 544c6d0

* Sat Nov 21 2015 Dylan Smith <dyskette@gmail.com> - 0.4-3.20151118git298e809
- Update to 298e809

* Sat Nov 14 2015 Dylan Smith <dyskette@gmail.com> - 0.4-2.20151113gitff59966
- Update to ff59966

* Mon Oct 12 2015 Dylan Smith <dyskette@gmail.com> - 0.4-1.20150928git66a2f56
- Update to 66a2f56

* Fri Jun 19 2015 Dylan Smith <dyskette@gmail.com> - 0.3.1-2.20150530gitf7427ed
- Update to f7427ed

* Mon Apr 13 2015 Dylan Smith <dyskette@gmail.com> - 0.3.1-1.20150401git92003ca
- First package