/[packages]/updates/3/imagemagick/current/SPECS/imagemagick.spec
ViewVC logotype

Contents of /updates/3/imagemagick/current/SPECS/imagemagick.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 303128 - (show annotations) (download)
Sun Oct 7 01:20:44 2012 UTC (6 years, 9 months ago) by fwang
Original Path: cauldron/imagemagick/current/SPECS/imagemagick.spec
File size: 10758 byte(s)
update rpm group
1 %define build_test 0
2 %{?_with_test: %{expand: %%global build_test 1}}
3 %{?_without_test: %{expand: %%global build_test 0}}
4
5 %define bootstrap 1
6 %{?_without_bootstrap: %global bootstrap 0}
7 %{?_with_bootstrap: %global bootstrap 1}
8
9 # V E R S I O N P A R T S
10
11 # their "official" version
12 %define rversion 6.7.9
13
14 # their "minor" version
15 %define minor_rev 10
16
17 # some other funny version
18 # (aw) from the docs: Versions with Q8 in the name are 8 bits-per-pixel
19 # component (e.g. 8-bit red, 8-bit green, etc.), whereas, Q16 in the
20 # filename are 16 bits-per-pixel component. A Q16 version permits you
21 # to read or write 16-bit images without losing precision but requires
22 # twice as much resources as the Q8 version.
23 %define qlev Q16
24
25 # the full file version
26 %define dversion %{rversion}-%{minor_rev}
27
28 %define major 5
29
30 %define libname %mklibname magick %{major}
31 %define develname %mklibname magick -d
32
33 Summary: An X application for displaying and manipulating images
34 Name: imagemagick
35 Version: %{rversion}.%{minor_rev}
36 Release: %mkrel 1
37 License: BSD-like
38 Group: Graphics/Editors
39 URL: http://www.imagemagick.org/
40 Source0: ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-%{dversion}.tar.xz
41 Source1: ImageMagick.pdf.bz2
42 # re-scaled from ftp://ftp.imagemagick.org/pub/ImageMagick/images/magick-icon.png
43 Source10: magick-icon_16x16.png
44 Source11: magick-icon_32x32.png
45 Source12: magick-icon_48x48.png
46 Source13: magick-icon_64x64.png
47 Patch0: imagemagick-docdir.diff
48 #gw fix format strings, but it doesn't work for the perl-Magick
49 Patch1: ImageMagick-6.4.8-9-format-strings.patch
50 Patch2: ImageMagick-6.7.4-force-so.patch
51 Patch7: imagemagick-urw.diff
52 Patch17: imagemagick-fpx.diff
53 Patch19: ImageMagick-libpath.diff
54 Patch20: ImageMagick-6.7.7-9-fix-montageimages-test.patch
55
56 Requires: %{libname} = %{version}
57 Obsoletes: ImageMagick < 6.3.2.9-6
58 Provides: ImageMagick = %{version}-%{release}
59
60 BuildRequires: libx11-devel
61 BuildRequires: libxext-devel
62 BuildRequires: bzip2-devel
63 BuildRequires: cairo-devel
64 BuildRequires: fontconfig-devel
65 BuildRequires: freetype2-devel >= 2.1.7
66 BuildRequires: chrpath
67 BuildRequires: graphviz-devel >= 2.9.0
68 BuildRequires: libjasper-devel
69 BuildRequires: libjbig-devel
70 BuildRequires: libjpeg-devel
71 BuildRequires: libpng-devel
72 BuildRequires: zlib-devel
73 BuildRequires: lcms-devel
74 BuildRequires: lcms2-devel
75 BuildRequires: fftw-devel
76 BuildRequires: lqr-devel
77 BuildRequires: libltdl-devel
78 BuildRequires: perl-devel
79 BuildRequires: librsvg-devel
80 BuildRequires: tiff-devel
81 BuildRequires: libwmf-devel
82 BuildRequires: libxml2-devel
83 BuildRequires: lzma-devel
84 %if !%bootstrap
85 BuildRequires: djvulibre-devel
86 %endif
87 BuildRequires: ghostscript
88 BuildRequires: subversion
89 BuildConflicts: %{develname}
90
91 %description
92 ImageMagick is a powerful image display, conversion and manipulation tool. It
93 runs in an X session. With this tool, you can view, edit and display a variety
94 of image formats.
95
96 ImageMagick can make use of the following delegate programs, available as
97 packages in %{_vendor}: curl enscript ffmpeg ghostscript ghostscript-X gimp
98 gnuplot graphviz html2ps mplayer ncompress netpbm sane-backends texlive-texmf
99 transfig ufraw xdg-utils zip autotrace povray
100
101 %package desktop
102 Summary: ImageMagick menus
103 Group: Graphics/Editors
104 Requires: xterm
105 Obsoletes: ImageMagick-desktop < 6.3.2.9-6
106
107 %description desktop
108 This package contains the menu and .desktop entries to run the "display"
109 command from the menu.
110
111 %package -n %{libname}
112 Summary: ImageMagick libraries
113 Group: System/Libraries
114 # (Anssi 02/2008): Wrongly named at first, can be removed when major changes again:
115 Obsoletes: %{_lib}magick%{major}.0.0 < %{version}-%{release}
116
117 %description -n %{libname}
118 This package contains the libraries needed to run programs dynamically linked
119 with ImageMagick libraries.
120
121 %package -n %{develname}
122 Summary: Static libraries and header files for ImageMagick app development
123 Group: Development/C
124 Requires: %{libname} = %{version}
125 Provides: %{name}-devel = %{version}-%{release}
126 Provides: ImageMagick-devel = %{version}-%{release}
127 Provides: libmagick-devel = %{version}-%{release}
128 Provides: libMagick-devel = %{version}-%{release}
129 Obsoletes: ImageMagick-devel
130 Provides: libMagick5-devel = %{version}-%{release}
131 Obsoletes: libMagick5-devel
132 Conflicts: %{name} < 6.7.5.0-2
133 # 2006
134 Obsoletes: %{mklibname Magick 8.3.2 -d}
135 # 2007.0
136 Obsoletes: %{mklibname magick 10.4.0 -d} %{mklibname Magick 10.4.0 -d}
137 # 2007.1/2008.0
138 Obsoletes: %{mklibname magick 10.7.0 -d} %{mklibname Magick 10.7.0 -d}
139 # pre 2008.1
140 Obsoletes: %{mklibname magick 10.9.0 -d} %{mklibname Magick 10.9.0 -d}
141
142 %description -n %{develname}
143 If you want to create applications that will use ImageMagick code or APIs,
144 you'll need to install these packages as well as ImageMagick. These additional
145 packages aren't necessary if you simply want to use ImageMagick, however.
146
147 ImageMagick-devel is an addition to ImageMagick which includes static libraries
148 and header files necessary to develop applications.
149
150 %package -n perl-Image-Magick
151 Summary: Libraries and modules for access to ImageMagick from perl
152 Group: Development/Perl
153 Requires: %{name} = %{version}
154 Provides: perl-Magick = %{version}-%{release}
155 Obsoletes: perl-Magick
156
157 %description -n perl-Image-Magick
158 This is the ImageMagick perl support package. It includes perl modules and
159 support files for access to ImageMagick library from perl.
160
161 %package doc
162 Summary: %{name} Documentation
163 Group: Documentation
164 Obsoletes: ImageMagick-doc < 6.3.2.9-6
165 BuildArch: noarch
166
167 %description doc
168 This package contains HTML/PDF documentation of %{name}.
169
170 %prep
171
172 %setup -q -n ImageMagick-%{rversion}-%minor_rev
173
174 %patch0 -p1 -b .docdir
175 %patch2 -p0 -b .so
176 %patch7 -p0 -b .urw
177 %patch17 -p0 -b .fpx
178 %patch19 -p1 -b .libpath
179 %patch20 -p1 -b .ppc
180
181 bzcat %{SOURCE1} > ImageMagick.pdf
182 install -m 644 %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} .
183 autoreconf -fi
184
185 %build
186 #gw the format-string patch is incomplete:
187 %define Werror_cflags %nil
188 export CFLAGS="%{optflags} -fno-strict-aliasing -fPIC"
189 export CXXFLAGS="%{optflags} -fno-strict-aliasing -fPIC"
190
191 # don't use icecream
192 export PATH=/bin:/usr/bin
193
194 %configure2_5x \
195 --docdir=%{_defaultdocdir}/imagemagick \
196 --with-pic \
197 --enable-shared --disable-static \
198 --enable-fast-install \
199 --disable-ltdl-install \
200 --with-threads \
201 --with-magick_plus_plus \
202 --with-gslib \
203 --with-wmf \
204 --with-lcms \
205 --with-rsvg \
206 --with-xml \
207 --without-dps \
208 --without-windows-font-dir \
209 --with-modules \
210 --with-perl \
211 --without-included-ltdl --with-ltdl-include=%{_includedir} \
212 --with-ltdl-lib=%{_libdir} \
213 --with-perl-options="INSTALLDIRS=vendor CC='%{__cc} -L$PWD/magick/.libs' LDDLFLAGS='-shared -L$PWD/magick/.libs'" \
214 --with-jp2 \
215 --with-gvc \
216 --with-lqr
217
218 # without the following, it doesn't build correctly with "make -j 4"
219 perl -lpi -e '$_ .= " magick/libMagickCore.la" if index($_, q($(PERLMAKEFILE))) == 0' Makefile
220
221 # Disable rpath
222 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
223 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
224
225 %make
226
227 %if %{build_test}
228 %check
229 # these tests require X
230 if [ -f PerlMagick/t/x11/read.t ]; then
231 mv PerlMagick/t/x11/read.t PerlMagick/t/x11/read.t.disabled
232 fi
233 if [ -f PerlMagick/t/x11/write.t ]; then
234 mv PerlMagick/t/x11/write.t PerlMagick/t/x11/write.t.disabled
235 fi
236 #dlname=`grep "^dlname" Magick++/lib/.libs/libMagick++.la | cut -d\' -f2`
237 #LD_PRELOAD="$PWD/Magick++/lib/.libs/$dlname" VERBOSE="1" make check
238 make check
239 %endif
240
241 %install
242 # (Abel) set LD_RUN_PATH to null, to avoid adding rpath to perlmagick module
243 %makeinstall_std LD_RUN_PATH="" pkgdocdir=/installed_docs
244
245 # fix docs inclusion (fix an unknown new rpm bug)
246 rm -rf installed_docs; mv %{buildroot}/installed_docs .
247
248 # Remove unpackaged files
249 find %{buildroot} -name '*.la' -delete
250
251 %multiarch_binaries %{buildroot}%{_bindir}/Magick-config
252 %multiarch_binaries %{buildroot}%{_bindir}/Magick++-config
253 %multiarch_binaries %{buildroot}%{_bindir}/MagickCore-config
254 %multiarch_binaries %{buildroot}%{_bindir}/MagickWand-config
255 %multiarch_binaries %{buildroot}%{_bindir}/Wand-config
256 %multiarch_includes %{buildroot}%{_includedir}/ImageMagick/magick/magick-config.h
257
258 # nuke rpath
259 chrpath -d %{buildroot}%{perl_vendorarch}/auto/Image/Magick/Magick.so
260
261 # icons
262 install -m 755 -d %{buildroot}%{_liconsdir} \
263 %{buildroot}%{_iconsdir} \
264 %{buildroot}%{_iconsdir}/hicolor/64x64/apps \
265 %{buildroot}%{_miconsdir}
266 install -m 644 magick-icon_16x16.png %{buildroot}%{_miconsdir}/%{name}.png
267 install -m 644 magick-icon_32x32.png %{buildroot}%{_iconsdir}/%{name}.png
268 install -m 644 magick-icon_48x48.png %{buildroot}%{_liconsdir}/%{name}.png
269 install -m 644 magick-icon_64x64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/%{name}.png
270
271
272 install -m 755 -d %{buildroot}%{_datadir}/applications/
273 cat > %{buildroot}%{_datadir}/applications/%{_real_vendor}-%{name}.desktop << EOF
274 [Desktop Entry]
275 Name=ImageMagick
276 Comment=Views Graphics files
277 Exec=%{_bindir}/xterm -geometry 40x15 -title ImageMagick +sb -iconic -e %{_bindir}/display
278 Icon=%{name}
279 Terminal=false
280 Type=Application
281 Categories=Graphics;Viewer;
282 EOF
283
284 %files
285 %doc README.txt
286 %{_sysconfdir}/ImageMagick
287 %{_bindir}/animate
288 %{_bindir}/compare
289 %{_bindir}/composite
290 %{_bindir}/convert
291 %{_bindir}/conjure
292 %{_bindir}/display
293 %{_bindir}/identify
294 %{_bindir}/import
295 %{_bindir}/mogrify
296 %{_bindir}/montage
297 %{_bindir}/stream
298 %{_libdir}/ImageMagick-%{rversion}
299 %{_datadir}/ImageMagick-%{rversion}
300 %{_mandir}/man1/*
301 %exclude %{_mandir}/man1/*-config.*
302
303 %files desktop
304 %{_datadir}/applications/*
305 %{_iconsdir}/%{name}.png
306 %{_liconsdir}/%{name}.png
307 %{_miconsdir}/%{name}.png
308 %{_iconsdir}/hicolor/64x64/apps/%{name}.png
309
310 %files -n %{libname}
311 %{_libdir}/libMagick++.so.%{major}*
312 %{_libdir}/libMagickCore.so.%{major}*
313 %{_libdir}/libMagickWand.so.%{major}*
314
315 %files -n %{develname}
316 %{_includedir}/ImageMagick
317 %multiarch %{multiarch_bindir}/Magick-config
318 %multiarch %{multiarch_bindir}/Magick++-config
319 %multiarch %{multiarch_bindir}/MagickCore-config
320 %multiarch %{multiarch_bindir}/MagickWand-config
321 %multiarch %{multiarch_bindir}/Wand-config
322 %multiarch %dir %{multiarch_includedir}/ImageMagick
323 %multiarch %dir %{multiarch_includedir}/ImageMagick/magick
324 %multiarch %{multiarch_includedir}/ImageMagick/magick/magick-config.h
325 %{_bindir}/Magick-config
326 %{_bindir}/Magick++-config
327 %{_bindir}/MagickCore-config
328 %{_bindir}/MagickWand-config
329 %{_bindir}/Wand-config
330 %{_libdir}/*.so
331 %{_libdir}/pkgconfig/*.pc
332 %{_mandir}/man1/*-config.*
333
334 %files -n perl-Image-Magick
335 %{perl_vendorarch}/Image
336 %{perl_vendorarch}/auto/Image
337 %{_mandir}/man3*/*::*.3pm*
338
339 %files doc
340 %doc ImageMagick.pdf ChangeLog LICENSE NEWS* NOTICE
341 %doc QuickStart.txt installed_docs/*

  ViewVC Help
Powered by ViewVC 1.1.26