summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Alexandre Salim <salimma@fedoraproject.org>2012-02-03 14:20:11 +0100
committerMichel Alexandre Salim <salimma@fedoraproject.org>2012-02-03 14:20:11 +0100
commitf3fa21fcb0d1e1656d41245cd63750cae6d2a9eb (patch)
treef74050de3df87283df3f7153901ef4a148c83c24
parent99646c96456e00a11674fbffb66414cc50e4b0ca (diff)
vala0.14 -- parallel-installable older version of vala
-rw-r--r--gnome/vala0.14.spec248
1 files changed, 248 insertions, 0 deletions
diff --git a/gnome/vala0.14.spec b/gnome/vala0.14.spec
new file mode 100644
index 0000000..b0b646a
--- /dev/null
+++ b/gnome/vala0.14.spec
@@ -0,0 +1,248 @@
+%global api_ver 0.14
+
+Name: vala%{api_ver}
+Version: 0.14.1
+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
+# 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.14/vala-%{version}.tar.xz
+
+BuildRequires: flex
+BuildRequires: bison
+BuildRequires: glib2-devel
+BuildRequires: libxslt
+# only if Vala source files are patched
+# BuildRequires: vala
+
+# for tests
+# BuildRequires: dbus-x11
+
+# alternatives
+%global vala_binaries vala valac
+%global vala_manpages valac
+%global vala_tools_binaries vala-gen-introspect vapicheck vapigen
+%global vala_tools_manpages vala-gen-introspect vapigen
+Requires(post): %{_sbindir}/update-alternatives
+Requires(postun): %{_sbindir}/update-alternatives
+
+
+%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}
+
+%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
+
+
+%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.
+
+
+%prep
+%setup -q -n vala-%{version}
+
+
+%build
+%configure --enable-vapigen
+# Don't use rpath!
+sed -i 's|/lib /usr/lib|/lib /usr/lib /lib64 /usr/lib64|' libtool
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+# remove symlinks, using alternatives
+for f in %{vala_binaries} %{vala_tools_binaries};
+do
+ rm $RPM_BUILD_ROOT%{_bindir}/$f
+ touch $RPM_BUILD_ROOT%{_bindir}/$f
+done
+for f in %{vala_manpages} %{vala_tools_manpages};
+do
+ rm $RPM_BUILD_ROOT%{_mandir}/man1/$f.1*
+ touch $RPM_BUILD_ROOT%{_mandir}/man1/$f.1.gz
+done
+# own this directory for third-party *.vapi files
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/vala/vapi
+rm $RPM_BUILD_ROOT%{_libdir}/libvala-%{api_ver}.la
+
+
+%check
+# make check
+
+
+%if 0%{?fedora} >= 13
+%else
+%clean
+rm -rf $RPM_BUILD_ROOT
+%endif
+
+
+%post
+/sbin/ldconfig
+for f in %{vala_binaries};
+do
+ %{_sbindir}/update-alternatives --install %{_bindir}/$f \
+ $f %{_bindir}/$f-%{api_ver} 10
+done
+for f in %{vala_manpages};
+do
+ %{_sbindir}/update-alternatives --install %{_mandir}/man1/$f.1.gz \
+ $f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz 10
+done
+
+%post tools
+for f in %{vala_tools_binaries};
+do
+ %{_sbindir}/update-alternatives --install %{_bindir}/$f \
+ $f %{_bindir}/$f-%{api_ver} 10
+done
+for f in %{vala_tools_manpages};
+do
+ %{_sbindir}/update-alternatives --install %{_mandir}/man1/$f.1.gz \
+ $f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz 10
+done
+
+%postun
+/sbin/ldconfig
+if [ $1 -eq 0 ];
+then
+ for f in %{vala_binaries};
+ do
+ echo %{_sbindir}/update-alternatives --remove $f \
+ %{_bindir}/$f-%{api_ver}
+ done
+ for f in %{vala_manpages};
+ do
+ echo %{_sbindir}/update-alternatives --remove $f.1.gz \
+ %{_mandir}/man1/$f-%{api_ver}.1.gz
+ done
+fi
+
+%postun tools
+if [ $1 -eq 0 ];
+then
+ for f in %{vala_tools_binaries};
+ do
+ %{_sbindir}/update-alternatives --remove $f \
+ %{_bindir}/$f-%{api_ver}
+ done
+ for f in %{vala_tools_manpages};
+ do
+ %{_sbindir}/update-alternatives --remove $f.1.gz \
+ %{_mandir}/man1/$f-%{api_ver}.1.gz
+ done
+fi
+
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING INSTALL MAINTAINERS NEWS README THANKS
+%ghost %{_bindir}/vala
+%ghost %{_bindir}/valac
+%{_bindir}/vala-%{api_ver}
+%{_bindir}/valac-%{api_ver}
+# owning only the directories, they should be empty
+%dir %{_datadir}/vala
+%dir %{_datadir}/vala/vapi
+%{_datadir}/vala-%{api_ver}
+%{_libdir}/libvala-%{api_ver}.so.*
+%ghost %{_mandir}/man1/valac.1.gz
+%{_mandir}/man1/valac-%{api_ver}.1.gz
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/vala-%{api_ver}
+%{_libdir}/libvala-%{api_ver}.so
+%{_libdir}/pkgconfig/libvala-%{api_ver}.pc
+# directory owned by filesystem
+%{_datadir}/aclocal/vala.m4
+
+%files tools
+%defattr(-,root,root,-)
+%ghost %{_bindir}/vala-gen-introspect
+%ghost %{_bindir}/vapicheck
+%ghost %{_bindir}/vapigen
+%{_bindir}/vala-gen-introspect-%{api_ver}
+%{_bindir}/vapicheck-%{api_ver}
+%{_bindir}/vapigen-%{api_ver}
+%{_libdir}/vala-%{api_ver}
+%ghost %{_mandir}/man1/vala-gen-introspect.1.gz
+%ghost %{_mandir}/man1/vapigen.1.gz
+%{_mandir}/man1/vala-gen-introspect-%{api_ver}.1.gz
+%{_mandir}/man1/vapigen-%{api_ver}.1.gz
+
+%files doc
+%defattr(-,root,root,-)
+%doc %{_datadir}/devhelp/books/vala-%{api_ver}
+
+
+%changelog
+* Fri Feb 3 2012 Michel Salim <salimma@fedoraproject.org> - 0.14.1-1
+- Initial package, based on vala 0.15.1-2 spec