%define name vala %define version 0.3.5 %define release %mkrel 1 %define major 0 %define libname %mklibname %name %major %define libnamedev %mklibname -d %name Summary: Compiler for the GObject type system Name: %{name} Version: %{version} Release: %{release} Source0: http://www.paldo.org/vala/%{name}-%{version}.tar.bz2 # Most files are LGPLv2.1+, curses.vapi is 2-clause BSD License: LGPLv2+ and BSD Group: Development/Other Url: http://live.gnome.org/Vala BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: glib2-devel BuildRequires: flex BuildRequires: bison %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 %libnamedev Group: Development/Other Summary: Vala development files Requires: %libname = %version Requires: %name = %version Provides: libvala-devel = %version-%release Provides: vala-devel = %version-%release Obsoletes: %mklibname -d vala 0 %description -n %libnamedev This is the development library of the Vala programming language. %prep %setup -q %build %configure2_5x %make %install rm -rf $RPM_BUILD_ROOT %makeinstall_std %check make check %clean rm -rf $RPM_BUILD_ROOT %if %mdkversion < 200900 %post -n %libname -p /sbin/ldconfig %endif %if %mdkversion < 200900 %postun -n %libname -p /sbin/ldconfig %endif %files -n %libname %defattr(-,root,root) %_libdir/libvala.so.%{major}* %files -n %libnamedev %defattr(-,root,root) %doc ChangeLog %_libdir/libvala.so %_libdir/libvala.la %_includedir/vala-1.0 %_libdir/pkgconfig/vala-1.0.pc %_datadir/devhelp/books/vala %files %defattr(-,root,root) %doc AUTHORS MAINTAINERS NEWS README %_bindir/valac %_datadir/%name %_mandir/man1/valac.1* %changelog * Thu Aug 14 2008 Götz Waschk <waschk@mandriva.org> 0.3.5-1mdv2009.0 + Revision: 272193 - new version * Thu Jul 03 2008 Götz Waschk <waschk@mandriva.org> 0.3.4-1mdv2009.0 + Revision: 230993 - new version - update license + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers * Tue Apr 15 2008 Götz Waschk <waschk@mandriva.org> 0.2.0-1mdv2009.0 + Revision: 193793 - new version * Mon Mar 03 2008 Götz Waschk <waschk@mandriva.org> 0.1.7-1mdv2008.1 + Revision: 177871 - new version * Sun Jan 20 2008 Götz Waschk <waschk@mandriva.org> 0.1.6-1mdv2008.1 + Revision: 155296 - new version + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tvignaud@mandriva.com> - kill re-definition of %%buildroot on Pixel's request * Sun Nov 25 2007 Götz Waschk <waschk@mandriva.org> 0.1.5-1mdv2008.1 + Revision: 111946 - new version * Tue Oct 09 2007 Götz Waschk <waschk@mandriva.org> 0.1.4-1mdv2008.1 + Revision: 96572 - new version - update file list * Fri Aug 31 2007 Götz Waschk <waschk@mandriva.org> 0.1.3-1mdv2008.0 + Revision: 76885 - new version * Sat Jul 28 2007 Götz Waschk <waschk@mandriva.org> 0.1.2-1mdv2008.0 + Revision: 56459 - new version - new devel name * Fri Jul 13 2007 Götz Waschk <waschk@mandriva.org> 0.1.1-1mdv2008.0 + Revision: 51810 - new version * Mon Jul 09 2007 Götz Waschk <waschk@mandriva.org> 0.1.0-1mdv2008.0 + Revision: 50480 - new version * Mon Apr 30 2007 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 0.0.9-1mdv2008.0 + Revision: 19638 - Updated to 0.0.9. * Fri Mar 23 2007 Götz Waschk <waschk@mandriva.org> 0.0.8-1mdv2007.1 + Revision: 148576 - Import vala * Fri Mar 23 2007 Götz Waschk <waschk@mandriva.org> 0.0.8-1mdv2007.1 - initial package