Package Details: xorg-server-xvfb-git 21.1.99.1.r1061.ge61bd1e5f-1

Git Clone URL: https://aur.archlinux.org/xorg-server-git.git (read-only, click to copy)
Package Base: xorg-server-git
Description: Virtual framebuffer X server (git version)
Upstream URL: https://xorg.freedesktop.org
Keywords: git x-server xorg xorg-server
Licenses: custom
Groups: xorg
Conflicts: xorg-server-xvfb
Provides: xorg-server-xvfb
Submitter: ilikenwf
Maintainer: JstKddng (yurikoles)
Last Packager: JstKddng
Votes: 51
Popularity: 0.56
First Submitted: 2008-08-07 19:05 (UTC)
Last Updated: 2024-05-20 14:06 (UTC)

Required by (281)

Sources (3)

Pinned Comments

yurikoles commented on 2022-03-18 01:04 (UTC)

check() function was added, if unit tests fail, you may ignore them by appending --nocheck to makepkg.

yurikoles commented on 2019-05-29 15:00 (UTC)

PRs are welcome: https://github.com/yurikoles-aur/xorg-server-git

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 .. 24 Next › Last »

jxir commented on 2024-03-24 19:14 (UTC)

@Andrei_Korshikov The problem is unrelated to Meson. It is caused by the update from pacman-6.0.2 to pacman-6.1.0 changing the makepkg.conf default from

LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"

to

LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
         -Wl,-z,pack-relative-relocs"

This PKGBUILD modifies the LDFLAGS prior to running Meson via

export LDFLAGS=${LDFLAGS/,-z,now}

that is the string ,-z,now is deleted from LDFLAGS (Explanation of the Syntax). While this was fine before, it will now result in a lone -Wl not followed by a comma.

It should now be clear how to fix the build:

--- a/PKGBUILD  2024-03-24 19:31:23.935975436 +0100
+++ b/PKGBUILD  2024-03-24 19:14:33.945272553 +0100
@@ -54,7 +54,7 @@
   # 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}
+  export LDFLAGS=${LDFLAGS/-Wl,-z,now}

   arch-meson "${_pkgbase}" build \
     -D ipv6=true \

The same fix was applied to extra/xorg-server.

Andrei_Korshikov commented on 2024-03-24 12:28 (UTC)

xserver/meson.build:1:0: ERROR: Unable to detect linker for compiler `cc -Wl,--version -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl -Wl,-z,pack-relative-relocs -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/home/korshikov/.cache/paru/clone/xorg-server-git/src=/usr/src/debug/xorg-server-git -flto=auto`
stdout:
stderr: cc: error: unrecognized command-line option ‘-Wl’; did you mean ‘-W’?

From my opinion, the problem part is -Wl -Wl,-z,pack-relative-relocs, more precisely -Wl with space after it. In my understanding -Wl must always be followed by a comma and parameter(s). I've never used Meson, so I can't understand why this -Wl is leaved alone and how to fix it.

xiota commented on 2023-09-20 08:52 (UTC) (edited on 2024-01-30 11:56 (UTC) by xiota)

Please remove replaces directive, in accordance with AUR submission guidelines.

yurikoles commented on 2022-03-18 21:13 (UTC)

@JstKddng

Sorry, it just makes no sense without knowing that fact. I returned it back.

JstKddng commented on 2022-03-18 18:26 (UTC)

@yurikoles

man you keep removing my _srcurl variable. That guy's there for my daily automatic builds ;)

yurikoles commented on 2022-03-18 01:04 (UTC)

check() function was added, if unit tests fail, you may ignore them by appending --nocheck to makepkg.

yurikoles commented on 2022-03-18 01:02 (UTC)

@JstKddng

I refactored pkgver() and removed unused variables.

juxuanu commented on 2022-02-09 16:52 (UTC)

error: failed to prepare transaction (could not satisfy dependencies)
:: installing xorg-server-git (21.0.99.1.r170.g1801fe0ac-1) breaks dependency 'xorg-server' required by gdm-plymouth

You removed provides = (... xorg-server ...). Why? This breaks being able to replace xorg stable package with this one.

gardotd426 commented on 2022-02-03 04:07 (UTC)

Considering this package uses newer code than the stable release xorg-server, I'd say in addition to my other suggestion for fixing the naming scheme, and honestly probably even more important than that, is fixing the X-ABI-VIDEODRV_VERSION. xorg-server is on 25.2. This package reports 24. That makes it impossible to install things like xf86-video-fbdev because it requires a version greater than 24 and less than 26 (as of me typing this).

gardotd426 commented on 2021-11-23 15:29 (UTC) (edited on 2021-12-08 22:50 (UTC) by gardotd426)

The versioning method needs to be changed. I've come up with a proper one, read on for the explanation and one-liner:

The current method gives the incorrect version (21.0.99). The xserver repo's meson.build always contains the correct version (currently 21.1.99.1).

Still use git describe to append the current commit hash to the end of the pkgver, but not use it for the pkgver number. Because right now, you end up with xorg-server-git 21.0.99.1.r127.gda9d012a9-1, but it's really 21.1.99. 21.1.1 was released a few weeks ago.

Since meson.build always has the proper version, I actually have tweaked your command into a one-liner that will always get the correct version:

git describe --long --tags | sed "s/$(git describe --long --tags | cut -d- -f3)/$(grep -m 1 version meson.build | awk '{print $2}' | sed "s/'//g;s/,//g")/g" | sed 's/^xorg.server.//;s/\([^-]*-g\)/r\1/;s/-/./g' gives us:

21.1.99.1.r127.gda9d012a9

and the package named: xorg-server-git-21.1.99.1.r127.gda9d012a9-1-x86_64.pkg.tar.zst

So literally all you have to do is replace the one line in the PKGBUILD, and xorg-server-git will always be the true accurate version. This will avoid situations like the current one where xorg-server is on 21.1.1 but xorg-server-git is on 20.0.99 despite being actually built on 21.1.99.

You could also take a slightly different versioning approach like other -git packages do (for example libva-vdpau-driver-vp9-git) and use git rev-parse and rev-list, and use this:

printf ".r%s.g%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" | sed "s/^/$(grep -m 1 version meson.build | awk '{print $2}' | cut -d"'" -f2)/g"

which gives:

xorg-server-git-21.1.99.1.r17753.gda9d012a9-1-x86_64.pkg.tar.zst

Either one will always make sure the version is correct while appending the commit hash, the way it should be.