Compare commits

..

3 commits

Author SHA1 Message Date
8d997743a0 Lower priority of alternatives to 10 (prioritize main vala package)
- Remove upgrade-path workaround inherited from Vala
2012-05-12 11:17:24 +07:00
24eb0d8e9f Remove subpackage-renaming logic; not needed since this is the first
vala-compat release
2012-05-12 00:06:54 +07:00
2722e3d408 Initial import 2012-05-12 00:03:43 +07:00
4 changed files with 244 additions and 1 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/vala-0.12.1.tar.xz

View file

@ -1 +0,0 @@
Old compatibility package, no longer used by anything

1
sources Normal file
View file

@ -0,0 +1 @@
27e6e852b8f6b5695654029b7914b89d vala-0.12.1.tar.xz

242
vala-compat.spec Normal file
View file

@ -0,0 +1,242 @@
%global api_ver 0.12
%global priority 10
Name: vala-compat
Version: 0.12.1
Release: 4%{?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.12/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(posttrans): %{_sbindir}/alternatives
Requires(preun): %{_sbindir}/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
%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
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
%posttrans
/sbin/ldconfig
for f in %{vala_binaries};
do
%{_sbindir}/alternatives --install %{_bindir}/$f \
$f %{_bindir}/$f-%{api_ver} %{priority}
done
for f in %{vala_manpages};
do
%{_sbindir}/alternatives --install %{_mandir}/man1/$f.1.gz \
$f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz %{priority}
done
%posttrans tools
for f in %{vala_tools_binaries};
do
%{_sbindir}/alternatives --install %{_bindir}/$f \
$f %{_bindir}/$f-%{api_ver} %{priority}
done
for f in %{vala_tools_manpages};
do
%{_sbindir}/alternatives --install %{_mandir}/man1/$f.1.gz \
$f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz %{priority}
done
%preun
/sbin/ldconfig
for f in %{vala_binaries};
do
%{_sbindir}/alternatives --remove $f \
%{_bindir}/$f-%{api_ver}
done
for f in %{vala_manpages};
do
%{_sbindir}/alternatives --remove $f.1.gz \
%{_mandir}/man1/$f-%{api_ver}.1.gz
done
%preun tools
for f in %{vala_tools_binaries};
do
%{_sbindir}/alternatives --remove $f \
%{_bindir}/$f-%{api_ver}
done
for f in %{vala_tools_manpages};
do
%{_sbindir}/alternatives --remove $f.1.gz \
%{_mandir}/man1/$f-%{api_ver}.1.gz
done
%files
%doc AUTHORS ChangeLog COPYING 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
%{_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
%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
%doc %{_datadir}/devhelp/books/vala-%{api_ver}
%changelog
* Sat May 12 2012 Michel Salim <salimma@fedoraproject.org> - 0.12.1-4
- Lower priority of alternatives to 10 (prioritize main vala package)
- Remove upgrade-path workaround inherited from Vala
* Fri May 11 2012 Michel Salim <salimma@fedoraproject.org> - 0.12.1-3
- Remove subpackage-renaming logic; not needed since this is the first
vala-compat release
* Thu May 10 2012 Michel Salim <salimma@fedoraproject.org> - 0.12.1-2
- Reindent description texts to avoid long lines
- Make alternative scriptlet less noisy (Ralph Bean)
* Sat May 5 2012 Michel Salim <salimma@fedoraproject.org> - 0.12.1-1
- Initial package, based on vala-0.12.1-1