[devel] I: cmake macros

Mikhail Novosyolov mikhailnov на altlinux.org
Вт Июн 15 20:26:29 MSK 2021


31.05.2021 12:20, Arseny Maslennikov пишет:
> Hi!
>
> Вчера прошло задание 269879 с cmake 3.19.7-alt3.
> Описание изменения и цели, которые оно должно было достигнуть, я
> поместил на страничку https://www.altlinux.org/CMakeMigration2021,
> чтобы не разводить тут простыню. (Если кому-то интересно конструктивно
> обсудить подробности, это всё ещё можно сделать)
>
> Большинство пакетов, которые не собрались бы с cmake 3.19.7-alt3 по
> совсем тривиальным причинам, были обновлены в том же задании, но не все;
> далее о тех, кто остался.
>
> Судя по github.com/altlinux/specs, в сизифе есть несколько пакетов, в
> спеках которых есть "%cmake_build VERBOSE=1":
> % git grep -F '%cmake_build VERBOSE=1' | wc
>      32      68    1508
> Сейчас verbose передаётся по умолчанию (можно было так не делать, но
> спеков с VERBOSE=1 было больше, чем без этого флага — что говорит о
> предпочтении мейнтейнеров — поэтому и было принято такое решение).
>
> Их исправление сводится либо просто к убиранию VERBOSE=1, либо к явному
> вызову make с VERBOSE=0 или `cmake --build "%_cmake__builddir"' без
> опции --verbose, если вам так больше нравится. (Некоторые пакеты я успел
> исправить лично; к слову, там были накручены в виде makeflags либо
> вообще неактуальные переменные, либо ныне настраиваемые по-другому)
>
> Что же касается p9, туда сегодня будет отправлен вариант макросов cmake
> в задании 272559, совместимый и с текущими спеками в p9 на момент его
> составления, и с копируемыми спеками из Сизифа.
> Я сначала займусь этим заданием (потому что копирование спеков сейчас
> затруднено, уже были жалобы в личку), а после буду исправлять оставшиеся
> пакеты в сизифе, до которых не дойдут руки у мейнтейнеров.

А в чем цель отказа от Unix Makefiles и перехода на cmake --build?

В таблице по ссылке на вики приведено " %makeinstall_std -C BUILD" в качестве рекомендуемого макроса.Вы хотите отказаться отпривязки к BUILD и тут же предлагаете прямо в спек ее прописывать?

Рассматривался ли вариант cmake --install?

В общем , прочитав тред, не понял, зачем эти изменения. В audacity.spec [1] сейчас так:

%cmake \
  -Daudacity_lib_preference:STRING=system \
  -Daudacity_use_ffmpeg:STRING=linked \
  -Daudacity_use_lame:STRING=system \
  -Daudacity_use_libflac:STRING=system \
  -Daudacity_use_libid3tag:STRING=system \
  -Daudacity_use_libsndfile:STRING=system \
  -Daudacity_use_libsoxr:STRING=system \
  -Daudacity_use_libtwolame:STRING=system \
  -Daudacity_use_libvamp:STRING=system \
  -Daudacity_use_libvorbis:STRING=system \
  -Daudacity_use_libv2:STRING=system \
  -Daudacity_use_sbsms:STRING=system \
  -Daudacity_use_soundtouch:STRING=system \
  -Daudacity_use_portaudio:STRING=local \
  -Daudacity_use_midi:STRING=local \
  -DAUDACITY_SUFFIX:STRING=""

%cmake_build

%install
%cmakeinstall_std

Нужно ли здесь что-то менять?

[1] http://git.altlinux.org/gears/a/audacity.git?p=audacity.git;a=blob;f=audacity.spec;h=4f647acd55c12848ce3aa60816afe46ce75a8d72;hb=HEAD


	

----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20210615/829caef3/attachment.html>


Подробная информация о списке рассылки Devel