%global api_ver 0.16 Name: vala Version: 0.15.0 Release: 2%{?dist} Summary: A modern programming language for GNOME Group: Development/Languages # Most files are LGPLv2.1+, curses.vapi is 2-clause BSD License: LGPLv2+ and BSD URL: http://live.gnome.org/Vala #VCS: git:git://git.gnome.org/vala # note: do not use a macro for directory name # as it breaks Colin Walters' automatic build script # see https://bugzilla.redhat.com/show_bug.cgi?id=609292 Source0: http://download.gnome.org/sources/vala/0.15/vala-%{version}.tar.xz Source1: vala-mode.el Source2: vala-init.el Source3: emacs-vala-COPYING BuildRequires: flex BuildRequires: bison BuildRequires: glib2-devel BuildRequires: libxslt # only while we carry the patch BuildRequires: vala # for Emacs modes BuildRequires: emacs emacs-el # for tests BuildRequires: dbus-x11 %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} Requires: gnome-common intltool libtool 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 doc Summary: Documentation for %{name} Group: Documentation License: LGPLv2+ BuildArch: noarch Requires: %{name} = %{version}-%{release} Requires: devhelp Provides: %{name}-docs = %{version}-%{release} Obsoletes: %{name}-docs < %{version}-%{release} # might seem redundant, but needed to kill off the old arch-ed -doc # subpackage Obsoletes: %{name}-doc < %{version}-%{release} %description doc 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. %package -n emacs-%{name} Summary: Vala mode for Emacs Group: Applications/Editors License: GPLv2+ BuildArch: noarch # Provide upgrade path from older, arch-specific package Obsoletes: emacs-%{name} < %{version}-%{release} Requires: emacs(bin) >= %{_emacs_version} %description -n emacs-%{name} An Emacs mode for editing Vala source code. %package -n emacs-%{name}-el Summary: Elisp source files for emacs-%{name} Group: Applications/Editors License: GPLv2+ BuildArch: noarch Requires: emacs-%{name} = %{version}-%{release} %description -n emacs-%{name}-el This package contains the elisp source files for Vala under GNU Emacs. You do not need to install this package to run Vala. Install the emacs-%{name} package to use Vala with GNU Emacs. %prep %setup -q %build %configure --enable-vapigen # Don't use rpath! sed -i 's|/lib /usr/lib|/lib /usr/lib /lib64 /usr/lib64|' libtool make %{?_smp_mflags} # Compile emacs module mkdir emacs-vala && cd emacs-vala && cp -p %{SOURCE1} . %{_emacs_bytecompile} vala-mode.el # and copy its licensing file cp -p %{SOURCE3} COPYING %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT # own this directory for third-party *.vapi files mkdir -p $RPM_BUILD_ROOT%{_datadir}/vala rm $RPM_BUILD_ROOT%{_libdir}/libvala-%{api_ver}.la # Emacs mode files mkdir -p $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir} cp -p emacs-vala/*.el* $RPM_BUILD_ROOT%{_emacs_sitelispdir}/%{name} cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_emacs_sitestartdir} %check # make check %if 0%{?fedora} >= 13 %else %clean rm -rf $RPM_BUILD_ROOT %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS ChangeLog COPYING INSTALL MAINTAINERS NEWS README THANKS # TODO to support parallel installation, the symlinks in bin/ must be # migrated to use the alternatives system %{_bindir}/vala %{_bindir}/valac %{_bindir}/vala-%{api_ver} %{_bindir}/valac-%{api_ver} %{_datadir}/vala %{_datadir}/vala-%{api_ver} %{_libdir}/libvala-%{api_ver}.so.* %{_mandir}/*/valac* %files devel %defattr(-,root,root,-) %{_includedir}/vala-%{api_ver} %{_libdir}/libvala-%{api_ver}.so %{_libdir}/pkgconfig/libvala-%{api_ver}.pc # directory ownership satisfied by this chain: # vala-devel R vala R gtk2-devel R automake %{_datadir}/aclocal/vala.m4 %files tools %defattr(-,root,root,-) %{_bindir}/vala-gen-introspect %{_bindir}/vapicheck %{_bindir}/vapigen %{_bindir}/vala-gen-introspect-%{api_ver} %{_bindir}/vapicheck-%{api_ver} %{_bindir}/vapigen-%{api_ver} %{_libdir}/vala-%{api_ver} %{_mandir}/*/*gen* %files doc %defattr(-,root,root,-) %doc %{_datadir}/devhelp/books/vala-%{api_ver} %files -n emacs-%{name} %defattr(-,root,root,-) %doc emacs-vala/COPYING %dir %{_emacs_sitelispdir}/%{name} %{_emacs_sitelispdir}/%{name}/*.elc %{_emacs_sitestartdir}/*.el %files -n emacs-%{name}-el %defattr(-,root,root,-) %{_emacs_sitelispdir}/%{name}/*.el %changelog * Sat Jan 14 2012 Fedora Release Engineering - 0.15.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Fri Dec 23 2011 Matthias Clasen - 0.15.0-1 - Update to 0.15.0 * Tue Sep 20 2011 Matthias Clasen - 0.14.0-1 - Update to 0.14.0 * Tue Aug 30 2011 Matthias Clasen - 0.13.3-1 - Update to 0.13.3 * Thu Jul 7 2011 Michel Salim - 0.13.1-1 - Update to 0.13.1 * Fri Jun 17 2011 Tomas Bzatek - 0.12.1-1 - Update to 0.12.1 * Tue Apr 5 2011 Michel Salim - 0.12.0-2 - Allow access to length of constant array in constant initializer lists * Sun Apr 3 2011 Christopher Aillon - 0.12.0-1 - Update to 0.12.0 * Thu Mar 17 2011 Michel Salim - 0.11.7-1 - Update to 0.11.7 * Mon Feb 21 2011 Peter Robinson - 0.11.6-1 - Update to 0.11.6 * Mon Feb 07 2011 Fedora Release Engineering - 0.11.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Feb 7 2011 Michel Salim - 0.11.5-2 - Own %%{_datadir}/vala directory (# 661603) * Wed Feb 2 2011 Christopher Aillon - 0.11.5-1 - Update to 0.11.5 * Mon Jan 17 2011 Matthias Clasen - 0.11.4-1 - Update to 0.11.4 * Fri Jan 7 2011 Peter Robinson - 0.11.3-1 - Update to 0.11.3 - disable make check as its currently broken * Tue Nov 9 2010 Peter Robinson - 0.11.2-1 - Update to 0.11.2 * Sun Nov 7 2010 Michel Salim - 0.11.1-2 - Improved rpath handling, allowing test suite to run * Sat Nov 6 2010 Michel Salim - 0.11.1-1 - Update to 0.11.1 - Drop unneeded build requirements * Tue Oct 19 2010 Michel Salim - 0.11.0-1 - Update to 0.11.0 * Wed Sep 29 2010 jkeating - 0.10.0-2 - Rebuilt for gcc bug 634757 * Wed Sep 22 2010 Matthias Clasen - 0.10.0-1 - Update to 0.10.0 - Work with gobject-introspection >= 0.9.5 * Sun Sep 12 2010 Michel Salim - 0.9.8-1 - Update to 0.9.8 - Make -doc subpackage noarch - Mark -doc files as %%doc * Wed Aug 25 2010 Brian Pepple - 0.9.7-1 - Update to 0.9.7. - Remove clean section & buildroot. No longer needed. * Mon Aug 9 2010 Michel Salim - 0.9.5-1 - Update to 0.9.5 * Mon Aug 2 2010 Peter Robinson - 0.9.4-1 - Update to 0.9.4 * Thu Jul 15 2010 Michel Salim - 0.9.3-1 - Update to 0.9.3 * Mon Jul 12 2010 Michel Salim - 0.9.2-2 - Add COPYING file to emacs-vala * Sat Jul 3 2010 Michel Salim - 0.9.2-1 - Update to 0.9.2 * Sun Jun 13 2010 Michel Salim - 0.9.1-1 - Update to 0.9.1 - Make emacs-vala subpackage noarch; split off source file to -el subpackage according to Emacs packaging guidelines * Tue Apr 27 2010 Michel Salim - 0.8.1-1 - Update to 0.8.1 * Fri Apr 9 2010 Peter Robinson - 0.8.0-1 - Update to new major release 0.8.0 * Tue Mar 2 2010 Peter Robinson - 0.7.10-1 - Update to 0.7.10 * Tue Jan 5 2010 Peter Robinson - 0.7.9-1 - Update to 0.7.9 * Tue Nov 17 2009 Peter Robinson - 0.7.8-1 - Update to 0.7.8 * Sat Oct 3 2009 Michel Salim - 0.7.7-1 - Update to 0.7.7 * Thu Aug 20 2009 Michel Salim - 0.7.5-1 - Update to 0.7.5 * Sun Jul 26 2009 Fedora Release Engineering - 0.7.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Tue Jul 14 2009 Michel Salim - 0.7.4-2 - Patch broken ModuleInit attribute (upstream bug 587444) * Tue Jul 7 2009 Michel Salim - 0.7.4-1 - Update to 0.7.4 * Wed Jun 3 2009 Peter Robinson - 0.7.3-1 - Update to 0.7.3 * Sat Apr 18 2009 Michel Salim - 0.6.1-1 - Update to 0.6.1 * Mon Feb 23 2009 Michel Salim - 0.5.7-1 - Update to 0.5.7 * Tue Jan 27 2009 Michel Salim - 0.5.6-1 - Update to 0.5.6 * Tue Dec 16 2008 Michel Salim - 0.5.3-1 - Update to 0.5.3 * Mon Dec 15 2008 Michel Salim - 0.5.2-3 - Fix bug in Emacs version detection * Sat Dec 13 2008 Michel Salim - 0.5.2-2 - Use buildsystem variables to determine available Emacs version - BR on gecko-devel >= 1.9, since older version is also in RHEL repo * Sat Dec 13 2008 Michel Salim - 0.5.2-1 - Update to 0.5.2 * Sun Nov 23 2008 Michel Salim - 0.5.1-1 - Update to 0.5.1 * Fri Aug 22 2008 Michel Salim - 0.3.5-1 - Update to 0.3.5 * Tue Jul 15 2008 Michel Salim - 0.3.4-2 - Add vala-mode for editing Vala code in Emacs * Tue Jul 1 2008 Lennart Poettering - 0.3.4-1 - Update to 0.3.4 * Wed Jun 4 2008 Michel Salim - 0.3.3-1 - Update to 0.3.3 * Fri May 16 2008 Michel Salim - 0.3.2-1 - Update to 0.3.2 * Thu Apr 10 2008 Michel Salim - 0.2.0-1 - Update to 0.2.0 * Wed Mar 5 2008 Michel Salim - 0.1.7-1 - Update to 0.1.7 - -tool subpackage now requires gnome-common, intltool and libtoolize for out-of-the-box vala-gen-project support * Tue Feb 19 2008 Fedora Release Engineering - 0.1.6-2 - Autorebuild for GCC 4.3 * Sat Jan 19 2008 Michel Salim - 0.1.6-1 - Update to 0.1.6 - Revert vapi addition, needed declarations have been inlined (r846) - Rename -docs subpackage to -doc, to comply with guidelines * Tue Jan 15 2008 Michel Salim - 0.1.5-5 - Manually add Gee vapi file to package (bz #428692) * Tue Dec 4 2007 Michel Salim - 0.1.5-4 - Backport patch to autodetect location of automake shared files * Tue Dec 4 2007 Michel Salim - 0.1.5-3 - Add build dependency on gtk2-devel * Tue Dec 4 2007 Michel Salim - 0.1.5-2 - Enable project generator tool * Tue Nov 27 2007 Michel Salim - 0.1.5-1 - Update to 0.1.5 * Sun Nov 11 2007 Michel Salim - 0.1.4-2 - Add build dependency on devhelp * Fri Oct 19 2007 Michel Salim - 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 - 0.1.3-5 - vapigen subpackage: add missing Require: on perl-XML-Twig * Sat Sep 8 2007 Michel Salim - 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 - 0.1.3-3 - Licensing and URL updates * Tue Sep 4 2007 Michel Salim - 0.1.3-2 - Enable binding generation tools * Sun Sep 2 2007 Michel Salim - 0.1.3-1 - Update to 0.1.3 * Sun Mar 25 2007 Michel Salim - 0.0.8-1 - Update to 0.0.8 * Wed Mar 7 2007 Michel Salim - 0.0.7-1 - Update to 0.0.7 * Wed Feb 28 2007 Michel Salim - 0.0.6-1 - Update to 0.0.6 * Mon Nov 6 2006 Michel Salim - 0.0.5-1 - Initial package