summaryrefslogblamecommitdiff
path: root/user/xorg-server/APKBUILD
blob: 7b1ddcafa90f18a79556bcf26ba0cde2a4ab6fb1 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                   

              


                          
              
             


                                                                       
                                                 





                                                                                  
         


                                                                        

                                                                             




                            































                      


                      
                      

                      

                      
















                      







                                                                            
                                             
                                                                                      
                                             
                                    
 
                     


                                       


















                                                                                                                                          
 
                              


         
                                                          


           
                                                             





























                                                                              





                                                                         

 
                                                                                                                                                                        
                                                                                                                                                      
                                                                                                                                                     
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xorg-server
pkgver=21.1.13
pkgrel=0
pkgdesc="X.Org X11 server"
url="https://www.X.Org/"
arch="all"
options="suid"
license="MIT"
depends="font-cursor-misc font-misc-misc xkeyboard-config xkbcomp xinit
	xorg-server-protocol
	"
depends_dev="libepoxy-dev libxfont2-dev mesa-dev"
makedepends="$depends_dev meson eudev-dev libpciaccess-dev libdrm-dev
	libepoxy-dev pixman-dev libx11-dev libxdamage-dev libxinerama-dev
	libxkbfile-dev libxkbui-dev libxv-dev libxxf86dga-dev libxxf86misc-dev
	libxcvt-dev xkbcomp-dev xcb-util-dev xcb-util-image-dev
	xcb-util-keysyms-dev xcb-util-renderutil-dev xcb-util-wm-dev xorgproto-dev
	xtrans openssl-dev perl zlib-dev
	"
# the modesetting driver is now shipped with xorg server
replaces="xf86-video-modesetting"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc xvfb $pkgname-xephyr
	$pkgname-xnest $pkgname-protocol"
source="https://www.X.Org/releases/individual/xserver/$pkgname-$pkgver.tar.xz
	autoconfig-sis.patch
	fix-musl-arm.patch
	"

# secfixes:
#   21.1.12-r0:
#     - CVE-2024-31080
#     - CVE-2024-31081
#     - CVE-2024-31082
#     - CVE-2024-31083
#     - CVE-2023-6816
#     - CVE-2024-0229
#     - CVE-2024-21885
#     - CVE-2024-21886
#     - CVE-2024-0408
#     - CVE-2024-0409
#     - CVE-2023-6377
#     - CVE-2023-6478
#     - CVE-2023-5367
#     - CVE-2023-5380
#     - CVE-2023-5574
#     - CVE-2023-0494
#     - CVE-2022-4283
#     - CVE-2022-46340
#     - CVE-2022-46341
#     - CVE-2022-46342
#     - CVE-2022-46343
#     - CVE-2022-46344
#     - CVE-2022-2319
#     - CVE-2022-2320
#     - CVE-2021-4008
#     - CVE-2021-4009
#     - CVE-2021-4010
#     - CVE-2021-4011
#     - CVE-2021-3472
#     - CVE-2020-14360
#     - CVE-2020-25712
#   1.20.9-r0:
#     - CVE-2020-14345
#     - CVE-2020-14346
#     - CVE-2020-14347
#     - CVE-2020-14361
#     - CVE-2020-14362
#   1.20.3-r0:
#     - CVE-2018-14665
#   1.19.5-r0:
#     - CVE-2017-12176
#     - CVE-2017-12177
#     - CVE-2017-12178
#     - CVE-2017-12179
#     - CVE-2017-12180
#     - CVE-2017-12181
#     - CVE-2017-12182
#     - CVE-2017-12183
#     - CVE-2017-12184
#     - CVE-2017-12185
#     - CVE-2017-12186
#     - CVE-2017-12187
#     - CVE-2017-13721
#     - CVE-2017-13723

prepare() {
	default_prepare

	# Fix dbus config path
	sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.*
	sed -i -e 's/termio.h/termios.h/' hw/xfree86/os-support/xf86_OSlib.h
}

build() {
	export CFLAGS="$CFLAGS -D_GNU_SOURCE"
	[ "$CLIBC" = musl ] && export CFLAGS="$CFLAGS -D__gid_t=gid_t -D__uid_t=uid_t"
	export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
	_fontroot="/usr/share/fonts"

	meson setup \
		--prefix=/usr \
		--sysconfdir=/etc/X11 \
		--localstatedir=/var \
		-Dxkb_dir=/usr/share/X11/xkb \
		-Dxkb_output_dir=/var/lib/xkb \
		-Dsystemd_logind=false \
		-Ddri1=true \
		-Ddri2=true \
		-Ddri3=true \
		-Dglamor=true \
		-Dipv6=true \
		-Dxace=true \
		-Dxcsecurity=true \
		-Dxephyr=true \
		-Dxnest=true \
		-Dxorg=true \
		-Dxres=true \
		-Dhal=false \
		-Dsecure-rpc=false \
		-Dpciaccess=true \
		-Ddefault_font_path=$_fontroot/misc,$_fontroot/100dpi:unscaled,$_fontroot/75dpi:unscaled,$_fontroot/TTF,$_fontroot/Type1 \
		build

	meson compile -C build
}

check() {
	meson test --no-rebuild --print-errorlogs -C build
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C build
	chmod u+s "$pkgdir"/usr/bin/Xorg

	# Don't conflict with xf86-input-evdev
	rm -f "$pkgdir"/usr/share/X11/xorg.conf.d/10-evdev.conf

	install -m755 -d "$pkgdir"/etc/X11/xorg.conf.d
	install -m755 -d "$pkgdir"/var/lib/xkb
	install -m644 -D COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}

xvfb() {
	pkgdesc="X.Org server for virtual framebuffer (for testing)"
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xvfb "$subpkgdir"/usr/bin/
}

xephyr() {
	pkgdesc="kdrive-based X11 server (windowed framebuffer on X11 server)"
	depends=
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xephyr "$subpkgdir"/usr/bin/
}

xnest() {
	pkgdesc="X.Org nested server"
	depends=
	mkdir -p "$subpkgdir"/usr/bin
	mv "$pkgdir"/usr/bin/Xnest "$subpkgdir"/usr/bin/
}

protocol() {
	pkgdesc="Xorg server protocol file"
	depends=""
	
	mkdir -p "$subpkgdir"/usr/lib/xorg
	mv "$pkgdir"/usr/lib/xorg/protocol.txt "$subpkgdir"/usr/lib/xorg/
}

sha512sums="a55fbeeed227c12c67f166f2c06a7f4f8d78feeea04c6e73509dbc723185fd0772349aa23f7c44cf0828ac0a0e2f9e4b26cffb220e6dfa7186d60f88b25ccaf1  xorg-server-21.1.13.tar.xz
d77151bc51766e1230a121c008ac1d0695275bf889b1db4b3330c1f8ee720b0e046cc935fa14aaef40b02fdea508e84e53959b560131ace14ace14943c8eb734  autoconfig-sis.patch
c68d6299928032806ade94b4848f147757d6571a2f8830922a20c9e1053fe42700e5c9e196ad58ce5e5536cf034260f973edd6e2792c9bacf4e2d70660949a4a  fix-musl-arm.patch"