summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/xorg-server/20-modules.conf18
-rw-r--r--user/xorg-server/APKBUILD148
-rw-r--r--user/xorg-server/autoconfig-sis.patch21
-rw-r--r--user/xorg-server/fix-musl-arm.patch20
4 files changed, 207 insertions, 0 deletions
diff --git a/user/xorg-server/20-modules.conf b/user/xorg-server/20-modules.conf
new file mode 100644
index 000000000..4ddcdd461
--- /dev/null
+++ b/user/xorg-server/20-modules.conf
@@ -0,0 +1,18 @@
+Section "Module"
+ Load "exa"
+# Load "wfb"
+
+ Load "dri"
+ Load "dri2"
+ Load "glx"
+
+ Load "int10"
+ Load "vbe"
+ Load "fb"
+ Load "shadowfb"
+ Load "shadow"
+ Load "vgahw"
+ Load "evdev"
+ Load "fbdevhw"
+ Load "glamoregl"
+EndSection
diff --git a/user/xorg-server/APKBUILD b/user/xorg-server/APKBUILD
new file mode 100644
index 000000000..bcfc77eca
--- /dev/null
+++ b/user/xorg-server/APKBUILD
@@ -0,0 +1,148 @@
+# Contributor: Łukasz Jendrysik <scadu@yandex.com>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=xorg-server
+pkgver=1.20.0
+pkgrel=0
+pkgdesc="X.Org X11 server"
+url="https://www.X.Org/"
+arch="all"
+license="MIT"
+options="suid"
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc xvfb $pkgname-xephyr
+ $pkgname-xnest $pkgname-xwayland"
+# the modesetting driver is now shipped with xorg server
+replaces="xf86-video-modesetting"
+depends="font-cursor-misc font-misc-misc xkeyboard-config xkbcomp xinit"
+depends_dev="libepoxy-dev libxfont2-dev mesa-dev"
+makedepends="$depends_dev autoconf automake libtool util-macros
+ eudev-dev libpciaccess-dev
+ libdrm-dev libepoxy-dev pixman-dev wayland-dev wayland-protocols
+ libx11-dev libxdamage-dev libxinerama-dev libxkbfile-dev libxkbui-dev
+ libxv-dev libxxf86dga-dev libxxf86misc-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
+ "
+source="https://www.X.Org/releases/individual/xserver/$pkgname-$pkgver.tar.bz2
+ autoconfig-sis.patch
+ fix-musl-arm.patch
+ "
+
+# secfixes:
+# 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() {
+ cd "$builddir"
+ 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() {
+ cd "$builddir"
+ # xorg modules does not work with the -z now and it seems like we
+ # cannot pass over the linker flag to .so files. so we tweak the
+ # gcc specs.
+ 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"
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc/X11 \
+ --localstatedir=/var \
+ --with-fontrootdir=$_fontroot \
+ --with-default-font-path=${_fontroot}/misc,${_fontroot}/100dpi:unscaled,${_fontroot}/75dpi:unscaled,${_fontroot}/TTF,${_fontroot}/Type1,${_fontroot}/truetype \
+ --with-xkb-path=/usr/share/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ --without-systemd-daemon \
+ --enable-composite \
+ --enable-config-udev \
+ --enable-dri \
+ --enable-dri2 \
+ --enable-glamor \
+ --enable-ipv6 \
+ --enable-kdrive \
+ --enable-xace \
+ --enable-xcsecurity \
+ --enable-xephyr \
+ --enable-xnest \
+ --enable-xorg \
+ --enable-xres \
+ --enable-xv \
+ --enable-xwayland \
+ --disable-config-hal \
+ --disable-dmx \
+ --disable-systemd-logind \
+ --with-os-vendor="${DISTRO_NAME:-Adélie Linux}"
+
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make -j1 DESTDIR="$pkgdir" install
+ 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/
+}
+
+xwayland() {
+ pkgdesc="X.Org server for Wayland"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/Xwayland "$subpkgdir"/usr/bin/
+}
+
+sha512sums="1489e8511c9da682ef0460182dfeeddd241c72d4ef4d206d9706f1e39572c09953df851fab18cefb65a1ee4c6710c6ba13c63c9c9fc0bc1b5f12c50780412cde xorg-server-1.20.0.tar.bz2
+30a78f4278edd535c45ee3f80933427cb029a13abaa4b041f816515fdd8f64f00b9c6aef50d4eba2aaf0d4f333e730399864fd97fa18891273601c77a6637200 autoconfig-sis.patch
+b799e757a22a61ac283adbd7a8df1ad4eccce0bb6cac38a0c962ba8438bba3cf6637a65bb64859e7b32399fca672283a49960207e186c271ba574580de360d09 fix-musl-arm.patch"
diff --git a/user/xorg-server/autoconfig-sis.patch b/user/xorg-server/autoconfig-sis.patch
new file mode 100644
index 000000000..e97d82114
--- /dev/null
+++ b/user/xorg-server/autoconfig-sis.patch
@@ -0,0 +1,21 @@
+--- ./hw/xfree86/common/xf86pciBus.c.orig 2011-09-24 10:53:45.421697668 +0000
++++ ./hw/xfree86/common/xf86pciBus.c 2011-09-24 10:55:56.416250708 +0000
+@@ -1200,9 +1200,15 @@
+ break;
+ }
+ break;
+- case 0x1039:
+- driverList[0] = "sis";
+- break;
++ case 0x1039:
++ switch (dev->device_id)
++ {
++ case 0x6350: case 0x6351:
++ driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
++ default:
++ driverList[0] = "sis"; break;
++ }
++ break;
+ case 0x126f:
+ driverList[0] = "siliconmotion";
+ break;
diff --git a/user/xorg-server/fix-musl-arm.patch b/user/xorg-server/fix-musl-arm.patch
new file mode 100644
index 000000000..e661ae175
--- /dev/null
+++ b/user/xorg-server/fix-musl-arm.patch
@@ -0,0 +1,20 @@
+--- ./hw/xfree86/common/compiler.h.orig
++++ ./hw/xfree86/common/compiler.h
+@@ -721,7 +721,7 @@
+ :"r"(val), "r"(addr), "i"(ASI_PL));
+ }
+
+-#elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
++#elif defined(__mips__) || (defined(__arm32__) && !defined(__GLIBC__))
+ #if defined(__arm32__) || defined(__mips64)
+ #define PORT_SIZE long
+ #else
+@@ -996,7 +996,7 @@
+ return xf86ReadMmio32Le((void *) ioBase, port);
+ }
+
+-#elif defined(__arm__) && defined(__linux__)
++#elif defined(__arm__) && defined(__GLIBC__)
+
+ /* for Linux on ARM, we use the LIBC inx/outx routines */
+ /* note that the appropriate setup via "ioperm" needs to be done */