%define dir_appdata metainfo

%if 0%{?rhel} && 0%{?rhel} <= 7
  %define dir_appdata appdata
%endif

%if 0%{!?_metainfodir:1}
  %define _metainfodir %{_datadir}/%{dir_appdata}
%endif

%define dir_metainfo %( echo "%{_metainfodir}" | xargs -I{} basename '{}' )

%define support_appdata 1

%if 0%{?rhel} && 0%{?rhel} <= 6
  %define support_appdata 0
%endif

%{!?_licensedir:%global license %doc}

Name:           gnome-paint
Version:        0.4.0
Release:        18.1.1
Summary:        Easy to use paint program
Group:          Applications/Multimedia
License:        GPLv3+
URL:            https://launchpad.net/gnome-paint

Source0:        http://launchpad.net/%{name}/trunk/%{version}/+download/%{name}-%{version}.tar.gz
# Manual from Debian
Source1:        %{name}.1
# GenericName from kolourpaint
# https://koji.fedoraproject.org/koji/buildinfo?buildID=1206147
Source2:        %{name}-desktop-GenericName.txt
Patch0:         %{name}-deb-crash-in-toolbar.patch
Patch1:         %{name}-deb-ftbfs-format-security.patch
Patch2:         %{name}-deb-ftbfs-libs-lm.patch
Patch3:         %{name}-deb-handle-urls.patch
Patch4:         %{name}-deb-update_translations.patch
Patch5:         %{name}-alt-packaging.patch
Patch6:         %{name}-mga-desktop.patch
Patch7:         %{name}-deb-deprecated-gdk-functions.patch
# Enhance desktop file
# - Add StartupWMClass
# - Partially revert %{name}-mga-desktop.patch
#   GenericName should be a generic name of the application,
#   for example "Web Browser"
#   The value should not be redundant with the values of Name and Comment
Patch10:        %{name}-el-desktop.patch
# Add AppData file
Patch11:        %{name}-el-appdata.patch

# for desktop-file-validate
BuildRequires:  desktop-file-utils
# for appstream-util
%if 0%{?support_appdata}
BuildRequires:  libappstream-glib
%endif
BuildRequires:  pkgconfig
BuildRequires:  intltool
BuildRequires:  libtool
# for autoreconf
BuildRequires:  autoconf
# for config.{guess,sub}
BuildRequires:  rpm-build
BuildRequires:  make
BuildRequires:  gcc
BuildRequires:  pkgconfig(gtk+-2.0)
Requires:       hicolor-icon-theme

# https://fedoraproject.org/wiki/Packaging:Scriptlets
# https://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets
Requires(post):         coreutils
Requires(postun):       coreutils
Requires(posttrans):    coreutils
# gtk-update-icon-cache
#Requires(post):         gtk-update-icon-cache
Requires(postun):       gtk-update-icon-cache
Requires(posttrans):    gtk-update-icon-cache
# update-mime-database
#Requires(post):         shared-mime-info
#Requires(postun):       shared-mime-info
#Requires(posttrans):    shared-mime-info
# update-desktop-database
Requires(post):         desktop-file-utils
Requires(postun):       desktop-file-utils
#Requires(posttrans):    desktop-file-utils
# glib-compile-schemas
#Requires(post):         glib2
#Requires(postun):       glib2
#Requires(posttrans):    glib2
# ldconfig
#Requires(post):         glibc /sbin/ldconfig
#Requires(postun):       glibc /sbin/ldconfig
#Requires(posttrans):    glibc /sbin/ldconfig


%description
Simple, easy to use paint program for GNOME.
gnome-paint is a program inspired by MS Paint and designed for 
GNOME (and maybe other) desktop environment. It could be used to 
manipulate images in a very simple way. With a very friendly 
user interface, gnome-paint is easy to get started for new users.


%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch10 -p1
%patch11 -p1

%{__cp} -pf "/usr/lib/rpm"/config.{guess,sub} .


%build
export CFLAGS="%{optflags} -Wno-format-security -lm"

autoreconf -fisv

%configure

%{make_build}


%install
%{make_install}

%if "%{dir_metainfo}" != "metainfo"
[[ -d "%{buildroot}%{_metainfodir}" || ! -d "%{buildroot}%{_datadir}/metainfo" ]] || %{__mv} "%{buildroot}%{_datadir}/metainfo" "%{buildroot}%{_metainfodir}"
%endif

# Add translations for GenericName
%{__cat} "%{SOURCE2}" >> "%{buildroot}/%{_datadir}/applications/%{name}.desktop"

# Remove docs, use rpmbuild instead
%{__rm} -rf "%{buildroot}%{_prefix}/doc"

# Move pixmaps
%{__install} -d "%{buildroot}%{_datadir}/%{name}/pixmaps/"
%{__mv} "%{buildroot}%{_includedir}"/* "%{buildroot}%{_datadir}/%{name}/pixmaps/"

# Install manual
%{__install} -d "%{buildroot}%{_mandir}/man1"
%{__install} -Dpm 0644 "%{SOURCE1}" -t "%{buildroot}%{_mandir}/man1/"

# Rename icon
%{__mv} -f "%{buildroot}%{_datadir}/icons/hicolor/16x16/apps"/{"gp.png","%{name}.png"}

%find_lang "%{name}"


%check
/usr/bin/desktop-file-validate "%{buildroot}/%{_datadir}/applications/%{name}.desktop"

%if 0%{?support_appdata}
/usr/bin/appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appdata.xml"
%endif


%post
/bin/touch --no-create "%{_datadir}/icons/hicolor" &> /dev/null || :
#/usr/bin/update-mime-database -n "%{_datadir}/mime" &> /dev/null || :
/usr/bin/update-desktop-database &> /dev/null || :
#/sbin/ldconfig


%postun
#if [[ "${1}" -eq "0" ]]; then
#  /usr/bin/glib-compile-schemas "%{_datadir}/glib-2.0/schemas" &> /dev/null || :
#fi
/usr/bin/update-desktop-database &> /dev/null || :
if [[ "${1}" -eq "0" ]]; then
  /bin/touch --no-create "%{_datadir}/icons/hicolor" &> /dev/null || :
  /usr/bin/gtk-update-icon-cache "%{_datadir}/icons/hicolor" &> /dev/null || :
  #/usr/bin/update-mime-database -n "%{_datadir}/mime" &> /dev/null || :
fi
#/sbin/ldconfig


%posttrans
#/usr/bin/glib-compile-schemas "%{_datadir}/glib-2.0/schemas" &> /dev/null || :
/usr/bin/gtk-update-icon-cache "%{_datadir}/icons/hicolor" &> /dev/null || :
#update-mime-database -n "%{_datadir}/mime" &> /dev/null || :


%files -f %{name}.lang
%doc ChangeLog README
%license COPYING
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/%{name}
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_mandir}/man1/%{name}*


%changelog
* Sun Feb 17 2019 Tomasz Tomasik <scx.mail@gmail.com> - 0.4.0-18.1.1
- Rebuild for EL7
- Enhance desktop file
- Add AppData file
- Add %%check, %%post, %%postun and %%posttrans sections
- Use %%find_lang macro
- Use %%license macro
- Update requirements
- SPEC cleanups

* Tue Apr 19 2016 Wei-Lun Chao <bluebat@member.fsf.org> - 0.4.0-18.1
- Rebuild for Fedora

* Tue Jan 06 2015 alexl <alexl> - 0.4.0-4.mga5
+ Revision: 808864
- new desktop file with GenericName

* Wed Oct 15 2014 umeabot <umeabot> - 0.4.0-3.mga5
+ Revision: 741057
- Second Mageia 5 Mass Rebuild

* Tue Sep 16 2014 umeabot <umeabot> - 0.4.0-2.mga5
+ Revision: 679745
- Mageia 5 Mass Rebuild

* Fri Apr 18 2014 alexl <alexl> - 0.4.0-1.mga5
+ Revision: 616524
- imported package gnome-paint