xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

debian-install.sh (4288B)


      1 #!/bin/bash
      2 
      3 set -e
      4 set -o xtrace
      5 
      6 # Packages which are needed by this script, but not for the xserver build
      7 EPHEMERAL="
      8 	libcairo2-dev
      9 	libevdev-dev
     10 	libexpat-dev
     11 	libgles2-mesa-dev
     12 	libinput-dev
     13 	libxkbcommon-dev
     14 	x11-utils
     15 	x11-xserver-utils
     16 	xauth
     17 	xvfb
     18 	"
     19 
     20 apt-get install -y \
     21 	$EPHEMERAL \
     22 	autoconf \
     23 	automake \
     24 	bison \
     25 	build-essential \
     26 	ca-certificates \
     27 	ccache \
     28 	dpkg-dev \
     29 	flex \
     30 	gcc-mingw-w64-i686 \
     31 	git \
     32 	libaudit-dev \
     33 	libbsd-dev \
     34 	libcairo2 \
     35 	libdbus-1-dev \
     36 	libdmx-dev \
     37 	libdrm-dev \
     38 	libegl1-mesa-dev \
     39 	libepoxy-dev \
     40 	libevdev2 \
     41 	libexpat1 \
     42 	libffi-dev \
     43 	libgbm-dev \
     44 	libgcrypt-dev \
     45 	libgl1-mesa-dev \
     46 	libgles2 \
     47 	libglx-mesa0 \
     48 	libinput10 \
     49 	libnvidia-egl-wayland-dev \
     50 	libpciaccess-dev \
     51 	libpixman-1-dev \
     52 	libselinux1-dev \
     53 	libsystemd-dev \
     54 	libtool \
     55 	libudev-dev \
     56 	libunwind-dev \
     57 	libx11-dev \
     58 	libx11-xcb-dev \
     59 	libxau-dev \
     60 	libxaw7-dev \
     61 	libxcb-glx0-dev \
     62 	libxcb-icccm4-dev \
     63 	libxcb-image0-dev \
     64 	libxcb-keysyms1-dev \
     65 	libxcb-randr0-dev \
     66 	libxcb-render-util0-dev \
     67 	libxcb-render0-dev \
     68 	libxcb-shape0-dev \
     69 	libxcb-shm0-dev \
     70 	libxcb-util0-dev \
     71 	libxcb-xf86dri0-dev \
     72 	libxcb-xkb-dev \
     73 	libxcb-xv0-dev \
     74 	libxcb1-dev \
     75 	libxdmcp-dev \
     76 	libxext-dev \
     77 	libxfixes-dev \
     78 	libxfont-dev \
     79 	libxi-dev \
     80 	libxinerama-dev \
     81 	libxkbcommon0 \
     82 	libxkbfile-dev \
     83 	libxmu-dev \
     84 	libxmuu-dev \
     85 	libxpm-dev \
     86 	libxrender-dev \
     87 	libxres-dev \
     88 	libxshmfence-dev \
     89 	libxt-dev \
     90 	libxtst-dev \
     91 	libxv-dev \
     92 	libz-mingw-w64-dev \
     93 	mesa-common-dev \
     94 	meson \
     95 	mingw-w64-tools \
     96 	nettle-dev \
     97 	pkg-config \
     98 	python3-mako \
     99 	python3-numpy \
    100 	python3-six \
    101 	xfonts-utils \
    102 	xkb-data \
    103 	xtrans-dev \
    104 	xutils-dev
    105 
    106 .gitlab-ci/cross-prereqs-build.sh i686-w64-mingw32
    107 
    108 cd /root
    109 
    110 # xserver requires libxcvt
    111 git clone https://gitlab.freedesktop.org/xorg/lib//libxcvt.git --depth 1 --branch=libxcvt-0.1.0
    112 cd libxcvt
    113 meson _build
    114 ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
    115 cd ..
    116 rm -rf libxcvt
    117 
    118 # xserver requires xorgproto >= 2021.4.99.2 for XI 2.3.99.1
    119 git clone https://gitlab.freedesktop.org/xorg/proto/xorgproto.git --depth 1 --branch=xorgproto-2021.4.99.2
    120 pushd xorgproto
    121 ./autogen.sh
    122 make -j${FDO_CI_CONCURRENT:-4} install
    123 popd
    124 rm -rf xorgproto
    125 
    126 # weston 9.0 requires libwayland >= 1.18
    127 git clone https://gitlab.freedesktop.org/wayland/wayland.git --depth 1 --branch=1.18.0
    128 cd wayland
    129 meson _build -D{documentation,dtd_validation}=false
    130 ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
    131 cd ..
    132 rm -rf wayland
    133 
    134 # Xwayland requires wayland-protocols >= 1.18, but Debian buster has 1.17 only
    135 git clone https://gitlab.freedesktop.org/wayland/wayland-protocols.git --depth 1 --branch=1.18
    136 cd wayland-protocols
    137 ./autogen.sh
    138 make -j${FDO_CI_CONCURRENT:-4} install
    139 cd ..
    140 rm -rf wayland-protocols
    141 
    142 # Xwayland requires weston > 5.0, but Debian buster has 5.0 only
    143 git clone https://gitlab.freedesktop.org/wayland/weston.git --depth 1 --branch=9.0
    144 cd weston
    145 meson _build -Dbackend-{drm,drm-screencast-vaapi,fbdev,rdp,wayland,x11}=false \
    146       -Dbackend-default=headless -Dcolor-management-{colord,lcms}=false \
    147       -Ddemo-clients=false -Dimage-{jpeg,webp}=false \
    148       -D{pipewire,remoting,screenshare,test-junit-xml,wcap-decode,weston-launch,xwayland}=false \
    149       -Dshell-{fullscreen,ivi,kiosk}=false -Dsimple-clients=
    150 ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
    151 cd ..
    152 rm -rf weston
    153 
    154 git clone https://gitlab.freedesktop.org/mesa/piglit.git --depth 1
    155 
    156 git clone https://gitlab.freedesktop.org/xorg/test/xts --depth 1
    157 cd xts
    158 ./autogen.sh
    159 xvfb-run make -j${FDO_CI_CONCURRENT:-4}
    160 cd ..
    161 
    162 git clone https://gitlab.freedesktop.org/xorg/test/rendercheck --depth 1
    163 cd rendercheck
    164 meson build
    165 ninja -j${FDO_CI_CONCURRENT:-4} -C build install
    166 cd ..
    167 
    168 rm -rf piglit/.git xts/.git piglit/tests/spec/ rendercheck/
    169 
    170 echo '[xts]' > piglit/piglit.conf
    171 echo 'path=/root/xts' >> piglit/piglit.conf
    172 
    173 find -name \*.a -o -name \*.o -o -name \*.c -o -name \*.h -o -name \*.la\* | xargs rm
    174 strip xts/xts5/*/.libs/*
    175 
    176 # Running meson dist requires xkbcomp 1.4.1 or newer, but Debian buster has 1.4.0 only
    177 git clone https://gitlab.freedesktop.org/xorg/app/xkbcomp.git --depth 1 --branch=xkbcomp-1.4.1
    178 cd xkbcomp
    179 ./autogen.sh --datarootdir=/usr/share
    180 make -j${FDO_CI_CONCURRENT:-4} install
    181 cd ..
    182 rm -rf xkbcomp
    183 
    184 apt-get purge -y \
    185 	$EPHEMERAL
    186 
    187 apt-get autoremove -y --purge