891 sao GitHub và vẫn tăng — GNOME/vala là dự án Vala mà TopGit đang theo dõi trên nền tảng. Read-only mirror of https://gitlab.gnome.org/GNOME/vala
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Vala is a 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.
The syntax of Vala is similar to C#, modified to better fit the GObject
type system. Vala supports modern language features as the following:
Interfaces
Properties
Signals
Foreach
Lambda expressions
Type inference for local variables
Generics
Non-null types
Assisted memory management
Exception handling
Vala is designed to allow access to existing C libraries, especially
GObject-based libraries, without the need for runtime bindings. All that
is needed to use a library with Vala is an API file, containing the class
and method declarations in Vala syntax. Vala currently comes with
bindings for GLib and GTK+.
Using classes and methods written in Vala from an application written in
C is not difficult. The Vala library only has to install the generated
header files and C applications may then access the GObject-based API of
the Vala library as usual. It should also be easily possible to write a
bindings generator for access to Vala libraries from applications
written in e.g. C# as the Vala parser is written as a library, so that
all compile-time information is available when generating a binding.
More information about Vala is available at https://vala.dev
Building Vala
Instructions on how to build the latest version of Vala.
These can be modified to build a specific release.
Step One:
Install the following packages:
a C compiler, e.g. GCC
a C library, e.g. glibc
glib (>= 2.56)
gobject-introspection
flex
bison
Graphviz (libgvc) (>= 2.16) to build valadoc
make
autoconf
autoconf-archive
automake
libtool
These additional packages are needed to generate the documentation:
help2man when updating the man pages
sphinx, python-furo
latexmk, texlive for PDF generation
Step Two:
Decide where the Vala compiler is to be found.
Vala is self-hosting so it needs another Vala compiler to compile
itself. valac is the name of the executable and can be:
installed from an existing package
built from a source tarball
built from the Vala bootstrap module
If you have an existing valac installed then move on to step three.
If you don't have an existing version of Vala installed (i.e. because you're
bootstrapping or cross-compiling) then a source tarball or the vala-bootstrap
module contain pre-compiled C files from the Vala sources. These can be used
to bootstrap valac.
Current releases of source tarballs can be downloaded via:
https://download.gnome.org/sources/vala/
or the vala-bootstrap module is available at:
https://gitlab.gnome.org/Archive/vala-bootstrap
Here is an example on how to download and compile from a Vala release tarball.
In this example it is release version 0.48.25:
curl --silent --show-error --location https://download.gnome.org/sources/vala/0.48/vala-0.48.25.tar.xz --output vala-bootstrap.tar.xz
tar --extract --file vala-bootstrap.tar.xz
cd vala-bootstrap
./configure --prefix=/opt/vala-bootstrap
make && sudo make install
The configure script will check if valac can be found in PATH. If not then
valac is bootstrapped from the C source files in the tarball.
If you do not wish to install the bootstrapped version of valac it can be
found in vala-bootstrap/compiler/valac This is a libtool wrapper script
that makes the libraries in the build directory work together.
An example of downloading and compiling from the bootstrap module:
git clone https://gitlab.gnome.org/Archive/vala-bootstrap
cd vala-bootstrap
touch */*.stamp
VALAC=/no-valac ./configure --prefix=/opt/vala-bootstrap
make && sudo make install
Step Three:
Compiling the newest Vala from the repository using a pre-installed valac:
git clone https://gitlab.gnome.org/GNOME/vala
cd vala
./autogen.sh
make && sudo make install
To use valac from a bootstrapped build detailed in step two use:
git clone https://gitlab.gnome.org/GNOME/vala
cd vala
VALAC=/opt/vala-bootstrap/bin/valac ./autogen.sh
make && sudo make install
Compiling Different Vala Versions
Maybe you now want to compile Vala with the new version you have just installed.
Then you simply clean the version files and start the build. Be warned that
git clean -dfxwill remove all untracked files from the source tree:
git clean -dfx
./autogen.sh
make && sudo make install
If you wish to build a specific release, for example 0.56.17:
git checkout 0.56.17
git clean -dfx
./autogen.sh
make && sudo make install
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/GNOME/vala là nguồn chính thức.
GNOME/vala có phải mã nguồn mở không?
Có — GNOME/vala phát hành theo license LGPL-2.1, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/GNOME/vala.
GNOME/vala có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho GNOME/vala. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
GNOME/vala có trang demo không?
Dự án có trang chủ ở https://gitlab.gnome.org/GNOME/vala. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
GNOME/vala còn đang phát triển không?
Commit gần nhất trên GNOME/vala là 2 tháng trước (theo timestamp GitHub). Repo có 84 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
GNOME/vala dùng license gì?
GNOME/vala phát hành theo license LGPL-2.1. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về vala?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về vala.