1%define _gprdir %_GNAT_project_dir
2Name:       matreshka
3Version:    0.7.0
4Release:    1%{?dist}
5Summary:    Set of Ada libraries to help to develop information systems
6Group:      System Environment/Libraries
7License:    BSD
8URL:        http://forge.ada-ru.org/matreshka
9Source0:    http://forge.ada-ru.org/matreshka/downloads/%{name}-%{version}.tar.gz
10## fedora specific
11Patch1:          %{name}-%{version}_gprnames.patch
12## fedora has stable release ABI. so we haven't to specify RTL
13Patch4:          %{name}-%{version}_gpr.patch
14BuildRequires:   gcc-gnat
15BuildRequires:   fedora-gnat-project-common  >= 3
16BuildRequires:   chrpath
17BuildRequires:   gprbuild valgrind
18BuildRequires:   postgresql-devel sqlite-devel
19
20# gcc-gnat only available on these:
21ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 alpha
22
23%description
24Matreshka is a set of Ada libraries to help to develop information systems.
25It includes:
26
27* League --- provides support for localization,
28internationalization and globalization; including:
29-- unbounded form of string of Unicode characters;
30   cursors to iterate other characters and grapheme clusters;
31   advanced locale tailored operations such as case conversion,
32   case folding, collation, normalization;
33-- regular expression engine with Perl-style syntax and Unicode extensions;
34-- text codec to convert data streams into/from internal representation;
35-- message translator to translate messages into natural language
36   which is selected by user;
37-- access to command line arguments and environment
38   variables as Unicode encoded strings.
39-- XML processor --- provides capability to manipulate with XML streams
40   and documents;including:
41-- SAX reader to read XML streams and documents;
42   it supports both XML1.0/XML1.1 specifications.
43-- SAX writer to generate XML streams and documents from application.
44
45%package devel
46
47Group:      Development/Libraries
48License:    BSD
49Summary:    Devel package for Matreshka
50Requires:       %{name}%{?_isa} = %{version}-%{release}
51Requires:   fedora-gnat-project-common  >= 2
52
53%description devel
54Devel package for matreshka
55
56%package fastcgi
57Summary:    Web framework based on Matreshka
58License:    BSD
59Group:      System Environment/Libraries
60Requires:       %{name}%{?_isa} = %{version}-%{release}
61
62%description fastcgi
63Web framework
64-- FastCGI module allows to develop server side applications completely in Ada
65   and use them with standard HTTP servers ( demo).
66
67
68%package fastcgi-devel
69Summary:    Devel package for  Matreshka-fastcgi
70License:    BSD
71Group:      Development/Libraries
72Requires:   %{name}-fastcgi%{?_isa} = %{version}-%{release}
73Requires:   %{name}-devel%{?_isa} = %{version}-%{release}
74Requires:   fedora-gnat-project-common  >= 2
75
76%description fastcgi-devel
77%{summary}
78
79%package soap-core
80Summary:    Framework for work with SOAP 1.2
81License:    BSD
82Group:      System Environment/Libraries
83Requires:   %{name}%{?_isa} = %{version}-%{release}
84
85%description soap-core
86Implementation of SOAP 1.2 in Matreshka.
87
88%package soap-core-devel
89Summary:    Devel package for Matreshka-soap-core
90License:    BSD
91Group:      Development/Libraries
92Requires:   %{name}-soap-core%{?_isa} = %{version}-%{release}
93Requires:   %{name}-devel%{?_isa}  = %{version}-%{release}
94Requires:   fedora-gnat-project-common  >= 2
95
96%description soap-core-devel
97%{summary}
98
99%package soap-wsse
100Summary:    WS-Security 1.1 implementation for Matreshka-soap-core
101License:    BSD
102Group:      System Environment/Libraries
103Requires:   %{name}-soap-core%{?_isa}  = %{version}-%{release}
104
105%description soap-wsse
106%{summary}.
107
108%package soap-wsse-devel
109Summary:    Devel package for Matreshka-soap-wsse
110License:    BSD
111Group:      Development/Libraries
112Requires:   %{name}-soap-wsse%{?_isa} = %{version}-%{release}
113Requires:   %{name}-soap-core-devel%{?_isa}  = %{version}-%{release}
114Requires:   fedora-gnat-project-common  >= 2
115
116%description soap-wsse-devel
117%{summary}
118
119%package sql-core
120Summary:    Framework for work with SQL databases based on Matreshka
121License:    BSD
122Group:      System Environment/Libraries
123Requires:   %{name}%{?_isa}  = %{version}-%{release}
124
125%description sql-core
126SQL database access provides simple generic API to access to SQL databases.
127
128%package sql-core-devel
129Summary:    Devel package for Matreshka-sql-core
130License:    BSD
131Group:      Development/Libraries
132Requires:   %{name}-sql-core%{?_isa} = %{version}-%{release}
133Requires:   %{name}-devel%{?_isa}  = %{version}-%{release}
134Requires:   fedora-gnat-project-common  >= 2
135
136%description sql-core-devel
137%{summary}
138
139%package sql-sqlite
140Summary:    SQLite bindings for Ada
141License:    BSD
142Group:      System Environment/Libraries
143Requires:   %{name}-sql-core%{?_isa}  = %{version}-%{release}
144
145%description sql-sqlite
146%{summary}
147
148%package sql-sqlite-devel
149Summary:    Devel package for Matreshka-sql-sqlite
150License:    BSD
151Group:      Development/Libraries
152Requires:   %{name}-sql-sqlite%{?_isa} = %{version}-%{release}
153Requires:   %{name}-sql-core-devel%{?_isa}  = %{version}-%{release}
154Requires:   fedora-gnat-project-common  >= 2
155
156%description sql-sqlite-devel
157%{summary}
158
159%package sql-postgresql
160Summary:    postgresql bindings for Ada
161License:    BSD
162Group:      System Environment/Libraries
163Requires:   %{name}%{?_isa}  = %{version}-%{release}
164Requires:   %{name}-sql-core%{?_isa}  = %{version}-%{release}
165
166%description sql-postgresql
167%{summary}
168
169%package sql-postgresql-devel
170Summary:    Devel package for Matreshka-sql-postgresql
171License:    BSD
172Group:      Development/Libraries
173Requires:   %{name}-sql-postgresql%{?_isa} = %{version}-%{release}
174Requires:   %{name}-sql-core-devel%{?_isa}  = %{version}-%{release}
175Requires:   fedora-gnat-project-common  >= 2
176
177%description sql-postgresql-devel
178%{summary}
179
180
181%package xml
182Summary:    Manipulate with XML streams and document
183License:    BSD
184Group:      System Environment/Libraries
185Requires:   %{name}%{?_isa}  = %{version}-%{release}
186
187%description xml
188XML processor  provides capability to manipulate
189with XML streams and documents; including:
190
191  SAX reader to read XML streams and documents;
192  it supports XML1.0 (Fifth Edition),
193  XML1.1 (Second Edition),
194  Namespaces in XML  and XML Base specifications;
195
196  SAX writer to generate XML streams
197  and documents from application;
198
199  XML Catalogs resolver .
200%package xml-devel
201Summary:    Devel package for Matreshka-xml
202License:    BSD
203Group:      Development/Libraries
204Requires:   %{name}-xml%{?_isa} = %{version}-%{release}
205Requires:   fedora-gnat-project-common  >= 2
206
207%description xml-devel
208%{summary}
209
210%package amf
211Summary:    Implementation of OMG's Meta Object Facility (MOF)
212License:    BSD
213Group:      System Environment/Libraries
214Requires:   %{name}%{?_isa}  = %{version}-%{release}
215Requires:   %{name}-xml%{?_isa}  = %{version}-%{release}
216
217%description amf
218Ada Modeling Framework provides implementation of OMG's Meta Object Facility (MOF)
219written completely in Ada. Extension modules is provided to analyze/modify:
220    UML models
221        MOF Extensions models to support metamodeling 0.3
222        OCL models 0.3
223
224%package amf-devel
225Summary:    Devel package for Matreshka-amf
226License:    BSD
227Group:      Development/Libraries
228Requires:   %{name}-amf%{?_isa} = %{version}-%{release}
229Requires:   fedora-gnat-project-common  >= 2
230
231%description amf-devel
232%{summary}
233
234%package amf-dd
235Summary:    Diagram Definition (DD) specification support for AMF
236License:    BSD
237Group:      System Environment/Libraries
238Requires:   %{name}-amf%{?_isa} = %{version}-%{release}
239
240%description amf-dd
241Diagram Definition (DD) specification support for AMF.
242
243%package amf-dd-devel
244Summary:    Devel package for Matreshka-dd
245License:    BSD
246Group:      Development/Libraries
247Requires:   %{name}-amf-dd%{?_isa} = %{version}-%{release}
248Requires:   fedora-gnat-project-common  >= 2
249
250%description amf-dd-devel
251%{summary}
252
253%package amf-uml
254Summary:    Implementation of OMG's Meta Object Facility (MOF)
255License:    BSD
256Group:      System Environment/Libraries
257Requires:   %{name}-amf%{?_isa} = %{version}-%{release}
258
259%description amf-uml
260Ada Modeling Framework provides implementation of OMG's Meta Object Facility (MOF)
261written completely in Ada. Extension modules is provided to analyze/modify:
262    UML models
263        MOF Extensions models to support metamodeling 0.3
264        OCL models 0.3
265
266%package amf-uml-devel
267Summary:    Devel package for Matreshka-uml
268License:    BSD
269Group:      Development/Libraries
270Requires:   %{name}-amf-uml%{?_isa} = %{version}-%{release}
271Requires:   fedora-gnat-project-common  >= 2
272
273%description amf-uml-devel
274%{summary}
275
276%package amf-utp
277Summary:    The UML Testing Profile for matreshka
278License:    BSD
279Group:      System Environment/Libraries
280Requires:   %{name}-amf%{?_isa} = %{version}-%{release}
281
282%description amf-utp
283%{summary}
284
285
286%package amf-utp-devel
287Summary:    Devel package for Matreshka-uml
288License:    BSD
289Group:      Development/Libraries
290Requires:   %{name}-amf-utp%{?_isa} = %{version}-%{release}
291Requires:   fedora-gnat-project-common  >= 2
292
293%description amf-utp-devel
294%{summary}
295
296%package amf-ocl
297Summary:    The UML OCL for matreshka
298License:    BSD
299Group:      System Environment/Libraries
300Requires:   %{name}-amf%{?_isa} = %{version}-%{release}
301
302%description amf-ocl
303%{summary}
304
305%package amf-ocl-devel
306Summary:    Devel package for Matreshka-amf-ocl
307License:    BSD
308Group:      Development/Libraries
309Requires:   %{name}-amf-ocl%{?_isa} = %{version}-%{release}
310Requires:   fedora-gnat-project-common  >= 2
311
312%description amf-ocl-devel
313%{summary}
314
315%package amf-mofext
316Summary:    The UML mofext for matreshka
317License:    BSD
318Group:      System Environment/Libraries
319Requires:   %{name}-amf%{?_isa} = %{version}-%{release}
320
321%description amf-mofext
322%{summary}
323
324
325%package amf-mofext-devel
326Summary:    Devel package for Matreshka-amf-mofext
327License:    BSD
328Group:      Development/Libraries
329Requires:   %{name}-amf-mofext%{?_isa} = %{version}-%{release}
330Requires:   fedora-gnat-project-common  >= 2
331
332%description amf-mofext-devel
333%{summary}
334
335%prep
336%setup -q
337%patch1 -p1 -b .names
338cd gnat/install && for i in `ls *.gpr` ; do mv $i matreshka_$i ; done
339cd -
340%patch4 -p1 -b .gprfix
341
342%build
343export GPRBUILD_FLAGS="%Gnatmake_optflags"
344make config
345%configure
346make  %{?_smp_mflags}
347
348%check
349## find libs without RPATH, Fedora specific
350export LD_LIBRARY_PATH="%{buildroot}/%{_libdir}/:$LD_LIBRARY_PATH"
351make %{?_smp_mflags} GNAT_OPTFLAGS="%{GNAT_optflags}" check
352
353%install
354rm -rf %{buildroot}
355make install DESTDIR=%{buildroot} INSTALL_LIBRARY_DIR=%{buildroot}/%{_libdir} PREFIX=%{_prefix} INSTALL_PROJECT_DIR="%{buildroot}/%{_GNAT_project_dir}"
356## Delete rpath
357chrpath --delete %{buildroot}%{_libdir}/lib*
358
359%post     -p /sbin/ldconfig
360%postun   -p /sbin/ldconfig
361
362%post   sql-core  -p /sbin/ldconfig
363%postun sql-core  -p /sbin/ldconfig
364
365%post   fastcgi  -p /sbin/ldconfig
366%postun fastcgi  -p /sbin/ldconfig
367
368%post   sql-sqlite  -p /sbin/ldconfig
369%postun sql-sqlite  -p /sbin/ldconfig
370
371%post   sql-postgresql  -p /sbin/ldconfig
372%postun sql-postgresql  -p /sbin/ldconfig
373
374%files -f .objs/league-lib.files
375%doc CONTRIBUTORS  LICENSE
376
377%files devel -f .objs/league-devel.files
378%doc README
379
380%files fastcgi -f .objs/fastcgi-lib.files
381
382%files fastcgi-devel -f .objs/fastcgi-devel.files
383
384%files soap-core -f .objs/soap-lib.files
385%{_bindir}/wsdl2ada
386
387%files soap-core-devel -f .objs/soap-devel.files
388
389%files soap-wsse -f .objs/soap_wsse-lib.files
390
391%files soap-wsse-devel -f .objs/soap_wsse-devel.files
392
393%files sql-core -f .objs/sql-lib.files
394
395%files sql-core-devel -f .objs/sql-devel.files
396
397%files sql-sqlite -f .objs/sql_sqlite3-lib.files
398
399%files sql-sqlite-devel -f .objs/sql_sqlite3-devel.files
400
401%files sql-postgresql -f .objs/sql_postgresql-lib.files
402
403%files sql-postgresql-devel -f .objs/sql_postgresql-devel.files
404
405%files xml -f .objs/xml-lib.files
406
407%files xml-devel -f .objs/xml-devel.files
408
409%files amf -f .objs/amf-lib.files
410
411%files amf-devel -f .objs/amf-devel.files
412
413%files amf-dd -f .objs/amf_dd-lib.files
414
415%files amf-dd-devel -f .objs/amf_dd-devel.files
416
417%files amf-uml -f .objs/amf_uml-lib.files
418
419%files amf-uml-devel -f .objs/amf_uml-devel.files
420
421%files amf-utp -f .objs/amf_utp-lib.files
422
423%files amf-utp-devel -f .objs/amf_utp-devel.files
424
425%files amf-ocl -f .objs/amf_ocl-lib.files
426
427%files amf-ocl-devel -f .objs/amf_ocl-devel.files
428
429%files amf-mofext -f .objs/amf_mofext-lib.files
430
431%files amf-mofext-devel -f .objs/amf_mofext-devel.files
432
433%changelog
434* Thu Sep 19 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 0.5.1-1
435- Bugfix release 0.5.1
436
437* Wed Sep 18 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 0.5.0-3
438- add valgrind suppressions
439- fix parallel make
440
441* Tue Sep 17 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 0.5.0-1
442- update to 0.5.0
443
444* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-2
445- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
446
447* Thu Apr 25 2013 Tom Callaway <spot@fedoraproject.org> - 0.4.0-1
448- update to 0.4.0
449
450* Tue Feb 12 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 0.3.0-4
451- Revuild with new libgnat 4.8
452
453* Mon Dec 10 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 0.3.0-3
454- Add valgrind to BR (nedded for tests)
455
456* Sun Sep 30 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 0.3.0-2
457- Add gpr patch
458
459* Mon Sep 24 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 0.3.0-1
460- Release 0.3.0
461
462* Tue Apr 3 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 0.2.0-5
463- Fix projects names
464
465* Sat Mar 24 2012 Pavel Zhukov <landgraf@fedoraproject.org> - 0.2.0-3
466- Update to 0.2.0
467- Fix filelist
468- Add files list
469
470* Wed Aug 31 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.1-9
471- fix BR, ExcludeArch
472
473* Sat Aug 27 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.1-8
474- Fix Architectures in gpr
475
476* Wed Aug 17 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.1-6
477- Add gpr patch
478- Remove unuseable code
479- Add optflags to check
480- Fix LD_LIBRARY_PATH in tests
481
482* Wed Jul 06 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.1-1
483- Update to upstream release
484
485* Tue May 24 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.0-1
486- Update to upstream release
487
488* Mon Apr 25 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.0-3.20110326svn
489- fix spec errors
490- move gpr files to %%{_GNAT_project_dir}/%%{name}
491
492* Sat Mar 26 2011 Pavel Zhukov <landgraf@fedoraproject.org> - 0.1.0-20110326svn
493- update to upstream svn trunk
494
495* Sat Feb 5 2011 Pavel Zhukov <pavel@zhukoff.net> - 0.0.7-1
496- Initial package
497