Merge upstream changes from void-packages
This commit is contained in:
parent
47e890b4b6
commit
0003842ccf
64 changed files with 1041 additions and 718 deletions
|
@ -56,7 +56,7 @@ This automatically sets up the `upstream` remote, so `git pull --rebase upstream
|
|||
|
||||
Using the GitHub web editor for making changes is strongly discouraged, because you will need to clone the repo anyways to edit and test your changes.
|
||||
|
||||
using the the `master` branch of your fork for contributing is also strongly discouraged.
|
||||
Using the `master` branch of your fork for contributing is also strongly discouraged.
|
||||
It can cause many issues with updating your pull request (also called a PR), and having multiple PRs open at once.
|
||||
To create a new branch:
|
||||
|
||||
|
|
2
COPYING
2
COPYING
|
@ -1,5 +1,5 @@
|
|||
Copyright (c) 2008-2020 Juan Romero Pardines and contributors
|
||||
Copyright (c) 2017-2022 The Void Linux team and contributors
|
||||
Copyright (c) 2017-2023 The Void Linux team and contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
|
13
Manual.md
13
Manual.md
|
@ -304,7 +304,7 @@ The following functions are defined by `xbps-src` and can be used on any templat
|
|||
`$DESTDIR`. The optional 2nd argument can be used to change the
|
||||
`file name`. See [license](#var_license) for when to use it.
|
||||
|
||||
- *vsv()* `vsv <service>`
|
||||
- *vsv()* `vsv <service> [<facility>]`
|
||||
|
||||
Installs `service` from `${FILESDIR}` to /etc/sv. The service must
|
||||
be a directory containing at least a run script. Note the `supervise`
|
||||
|
@ -312,6 +312,11 @@ The following functions are defined by `xbps-src` and can be used on any templat
|
|||
is automatically made executable by this function.
|
||||
For further information on how to create a new service directory see
|
||||
[The corresponding section the FAQ](http://smarden.org/runit/faq.html#create).
|
||||
A `log` sub-service will be automatically created if one does not exist in
|
||||
`${FILESDIR}/$service`, containing `exec vlogger -t $service -p $facility`.
|
||||
if a second argument is not specified, the `daemon` facility is used.
|
||||
For more information about `vlogger` and available values for the facility,
|
||||
see [vlogger(1)](https://man.voidlinux.org/vlogger.1).
|
||||
|
||||
- *vsed()* `vsed -i <file> -e <regex>`
|
||||
|
||||
|
@ -417,7 +422,7 @@ Multiple licenses should be separated by commas, Example: `GPL-3.0-or-later, cus
|
|||
and thus have and require no license should use
|
||||
`Public Domain`.
|
||||
|
||||
Note: `MIT`, `BSD`, `ISC` and custom licenses
|
||||
Note: `AGPL`, `MIT`, `BSD`, `ISC`, `X11`, and custom licenses
|
||||
require the license file to be supplied with the binary package.
|
||||
|
||||
- `maintainer` A string in the form of `name <user@domain>`. The email for this field
|
||||
|
@ -906,8 +911,8 @@ should be passed in via `configure_args`.
|
|||
|
||||
- `fetch` For packages that only fetch files and are installed as is via `do_install()`.
|
||||
|
||||
- `gnu-configure` For packages that use GNU configure scripts, additional configuration
|
||||
arguments can be passed in via `configure_args`.
|
||||
- `gnu-configure` For packages that use GNU autotools-compatible configure scripts,
|
||||
additional configuration arguments can be passed in via `configure_args`.
|
||||
|
||||
- `gnu-makefile` For packages that use GNU make, build arguments can be passed in via
|
||||
`make_build_args` and install arguments via `make_install_args`. The build
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# This build-helper is used for packages that make use of
|
||||
# the GObject introspection middleware layer.
|
||||
#
|
||||
#
|
||||
|
||||
# Check if the 'gir' build_option is set or if there is no
|
||||
# 'gir' build_option.
|
||||
|
@ -13,12 +13,12 @@ if [ "$build_option_gir" ] || [[ $build_options != *"gir"* ]]; then
|
|||
# and its wrappers.
|
||||
hostmakedepends+=" gobject-introspection"
|
||||
fi
|
||||
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
# Required for running binaries produced from g-ir-compiler
|
||||
# via g-ir-scanner-qemuwrapper
|
||||
hostmakedepends+=" qemu-user-static"
|
||||
|
||||
|
||||
# Required for running the g-ir-scanner-lddwrapper
|
||||
hostmakedepends+=" prelink-cross"
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ if [ "$CROSS_BUILD" ]; then
|
|||
_XBPS_CROSS_RUST_TARGET_ENV="${_XBPS_CROSS_RUST_TARGET_ENV//-/_}"
|
||||
export CARGO_TARGET_${_XBPS_CROSS_RUST_TARGET_ENV}_LINKER="$CC"
|
||||
unset _XBPS_CROSS_RUST_TARGET_ENV
|
||||
|
||||
|
||||
# Define equivalent of TOML config in environment
|
||||
# [build]
|
||||
# target = ${RUST_TARGET}
|
||||
|
@ -25,7 +25,7 @@ if [ "$CROSS_BUILD" ]; then
|
|||
export HOST_CFLAGS="-O2"
|
||||
|
||||
# Crates that use bindgen via build.rs are not cross-aware unless these are set
|
||||
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
export BINDGEN_EXTRA_CLANG_ARGS+=" --sysroot=${XBPS_CROSS_BASE} -I${XBPS_CROSS_BASE}/usr/include"
|
||||
else
|
||||
unset CARGO_BUILD_TARGET
|
||||
fi
|
||||
|
@ -39,7 +39,7 @@ export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext"
|
|||
export GETTEXT_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
|
||||
|
||||
# libssh2-sys
|
||||
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||
export LIBSSH2_SYS_USE_PKG_CONFIG=1
|
||||
|
||||
# sodium-sys
|
||||
export SODIUM_LIB_DIR="${XBPS_CROSS_BASE}/usr/include"
|
||||
|
@ -51,3 +51,9 @@ export OPENSSL_NO_VENDOR=1
|
|||
|
||||
# pcre2-sys, only necessary for musl targets
|
||||
export PCRE2_SYS_STATIC=0
|
||||
|
||||
# zstd-sys
|
||||
export ZSTD_SYS_USE_PKG_CONFIG=1
|
||||
|
||||
# onig-sys
|
||||
export RUSTONIG_SYSTEM_LIBONIG=1
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
do_build() {
|
||||
: ${make_cmd:=cargo auditable}
|
||||
|
||||
${make_cmd} build --release --target ${RUST_TARGET} ${configure_args}
|
||||
${make_cmd} build --release --locked --target ${RUST_TARGET} ${configure_args}
|
||||
}
|
||||
|
||||
do_check() {
|
||||
: ${make_cmd:=cargo auditable}
|
||||
|
||||
${make_check_pre} ${make_cmd} test --release --target ${RUST_TARGET} ${configure_args} \
|
||||
${make_check_args}
|
||||
${make_check_pre} ${make_cmd} test --release --locked --target ${RUST_TARGET} \
|
||||
${configure_args} ${make_check_args}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
|
|
@ -55,6 +55,7 @@ _EOF
|
|||
cmake_args+=" -DCMAKE_BUILD_TYPE=None"
|
||||
cmake_args+=" -DCMAKE_INSTALL_LIBDIR=lib${XBPS_TARGET_WORDSIZE}"
|
||||
cmake_args+=" -DCMAKE_INSTALL_SYSCONFDIR=/etc"
|
||||
cmake_args+=" -DFETCHCONTENT_FULLY_DISCONNECTED=ON"
|
||||
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
cmake_args+=" -DQT_HOST_PATH=/usr"
|
||||
|
|
|
@ -15,7 +15,7 @@ do_build() {
|
|||
}
|
||||
|
||||
do_check() {
|
||||
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
|
||||
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
|
||||
if make -q check 2>/dev/null; then
|
||||
:
|
||||
else
|
||||
|
|
|
@ -5,7 +5,7 @@ do_install() {
|
|||
: ${gem_cmd:=gem}
|
||||
|
||||
local _GEMDIR _INSTDIR
|
||||
|
||||
|
||||
_GEMDIR=$($gem_cmd env gemdir)
|
||||
_INSTDIR=${DESTDIR}/${_GEMDIR}/gems/${pkgname#ruby-}-${version}
|
||||
|
||||
|
|
|
@ -173,7 +173,7 @@ do_install() {
|
|||
if [ "$CROSS_BUILD" ]; then
|
||||
|
||||
local _TARGET_PLATFORM _TARGET_EXT_DIR
|
||||
|
||||
|
||||
# Get arch of the target and host platform by reading the rbconfig.rb
|
||||
# of the cross ruby
|
||||
_TARGET_PLATFORM="$(ruby -r \
|
||||
|
|
|
@ -16,7 +16,7 @@ do_build() {
|
|||
}
|
||||
|
||||
do_check() {
|
||||
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
|
||||
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
|
||||
if make -q check 2>/dev/null; then
|
||||
:
|
||||
else
|
||||
|
|
|
@ -18,7 +18,7 @@ do_build() {
|
|||
}
|
||||
|
||||
do_check() {
|
||||
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
|
||||
if [ -z "$make_cmd" ] && [ -z "$make_check_target" ]; then
|
||||
if make -q check 2>/dev/null; then
|
||||
:
|
||||
else
|
||||
|
|
|
@ -40,7 +40,7 @@ do_build() {
|
|||
# default behavior.
|
||||
go_mod_mode=
|
||||
fi
|
||||
go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
|
||||
go install -p "$XBPS_MAKEJOBS" -mod="${go_mod_mode}" -modcacherw -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
|
||||
else
|
||||
# Otherwise, build using GOPATH
|
||||
go get -p "$XBPS_MAKEJOBS" -x -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
|
||||
|
|
|
@ -9,24 +9,27 @@ do_build() {
|
|||
}
|
||||
|
||||
do_check() {
|
||||
local testjobs
|
||||
if python3 -c 'import pytest' >/dev/null 2>&1; then
|
||||
if python3 -c 'import xdist' >/dev/null 2>&1; then
|
||||
testjobs="-n $XBPS_MAKEJOBS"
|
||||
fi
|
||||
${make_check_pre} python3 -m pytest ${testjobs} ${make_check_args} ${make_check_target}
|
||||
else
|
||||
msg_warn "Unable to determine tests for PEP517 Python templates\n"
|
||||
if ! python3 -c 'import pytest' >/dev/null 2>&1; then
|
||||
msg_warn "Testing of python3-pep517 templates requires pytest\n"
|
||||
return 0
|
||||
fi
|
||||
|
||||
local testjobs
|
||||
if python3 -c 'import xdist' >/dev/null 2>&1; then
|
||||
testjobs="-n $XBPS_MAKEJOBS"
|
||||
fi
|
||||
|
||||
local testdir="${wrksrc}/tmp/$(date +%s)"
|
||||
python3 -m installer --destdir "${testdir}" \
|
||||
${make_install_args} ${make_install_target:-dist/*.whl}
|
||||
|
||||
PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
|
||||
${make_check_pre} pytest3 ${testjobs} ${make_check_args} ${make_check_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
if [ -z "${make_install_target}" ]; then
|
||||
# Default wheel name normalizes hyphens to underscores
|
||||
local wheelbase="${pkgname#python3-}"
|
||||
make_install_target="dist/${wheelbase//-/_}-${version}-*-*-*.whl"
|
||||
fi
|
||||
: ${make_install_args:=--no-compile-bytecode}
|
||||
: ${make_install_target:="dist/*.whl"}
|
||||
|
||||
python3 -m installer --destdir ${DESTDIR} \
|
||||
${make_install_args} ${make_install_target}
|
||||
|
|
|
@ -4,13 +4,18 @@
|
|||
do_configure() {
|
||||
local qmake
|
||||
local qmake_args
|
||||
local qt
|
||||
if [ -x "/usr/lib/qt5/bin/qmake" ]; then
|
||||
qmake="/usr/lib/qt5/bin/qmake"
|
||||
qt="qt5"
|
||||
elif [ -x "/usr/lib/qt6/bin/qmake" ]; then
|
||||
qmake="/usr/lib/qt6/bin/qmake"
|
||||
qt="qt6"
|
||||
fi
|
||||
if [ -z "${qmake}" ]; then
|
||||
msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n"
|
||||
fi
|
||||
if [ "$CROSS_BUILD" ] && [ "$qmake" == "/usr/lib/qt5/bin/qmake" ]; then
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
case $XBPS_TARGET_MACHINE in
|
||||
i686*) _qt_arch=i386;;
|
||||
x86_64*) _qt_arch=x86_64;;
|
||||
|
@ -26,13 +31,13 @@ MAKEFILE_GENERATOR = UNIX
|
|||
CONFIG += incremental no_qt_rpath
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
include(/usr/lib/qt5/mkspecs/common/linux.conf)
|
||||
include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf)
|
||||
include(/usr/lib/qt5/mkspecs/common/g++-unix.conf)
|
||||
include(/usr/lib/${qt}/mkspecs/common/linux.conf)
|
||||
include(/usr/lib/${qt}/mkspecs/common/gcc-base-unix.conf)
|
||||
include(/usr/lib/${qt}/mkspecs/common/g++-unix.conf)
|
||||
|
||||
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri
|
||||
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri
|
||||
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/modules
|
||||
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qconfig.pri
|
||||
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qmodule.pri
|
||||
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/modules
|
||||
QMAKE_CC = ${CC}
|
||||
QMAKE_CXX = ${CXX}
|
||||
QMAKE_LINK = ${CXX}
|
||||
|
@ -49,7 +54,7 @@ QMAKE_CXXFLAGS = ${CXXFLAGS}
|
|||
QMAKE_LFLAGS = ${LDFLAGS}
|
||||
load(qt_config)
|
||||
_EOF
|
||||
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h\"" > "${wrksrc}/.target-spec/linux-g++/qplatformdefs.h"
|
||||
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h\"" > "${wrksrc}/.target-spec/linux-g++/qplatformdefs.h"
|
||||
|
||||
mkdir -p "${wrksrc}/.host-spec/linux-g++"
|
||||
cat > "${wrksrc}/.host-spec/linux-g++/qmake.conf" <<_EOF
|
||||
|
@ -57,12 +62,12 @@ MAKEFILE_GENERATOR = UNIX
|
|||
CONFIG += incremental no_qt_rpath
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
include(/usr/lib/qt5/mkspecs/common/linux.conf)
|
||||
include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf)
|
||||
include(/usr/lib/qt5/mkspecs/common/g++-unix.conf)
|
||||
include(/usr/lib/${qt}/mkspecs/common/linux.conf)
|
||||
include(/usr/lib/${qt}/mkspecs/common/gcc-base-unix.conf)
|
||||
include(/usr/lib/${qt}/mkspecs/common/g++-unix.conf)
|
||||
|
||||
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri
|
||||
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri
|
||||
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qconfig.pri
|
||||
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/${qt}/mkspecs/qmodule.pri
|
||||
QMAKE_CC = ${CC_host}
|
||||
QMAKE_CXX = ${CXX_host}
|
||||
QMAKE_LINK = ${CXX_host}
|
||||
|
@ -79,29 +84,30 @@ QMAKE_CXXFLAGS = ${CXXFLAGS_host}
|
|||
QMAKE_LFLAGS = ${LDFLAGS_host}
|
||||
load(qt_config)
|
||||
_EOF
|
||||
echo '#include "/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h"
|
||||
echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h"
|
||||
cat > "${wrksrc}/qt.conf" <<_EOF
|
||||
[Paths]
|
||||
Sysroot=${XBPS_CROSS_BASE}
|
||||
Prefix=/usr
|
||||
ArchData=${XBPS_CROSS_BASE}/usr/lib/qt5
|
||||
Data=${XBPS_CROSS_BASE}/usr/share/qt5
|
||||
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt5
|
||||
Headers=${XBPS_CROSS_BASE}/usr/include/qt5
|
||||
ArchData=${XBPS_CROSS_BASE}/usr/lib/${qt}
|
||||
Data=${XBPS_CROSS_BASE}/usr/share/${qt}
|
||||
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/${qt}
|
||||
Headers=${XBPS_CROSS_BASE}/usr/include/${qt}
|
||||
Libraries=${XBPS_CROSS_BASE}/usr/lib
|
||||
LibraryExecutables=/usr/lib/qt5/libexec
|
||||
Binaries=/usr/lib/qt5/bin
|
||||
LibraryExecutables=/usr/lib/${qt}/libexec
|
||||
Binaries=/usr/lib/${qt}/bin
|
||||
Tests=${XBPS_CROSS_BASE}/usr/tests
|
||||
Plugins=/usr/lib/qt5/plugins
|
||||
Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports
|
||||
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml
|
||||
Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations
|
||||
Plugins=/usr/lib/${qt}/plugins
|
||||
Imports=${XBPS_CROSS_BASE}/usr/lib/${qt}/imports
|
||||
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/${qt}/qml
|
||||
Translations=${XBPS_CROSS_BASE}/usr/share/${qt}/translations
|
||||
Settings=${XBPS_CROSS_BASE}/etc/xdg
|
||||
Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples
|
||||
Examples=${XBPS_CROSS_BASE}/usr/share/${qt}/examples
|
||||
HostPrefix=/usr
|
||||
HostData=/usr/lib/qt5
|
||||
HostBinaries=/usr/lib/qt5/bin
|
||||
HostData=/usr/lib/${qt}
|
||||
HostBinaries=/usr/lib/${qt}/bin
|
||||
HostLibraries=/usr/lib
|
||||
HostLibraryExecutables=/usr/lib/${qt}/libexec
|
||||
Spec=${wrksrc}/.host-spec/linux-g++
|
||||
TargetSpec=${wrksrc}/.target-spec/linux-g++
|
||||
_EOF
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# build_style=slashpackage
|
||||
# build_wrksrc=${pkgname}-${version}
|
||||
# distfiles=<download link>
|
||||
#
|
||||
#
|
||||
# example (daemontools)
|
||||
#
|
||||
# Template file for 'daemontools'
|
||||
|
|
|
@ -53,6 +53,7 @@ _void_cross_build_binutils() {
|
|||
--sbindir=/usr/bin \
|
||||
--libdir=/usr/lib \
|
||||
--libexecdir=/usr/lib \
|
||||
--sysconfdir=/etc \
|
||||
--target=${tgt} \
|
||||
--with-sysroot=/usr/${tgt} \
|
||||
--disable-nls \
|
||||
|
@ -60,7 +61,9 @@ _void_cross_build_binutils() {
|
|||
--disable-multilib \
|
||||
--disable-werror \
|
||||
--disable-gold \
|
||||
--disable-gprofng \
|
||||
--enable-relro \
|
||||
--enable-new-dtags \
|
||||
--enable-plugins \
|
||||
--enable-64-bit-bfd \
|
||||
--enable-deterministic-archives \
|
||||
|
@ -132,6 +135,7 @@ _void_cross_build_bootstrap_gcc() {
|
|||
--disable-libssp \
|
||||
--disable-libitm \
|
||||
--disable-libatomic \
|
||||
--disable-gcov \
|
||||
--disable-threads \
|
||||
--disable-sjlj-exceptions \
|
||||
--enable-languages=c \
|
||||
|
@ -315,6 +319,14 @@ _void_cross_build_musl() {
|
|||
make ${makejobs}
|
||||
make DESTDIR=${wrksrc}/build_root/usr/${tgt} install
|
||||
|
||||
CFLAGS="-pipe -fPIC ${cross_musl_cflags}" \
|
||||
CPPFLAGS="${cross_musl_cflags}" LDFLAGS="${cross_musl_ldflags}" \
|
||||
${tgt}-gcc -pipe -fPIC ${cross_musl_cflags} ${cross_musl_ldflags} -fpie \
|
||||
-c ${XBPS_SRCPKGDIR}/musl/files/__stack_chk_fail_local.c \
|
||||
-o __stack_chk_fail_local.o
|
||||
${tgt}-ar r libssp_nonshared.a __stack_chk_fail_local.o
|
||||
cp libssp_nonshared.a ${wrksrc}/build_root/usr/${tgt}/usr/lib
|
||||
|
||||
touch ${wrksrc}/.musl_build_done
|
||||
}
|
||||
|
||||
|
@ -381,6 +393,7 @@ _void_cross_build_gcc() {
|
|||
extra_args+=" --disable-gnu-unique-object"
|
||||
extra_args+=" libat_cv_have_ifunc=no"
|
||||
else
|
||||
extra_args+=" --enable-clocale=gnu"
|
||||
extra_args+=" --enable-gnu-unique-object"
|
||||
fi
|
||||
|
||||
|
@ -412,6 +425,7 @@ _void_cross_build_gcc() {
|
|||
--disable-libvtv \
|
||||
--disable-libsanitizer \
|
||||
--disable-libstdcxx-pch \
|
||||
--disable-libssp \
|
||||
--enable-shared \
|
||||
--enable-threads=posix \
|
||||
--enable-__cxa_atexit \
|
||||
|
@ -420,7 +434,6 @@ _void_cross_build_gcc() {
|
|||
--enable-lto \
|
||||
--enable-default-pie \
|
||||
--enable-default-ssp \
|
||||
--enable-libssp \
|
||||
--with-gnu-ld \
|
||||
--with-gnu-as \
|
||||
--with-linker-hash-style=gnu \
|
||||
|
@ -460,6 +473,14 @@ do_build() {
|
|||
local binutils_ver linux_ver gcc_ver libc_ver libucontext_ver
|
||||
local tgt=${sourcepkg/cross-}
|
||||
|
||||
export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}"
|
||||
export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}"
|
||||
|
||||
# Disable explicit -fno-PIE, gcc/binutils/libc will figure this out itself.
|
||||
export CFLAGS="${CFLAGS//-fno-PIE/}"
|
||||
export CXXFLAGS="${CXXFLAGS//-fno-PIE/}"
|
||||
export LDFLAGS="${LDFLAGS//-no-pie/}"
|
||||
|
||||
_void_cross_test_ver binutils
|
||||
_void_cross_test_ver linux
|
||||
_void_cross_test_ver gcc
|
||||
|
@ -587,6 +608,8 @@ do_install() {
|
|||
for f in ${DESTDIR}/${sysroot}/usr/lib/ld-musl-*.so.*; do
|
||||
ln -sf libc.so ${f}
|
||||
done
|
||||
|
||||
cp libssp_nonshared.a ${DESTDIR}/${sysroot}/usr/lib/
|
||||
else
|
||||
# Install glibc
|
||||
cd ${wrksrc}/glibc_build
|
||||
|
@ -625,6 +648,9 @@ do_install() {
|
|||
# then remove it because it conflicts with libquadmath package
|
||||
rm -rf ${DESTDIR}/${sysroot}/usr/lib/libquadmath.*
|
||||
|
||||
# Remove libdep linker plugin because it conflicts with system binutils
|
||||
rm -f ${DESTDIR}/usr/lib/bfd-plugins/libdep*
|
||||
|
||||
# Remove leftover symlinks
|
||||
rm -f ${DESTDIR}/usr/lib${XBPS_TARGET_WORDSIZE}
|
||||
rm -f ${DESTDIR}/lib*
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# into /.xbps_chroot_init
|
||||
#
|
||||
# The supported way to make use of thie chroot-style is to create
|
||||
# a root filesystem that has base-chroot and git installed and
|
||||
# a root filesystem that has base-chroot and git installed and
|
||||
# have it inside a container engine like Docker.
|
||||
#
|
||||
# Docker example:
|
||||
|
@ -21,7 +21,7 @@
|
|||
# -R http://mirrors.servercentral.com/voidlinux/current \
|
||||
# -S base-chroot
|
||||
# $ tar -pC /tmp/image -c . | sudo docker import - voidlinux/masterdir
|
||||
# $ rm -rf /tmp/image
|
||||
# $ rm -rf /tmp/image
|
||||
# # docker run --rm -it \
|
||||
# -e XBPS_CHROOT_CMD=ethereal \
|
||||
# -e XBPS_ALLOW_CHROOT_BREAKOUT=yes \
|
||||
|
|
|
@ -5,6 +5,9 @@ build_wrksrc="${pkgname#R-cran-}"
|
|||
|
||||
# default to cran
|
||||
if [ -z "$distfiles" ]; then
|
||||
distfiles="https://cran.r-project.org/src/contrib/${pkgname#R-cran-}_${version//r/-}.tar.gz
|
||||
https://cran.r-project.org/src/contrib/Archive/${pkgname#R-cran-}/${pkgname#R-cran-}_${version//r/-}.tar.gz"
|
||||
distfiles=" https://cran.r-project.org/src/contrib/Archive/${pkgname#R-cran-}/${pkgname#R-cran-}_${version//r/-}.tar.gz"
|
||||
case " $XBPS_DISTFILES_MIRROR " in
|
||||
*" https://cran.r-project.org/src/contrib "*) ;;
|
||||
*) XBPS_DISTFILES_MIRROR+=" https://cran.r-project.org/src/contrib" ;;
|
||||
esac
|
||||
fi
|
||||
|
|
|
@ -8,4 +8,6 @@ if [ "$CROSS_BUILD" ]; then
|
|||
makedepends+=" rust-std"
|
||||
fi
|
||||
|
||||
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
|
||||
|
||||
build_helper+=" rust"
|
||||
|
|
|
@ -37,7 +37,7 @@ export CGO_CFLAGS="$CFLAGS"
|
|||
export CGO_CPPFLAGS="$CPPFLAGS"
|
||||
export CGO_CXXFLAGS="$CXXFLAGS"
|
||||
export CGO_LDFLAGS="$LDFLAGS"
|
||||
export CGO_ENABLED=1
|
||||
export CGO_ENABLED="${CGO_ENABLED:-1}"
|
||||
export GO111MODULE=auto
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
*-musl) export GOCACHE="${XBPS_HOSTDIR}/gocache-muslc" ;;
|
||||
|
|
|
@ -81,10 +81,10 @@ libIDL_cv_long_long_format=ll
|
|||
## ac_cv_alignof_CORBA_short=2
|
||||
## ac_cv_alignof_CORBA_struct=1
|
||||
## ac_cv_alignof_CORBA_wchar=2
|
||||
##
|
||||
##
|
||||
## lf_cv_sane_realloc=yes
|
||||
as_cv_unaligned_access=${as_cv_unaligned_access=no}
|
||||
##
|
||||
##
|
||||
## #unfs3
|
||||
## nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0}
|
||||
## nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize}
|
||||
|
|
|
@ -99,7 +99,7 @@ acx_working_snprintf=${acx_working_snprintf=yes}
|
|||
# libidl
|
||||
libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
|
||||
|
||||
# libnet
|
||||
# libnet
|
||||
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
|
||||
|
||||
# libpcap
|
||||
|
|
|
@ -11,7 +11,6 @@ ac_cv_func_getgrgid_r=${ac_cv_func_getgrgid_r=yes}
|
|||
ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
|
||||
ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
|
||||
ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
|
||||
ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
|
||||
ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
|
||||
ac_cv_func_strdup=yes
|
||||
ac_cv_func_strtod=yes
|
||||
|
@ -170,3 +169,7 @@ ac_cv_strftime_extensions=yes
|
|||
|
||||
# time
|
||||
ac_cv_func_wait3=yes
|
||||
|
||||
# Y2038
|
||||
gl_cv_type_time_t_y2038=${gl_cv_type_time_t_y2038=no}
|
||||
ac_cv_type_time_t_bits_macro=${ac_cv_type_time_t_bits_macro=no}
|
||||
|
|
|
@ -120,7 +120,7 @@ lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
|
|||
# libidl
|
||||
libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
|
||||
|
||||
# libnet
|
||||
# libnet
|
||||
ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no}
|
||||
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
local _wrksrc="$wrksrc${build_wrksrc:+/$build_wrksrc}"
|
||||
case "$build_style" in
|
||||
cmake)
|
||||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
|
||||
CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
|
||||
CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc/${cmake_builddir:-build}=."
|
||||
;;
|
||||
meson)
|
||||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc/${meson_builddir:-build}=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc/${meson_builddir:-build}=."
|
||||
CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc/${meson_builddir:-build}=."
|
||||
CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc/${meson_builddir:-build}=."
|
||||
;;
|
||||
*)
|
||||
CFLAGS="${CFLAGS} -fdebug-prefix-map=$_wrksrc=."
|
||||
CXXFLAGS="${CXXFLAGS} -fdebug-prefix-map=$_wrksrc=."
|
||||
CFLAGS="${CFLAGS} -ffile-prefix-map=$_wrksrc=."
|
||||
CXXFLAGS="${CXXFLAGS} -ffile-prefix-map=$_wrksrc=."
|
||||
esac
|
||||
|
||||
unset _wrksrc
|
||||
|
|
|
@ -19,11 +19,12 @@ done
|
|||
|
||||
_vsv() {
|
||||
local service="$1"
|
||||
local facility="${2:-daemon}"
|
||||
local LN_OPTS="-s"
|
||||
local svdir="${PKGDESTDIR}/etc/sv/${service}"
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
msg_red "$pkgver: vsv: 1 argument expected: <service>\n"
|
||||
if [ $# -lt 1 ] || [ $# -gt 2 ]; then
|
||||
msg_red "$pkgver: vsv: up to 2 arguments expected: <service> [<log facility>]\n"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
@ -34,17 +35,25 @@ _vsv() {
|
|||
vmkdir etc/sv
|
||||
vcopy "${FILESDIR}/$service" etc/sv
|
||||
if [ ! -L $svdir/run ]; then
|
||||
grep -Fq 'exec 2>&1' $svdir/run || msg_warn "$pkgver: vsv: service '$service' does not contain 'exec 2>&1' to log stderr\n"
|
||||
chmod 755 $svdir/run
|
||||
fi
|
||||
if [ -e $svdir/finish ] && [ ! -L $svdir/finish ]; then
|
||||
chmod 755 $svdir/finish
|
||||
fi
|
||||
ln ${LN_OPTS} /run/runit/supervise.${service} $svdir/supervise
|
||||
if [ -d $svdir/log ]; then
|
||||
ln ${LN_OPTS} /run/runit/supervise.${service}-log $svdir/log/supervise
|
||||
if [ -e $svdir/log/run ] && [ ! -L $svdir/log/run ]; then
|
||||
chmod 755 ${PKGDESTDIR}/etc/sv/${service}/log/run
|
||||
fi
|
||||
if [ -d $svdir/log ] || [ -L $svdir/log ]; then
|
||||
msg_warn "$pkgver: vsv: overriding default log service\n"
|
||||
else
|
||||
mkdir $svdir/log
|
||||
cat <<-EOF > $svdir/log/run
|
||||
#!/bin/sh
|
||||
exec vlogger -t $service -p $facility
|
||||
EOF
|
||||
fi
|
||||
ln ${LN_OPTS} /run/runit/supervise.${service}-log $svdir/log/supervise
|
||||
if [ -e $svdir/log/run ] && [ ! -L $svdir/log/run ]; then
|
||||
chmod 755 ${PKGDESTDIR}/etc/sv/${service}/log/run
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -85,9 +94,9 @@ _vman() {
|
|||
suffix=${target##*.}
|
||||
fi
|
||||
|
||||
if [[ $target =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?)\.(.*) ]]
|
||||
if [[ $target =~ (.*)\.([a-z][a-z](_[A-Z][A-Z])?(\.[^.]+)?)\.(.*) ]]
|
||||
then
|
||||
name=${BASH_REMATCH[1]}.${BASH_REMATCH[4]}
|
||||
name=${BASH_REMATCH[1]}.${BASH_REMATCH[5]}
|
||||
mandir=${BASH_REMATCH[2]}/man${suffix:0:1}
|
||||
else
|
||||
name=$target
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#
|
||||
# Common variables that can be used by xbps-src.
|
||||
#
|
||||
# SITE used for ditfiles mirrors. For use in $distfiles.
|
||||
# SITE used for distfiles mirrors. For use in $distfiles.
|
||||
set -a
|
||||
|
||||
SOURCEFORGE_SITE="https://downloads.sourceforge.net/sourceforge"
|
||||
NONGNU_SITE="https://download.savannah.nongnu.org/releases"
|
||||
UBUNTU_SITE="http://archive.ubuntu.com/ubuntu/pool"
|
||||
XORG_SITE="https://www.x.org/releases/individual"
|
||||
DEBIAN_SITE="http://ftp.debian.org/debian/pool"
|
||||
DEBIAN_SITE="https://ftp.debian.org/debian/pool"
|
||||
GNOME_SITE="https://download.gnome.org/sources"
|
||||
KERNEL_SITE="https://www.kernel.org/pub/linux"
|
||||
CPAN_SITE="https://www.cpan.org/modules/by-module"
|
||||
|
|
|
@ -36,6 +36,6 @@ replace_interpreter() {
|
|||
sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file
|
||||
msg_normal "Transformed $lang script: ${file##$wrksrc}.\n"
|
||||
else
|
||||
msg_warn "Ignoring unexistent $lang script: ${file##$wrksrc}.\n"
|
||||
msg_warn "Ignoring nonexistent $lang script: ${file##$wrksrc}.\n"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -1,6 +1,39 @@
|
|||
# This shell snippet unsets all variables/functions that can be used in
|
||||
# the package template (excluding subpackages).
|
||||
|
||||
# Exported variables
|
||||
for var in $(awk 'BEGIN{for (i in ENVIRON) {print i}}' </dev/null); do
|
||||
# Those variables in chroot.sh will be kept
|
||||
case "$var" in
|
||||
XBPS_* | IN_CHROOT | CHROOT_READY | SOURCE_DATE_EPOCH)
|
||||
# xbps-src specific
|
||||
;;
|
||||
SOURCEFORGE_SITE | NONGNU_SITE | XORG_SITE | DEBIAN_SITE | GNOME_SITE)
|
||||
;;
|
||||
KERNEL_SITE | CPAN_SITE | PYPI_SITE | MOZILLA_SITE | GNU_SITE)
|
||||
;;
|
||||
FREEDESKTOP_SITE | KDE_SITE | VIDEOLAN_SITE | UBUNTU_SITE)
|
||||
;;
|
||||
_ | PWD | SHLVL | USER | PATH | SHELL | HOME | LC_COLLATE | LANG | TERM | PS1)
|
||||
# known variables for shell
|
||||
;;
|
||||
DISTCC_HOSTS | DISTCC_DIR)
|
||||
;;
|
||||
CCACHE_DIR | CCACHE_COMPRESS)
|
||||
;;
|
||||
HTTP_PROXY | HTTPS_PROXY | SOCKS_PROXY | NO_PROXY | HTTP_PROXY_AUTH)
|
||||
;;
|
||||
FTP_PROXY | FTP_RETRIES)
|
||||
;;
|
||||
http_proxy | https_proxy | ftp_proxy | all_proxy | no_proxy)
|
||||
;;
|
||||
*)
|
||||
unset -v "$var"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
unset -v var
|
||||
|
||||
## VARIABLES
|
||||
unset -v pkgname version revision short_desc homepage license maintainer
|
||||
unset -v archs distfiles checksum build_style build_helper nocross broken
|
||||
|
@ -20,6 +53,7 @@ unset -v nopie build_options build_options_default bootstrap repository reverts
|
|||
unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
|
||||
unset -v CC CXX CPP GCC LD AR AS RANLIB NM OBJDUMP OBJCOPY STRIP READELF PKG_CONFIG
|
||||
unset -v CMAKE_GENERATOR
|
||||
unset -v scons_use_destdir
|
||||
# build-helper python3
|
||||
unset -v PYPREFIX LDSHARED PYTHON_CONFIG PYTHONPATH _PYTHON_SYSCONFIGDATA_NAME
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
hook() {
|
||||
local srcdir="$XBPS_SRCDISTDIR/$pkgname-$version"
|
||||
local f j curfile found extractdir innerdir num_dirs
|
||||
local f j curfile found extractdir innerdir innerfile num_dirs
|
||||
local TAR_CMD
|
||||
|
||||
if [ -z "$distfiles" -a -z "$checksum" ]; then
|
||||
|
@ -56,12 +56,16 @@ hook() {
|
|||
*.tbz) cursufx="tbz";;
|
||||
*.tar.gz) cursufx="tgz";;
|
||||
*.tgz) cursufx="tgz";;
|
||||
*.tar.zst) cursufx="tzst";;
|
||||
*.tzst) cursufx="tzst";;
|
||||
*.gz) cursufx="gz";;
|
||||
*.xz) cursufx="xz";;
|
||||
*.bz2) cursufx="bz2";;
|
||||
*.zst) cursufx="zst";;
|
||||
*.tar) cursufx="tar";;
|
||||
*.zip) cursufx="zip";;
|
||||
*.rpm) cursufx="rpm";;
|
||||
*.deb) cursufx="deb";;
|
||||
*.patch) cursufx="txt";;
|
||||
*.diff) cursufx="txt";;
|
||||
*.txt) cursufx="txt";;
|
||||
|
@ -73,25 +77,28 @@ hook() {
|
|||
esac
|
||||
|
||||
case ${cursufx} in
|
||||
tar|txz|tbz|tlz|tgz|crate)
|
||||
tar|txz|tbz|tlz|tgz|tzst|crate)
|
||||
$TAR_CMD -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
|
||||
fi
|
||||
;;
|
||||
gz|bz2|xz)
|
||||
gz|bz2|xz|zst)
|
||||
cp -f $srcdir/$curfile "$extractdir"
|
||||
cd "$extractdir"
|
||||
case ${cursufx} in
|
||||
gz)
|
||||
gunzip -f $curfile
|
||||
gunzip -f $curfile
|
||||
;;
|
||||
bz2)
|
||||
bunzip2 -f $curfile
|
||||
;;
|
||||
*)
|
||||
xz)
|
||||
unxz -f $curfile
|
||||
;;
|
||||
zst)
|
||||
unzstd $curfile
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
zip)
|
||||
|
@ -110,14 +117,23 @@ hook() {
|
|||
fi
|
||||
;;
|
||||
rpm)
|
||||
if command -v rpmextract &>/dev/null; then
|
||||
cd "$extractdir"
|
||||
rpmextract $srcdir/$curfile
|
||||
if ! command -v bsdtar &>/dev/null; then
|
||||
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
|
||||
fi
|
||||
bsdtar -x --no-same-permissions --no-same-owner -f $srcdir/$curfile -C "$extractdir"
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
|
||||
fi
|
||||
;;
|
||||
deb)
|
||||
if command -v bsdtar &>/dev/null; then
|
||||
bsdtar -x -O -f "$srcdir/$curfile" "data.tar.*" |
|
||||
bsdtar -C "$extractdir" -x --no-same-permissions --no-same-owner
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_error "$pkgver: extracting $curfile into $XBPS_BUILDDIR.\n"
|
||||
fi
|
||||
else
|
||||
msg_error "$pkgver: cannot find rpmextract for extraction.\n"
|
||||
msg_error "$pkgver: cannot find bsdtar for extraction.\n"
|
||||
fi
|
||||
;;
|
||||
txt)
|
||||
|
@ -153,13 +169,14 @@ hook() {
|
|||
esac
|
||||
done
|
||||
|
||||
cd "$extractdir"
|
||||
# find "$extractdir" -mindepth 1 -maxdepth 1 -printf '1\n' | wc -l
|
||||
# However, it requires GNU's find
|
||||
num_dirs=0
|
||||
for f in "$extractdir"/* "$extractdir"/.*; do
|
||||
for f in * .*; do
|
||||
if [ -e "$f" ] || [ -L "$f" ]; then
|
||||
case "$f" in
|
||||
*/. | */..) ;;
|
||||
. | ..) ;;
|
||||
*)
|
||||
innerdir="$f"
|
||||
num_dirs=$(( num_dirs + 1 ))
|
||||
|
@ -167,16 +184,35 @@ hook() {
|
|||
esac
|
||||
fi
|
||||
done
|
||||
# Special case for num_dirs = 2, and it contains metadata
|
||||
if [ "$num_dirs" != 2 ] || [ "$create_wrksrc" ]; then
|
||||
:
|
||||
elif grep -q 'xmlns="http://pear[.]php[.]net/dtd/package' package.xml 2>/dev/null
|
||||
then
|
||||
# PHP modules' metadata
|
||||
rm -f package.xml
|
||||
for f in */; do innerdir="$f"; done
|
||||
num_dirs=1
|
||||
else
|
||||
for f in *; do
|
||||
# AppleDouble encoded Macintosh file
|
||||
if [ -e "$f" ] && [ -e "._$f" ]; then
|
||||
rm -f "._$f"
|
||||
num_dirs=1
|
||||
innerdir="$f"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
rm -rf "$wrksrc"
|
||||
innerdir="$extractdir/$innerdir"
|
||||
cd "$XBPS_BUILDDIR"
|
||||
if [ "$num_dirs" = 1 ] && [ -d "$innerdir" ] && [ -z "$create_wrksrc" ]; then
|
||||
# rename the subdirectory (top-level of distfiles) to $wrksrc
|
||||
mv "$innerdir" "$wrksrc" &&
|
||||
rmdir "$extractdir"
|
||||
elif [ "$num_dirs" -gt 1 ] || [ -n "$create_wrksrc" ]; then
|
||||
# rename the tmpdir to wrksrc
|
||||
mv "$extractdir" "$wrksrc"
|
||||
else
|
||||
mkdir -p "$wrksrc"
|
||||
mv "$extractdir" "$wrksrc"
|
||||
fi ||
|
||||
msg_error "$pkgver: failed to move sources to $wrksrc\n"
|
||||
}
|
||||
|
|
|
@ -54,14 +54,7 @@ contents_cksum() {
|
|||
fi
|
||||
;;
|
||||
rpm)
|
||||
if command -v rpmextract &>/dev/null; then
|
||||
cksum=$($XBPS_DIGEST_CMD <(rpm2cpio "$curfile" | $TAR_CMD -x -f -))
|
||||
if [ $? -ne 0 ]; then
|
||||
msg_error "$pkgver: extracting $curfile to pipe.\n"
|
||||
fi
|
||||
else
|
||||
msg_error "$pkgver: cannot find rpmextract for extraction.\n"
|
||||
fi
|
||||
msg_error "$pkgver: contents checksum not support for rpm.\n"
|
||||
;;
|
||||
txt)
|
||||
cksum=$($XBPS_DIGEST_CMD "$curfile")
|
||||
|
|
|
@ -4,7 +4,7 @@ registerpkg() {
|
|||
local repo="$1" pkg="$2" arch="$3"
|
||||
|
||||
if [ ! -f ${repo}/${pkg} ]; then
|
||||
msg_error "Unexistent binary package ${repo}/${pkg}!\n"
|
||||
msg_error "Nonexistent binary package ${repo}/${pkg}!\n"
|
||||
fi
|
||||
|
||||
printf "%s:%s:%s\n" "${arch}" "${repo}" "${pkg}" >> "${XBPS_STATEDIR}/.${sourcepkg}_register_pkg"
|
||||
|
|
|
@ -207,6 +207,8 @@ hook() {
|
|||
generic_wrapper sdl-config
|
||||
generic_wrapper sdl2-config
|
||||
generic_wrapper gpgme-config
|
||||
generic_wrapper gphoto2-config
|
||||
generic_wrapper gphoto2-port-config
|
||||
generic_wrapper imlib2-config
|
||||
generic_wrapper libmikmod-config
|
||||
generic_wrapper pcre-config
|
||||
|
|
|
@ -46,7 +46,7 @@ store_pkgdestdir_rundeps() {
|
|||
}
|
||||
|
||||
hook() {
|
||||
local depsftmp f lf j mapshlibs sorequires _curdep elfmagic
|
||||
local depsftmp f lf j mapshlibs sorequires _curdep elfmagic broken_shlibs verify_deps
|
||||
|
||||
# Disable trap on ERR, xbps-uhelper cmd might return error... but not something
|
||||
# to be worried about because if there are broken shlibs this hook returns
|
||||
|
@ -63,6 +63,10 @@ hook() {
|
|||
depsftmp=$(mktemp) || exit 1
|
||||
find ${PKGDESTDIR} -type f -perm -u+w > $depsftmp 2>/dev/null
|
||||
|
||||
for f in ${shlib_requires}; do
|
||||
verify_deps+=" ${f}"
|
||||
done
|
||||
|
||||
exec 3<&0 # save stdin
|
||||
exec < $depsftmp
|
||||
while read f; do
|
||||
|
@ -100,7 +104,7 @@ hook() {
|
|||
soname=$(find ${PKGDESTDIR} -name "$f")
|
||||
if [ -z "$soname" ]; then
|
||||
msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
|
||||
broken=1
|
||||
broken_shlibs=1
|
||||
else
|
||||
echo " SONAME: $f <-> $pkgname (ignored)"
|
||||
fi
|
||||
|
@ -129,7 +133,7 @@ hook() {
|
|||
_rdepver=$($XBPS_UHELPER_CMD getpkgversion "${_rdep}" 2>/dev/null)
|
||||
if [ -z "${_pkgname}" -o -z "${_rdepver}" ]; then
|
||||
msg_red_nochroot " SONAME: $f <-> UNKNOWN PKG PLEASE FIX!\n"
|
||||
broken=1
|
||||
broken_shlibs=1
|
||||
continue
|
||||
fi
|
||||
# Check if pkg is a subpkg of sourcepkg; if true, ignore version
|
||||
|
@ -155,15 +159,12 @@ hook() {
|
|||
#
|
||||
# If pkg uses any unknown SONAME error out.
|
||||
#
|
||||
if [ -n "$broken" -a -z "$allow_unknown_shlibs" ]; then
|
||||
if [ -n "$broken_shlibs" -a -z "$allow_unknown_shlibs" ]; then
|
||||
msg_error "$pkgver: cannot guess required shlibs, aborting!\n"
|
||||
fi
|
||||
|
||||
store_pkgdestdir_rundeps
|
||||
|
||||
for f in ${shlib_requires}; do
|
||||
sorequires+="${f} "
|
||||
done
|
||||
if [ -n "${sorequires}" ]; then
|
||||
echo "${sorequires}" | xargs -n1 | sort | xargs > ${PKGDESTDIR}/shlib-requires
|
||||
fi
|
||||
|
|
|
@ -29,6 +29,15 @@ hook() {
|
|||
fi
|
||||
done
|
||||
|
||||
if [ -d ${PKGDESTDIR}/usr/lib/libexec ]; then
|
||||
# Add exception for kconfig,
|
||||
# other packages hard-coded path to its files
|
||||
if [ "${pkgname}" != kconfig ]; then
|
||||
msg_red "${pkgver}: /usr/lib/libexec directory is not allowed!\n"
|
||||
error=1
|
||||
fi
|
||||
fi
|
||||
|
||||
for f in "$PKGDESTDIR"/*; do
|
||||
f="${f##*/}"
|
||||
case "$f" in
|
||||
|
@ -128,6 +137,11 @@ hook() {
|
|||
error=1
|
||||
fi
|
||||
|
||||
if [ -e ${PKGDESTDIR}/usr/share/glib-2.0/schemas/gschemas.compiled ]; then
|
||||
msg_red "${pkgver}: /usr/share/glib-2.0/schemas/gschemas.compiled is forbidden. Delete it.\n"
|
||||
error=1
|
||||
fi
|
||||
|
||||
# Forbid files would be generated by mimedb trigger
|
||||
for f in XMLnamespaces aliases generic-icons globs globs2 icons \
|
||||
magic mime.cache subclasses treemagic types version ; do
|
||||
|
|
|
@ -32,9 +32,20 @@ do
|
|||
awk -vC="$cmt" '
|
||||
# skip header
|
||||
/^$/ && !msg { msg = 1; next }
|
||||
/^author .*noreply/ && !msg {
|
||||
print "::error title=Commit Lint::" C ": authored by noreply email";
|
||||
ret=1;
|
||||
}
|
||||
/^author .*(localhost|localdomain|[(]none[)])/ && !msg {
|
||||
print "::error title=Commit Lint::" C ": authored by localhost email";
|
||||
ret=1;
|
||||
}
|
||||
!msg { next }
|
||||
# 3: long-line-is-banned-except-footnote-like-this-for-url
|
||||
(NF > 2) && (length > 80) { print "::error title=Commit Lint::" C ": long line: " $0; exit 1 }
|
||||
(NF > 2) && (length > 80) {
|
||||
print "::error title=Commit Lint::" C ": long line: " $0
|
||||
ret = 1
|
||||
}
|
||||
!subject {
|
||||
if (length > 50) { print "::warning title=Commit Lint::" C ": subject is a bit long" }
|
||||
if (!($0 ~ ":" || $0 ~ "^Take over maintainership " || $0 ~ "^Orphan ")) { print "::error title=Commit Lint::" C ": subject does not follow CONTRIBUTING.md guildelines"; exit 1 }
|
||||
|
@ -45,7 +56,11 @@ do
|
|||
subject = 1; next
|
||||
}
|
||||
/^$/ { body = 1; next }
|
||||
!body { print "::error title=Commit Lint::" C ": second line must be blank"; exit 1 }
|
||||
!body {
|
||||
print "::error title=Commit Lint::" C ": second line must be blank"
|
||||
ret = 1
|
||||
}
|
||||
END { exit ret }
|
||||
' || status=1
|
||||
done
|
||||
exit $status
|
||||
|
|
|
@ -25,7 +25,7 @@ else
|
|||
fi
|
||||
|
||||
declare -A newly_built conflicts_cache providers_cache pairs owners
|
||||
repositories=("--repository=${binpkgs}" "--repository=${binpkgs}/nonfree")
|
||||
repositories=("--repository=${binpkgs}/bootstrap" "--repository=${binpkgs}" "--repository=${binpkgs}/nonfree")
|
||||
rv=0
|
||||
|
||||
template_exists() {
|
||||
|
|
|
@ -87,7 +87,7 @@ def find_cycles(depmap, xbpsdir):
|
|||
# Any of the dependencies here contributes to a cycle
|
||||
p = min(deps)
|
||||
if len(deps) > 1:
|
||||
print('Mulitpath: {} -> {}, choosing first'.format(p, deps))
|
||||
print('Multipath: {} -> {}, choosing first'.format(p, deps))
|
||||
|
||||
if cycles:
|
||||
print('Cycle: ' + ' -> '.join(cycles) + '\n')
|
||||
|
|
1078
common/shlibs
1078
common/shlibs
File diff suppressed because it is too large
Load diff
|
@ -10,9 +10,10 @@ case "$tip" in
|
|||
*) tip="${tip%% *}" ;;
|
||||
esac
|
||||
|
||||
base="$(git merge-base FETCH_HEAD "$tip")" || {
|
||||
echo "Your branches is based on too old copy."
|
||||
echo "Please rebase to newest copy."
|
||||
base="$(git merge-base origin/HEAD "$tip")"
|
||||
|
||||
[ $(git rev-list --count "$tip" "^$base") -lt 200 ] || {
|
||||
echo "::error title=Branch out of date::Your branch is too out of date. Please rebase on upstream and force-push."
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
|
|
@ -6,20 +6,33 @@ export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo
|
|||
|
||||
if [ "$1" != "$XBPS_TARGET_ARCH" ]; then
|
||||
triplet="$(/hostrepo/xbps-src -a "$XBPS_TARGET_ARCH" show-var XBPS_CROSS_TRIPLET)"
|
||||
ROOTDIR="-r /usr/$triplet"
|
||||
CONFDIR="-C /usr/$triplet/etc/xbps.d"
|
||||
else
|
||||
CONFDIR="-C /etc/xbps.d"
|
||||
fi
|
||||
|
||||
ADDREPO="--repository=$HOME/hostdir/binpkgs --repository=$HOME/hostdir/binpkgs/nonfree"
|
||||
mkdir /check-install
|
||||
|
||||
mkdir -p /check-install/var/db/xbps/keys
|
||||
cp /var/db/xbps/keys/* /check-install/var/db/xbps/keys/
|
||||
|
||||
ADDREPO="--repository=$HOME/hostdir/binpkgs/bootstrap
|
||||
--repository=$HOME/hostdir/binpkgs
|
||||
--repository=$HOME/hostdir/binpkgs/nonfree"
|
||||
ROOTDIR="-r /check-install"
|
||||
|
||||
xbps-install $ROOTDIR $ADDREPO $CONFDIR -S
|
||||
|
||||
while read -r pkg; do
|
||||
for subpkg in $(xsubpkg $pkg); do
|
||||
/bin/echo -e "\x1b[32mTrying to install dependants of $subpkg:\x1b[0m"
|
||||
for dep in $(xbps-query $ADDREPO -RX "$subpkg"); do
|
||||
xbps-install \
|
||||
$ROOTDIR $ADDREPO \
|
||||
-Sny \
|
||||
$ROOTDIR $ADDREPO $CONFDIR \
|
||||
-ny \
|
||||
"$subpkg" "$(xbps-uhelper getpkgname "$dep")"
|
||||
if [ $? -eq 8 ]; then
|
||||
ret="$?"
|
||||
if [ "$ret" -eq 8 ] || [ "$ret" -eq 11 ]; then
|
||||
/bin/echo -e "\x1b[31mFailed to install '$subpkg' and '$dep'\x1b[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -185,6 +185,7 @@ FLTK-exception
|
|||
FSFAP
|
||||
FSFUL
|
||||
FSFULLR
|
||||
FSFULLRWD
|
||||
FTL
|
||||
Fair
|
||||
Fawkes-Runtime-exception
|
||||
|
@ -251,6 +252,7 @@ JSON
|
|||
Jam
|
||||
JasPer-2.0
|
||||
KiCad-libraries-exception
|
||||
Knuth-CTAN
|
||||
LAL-1.2
|
||||
LAL-1.3
|
||||
LGPL-2.0-only
|
||||
|
@ -479,6 +481,7 @@ Zimbra-1.4
|
|||
Zlib
|
||||
blessing
|
||||
bzip2-1.0.6
|
||||
checkmk
|
||||
copyleft-next-0.3.0
|
||||
copyleft-next-0.3.1
|
||||
curl
|
||||
|
@ -527,6 +530,7 @@ iMatix
|
|||
libpng-2.0
|
||||
libselinux-1.0
|
||||
libtiff
|
||||
libutil-David-Nugent
|
||||
mif-exception
|
||||
mpi-permissive
|
||||
mpich2
|
||||
|
@ -535,6 +539,7 @@ openvpn-openssl-exception
|
|||
psfrag
|
||||
psutils
|
||||
u-boot-exception-2.0
|
||||
x11vnc-openssl-exception
|
||||
xinetd
|
||||
xpp
|
||||
zlib-acknowledgement
|
||||
|
|
|
@ -7,7 +7,8 @@ export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo
|
|||
while read -r pkg; do
|
||||
for subpkg in $(xsubpkg $pkg); do
|
||||
/bin/echo -e "\x1b[32mFiles of $subpkg:\x1b[0m"
|
||||
xbps-query --repository=$HOME/hostdir/binpkgs \
|
||||
xbps-query --repository=$HOME/hostdir/binpkgs/bootstrap \
|
||||
--repository=$HOME/hostdir/binpkgs \
|
||||
--repository=$HOME/hostdir/binpkgs/nonfree \
|
||||
-i -f "$subpkg" ||
|
||||
/bin/echo -e "\x1b[33m $subpkg wasn't found\x1b[0m"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#
|
||||
# xlint.sh
|
||||
|
||||
[ "$XLINT" ] || exit 0
|
||||
[ "$XLINT" ] || exit 0
|
||||
|
||||
EXITCODE=0
|
||||
read base tip < /tmp/revisions
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
#
|
||||
# xpkgdiff.sh
|
||||
|
||||
export XBPS_DISTDIR=/hostrepo XBPS_HOSTDIR="$HOME/hostdir"
|
||||
export XBPS_TARGET_ARCH="$2" XBPS_DISTDIR=/hostrepo XBPS_HOSTDIR="$HOME/hostdir"
|
||||
export DIFF='diff --unified=0 --report-identical-files --suppress-common-lines
|
||||
--color=always --label REPO --label BUILT'
|
||||
ARGS="-a $2 -R https://repo-ci.voidlinux.org/current"
|
||||
|
||||
while read -r pkg; do
|
||||
for subpkg in $(xsubpkg $pkg); do
|
||||
if xbps-query --repository=$HOME/hostdir/binpkgs \
|
||||
if xbps-query --repository=$HOME/hostdir/binpkgs/bootstrap \
|
||||
--repository=$HOME/hostdir/binpkgs \
|
||||
--repository=$HOME/hostdir/binpkgs/nonfree \
|
||||
-i "$subpkg" >&/dev/null; then
|
||||
/bin/echo -e "\x1b[34mFile Diff of $subpkg:\x1b[0m"
|
||||
|
|
|
@ -138,7 +138,12 @@ install_pkg_deps() {
|
|||
|
||||
[ -z "$pkgname" ] && return 2
|
||||
[ -z "$XBPS_CHECK_PKGS" ] && unset checkdepends
|
||||
[[ $build_style ]] && style=" [$build_style]"
|
||||
|
||||
if [[ $build_style ]] || [[ $build_helper ]]; then
|
||||
style=" with"
|
||||
fi
|
||||
|
||||
[[ $build_style ]] && style+=" [$build_style]"
|
||||
|
||||
for s in $build_helper; do
|
||||
style+=" [$s]"
|
||||
|
|
|
@ -73,7 +73,7 @@ bulk_build() {
|
|||
return $?
|
||||
;;
|
||||
local)
|
||||
bulk_sortdeps $(xbps-checkvers -f '%n' -i -R "${XBPS_REPOSITORY}" -R "${XBPS_REPOSITORY}/nonfree" -D "$XBPS_DISTDIR")
|
||||
bulk_sortdeps $(xbps-checkvers -f '%n' -i -R "${XBPS_REPOSITORY}/bootstrap" -R "${XBPS_REPOSITORY}" -R "${XBPS_REPOSITORY}/nonfree" -D "$XBPS_DISTDIR")
|
||||
return $?
|
||||
;;
|
||||
esac
|
||||
|
@ -122,6 +122,6 @@ bulk_update() {
|
|||
if [ -n "$pkgs" -a "$bulk_update_cmd" == installed ]; then
|
||||
echo
|
||||
msg_normal "xbps-src: updating your system, confirm to proceed...\n"
|
||||
${XBPS_SUCMD} "xbps-install --repository=$XBPS_REPOSITORY --repository=$XBPS_REPOSITORY/nonfree -u ${pkgs//[$'\n']/ }" || return 1
|
||||
${XBPS_SUCMD} "xbps-install --repository=$XBPS_REPOSITORY/bootstrap --repository=$XBPS_REPOSITORY --repository=$XBPS_REPOSITORY/nonfree -u ${pkgs//[$'\n']/ }" || return 1
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ PATH=/void-packages:/usr/bin
|
|||
exec env -i -- SHELL=/bin/sh PATH="\$PATH" DISTCC_HOSTS="\$XBPS_DISTCC_HOSTS" DISTCC_DIR="/host/distcc" \
|
||||
${XBPS_ARCH+XBPS_ARCH=$XBPS_ARCH} ${XBPS_CHECK_PKGS+XBPS_CHECK_PKGS=$XBPS_CHECK_PKGS} \
|
||||
CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp" \
|
||||
PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h
|
||||
PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h "\$@"
|
||||
_EOF
|
||||
|
||||
chmod 755 $XBPS_MASTERDIR/bin/xbps-shell
|
||||
|
@ -165,6 +165,11 @@ chroot_handler() {
|
|||
else
|
||||
env -i -- PATH="/usr/bin:$PATH" SHELL=/bin/sh \
|
||||
HOME=/tmp IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \
|
||||
${http_proxy:+http_proxy="${http_proxy}"} \
|
||||
${https_proxy:+https_proxy="${https_proxy}"} \
|
||||
${ftp_proxy:+ftp_proxy="${ftp_proxy}"} \
|
||||
${all_proxy:+all_proxy="${all_proxy}"} \
|
||||
${no_proxy:+no_proxy="${no_proxy}"} \
|
||||
${HTTP_PROXY:+HTTP_PROXY="${HTTP_PROXY}"} \
|
||||
${HTTPS_PROXY:+HTTPS_PROXY="${HTTPS_PROXY}"} \
|
||||
${FTP_PROXY:+FTP_PROXY="${FTP_PROXY}"} \
|
||||
|
@ -209,16 +214,18 @@ chroot_sync_repodata() {
|
|||
# Update xbps alternative repository if set.
|
||||
mkdir -p $confdir
|
||||
if [ -n "$XBPS_ALT_REPOSITORY" ]; then
|
||||
( \
|
||||
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}"; \
|
||||
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/nonfree"; \
|
||||
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/debug"; \
|
||||
) > $confdir/00-repository-alt-local.conf
|
||||
cat <<- ! > $confdir/00-repository-alt-local.conf
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/bootstrap
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/nonfree
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/debug
|
||||
!
|
||||
if [ "$XBPS_MACHINE" = "x86_64" ]; then
|
||||
( \
|
||||
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib"; \
|
||||
echo "repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/nonfree"; \
|
||||
) >> $confdir/00-repository-alt-local.conf
|
||||
cat <<- ! >> $confdir/00-repository-alt-local.conf
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/bootstrap
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib
|
||||
repository=$hostdir/binpkgs/${XBPS_ALT_REPOSITORY}/multilib/nonfree
|
||||
!
|
||||
fi
|
||||
else
|
||||
rm -f $confdir/00-repository-alt-local.conf
|
||||
|
|
|
@ -415,7 +415,7 @@ setup_pkg() {
|
|||
done
|
||||
|
||||
if [ ! -f ${XBPS_SRCPKGDIR}/${basepkg}/template ]; then
|
||||
msg_error "xbps-src: unexistent file: ${XBPS_SRCPKGDIR}/${basepkg}/template\n"
|
||||
msg_error "xbps-src: nonexistent file: ${XBPS_SRCPKGDIR}/${basepkg}/template\n"
|
||||
fi
|
||||
if [ -n "$cross" ]; then
|
||||
export CROSS_BUILD="$cross"
|
||||
|
@ -477,12 +477,17 @@ setup_pkg() {
|
|||
fi
|
||||
fi
|
||||
|
||||
for x in ${hostmakedepends} ${makedepends} ${checkdepends}; do
|
||||
if [[ $x = *[\<\>]* || $x =~ -[^-_]*[0-9][^-_]*_[0-9_]+$ ]]; then
|
||||
msg_error "$pkgver: specifying version in build dependency '$x' is invalid, template version is used always\n"
|
||||
fi
|
||||
done
|
||||
|
||||
FILESDIR=$XBPS_SRCPKGDIR/$sourcepkg/files
|
||||
PATCHESDIR=$XBPS_SRCPKGDIR/$sourcepkg/patches
|
||||
DESTDIR=$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/${sourcepkg}-${version}
|
||||
PKGDESTDIR=$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET/${pkg}-${version}
|
||||
|
||||
: ${XBPS_MAKEJOBS:=1}
|
||||
export XBPS_ORIG_MAKEJOBS=${XBPS_ORIG_MAKEJOBS:=$XBPS_MAKEJOBS}
|
||||
if [ -n "$disable_parallel_build" ]; then
|
||||
XBPS_MAKEJOBS=1
|
||||
|
|
|
@ -22,7 +22,7 @@ consistency_convert_pkgname () {
|
|||
;;
|
||||
esac
|
||||
case "$dep" in
|
||||
*\<*|*\>*|*=*)
|
||||
*\<*|*\>*|*=*)
|
||||
printf "%s %s %s\n" "$dep" "$origname" "$deplabel"
|
||||
continue
|
||||
;;
|
||||
|
|
|
@ -105,7 +105,7 @@ remove_pkg_statedir() {
|
|||
remove_pkg() {
|
||||
local cross="$1" _destdir f
|
||||
|
||||
[ -z $pkgname ] && msg_error "unexistent package, aborting.\n"
|
||||
[ -z $pkgname ] && msg_error "nonexistent package, aborting.\n"
|
||||
|
||||
if [ -n "$cross" ]; then
|
||||
_destdir="$XBPS_DESTDIR/$XBPS_CROSS_TRIPLET"
|
||||
|
|
|
@ -1,49 +1,27 @@
|
|||
# vim: set ts=4 sw=4 et:
|
||||
|
||||
show_pkg() {
|
||||
local i=
|
||||
|
||||
echo "pkgname: $pkgname"
|
||||
echo "version: $version"
|
||||
echo "revision: $revision"
|
||||
for i in ${distfiles}; do
|
||||
[ -n "$i" ] && echo "distfiles: $i"
|
||||
done
|
||||
for i in ${checksum}; do
|
||||
[ -n "$i" ] && echo "checksum: $i"
|
||||
done
|
||||
for i in ${archs}; do
|
||||
[ -n "$i" ] && echo "archs: $i"
|
||||
done
|
||||
echo "maintainer: $maintainer"
|
||||
[ -n "$homepage" ] && echo "Upstream URL: $homepage"
|
||||
[ -n "$license" ] && echo "License(s): $license"
|
||||
[ -n "$changelog" ] && echo "Changelog: $changelog"
|
||||
[ -n "$build_style" ] && echo "build_style: $build_style"
|
||||
for i in $build_helper; do
|
||||
[ -n "$i" ] && echo "build_helper: $i"
|
||||
done
|
||||
for i in ${configure_args}; do
|
||||
[ -n "$i" ] && echo "configure_args: $i"
|
||||
done
|
||||
echo "short_desc: $short_desc"
|
||||
for i in ${subpackages}; do
|
||||
[ -n "$i" ] && echo "subpackages: $i"
|
||||
done
|
||||
show_pkg_var "pkgname" "$pkgname"
|
||||
show_pkg_var "version" "$version"
|
||||
show_pkg_var "revision" "$revision"
|
||||
show_pkg_var "distfiles" "$distfiles" 1
|
||||
show_pkg_var "checksum" "$checksum" 1
|
||||
show_pkg_var "archs" "$archs" 1
|
||||
show_pkg_var "maintainer" "${maintainer}"
|
||||
show_pkg_var "Upstream URL" "$homepage"
|
||||
show_pkg_var "License(s)" "${license//,/ }" 1
|
||||
show_pkg_var "Changelog" "$changelog"
|
||||
show_pkg_var "build_style" "$build_style"
|
||||
show_pkg_var "build_helper" "$build_helper" 1
|
||||
show_pkg_var "configure_args" "$configure_args" 1
|
||||
show_pkg_var "short_desc" "$short_desc"
|
||||
show_pkg_var "subpackages" "$subpackages" 1
|
||||
set -f
|
||||
for i in ${conf_files}; do
|
||||
[ -n "$i" ] && echo "conf_files: $i"
|
||||
done
|
||||
show_pkg_var "conf_files" "$conf_files" 1
|
||||
set +f
|
||||
for i in ${replaces}; do
|
||||
[ -n "$i" ] && echo "replaces: $i"
|
||||
done
|
||||
for i in ${provides}; do
|
||||
[ -n "$i" ] && echo "provides: $i"
|
||||
done
|
||||
for i in ${conflicts}; do
|
||||
[ -n "$i" ] && echo "conflicts: $i"
|
||||
done
|
||||
show_pkg_var "replaces" "$replaces" 1
|
||||
show_pkg_var "provides" "$provides" 1
|
||||
show_pkg_var "conflicts" "$conflicts" 1
|
||||
local OIFS="$IFS"
|
||||
IFS=','
|
||||
for var in $1; do
|
||||
|
@ -51,11 +29,9 @@ show_pkg() {
|
|||
if [ ${var} != ${var/'*'} ]
|
||||
then
|
||||
var="${var/'*'}"
|
||||
[ -n "${!var}" ] && echo "$var: ${!var//$'\n'/' '}"
|
||||
show_pkg_var "$var" "${!var//$'\n'/' '}"
|
||||
else
|
||||
for val in ${!var}; do
|
||||
[ -n "$val" ] && echo "$var: $val"
|
||||
done
|
||||
show_pkg_var "$var" "${!var}" 1
|
||||
fi
|
||||
done
|
||||
IFS="$OIFS"
|
||||
|
@ -63,6 +39,28 @@ show_pkg() {
|
|||
return 0
|
||||
}
|
||||
|
||||
show_pkg_var() {
|
||||
local _sep i=
|
||||
local _label="$1"
|
||||
local _value="$2"
|
||||
local _always_split="$3"
|
||||
if [ -n "$_value" ] && [ -n "$_label" ]; then
|
||||
# on short labels, use more padding so everything lines up
|
||||
if [ "${#_label}" -lt 7 ]; then
|
||||
_sep=" "
|
||||
else
|
||||
_sep=" "
|
||||
fi
|
||||
if [ -n "$_always_split" ] || [[ "$_value" =~ $'\n' ]]; then
|
||||
for i in ${_value}; do
|
||||
[ -n "$i" ] && echo "${_label}:${_sep}${i}"
|
||||
done
|
||||
else
|
||||
echo "${_label}:${_sep}${_value}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
show_pkg_deps() {
|
||||
[ -f "${PKGDESTDIR}/rdeps" ] && cat ${PKGDESTDIR}/rdeps
|
||||
}
|
||||
|
|
|
@ -13,6 +13,11 @@ update_check() {
|
|||
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then
|
||||
echo "using $XBPS_TARGET_PKG/update overrides" 1>&2
|
||||
fi
|
||||
elif [ -z "$distfiles" ]; then
|
||||
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then
|
||||
echo "NO DISTFILES found for $original_pkgname" 1>&2
|
||||
fi
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ! type curl >/dev/null 2>&1; then
|
||||
|
@ -66,6 +71,7 @@ update_check() {
|
|||
*crates.io*|\
|
||||
*codeberg.org*|\
|
||||
*hg.sr.ht*|\
|
||||
*software.sil.org*|\
|
||||
*git.sr.ht*)
|
||||
continue
|
||||
;;
|
||||
|
@ -111,7 +117,7 @@ update_check() {
|
|||
pkgurlname="$(printf %s "$url" | cut -d/ -f5)"
|
||||
url="https://sourceforge.net/projects/$pkgurlname/rss?limit=200";;
|
||||
*code.google.com*|*googlecode*)
|
||||
url="http://code.google.com/p/$pkgname/downloads/list";;
|
||||
url="https://code.google.com/p/$pkgname/downloads/list";;
|
||||
*launchpad.net*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f4)"
|
||||
url="https://launchpad.net/$pkgurlname/+download";;
|
||||
|
@ -124,13 +130,13 @@ update_check() {
|
|||
*github.com*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
|
||||
url="https://github.com/$pkgurlname/tags"
|
||||
rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
|
||||
rx='/archive/refs/tags/(v?|\Q'"$pkgname"'\E[-_])?\K[\d.]+(?=\.tar\.gz")';;
|
||||
*//gitlab.*|*code.videolan.org*)
|
||||
case "$url" in
|
||||
*/-/*) pkgurlname="$(printf %s "$url" | sed -e 's%/-/.*%%g; s%/$%%')";;
|
||||
*) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";;
|
||||
esac
|
||||
url="$pkgurlname/tags"
|
||||
url="$pkgurlname/-/tags"
|
||||
rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';;
|
||||
*bitbucket.org*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
|
||||
|
@ -162,10 +168,22 @@ update_check() {
|
|||
rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
|
||||
*git.sr.ht*)
|
||||
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
|
||||
url="https://git.sr.ht/$pkgurlname/refs"
|
||||
rx='/archive/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar\.gz")';;
|
||||
url="https://git.sr.ht/$pkgurlname/refs/rss.xml"
|
||||
rx='<guid>\Q'"${url%/*}"'\E/(v-?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=</guid>)' ;;
|
||||
*pkgs.fedoraproject.org*)
|
||||
url="https://pkgs.fedoraproject.org/repo/pkgs/$pkgname" ;;
|
||||
*software.sil.org/downloads/*)
|
||||
pkgurlname=$(printf '%s\n' "$url" | cut -d/ -f6)
|
||||
url="https://software.sil.org/$pkgurlname/download/"
|
||||
pkgname="${pkgname#font-}"
|
||||
pkgname="${pkgname#sil-}"
|
||||
_pkgname="${pkgname//-/}"
|
||||
rx="($_pkgname|${_pkgname}SIL)[_-]\K[0-9.]+(?=\.tar|\.zip)" ;;
|
||||
*software.sil.org/*)
|
||||
pkgname="${pkgname#font-}"
|
||||
pkgname="${pkgname#sil-}"
|
||||
_pkgname="${pkgname//-/}"
|
||||
rx="($_pkgname|${_pkgname}SIL)[_-]\K[0-9.]+(?=\.tar|\.zip)" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
|
|
@ -64,7 +64,8 @@ XBPS_SUCMD="sudo /bin/sh -c"
|
|||
|
||||
# [OPTIONAL]
|
||||
# Number of parallel jobs to execute when building packages that
|
||||
# use make(1) or alike commands.
|
||||
# use make(1) or alike commands. Defaults to the result of nproc(1).
|
||||
# If nproc(1) is not available, defaults to 1.
|
||||
#
|
||||
#XBPS_MAKEJOBS=4
|
||||
|
||||
|
@ -158,3 +159,9 @@ XBPS_SUCMD="sudo /bin/sh -c"
|
|||
# When unset, newly build package overwrites the older one.
|
||||
#
|
||||
#XBPS_PRESERVE_PKGS=yes
|
||||
|
||||
# [OPTIONAL]
|
||||
# Show more detailed output in ./xbps-src update-check. Useful for debugging.
|
||||
# This can also be set or exported as a regular environment variable.
|
||||
#
|
||||
#XBPS_UPDATE_CHECK_VERBOSE=yes
|
||||
|
|
|
@ -28,6 +28,7 @@ nodejs-runtime nodejs
|
|||
ntp-daemon chrony
|
||||
phonon-backend phonon-backend-gstreamer
|
||||
phonon-qt5-backend phonon-qt5-backend-gstreamer
|
||||
pipewire-session-manager pipewire-session-manager-bootstrap
|
||||
rkt-stage1 rkt-stage1-coreos
|
||||
smtp-server opensmtpd
|
||||
tex texlive
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# DON'T EDIT THIS FILE
|
||||
# x86_64/glibc local repositories
|
||||
repository=/host/binpkgs/multilib/bootstrap
|
||||
repository=/host/binpkgs/multilib
|
||||
repository=/host/binpkgs/multilib/nonfree
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# DON'T EDIT THIS FILE
|
||||
# Local repositories
|
||||
repository=/host/binpkgs/bootstrap
|
||||
repository=/host/binpkgs
|
||||
repository=/host/binpkgs/nonfree
|
||||
repository=/host/binpkgs/debug
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# aarch64 voidlinux remote repositories
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/nonfree
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/debug
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64/bootstrap
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64/debug
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# aarch64 voidlinux remote repositories
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/nonfree
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/aarch64/debug
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64/bootstrap
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/aarch64/debug
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# voidlinux remote repositories (musl)
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/musl
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/musl/nonfree
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/musl/debug
|
||||
repository=https://repo-default.voidlinux.org/current/musl/bootstrap
|
||||
repository=https://repo-default.voidlinux.org/current/musl
|
||||
repository=https://repo-default.voidlinux.org/current/musl/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/musl/debug
|
||||
|
||||
# Cereus Linux remote repositories (musl)
|
||||
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64-musl
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# voidlinux remote repositories (x86_64/glibc)
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/multilib
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/multilib/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/multilib/bootstrap
|
||||
repository=https://repo-default.voidlinux.org/current/multilib
|
||||
repository=https://repo-default.voidlinux.org/current/multilib/nonfree
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# voidlinux remote repositories (glibc)
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/nonfree
|
||||
repository=https://mirrors.servercentral.com/voidlinux/current/debug
|
||||
repository=https://repo-default.voidlinux.org/current/bootstrap
|
||||
repository=https://repo-default.voidlinux.org/current
|
||||
repository=https://repo-default.voidlinux.org/current/nonfree
|
||||
repository=https://repo-default.voidlinux.org/current/debug
|
||||
|
||||
# Cereus Linux remote repositories (glibc)
|
||||
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64
|
||||
|
|
13
xbps-src
13
xbps-src
|
@ -290,6 +290,11 @@ check_native_arch() {
|
|||
else
|
||||
export XBPS_ARCH=$(xbps-uhelper arch)
|
||||
fi
|
||||
elif [ "$XBPS_TARGET" = 'binary-bootstrap' ] && [ "$XBPS_TARGET_PKG" ]; then
|
||||
# ^ special case for binary-bootstrap for e.g:
|
||||
# x86_64 -> x86_64-musl
|
||||
# x86_64 -> i686
|
||||
export XBPS_ARCH=$XBPS_TARGET_PKG
|
||||
else
|
||||
LDD=$(ldd --version 2>&1|head -1)
|
||||
if [[ $LDD == *musl* ]]; then
|
||||
|
@ -375,7 +380,6 @@ eval set -- $(getopt "$XBPS_OPTSTRING" "$@");
|
|||
# Options are saved as XBPS_ARG_FOO instead of XBPS_FOO for now; this is
|
||||
# because configuration files may override those and we want arguments to
|
||||
# take precedence over configuration files
|
||||
|
||||
while getopts "$XBPS_OPTSTRING" opt; do
|
||||
case $opt in
|
||||
1) XBPS_ARG_BUILD_ONLY_ONE_PKG=yes; XBPS_OPTIONS+=" -1";;
|
||||
|
@ -490,6 +494,13 @@ fi
|
|||
[ -n "$XBPS_ARG_CHECK_PKGS" ] && XBPS_CHECK_PKGS="$XBPS_ARG_CHECK_PKGS"
|
||||
[ -n "$XBPS_ARG_MAKEJOBS" ] && XBPS_MAKEJOBS="$XBPS_ARG_MAKEJOBS"
|
||||
|
||||
# Default to nproc for XBPS_MAKEJOBS if not set and nproc is available
|
||||
if command -v nproc >/dev/null ; then
|
||||
: ${XBPS_MAKEJOBS:=$(nproc)}
|
||||
else
|
||||
: ${XBPS_MAKEJOBS:=1}
|
||||
fi
|
||||
|
||||
export XBPS_BUILD_ONLY_ONE_PKG XBPS_SKIP_REMOTEREPOS XBPS_BUILD_FORCEMODE \
|
||||
XBPS_INFORMATIVE_RUN XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \
|
||||
XBPS_USE_GIT_REVS XBPS_CHECK_PKGS XBPS_DEBUG_PKGS XBPS_SKIP_DEPS \
|
||||
|
|
Loading…
Add table
Reference in a new issue