1 |
%define build_modules 1 |
2 |
%{?_with_modules: %global build_modules 1} |
3 |
|
4 |
%define enable_jasper 1 |
5 |
%{?_with_jasper: %global enable_jasper 1} |
6 |
|
7 |
%define enable_graphwiz 1 |
8 |
%{?_with_graphwiz: %global enable_graphwiz 1} |
9 |
|
10 |
%define upstream_name GraphicsMagick |
11 |
%define major 3 |
12 |
%define libname %mklibname %{name} %{major} |
13 |
%define ppmajor 12 |
14 |
%define libppname %mklibname %{name}++ %{ppmajor} |
15 |
%define libwandname %mklibname graphicsmagickwand 2 |
16 |
%define develname %mklibname %{name} -d |
17 |
|
18 |
%define qdepth 16 |
19 |
%define qlev Q%{qdepth} |
20 |
|
21 |
Summary: An X application for displaying and manipulating images |
22 |
Name: graphicsmagick |
23 |
Version: 1.3.42 |
24 |
Release: %mkrel 3 |
25 |
License: GPLv2+ |
26 |
Group: Graphics/Editors and Converters |
27 |
URL: http://www.graphicsmagick.org/ |
28 |
Source0: https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/%{version}/%{upstream_name}-%{version}.tar.xz |
29 |
Patch0: GraphicsMagick-1.3.15-use-so-for-modules.patch |
30 |
Patch1: GraphicsMagick-1.3.16-perl-link.patch |
31 |
|
32 |
# Upstream patches |
33 |
BuildRequires: x11-proto-devel |
34 |
BuildRequires: perl-devel |
35 |
BuildRequires: pkgconfig(freetype2) |
36 |
BuildRequires: pkgconfig(libtiff-4) |
37 |
BuildRequires: pkgconfig(libpng) |
38 |
BuildRequires: pkgconfig(libjpeg) |
39 |
BuildRequires: pkgconfig(jasper) |
40 |
BuildRequires: pkgconfig(libwmf) |
41 |
BuildRequires: pkgconfig(zlib) |
42 |
BuildRequires: pkgconfig(bzip2) |
43 |
BuildRequires: pkgconfig(libxml-2.0) |
44 |
BuildRequires: pkgconfig(lcms2) |
45 |
BuildRequires: libgs-devel |
46 |
BuildRequires: libtool-devel |
47 |
BuildRequires: jbigkit-devel |
48 |
BuildRequires: chrpath |
49 |
BuildRequires: pkgconfig(libheif) |
50 |
BuildRequires: pkgconfig(libjxl) |
51 |
%if "%distro_section" == "tainted" |
52 |
BuildRequires: pkgconfig(libde265) |
53 |
Recommends: libde265 |
54 |
Recommends: libheif |
55 |
%endif |
56 |
Provides: %{upstream_name} = %{version}-%{release} |
57 |
|
58 |
%description |
59 |
GraphicsMagick is the swiss army knife of image processing. It |
60 |
provides a robust collection of tools and libraries which support |
61 |
reading, writing, and manipulating an image in over 88 major formats |
62 |
including important formats like DPX, GIF, JPEG, JPEG-2000, PNG, PDF, |
63 |
SVG, and TIFF. GraphicsMagick supports huge images on systems that |
64 |
support large files, and has been tested with gigapixel-size images. |
65 |
GraphicsMagick can create new images on the fly, making it suitable |
66 |
for building dynamic Web applications. GraphicsMagick may be used to |
67 |
resize, rotate, sharpen, color reduce, or add special effects to an |
68 |
image and save the result in the same or differing image format. |
69 |
Image processing operations are available from the command line, as |
70 |
well as through C, C++, Perl, or Windows COM programming interfaces. |
71 |
Extensions are available from third-parties to support programming in |
72 |
Python, Tcl, and Ruby. With some modification, language extensions for |
73 |
ImageMagick may be used. |
74 |
|
75 |
%files |
76 |
%doc ChangeLog *.txt |
77 |
%{_bindir}/gm |
78 |
%dir %{_libdir}/GraphicsMagick-%{version}/config |
79 |
%{_libdir}/GraphicsMagick-%{version}/config/*.mgk |
80 |
%dir %{_datadir}/GraphicsMagick-%{version}/config |
81 |
%{_datadir}/GraphicsMagick-%{version}/config/*.mgk |
82 |
%if %build_modules |
83 |
%dir %{_libdir}/%{upstream_name}-%{version}/modules-%{qlev} |
84 |
%{_libdir}/%{upstream_name}-%{version}/modules-%{qlev}/filters |
85 |
%dir %{_libdir}/%{upstream_name}-%{version}/modules-%{qlev}/coders |
86 |
%{_libdir}/%{upstream_name}-%{version}/modules-%{qlev}/coders/*.so |
87 |
%endif |
88 |
%{_mandir}/man1/GraphicsMagick++-config.1.* |
89 |
%{_mandir}/man1/GraphicsMagick-config.1.* |
90 |
%{_mandir}/man1/GraphicsMagickWand-config.1.* |
91 |
%{_mandir}/man1/gm.1.* |
92 |
%{_mandir}/man4/miff.4.* |
93 |
%{_mandir}/man5/quantize.5.* |
94 |
|
95 |
#-------------------------------------------------------------- |
96 |
|
97 |
%package -n %{libname} |
98 |
Summary: %upstream_name libraries |
99 |
Group: System/Libraries |
100 |
|
101 |
%description -n %{libname} |
102 |
This package contains the libraries needed to run programs dynamically |
103 |
linked with GraphicsMagick libraries. |
104 |
|
105 |
%files -n %{libname} |
106 |
%{_libdir}/libGraphicsMagick.so.%{major}{,.*} |
107 |
|
108 |
#-------------------------------------------------------------- |
109 |
|
110 |
%package -n %{libppname} |
111 |
Summary: %upstream_name C++ libraries |
112 |
Group: System/Libraries |
113 |
|
114 |
%description -n %{libppname} |
115 |
This package contains the libraries needed to run C++ programs dynamically |
116 |
linked with GraphicsMagick libraries. |
117 |
|
118 |
%files -n %{libppname} |
119 |
%{_libdir}/libGraphicsMagick++.so.%{ppmajor}{,.*} |
120 |
|
121 |
#-------------------------------------------------------------- |
122 |
|
123 |
%package -n %{libwandname} |
124 |
Summary: %upstream_name libraries |
125 |
Group: System/Libraries |
126 |
|
127 |
%description -n %{libwandname} |
128 |
This package contains the libraries needed to run programs dynamically |
129 |
linked with GraphicsMagick libraries. |
130 |
|
131 |
%files -n %{libwandname} |
132 |
%{_libdir}/libGraphicsMagickWand.so.2* |
133 |
|
134 |
#-------------------------------------------------------------- |
135 |
|
136 |
%package -n %{develname} |
137 |
Summary: Static libraries and header files for %{upstream_name} app development |
138 |
Group: Development/C |
139 |
Provides: %{name}-devel = %{version}-%{release} |
140 |
Provides: %{upstream_name}-devel = %{version}-%{release} |
141 |
Requires: %{libname} = %{version} |
142 |
Requires: %{libppname} = %{version} |
143 |
Requires: %{libwandname} = %{version} |
144 |
Requires: jbig-devel |
145 |
%if %{enable_jasper} |
146 |
Requires: jasper-devel |
147 |
%endif |
148 |
%if %{enable_graphwiz} |
149 |
Requires: graphviz-devel |
150 |
%global __requires_exclude devel\\(libcdt\\)|devel\\(libcircogen\\)|devel\\(libcommon\\)|devel\\(libdotgen\\)|devel\\(libdotneato\\)|devel\\(libfdpgen\\)|devel\\(libgraph\\)|devel\\(libgvrender\\)|devel\\(libneatogen\\)|devel\\(libpack\\)|devel\\(libpathplan\\)|devel\\(libtwopigen\\)|devel\\(libgvc\\)|devel\\(libgvgd\\) |
151 |
%endif |
152 |
|
153 |
%description -n %{develname} |
154 |
If you want to create applications that will use GraphicsMagick code or |
155 |
APIs, you'll need to install these packages as well as |
156 |
GraphicsMagick. These additional packages aren't necessary if you simply |
157 |
want to use GraphicsMagick, however. |
158 |
|
159 |
graphicsmagick-devel is an addition to GraphicsMagick which includes static |
160 |
libraries and header files necessary to develop applications. |
161 |
|
162 |
%files -n %{develname} |
163 |
%{_bindir}/GraphicsMagick++-config |
164 |
%{_bindir}/GraphicsMagick-config |
165 |
%{_bindir}/GraphicsMagickWand-config |
166 |
%dir %{_includedir}/GraphicsMagick |
167 |
%{_includedir}/GraphicsMagick/Magick++.h |
168 |
%dir %{_includedir}/GraphicsMagick/magick |
169 |
%{_includedir}/GraphicsMagick/magick/*.h |
170 |
%dir %{_includedir}/GraphicsMagick/Magick++ |
171 |
%{_includedir}/GraphicsMagick/Magick++/*.h |
172 |
%dir %{_includedir}/GraphicsMagick/wand |
173 |
%{_includedir}/GraphicsMagick/wand/*.h |
174 |
%{_libdir}/*.so |
175 |
%{_libdir}/pkgconfig/*.pc |
176 |
|
177 |
#-------------------------------------------------------------- |
178 |
|
179 |
%package -n perl-Graphics-Magick |
180 |
Summary: Libraries and modules for access to %upstream_name from perl |
181 |
Group: Development/Perl |
182 |
Requires: %{name} = %{version} |
183 |
%if %{enable_graphwiz} |
184 |
Requires: graphviz |
185 |
%endif |
186 |
|
187 |
%description -n perl-Graphics-Magick |
188 |
This is the %upstream_name perl support package. It includes perl modules |
189 |
and support files for access to GraphicsMagick library from perl. |
190 |
|
191 |
%files -n perl-Graphics-Magick |
192 |
%{_mandir}/man3*/*::*.3pm* |
193 |
%{perl_vendorarch}/Graphics |
194 |
%{perl_vendorarch}/auto/Graphics |
195 |
|
196 |
#-------------------------------------------------------------- |
197 |
|
198 |
%package doc |
199 |
Summary: %{name} Documentation |
200 |
Group: Documentation |
201 |
BuildArch: noarch |
202 |
|
203 |
%description doc |
204 |
This package contains HTML/PDF documentation of %{name}. |
205 |
|
206 |
%files doc |
207 |
%{_datadir}/doc/GraphicsMagick |
208 |
|
209 |
#-------------------------------------------------------------- |
210 |
|
211 |
%prep |
212 |
%autosetup -p1 -n %{upstream_name}-%{version} |
213 |
|
214 |
%build |
215 |
%define Werror_cflags %nil |
216 |
%configure \ |
217 |
--enable-fast-install \ |
218 |
--without-dps \ |
219 |
%if %{build_modules} |
220 |
--with-modules \ |
221 |
%else |
222 |
--without-modules \ |
223 |
%endif |
224 |
--enable-shared \ |
225 |
--disable-static \ |
226 |
--with-pic \ |
227 |
%if %{enable_jasper} |
228 |
--with-jp2 \ |
229 |
%else |
230 |
--without-jp2 \ |
231 |
%endif |
232 |
--with-perl-options="INSTALLDIRS=vendor" \ |
233 |
--with-perl \ |
234 |
--with-quantum-depth=%{qdepth} \ |
235 |
|
236 |
%make_build |
237 |
%make_build perl-build |
238 |
|
239 |
%install |
240 |
%make_install |
241 |
%make_install -C PerlMagick |
242 |
|
243 |
# fix rights and remove rpaths |
244 |
chmod 755 %{buildroot}%{perl_vendorarch}/auto/Graphics/Magick/Magick.so |
245 |
chrpath -d %{buildroot}%{perl_vendorarch}/auto/Graphics/Magick/Magick.so |
246 |
|
247 |
# remove unwanted files |
248 |
find %{buildroot} -name '*.la' -delete |
249 |
rm -f %{buildroot}%{_datadir}/GraphicsMagick-%{version}/{ChangeLog,NEWS.txt} |