%define api 0.18 %define major 0 %define libname %mklibname %{name} %{api} %{major} %define devname %mklibname -d %{name} %define url_ver %(echo %{version}|cut -d. -f1,2) Summary: Compiler for the GObject type system Name: vala Version: 0.18.1 Release: %mkrel 2 Source0: http://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz # Most files are LGPLv2.1+, curses.vapi is 2-clause BSD License: LGPLv2+ and BSD Group: Development/Other Url: http://live.gnome.org/Vala BuildRequires: pkgconfig(glib-2.0) >= 2.16.0 BuildRequires: pkgconfig(gmodule-2.0) >= 2.16.0 BuildRequires: pkgconfig(gobject-2.0) >= 2.16.0 BuildRequires: pkgconfig(gthread-2.0) >= 2.16.0 BuildRequires: xsltproc BuildRequires: flex BuildRequires: bison Requires: glib2-devel %description Vala is a new 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. valac, the Vala compiler, is a self-hosting compiler that translates Vala source code into C source and header files. It uses the GObject type system to create classes and interfaces declared in the Vala source code. It's also planned to generate GIDL files when gobject-introspection is ready. The syntax of Vala is similar to C#, modified to better fit the GObject type system. Vala supports modern language features as the following: * Interfaces * Properties * Signals * Foreach * Lambda expressions * Type inference for local variables * Non-null types [PARTIAL] * Exception handling [PLANNED] * Assisted memory management * type modules (aka. Plugins) 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. Using classes and methods written in Vala from an application written in C is not difficult. The Vala library only has to install the generated header files and C applications may then access the GObject-based API of the Vala library as usual. It should also be easily possible to write a bindings generator for access to Vala libraries from applications written in e.g. C# as the Vala parser is written as a library, so that all compile-time information is available when generating a binding. %package -n %{libname} Group: System/Libraries Summary: Vala runtime library %description -n %{libname} This is the runtime library of the Vala programming language. %package -n %{devname} Group: Development/Other Summary: Vala development files Requires: %{libname} = %{version}-%{release} Requires: %{name} = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %mklibname -d vala 0 %description -n %{devname} This is the development library of the Vala programming language. %package tools Summary: Tools for creating projects and bindings for %{name} Group: Development/Other Requires: %{name} = %{version}-%{release} Requires: gnome-common Requires: intltool Requires: libtool %description tools This package contains tools to generate Vala projects, as well as API bindings from existing C libraries, allowing access from Vala programs. %prep %setup -q %apply_patches %build autoreconf -vfi %configure2_5x %make %install %makeinstall_std find %{buildroot} -name "*.la" -delete mkdir -p %{buildroot}%{_datadir}/vala/vapi %files -n %{libname} %defattr(-,root,root) %_libdir/libvala-%{api}.so.%{major}* %files -n %{devname} %defattr(-,root,root) %doc ChangeLog %{_libdir}/libvala-%{api}.so %{_includedir}/vala-%{api} %{_libdir}/pkgconfig/*.pc %{_datadir}/pkgconfig/*.pc %{_datadir}/devhelp/books/vala-%{api} %{_datadir}/aclocal/*.m4 %files %defattr(-,root,root) %doc AUTHORS MAINTAINERS NEWS README %{_bindir}/vala %{_bindir}/vala-%{api} %{_bindir}/valac %{_bindir}/valac-%{api} %{_datadir}/vala-%{api} %dir %{_datadir}/vala %dir %{_datadir}/vala/vapi %{_mandir}/man1/valac.1* %{_mandir}/man1/valac-%api.1* %files tools %defattr(-,root,root) %{_bindir}/*gen* %{_bindir}/vapicheck %{_bindir}/vapicheck-%api %{_datadir}/vala/Makefile.vapigen %{_libdir}/vala-%api %{_mandir}/*/*gen* %changelog * Mon Jan 14 2013 umeabot <umeabot> 0.18.1-2.mga3 + Revision: 385223 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Thu Nov 15 2012 fwang <fwang> 0.18.1-1.mga3 + Revision: 318000 - new version 0.18.1 * Mon Sep 24 2012 ovitters <ovitters> 0.18.0-1.mga3 + Revision: 297217 - new version 0.18.0 * Sun Sep 16 2012 mitya <mitya> 0.17.7-1.mga3 + Revision: 294640 - New version 0.17.7 * Mon Sep 03 2012 ovitters <ovitters> 0.17.6-1.mga3 + Revision: 287687 - new version 0.17.6 * Mon Aug 20 2012 ovitters <ovitters> 0.17.5-1.mga3 + Revision: 282599 - drop merged patches - new version 0.17.5 * Fri Aug 10 2012 wally <wally> 0.17.4-2.mga3 + Revision: 280436 - add patches from upstream GIT to fix deja-dup build * Mon Aug 06 2012 ovitters <ovitters> 0.17.4-1.mga3 + Revision: 279394 - new version 0.17.4 * Mon Jul 16 2012 ovitters <ovitters> 0.17.3-1.mga3 + Revision: 271521 - new version 0.17.3 * Tue Jun 26 2012 ovitters <ovitters> 0.17.2-1.mga3 + Revision: 264124 - update api - new version 0.17.2 * Sat Jun 23 2012 ovitters <ovitters> 0.16.1-1.mga3 + Revision: 262794 - new version 0.16.1 * Mon Mar 26 2012 ovitters <ovitters> 0.16.0-1.mga2 + Revision: 226772 - new version 0.16.0 * Sat Feb 25 2012 ovitters <ovitters> 0.15.2-1.mga2 + Revision: 214753 - new version - fix source URL * Sat Jan 28 2012 fwang <fwang> 0.15.1-1.mga2 + Revision: 202405 - update file list - update file list - new version 0.15.1 + wally <wally> - clean .spec * Thu Dec 01 2011 fwang <fwang> 0.14.1-1.mga2 + Revision: 174702 - new version 0.14.1 * Mon Oct 03 2011 fwang <fwang> 0.14.0-2.mga2 + Revision: 151129 - rebuild * Sun Sep 18 2011 fwang <fwang> 0.14.0-1.mga2 + Revision: 144777 - new version 0.14.0 * Sat Sep 10 2011 fwang <fwang> 0.13.4-1.mga2 + Revision: 141988 - new version 0.13.4 - new version 0.13.3 - new version 0.13.2 + colin <colin> - Upstream fix: linux: fix Linux.CLOCK_MONOTONIC_RAW binding * Sun Jul 10 2011 fwang <fwang> 0.13.1-1.mga2 + Revision: 121600 - new version 0.13.1 * Tue Jul 05 2011 ahmad <ahmad> 0.13.0-1.mga2 + Revision: 118631 - Update to 0.13.0 - Drop patch0, now that we have libnotify0.7 in Cauldron * Mon May 02 2011 pterjan <pterjan> 0.12.0-2.mga1 + Revision: 94319 - Fix vapi file to describe our version of libnotify * Tue Apr 05 2011 dams <dams> 0.12.0-1.mga1 + Revision: 80690 - update to 0.12.0 * Sun Feb 13 2011 spuhler <spuhler> 0.10.3-1.mga1 + Revision: 51178 - update from version 0.10.2 to version 0.10.3 * Mon Jan 17 2011 blino <blino> 0.10.2-2.mga1 + Revision: 21502 - remove old ldconfig scriptlets - imported package vala