#%%global debug_package %{nil} %define srcname gpaint-2 %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: gpaint Version: 0.3.3 Release: 9.4.1 Summary: Simple Paint Application Group: Applications/Multimedia License: GPLv3+ URL: https://www.gnu.org/software/gpaint Source0: ftp://alpha.gnu.org/gnu/gpaint/%{srcname}-%{version}.tar.gz # from Debian Source1: %{name}.1 Source2: %{name}.xpm Source3: %{name}.svg # GenericName from kolourpaint # https://koji.fedoraproject.org/koji/buildinfo?buildID=1206147 Source4: %{name}-desktop-GenericName.txt # Add AppData file Source5: %{name}.appdata.xml # patches from Debian # http://deb.debian.org/debian/pool/main/g/gpaint/gpaint_0.3.3-6.1.debian.tar.gz Patch1: %{name}-%{version}-0001-drawing.patch Patch2: %{name}-%{version}-0002-remove-menu-h-reference.patch Patch9: %{name}-%{version}-0009-fix-menu-entry.patch Patch10: %{name}-%{version}-0010-fix-crash-on-font-select.patch Patch11: %{name}-%{version}-0011-fix-image-rotation.patch Patch20: %{name}-%{version}-0020-fix-line-width-combo.patch Patch21: %{name}-%{version}-0021-fix-crash-on-fill-button-click.patch Patch22: %{name}-%{version}-0022-fix-not-printable-string.patch Patch23: %{name}-%{version}-0023-add-accelerator-keys.patch Patch24: %{name}-%{version}-0024-fix-crash-on-failed-write.patch Patch25: %{name}-%{version}-0025-fix-color-selection.patch Patch26: %{name}-%{version}-0026-fix-toolbar.patch Patch27: %{name}-%{version}-0027-fix-missing-hdrs-libs.patch # Enhance desktop file # - Update Categories # - Add Keywords # - Add MimeType # - Add StartupWMClass Patch100: %{name}-%{version}-0100-enhance-desktop-file.patch # to convert SVG icon to PNG %if 0%{?rhel} && 0%{?rhel} <= 6 BuildRequires: librsvg2 %else BuildRequires: librsvg2-tools %endif # 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) BuildRequires: pkgconfig(libglade-2.0) >= 2.6.4 BuildRequires: pkgconfig(libgnomeui-2.0) #BuildRequires: pkgconfig(libgnomeprint-2.2) BuildRequires: pkgconfig(libxml-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 GNU Paint (gpaint) is a simple, easy-to-use paint program for GNOME. This is a port of xpaint that takes advantages of GNOME environment features. Currently gpaint has the following features: - Drawing tools such as ovals, freehand, polygon and text, with fill or shadow for polygons and closed freehand shapes - Cut and paste by selecting irregular regions or polygons - Preliminary print support using gnome-print - Modern, ease-to-use user interface with tool and color palettes - Multiple-image editing in a single instance of the program - All the image processing features present in xpaint %prep %setup -q -n %{srcname}-%{version} %patch1 -p1 %patch2 -p1 %patch9 -p1 %patch10 -p1 %patch11 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 %patch100 -p1 # Add translations for GenericName %{__cat} "%{SOURCE4}" >> "%{name}.desktop" %{__cp} -pf "/usr/lib/rpm"/config.{guess,sub} . %build export CFLAGS="%{optflags} -lm -fPIC" # fix build on aarch64 autoreconf -vfi %configure %{make_build} %install %{make_install} # Install symlink if necessary %if "%{name}" != "%{srcname}" %{__ln_s} "%{srcname}" "%{buildroot}%{_bindir}/%{name}" || : %endif # Install manual %{__install} -d "%{buildroot}%{_mandir}/man1/" %{__install} -Dpm 0644 "%{SOURCE1}" -t "%{buildroot}%{_mandir}/man1/" # Install pixmap %{__install} -d "%{buildroot}%{_datadir}/pixmaps" %{__install} -Dpm 0644 "%{SOURCE2}" -t "%{buildroot}%{_datadir}/pixmaps" # Install icons %{__install} -d "%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/" %{__install} -Dpm 0644 "%{SOURCE3}" -t "%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/" icon_in="%{SOURCE3}" icon_out="%{name}.png" %{__mkdir_p} "rpm_icons" for s in {16,22,24,32,36,48,64,72,96,128,192,256,512}; do [[ ! -f "%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/${icon_out}" ]] || continue; rsvg-convert "${icon_in}" -w "${s}" -h "${s}" -a -f png -o "rpm_icons/${icon_out}"; %{__install} -d "%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/" %{__install} -Dpm 0644 "rpm_icons/${icon_out}" -t "%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/"; done; # Install desktop file %{__install} -d "%{buildroot}/%{_datadir}/applications/" %{__install} -Dpm 0644 "%{name}.desktop" "%{buildroot}/%{_datadir}/applications/" # Install AppData file %{__install} -d "%{buildroot}%{_metainfodir}/" %{__install} -Dpm 0644 "%{SOURCE5}" -t "%{buildroot}%{_metainfodir}/" %find_lang "%{srcname}" %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 %{srcname}.lang %doc ABOUT-NLS AUTHORS ChangeLog INSTALL NEWS README THANKS TODO %license COPYING %{_bindir}/%{srcname} %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_metainfodir}/%{name}.appdata.xml %{_datadir}/pixmaps/%{name}.xpm %{_datadir}/icons/hicolor/*x*/apps/%{name}.png %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/%{name}/glade/gpaint.glade %{_mandir}/man1/%{name}* %changelog * Sun Feb 17 2019 Tomasz Tomasik - 0.3.3-9.4.1 - Rebuild for EL7 - Enhance desktop file - Add AppData file - Add scalable icon - Add %%check, %%post, %%postun and %%posttrans sections - Use %%license macro - Update requirements - SPEC cleanups * Mon Jul 04 2016 Wei-Lun Chao - 0.3.3-9.4 - Rebuild for Fedora * Fri Apr 6 2007 James Lawrence 0.3.0-pre5-1fc6 - new Spec file Initial RPM release for fedora core 6