Sync with upstream

This commit is contained in:
Kevin Figueroa 2024-06-20 21:19:12 -04:00
parent 0b12c07c18
commit df8c9775c1
27 changed files with 914 additions and 597 deletions

View file

@ -64,7 +64,7 @@ cat > "${XBPS_WRAPPERDIR}/meson/xbps_meson.cross" <<-EOF
strip = '${STRIP}' strip = '${STRIP}'
readelf = '${READELF}' readelf = '${READELF}'
objcopy = '${OBJCOPY}' objcopy = '${OBJCOPY}'
pkgconfig = '${PKG_CONFIG}' pkg-config = '${PKG_CONFIG}'
rust = ['rustc', '--target', '${RUST_TARGET}' ,'--sysroot', '${XBPS_CROSS_BASE}/usr'] rust = ['rustc', '--target', '${RUST_TARGET}' ,'--sysroot', '${XBPS_CROSS_BASE}/usr']
g-ir-scanner = '${XBPS_CROSS_BASE}/usr/bin/g-ir-scanner' g-ir-scanner = '${XBPS_CROSS_BASE}/usr/bin/g-ir-scanner'
g-ir-compiler = '${XBPS_CROSS_BASE}/usr/bin/g-ir-compiler' g-ir-compiler = '${XBPS_CROSS_BASE}/usr/bin/g-ir-compiler'

View file

@ -70,3 +70,6 @@ export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
# jemalloc-sys # jemalloc-sys
export JEMALLOC_SYS_WITH_LG_PAGE=16 export JEMALLOC_SYS_WITH_LG_PAGE=16
# libgit2-sys
export LIBGIT2_NO_VENDOR=1

View file

@ -56,7 +56,7 @@ do_build() {
fi fi
else else
# Otherwise, build using GOPATH # Otherwise, build using GOPATH
go get -p "$XBPS_MAKEJOBS" -v -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package} go install -p "$XBPS_MAKEJOBS" -v -tags "${go_build_tags}" -ldflags "${go_ldflags}" ${go_package}
fi fi
} }

View file

@ -4,17 +4,22 @@
do_configure() { do_configure() {
local qmake local qmake
local qmake_args local qmake_args
local qt local qt=${QT:-}
if [ -x "/usr/lib/qt5/bin/qmake" ]; then local builddir="${wrksrc}/${build_wrksrc}"
qmake="/usr/lib/qt5/bin/qmake" cd ${builddir}
if [ "${QT}" ]; then
qt=${QT}
if [ ! -x "/usr/lib/${qt}/bin/qmake" ]; then
msg_error "${QT} is requested, but not found\n"
fi
elif [ -x "/usr/lib/qt5/bin/qmake" ]; then
qt="qt5" qt="qt5"
elif [ -x "/usr/lib/qt6/bin/qmake" ]; then elif [ -x "/usr/lib/qt6/bin/qmake" ]; then
qmake="/usr/lib/qt6/bin/qmake"
qt="qt6" qt="qt6"
fi else
if [ -z "${qmake}" ]; then
msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n" msg_error "${pkgver}: Could not find qmake - missing in hostmakedepends?\n"
fi fi
qmake="/usr/lib/${qt}/bin/qmake"
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
case $XBPS_TARGET_MACHINE in case $XBPS_TARGET_MACHINE in
i686*) _qt_arch=i386;; i686*) _qt_arch=i386;;
@ -25,8 +30,8 @@ do_configure() {
ppc64*) _qt_arch=power64;; ppc64*) _qt_arch=power64;;
ppc*) _qt_arch=power;; ppc*) _qt_arch=power;;
esac esac
mkdir -p "${wrksrc}/.target-spec/linux-g++" mkdir -p "${builddir}/.target-spec/linux-g++"
cat > "${wrksrc}/.target-spec/linux-g++/qmake.conf" <<_EOF cat > "${builddir}/.target-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib QMAKE_INCREMENTAL_STYLE = sublib
@ -54,10 +59,10 @@ QMAKE_CXXFLAGS = ${CXXFLAGS}
QMAKE_LFLAGS = ${LDFLAGS} QMAKE_LFLAGS = ${LDFLAGS}
load(qt_config) load(qt_config)
_EOF _EOF
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/${qt}/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\"" > "${builddir}/.target-spec/linux-g++/qplatformdefs.h"
mkdir -p "${wrksrc}/.host-spec/linux-g++" mkdir -p "${builddir}/.host-spec/linux-g++"
cat > "${wrksrc}/.host-spec/linux-g++/qmake.conf" <<_EOF cat > "${builddir}/.host-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib QMAKE_INCREMENTAL_STYLE = sublib
@ -84,8 +89,8 @@ QMAKE_CXXFLAGS = ${CXXFLAGS_host}
QMAKE_LFLAGS = ${LDFLAGS_host} QMAKE_LFLAGS = ${LDFLAGS_host}
load(qt_config) load(qt_config)
_EOF _EOF
echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${wrksrc}/.host-spec/linux-g++/qplatformdefs.h" echo '#include "/usr/lib/${qt}/mkspecs/linux-g++/qplatformdefs.h"' > "${builddir}/.host-spec/linux-g++/qplatformdefs.h"
cat > "${wrksrc}/qt.conf" <<_EOF cat > "${builddir}/qt.conf" <<_EOF
[Paths] [Paths]
Sysroot=${XBPS_CROSS_BASE} Sysroot=${XBPS_CROSS_BASE}
Prefix=/usr Prefix=/usr
@ -108,10 +113,10 @@ HostData=/usr/lib/${qt}
HostBinaries=/usr/lib/${qt}/bin HostBinaries=/usr/lib/${qt}/bin
HostLibraries=/usr/lib HostLibraries=/usr/lib
HostLibraryExecutables=/usr/lib/${qt}/libexec HostLibraryExecutables=/usr/lib/${qt}/libexec
Spec=${wrksrc}/.host-spec/linux-g++ Spec=${builddir}/.host-spec/linux-g++
TargetSpec=${wrksrc}/.target-spec/linux-g++ TargetSpec=${builddir}/.target-spec/linux-g++
_EOF _EOF
qmake_args="-qtconf ${wrksrc}/qt.conf PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG}" qmake_args="-qtconf ${builddir}/qt.conf PKG_CONFIG_EXECUTABLE=${XBPS_WRAPPERDIR}/${PKG_CONFIG}"
${qmake} ${qmake_args} \ ${qmake} ${qmake_args} \
PREFIX=/usr \ PREFIX=/usr \
QT_INSTALL_PREFIX=/usr \ QT_INSTALL_PREFIX=/usr \
@ -134,6 +139,7 @@ _EOF
} }
do_build() { do_build() {
cd "${wrksrc}/${build_wrksrc}"
: ${make_cmd:=make} : ${make_cmd:=make}
${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} \ ${make_cmd} ${makejobs} ${make_build_args} ${make_build_target} \
@ -141,6 +147,7 @@ do_build() {
} }
do_install() { do_install() {
cd "${wrksrc}/${build_wrksrc}"
: ${make_cmd:=make} : ${make_cmd:=make}
: ${make_install_target:=install} : ${make_install_target:=install}

View file

@ -3,14 +3,11 @@ do_build() {
# Extract the source files # Extract the source files
mkdir -p "build/usr/share/texmf-dist" mkdir -p "build/usr/share/texmf-dist"
find . -maxdepth 1 -print -name "*.tar.xz" \ find . -maxdepth 1 -print -name "*.tar.xz" \
-exec bsdtar -C "build/usr/share/texmf-dist" -xf {} \; -exec bsdtar \
-s '|^texmf-dist/||' \
-C "build/usr/share/texmf-dist" \
-xf {} \;
cd "build/usr/share/texmf-dist/" cd "build/usr/share/texmf-dist/"
# Everything in usr/share/texmf-dist/texmf-dist should really be in
# usr/share/texmf-dist, so we move it
if [ -d "texmf-dist" ] ; then
rsync -ar texmf-dist/ ./
rm -rf texmf-dist/
fi
# LICENSEs are unneeded # LICENSEs are unneeded
rm -f LICENSE* rm -f LICENSE*

View file

@ -9,12 +9,27 @@ readonly EXTRA_ARGS="$4"
readonly CMD="$5" readonly CMD="$5"
shift 5 shift 5
if ! command -v xbps-uchroot >/dev/null 2>&1; then msg_red() {
# error messages in bold/red
[ -n "$NOCOLORS" ] || printf >&2 "\033[1m\033[31m"
printf "=> ERROR: %s\\n" "$@" >&2
[ -n "$NOCOLORS" ] || printf >&2 "\033[m"
}
readonly XBPS_UCHROOT_CMD="$(command -v xbps-uchroot 2>/dev/null)"
if [ -z "$XBPS_UCHROOT_CMD" ]; then
msg_red "could not find xbps-uchroot"
exit 1 exit 1
fi fi
if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then if ! [ -x "$XBPS_UCHROOT_CMD" ]; then
echo "$0 MASTERDIR/DISTDIR not set" msg_red "xbps-uchroot is not executable. Are you in the $(stat -c %G "$XBPS_UCHROOT_CMD") group?"
exit 1
fi
if [ -z "$MASTERDIR" ] || [ -z "$DISTDIR" ]; then
msg_red "$0: MASTERDIR/DISTDIR not set"
exit 1 exit 1
fi fi

View file

@ -1,6 +1,8 @@
noextract=/etc/sv* noextract=/etc/sv*
noextract=/usr/share/man* noextract=/usr/share/man*
noextract=/usr/lib/dracut* noextract=/usr/lib/dracut*
noextract=/etc/hosts
noextract=/etc/mtab
noextract=/etc/skel* noextract=/etc/skel*
noextract=/usr/lib/modprobe.d* noextract=/usr/lib/modprobe.d*
noextract=/usr/lib/sysctl.d* noextract=/usr/lib/sysctl.d*

View file

@ -1,4 +1,2 @@
# rsync isn't needed for everything but it's far easier to just put it here
hostmakedepends+=" rsync"
# python_version isn't needed for everything either # python_version isn't needed for everything either
python_version=3 python_version=3

View file

@ -26,6 +26,7 @@ scripts/attachfile2/pdfatfi.pl texlive
scripts/authorindex/authorindex texlive scripts/authorindex/authorindex texlive
scripts/bib2gls/bib2gls.sh texlive scripts/bib2gls/bib2gls.sh texlive
scripts/bib2gls/convertgls2bib.sh texlive scripts/bib2gls/convertgls2bib.sh texlive
scripts/bibcop/bibcop.pl texlive
scripts/bibexport/bibexport.sh texlive scripts/bibexport/bibexport.sh texlive
scripts/bundledoc/arlatex texlive scripts/bundledoc/arlatex texlive
scripts/bundledoc/bundledoc texlive scripts/bundledoc/bundledoc texlive
@ -33,17 +34,11 @@ scripts/cachepic/cachepic.tlu texlive-pictures
scripts/checkcites/checkcites.lua texlive scripts/checkcites/checkcites.lua texlive
scripts/checklistings/checklistings.sh texlive scripts/checklistings/checklistings.sh texlive
scripts/chklref/chklref.pl texlive scripts/chklref/chklref.pl texlive
scripts/citation-style-language/citeproc-lua.lua texlive
scripts/cjk-gs-integrate/cjk-gs-integrate.pl texlive scripts/cjk-gs-integrate/cjk-gs-integrate.pl texlive
scripts/clojure-pamphlet/pamphletangler texlive scripts/clojure-pamphlet/pamphletangler texlive
scripts/cluttex/cluttex.lua texlive scripts/cluttex/cluttex.lua texlive
scripts/context/perl/mptopdf.pl texlive scripts/context/perl/mptopdf.pl texlive
scripts/context/stubs/unix/contextjit texlive
scripts/context/stubs/unix/context texlive
scripts/context/stubs/unix/luatools texlive
scripts/context/stubs/unix/mtxrunjit texlive
scripts/context/stubs/unix/mtxrun texlive
scripts/context/stubs/unix/texexec texlive
scripts/context/stubs/unix/texmfstart texlive
scripts/convbkmk/convbkmk.rb texlive-langjapanese scripts/convbkmk/convbkmk.rb texlive-langjapanese
scripts/crossrefware/bbl2bib.pl texlive scripts/crossrefware/bbl2bib.pl texlive
scripts/crossrefware/bibdoiadd.pl texlive scripts/crossrefware/bibdoiadd.pl texlive
@ -57,6 +52,7 @@ scripts/ctan-o-mat/ctan-o-mat.pl texlive
scripts/ctanupload/ctanupload.pl texlive scripts/ctanupload/ctanupload.pl texlive
scripts/de-macro/de-macro texlive scripts/de-macro/de-macro texlive
scripts/diadia/diadia.lua texlive-humanities scripts/diadia/diadia.lua texlive-humanities
scripts/digestif/digestif.texlua texlive
scripts/dosepsbin/dosepsbin.pl texlive scripts/dosepsbin/dosepsbin.pl texlive
scripts/dtxgen/dtxgen texlive scripts/dtxgen/dtxgen texlive
scripts/dviasm/dviasm.py texlive scripts/dviasm/dviasm.py texlive
@ -102,6 +98,7 @@ scripts/listbib/listbib texlive
scripts/listings-ext/listings-ext.sh texlive scripts/listings-ext/listings-ext.sh texlive
scripts/ltxfileinfo/ltxfileinfo texlive scripts/ltxfileinfo/ltxfileinfo texlive
scripts/ltximg/ltximg.pl texlive scripts/ltximg/ltximg.pl texlive
scripts/luafindfont/luafindfont.lua texlive
scripts/luaotfload/luaotfload-tool.lua texlive scripts/luaotfload/luaotfload-tool.lua texlive
scripts/lwarp/lwarpmk.lua texlive scripts/lwarp/lwarpmk.lua texlive
scripts/make4ht/make4ht texlive scripts/make4ht/make4ht texlive
@ -116,6 +113,9 @@ scripts/m-tx/m-tx.lua texlive-music
scripts/multibibliography/multibibliography.pl texlive scripts/multibibliography/multibibliography.pl texlive
scripts/musixtex/musixflx.lua texlive-music scripts/musixtex/musixflx.lua texlive-music
scripts/musixtex/musixtex.lua texlive-music scripts/musixtex/musixtex.lua texlive-music
scripts/optexcount/optexcount texlive
scripts/pagelayout/pagelayoutapi texlive
scripts/pagelayout/textestvis texlive
scripts/pax/pdfannotextractor.pl texlive scripts/pax/pdfannotextractor.pl texlive
scripts/pdfbook2/pdfbook2 texlive scripts/pdfbook2/pdfbook2 texlive
scripts/pdfcrop/pdfcrop.pl texlive scripts/pdfcrop/pdfcrop.pl texlive
@ -155,6 +155,7 @@ scripts/srcredact/srcredact.pl texlive
scripts/sty2dtx/sty2dtx.pl texlive scripts/sty2dtx/sty2dtx.pl texlive
scripts/svn-multi/svn-multi.pl texlive scripts/svn-multi/svn-multi.pl texlive
scripts/tex4ebook/tex4ebook texlive scripts/tex4ebook/tex4ebook texlive
scripts/texaccents/texaccents.sno texlive
scripts/texcount/texcount.pl texlive scripts/texcount/texcount.pl texlive
scripts/texdef/texdef.pl texlive scripts/texdef/texdef.pl texlive
scripts/texdiff/texdiff texlive scripts/texdiff/texdiff texlive
@ -178,6 +179,8 @@ scripts/texlive-extra/texconfig-dialog.sh texlive
scripts/texlive-extra/texconfig.sh texlive scripts/texlive-extra/texconfig.sh texlive
scripts/texlive-extra/texconfig-sys.sh texlive scripts/texlive-extra/texconfig-sys.sh texlive
scripts/texlive-extra/texlinks.sh texlive scripts/texlive-extra/texlinks.sh texlive
scripts/texlive-extra/xelatex-unsafe.sh texlive
scripts/texlive-extra/xetex-unsafe.sh texlive
scripts/texlive/fmtutil.pl texlive scripts/texlive/fmtutil.pl texlive
scripts/texlive/fmtutil-sys.sh texlive scripts/texlive/fmtutil-sys.sh texlive
scripts/texlive/fmtutil-user.sh texlive scripts/texlive/fmtutil-user.sh texlive
@ -185,13 +188,15 @@ scripts/texlive/mktexlsr texlive
scripts/texlive/mktexmf texlive scripts/texlive/mktexmf texlive
scripts/texlive/mktexpk texlive scripts/texlive/mktexpk texlive
scripts/texlive/mktextfm texlive scripts/texlive/mktextfm texlive
scripts/texlive/rungs.lua texlive
scripts/texliveonfly/texliveonfly.py texlive scripts/texliveonfly/texliveonfly.py texlive
scripts/texlive/rungs.tlu texlive
scripts/texlive/tlmgr.pl texlive scripts/texlive/tlmgr.pl texlive
scripts/texlive/updmap.pl texlive scripts/texlive/updmap.pl texlive
scripts/texlive/updmap-sys.sh texlive scripts/texlive/updmap-sys.sh texlive
scripts/texlive/updmap-user.sh texlive scripts/texlive/updmap-user.sh texlive
scripts/texloganalyser/texloganalyser texlive scripts/texloganalyser/texloganalyser texlive
scripts/texlogfilter/texlogfilter texlive
scripts/texlogsieve/texlogsieve texlive
scripts/texosquery/texosquery-jre5.sh texlive scripts/texosquery/texosquery-jre5.sh texlive
scripts/texosquery/texosquery-jre8.sh texlive scripts/texosquery/texosquery-jre8.sh texlive
scripts/texosquery/texosquery.sh texlive scripts/texosquery/texosquery.sh texlive

View file

@ -24,7 +24,7 @@ if [ -z "$nopie" ]; then
fi fi
else else
CFLAGS="-fno-PIE ${CFLAGS}" CFLAGS="-fno-PIE ${CFLAGS}"
CXXFLAGS="-fno-PIE ${CFLAGS}" CXXFLAGS="-fno-PIE ${CXXFLAGS}"
FFLAGS="-fno-PIE ${FFLAGS}" FFLAGS="-fno-PIE ${FFLAGS}"
LDFLAGS="-no-pie ${LDFLAGS}" LDFLAGS="-no-pie ${LDFLAGS}"
fi fi

View file

@ -272,7 +272,7 @@ _EOF
fi fi
fi fi
if [ -n "$python_version" ]; then if [ -n "$python_version" ] && [ "$python_version" != ignore ]; then
pycompile_version=${python_version} pycompile_version=${python_version}
fi fi

View file

@ -239,6 +239,5 @@ hook() {
generic_wrapper3 giblib-config generic_wrapper3 giblib-config
python_wrapper python-config 2.7 python_wrapper python-config 2.7
python_wrapper python3-config 3.12 python_wrapper python3-config 3.12
apr_apu_wrapper apr-1-config
apr_apu_wrapper apu-1-config apr_apu_wrapper apu-1-config
} }

View file

@ -12,6 +12,10 @@ hook() {
pyver="$python_version" pyver="$python_version"
fi fi
if [ "$python_version" = ignore ]; then
return
fi
if [ -n "$pyver" ]; then if [ -n "$pyver" ]; then
default_shebang="#!/usr/bin/python${pyver%.*}" default_shebang="#!/usr/bin/python${pyver%.*}"
fi fi

View file

@ -40,8 +40,8 @@ store_pkgdestdir_rundeps() {
-z "$($XBPS_UHELPER_CMD getpkgname ${_curdep} 2>/dev/null)" ]; then -z "$($XBPS_UHELPER_CMD getpkgname ${_curdep} 2>/dev/null)" ]; then
_curdep="${_curdep}>=0" _curdep="${_curdep}>=0"
fi fi
printf -- "${_curdep}\n" printf "%s " "${_curdep}"
done | sort | xargs > ${PKGDESTDIR}/rdeps done > "${PKGDESTDIR}/rdeps"
fi fi
} }
@ -98,7 +98,12 @@ hook() {
for f in ${verify_deps}; do for f in ${verify_deps}; do
unset _rdep _pkgname _rdepver unset _rdep _pkgname _rdepver
if [ "$(find ${PKGDESTDIR} -name "$f")" ]; then local _findargs="-name"
# if SONAME is a path, find should use -wholename
if [[ "$f" = */* ]]; then
_findargs="-wholename"
fi
if [ "$(find "${PKGDESTDIR}" $_findargs "$f")" ]; then
# Ignore libs by current pkg # Ignore libs by current pkg
echo " SONAME: $f <-> $pkgname (ignored)" echo " SONAME: $f <-> $pkgname (ignored)"
continue continue

View file

@ -79,8 +79,22 @@ hook() {
# Check for l10n files in usr/lib/locale # Check for l10n files in usr/lib/locale
if [ -d ${PKGDESTDIR}/usr/lib/locale ]; then if [ -d ${PKGDESTDIR}/usr/lib/locale ]; then
msg_red "${pkgver}: /usr/lib/locale is forbidden, use /usr/share/locale!\n" local locale_allow=0 ldir
error=1 local lroot="${PKGDESTDIR}/usr/lib/locale"
if [ "${pkgname}" = "glibc" ]; then
# glibc gets an exception for its included C.utf8 locale
locale_allow=1
for ldir in "${lroot}"/*; do
[ "${ldir}" = "${lroot}/C.utf8" ] && continue
locale_allow=0
done
fi
if [ "${locale_allow}" -ne 1 ]; then
msg_red "${pkgver}: /usr/lib/locale is forbidden, use /usr/share/locale!\n"
error=1
fi
fi fi
# Check for bash completions in etc/bash_completion.d # Check for bash completions in etc/bash_completion.d

View file

@ -101,6 +101,10 @@ if __name__ == '__main__':
help='Directory used to cache build dependencies (must exist)') help='Directory used to cache build dependencies (must exist)')
parser.add_argument('-d', '--directory', parser.add_argument('-d', '--directory',
default=None, help='Path to void-packages repo') default=None, help='Path to void-packages repo')
parser.add_argument('-Q', dest='check_pkgs', action='store_const',
const='yes', help='Use build dependencies for check -Q')
parser.add_argument('-K', dest='check_pkgs', action='store_const',
const='full', help='Use build dependencies for check -K')
args = parser.parse_args() args = parser.parse_args()
@ -108,6 +112,9 @@ if __name__ == '__main__':
try: args.directory = os.environ['XBPS_DISTDIR'] try: args.directory = os.environ['XBPS_DISTDIR']
except KeyError: args.directory = '.' except KeyError: args.directory = '.'
if args.check_pkgs:
os.environ['XBPS_CHECK_PKGS'] = args.check_pkgs
pool = multiprocessing.Pool(processes = args.jobs) pool = multiprocessing.Pool(processes = args.jobs)
pattern = os.path.join(args.directory, 'srcpkgs', '*') pattern = os.path.join(args.directory, 'srcpkgs', '*')

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,7 @@ if [ "$3" = 1 ]; then
test="-Q" test="-Q"
fi fi
PKGS=$(/hostrepo/xbps-src sort-dependencies $(cat /tmp/templates)) PKGS=$(/hostrepo/xbps-src $test sort-dependencies $(cat /tmp/templates))
for pkg in ${PKGS}; do for pkg in ${PKGS}; do
/hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg" /hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg"

View file

@ -124,6 +124,17 @@ check_installed_pkg() {
return 1 return 1
} }
#
# Return 0 if we will skip the check step
#
skip_check_step() {
[ -z "$XBPS_CHECK_PKGS" ] ||
[ "$XBPS_CROSS_BUILD" ] ||
[ "$make_check" = ci-skip -a "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ] ||
[ "$make_check" = extended -a "$XBPS_CHECK_PKGS" != full ] ||
[ "$make_check" = no ]
}
# #
# Build all dependencies required to build and run. # Build all dependencies required to build and run.
# #
@ -137,7 +148,7 @@ install_pkg_deps() {
local -a host_missing_deps missing_deps missing_rdeps local -a host_missing_deps missing_deps missing_rdeps
[ -z "$pkgname" ] && return 2 [ -z "$pkgname" ] && return 2
[ -z "$XBPS_CHECK_PKGS" ] && unset checkdepends skip_check_step && unset checkdepends
if [[ $build_style ]] || [[ $build_helper ]]; then if [[ $build_style ]] || [[ $build_helper ]]; then
style=" with" style=" with"
@ -208,7 +219,7 @@ install_pkg_deps() {
# #
# Host check dependencies. # Host check dependencies.
# #
if [[ ${checkdepends} ]] && [[ $XBPS_CHECK_PKGS ]] && [ -z "$XBPS_CROSS_BUILD" ]; then if [[ ${checkdepends} ]]; then
templates="" templates=""
# check validity # check validity
for f in ${checkdepends}; do for f in ${checkdepends}; do

View file

@ -14,15 +14,7 @@ install_base_chroot() {
_bootstrap_arch="env XBPS_TARGET_ARCH=$XBPS_TARGET_PKG" _bootstrap_arch="env XBPS_TARGET_ARCH=$XBPS_TARGET_PKG"
fi fi
(export XBPS_MACHINE=$XBPS_TARGET_PKG XBPS_ARCH=$XBPS_TARGET_PKG; chroot_sync_repodata) (export XBPS_MACHINE=$XBPS_TARGET_PKG XBPS_ARCH=$XBPS_TARGET_PKG; chroot_sync_repodata)
# Fix cyclic between glibc and libxcrypt-compat ${_bootstrap_arch} $XBPS_INSTALL_CMD ${XBPS_INSTALL_ARGS} -y base-chroot
case "$XBPS_MACHINE" in
*-musl)
${_bootstrap_arch} $XBPS_INSTALL_CMD ${XBPS_INSTALL_ARGS} -y base-chroot
;;
*)
${_bootstrap_arch} $XBPS_INSTALL_CMD ${XBPS_INSTALL_ARGS} -y base-chroot glibc libxcrypt-compat
;;
esac
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
msg_error "xbps-src: failed to install base-chroot!\n" msg_error "xbps-src: failed to install base-chroot!\n"
fi fi

View file

@ -188,6 +188,12 @@ msg_normal() {
fi fi
} }
msg_verbose() {
if [ -n "$XBPS_VERBOSE" ]; then
printf >&2 "$@"
fi
}
report_broken() { report_broken() {
if [ "$show_problems" = "ignore-problems" ]; then if [ "$show_problems" = "ignore-problems" ]; then
return return

View file

@ -116,7 +116,9 @@ show_pkg_build_depends() {
} }
show_pkg_build_deps() { show_pkg_build_deps() {
show_pkg_build_depends "${makedepends} $(setup_pkg_depends '' 1 1)" "${hostmakedepends}" local build_depends="${makedepends} $(setup_pkg_depends '' 1 1)"
skip_check_step || build_depends+=" ${checkdepends}"
show_pkg_build_depends "${build_depends}" "${hostmakedepends}"
} }
show_pkg_hostmakedepends() { show_pkg_hostmakedepends() {
@ -127,6 +129,10 @@ show_pkg_makedepends() {
show_pkg_build_depends "${makedepends}" "" show_pkg_build_depends "${makedepends}" ""
} }
show_pkg_checkdepends() {
show_pkg_build_depends "${checkdepends}" ""
}
show_pkg_build_options() { show_pkg_build_options() {
local f local f

View file

@ -1,4 +1,4 @@
# vim: set ts=4 sw=4 et: # vim: set ts=4 sw=4 et ft=bash :
update_check() { update_check() {
local i p url pkgurlname rx found_version consider local i p url pkgurlname rx found_version consider
@ -8,19 +8,25 @@ update_check() {
local urlpfx urlsfx local urlpfx urlsfx
local -A fetchedurls local -A fetchedurls
local curlargs=(
-A "xbps-src-update-check/$XBPS_SRC_VERSION"
--max-time 10 --compressed -Lsk
)
pkgname=${pkgname#kf6-}
# XBPS_UPDATE_CHECK_VERBOSE is the old way to show verbose messages
[ "$XBPS_UPDATE_CHECK_VERBOSE" ] && XBPS_VERBOSE="$XBPS_UPDATE_CHECK_VERBOSE"
if [ -r $update_override ]; then if [ -r $update_override ]; then
. $update_override . $update_override
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "using $XBPS_TARGET_PKG/update overrides\n"
echo "using $XBPS_TARGET_PKG/update overrides" 1>&2
fi
if [ -n "$disabled" ]; then if [ -n "$disabled" ]; then
echo "update-check DISABLED for $original_pkgname: $disabled" 1>&2 msg_verbose "update-check DISABLED for $original_pkgname: $disabled\n"
return 0 return 0
fi fi
elif [ -z "$distfiles" ]; then elif [ -z "$distfiles" ]; then
if [ "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "NO DISTFILES found for $original_pkgname\n"
echo "NO DISTFILES found for $original_pkgname" 1>&2
fi
return 0 return 0
fi fi
@ -63,7 +69,7 @@ update_check() {
*code.google.com*|*googlecode*|\ *code.google.com*|*googlecode*|\
*launchpad.net*|\ *launchpad.net*|\
*cpan.*|\ *cpan.*|\
*pythonhosted.org*|\ *pythonhosted.org*|*pypi.org/project/*|\
*github.com*|\ *github.com*|\
*//gitlab.*|\ *//gitlab.*|\
*bitbucket.org*|\ *bitbucket.org*|\
@ -94,11 +100,9 @@ update_check() {
esac esac
if [ "$rx" ]; then if [ "$rx" ]; then
# substitute url if needed # substitute url if needed
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "(folder) fetching $urlpfx and scanning with $rx\n"
echo "(folder) fetching $urlpfx and scanning with $rx" 1>&2
fi
skipdirs= skipdirs=
curl -A "xbps-src-update-check/$XBPS_SRC_VERSION" --max-time 10 -Lsk "$urlpfx" | curl "${curlargs[@]}" "$urlpfx" |
grep -Po -i "$rx" | grep -Po -i "$rx" |
# sort -V places 1.1/ before 1/, but 1A/ before 1.1A/ # sort -V places 1.1/ before 1/, but 1A/ before 1.1A/
sed -e 's:$:A:' -e 's:/A$:A/:' | sort -Vru | sed -e 's:A/$:/A:' -e 's:A$::' | sed -e 's:$:A:' -e 's:/A$:A/:' | sort -Vru | sed -e 's:A/$:/A:' -e 's:A$::' |
@ -127,9 +131,10 @@ update_check() {
url="https://launchpad.net/$pkgurlname/+download";; url="https://launchpad.net/$pkgurlname/+download";;
*cpan.*) *cpan.*)
pkgname=${pkgname#perl-};; pkgname=${pkgname#perl-};;
*pythonhosted.org*) *pythonhosted.org*|*pypi.org/project/*)
pkgname=${pkgname#python-} pkgname=${pkgname#python-}
pkgname=${pkgname#python3-} pkgname=${pkgname#python3-}
rx="(?<=${pkgname//-/[-_]}-)[0-9.]+(post[0-9]*)?(?=(([.]tar|-cp|-py)))"
url="https://pypi.org/simple/$pkgname";; url="https://pypi.org/simple/$pkgname";;
*github.com*) *github.com*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
@ -141,16 +146,16 @@ update_check() {
*) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";; *) pkgurlname="$(printf %s "$url" | cut -d / -f 1-5)";;
esac esac
url="$pkgurlname/-/tags" url="$pkgurlname/-/tags"
rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz")';; rx='/archive/[^/]+/\Q'"$pkgname"'\E-v?\K[\d.]+(?=\.tar\.gz)';;
*bitbucket.org*) *bitbucket.org*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)" pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
url="https://bitbucket.org/$pkgurlname/downloads" url="https://bitbucket.org/$pkgurlname/downloads"
rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';; rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';;
*ftp.gnome.org*|*download.gnome.org*) *ftp.gnome.org*|*download.gnome.org*)
: ${pattern="\Q$pkgname\E-\K(0|[13]\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=.tar)"} rx='(?<=LATEST-IS-)([0-24-9]|3\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=\")'
url="https://download.gnome.org/sources/$pkgname/cache.json";; url="https://download.gnome.org/sources/$pkgname/cache.json";;
*archive.xfce.org*) *archive.xfce.org*)
: ${pattern="\Q$pkgname\E-\K((([4-9]|([1-9][0-9]+))\.[0-9]*[02468]\.[0-9.]*[0-9])|([0-3]\.[0-9.]*))(?=.tar)"} rx='\Q'"$pkgname"'\E-\K((([4-9]|([1-9][0-9]+))\.[0-9]*[02468]\.[0-9.]*[0-9])|([0-3]\.[0-9.]*))(?=.tar)'
url="https://archive.xfce.org/feeds/project/$pkgname" ;; url="https://archive.xfce.org/feeds/project/$pkgname" ;;
*kernel.org/pub/linux/kernel/*) *kernel.org/pub/linux/kernel/*)
rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';; rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';;
@ -195,16 +200,12 @@ update_check() {
rx=${rx:-'(?<!-)\b\Q'"$pkgname"'\E[-_]?((src|source)[-_])?v?\K([^-/_\s]*?\d[^-/_\s]*?)(?=(?:[-_.](?:src|source|orig))?\.(?:[jt]ar|shar|t[bglx]z|tbz2|zip))\b'} rx=${rx:-'(?<!-)\b\Q'"$pkgname"'\E[-_]?((src|source)[-_])?v?\K([^-/_\s]*?\d[^-/_\s]*?)(?=(?:[-_.](?:src|source|orig))?\.(?:[jt]ar|shar|t[bglx]z|tbz2|zip))\b'}
if [ "${fetchedurls[$url]}" ]; then if [ "${fetchedurls[$url]}" ]; then
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "already fetched $url\n"
echo "already fetched $url" 1>&2
fi
continue continue
fi fi
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "fetching $url and scanning with $rx\n"
echo "fetching $url and scanning with $rx" 1>&2 curl "${curlargs[@]}" -H 'Accept: text/html,application/xhtml+xml,application/xml,text/plain,application/rss+xml' "$url" |
fi
curl -H 'Accept: text/html,application/xhtml+xml,application/xml,text/plain,application/rss+xml' -A "xbps-src-update-check/$XBPS_SRC_VERSION" --max-time 10 -Lsk "$url" |
grep -Po -i "$rx" grep -Po -i "$rx"
fetchedurls[$url]=yes fetchedurls[$url]=yes
done | done |
@ -214,9 +215,7 @@ update_check() {
grep . || echo "NO VERSION found for $original_pkgname" 1>&2 grep . || echo "NO VERSION found for $original_pkgname" 1>&2
} | } |
while IFS= read -r found_version; do while IFS= read -r found_version; do
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "found version $found_version\n"
echo "found version $found_version"
fi
consider=true consider=true
p="$ignore " p="$ignore "
while [ -n "$p" ]; do while [ -n "$p" ]; do
@ -225,9 +224,7 @@ update_check() {
case "$found_version" in case "$found_version" in
$i) $i)
consider=false consider=false
if [ -n "$XBPS_UPDATE_CHECK_VERBOSE" ]; then msg_verbose "ignored $found_version due to $i\n"
echo "ignored $found_version due to $i"
fi
esac esac
done done
if $consider; then if $consider; then

View file

@ -27,7 +27,7 @@ libudev eudev-libudev
lightdm-greeter base-chroot-cyclic-solver lightdm-greeter base-chroot-cyclic-solver
nodejs-runtime nodejs nodejs-runtime nodejs
ntp-daemon chrony ntp-daemon chrony
phonon-backend phonon-backend-gstreamer phonon-qt6-backend phonon-backend-vlc
phonon-qt5-backend phonon-qt5-backend-gstreamer phonon-qt5-backend phonon-qt5-backend-gstreamer
php-runtime php8.3 php-runtime php8.3
pipewire-session-manager base-chroot-cyclic-solver pipewire-session-manager base-chroot-cyclic-solver
@ -39,4 +39,5 @@ xserver-abi-video xorg-server
libGL libglvnd libGL libglvnd
libEGL libglvnd libEGL libglvnd
libGLES libglvnd libGLES libglvnd
hunspell-en_GB hunspell-en_GB-all
libadwaita libadwaita-without-adwaita libadwaita libadwaita-without-adwaita

View file

@ -1,6 +1,6 @@
# voidlinux remote repositories (musl) # voidlinux remote repositories (musl)
repository=https://repo-default.voidlinux.org/current/musl
repository=https://repo-default.voidlinux.org/current/musl/bootstrap 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/nonfree
repository=https://repo-default.voidlinux.org/current/musl/debug repository=https://repo-default.voidlinux.org/current/musl/debug

View file

@ -1,8 +1,8 @@
# voidlinux remote repositories (glibc) # voidlinux remote repositories (glibc)
repository=https://repo-default.voidlinux.org/current/bootstrap
repository=https://repo-default.voidlinux.org/current repository=https://repo-default.voidlinux.org/current
repository=https://repo-default.voidlinux.org/current/nonfree repository=https://repo-default.voidlinux.org/current/nonfree
repository=https://repo-default.voidlinux.org/current/debug repository=https://repo-default.voidlinux.org/current/debug
repository=https://repo-default.voidlinux.org/current/bootstrap
# Cereus Linux remote repositories (glibc) # Cereus Linux remote repositories (glibc)
repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64 repository=https://sourceforge.net/projects/cereus-linux/files/repos/cereus-core/x86_64

View file

@ -3,12 +3,19 @@
print_cross_targets() { print_cross_targets() {
local f local f
for f in common/cross-profiles/*.sh; do for f in "${XBPS_DISTDIR}"/common/cross-profiles/*.sh; do
f=${f%.sh}; f=${f##*/}; printf "\t$f\n" f=${f%.sh}; f=${f##*/}; printf "\t$f\n"
done done
} }
usage() { usage() {
# copied from main logic because this is run before XBPS_DISTDIR is set normally
local _distdir="$(readlink -f "${0%/*}")"
if [ "${_distdir}" = "." ]; then
readonly XBPS_DISTDIR="$(pwd -P)"
else
readonly XBPS_DISTDIR="${_distdir}"
fi
cat << _EOF cat << _EOF
$PROGNAME: [options] <target> [arguments] $PROGNAME: [options] <target> [arguments]
@ -94,6 +101,9 @@ show-avail <pkgname>
show-build-deps <pkgname> show-build-deps <pkgname>
Show required build dependencies for <pkgname>. Show required build dependencies for <pkgname>.
show-check-deps <pkgname>
Show required check dependencies for <pkgname>.
show-deps <pkgname> show-deps <pkgname>
Show required run-time dependencies for <pkgname>. Package must be Show required run-time dependencies for <pkgname>. Package must be
installed into destdir. installed into destdir.
@ -242,6 +252,8 @@ $(print_cross_targets)
This flag requires xbps-uchroot(1), and won't work on filesystems that don't This flag requires xbps-uchroot(1), and won't work on filesystems that don't
support overlayfs. support overlayfs.
-v Show verbose messages (only affects update-check).
-V Print version of xbps, then exit. -V Print version of xbps, then exit.
_EOF _EOF
@ -371,7 +383,7 @@ readonly XBPS_SRC_VERSION="113"
export XBPS_MACHINE=$(xbps-uhelper -C /dev/null arch) export XBPS_MACHINE=$(xbps-uhelper -C /dev/null arch)
XBPS_OPTIONS= XBPS_OPTIONS=
XBPS_OPTSTRING="1A:a:bc:CEfgGhH:iIj:Lm:No:p:qsQKr:tV" XBPS_OPTSTRING="1A:a:bc:CEfgGhH:iIj:Lm:No:p:qsQKr:tvV"
# Preprocess arguments in order to allow options before and after XBPS_TARGET. # Preprocess arguments in order to allow options before and after XBPS_TARGET.
eval set -- $(getopt "$XBPS_OPTSTRING" "$@"); eval set -- $(getopt "$XBPS_OPTSTRING" "$@");
@ -407,6 +419,7 @@ while getopts "$XBPS_OPTSTRING" opt; do
r) XBPS_ARG_ALT_REPOSITORY="$OPTARG"; XBPS_OPTIONS+=" -r $OPTARG";; r) XBPS_ARG_ALT_REPOSITORY="$OPTARG"; XBPS_OPTIONS+=" -r $OPTARG";;
s) XBPS_ARG_STRICT=yes; XBPS_OPTIONS+=" -s";; s) XBPS_ARG_STRICT=yes; XBPS_OPTIONS+=" -s";;
t) XBPS_ARG_TEMP_MASTERDIR=1; XBPS_OPTIONS+=" -t -C";; t) XBPS_ARG_TEMP_MASTERDIR=1; XBPS_OPTIONS+=" -t -C";;
v) XBPS_ARG_VERBOSE=1; XBPS_OPTIONS+=" -v";;
V) echo "xbps-src-$XBPS_SRC_VERSION $(xbps-uhelper -V)" && exit 0;; V) echo "xbps-src-$XBPS_SRC_VERSION $(xbps-uhelper -V)" && exit 0;;
--) shift; break;; --) shift; break;;
esac esac
@ -497,6 +510,7 @@ fi
[ -n "$XBPS_ARG_CROSS_BUILD" ] && XBPS_CROSS_BUILD="$XBPS_ARG_CROSS_BUILD" [ -n "$XBPS_ARG_CROSS_BUILD" ] && XBPS_CROSS_BUILD="$XBPS_ARG_CROSS_BUILD"
[ -n "$XBPS_ARG_CHECK_PKGS" ] && XBPS_CHECK_PKGS="$XBPS_ARG_CHECK_PKGS" [ -n "$XBPS_ARG_CHECK_PKGS" ] && XBPS_CHECK_PKGS="$XBPS_ARG_CHECK_PKGS"
[ -n "$XBPS_ARG_MAKEJOBS" ] && XBPS_MAKEJOBS="$XBPS_ARG_MAKEJOBS" [ -n "$XBPS_ARG_MAKEJOBS" ] && XBPS_MAKEJOBS="$XBPS_ARG_MAKEJOBS"
[ -n "$XBPS_ARG_VERBOSE" ] && XBPS_VERBOSE="$XBPS_ARG_VERBOSE"
# Default to nproc for XBPS_MAKEJOBS if not set and nproc is available # Default to nproc for XBPS_MAKEJOBS if not set and nproc is available
if command -v nproc >/dev/null ; then if command -v nproc >/dev/null ; then
@ -532,6 +546,8 @@ fi
# unless in a container for simplicity of container/CI usage # unless in a container for simplicity of container/CI usage
if [ "$XBPS_CHROOT_CMD" = ethereal ]; then if [ "$XBPS_CHROOT_CMD" = ethereal ]; then
: "${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir}" : "${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir}"
elif [ -n "$XBPS_ARG_MASTERDIR" ]; then
: # Don't mess with masterdir in argv
else else
: "${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir-$XBPS_MACHINE}" : "${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir-$XBPS_MACHINE}"
# but use $XBPS_DISTDIR/masterdir if it exists and the new style doesn't # but use $XBPS_DISTDIR/masterdir if it exists and the new style doesn't
@ -552,13 +568,14 @@ if [ -d "$XBPS_MASTERDIR" -a ! -w "$XBPS_MASTERDIR" ]; then
fi fi
# Try using chroot-git then git from the host system # Try using chroot-git then git from the host system
if command -v chroot-git &>/dev/null; then XBPS_GIT_CMD="$(PATH="/usr/libexec/chroot-git:$PATH:$XBPS_MASTERDIR/usr/libexec/chroot-git" command -v git 2>/dev/null)"
export XBPS_GIT_CMD=$(command -v chroot-git) if [ -n "$XBPS_GIT_CMD" ]; then
elif command -v git &>/dev/null; then export XBPS_GIT_CMD
export XBPS_GIT_CMD=$(command -v git)
elif [ -z "$XBPS_USE_BUILD_MTIME" ] || [ "$XBPS_USE_GIT_REVS" ]; then elif [ -z "$XBPS_USE_BUILD_MTIME" ] || [ "$XBPS_USE_GIT_REVS" ]; then
echo "neither chroot-git or git are available in your system!" 1>&2 echo "neither chroot-git or git are available in your system!" 1>&2
exit 1 exit 1
else
unset XBPS_GIT_CMD
fi fi
if [ -n "$XBPS_HOSTDIR" ]; then if [ -n "$XBPS_HOSTDIR" ]; then
@ -891,6 +908,10 @@ case "$XBPS_TARGET" in
read_pkg ignore-problems read_pkg ignore-problems
show_pkg_makedepends show_pkg_makedepends
;; ;;
show-checkdepends)
read_pkg ignore-problems
show_pkg_checkdepends
;;
show-pkg-var-dump) show-pkg-var-dump)
read_pkg ignore-problems read_pkg ignore-problems
for sub_name in $subpackages; do for sub_name in $subpackages; do