[gimp] ship RPM macros for packaging plug-ins e.a. (#1063144)

Nils Philippsen nphilipp at fedoraproject.org
Wed Feb 12 16:57:14 UTC 2014


commit 40c00b55ac2159b5fe0fefa1fcf73662867f8c8b
Author: Nils Philippsen <nils at redhat.com>
Date:   Wed Feb 12 17:55:40 2014 +0100

    ship RPM macros for packaging plug-ins e.a. (#1063144)

 gimp.spec |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/gimp.spec b/gimp.spec
index bb0e196..5529489 100644
--- a/gimp.spec
+++ b/gimp.spec
@@ -172,6 +172,7 @@ BuildRequires:  libXpm-devel
 BuildRequires:  chrpath >= 0.13-5
 BuildRequires:  intltool
 BuildRequires:  gettext
+BuildRequires:  pkgconfig
 
 Requires:       babl%{?_isa} >= 0.1.10
 Requires:       gegl%{?_isa} >= 0.2.0
@@ -241,6 +242,7 @@ Requires:       gimp-devel-tools = %{?epoch:%{epoch}:}%{version}-%{release}
 Requires:       gtk2-devel
 Requires:       glib2-devel
 Requires:       pkgconfig
+Requires:       rpm >= 4.11.0
 
 %description devel
 The gimp-devel package contains the static libraries and header files
@@ -377,9 +379,54 @@ export LDFLAGS='-pie'
 
 make %{?_smp_mflags}
 
+# Generate RPM macros from pkg-config data:
+# %%_gimp_datadir -- toplevel directory for brushes, gradients, scripts, ...
+# %%_gimp_libdir -- toplevel directory for modules, plug-ins, ...
+# %%_gimp_sysconfdir -- system-wide runtime configuration
+# %%_gimp_localedir -- toplevel directory for translation files
+# %%_gimp_scriptdir -- script-fu scripts directory
+# %%_gimp_plugindir -- plug-in directory
+gimp_pc_extract_normalize() {
+    PKG_CONFIG_PATH="$PWD" \
+        pkg-config --variable="$1" gimp-%{lib_api_version} | \
+    sed \
+        -e 's|^%_mandir|%%{_mandir}|' \
+        -e 's|^%_infodir|%%{_infodir}|' \
+        -e 's|^%_includedir|%%{_includedir}|' \
+        -e 's|^%_libdir|%%{_libdir}|' \
+        -e 's|^%_localstatedir|%%{_localstatedir}|' \
+        -e 's|^%_sharedstatedir|%%{_sharedstatedir}|' \
+        -e 's|^%_sysconfdir|%%{_sysconfdir}|' \
+        -e 's|^%_datadir|%%{_datadir}|' \
+        -e 's|^%_libexecdir|%%{_libexecdir}|' \
+        -e 's|^%_sbindir|%%{_sbindir}|' \
+        -e 's|^%_bindir|%%{_bindir}|' \
+        -e 's|^%_exec_prefix|%%{_exec_prefix}|' \
+        -e 's|^%_prefix|%%{_prefix}|'
+}
+
+_gimp_datadir="$(gimp_pc_extract_normalize gimpdatadir)"
+_gimp_libdir="$(gimp_pc_extract_normalize gimplibdir)"
+_gimp_sysconfdir="$(gimp_pc_extract_normalize gimpsysconfdir)"
+_gimp_localedir="$(gimp_pc_extract_normalize gimplocaledir)"
+_gimp_scriptdir="${_gimp_datadir}/scripts"
+_gimp_plugindir="${_gimp_libdir}/plug-ins"
+
+cat << EOF > macros.gimp
+# RPM macros for GIMP
+
+%%_gimp_datadir ${_gimp_datadir}
+%%_gimp_libdir ${_gimp_libdir}
+%%_gimp_sysconfdir ${_gimp_sysconfdir}
+%%_gimp_localedir ${_gimp_localedir}
+%%_gimp_scriptdir ${_gimp_scriptdir}
+%%_gimp_plugindir ${_gimp_plugindir}
+EOF
+
 %install
 rm -rf %{buildroot}
 make DESTDIR=%{buildroot} install
+install -D -m0644 macros.gimp %{buildroot}%{_rpmconfigdir}/macros.d/macros.gimp
 
 # remove rpaths
 find %buildroot -type f -print0 | xargs -0 -L 20 chrpath --delete --keepgoing 2>/dev/null || :
@@ -588,6 +635,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/aclocal/*.m4
 %{_includedir}/gimp-%{lib_api_version}
 %{_libdir}/pkgconfig/*
+%{_rpmconfigdir}/macros.d/macros.gimp
 
 %files devel-tools
 %defattr (-, root, root, 0755)
@@ -610,6 +658,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 - remove BRs contained in the minimal build environment
 - group BRs into libraries and tools
 - remove various old cruft
+- ship RPM macros for packaging plug-ins e.a. (#1063144)
 
 * Wed Dec 04 2013 Nils Philippsen <nils at redhat.com> - 2:2.8.10-4
 - avoid buffer overflows in file-xwd plug-in (CVE-2013-1913, CVE-2013-1978)


More information about the scm-commits mailing list