packaging: Inital packaging
[platform/upstream/vala.git] / packaging / vala.spec
1 %define         vala_version 0.18
2 %define         vala_libversion 0_18
3 %define         vala_priority 18
4 Name:           vala
5 Version:        0.18.0
6 Release:        2.1
7 Summary:        Programming language for GNOME
8 License:        LGPL-2.0
9 Group:          Development/Languages/Other
10 Url:            http://live.gnome.org/Vala
11 Source0:        http://download.gnome.org/sources/vala/0.18/%{name}-%{version}.tar.xz
12 BuildRequires:  bison
13 BuildRequires:  fdupes
14 BuildRequires:  flex
15 BuildRequires:  glib2-devel >= 2.18.0
16 Requires(post): update-alternatives
17 Requires(postun): update-alternatives
18 BuildRequires:  xz
19 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
20
21 %description
22 Vala is a new programming language that aims to bring modern
23 programming language features to GNOME developers without imposing any
24 additional runtime requirements and without using a different ABI
25 compared to applications and libraries written in C.
26
27 %package -n libvala
28 Summary:        Programming language for GNOME
29 Group:          System/Libraries
30
31 %description -n libvala
32 Vala is a new programming language that aims to bring modern
33 programming language features to GNOME developers without imposing any
34 additional runtime requirements and without using a different ABI
35 compared to applications and libraries written in C.
36
37 %package -n libvala-devel
38 Summary:        Programming language for GNOME
39 Group:          Development/Libraries/Other
40 Requires:       libvala = %{version}
41
42 %description -n libvala-devel
43 Vala is a new programming language that aims to bring modern
44 programming language features to GNOME developers without imposing any
45 additional runtime requirements and without using a different ABI
46 compared to applications and libraries written in C.
47
48 %prep
49 %setup -q
50
51 %build
52 %configure --with-pic --enable-vapigen
53 make %{?jobs:-j%jobs}
54
55 %install
56 %make_install
57 %fdupes %{buildroot}%{_datadir}
58
59 %clean
60 rm -rf %{buildroot}
61
62 %post
63 update-alternatives \
64   --install %{_bindir}/vala                          vala                     %{_bindir}/vala-%{vala_version} \
65             %{vala_priority} \
66   --slave   %{_bindir}/valac                         valac                    %{_bindir}/valac-%{vala_version} \
67   --slave   %{_bindir}/vala-gen-introspect           vala-gen-introspect      %{_bindir}/vala-gen-introspect-%{vala_version} \
68   --slave   %{_bindir}/vapicheck                     vapicheck                %{_bindir}/vapicheck-%{vala_version} \
69   --slave   %{_bindir}/vapigen                       vapigen                  %{_bindir}/vapigen-%{vala_version} \
70   --slave   %{_mandir}/man1/valac.1.gz               valac.1.gz               %{_mandir}/man1/valac-%{vala_version}.1.gz \
71   --slave   %{_mandir}/man1/vala-gen-introspect.1.gz vala-gen-introspect.1.gz %{_mandir}/man1/vala-gen-introspect-%{vala_version}.1.gz \
72   --slave   %{_mandir}/man1/vapigen.1.gz             vapigen.1.gz             %{_mandir}/man1/vapigen-%{vala_version}.1.gz \
73   --slave   %{_datadir}/pkgconfig/vapigen.pc         vapigen.pc               %{_datadir}/pkgconfig/vapigen-%{vala_version}.pc
74
75 %postun
76 # Note: we don't use "$1 -eq 0", to avoid issues if the package gets renamed
77 if [ ! -f %{_bindir}/vala-%{vala_version} ]; then
78   update-alternatives --remove vala %{_bindir}/vala-%{vala_version}
79 fi
80
81 %post -n libvala -p /sbin/ldconfig
82
83 %postun -n libvala -p /sbin/ldconfig
84
85 %files
86 %defattr(-,root,root,-)
87 %doc AUTHORS ChangeLog COPYING NEWS README
88 %ghost %{_bindir}/vala
89 %ghost %{_bindir}/valac
90 %ghost %{_bindir}/vala-gen-introspect
91 %ghost %{_bindir}/vapicheck
92 %ghost %{_bindir}/vapigen
93 %ghost %{_mandir}/man1/valac.1*
94 %ghost %{_mandir}/man1/vala-gen-introspect.1*
95 %ghost %{_mandir}/man1/vapigen.1*
96 %ghost %{_datadir}/pkgconfig/vapigen.pc
97 %{_bindir}/vala-%{vala_version}
98 %{_bindir}/valac-%{vala_version}
99 %{_bindir}/vala-gen-introspect-%{vala_version}
100 %{_bindir}/vapicheck-%{vala_version}
101 %{_bindir}/vapigen-%{vala_version}
102 %{_mandir}/man1/valac-%{vala_version}.1*
103 %{_mandir}/man1/vala-gen-introspect-%{vala_version}.1*
104 %{_mandir}/man1/vapigen-%{vala_version}.1*
105 %{_datadir}/aclocal/vala.m4
106 %{_datadir}/aclocal/vapigen.m4
107 %{_datadir}/pkgconfig/vapigen-%{vala_version}.pc
108 %dir %{_datadir}/vala
109 %{_datadir}/vala/Makefile.vapigen
110 %{_datadir}/vala-%{vala_version}/
111 %{_libdir}/vala-%{vala_version}/
112
113 %files -n libvala
114 %defattr(-,root,root,-)
115 %{_libdir}/libvala-%{vala_version}.so.*
116
117 %files -n libvala-devel
118 %defattr(-,root,root,-)
119 %{_includedir}/vala-%{vala_version}/
120 %{_libdir}/libvala-%{vala_version}.so
121 %{_libdir}/pkgconfig/libvala-%{vala_version}.pc