# breaks Colin Walters' automatic build script # https://bugzilla.redhat.com/show_bug.cgi?id=609292 #global main_ver 0.9 Name: vala Version: 0.9.3 Release: 1%{?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 Source0: http://download.gnome.org/sources/vala/0.9/vala-%{version}.tar.bz2 Source1: vala-mode.el Source2: vala-init.el Source3: emacs-vala-COPYING BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gtk2-devel flex bison devhelp gecko-libs >= 1.9 BuildRequires: emacs emacs-el Requires: gtk2-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. %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+ Requires: %{name} = %{version}-%{release} Requires: devhelp Provides: %{name}-docs = %{version}-%{release} Obsoletes: %{name}-docs < %{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|^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} # 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 # checks currently utilize installed Vala, not the one being compiled #%check #make check %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT rm $RPM_BUILD_ROOT%{_libdir}/libvala.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} %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc AUTHORS ChangeLog COPYING INSTALL MAINTAINERS NEWS README THANKS %{_bindir}/vala %{_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 doc %defattr(-,root,root,-) %{_datadir}/devhelp/books/vala %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 * 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