LINUX.ORG.RU

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

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

Попробую объяснить. Можно не делать клон репы, а скачать Zip архивом (14Мб - в развернутом виде 22Мб). Для сборки пакета нужны два каталога common(здесь лежат скрипты используемые при сборке любых пакетов void linux), etc (здесь файлы конфигурации) и файл xbps-src (это управляющий скрипт). Каталог srcpkgs содержит список темплейтов (портов, пакеджбилдов, рецептов - не знаю как понятнее) для сбора всех пакетов, которые собираются в Void Linux - это текстовые файлы (в принципе он может содержать только один подкаталог с названием пакета в котором будет лежать один файл template). Всё это хозяйство запихиваем в каталог, к которому юзер имеет доступ, например ~/packages

mkdir ~/packages
cd ~/packages

Или распаковываем архив Github-репозитория

unzip путь_к_архиву_репы_void/void-packages-master.zip

или создаём и наполняем содержимым каталоги самостоятельно.

Перед сборкой пакета(ов) необходимо установить остов системы в которой будет идти сборка (пакеты собираются в изолированном окружении, которое к основной системе не имеет никакого отношения, мне кажется что основная система может быть совсем не Void, но я не проверял, утверждать не буду)

~/packages/xbps-src binary-bootstrap

Создадуться дополнительные каталоги.

Собираем, например, пакет fasm. Созданный (исправленный) рецепт (файл template) сборки пакета fasm

# Template file for 'fasm'
pkgname=fasm
version=1.73.16
revision=1
archs="i686* x86_64*"
wrksrc=fasm
short_desc="Fast assembler for the x86 and x86-64 architectures"
maintainer="Dmitry Bogatov <KAction@disroot.org>"
license="BSD-2-Clause"
homepage="https://flatassembler.net"
distfiles="https://flatassembler.net/fasm-${version}.tgz"
checksum=f3d87ab5347c315c48644df989a666390c3e4fb0d40daedd19dea242f8a958c9
nostrip=yes

case ${XBPS_TARGET_MACHINE} in
	i686*)
		_fasm=./fasm
		_source='source/Linux/fasm.asm'
		;;
	x86_64*)
		_fasm=./fasm.x64
		_source='source/Linux/x64/fasm.asm'
		;;
esac

do_build() {
	${_fasm} ${_source} fasm.out
}

do_install() {
	vbin fasm.out fasm
	vdoc fasm.txt
	vlicense license.txt
} 

ложим в каталог ~/packages/srcpkg/fasm

Для сборки пакета даём команду

~/packages/xbps-src pkg fasm

Ждём Н-ное время (исходники и зависимости для сборки пакета скачаются без нашего участия, если творец темплейта нигде не накосячил) и в каталоге ~/packages/hostdir/binpkgs будет лежать собранный пакет fasm-1.73.16_1.xbps, который устанавливаем в систему через xbps-install.

Для разнообразных ньюансов придется читать Readme.md и Manual.md

Вот такой заказ Солнца вручную.

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

Попробую объяснить. Можно не делать клон репы, а скачать Zip архивом (14Мб - в развернутом виде 22Мб). Для сборки пакета нужны два каталога common(здесь лежат скрипты используемые при сборке любых пакетов void linux), etc (здесь файлы конфигурации) и файл xbps-src (это управляющий скрипт). Каталог srcpkgs содержит список темплейтов (портов, пакеджбилдов, рецептов - не знаю как понятнее) для сбора всех пакетов, которые собираются в Void Linux - это текстовые файлы. Всё это хозяйство запихиваем в каталог, к которому юзер имеет доступ, например ~/packages

mkdir ~/packages
cd ~/packages

Или распаковываем архив Github-репозитория

unzip путь_к_архиву_репы_void/void-packages-master.zip

или создаём и наполняем содержимым каталоги самостоятельно.

Перед сборкой пакета(ов) необходимо установить остов системы в которой будет идти сборка (пакеты собираются в изолированном окружении, которое к основной системе не имеет никакого отношения, мне кажется что основная система может быть совсем не Void, но я не проверял, утверждать не буду)

~/packages/xbps-src binary-bootstrap

Собираем, например, пакет fasm. Созданный (исправленный) рецепт (файл template) сборки пакета fasm

# Template file for 'fasm'
pkgname=fasm
version=1.73.16
revision=1
archs="i686* x86_64*"
wrksrc=fasm
short_desc="Fast assembler for the x86 and x86-64 architectures"
maintainer="Dmitry Bogatov <KAction@disroot.org>"
license="BSD-2-Clause"
homepage="https://flatassembler.net"
distfiles="https://flatassembler.net/fasm-${version}.tgz"
checksum=f3d87ab5347c315c48644df989a666390c3e4fb0d40daedd19dea242f8a958c9
nostrip=yes

case ${XBPS_TARGET_MACHINE} in
	i686*)
		_fasm=./fasm
		_source='source/Linux/fasm.asm'
		;;
	x86_64*)
		_fasm=./fasm.x64
		_source='source/Linux/x64/fasm.asm'
		;;
esac

do_build() {
	${_fasm} ${_source} fasm.out
}

do_install() {
	vbin fasm.out fasm
	vdoc fasm.txt
	vlicense license.txt
} 

Ложим в каталог ~/packages/srcpkg/fasm

Для сборки пакета даём команду

~/packages/xbps-src pkg fasm

Ждём Н-ное время (исходники и зависимости для сборки пакета скачаются без нашего участия, если творец темплейта нигде не накосячил) и в каталоге ~/packages/hostdir/binpkgs будет лежать собранный пакет fasm-1.73.16_1.xbps, который устанавливаем в систему через xbps-install.

Для разнообразных ньюансов придется читать Readme.md и Manual.md

Вот такой заказ Солнца вручную.