/[packages]/cauldron/vala/current/SPECS/vala.spec
ViewVC logotype

Contents of /cauldron/vala/current/SPECS/vala.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1093833 - (show annotations) (download)
Mon Mar 20 21:41:59 2017 UTC (7 years ago) by ovitters
File size: 4513 byte(s)
new version 0.34.7
1 # (ovitters) version 2.25.1: api 0.26; version 2.26.0: api 0.26
2 %define api %(echo %{version} | awk -F. '{print $1"."$2 + $2 % 2}')
3 %define major 0
4 %define libname %mklibname %{name} %{api} %{major}
5 %define devname %mklibname -d %{name}
6
7 %define url_ver %(echo %{version}|cut -d. -f1,2)
8
9 Summary: Compiler for the GObject type system
10 Name: vala
11 Version: 0.34.7
12 Release: %mkrel 1
13 Source0: https://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz
14 # Most files are LGPLv2.1+, curses.vapi is 2-clause BSD
15 License: LGPLv2+ and BSD
16 Group: Development/Other
17 Url: https://wiki.gnome.org/Vala
18 BuildRequires: pkgconfig(glib-2.0) >= 2.16.0
19 BuildRequires: pkgconfig(gmodule-2.0) >= 2.16.0
20 BuildRequires: pkgconfig(gobject-2.0) >= 2.16.0
21 BuildRequires: pkgconfig(gthread-2.0) >= 2.16.0
22 BuildRequires: xsltproc
23 BuildRequires: flex
24 BuildRequires: bison
25 Requires: glib2-devel
26
27 %description
28 Vala is a new programming language that aims to bring modern
29 programming language features to GNOME developers without imposing any
30 additional runtime requirements and without using a different ABI
31 compared to applications and libraries written in C.
32
33 valac, the Vala compiler, is a self-hosting compiler that translates
34 Vala source code into C source and header files. It uses the GObject
35 type system to create classes and interfaces declared in the Vala
36 source code. It's also planned to generate GIDL files when
37 gobject-introspection is ready.
38
39 The syntax of Vala is similar to C#, modified to better fit the GObject
40 type system. Vala supports modern language features as the following:
41
42 * Interfaces
43 * Properties
44 * Signals
45 * Foreach
46 * Lambda expressions
47 * Type inference for local variables
48 * Non-null types [PARTIAL]
49 * Exception handling [PLANNED]
50 * Assisted memory management
51
52 * type modules (aka. Plugins)
53
54 Vala is designed to allow access to existing C libraries, especially
55 GObject-based libraries, without the need for runtime bindings. Each
56 to be used library requires a Vala API file at compile-time,
57 containing the class and method declarations in Vala syntax. Vala
58 currently comes with experimental bindings for GLib and GTK+. It's
59 planned to provide generated bindings for the full GNOME Platform at a
60 later stage.
61
62 Using classes and methods written in Vala from an application written
63 in C is not difficult. The Vala library only has to install the
64 generated header files and C applications may then access the
65 GObject-based API of the Vala library as usual. It should also be
66 easily possible to write a bindings generator for access to Vala
67 libraries from applications written in e.g. C# as the Vala parser is written
68 as a library, so that all compile-time information is available when
69 generating a binding.
70
71 %package -n %{libname}
72 Group: System/Libraries
73 Summary: Vala runtime library
74
75 %description -n %{libname}
76 This is the runtime library of the Vala programming language.
77
78 %package -n %{devname}
79 Group: Development/Other
80 Summary: Vala development files
81 Requires: %{libname} = %{version}-%{release}
82 Requires: %{name} = %{version}-%{release}
83 Requires: %{name}-tools = %{version}-%{release}
84 Provides: lib%{name}-devel = %{version}-%{release}
85 Provides: %{name}-devel = %{version}-%{release}
86
87 %description -n %{devname}
88 This is the development library of the Vala programming language.
89
90 %package tools
91 Summary: Tools for creating projects and bindings for %{name}
92 Group: Development/Other
93 Requires: %{name} = %{version}-%{release}
94 Requires: gnome-common
95 Requires: intltool
96 Requires: libtool
97
98 %description tools
99 This package contains tools to generate Vala projects, as well as API bindings
100 from existing C libraries, allowing access from Vala programs.
101
102 %prep
103 %setup -q
104 %autopatch -p1
105
106 %build
107 autoreconf -vfi
108 %configure2_5x
109 %make
110
111 %install
112 %makeinstall_std
113
114 find %{buildroot} -name "*.la" -delete
115
116 mkdir -p %{buildroot}%{_datadir}/vala/vapi
117
118 %files -n %{libname}
119 %_libdir/libvala-%{api}.so.%{major}*
120
121 %files -n %{devname}
122 %doc ChangeLog
123 %{_libdir}/libvala-%{api}.so
124 %{_includedir}/vala-%{api}
125 %{_libdir}/pkgconfig/*.pc
126 %{_datadir}/devhelp/books/vala-%{api}
127 %{_datadir}/aclocal/*.m4
128
129 %files
130 %doc AUTHORS MAINTAINERS NEWS README
131 %{_bindir}/vala
132 %{_bindir}/vala-%{api}
133 %{_bindir}/valac
134 %{_bindir}/valac-%{api}
135 %{_datadir}/vala-%{api}
136 %dir %{_datadir}/vala
137 %dir %{_datadir}/vala/vapi
138 %{_mandir}/man1/valac.1*
139 %{_mandir}/man1/valac-%{api}.1*
140
141 %files tools
142 %{_bindir}/*gen*
143 %{_bindir}/vapicheck
144 %{_bindir}/vapicheck-%{api}
145 %{_datadir}/vala/Makefile.vapigen
146 %{_libdir}/vala-%{api}
147 %{_mandir}/*/*gen*

  ViewVC Help
Powered by ViewVC 1.1.30