История изменений
Исправление 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
Вот такой заказ Солнца вручную.