Serbestberdana pergala kombûnê ya Meson 0.58. Projeya afirandina pêkanîna Meson bi zimanê C

Pergala avakirina Meson 0.58 hate berdan, ku ji bo avakirina projeyên wekî X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME û GTK tê bikar anîn. Koda Meson di Python de hatî nivîsandin û di bin lîsansa Apache 2.0 de destûrdar e.

Armanca sereke ya pêşkeftina Meson peydakirina leza bilind a pêvajoya meclîsê ya bi rehetî û karanîna hêsan e. Li şûna kargêriya çêkirinê, amûra Ninja di dema çêkirinê de ji hêla xwerû ve tê bikar anîn, lê paşnavên din ên wekî xcode û VisualStudio jî dikarin werin bikar anîn. Pergal xwedan hilgirê pêwendiya pir-platformê ye ku dihêle hûn Meson bikar bînin da ku pakêtan ji bo belavkirinan ava bikin. Rêzikên meclîsê bi zimanekî sadekirî yên domain-taybet têne destnîşan kirin, ji bikarhêner re pir têne xwendin û têgihîştin (wek ku ji hêla nivîskaran ve hatî armanc kirin, pêşdebir divê herî kêm wextê nivîsandina qaîdeyan derbas bike).

Bi karanîna GCC, Clang, Visual Studio û berhevkarên din, berhevkirin û avakirina xaçê li Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS û Windows-ê piştgirî dike. Di nav de C, C++, Fortran, Java û Rust jî di nav de, di nav zimanên bernamesaziyê yên cihêreng de, gengaz e ku meriv projeyan ava bike. Moda avakirina zêdekirî tê piştgirî kirin, ku tê de tenê pêkhateyên ku rasterast bi guhertinên ku ji avakirina paşîn ve hatine çêkirin ve têkildar in, ji nû ve têne çêkirin. Meson dikare were bikar anîn da ku avahiyên dubarekirî biafirîne, ku tê de xebitandina çêkirinê di hawîrdorên cihêreng de encam dide ku pelên darvekirî yên bi tevahî wekhev têne afirandin.

Nûvekirinên sereke yên Meson 0.58:

  • В языке Meson реализованы встроенные операции форматирования строк. Вместо вызова метода format теперь можно подставлять значения напрямую, например, вместо «‘A string @0@ to be formatted @1@’.format(n, m)» можно указывать сразу «f’A string @n@ to be formatted @m@'».
  • В строковые объекты добавлен метод «replace» для выполнения операции замены одной подстроки на другую, например, «s = s.replace(‘aaa’, ‘bbb’)».
  • Добавлена функция «range(start, stop[, step])» для возврата объекта, который может применяться в цикле «foreach», например «foreach i : range(15)».
  • Реализован метод meson.add_devenv(), позволяющий добавить объект environment() для установки переменных окружения во время использования команды «meson devenv», например, для задания переменной окружения с путём к каталогу с плагинами.
  • Для окружений разработки предложена новая команда «meson devenv -C builddir [<команда>], дающая возможность запустить команду в окружении, настроенном для запуска проектов из сборочного каталога (без установки).
  • По умолчанию прекращена передача параметра «-pipe» при запуске всех поддерживаемых компиляторов.
  • Разрешён вызов meson.add_dist_script() из подпроектов.
  • Предоставлена возможность многократного запуска методов append() и prepend() для одного и того же объекта environment().
  • В функции error() разрешено указание более одного аргумента с разделением пробелом (по аналогии с warning() и message()).
  • Добавлен параметр «—skip-subprojects» для выборочного пропуска установки подпроектов.

Отдельно можно отметить проект Boson, нацеленный на создание переносимой и простой реализации языка сборочных сценариев Meson, написанной на языке Си вместо Python. Проект пока находится на начальном этапе развития и пока не готов для полноценной сборки рабочих проектов. Код распространяется под лицензией GPLv3 (оригинальный Meson на Python поставляется под лицензией Apache 2.0).

Source: opennet.ru

Add a comment