Page 1 of 1

XFCE 4.20 released

Posted: Sun Dec 15, 2024 8:54 pm
by Grogan
We talked about this in the Arch Linux thread, but my favourite website says it's been released today :P

https://www.phoronix.com/news/Xfce-4.20-Released
Xfce 4.20 was released right on schedule today as the newest feature update to this desktop environment. There are new features, a "gazillion" bug fixes, and various minor improvements. Much of the focus though was on preparing for better Wayland support while continuing to keep X11 compatibility.
What they aren't crowing about is deprecation (was a warning before) of APIs like XfcePanelImage that are going to break my old theming. I love my customized "Plasma Fire" GTK/XFCE theme... especially my panel. So I'm going to pass on this. I'm going to rebuild my XFCE packages with different names, so the distro won't annoy me with IgnorePkg warnings. (On gentoo I built the tarballs manually and installed it to /opt/xfce... that didn't work on Arch because of systemd and that dbus-broker shit, it has to be --prefix=/usr so I use customized PKGBUILDs. I build this with fewer dependencies, e.g. no Thunar... I hate that integration, fewer external dependencies and better optimized with my makepkg.conf flags etc. Mine is faster and less fragile than the distro packages)

Re: XFCE 4.20 released

Posted: Sun Dec 15, 2024 10:02 pm
by Grogan
That wasn't as easy as I thought :lol:

It needs multiple edits to the PKGBUILD for that. I knew about adding provides= and conflicts= lines so dependencies are satisfied and package "upgrades" work correctly, but hadn't anticipated all the use of $pkgname for everything, carried through. Package building is such a pain in the ass... I miss simple ./configure, make, make install. At least Arch's PKGBUILDs let you do whatever you want in them, as long as you satisfy their directives.

For example, the first package (a simpler one)... not only changing pkgname and provides/conflicts but the source= line and explicit "cd actualpackagename". I had to do this for all of them (find and replace helped).

Code: Select all

pkgname=xfce4-dev-tools-cust
pkgver=4.18.1
pkgrel=3
pkgdesc="Xfce developer tools"
arch=('x86_64')
url="https://docs.xfce.org/xfce/xfce4-dev-tools/start"
license=('GPL-2.0-or-later')
depends=('glib2' 'intltool' 'gtk-doc')
makedepends=('git')
optdepends=('docker: xfce-build helper script')
provides=('xfce4-dev-tools')
conflicts=('xfce4-dev-tools')
source=("git+https://gitlab.xfce.org/xfce/xfce4-dev-tools.git#tag=xfce4-dev-tools-$pkgver")
sha256sums=('29a978213b54fd02e532ee955513a6775be3652aa192893fe20c9da333843927')

prepare() {
  cd xfce4-dev-tools
  ./autogen.sh \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-vala=no
}

build() {
  cd xfce4-dev-tools
  make
}

check() {
  cd xfce4-dev-tools
  make check
}

package() {
  cd xfce4-dev-tools
  make DESTDIR="$pkgdir" install
}

# vim:set ts=2 sw=2 et:
That then names and installs the packages the way I want it to, so the distro won't bother me about them again.

Code: Select all

[nicetry xfce4-dev-tools]# pacman -U *.pkg.tar.zst
loading packages...
resolving dependencies...
looking for conflicting packages...
:: xfce4-dev-tools-cust-4.18.1-3 and xfce4-dev-tools-4.18.1-3 are in conflict. Remove xfce4-dev-tools? [y/N] y

Packages (2) xfce4-dev-tools-4.18.1-3 [removal]  xfce4-dev-tools-cust-4.18.1-3

Total Installed Size:  0.07 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
That's a good little job done on a Sunday. Problem permanently solved (this is my most important UI). Now I'm ready to NOT get the updates... I won't even know about it when it hits Arch :-)