Package vala: Specfile

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
# Vala is written in Vala itself. To solve bootstrap problem we pre-compile it to C
# and use those C sources during bootstrap phase. Next package rebuilds must be done
# without bootstrap define.
%def_with bootstrap
%define api_ver 0.36

Name: vala
Version: 0.36.4
Release: alt0.M80P.1
Group: Development/C
Summary: Vala is a programming language which makes GNOME programming easy
License: LGPL
Url: https://wiki.gnome.org/Projects/Vala
Packager: GNOME Maintainers Team <gnome@packages.altlinux.org>

Source: %name-%version.tar
%if_with bootstrap
Patch: %name-%version-%release-pregenerated.patch
%endif
Patch1: %name-%version-%release-fixes.patch
PreReq: rpm-build-vala
PreReq: vapi-common = %version-%release
BuildRequires: flex glib2-devel >= 2.32.0  libgio-devel xsltproc dbus-tools-gui gobject-introspection-devel
BuildPreReq: /proc rpm-build-vala
%if_without bootstrap
BuildRequires: vala >= 0.25.1
%endif

%description
Vala is a programming language that aims to bring modern programming language
features to GNOME developers without imposing any additional runtime requirements and
without using a different ABI compared to applications and libraries written in C.

Vala is designed to allow access to existing C libraries, especially GObject-based
libraries, without the need for runtime bindings. Each to be used library requires a Vala
API file at compile-time, containing the class and method declarations in Vala
syntax. Vala currently comes with experimental bindings for GLib and GTK+. It's planned to
provide generated bindings for the full GNOME Platform at a later stage.

%package -n vapi-common
Summary: Common empty package with dir for vapi files
Group: Development/Other
BuildArch: noarch
Provides: %_datadir/vala/vapi

%description -n vapi-common
Common empty package with dir for vapi files.

%package -n lib%name-devel
Summary: Development files for embedding Vala translator
Group: Development/C
Requires: %name = %version-%release

%description -n lib%name-devel
Vala is a programming language that aims to bring modern programming language
features to GNOME developers without imposing any additional runtime requirements and
without using a different ABI compared to applications and libraries written in C.

This package contains infrastructure files to embed Vala translator into your programs

%package doc
Summary: Documentation for Vala programming language
Group: Development/Documentation
BuildArch: noarch
Conflicts: %name < %version

%description doc
Vala is a programming language that aims to bring modern programming language
features to GNOME developers without imposing any additional runtime requirements and
without using a different ABI compared to applications and libraries written in C.

This package contains Vala documentation for GNOME DevHelp.

%package tools
Summary: Tools for creating Vala API specifications and new projects
Group: Development/C
Requires: %name = %version-%release

%description tools
Vala is a programming language that aims to bring modern programming language
features to GNOME developers without imposing any additional runtime requirements and
without using a different ABI compared to applications and libraries written in C.

This packages contains additional tools to generate Vala projects and API specifications
for existing C and C++ libraries.

%prep
%setup -q
%patch1 -p1

# Automake now requires to have ChangeLog and m4, fake them
touch ChangeLog
mkdir -p m4

# version in .tarball-version file
echo "%version" > .tarball-version

# whether external bootstrapping is in use or not we always want to build
# a compiler with the compiler itself. So first compile an intermediate
# (bootstrapping) compiler in a separate directory

%if_with bootstrap
# create a copy of sources. it's not that neat but otherwise
# our bootstrapping patch would "taint" sources used for
# the final build

mkdir bootstrap-build
# copy everythig but bootstrap-build recursively to bootstrap-build
find ./ -mindepth 1 -maxdepth 1 \( -name 'bootstrap-*' -prune -o \
	-exec cp -pr {} bootstrap-build \; \)
cd bootstrap-build
# apply pregenerated patch
%patch0 -p1
cd ..
%else
# use the directory for the "off-source" build
mkdir bootstrap-build
%endif

%build

autoreconf -v --install

# build an intermediate version of the compiler
BSINSTALL=$(pwd)/bootstrap-install
mkdir "$BSINSTALL"

cd bootstrap-build

%if_with bootstrap
autoreconf -v --install
./configure --prefix="$BSINSTALL"

# Make stamps for pregenerated source code so that Vala build system would not run valac again
for i in vala codegen ccode gee ; do
    touch $i/$i.vala.stamp
done
touch vapigen/{vapigen,vapicheck}.vala.stamp
touch compiler/valac.vala.stamp
%else
../configure --prefix="$BSINSTALL"
%endif

%make
make install
cd ..

# now build a pristine variant of the compiler to be packaged
OLD_PATH="$PATH"
export PATH="$BSINSTALL/bin:$PATH"
%configure
# Delete stamps to force re-generation of C code with bootstrapped valac
find . -name '*.stamp' | xargs -r rm
%make
rm -rf bootstrap-build "$BSINSTALL"
export PATH="$OLD_PATH"

# Perform language environment tests
%check
%make check

%install
%make DESTDIR=%buildroot install
# own this directory for third-party *.vapi files
mkdir -p %buildroot%_datadir/vala/vapi

%files
%_bindir/valac
%_bindir/valac-%api_ver
%_bindir/vala
%_bindir/vala-%api_ver
%_libdir/libvala-%api_ver.so.*
%_man1dir/valac*
%dir %_datadir/vala-%api_ver
%dir %_datadir/vala-%api_ver/vapi
%_datadir/vala-%api_ver/vapi/*
%doc AUTHORS COPYING NEWS README THANKS

%files -n vapi-common
%dir %_datadir/vala
%dir %_datadir/vala/vapi

%files -n lib%name-devel
%_includedir/vala-%api_ver
%_pkgconfigdir/*.pc
%_libdir/*.so
%_datadir/aclocal/*.m4
%exclude %_pkgconfigdir/vapigen*.pc
%exclude %_datadir/aclocal/vapigen.m4

%files doc
%_datadir/devhelp/books/%name-%api_ver

%files tools
%_bindir/vapigen
%_bindir/vapigen-%api_ver
%_bindir/vala-gen-introspect
%_bindir/vala-gen-introspect-%api_ver
%_bindir/vapicheck
%_bindir/vapicheck-%api_ver
%_pkgconfigdir/vapigen*.pc
%_datadir/aclocal/vapigen.m4
%_datadir/vala/Makefile.vapigen
%_libdir/vala-%api_ver/gen-introspect-%api_ver
%_man1dir/vala-gen-introspect*
%_man1dir/vapigen*

%changelog
* Sun Sep 03 2017 Yuri N. Sedunov <aris@altlinux.org> 0.36.4-alt0.M80P.1
- backport to p8

* Wed Jul 12 2017 Alexey Shabalin <shaba@altlinux.ru> 0.36.4-alt1
- 0.36.4

* Fri May 05 2017 Alexey Shabalin <shaba@altlinux.ru> 0.36.3-alt1
- 0.36.3

* Mon Apr 03 2017 Alexey Shabalin <shaba@altlinux.ru> 0.36.1-alt1
- 0.36.1

* Mon Mar 20 2017 Alexey Shabalin <shaba@altlinux.ru> 0.36.0-alt1
- 0.36.0

* Thu Mar 09 2017 Alexey Shabalin <shaba@altlinux.ru> 0.34.6-alt1
- 0.34.6

* Fri Mar 03 2017 Alexey Shabalin <shaba@altlinux.ru> 0.34.5-alt1
- 0.34.5

* Wed Dec 07 2016 Alexey Shabalin <shaba@altlinux.ru> 0.34.4-alt1
- 0.34.4

* Mon Nov 28 2016 Alexey Shabalin <shaba@altlinux.ru> 0.34.3-alt1
- 0.34.3

* Mon Oct 24 2016 Alexey Shabalin <shaba@altlinux.ru> 0.34.2-alt1
- 0.34.2

* Mon Oct 17 2016 Alexey Shabalin <shaba@altlinux.ru> 0.34.1-alt1
- 0.34.1

* Tue Sep 20 2016 Alexey Shabalin <shaba@altlinux.ru> 0.34.0-alt1
- 0.34.0

* Wed Jun 22 2016 Alexey Shabalin <shaba@altlinux.ru> 0.32.1-alt1
- 0.32.1

* Tue Mar 22 2016 Alexey Shabalin <shaba@altlinux.ru> 0.32.0-alt1
- 0.32.0

* Mon Feb 01 2016 Alexey Shabalin <shaba@altlinux.ru> 0.30.1-alt1
- 0.30.1

* Wed Sep 23 2015 Yuri N. Sedunov <aris@altlinux.org> 0.30.0-alt1.1
- rebuild

* Fri Sep 18 2015 Alexey Shabalin <shaba@altlinux.ru> 0.30.0-alt1
- 0.30.0

* Thu Aug 13 2015 Alexey Shabalin <shaba@altlinux.ru> 0.29.3-alt1
- 0.29.3

* Wed Aug 12 2015 Alexey Shabalin <shaba@altlinux.ru> 0.28.1-alt1
- 0.28.1

* Wed Mar 25 2015 Alexey Shabalin <shaba@altlinux.ru> 0.28.0-alt1
- 0.28.0

* Tue Feb 24 2015 Alexey Shabalin <shaba@altlinux.ru> 0.27.1-alt1
- 0.27.1

* Tue Jan 13 2015 Alexey Shabalin <shaba@altlinux.ru> 0.26.2-alt1
- 0.26.2

* Mon Oct 13 2014 Alexey Shabalin <shaba@altlinux.ru> 0.26.1-alt1
- 0.26.1

* Tue Sep 23 2014 Alexey Shabalin <shaba@altlinux.ru> 0.26.0-alt1
- 0.26.0

* Wed Aug 27 2014 Alexey Shabalin <shaba@altlinux.ru> 0.25.2-alt1
- 0.25.2

* Tue Mar 25 2014 Alexey Shabalin <shaba@altlinux.ru> 0.24.0-alt1
- 0.24.0

* Thu Feb 20 2014 Alexey Shabalin <shaba@altlinux.ru> 0.23.3-alt1
- 0.23.3

* Tue Feb 18 2014 Alexey Shabalin <shaba@altlinux.ru> 0.23.2-alt1
- 0.23.2

* Mon Nov 18 2013 Alexey Shabalin <shaba@altlinux.ru> 0.22.1-alt1
- 0.22.1

* Tue Sep 24 2013 Alexey Shabalin <shaba@altlinux.ru> 0.22.0-alt1
- 0.22.0

* Fri Sep 13 2013 Alexey Shabalin <shaba@altlinux.ru> 0.21.2-alt1
- 0.21.2

* Thu Aug 29 2013 Alexey Shabalin <shaba@altlinux.ru> 0.21.1-alt1
- 0.21.1

* Mon Apr 08 2013 Alexey Shabalin <shaba@altlinux.ru> 0.20.1-alt1
- 0.20.1

* Wed Mar 27 2013 Alexey Shabalin <shaba@altlinux.ru> 0.20.0-alt1
- 0.20.0

* Wed Mar 20 2013 Alexey Shabalin <shaba@altlinux.ru> 0.19.0-alt1
- 0.19.0

* Wed Nov 14 2012 Alexey Shabalin <shaba@altlinux.ru> 0.18.1-alt1
- 0.18.1

* Mon Oct 08 2012 Alexey Shabalin <shaba@altlinux.ru> 0.18.0-alt2
- vapi-common as noarch

* Tue Sep 25 2012 Alexey Shabalin <shaba@altlinux.ru> 0.18.0-alt1
- 0.18.0

* Mon Sep 17 2012 Alexey Shabalin <shaba@altlinux.ru> 0.17.7-alt1
- 0.17.7

* Thu Sep 06 2012 Alexey Shabalin <shaba@altlinux.ru> 0.17.6-alt1
- 0.17.6

* Thu Jul 19 2012 Alexey Shabalin <shaba@altlinux.ru> 0.17.3-alt1
- 0.17.3

* Thu Jul 19 2012 Alexey Shabalin <shaba@altlinux.ru> 0.16.1-alt1
- 0.16.1

* Mon Mar 26 2012 Alexey Shabalin <shaba@altlinux.ru> 0.16.0-alt1
- 0.16.0

* Tue Mar 20 2012 Alexey Shabalin <shaba@altlinux.ru> 0.14.2-alt2
- add vapi-common package

* Wed Feb 01 2012 Alexey Shabalin <shaba@altlinux.ru> 0.14.2-alt1
- 0.14.2

* Wed Dec 21 2011 Alexey Shabalin <shaba@altlinux.ru> 0.14.1-alt1
- 0.14.1

* Mon Oct 24 2011 Alexey Shabalin <shaba@altlinux.ru> 0.14.0-alt1
- 0.14.0

* Fri Jun 03 2011 Alexey Shabalin <shaba@altlinux.ru> 0.12.1-alt2
- rebuild with rpm-build-vala
- own directory %%_datadir/vala/vapi for third-party *.vapi files

* Thu Jun 02 2011 Alexey Shabalin <shaba@altlinux.ru> 0.12.1-alt1
- 0.12.1
- replace vala0.12

* Wed Mar 23 2011 Alexey Shabalin <shaba@altlinux.ru> 0.10.4-alt1
- 0.10.4

* Tue Jan 25 2011 Alexey Shabalin <shaba@altlinux.ru> 0.10.3-alt1
- 0.10.3
- update buildreq

* Mon Oct 04 2010 Alexey Shabalin <shaba@altlinux.ru> 0.10.0-alt1
- 0.10.0

* Wed Sep 08 2010 Alexey Shabalin <shaba@altlinux.ru> 0.9.8-alt1
- 0.9.8

* Wed Sep 08 2010 Alexey Shabalin <shaba@altlinux.ru> 0.9.1-alt1
- 0.9.1
- package doc as noarch

* Thu Apr 22 2010 Alexey Shabalin <shaba@altlinux.ru> 0.8.1-alt1
- 0.8.1

* Sun Mar 14 2010 Alexey Shabalin <shaba@altlinux.ru> 0.7.10-alt1
- new version

* Fri Jan 15 2010 Ildar Mulyukov <ildar@altlinux.ru> 0.7.9-alt1
- pull Alexey Morozov's changes to build process

* Wed Jan 06 2010 Alexey Morozov <morozov@altlinux.org> 0.7.9-alt0.2
- re-work build process, package the compiler built with the
  bootstrapping compiler of the same version

* Wed Jan 06 2010 Alexey Morozov <morozov@altlinux.org> 0.7.9-alt0.1
- new version

* Mon Dec 07 2009 Ildar Mulyukov <ildar@altlinux.ru> 0.7.8_67_g3c53cbc-alt1
- most current GIT version

* Sun Dec 06 2009 Ildar Mulyukov <ildar@altlinux.ru> 0.7.8-alt1
- new version

* Mon Oct 05 2009 Ildar Mulyukov <ildar@altlinux.ru> 0.7.7-alt1
- new version

* Fri Sep 18 2009 Ildar Mulyukov <ildar@altlinux.ru> 0.7.6-alt2
- get bootstrapping/pregenerated back (with new auto generation script)

* Fri Sep 18 2009 Ildar Mulyukov <ildar@altlinux.ru> 0.7.6-alt1
- 0.7.6
- new GEAR repo layout
- turn bootstrapping off (temporary)

* Mon Jun 29 2009 Alexander Bokovoy <ab@altlinux.org> 0.7.4-alt2
- 0.7.4
  + Final upstream 0.7.4

* Sat Jun 13 2009 Alexander Bokovoy <ab@altlinux.org> 0.7.4-alt1
- 0.7.4
  + merge upstream git after switching from svn
  + remove lua5.1.vapi as it is merged upstream already as lua.vapi

* Sun Jan 18 2009 Alexander Bokovoy <ab@altlinux.org> 0.5.7-alt1.r2389
- 0.5.7
  + post-release fixes

* Sun Jan 04 2009 Alexander Bokovoy <ab@altlinux.org> 0.5.4-alt3.r2262
- r2262

* Sat Dec 20 2008 Alexander Bokovoy <ab@altlinux.org> 0.5.4-alt2.r2232
- As vala-gen-project is now part of Vala Toys for gEdit, remove it from the package

* Sat Dec 20 2008 Alexander Bokovoy <ab@altlinux.org> 0.5.4-alt1.r2232
- 0.5.3
  + post-release r2232
  + owned/unowned keywords to mark passing ownership for method returns
    and getters. Syntax might evolve a bit in a future

* Tue Dec 02 2008 Alexander Bokovoy <ab@altlinux.org> 0.5.3-alt1.r2113
- 0.5.2
  + post-release r2113

* Sun Nov 16 2008 Alexander Bokovoy <ab@altlinux.org> 0.5.2-alt2.r2023
- Switch off bootstrap

* Sun Nov 16 2008 Alexander Bokovoy <ab@altlinux.org> 0.5.2-alt1.r2023
- Updated to r2023

* Sat Oct 25 2008 Alexander Bokovoy <ab@altlinux.org> 0.5.1-alt1.r1912
- Updated to r1912
    + Move to post-0.4.0
    + Use bootstrap again (0.4.0+ can't be built with 0.3.6 valac)

* Wed Oct 01 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.6-alt0.6
- Updated to r1816

* Sat Sep 27 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.6-alt0.5
- Updated to r1803
  + Merged upstream dependencies patch (#547569 in GNOME Bugzilla)

* Thu Sep 04 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.6-alt0.4
- Bootstrap is finished, switch to self-hosting builds

* Wed Sep 03 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.6-alt0.3
- Fix GTK+ VAPI (courtesy of Val(a)IDE project)

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.6-alt0.2
- Always perform language self-check tests

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.6-alt0.1
- Use correct version and release to signify in-progress version

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.5-alt6
- Fix package maintainership

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.5-alt5
- Remove unneeded now bootstrap patch

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.5-alt4
- Optimize build requires
- Support build with system-wide valac for future releases

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.5-alt3
- Clarify directories' layout
- Add essential documentation

* Fri Aug 29 2008 Alexander Bokovoy <ab@altlinux.org> 0.3.5-alt2
- First build for Sisyphus