]> git.pld-linux.org Git - packages/ming.git/blob - ming.spec
- versioned Obsoletes, drop .la file, added fixes for swig 4.x; release 16
[packages/ming.git] / ming.spec
1 #
2 # Conditional build:
3 %bcond_with     php     # PHP binding
4 %bcond_with     java    # Java binding (native library build broken)
5 %bcond_with     ruby    # Ruby binding (unfinished)
6
7 Summary:        Ming - an SWF output library
8 Summary(pl.UTF-8):      Ming - biblioteka do produkcji plików SWF
9 Name:           ming
10 Version:        0.4.8
11 %define ver_tag %(echo %{version} | tr . _)
12 Release:        14
13 License:        LGPL v2.1+
14 Group:          Libraries
15 #Source0Download: https://github.com/libming/libming/releases
16 Source0:        https://github.com/libming/libming/archive/%{name}-%{ver_tag}.tar.gz
17 # Source0-md5:  70c28c1e41d5888aa158e6e15644b742
18 Patch0:         %{name}-perl-shared.patch
19 Patch1:         am.patch
20 Patch2:         flex.patch
21 Patch3:         tcl-libx32.patch
22 URL:            http://www.libming.net/
23 BuildRequires:  autoconf
24 BuildRequires:  automake
25 BuildRequires:  bison
26 BuildRequires:  flex
27 BuildRequires:  freetype-devel >= 2
28 BuildRequires:  giflib-devel >= 4.1
29 %{?with_java:BuildRequires:     jdk}
30 BuildRequires:  libpng-devel
31 BuildRequires:  libstdc++-devel
32 BuildRequires:  libtool >= 2:1.5
33 BuildRequires:  python-devel >= 1:2.4
34 BuildRequires:  rpm-perlprov >= 4.0.2-24
35 BuildRequires:  rpm-pythonprov
36 BuildRequires:  rpmbuild(macros) >= 1.344
37 %{?with_ruby:BuildRequires:     ruby-devel}
38 BuildRequires:  swig
39 BuildRequires:  swig-tcl
40 BuildRequires:  tcl
41 BuildRequires:  tcl-devel
42 BuildRequires:  zlib-devel
43 %if %{with php}
44 BuildRequires:  %{php_name}-program
45 BuildRequires:  %{php_name}-devel >= 4:5.3
46 %endif
47 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48
49 %description
50 Ming is a C library for generating SWF ("Flash") format movies, plus a
51 set of wrappers for using the library from c++ and popular scripting
52 languages like PHP, Python, and Ruby.
53
54 %description -l pl.UTF-8
55 Ming jest biblioteką w C do generowania animacji w formacie SWF
56 ("Flash") wraz z zestawem wrapperów do używania jej z C++ i
57 popularnymi językami skryptowymi, takimi jak PHP, Python i Ruby.
58
59 %package devel
60 Summary:        Ming development files
61 Summary(pl.UTF-8):      Pliki dla programistów Ming
62 Group:          Development/Libraries
63 Requires:       %{name} = %{version}-%{release}
64 Requires:       giflib-devel
65
66 %description devel
67 Header files for ming library (C and C++).
68
69 %description devel -l pl.UTF-8
70 Pliki nagłówkowe dla biblioteki ming (do C i C++).
71
72 %package static
73 Summary:        Ming static library
74 Summary(pl.UTF-8):      Statyczna biblioteka Ming
75 Group:          Development/Libraries
76 Requires:       %{name}-devel = %{version}-%{release}
77
78 %description static
79 Static Ming library.
80
81 %description static -l pl.UTF-8
82 Statyczna biblioteka Ming.
83
84 %package utils
85 Summary:        Ming utilities
86 Summary(pl.UTF-8):      Narzędzia Ming
87 Group:          Applications/File
88
89 %description utils
90 Ming utilities:
91 - listswf - swf format disassembler
92 - listfdb - show contents of fdb font file
93 - makefdb - rip fdb font definition files out of a generator template
94   file
95 - swftophp - attempt to make a php/ming script out of an swf file
96
97 %description utils -l pl.UTF-8
98 Narzędzia Ming:
99 - listswf - disasembler plików swf
100 - listfdb - pokazuje zawartość plików fontów fdb
101 - makefdb - wyciąga pliki definicji fontów fdb z pliku generatora
102 - swftophp - próbuje zrobić skrypt php/ming z pliku swf
103
104 %package -n java-ming
105 Summary:        Ming Java classes
106 Summary(pl.UTF-8):      Klasy Ming dla Javy
107 Group:          Libraries/Java
108 Requires:       %{name} = %{version}-%{release}
109
110 %description -n java-ming
111 Ming Java classes.
112
113 %description -n java-ming -l pl.UTF-8
114 Klasy Ming dla Javy.
115
116 %package -n perl-ming
117 Summary:        Ming Perl module
118 Summary(pl.UTF-8):      Moduł Perla Ming
119 Group:          Development/Languages/Perl
120 Requires:       %{name} = %{version}-%{release}
121 Obsoletes:      ming-perl
122
123 %description -n perl-ming
124 Ming perl module - perl wrapper for Ming library.
125
126 %description -n perl-ming -l pl.UTF-8
127 Moduł perla Ming - perlowy wrapper do biblioteki Ming.
128
129 %package -n %{php_name}-ming
130 Summary:        Ming module for PHP
131 Summary(pl.UTF-8):      Moduł Ming dla PHP
132 Group:          Development/Languages/PHP
133 Requires:       %{name} = %{version}-%{release}
134 %{?requires_php_extension}
135
136 %description -n %{php_name}-ming
137 PHP interface to Ming SWF generating library.
138
139 %description -n %{php_name}-ming -l pl.UTF-8
140 Interfejs PHP do biblioteki Ming generującej pliki SWF.
141
142 %package -n python-ming
143 Summary:        Ming Python module
144 Summary(pl.UTF-8):      Moduł biblioteki Ming dla języka Python
145 Group:          Development/Languages/Perl
146 Requires:       %{name} = %{version}-%{release}
147 Requires:       python-libs
148
149 %description -n python-ming
150 Ming Python module.
151
152 %description -n python-ming -l pl.UTF-8
153 Moduł biblioteki Ming dla języka Python.
154
155 %package -n tcl-ming
156 Summary:        Ming module for Tcl
157 Summary(pl.UTF-8):      Moduł Ming dla Tcl-a
158 Group:          Development/Languages/Tcl
159 Requires:       %{name} = %{version}-%{release}
160 Requires:       tcl
161
162 %description -n tcl-ming
163 Tcl interface to Ming SWF generating library.
164
165 %description -n tcl-ming -l pl.UTF-8
166 Interfejs Tcl do biblioteki Ming generującej pliki SWF.
167
168 %prep
169 %setup -q -n libming-%{name}-%{ver_tag}
170 %patch0 -p1
171 %patch1 -p1
172 %patch2 -p1
173 %patch3 -p1
174
175 %build
176 %{__libtoolize}
177 %{__aclocal} -I macros
178 %{__autoconf}
179 %{__autoheader}
180 %{__automake}
181 %configure \
182         --enable-perl \
183         %{?with_php:--enable-php} \
184         --enable-python \
185         --enable-tcl \
186         --disable-silent-rules
187
188 %{__make} -j1 \
189         mingc_ladir=%{_libdir}/tclming
190
191 %if %{with java}
192 %{__make} -C java_ext
193 CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
194 %{__make} -C java_ext/native \
195         CXX="%{__cxx}" \
196         LDFLAGS="%{rpmldflags} -L../../src/.libs -lming" \
197         JAVADIR=%{_jvmdir}/java \
198         NOVAR_SHLIBEXT=".so"
199 %endif
200
201 %if %{with ruby}
202 cd rb_ext
203 ln -sf ../src/.libs/libming.so .
204 ruby extconf.rb \
205         --with-ming-include=../src \
206         --with-ming-lib=../src/.libs
207 %{__make} \
208         CC="%{__cc}" \
209         optflags="%{rpmcflags}"
210 cd ..
211 %endif
212
213 %install
214 rm -rf $RPM_BUILD_ROOT
215 %{__make} install \
216         DESTDIR=$RPM_BUILD_ROOT \
217         mingc_ladir=%{_libdir}/tclming
218
219 %if %{with php}
220 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
221 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/ming.ini
222 ; Enable ming extension module
223 extension=ming.so
224 EOF
225 %endif
226
227 %if %{with java}
228 install -Dp java_ext/jswf.jar RPM_BUILD_ROOT%{_javadir}/jswf.jar
229 install java_ext/native/libjswf.so $RPM_BUILD_ROOT%{_libdir}
230 %endif
231
232 %if %{with ruby}
233 %{__make} -C rb_ext install \
234         DESTDIR=$RPM_BUILD_ROOT
235 %endif
236
237 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/SWF/.packlist
238 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
239 %{__rm} $RPM_BUILD_ROOT%{py_sitedir}/ming*.py
240 %{__rm} $RPM_BUILD_ROOT%{_libdir}/tclming/*.{la,a}
241
242 %clean
243 rm -rf $RPM_BUILD_ROOT
244
245 %post   -p /sbin/ldconfig
246 %postun -p /sbin/ldconfig
247
248 %files
249 %defattr(644,root,root,755)
250 %doc AUTHORS NEWS README TODO
251 %attr(755,root,root) %{_libdir}/libming.so.*.*.*
252 %attr(755,root,root) %ghost %{_libdir}/libming.so.1
253
254 %files devel
255 %defattr(644,root,root,755)
256 %attr(755,root,root) %{_libdir}/libming.so
257 %{_libdir}/libming.la
258 %{_includedir}/ming.h
259 %{_includedir}/mingpp.h
260 %{_pkgconfigdir}/libming.pc
261
262 %files static
263 %defattr(644,root,root,755)
264 %{_libdir}/libming.a
265
266 %files utils
267 %defattr(644,root,root,755)
268 %doc util/{README,TODO}
269 %attr(755,root,root) %{_bindir}/dbl2png
270 %attr(755,root,root) %{_bindir}/gif2dbl
271 %attr(755,root,root) %{_bindir}/gif2mask
272 %attr(755,root,root) %{_bindir}/listaction
273 %attr(755,root,root) %{_bindir}/listaction_d
274 %attr(755,root,root) %{_bindir}/listfdb
275 %attr(755,root,root) %{_bindir}/listjpeg
276 %attr(755,root,root) %{_bindir}/listmp3
277 %attr(755,root,root) %{_bindir}/listswf
278 %attr(755,root,root) %{_bindir}/listswf_d
279 %attr(755,root,root) %{_bindir}/makefdb
280 %attr(755,root,root) %{_bindir}/makeswf
281 %attr(755,root,root) %{_bindir}/ming-config
282 %attr(755,root,root) %{_bindir}/png2dbl
283 %attr(755,root,root) %{_bindir}/raw2adpcm
284 %attr(755,root,root) %{_bindir}/swftocxx
285 %attr(755,root,root) %{_bindir}/swftoperl
286 %attr(755,root,root) %{_bindir}/swftophp
287 %attr(755,root,root) %{_bindir}/swftopython
288 %attr(755,root,root) %{_bindir}/swftotcl
289
290 %if %{with java}
291 %files -n java-ming
292 %defattr(644,root,root,755)
293 %attr(755,root,root) %{_libdir}/libjswf.so
294 %{_javadir}/jswf.jar
295 %endif
296
297 %files -n perl-ming
298 %defattr(644,root,root,755)
299 %doc perl_ext/{README,TODO}
300 %{perl_vendorarch}/SWF.pm
301 %{perl_vendorarch}/SWF
302 %dir %{perl_vendorarch}/auto/SWF
303 %attr(755,root,root) %{perl_vendorarch}/auto/SWF/SWF.so
304 %{_mandir}/man3/SWF*.3pm*
305
306 %if %{with php}
307 %files -n %{php_name}-ming
308 %defattr(644,root,root,755)
309 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/ming.ini
310 %attr(755,root,root) %{php_extensiondir}/ming.so
311 %endif
312
313 %files -n python-ming
314 %defattr(644,root,root,755)
315 %doc py_ext/{README,TODO}
316 %attr(755,root,root) %{py_sitedir}/_mingc.so
317 %{py_sitedir}/ming*.py[co]
318 %if "%{py_ver}" > "2.4"
319 %{py_sitedir}/mingc-%{version}-py*.egg-info
320 %endif
321
322 %files -n tcl-ming
323 %defattr(644,root,root,755)
324 %doc tcl_ext/README
325 %dir %{_libdir}/tclming
326 %attr(755,root,root) %{_libdir}/tclming/mingc.so
This page took 0.113737 seconds and 3 git commands to generate.