mirror of
https://github.com/X11Libre/xserver.git
synced 2026-11-15 05:23:40 +00:00
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_timeout (push) Waiting to run
delete old workflow runs / purge_deleted_branch_workflows (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (maint-25.0) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (master) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/AllocColor) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/ReadRequestFromClient) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/ReplyNotSwappd) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/XvPortNotifyPtr) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/always-pciaccess) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/build-rootless) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/ci) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/ci-deps) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/clang-tidy) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/cleanup) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/cleanup-api-xfree86) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/cleanup-api-xfree86-backup) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/cleanup-grabs) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/cleanup-os-export) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/client_array) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/conflict-notify) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/conv-warnings) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/deps1) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/dix-config) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/dixLookupWindowByXID) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/dixconf-1) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/dixconfig-2) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/dixgetproperty) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/fix-xnest) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/fix_347) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/generations) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/geode) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/github-build) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/github-macos-deps) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/github-releases) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/glx_deferred) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/grouping) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/includes) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/includes-2) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/intel-2) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/io) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/log_req_len) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/logging) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/logging_submitted_1) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/maint-xnest) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/malloc) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/marshal) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/matrix-test) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/meson) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/misc.h) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/mpbt) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/netbsd) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/new-cleanups) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/no-libsystemd) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/os-unexport) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/pciaccess) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/pedantic) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/pixmap-lifecycle) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/purge-master) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/reallocarray) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/redv) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/requests) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/rootless) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/saveset) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/screenkey) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/screenproc) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/screenproc-old) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/screenproc-wrap) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/screenproc-wrap-debug) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/sdk) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/swap0) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/swapping) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/swapping_new) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/troubleshoot-randr) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/warn-conv) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/werror) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/win32_2) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xcb-marshal) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xcb-visuals) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xcb-xnest) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xf86_platform_bus_newabi) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xf86bigfont) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xi-properties) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xnest-multi) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xnest-render) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xnest-rootless) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xnest-rootless-old) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xnest-shm) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xrandr-bug) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xrandr-new-one) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xv-fix) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xv-generation) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xwin) (push) Waiting to run
delete old workflow runs / delete_old_workflow_runs_branches (wip/xwin-2) (push) Waiting to run
Our new automatic mirrors have a special prefix, so we need to fixup the URLs. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
121 lines
4.1 KiB
Shell
Executable file
121 lines
4.1 KiB
Shell
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
set -o xtrace
|
|
|
|
. .github/scripts/util.sh
|
|
|
|
HOST=$1
|
|
|
|
# Debian's cross-pkg-config wrappers are broken for MinGW targets, since
|
|
# dpkg-architecture doesn't know about MinGW target triplets.
|
|
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930492
|
|
cat >/usr/local/bin/${HOST}-pkg-config <<EOF
|
|
#!/bin/sh
|
|
|
|
PKG_CONFIG_SYSROOT_DIR=/usr/${HOST} PKG_CONFIG_LIBDIR=/usr/${HOST}/lib/pkgconfig:/usr/${HOST}/share/pkgconfig pkg-config \$@
|
|
EOF
|
|
chmod +x /usr/local/bin/${HOST}-pkg-config
|
|
|
|
# when cross-compiling, some autoconf tests cannot be run:
|
|
|
|
# --enable-malloc0returnsnull
|
|
export xorg_cv_malloc0_returns_null=yes
|
|
|
|
die() {
|
|
echo "FAILED: $*" >&1
|
|
exit 1
|
|
}
|
|
|
|
# retry <max_attempts> <sleep_seconds> <command...>
|
|
retry() {
|
|
local max_attempts=$1
|
|
local sleep_time=$2
|
|
shift 2
|
|
|
|
local attempt=1
|
|
while true; do
|
|
"$@" && return 0 # success → return immediately
|
|
if [ $attempt -ge $max_attempts ]; then
|
|
return 1 # failed after all attempts
|
|
fi
|
|
attempt=$((attempt+1))
|
|
sleep "$sleep_time"
|
|
done
|
|
}
|
|
|
|
try_clone() {
|
|
local url="$1"
|
|
local commit="$2"
|
|
local name="$3"
|
|
|
|
if [[ $commit =~ ^[[:xdigit:]]{1,}$ ]]
|
|
then
|
|
git clone ${url} ${name} || return 1
|
|
git -C ${name} checkout ${commit} || return 1
|
|
else
|
|
git clone --depth 1 --branch ${commit:-master} --recurse-submodules -c advice.detachedHead=false ${url} ${name} || return 1
|
|
fi
|
|
}
|
|
|
|
build() {
|
|
url=$1
|
|
commit=$2
|
|
config=$3
|
|
|
|
name=$(basename ${url} .git)
|
|
|
|
retry 10 10 try_clone "$url" "$commit" "$name" || die "failed cloning $url - $commit"
|
|
|
|
pushd ${name}
|
|
NOCONFIGURE=1 ./autogen.sh || ./.bootstrap
|
|
./configure ${config} --host=${HOST} --prefix= --with-sysroot=/usr/${HOST}/
|
|
make -j$(nproc)
|
|
DESTDIR=/usr/${HOST} make install
|
|
|
|
popd
|
|
rm -rf ${OLDPWD}
|
|
}
|
|
|
|
build_fdo() {
|
|
local name="$1"
|
|
shift
|
|
build $(fdo_mirror $name) "$@"
|
|
}
|
|
|
|
build_fdo 'pixman' 'pixman-0.38.4'
|
|
build_fdo 'pthread-stubs' '0.4'
|
|
# we can't use the xorgproto pkgconfig files from /usr/share/pkgconfig, because
|
|
# these would add -I/usr/include to CFLAGS, which breaks cross-compilation
|
|
build_fdo 'xorgproto' 'xorgproto-2024.1' '--datadir=/lib'
|
|
build_fdo 'libXau' 'libXau-1.0.9'
|
|
build_fdo 'xcbproto' 'xcb-proto-1.17.0'
|
|
build_fdo 'libxcb' 'libxcb-1.17.0'
|
|
build_fdo 'libxtrans' 'xtrans-1.6.0'
|
|
# the default value of keysymdefdir is taken from the includedir variable for
|
|
# xproto, which isn't adjusted by pkg-config for the sysroot
|
|
# Using -fcommon to address build failure when cross-compiling for windows.
|
|
# See discussion at https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/913
|
|
CFLAGS="-fcommon" build_fdo 'libX11' 'libX11-1.6.9' "--with-keysymdefdir=/usr/${HOST}/include/X11"
|
|
build_fdo 'libxkbfile' 'libxkbfile-1.1.0'
|
|
# freetype needs an explicit --build to know it's cross-compiling
|
|
# disable png as freetype tries to use libpng-config, even when cross-compiling
|
|
build_fdo 'freetype' 'VER-2-10-1' "--build=$(cc -dumpmachine) --with-png=no"
|
|
build_fdo 'font-util' 'font-util-1.3.2'
|
|
build_fdo 'libfontenc' 'libfontenc-1.1.4'
|
|
build_fdo 'libXfont' 'libXfont2-2.0.3'
|
|
build_fdo 'libXdmcp' 'libXdmcp-1.1.3'
|
|
build_fdo 'libXfixes' 'libXfixes-5.0.3'
|
|
build_fdo 'libxcb-util' 'xcb-util-0.4.1-gitlab'
|
|
build_fdo 'libxcb-image' 'xcb-util-image-0.4.1-gitlab'
|
|
build_fdo 'libxcb-wm' 'xcb-util-wm-0.4.2'
|
|
build_fdo 'libxcb-render-util' 'master'
|
|
build_fdo 'libxcb-keysyms' 'master'
|
|
|
|
# workaround xcb_windefs.h leaking all Windows API types into X server build
|
|
# (some of which clash which types defined by Xmd.h) XXX: This is a bit of a
|
|
# hack, as it makes this header depend on xorgproto. Maybe an upstreamable
|
|
# fix would involve a macro defined in the X server (XFree86Server?
|
|
# XCB_NO_WINAPI?), which makes xcb_windefs.h wrap things like XWinsock.h
|
|
# does???
|
|
sed -i s#winsock2#X11/Xwinsock# /usr/${HOST}/include/xcb/xcb_windefs.h
|