Blob Blame History Raw
Name:           vala
Version:        0.1.5
Release:        3%{?dist}
Summary:        A modern programming language for GNOME

Group:          Development/Languages
# Most files are LGPLv2.1+, curses.vala is 2-clause BSD
License:        LGPLv2+ and BSD
URL:            http://live.gnome.org/Vala
Source0:        http://download.gnome.org/sources/vala/0.1/vala-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  gtk2-devel flex bison devhelp
#Requires:       

%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.


%package        devel
Summary:        Development files for %{name}
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Requires:       pkgconfig

%description    devel
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.

This package contains development files for %{name}. This is not necessary for
using the %{name} compiler.

%package        tools
Summary:        Tools for creating projects and bindings for %{name}
Group:          Development/Languages
License:        LGPLv2+
Requires:       %{name} = %{version}-%{release}
Provides:       %{name}-vapigen = %{version}-%{release}
Obsoletes:      %{name}-vapigen < %{version}-%{release}

%description    tools
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.

This package contains tools to generate Vala projects, as well as API bindings
from existing C libraries, allowing access from Vala programs.

%package        docs
Summary:        Documentation for %{name}
Group:          Documentation
License:        LGPLv2+
Requires:       %{name} = %{version}-%{release}
Requires:       devhelp

%description    docs
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.

This package contains documentation in a devhelp HTML book.


%prep
%setup -q


%build
%configure --enable-vapigen --enable-gen-project
# Don't use rpath!
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
rm $RPM_BUILD_ROOT%{_libdir}/libvala.la


%clean
rm -rf $RPM_BUILD_ROOT

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README
%{_bindir}/valac
%{_datadir}/vala
%{_libdir}/libvala.so.*
%{_mandir}/*/valac*

%files devel
%defattr(-,root,root,-)
%{_includedir}/vala-1.0
%{_libdir}/libvala.so
%{_libdir}/pkgconfig/vala-1.0.pc

%files tools
%defattr(-,root,root,-)
%{_bindir}/*gen*
%{_bindir}/vapicheck
%{_libdir}/vala
%{_mandir}/*/*gen*

%files docs
%defattr(-,root,root,-)
%{_datadir}/devhelp/books/vala



%changelog
* Tue Dec  4 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.5-3
- Add build dependency on gtk2-devel

* Tue Dec  4 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.5-2
- Enable project generator tool

* Tue Nov 27 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.5-1
- Update to 0.1.5

* Sun Nov 11 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.4-2
- Add build dependency on devhelp

* Fri Oct 19 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.4-1
- Update to 0.1.4
- Put newly-added documentation in its own subpackage (depends on devhelp)

* Mon Sep 17 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.3-5
- vapigen subpackage: add missing Require: on perl-XML-Twig

* Sat Sep  8 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.3-4
- Split -vapigen subpackage. It is functionally self-contained and the license
  is more restricted
- Updated license declarations

* Wed Sep  5 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.3-3
- Licensing and URL updates

* Tue Sep  4 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.3-2
- Enable binding generation tools

* Sun Sep  2 2007 Michel Salim <michel.sylvan@gmail.com> - 0.1.3-1
- Update to 0.1.3

* Sun Mar 25 2007 Michel Salim <michel.salim@gmail.com> - 0.0.8-1
- Update to 0.0.8

* Wed Mar  7 2007 Michel Salim <michel.salim@gmail.com> - 0.0.7-1
- Update to 0.0.7

* Wed Feb 28 2007 Michel Salim <michel.salim@gmail.com> - 0.0.6-1
- Update to 0.0.6

* Mon Nov  6 2006 Michel Salim <michel.salim@gmail.com> - 0.0.5-1
- Initial package