Skip to content
Snippets Groups Projects
PKGBUILD 15.2 KiB
Newer Older
Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
#!/usr/bin/bash
# Maintainer    : Obarun Packagers <pkg@obarun.org>
# Obarun PkgSrc : https://git.obarun.org/obarun-pkgbuild-extra/xorg-server
Eric Vidal's avatar
Eric Vidal committed
=======
# Obarun        : 66 init/supervisor
# Maintainer    : Eric Vidal <eric@obarun.org>
# Maintainer    : Jean-Michel T.Dydak <jean-michel@obarun.org>
Gus Fun's avatar
Gus Fun committed
# Maintainer    : YianIris <yianiris At disroot Dot org>
# Obarun PkgSrc : https://git.obarun.org/pkg/obextra/xorg-server
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master
#----------------
#--------------------------------------------------------------
# DESCRIPTION ]
Eric Vidal's avatar
Eric Vidal committed
pkgbase=xorg-server
Yian Iris's avatar
Yian Iris committed
pkgver=21.1.1
pkgrel=4
Eric Vidal's avatar
Eric Vidal committed

Eric Vidal's avatar
Eric Vidal committed
pkgname=(
Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
	'xorg-server'
	'xorg-server-xephyr'
	'xorg-server-xvfb'
	'xorg-server-xnest'
	'xorg-server-common'
	'xorg-server-devel')
url="https://xorg.freedesktop.org/releases/individual/xserver"
Yian Iris's avatar
Yian Iris committed
#source=(${pkgbase}-${pkgver}::git+https://gitlab.freedesktop.org/xorg/xserver.git#commit=27a0ee32ccef8d621aaa758c804fc9a5ceeb5a56
source=($url/${pkgbase}-${pkgver}.tar.xz{,.sig}
	xvfb-run # with updates from FC master
	xvfb-run.1
	Xwrapper.config
	0001_revert_dpi_calculation.patch)
#------------------------
# INSTALL CONFIGURATION ]

Yian Iris's avatar
Yian Iris committed
arch=('x86_64')
groups=('xorg')
Eric Vidal's avatar
Eric Vidal committed
=======
    'xorg-server'
    'xorg-server-xephyr'
    'xorg-server-xvfb'
    'xorg-server-xnest'
    'xorg-server-common'
    'xorg-server-devel'
)
url='https://xorg.freedesktop.org'
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master
track=releases/individual/xserver
target=$pkgbase-$pkgver
source=(
    https://xorg.freedesktop.org/$track/$target.tar.xz{,.sig}
    xvfb-run # with updates from FC master
    xvfb-run.1
    Xwrapper.config
    0001_revert_dpi_calculation.patch
)

#----------------------
# BUILD CONFIGURATION ]
makedepends=(
Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
	'xorgproto'
	'pixman'
	'libx11'
	'mesa'
	'xtrans'
	'libxkbfile'
	'libxfont2'
	'libpciaccess'
	'libxv'
	'libxcvt'
	'libxmu'
	'libxrender'
	'libxi'
	'libxaw'
	'libxtst'
	'libxres'
	'xorg-xkbcomp'
	'xorg-util-macros'
	'xorg-font-util'
	'libepoxy'
	'xcb-util'
	'xcb-util-image'
	'xcb-util-renderutil'
	'xcb-util-wm'
	'xcb-util-keysyms'
	'libxshmfence'
	'libunwind'
	'meson')
Eric Vidal's avatar
Eric Vidal committed
=======
    'xorgproto'
    'pixman'
    'libx11'
    'mesa'
    'mesa-libgl'
    'xtrans'
    'libxkbfile'
    'libxfont2'
    'libpciaccess'
    'libxv'
    'libxmu'
    'libxrender'
    'libxi'
    'libxaw'
    'libxtst'
    'libxres'
    'xorg-xkbcomp'
    'xorg-util-macros'
    'xorg-font-util'
    'libepoxy'
    'xcb-util'
    'xcb-util-image'
    'xcb-util-renderutil'
    'xcb-util-wm'
    'xcb-util-keysyms'
    'libxshmfence'
    'libunwind'
    'meson'
)

#------------------------
# INSTALL CONFIGURATION ]

groups=(
    'xorg'
)

backup=(
    'etc/X11/Xwrapper.config'
)
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master
#--------------------
# BUILD PREPARATION ]
prepare() {
Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
  cd "${pkgbase}-${pkgver}"
  # revert dpi calculation that leads to unwanted miscalculation results
  # https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241
  # https://bugs.archlinux.org/task/72661
  patch -Rp1 -i ../0001_revert_dpi_calculation.patch
Eric Vidal's avatar
Eric Vidal committed
=======
    cd $pkgbase-$pkgver
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master
    ## revert dpi calculation that leads to unwanted miscalculation results
    ## https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241
    ## https://bugs.archlinux.org/task/72661
    patch -Rp1 -i ../0001_revert_dpi_calculation.patch
Eric Vidal's avatar
Eric Vidal committed
}

#----------------
# BUILD CONTROL ]

Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Eric Vidal's avatar
Eric Vidal committed
build() {
Yian Iris's avatar
Yian Iris committed
  # Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
  # With them, module fail to load with undefined symbol.
  # See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
  export CFLAGS=${CFLAGS/-fno-plt}
  export CXXFLAGS=${CXXFLAGS/-fno-plt}
  export LDFLAGS=${LDFLAGS/,-z,now}

  arch-meson ${pkgbase}-$pkgver build \
    -D xkb_dir=/usr/share/X11/xkb \
    -D xkb_output_dir=/var/lib/xkb \
    -D ipv6=true \
    -D xvfb=true \
    -D xnest=true \
    -D xcsecurity=true \
    -D xorg=true \
    -D xephyr=true \
    -D glamor=true \
    -D udev=true \
    -D dtrace=false \
    -D systemd_logind=false \
    -D suid_wrapper=true \
    -D xkb_dir=/usr/share/X11/xkb \
    -D xkb_output_dir=/var/lib/xkb

  # Print config
  meson configure build
#  ninja -C build
  meson compile -C build

  # fake installation to be seperated into packages
  # DESTDIR="${srcdir}/fakeinstall" ninja -C build install
  meson install -C build --destdir "${srcdir}/fakeinstall"
Eric Vidal's avatar
Eric Vidal committed
=======
    -Dipv6=true
    -Dxvfb=true
    -Dxnest=true
    -Dxcsecurity=true
    -Dxorg=true
    -Dxephyr=true
    -Dglamor=true
    -Dudev=true
    -Ddtrace=false
    -Dsystemd_logind=false
    -Dsuid_wrapper=true
    -Dxkb_dir=/usr/share/X11/xkb
    -Dxkb_output_dir=/var/lib/xkb
Eric Vidal's avatar
Eric Vidal committed

Eric Vidal's avatar
Eric Vidal committed
build() {
    ## Since pacman 5.0.2-2, hardened flags are now enabled in makepkg.conf
    ## With them, module fail to load with undefined symbol.
    ## See https://bugs.archlinux.org/task/55102 / https://bugs.archlinux.org/task/54845
    export CFLAGS=${CFLAGS/-fno-plt}
    export CXXFLAGS=${CXXFLAGS/-fno-plt}
    export LDFLAGS=${LDFLAGS/,-z,now}

    arch-meson $pkgbase-$pkgver build "${_flags[@]}"

    ## Print config
    meson configure build
    ninja -C build

    ## fake installation to be seperated into packages
    DESTDIR="$srcdir/fakeinstall" ninja -C build install
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master
Eric Vidal's avatar
Eric Vidal committed
}

_install() {
Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
  local src f dir
  for src; do
    f="${src#fakeinstall/}"
    dir="${pkgdir}/${f%/*}"
    install -m755 -d "${dir}"
    # use copy so a new file is created and fakeroot can track properties such as setuid
    cp -av "${src}" "${dir}/"
    rm -rf "${src}"
  done
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-common() {
Yian Iris's avatar
Yian Iris committed
  pkgdesc="Xorg server common files"
  depends=(
	xkeyboard-config
	xorg-xkbcomp
	xorg-setxkbmap
	libxcvt)

  _install fakeinstall/usr/lib/xorg/protocol.txt
  _install fakeinstall/usr/share/man/man1/Xserver.1

  install -m644 -Dt "${pkgdir}/var/lib/xkb/" "${pkgbase}-${pkgver}"/xkb/README.compiled
  # license
  install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server() {
Yian Iris's avatar
Yian Iris committed
  pkgdesc="Xorg X server"
  depends=(
	libepoxy
	libxfont2
	pixman
	xorg-server-common
	libunwind
	dbus
	libgl
	xf86-input-libinput
	nettle
	libpciaccess
	libdrm
	libxshmfence # FS#52949
	libxcvt) 
Eric Vidal's avatar
Eric Vidal committed
=======
    local src f dir
        for src; do
            f="${src#fakeinstall/}"
            dir="${pkgdir}/${f%/*}"
            install -m755 -d "${dir}"
            ## use copy so a new file is created and fakeroot
            ## can track properties such as setuid.
            cp -av "${src}" "${dir}/"
            rm -rf "${src}"
        done
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-common() {
    pkgdesc='Xorg server common files'

    depends=(
        'xkeyboard-config'
        'xorg-xkbcomp'
        'xorg-setxkbmap'
    )
Eric Vidal's avatar
Eric Vidal committed

    _install fakeinstall/usr/lib/xorg/protocol.txt
    _install fakeinstall/usr/share/man/man1/Xserver.1
Eric Vidal's avatar
Eric Vidal committed

    install -m644 -Dt "$pkgdir/var/lib/xkb/" "$pkgbase-$pkgver"/xkb/README.compiled
    install -m644 -Dt "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase-$pkgver"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server() {
    pkgdesc="Xorg X server"
    depends=(
        'libepoxy'
        'libxfont2'
        'pixman'
        'xorg-server-common'
        'libunwind'
        'dbus'
        'libgl'
        'xf86-input-libinput'
        'nettle'
        'libpciaccess'
        'libdrm'
        'libxshmfence'
        'libxcvt'
    )   ## FS#52949
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master

    ## see xorg-server-*/hw/xfree86/common/xf86Module.h for ABI versions.
    ## we provide major numbers that drivers can depend on
    ## and /usr/lib/pkgconfig/xorg-server.pc in xorg-server-devel pkg
Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
  provides=(
	'X-ABI-VIDEODRV_VERSION=25.2'
	'X-ABI-XINPUT_VERSION=24.4'
	'X-ABI-EXTENSION_VERSION=10.0'
	'x-server')
  conflicts=(
	'nvidia-utils<=331.20'
	'glamor-egl'
	'xf86-video-modesetting')
  replaces=(
	'glamor-egl'
	'xf86-video-modesetting')
  
  _install fakeinstall/usr/bin/{X,Xorg,gtf}
  _install fakeinstall/usr/lib/Xorg{,.wrap}
  _install fakeinstall/usr/lib/xorg/modules/*
  _install fakeinstall/usr/share/X11/xorg.conf.d/10-quirks.conf
  _install fakeinstall/usr/share/man/man1/{Xorg,Xorg.wrap,gtf}.1
  _install fakeinstall/usr/share/man/man4/{exa,fbdevhw,inputtestdrv,modesetting}.4
  _install fakeinstall/usr/share/man/man5/{Xwrapper.config,xorg.conf,xorg.conf.d}.5

  # distro specific files must be installed in /usr/share/X11/xorg.conf.d
  install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"

    ## Xwrapper.config
    install -Dm0644 Xwrapper.config "${pkgdir}"/etc/X11/Xwrapper.config
Yian Iris's avatar
Yian Iris committed
  # license
  install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-xephyr() {
Yian Iris's avatar
Yian Iris committed
  pkgdesc="A nested X server that runs as an X application"
	depends=(
	libxfont2
	libgl
	libepoxy
	libunwind
	libxv
	pixman
	xorg-server-common
	xcb-util-image
	xcb-util-renderutil
	xcb-util-wm
	xcb-util-keysyms
	nettle
	libtirpc)

  _install fakeinstall/usr/bin/Xephyr
  _install fakeinstall/usr/share/man/man1/Xephyr.1

  # license
  install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-xvfb() {
Yian Iris's avatar
Yian Iris committed
  pkgdesc="Virtual framebuffer X server"
  depends=(
	libxfont2
	libunwind
	pixman
	xorg-server-common
	xorg-xauth
	libgl
	nettle
	libtirpc)

  _install fakeinstall/usr/bin/Xvfb
  _install fakeinstall/usr/share/man/man1/Xvfb.1

  install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
  install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/" # outda

  # license
  install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-xnest() {
Yian Iris's avatar
Yian Iris committed
  pkgdesc="A nested X server that runs as an X application"
  depends=(
	libxfont2
	libxext 
	pixman 
	xorg-server-common 
	nettle 
	libtirpc)

  _install fakeinstall/usr/bin/Xnest
  _install fakeinstall/usr/share/man/man1/Xnest.1

  ## license
  install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-devel() {
Yian Iris's avatar
Yian Iris committed
  pkgdesc="Development files for the X.Org X server"
  depends=(
	'xorgproto'
	'mesa'
	'libpciaccess'
           # not technically required but almost every Xorg pkg needs it to build
	'xorg-util-macros')

  _install fakeinstall/usr/include/xorg/*
  _install fakeinstall/usr/lib/pkgconfig/xorg-server.pc
  _install fakeinstall/usr/share/aclocal/xorg-server.m4

  # license
  install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING

  # make sure there are no files left to install
  #  rm fakeinstall/usr/bin/Xwayland  ## no such file
  find fakeinstall -depth -print0 | xargs -0 rmdir
Eric Vidal's avatar
Eric Vidal committed
=======
    provides=(
        'X-ABI-VIDEODRV_VERSION=25.2'
        'X-ABI-XINPUT_VERSION=24.4'
        'X-ABI-EXTENSION_VERSION=10.0'
    conflicts=(
        'nvidia-utils<=331.20'
        'glamor-egl'
        'xf86-video-modesetting'
    )
    replaces=(
        'glamor-egl'
        'xf86-video-modesetting'
    )
    install=xorg-server.install

    _install fakeinstall/usr/bin/{X,Xorg,gtf}
    _install fakeinstall/usr/lib/Xorg{,.wrap}
    _install fakeinstall/usr/lib/xorg/modules/*
    _install fakeinstall/usr/share/X11/xorg.conf.d/10-quirks.conf
    _install fakeinstall/usr/share/man/man1/{Xorg,Xorg.wrap,gtf}.1
    _install fakeinstall/usr/share/man/man4/{exa,fbdevhw,inputtestdrv,modesetting}.4
    _install fakeinstall/usr/share/man/man5/{Xwrapper.config,xorg.conf,xorg.conf.d}.5

    ## distro specific files must be installed in /usr/share/X11/xorg.conf.d
    install -m755 -d "$pkgdir/etc/X11/xorg.conf.d"

    ## Xwrapper.config
    install -Dm0644 Xwrapper.config "$pkgdir"/etc/X11/Xwrapper.config

    ## license
    install -m644 -Dt "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase-$pkgver"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-xephyr() {
    pkgdesc="A nested X server that runs as an X application"
    depends=(
        'libxfont2'
        'libgl'
        'libepoxy'
        'libunwind'
        'libxv'
        'pixman'
        'xorg-server-common'
        'xcb-util-image'
        'xcb-util-renderutil'
        'xcb-util-wm'
        'xcb-util-keysyms'
        'nettle'

    _install fakeinstall/usr/bin/Xephyr
    _install fakeinstall/usr/share/man/man1/Xephyr.1

    ## license
    install -m644 -Dt "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase-$pkgver"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-xvfb() {
    pkgdesc="Virtual framebuffer X server"
    depends=(
        'libxfont2'
        'libunwind'
        'pixman'
        'xorg-server-common'
        'xorg-xauth'
        'libgl'
Eric Vidal's avatar
Eric Vidal committed
        'nettle'

    _install fakeinstall/usr/bin/Xvfb
    _install fakeinstall/usr/share/man/man1/Xvfb.1

    install -m755 "$srcdir/xvfb-run" "$pkgdir/usr/bin/"
    install -m644 "$srcdir/xvfb-run.1" "$pkgdir/usr/share/man/man1/" ## outda

    ## license
    install -m644 -Dt "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase-$pkgver"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-xnest() {
    pkgdesc="A nested X server that runs as an X application"
    depends=(
        'libxfont2'
        'libxext'
        'pixman'
        'xorg-server-common'
        'nettle'

    _install fakeinstall/usr/bin/Xnest
    _install fakeinstall/usr/share/man/man1/Xnest.1

    ## license
    install -m644 -Dt "$pkgdir/usr/share/licenses/$pkgname" "$pkgbase-$pkgver"/COPYING
Eric Vidal's avatar
Eric Vidal committed
}

package_xorg-server-devel() {
    pkgdesc="Development files for the X.Org X server"
    depends=(
        'xorgproto'
        'mesa'
        'libpciaccess'
        'xorg-util-macros'
    )   ## not technically required but almost every Xorg pkg needs it to build.

    _install fakeinstall/usr/include/xorg/*
    _install fakeinstall/usr/lib/pkgconfig/xorg-server.pc
    _install fakeinstall/usr/share/aclocal/xorg-server.m4

    ## license
    install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" "${pkgbase}-${pkgver}"/COPYING

    ## make sure there are no files left to install
    find fakeinstall -depth -print0 | xargs -0 rmdir
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master
Eric Vidal's avatar
Eric Vidal committed

#---------------------------
# LICENSE AND VERIFICATION ]
Eric Vidal's avatar
Eric Vidal committed

Eric Vidal's avatar
Eric Vidal committed
<<<<<<< HEAD
Yian Iris's avatar
Yian Iris committed
license=('custom')

validpgpkeys=('FD0004A26EADFE43A4C3F249C6F7AE200374452D') # Povilas Kanapickas <povilas@radix.lt>

sha512sums=('8608ed9c1537c95e8a3adea5e3e372a3c5eb841f8e27c84283093f22fb1909e16a800006510da684b13f8f237f33b8a4be3e2537f5f9ab9af4c5ad12770eef0d' #  xorg-server-21.1.1.tar.xz
	'360669d336d26095dc8f46cfb45a2c25c6a50318726719146de4f81d8ea94e3422cb21a394c23eee8de55179f7b3007edc9ec7e1c615ec86033177922c0e6257' #  xorg-server-21.1.1.tar.xz.sig
	'4154dd55702b98083b26077bf70c60aa957b4795dbf831bcc4c78b3cb44efe214f0cf8e3c140729c829b5f24e7466a24615ab8dbcce0ac6ebee3229531091514' #  xvfb-run
	'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22' #  xvfb-run.1
	'97315b682bef7892d3cf641ea9add6e0d22901150763930020302cc73de5fe5bda0f47384b7d405c7169cb5f072d27da306066063d5a8ea116e97ea474caffe8' #  Xwrapper.config
	'28021ef9879d5313096c3e7e79a71a2e15be366652845acf32239d5c011c60aa5938c63c23b04bb0dee56df7b3762b7ca8d51d5925898c67c2ba83ec468fe782') #  0001_revert_dpi_calculation.patch
Eric Vidal's avatar
Eric Vidal committed
=======
arch=(x86_64)
license=(custom)

validpgpkeys=(
    'FD0004A26EADFE43A4C3F249C6F7AE200374452D' # Kanapickas <povilas@radix.lt>
)

sha512sums=(' ')
Eric Vidal's avatar
Eric Vidal committed
>>>>>>> refs/remotes/origin/master