[vala-compat] Initial import

Michel Alexandre Salim salimma at fedoraproject.org
Fri May 11 16:10:24 UTC 2012


commit a06b202c5cd970842101346446976067d8071607
Author: Michel Alexandre Salim <salimma at fedoraproject.org>
Date:   Fri May 11 23:10:34 2012 +0700

    Initial import

 .gitignore       |    1 +
 sources          |    1 +
 vala-compat.spec |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 262 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..5749cf8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/vala-0.16.0.tar.xz
diff --git a/sources b/sources
index e69de29..997d3ad 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+84b742e9cca4c90fde3026c3793c03c1  vala-0.16.0.tar.xz
diff --git a/vala-compat.spec b/vala-compat.spec
new file mode 100644
index 0000000..6de9a8e
--- /dev/null
+++ b/vala-compat.spec
@@ -0,0 +1,260 @@
+%global api_ver 0.16
+
+Name:           vala-compat
+Version:        0.16.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.16/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 pkgconfig
+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.
+
+
+%prep
+%setup -q -n vala-%{version}
+
+
+%build
+%configure
+# 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
+    if [ -L /etc/alternatives/$f ];
+    then
+        # older vala packages fail to remove alternatives on upgrade
+        %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+    fi
+    %{_sbindir}/alternatives --install %{_bindir}/$f \
+      $f %{_bindir}/$f-%{api_ver} 90
+done
+for f in %{vala_manpages};
+do
+    if [ -L /etc/alternatives/$f ];
+    then
+        %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+    fi
+    %{_sbindir}/alternatives --install %{_mandir}/man1/$f.1.gz \
+      $f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz 90
+done
+
+%posttrans tools
+for f in %{vala_tools_binaries};
+do
+    if [ -L /etc/alternatives/$f ];
+    then
+        %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+    fi
+    %{_sbindir}/alternatives --install %{_bindir}/$f \
+      $f %{_bindir}/$f-%{api_ver} 90
+done
+for f in %{vala_tools_manpages};
+do
+    if [ -L /etc/alternatives/$f ];
+    then
+        %{_sbindir}/alternatives --remove $f $(readlink /etc/alternatives/$f)
+    fi
+    %{_sbindir}/alternatives --install %{_mandir}/man1/$f.1.gz \
+      $f.1.gz %{_mandir}/man1/$f-%{api_ver}.1.gz 90
+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
+%{_datadir}/vala/Makefile.vapigen
+
+%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}
+%{_datadir}/aclocal/vapigen.m4
+%{_datadir}/pkgconfig/vapigen*.pc
+%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
+* Thu May 10 2012 Michel Salim <salimma at fedoraproject.org> - 0.16.0-2
+- Reindent description texts to avoid long lines
+- Make alternative scriptlet less noisy (Ralph Bean)
+
+* Sat May  5 2012 Michel Salim <salimma at fedoraproject.org> - 0.16.0-1
+- Initial package, based on vala-0.16.0-4


More information about the scm-commits mailing list