diff --git a/anda/tools/vala-language-server-nightly/anda.hcl b/anda/vala/vala-language-server-nightly/anda.hcl similarity index 100% rename from anda/tools/vala-language-server-nightly/anda.hcl rename to anda/vala/vala-language-server-nightly/anda.hcl diff --git a/anda/tools/vala-language-server-nightly/update.rhai b/anda/vala/vala-language-server-nightly/update.rhai similarity index 100% rename from anda/tools/vala-language-server-nightly/update.rhai rename to anda/vala/vala-language-server-nightly/update.rhai diff --git a/anda/tools/vala-language-server-nightly/vala-language-server-nightly.spec b/anda/vala/vala-language-server-nightly/vala-language-server-nightly.spec similarity index 100% rename from anda/tools/vala-language-server-nightly/vala-language-server-nightly.spec rename to anda/vala/vala-language-server-nightly/vala-language-server-nightly.spec diff --git a/anda/tools/vala-lint-nightly/anda.hcl b/anda/vala/vala-lint-nightly/anda.hcl similarity index 100% rename from anda/tools/vala-lint-nightly/anda.hcl rename to anda/vala/vala-lint-nightly/anda.hcl diff --git a/anda/tools/vala-lint-nightly/update.rhai b/anda/vala/vala-lint-nightly/update.rhai similarity index 100% rename from anda/tools/vala-lint-nightly/update.rhai rename to anda/vala/vala-lint-nightly/update.rhai diff --git a/anda/tools/vala-lint-nightly/vala-lint-nightly.spec b/anda/vala/vala-lint-nightly/vala-lint-nightly.spec similarity index 100% rename from anda/tools/vala-lint-nightly/vala-lint-nightly.spec rename to anda/vala/vala-lint-nightly/vala-lint-nightly.spec diff --git a/anda/vala/vala-nightly/anda.hcl b/anda/vala/vala-nightly/anda.hcl new file mode 100644 index 0000000000..1b706cd6a9 --- /dev/null +++ b/anda/vala/vala-nightly/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "vala-nightly.spec" + } +} diff --git a/anda/vala/vala-nightly/vala-nightly.spec b/anda/vala/vala-nightly/vala-nightly.spec new file mode 100644 index 0000000000..7eb0232904 --- /dev/null +++ b/anda/vala/vala-nightly/vala-nightly.spec @@ -0,0 +1,236 @@ +# Based on https://src.fedoraproject.org/rpms/vala/blob/rawhide/f/vala.spec +%global api_ver 0.58 +%global priority 90 + +%global real_name vala +%global commit 94582de0320c39b58eb38c97dbffcf48d2a948b9 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global repo https://gitlab.gnome.org/GNOME/%{real_name}.git + +%global commit_date %(date '+%Y%m%d') +%global snapshot_info %{commit_date}.%{shortcommit} + +Name: vala-nightly +Version: 0.58.0^%{snapshot_info} +Release: 1%{?dist} +Summary: A modern programming language for GNOME + +# Most files are LGPLv2.1+, curses.vapi is 2-clause BSD +License: LGPL-2.1-or-later AND BSD-2-Clause +URL: https://wiki.gnome.org/Projects/Vala + +BuildRequires: git +BuildRequires: bison +BuildRequires: flex +BuildRequires: gobject-introspection-devel +BuildRequires: graphviz-devel +BuildRequires: libxslt +BuildRequires: autoconf-archive +BuildRequires: make +BuildRequires: pkgconfig(gobject-2.0) +# only if Vala source files are patched +BuildRequires: vala + +# for tests +BuildRequires: dbus-x11 + +Requires: libvala%{?_isa} = %{version}-%{release} + +# For GLib-2.0 and GObject-2.0 .gir files +Requires: gobject-introspection-devel + +Provides: vala(api) = %{api_ver} + +Conflicts: vala +Provides: vala = %version +Provides: vala%{?_isa} = %version + +%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 -n libvala-nightly +Summary: Vala compiler library + +Conflicts: libvala +Provides: libvala = %version +Provides: libvala%{?_isa} = %version + +%description -n libvala-nightly +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 the shared libvala library. + + +%package -n libvala-nightly-devel +Summary: Development files for libvala +Requires: libvala%{?_isa} = %{version}-%{release} + +Conflicts: libvala-devel +Provides: libvala-devel = %version +Provides: libvala-devel%{?_isa} = %version + +%description -n libvala-nightly-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 libvala. This is not +necessary for using the %{name} compiler. + + +%package doc +Summary: Documentation for %{name} +BuildArch: noarch +Requires: %{name} = %{version}-%{release} +Requires: devhelp + +Conflicts: vala-doc +Provides: vala-doc = %version + +%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 valadoc-nightly +Summary: Vala documentation generator +Requires: %{name}%{?_isa} = %{version}-%{release} + +Conflicts: valadoc +Provides: valadoc = %version +Provides: valadoc%{?_isa} = %version + +%description -n valadoc-nightly +Valadoc is a documentation generator for generating API documentation from Vala +source code. + + +%package -n valadoc-nightly-devel +Summary: Development files for valadoc +Requires: valadoc%{?_isa} = %{version}-%{release} + +Conflicts: valadoc-devel +Provides: valadoc-devel = %version +Provides: valadoc-devel%{?_isa} = %version + +%description -n valadoc-nightly-devel +Valadoc is a documentation generator for generating API documentation from Vala +source code. + +The valadoc-devel package contains libraries and header files for +developing applications that use valadoc. + + +%prep +rm -rf %{real_name}-%{commit} +git clone %{repo} %{real_name}-%{commit} +cd %{real_name}-%{commit} +git checkout %{commit} + + +%build +cd %{real_name}-%{commit} +./autogen.sh --help +%configure +# Don't use rpath! +sed -i 's|/lib /usr/lib|/lib /usr/lib /lib64 /usr/lib64|' libtool +%make_build + +%install +cd %{real_name}-%{commit} +%make_install +# Avoid multilib conflicts in vala-gen-introspect +mv %{buildroot}%{_bindir}/vala-gen-introspect-%{api_ver}{,-`uname -m`} +echo -e '#!/bin/sh\nexec %{_bindir}/vala-gen-introspect-%{api_ver}-`uname -m` "$@"' > \ + %{buildroot}%{_bindir}/vala-gen-introspect-%{api_ver} + chmod +x %{buildroot}%{_bindir}/vala-gen-introspect-%{api_ver} + +find %{buildroot} -name '*.la' -delete + +install -D -m 644 COPYING %{buildroot}%{_datadir}/licenses/%{real_name}/COPYING +install -D -m 644 NEWS %{buildroot}%{_docdir}/%{real_name}/NEWS +install -D -m 644 README.md %{buildroot}%{_docdir}/%{real_name}/README.md + +%check +cd %{real_name}-%{commit} +# https://gitlab.gnome.org/GNOME/vala/-/issues/1416 +export -n VALAFLAGS +%make_build check + + +%files +%license %{_datadir}/licenses/%{real_name}/COPYING +%doc %{_docdir}/%{real_name}/NEWS +%doc %{_docdir}/%{real_name}/README.md +%{_bindir}/vala +%{_bindir}/vala-%{api_ver} +%{_bindir}/valac +%{_bindir}/valac-%{api_ver} +%{_bindir}/vala-gen-introspect +%{_bindir}/vala-gen-introspect-%{api_ver}* +%{_bindir}/vapigen +%{_bindir}/vapigen-%{api_ver} +%{_libdir}/pkgconfig/vapigen*.pc +%{_libdir}/vala-%{api_ver}/ +%{_datadir}/aclocal/vala.m4 +%{_datadir}/aclocal/vapigen.m4 +%{_datadir}/vala/ +%{_datadir}/vala-%{api_ver}/ +%{_mandir}/man1/valac.1* +%{_mandir}/man1/valac-%{api_ver}.1* +%{_mandir}/man1/vala-gen-introspect.1* +%{_mandir}/man1/vala-gen-introspect-%{api_ver}.1* +%{_mandir}/man1/vapigen.1* +%{_mandir}/man1/vapigen-%{api_ver}.1* + +%files -n libvala-nightly +%license %{_datadir}/licenses/%{real_name}/COPYING +%{_libdir}/libvala-%{api_ver}.so.* + +%files -n libvala-nightly-devel +%{_includedir}/vala-%{api_ver} +%{_libdir}/libvala-%{api_ver}.so +%{_libdir}/pkgconfig/libvala-%{api_ver}.pc + +%files doc +%doc %{_datadir}/devhelp/books/vala-%{api_ver} + +%files -n valadoc-nightly +%{_bindir}/valadoc +%{_bindir}/valadoc-%{api_ver} +%{_libdir}/libvaladoc-%{api_ver}.so.0* +%{_libdir}/valadoc-%{api_ver}/ +%{_datadir}/valadoc-%{api_ver}/ +%{_mandir}/man1/valadoc-%{api_ver}.1* +%{_mandir}/man1/valadoc.1* + +%files -n valadoc-nightly-devel +%{_includedir}/valadoc-%{api_ver}/ +%{_libdir}/libvaladoc-%{api_ver}.so +%{_libdir}/pkgconfig/valadoc-%{api_ver}.pc + + +%changelog +* Wed Apr 19 2023 David King - 0.56.7-1 +- Update to 0.56.7