LINUX.ORG.RU

История изменений

Исправление d_a, (текущая версия) :

Я выше привел пример nix выражения для сборки проекта. Это ВСЁ что нужно, чтобы иметь гарантированный байт к байту результат сборки на любой системе. Если добавть nixpkgs, как git submodule в проект, то и через 10 лет твой проект будет собираться точно так же, как и сегодня. Главное преимущество растет от туда, что функция сборки пакета это непосредственно часть функционального языка Nix.

Тыкни, я что-то не найду. Вижу только этот пост, но там просто сетап окружения, а не _сборка проекта_. Сетап-то понятно, что тривиально выглядит. Для SCL он тоже будет не сложнее чем

scl enable localdomain_mm localdomain_graphics localdomain_idevice-support './configure'
если для вставки в билд или
. /opt/rh/localdomain_mm/enable
. /opt/rh/localdomain_graphics/enable
. /opt/rh/localdomain_idevice-support/enable
в .bash_profile, если для настройки рабочей машины. Последний файл enable, например, представляет собой

export PATH=/opt/rh/localdomain_idevice-support/root/usr/bin:/opt/rh/localdomain_idevice-support/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/rh/localdomain_idevice-support/root/usr/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CPATH=/opt/rh/localdomain_idevice-support/root/usr/include${CPATH:+:${CPATH}}
export LIBRARY_PATH=/opt/rh/localdomain_idevice-support/root/usr/lib${LIBRARY_PATH:+:${LIBRARY_PATH}}
export PKG_CONFIG_PATH=/opt/rh/localdomain_idevice-support/root/usr/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
export MANPATH=/opt/rh/localdomain_idevice-support/root/usr/share/man:${MANPATH}

Вот и весь рокет саенс. А воспроизводимый билд на готовой инфраструктуре, когда всё что надо куда надо закоммичено тоже нетяжело выглядит --- mock --rebuild *.src.rpm, так что непонятно, в чём здесь состоит преимущество.

Исходная версия d_a, :

Я выше привел пример nix выражения для сборки проекта. Это ВСЁ что нужно, чтобы иметь гарантированный байт к байту результат сборки на любой системе. Если добавть nixpkgs, как git submodule в проект, то и через 10 лет твой проект будет собираться точно так же, как и сегодня. Главное преимущество растет от туда, что функция сборки пакета это непосредственно часть функционального языка Nix.

Тыкни, я что-то не найду. Вижу только этот пост, но там просто сетап окружения, а не _сборка проекта_. Сетап-то понятно, что тривиально выглядит. Для SCL он тоже будет не сложнее чем

scl enable localdomain_mm localdomain_graphics localdomain_idevice-support './configure'
если для вставки в билд или
. /opt/rh/localdomain_mm/enable
. /opt/rh/localdomain_graphics/enable
. /opt/rh/localdomain_idevice-support/enable
в .bash_profile, если для настройки рабочей машины. Последний файл enable, например, представляет собой

export PATH=/opt/rh/localdomain_idevice-support/root/usr/bin:/opt/rh/localdomain_idevice-support/root/usr/sbin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/opt/rh/localdomain_idevice-support/root/usr/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CPATH=/opt/rh/localdomain_idevice-support/root/usr/include${CPATH:+:${CPATH}}
export LIBRARY_PATH=/opt/rh/localdomain_idevice-support/root/usr/lib${LIBRARY_PATH:+:${LIBRARY_PATH}}
export PKG_CONFIG_PATH=/opt/rh/localdomain_idevice-support/root/usr/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
export MANPATH=/opt/rh/localdomain_idevice-support/root/usr/share/man:${MANPATH}

Вот и весь рокет саенс. А воспроизводимый билд на готовой инфраструктуре, когда всё что надо всё куда надо закоммичено тоже нетяжело выглядит --- mock --rebuild *.src.rpm, так что непонятно, в чём здесь состоит преимущество.