mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-05 11:10:28 +01:00
On CI use common install prefix named 'dep_prefix' for installing local packages
With this commit a new variable 'ci_local_packages' has been introduced
to have a choice for using development packages from a local installation
or from the distribution.
(cherry picked from commit 9c5734fe90)
This commit is contained in:
parent
83d203d460
commit
b49c0ad652
3 changed files with 65 additions and 45 deletions
|
|
@ -41,6 +41,7 @@ cache:
|
|||
|
||||
variables:
|
||||
ci_in_docker: "yes"
|
||||
ci_local_packages: "yes"
|
||||
ci_parallel: "2"
|
||||
ci_sudo: "yes"
|
||||
ci_distro: "debian"
|
||||
|
|
|
|||
|
|
@ -49,6 +49,11 @@ NULL=
|
|||
# See ci-install.sh
|
||||
: "${ci_host:=native}"
|
||||
|
||||
# ci_local_packages:
|
||||
# prefer local packages instead of distribution
|
||||
# See ci-install.sh
|
||||
: "${ci_local_packages:=yes}"
|
||||
|
||||
# ci_parallel:
|
||||
# A number of parallel jobs, passed to make -j
|
||||
: "${ci_parallel:=1}"
|
||||
|
|
@ -118,14 +123,24 @@ esac
|
|||
#
|
||||
case "$ci_host" in
|
||||
(*-w64-mingw32)
|
||||
if [ "${ci_host%%-*}" = i686 ]; then
|
||||
mingw="$(pwd)/mingw32"
|
||||
if [ "$ci_local_packages" = yes ]; then
|
||||
dep_prefix=$(pwd)/${ci_host}-prefix
|
||||
else
|
||||
mingw="$(pwd)/mingw64"
|
||||
# assume the compiler was configured with a sysroot (e.g. openSUSE)
|
||||
sysroot=$("${ci_host}-gcc" --print-sysroot)
|
||||
# check if the prefix is a subdir of sysroot (e.g. openSUSE)
|
||||
if [ -d "${sysroot}/${ci_host}" ]; then
|
||||
dep_prefix="${sysroot}/${ci_host}"
|
||||
else
|
||||
# fallback: assume the dependency libraries were built with --prefix=/${ci_host}
|
||||
dep_prefix="/${ci_host}"
|
||||
export PKG_CONFIG_SYSROOT_DIR="${sysroot}"
|
||||
fi
|
||||
fi
|
||||
export PKG_CONFIG_LIBDIR="${mingw}/lib/pkgconfig"
|
||||
|
||||
export PKG_CONFIG_LIBDIR="${dep_prefix}/lib/pkgconfig"
|
||||
export PKG_CONFIG_PATH=
|
||||
export PKG_CONFIG="pkg-config --define-variable=prefix=${mingw}"
|
||||
export PKG_CONFIG="pkg-config --define-variable=prefix=${dep_prefix}"
|
||||
unset CC
|
||||
unset CXX
|
||||
export TMPDIR=/tmp
|
||||
|
|
@ -293,13 +308,15 @@ case "$ci_buildsys" in
|
|||
(*-w64-mingw32)
|
||||
set _ "$@"
|
||||
set "$@" -D CMAKE_TOOLCHAIN_FILE="${srcdir}/cmake/${ci_host}.cmake"
|
||||
set "$@" -D CMAKE_PREFIX_PATH="${mingw}"
|
||||
set "$@" -D CMAKE_INCLUDE_PATH="${mingw}/include"
|
||||
set "$@" -D CMAKE_LIBRARY_PATH="${mingw}/lib"
|
||||
set "$@" -D EXPAT_LIBRARY="${mingw}/lib/libexpat.dll.a"
|
||||
set "$@" -D GLIB2_LIBRARIES="${mingw}/lib/libglib-2.0.dll.a"
|
||||
set "$@" -D GOBJECT_LIBRARIES="${mingw}/lib/libgobject-2.0.dll.a"
|
||||
set "$@" -D GIO_LIBRARIES="${mingw}/lib/libgio-2.0.dll.a"
|
||||
set "$@" -D CMAKE_PREFIX_PATH="${dep_prefix}"
|
||||
if [ "$ci_local_packages" = yes ]; then
|
||||
set "$@" -D CMAKE_INCLUDE_PATH="${dep_prefix}/include"
|
||||
set "$@" -D CMAKE_LIBRARY_PATH="${dep_prefix}/lib"
|
||||
set "$@" -D EXPAT_LIBRARY="${dep_prefix}/lib/libexpat.dll.a"
|
||||
set "$@" -D GLIB2_LIBRARIES="${dep_prefix}/lib/libglib-2.0.dll.a"
|
||||
set "$@" -D GOBJECT_LIBRARIES="${dep_prefix}/lib/libgobject-2.0.dll.a"
|
||||
set "$@" -D GIO_LIBRARIES="${dep_prefix}/lib/libgio-2.0.dll.a"
|
||||
fi
|
||||
shift
|
||||
# don't run tests yet, Wine needs Xvfb and more
|
||||
# msys2 libraries
|
||||
|
|
|
|||
|
|
@ -48,6 +48,10 @@ NULL=
|
|||
# (ci_docker is empty in this case).
|
||||
: "${ci_in_docker:=no}"
|
||||
|
||||
# ci_local_packages:
|
||||
# prefer local packages instead of distribution
|
||||
: "${ci_local_packages:=yes}"
|
||||
|
||||
# ci_suite:
|
||||
# OS suite (release, branch) in which we are testing.
|
||||
# Typical values for ci_distro=debian: sid, jessie
|
||||
|
|
@ -219,39 +223,6 @@ case "$ci_distro" in
|
|||
;;
|
||||
esac
|
||||
|
||||
case "$ci_host" in
|
||||
(*-w64-mingw32)
|
||||
mirror=http://repo.msys2.org/mingw/${ci_host%%-*}
|
||||
if [ "${ci_host%%-*}" = i686 ]; then
|
||||
mingw="$(pwd)/mingw32"
|
||||
else
|
||||
mingw="$(pwd)/mingw64"
|
||||
fi
|
||||
install -d "${mingw}"
|
||||
for pkg in \
|
||||
bzip2-1.0.8-1 \
|
||||
expat-2.2.9-1 \
|
||||
gcc-libs-9.3.0-2 \
|
||||
gettext-0.19.8.1-8 \
|
||||
glib2-2.64.2-1 \
|
||||
iconv-1.16-1 \
|
||||
libffi-3.3-1 \
|
||||
libiconv-1.16-1 \
|
||||
libwinpthread-git-8.0.0.5814.9dbf4cc1-1 \
|
||||
pcre-8.44-1 \
|
||||
zlib-1.2.11-7 \
|
||||
; do
|
||||
wget ${mirror}/mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.xz
|
||||
tar -xvf mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.xz
|
||||
done
|
||||
|
||||
# limit access rights
|
||||
if [ "$ci_in_docker" = yes ]; then
|
||||
chown -R user "${mingw}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# Make sure we have a messagebus user, even if the dbus package
|
||||
# isn't installed
|
||||
$sudo adduser --system --quiet --home /nonexistent --no-create-home \
|
||||
|
|
@ -264,4 +235,35 @@ case "$ci_distro" in
|
|||
;;
|
||||
esac
|
||||
|
||||
if [ "$ci_local_packages" = yes ]; then
|
||||
case "$ci_host" in
|
||||
(*-w64-mingw32)
|
||||
mirror=http://repo.msys2.org/mingw/${ci_host%%-*}
|
||||
dep_prefix=$(pwd)/${ci_host}-prefix
|
||||
install -d "${dep_prefix}"
|
||||
for pkg in \
|
||||
bzip2-1.0.8-1 \
|
||||
expat-2.2.9-1 \
|
||||
gcc-libs-9.3.0-2 \
|
||||
gettext-0.19.8.1-8 \
|
||||
glib2-2.64.2-1 \
|
||||
iconv-1.16-1 \
|
||||
libffi-3.3-1 \
|
||||
libiconv-1.16-1 \
|
||||
libwinpthread-git-8.0.0.5814.9dbf4cc1-1 \
|
||||
pcre-8.44-1 \
|
||||
zlib-1.2.11-7 \
|
||||
; do
|
||||
wget ${mirror}/mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.xz
|
||||
tar -C ${dep_prefix} --strip-components=1 -xvf mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.xz
|
||||
done
|
||||
|
||||
# limit access rights
|
||||
if [ "$ci_in_docker" = yes ]; then
|
||||
chown -R user "${dep_prefix}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# vim:set sw=4 sts=4 et:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue