1
0
Fork 0
mirror of https://github.com/xHyroM/void-packages.git synced 2024-09-16 18:43:17 +02:00
This commit is contained in:
Jozef Steinhübl 2024-07-15 13:03:48 +02:00
parent 9ec2704005
commit 8012596208
No known key found for this signature in database
GPG key ID: E6BC90C91973B08F
21 changed files with 918 additions and 343 deletions

29
.github/workflows/upstream.yml vendored Normal file
View file

@ -0,0 +1,29 @@
name: Sync with upstream
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions: write-all
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: |
git config --global user.name github-actions[bot]
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
- name: Sync with upstream
run: |
./common/hypa/sync.sh
- name: Commit changes
run: |
git add .
git commit -m "build: sync with upstream $(date +'%Y-%m-%d') https://github.com/void-linux/void-packages/commit/$(git log upstream/master --pretty=format:'%h' -n 1)" || true
git push || true

View file

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

View file

@ -0,0 +1,97 @@
# This build-helper sets up qmakes cross environment
# in cases the build-style is mixed,
# e.g. when in a gnu-configure style the configure
# script calls qmake or a makefile in a gnu-makefile style,
# respectively.
if [ "$CROSS_BUILD" ]; then
mkdir -p "${XBPS_WRAPPERDIR}/target-spec/linux-g++"
cat > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib
include(/usr/lib/qt6/mkspecs/common/linux.conf)
include(/usr/lib/qt6/mkspecs/common/gcc-base-unix.conf)
include(/usr/lib/qt6/mkspecs/common/g++-unix.conf)
QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/qconfig.pri
QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/qmodule.pri
QMAKEMODULES = ${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/modules
QMAKE_CC = ${CC}
QMAKE_CXX = ${CXX}
QMAKE_LINK = ${CXX}
QMAKE_LINK_C = ${CC}
QMAKE_LINK_SHLIB = ${CXX}
QMAKE_AR = ${XBPS_CROSS_TRIPLET}-gcc-ar cqs
QMAKE_OBJCOPY = ${OBJCOPY}
QMAKE_NM = ${NM} -P
QMAKE_STRIP = ${STRIP}
QMAKE_CFLAGS = ${CFLAGS}
QMAKE_CXXFLAGS = ${CXXFLAGS}
QMAKE_LFLAGS = ${LDFLAGS}
load(qt_config)
_EOF
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qplatformdefs.h"
cat > "${XBPS_WRAPPERDIR}/qt.conf" <<_EOF
[Paths]
Sysroot=${XBPS_CROSS_BASE}
Prefix=${XBPS_CROSS_BASE}/usr
ArchData=${XBPS_CROSS_BASE}/usr/lib/qt6
Data=${XBPS_CROSS_BASE}/usr/share/qt6
Documentation=${XBPS_CROSS_BASE}/usr/share/doc/qt6
Headers=${XBPS_CROSS_BASE}/usr/include/qt6
Libraries=${XBPS_CROSS_BASE}/usr/lib
LibraryExecutables=/usr/lib/qt6/libexec
Binaries=/usr/lib/qt6/bin
Tests=${XBPS_CROSS_BASE}/usr/tests
Plugins=/usr/lib/qt6/plugins
Imports=${XBPS_CROSS_BASE}/usr/lib/qt6/imports
Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt6/qml
Translations=${XBPS_CROSS_BASE}/usr/share/qt6/translations
Settings=${XBPS_CROSS_BASE}/etc/xdg
Examples=${XBPS_CROSS_BASE}/usr/lib/qt6/examples
HostPrefix=/usr
HostData=/usr/lib/qt6
HostBinaries=/usr/lib/qt6/bin
HostLibraries=/usr/lib
HostLibraryExecutables=/usr/lib/qt6/libexec
Spec=linux-g++
TargetSpec=$XBPS_WRAPPERDIR/target-spec/linux-g++
_EOF
# create the qmake-wrapper here because it only
# makes sense together with the qmake build-helper
# and not to interfere with e.g. the qmake build-style
#
# + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS
# + hardening flags will be picked up from environment variables
cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF
#!/bin/sh
exec /usr/lib/qt6/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt.conf" \\
QMAKE_CFLAGS+="\${CFLAGS}" \\
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\
QMAKE_LFLAGS+="\${LDFLAGS}"
_EOF
else
cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF
#!/bin/sh
exec /usr/lib/qt6/bin/qmake \
"\$@" \
PREFIX=/usr \
QT_INSTALL_PREFIX=/usr \
LIB=/usr/lib \
QMAKE_CC="$CC" QMAKE_CXX="$CXX" \
QMAKE_LINK="$CXX" QMAKE_LINK_C="$CC" \
QMAKE_CFLAGS+="\${CFLAGS}" \
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \
QMAKE_LFLAGS+="\${LDFLAGS}" \
CONFIG+=no_qt_rpath
_EOF
fi
chmod 755 ${XBPS_WRAPPERDIR}/qmake
cp -p ${XBPS_WRAPPERDIR}/qmake{,-qt6}
cp -p ${XBPS_WRAPPERDIR}/qmake{,6}

View file

@ -56,7 +56,7 @@ do_build() {
fi
else
# 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
}

View file

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

View file

@ -9,12 +9,27 @@ readonly EXTRA_ARGS="$4"
readonly CMD="$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
fi
if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then
echo "$0 MASTERDIR/DISTDIR not set"
if ! [ -x "$XBPS_UCHROOT_CMD" ]; then
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
fi

View file

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

View file

@ -8,13 +8,15 @@ unalias -a
# disable wildcards helper
_noglob_helper() {
set +f
"$@"
set +f
IFS= "$@"
}
# Apply _noglob to v* commands
for cmd in vinstall vcopy vcompletion vmove vmkdir vbin vman vdoc vconf vsconf vlicense vsv; do
alias ${cmd}="set -f; _noglob_helper _${cmd}"
# intentionally expanded when defined
# shellcheck disable=SC2139
alias ${cmd}="set -f; _noglob_helper _${cmd}"
done
_vsv() {
@ -24,6 +26,8 @@ _vsv() {
local svdir="${PKGDESTDIR}/etc/sv/${service}"
if [ $# -lt 1 ] || [ $# -gt 2 ]; then
# pkgver is defined in common/xbps-src/shutils/commmon.sh
# shellcheck disable=SC2154
msg_red "$pkgver: vsv: up to 2 arguments expected: <service> [<log facility>]\n"
return 1
fi
@ -34,26 +38,26 @@ _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
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
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 ] || [ -L $svdir/log ]; then
ln ${LN_OPTS} "/run/runit/supervise.${service}" "$svdir/supervise"
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
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
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
}
@ -120,6 +124,8 @@ _vdoc() {
return 1
fi
# pkgname is defined in the package
# shellcheck disable=SC2154
vinstall "$file" 644 "usr/share/doc/${pkgname}" "$targetfile"
}
@ -175,9 +181,9 @@ _vinstall() {
fi
if [ -z "$targetfile" ]; then
install -Dm${mode} "${file}" "${PKGDESTDIR}/${targetdir}/${file##*/}"
install -Dm"${mode}" "${file}" "${PKGDESTDIR}/${targetdir}/${file##*/}"
else
install -Dm${mode} "${file}" "${PKGDESTDIR}/${targetdir}/${targetfile##*/}"
install -Dm"${mode}" "${file}" "${PKGDESTDIR}/${targetdir}/${targetfile##*/}"
fi
}
@ -193,7 +199,9 @@ _vcopy() {
return 1
fi
cp -a $files ${PKGDESTDIR}/${targetdir}
# intentionally unquoted for globbing
# shellcheck disable=SC2086
cp -a $files "${PKGDESTDIR}/${targetdir}"
}
_vmove() {
@ -219,13 +227,17 @@ _vmove() {
done
if [ -z "${_targetdir}" ]; then
[ ! -d ${PKGDESTDIR} ] && install -d ${PKGDESTDIR}
mv ${DESTDIR}/$files ${PKGDESTDIR}
[ ! -d "${PKGDESTDIR}" ] && install -d "${PKGDESTDIR}"
# intentionally unquoted for globbing
# shellcheck disable=SC2086
mv "${DESTDIR}"/$files "${PKGDESTDIR}"
else
if [ ! -d ${PKGDESTDIR}/${_targetdir} ]; then
install -d ${PKGDESTDIR}/${_targetdir}
if [ ! -d "${PKGDESTDIR}/${_targetdir}" ]; then
install -d "${PKGDESTDIR}/${_targetdir}"
fi
mv ${DESTDIR}/$files ${PKGDESTDIR}/${_targetdir}
# intentionally unquoted for globbing
# shellcheck disable=SC2086
mv "${DESTDIR}"/$files "${PKGDESTDIR}/${_targetdir}"
fi
}
@ -243,9 +255,9 @@ _vmkdir() {
fi
if [ -z "$mode" ]; then
install -d ${PKGDESTDIR}/${dir}
install -d "${PKGDESTDIR}/${dir}"
else
install -dm${mode} ${PKGDESTDIR}/${dir}
install -dm"${mode}" "${PKGDESTDIR}/${dir}"
fi
}

View file

@ -119,10 +119,16 @@ _EOF
#
# Handle binfmts trigger
#
if [ -n "${binfmts}" ]; then
if [ -n "${binfmts}" ] || [ -d "${PKGDESTDIR}/usr/share/binfmts" ]; then
_add_trigger binfmts
fi
if [ -n "${binfmts}" ]; then
echo "export binfmts=\"${binfmts}\"" >> $tmpf
fi
if [ -d "${PKGDESTDIR}/usr/share/binfmts" ]; then
_import_binfmts="$(find "${PKGDESTDIR}/usr/share/binfmts" -type f -printf '%f\n')"
echo "export import_binfmts=\"${_import_binfmts}\"" >> $tmpf
fi
#
# Handle GNU Info files.
#
@ -272,7 +278,7 @@ _EOF
fi
fi
if [ -n "$python_version" ]; then
if [ -n "$python_version" ] && [ "$python_version" != ignore ]; then
pycompile_version=${python_version}
fi

View file

@ -0,0 +1,60 @@
# vim: set ts=4 sw=4 et ft=bash :
#
# This hook execute the following tasks:
# - warn if packages uses private Qt API but makedepends doesn't have
# qt6-*-private-devel
#
# This hook only really target qt6-base-private-devel, a lot of packages
# linked with Qt6::CorePrivate and Qt6::GuiPrivate, yet don't need its
# headers.
get_qt_private() {
local _elf _fn _lf
find ${PKGDESTDIR} -type f |
while read -r _fn; do
trap - ERR
_lf=${_fn#${PKGDESTDIR}}
if [ "${skiprdeps/${_lf}/}" != "${skiprdeps}" ]; then
continue
fi
read -n4 _elf < "$_fn"
if [ "$_elf" = $'\177ELF' ]; then
$OBJDUMP -p "$_fn" |
sed -n '
/required from /{s/.*required from \(.*\):/\1/;h;}
/Qt_[0-9]*_PRIVATE_API/{g;p;}
'
fi
done |
sort -u
}
hook() {
local _list _shlib _version _md _v _ok
if [ -n "$noverifyrdeps" ]; then
return 0
fi
_list=$(get_qt_private)
for _shlib in $_list; do
msg_normal "${pkgver}: requires PRIVATE_API from $_shlib\n"
done
_version=$(printf '%s\n' $_list | sed 's/^libQt\([0-9]*\).*/\1/' | grep -v '^5$' | uniq)
for _v in $_version; do
_ok=
for _md in ${makedepends}; do
case "${_md}" in
# Anything will works, because they're updated together
qt${_v}-*-private-devel)
_ok=yes
break
;;
esac
done
if [ -z "$_ok" ]; then
msg_warn "${pkgver}: using Qt${_v}_PRIVATE_API but doesn't use qt${_v}-*-private-devel\n"
fi
done
}

View file

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

View file

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

View file

@ -98,7 +98,12 @@ hook() {
for f in ${verify_deps}; do
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
echo " SONAME: $f <-> $pkgname (ignored)"
continue

34
common/hypa/sync.sh Executable file
View file

@ -0,0 +1,34 @@
#!/usr/bin/bash
# Check if upstream remote is set
if ! git remote | grep -q upstream; then
git remote add upstream https://github.com/void-linux/void-packages.git
echo "[+] Added upstream remote"
fi
BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "[?] Fetching upstream changes"
git fetch --depth=1 upstream
echo ""
echo "[?] Moving original common/ to tmp/common"
mkdir -p tmp
mv common tmp/common
mv xbps-src tmp/
echo ""
echo "[?] Copying common/ & xbps-src from upstream/master to $BRANCH"
git checkout upstream/master -- common
git checkout upstream/master -- xbps-src
echo ""
echo "[?] Copying tmp/common/hypa to common/hypa"
cp -r tmp/common/hypa common/hypa
echo ""
echo "[?] Removing tmp/ directory"
rm -rf tmp
echo ""
echo "[+] Update completed"

View file

@ -101,6 +101,10 @@ if __name__ == '__main__':
help='Directory used to cache build dependencies (must exist)')
parser.add_argument('-d', '--directory',
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()
@ -108,6 +112,9 @@ if __name__ == '__main__':
try: args.directory = os.environ['XBPS_DISTDIR']
except KeyError: args.directory = '.'
if args.check_pkgs:
os.environ['XBPS_CHECK_PKGS'] = args.check_pkgs
pool = multiprocessing.Pool(processes = args.jobs)
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"
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
/hostrepo/xbps-src -j$(nproc) -s -H "$HOME"/hostdir $arch $test pkg "$pkg"

View file

@ -1,5 +1,6 @@
0BSD
389-exception
3D-Slicer-1.0
AAL
ADSL
AFL-1.1
@ -11,7 +12,9 @@ AGPL-1.0-only
AGPL-1.0-or-later
AGPL-3.0-only
AGPL-3.0-or-later
AMD-newlib
AMDPLPA
AML-glslang
AML
AMPAS
ANTLR-PD-fallback
@ -27,6 +30,7 @@ ASWF-Digital-Assets-1.1
Abstyles
AdaCore-doc
Adobe-2006
Adobe-Display-PostScript
Adobe-Glyph
Adobe-Utopia
Afmparse
@ -41,14 +45,17 @@ Artistic-1.0-cl8
Artistic-1.0
Artistic-2.0
Asterisk-exception
Asterisk-linking-protocols-exception
Autoconf-exception-2.0
Autoconf-exception-3.0
Autoconf-exception-generic-3.0
Autoconf-exception-generic
Autoconf-exception-macro
BSD-1-Clause
BSD-2-Clause-Darwin
BSD-2-Clause-Patent
BSD-2-Clause-Views
BSD-2-Clause-first-lines
BSD-2-Clause
BSD-3-Clause-Attribution
BSD-3-Clause-Clear
@ -61,6 +68,7 @@ BSD-3-Clause-No-Nuclear-License
BSD-3-Clause-No-Nuclear-Warranty
BSD-3-Clause-Open-MPI
BSD-3-Clause-Sun
BSD-3-Clause-acpica
BSD-3-Clause-flex
BSD-3-Clause
BSD-4-Clause-Shortened
@ -73,6 +81,8 @@ BSD-Attribution-HPND-disclaimer
BSD-Inferno-Nettverk
BSD-Protection
BSD-Source-Code
BSD-Source-beginning-file
BSD-Systemics-W3Works
BSD-Systemics
BSL-1.0
BUSL-1.1
@ -80,6 +90,7 @@ Baekmuk
Bahyph
Barr
Beerware
Bison-exception-1.24
Bison-exception-2.2
BitTorrent-1.0
BitTorrent-1.1
@ -89,6 +100,7 @@ BlueOak-1.0.0
Boehm-GC
Bootloader-exception
Borceux
Brian-Gladman-2-Clause
Brian-Gladman-3-Clause
C-UDA-1.0
CAL-1.0-Combined-Work-Exception
@ -99,6 +111,7 @@ CC-BY-2.0
CC-BY-2.5-AU
CC-BY-2.5
CC-BY-3.0-AT
CC-BY-3.0-AU
CC-BY-3.0-DE
CC-BY-3.0-IGO
CC-BY-3.0-NL
@ -165,6 +178,7 @@ CERN-OHL-S-2.0
CERN-OHL-W-2.0
CFITSIO
CLISP-exception-2.0
CMU-Mach-nodoc
CMU-Mach
CNRI-Jython
CNRI-Python-GPL-Compatible
@ -174,7 +188,9 @@ CPAL-1.0
CPL-1.0
CPOL-1.02
CUA-OPL-1.0
Caldera-no-preamble
Caldera
Catharon
ClArtistic
Classpath-exception-2.0
Clips
@ -186,10 +202,12 @@ Crossword
CrystalStacker
Cube
D-FSL-1.0
DEC-3-Clause
DL-DE-BY-2.0
DL-DE-ZERO-2.0
DOC
DRL-1.0
DRL-1.1
DSDP
DigiRule-FOSS-exception
Dotseqn
@ -211,6 +229,7 @@ Eurosym
FBM
FDK-AAC
FLTK-exception
FSFAP-no-warranty-disclaimer
FSFAP
FSFUL
FSFULLR
@ -227,6 +246,7 @@ Furuseth
GCC-exception-2.0-note
GCC-exception-2.0
GCC-exception-3.1
GCR-docs
GD
GFDL-1.1-invariants-only
GFDL-1.1-invariants-or-later
@ -249,6 +269,7 @@ GFDL-1.3-or-later
GL2PS
GLWTPL
GNAT-exception
GNOME-examples-exception
GNU-compiler-exception
GPL-1.0-only
GPL-1.0-or-later
@ -265,18 +286,31 @@ GStreamer-exception-2008
Giftware
Glide
Glulxe
Gmsh-exception
Graphics-Gems
Gutmann
HP-1986
HP-1989
HPND-DEC
HPND-Fenneberg-Livingston
HPND-INRIA-IMAG
HPND-Intel
HPND-Kevlin-Henney
HPND-MIT-disclaimer
HPND-Markus-Kuhn
HPND-Pbmplus
HPND-UC-export-US
HPND-UC
HPND-doc-sell
HPND-doc
HPND-export-US-acknowledgement
HPND-export-US-modify
HPND-export-US
HPND-export2-US
HPND-merchantability-variant
HPND-sell-MIT-disclaimer-xserver
HPND-sell-regexpr
HPND-sell-variant-MIT-disclaimer-rev
HPND-sell-variant-MIT-disclaimer
HPND-sell-variant
HPND
@ -290,6 +324,7 @@ IJG-short
IJG
IPA
IPL-1.0
ISC-Veillard
ISC
ImageMagick
Imlib2
@ -320,6 +355,7 @@ LGPLLR
LLGPL
LLVM-exception
LOOP
LPD-document
LPL-1.0
LPL-1.02
LPPL-1.0
@ -348,6 +384,7 @@ Lucida-Bitmap-Fonts
MIT-0
MIT-CMU
MIT-Festival
MIT-Khronos-old
MIT-Modern-Variant
MIT-Wu
MIT-advertising
@ -367,6 +404,8 @@ MS-LPL
MS-PL
MS-RL
MTLL
Mackerras-3-Clause-acknowledgment
Mackerras-3-Clause
MakeIndex
Martin-Birgmeier
McPhee-slideshow
@ -380,7 +419,9 @@ Mup
NAIST-2003
NASA-1.3
NBPL-1.0
NCBI-PD
NCGL-UK-2.0
NCL
NCSA
NGPL
NICTA-1.0
@ -405,6 +446,7 @@ Nokia-Qt-exception-1.1
Nokia
Noweb
O-UDA-1.0
OAR
OCCT-PL
OCCT-exception-1.0
OCLC-2.0
@ -454,15 +496,20 @@ OSL-2.1
OSL-3.0
OpenJDK-assembly-exception-1.0
OpenPBS-2.3
OpenSSL-standalone
OpenSSL
OpenVision
PADL
PCRE2-exception
PDDL-1.0
PHP-3.0
PHP-3.01
PPL
PS-or-PDF-font-exception-20170817
PSF-2.0
Parity-6.0.0
Parity-7.0.0
Pixar
Plexus
PolyForm-Noncommercial-1.0.0
PolyForm-Small-Business-1.0.0
@ -480,11 +527,13 @@ RHeCos-1.1
RPL-1.1
RPL-1.5
RPSL-1.0
RRDtool-FLOSS-exception-2.0
RSA-MD
RSCPL
Rdisc
Ruby
SANE-exception
SAX-PD-2.0
SAX-PD
SCEA
SGI-B-1.0
@ -505,6 +554,7 @@ SNIA
SPL-1.0
SSH-OpenSSH
SSH-short
SSLeay-standalone
SSPL-1.0
SWI-exception
SWL
@ -519,12 +569,15 @@ Spencer-86
Spencer-94
Spencer-99
SugarCRM-1.1.3
Sun-PPP-2000
Sun-PPP
SunPro
Swift-exception
Symlinks
TAPR-OHL-1.0
TCL
TCP-wrappers
TGPPL-1.0
TMate
TORQUE-1.1
TOSL
@ -539,8 +592,10 @@ Texinfo-exception
UBDL-exception
UCAR
UCL-1.0
UMich-Merit
UPL-1.0
URT-RLE
Unicode-3.0
Unicode-DFS-2015
Unicode-DFS-2016
Unicode-TOU
@ -577,6 +632,8 @@ Zend-2.0
Zimbra-1.3
Zimbra-1.4
Zlib
any-OSI
bcrypt-Solar-Designer
blessing
bzip2-1.0.6
check-cvs
@ -585,6 +642,7 @@ copyleft-next-0.3.0
copyleft-next-0.3.1
cryptsetup-OpenSSL-exception
curl
cve-tou
deprecated_AGPL-1.0
deprecated_AGPL-3.0
deprecated_BSD-2-Clause-FreeBSD
@ -622,11 +680,14 @@ dvipdfm
eCos-exception-2.0
eGenix
etalab-2.0
fmt-exception
freertos-exception-2.0
fwlw
gSOAP-1.3b
gnu-javamail-exception
gnuplot
gtkbook
hdparm
i2p-gpl-java-exception
iMatix
libpng-2.0
@ -636,26 +697,33 @@ libtiff
libutil-David-Nugent
lsof
magaz
mailprio
metamail
mif-exception
mpi-permissive
mpich2
mplus
openvpn-openssl-exception
pkgconf
pnmstitch
psfrag
psutils
python-ldap
radvd
snprintf
softSurfer
ssh-keyscan
stunnel-exception
swrule
threeparttable
u-boot-exception-2.0
ulem
vsftpd-openssl-exception
w3m
x11vnc-openssl-exception
xinetd
xkeyboard-config-Zinoviev
xlock
xpp
xzoom
zlib-acknowledgement

View file

@ -124,6 +124,17 @@ check_installed_pkg() {
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.
#
@ -137,7 +148,7 @@ install_pkg_deps() {
local -a host_missing_deps missing_deps missing_rdeps
[ -z "$pkgname" ] && return 2
[ -z "$XBPS_CHECK_PKGS" ] && unset checkdepends
skip_check_step && unset checkdepends
if [[ $build_style ]] || [[ $build_helper ]]; then
style=" with"
@ -208,7 +219,7 @@ install_pkg_deps() {
#
# Host check dependencies.
#
if [[ ${checkdepends} ]] && [[ $XBPS_CHECK_PKGS ]] && [ -z "$XBPS_CROSS_BUILD" ]; then
if [[ ${checkdepends} ]]; then
templates=""
# check validity
for f in ${checkdepends}; do

View file

@ -116,7 +116,9 @@ show_pkg_build_depends() {
}
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() {
@ -127,6 +129,10 @@ show_pkg_makedepends() {
show_pkg_build_depends "${makedepends}" ""
}
show_pkg_checkdepends() {
show_pkg_build_depends "${checkdepends}" ""
}
show_pkg_build_options() {
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() {
local i p url pkgurlname rx found_version consider
@ -11,7 +11,9 @@ update_check() {
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"
@ -67,7 +69,7 @@ update_check() {
*code.google.com*|*googlecode*|\
*launchpad.net*|\
*cpan.*|\
*pythonhosted.org*|\
*pythonhosted.org*|*pypi.org/project/*|\
*github.com*|\
*//gitlab.*|\
*bitbucket.org*|\
@ -129,9 +131,10 @@ update_check() {
url="https://launchpad.net/$pkgurlname/+download";;
*cpan.*)
pkgname=${pkgname#perl-};;
*pythonhosted.org*)
*pythonhosted.org*|*pypi.org/project/*)
pkgname=${pkgname#python-}
pkgname=${pkgname#python3-}
rx="(?<=${pkgname//-/[-_]}-)[0-9.]+(post[0-9]*)?(?=(([.]tar|-cp|-py)))"
url="https://pypi.org/simple/$pkgname";;
*github.com*)
pkgurlname="$(printf %s "$url" | cut -d/ -f4,5)"
@ -149,10 +152,10 @@ update_check() {
url="https://bitbucket.org/$pkgurlname/downloads"
rx='/(get|downloads)/(v?|\Q'"$pkgname"'\E-)?\K[\d.]+(?=\.tar)';;
*ftp.gnome.org*|*download.gnome.org*)
: ${pattern="(?<=LATEST-IS-)([0-24-9]|3\.[0-9]*[02468]|[4-9][0-9]+)\.[0-9.]*[0-9](?=\")"}
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";;
*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" ;;
*kernel.org/pub/linux/kernel/*)
rx=linux-'\K'${version%.*}'[\d.]+(?=\.tar\.xz)';;