1 (edited by Allen123456hello Today 15:38:02)

Topic: LXDE can run on Hyperbola without problemtic dependencies

UPD 2026-02-26 23:37 UTC+8: All functions (including power buttons) in lxde should work well now. All functions (except trash can) in other packages should work well too. See new PKGBUILDS below.

All functions except power buttons should work well, and all of them can be run on Hyperbola GNU/Linux-libre and probably HyperbolaBSD.

Let the power buttons use doas to shutdown/reboot the machine is a work in progress.

Here is my PKGBUILDs, which may help Hyperbola:

Note 1: This is my first time making PKGBUILDs. If there are problems, please tell me and I can help solve these problems.

Note 2: Some LXDE programs (including lxterminal and lxtask) are already in Hyperbola's repo, so I don't provide them in these files.

libfm-extra/fix-without-gtk-doc.patch:

--- libfm-1.4.1/Makefile.am
+++ libfm-1.4.1/Makefile.am
@@ -4,11 +4,9 @@
 
 DIST_SUBDIRS = src po data
 
-# a little trick against gtk-doc is here
 SUBDIRS_DOCS = docs
 
 EXTRA_DIST_DOCS = \
-    gtk-doc.make \
     docs/Makefile.am \
     docs/Makefile.in \
     docs/reference/Makefile.am \
@@ -35,12 +33,7 @@
     po/libfm.pot \
     $(NULL)
 
-if ENABLE_GTK_DOC
-DIST_SUBDIRS += $(SUBDIRS_DOCS)
-SUBDIRS += $(SUBDIRS_DOCS)
-else
 EXTRA_DIST += $(EXTRA_DIST_DOCS)
-endif
 
 pkgconfig_DATA += \
     libfm.pc \
@@ -48,4 +41,4 @@
     $(NULL)
 endif
 
-DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+DISTCHECK_CONFIGURE_FLAGS=--disable-gtk-doc

libfm-extra/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Unknown47 <unknown47r@gmail.com>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=libfm-extra
pkgver=1.4.1
pkgrel=1
pkgdesc='Extra library for file management'
arch=(i686 x86_64)
url='https://github.com/lxde/libfm'
license=('LGPL-2.1 OR GPL-2.0')
depends=(
  cairo
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libexif
  pango
)
makedepends=(
  glib2
  intltool
  vala
  gettext-tiny
)
source=(https://github.com/lxde/libfm/archive/refs/tags/$pkgver.tar.gz
        fix-without-gtk-doc.patch)
sha512sums=('9819e1844667eb7a95db493f8a346c303eaca95ed78479bedd8cf33330e8e1720b03e484db57b29c4a2e2e1b068f11e1a55c8962dec288e9b0902f5d71f14c47'
            '034d54a4dbe77bd9e52dbb73ece87bfb18ab5bf72c2b6287f6750aa0c68faa0714869ce93108b4e3f7ce0d19b5c4da05dc549c3edbcefdc217b8618f34b10610')

prepare() {
  cd libfm-$pkgver
  patch -p1 < "${srcdir}/fix-without-gtk-doc.patch"
  echo > docs/reference/libfm/Makefile.am
  sed -i '/GTK_DOC_CHECK/d' configure.ac
  autoreconf -fi
  intltoolize
}

build() {
  cd libfm-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-gtk-doc \
    --with-gnu-ld \
    --with-gtk=3 \
    --with-extra-only # Hack to avoid circular dependencies
  make
}

package() {
  depends=(
    glib2
    glibc
  )
  
  cd libfm-$pkgver
  make DESTDIR="$pkgdir" install

  # Fix for FS#32361
  rm -rf "$pkgdir"/usr/include/libfm
  mv "$pkgdir"/usr/include/libfm-1.0/ "$pkgdir"/usr/include/libfm

  # Split libfm-extra
  [[ -d "$srcdir/libfm-extra" ]] && rm -r "$srcdir/libfm-extra/"
  mkdir "$srcdir"/libfm-extra
  mv "$pkgdir"/usr/include/libfm/fm-{extra,version,xml-file}.h \
     "$pkgdir"/usr/lib/libfm-extra.* \
     "$pkgdir"/usr/lib/pkgconfig/libfm-extra.pc \
     "$srcdir/libfm-extra/"
  rm -rf "$pkgdir"/*
  cd "$srcdir"/libfm-extra
  mkdir -p "$pkgdir"/usr/{include/libfm,lib/pkgconfig}
  mv *.h "$pkgdir/usr/include/libfm"
  mv libfm-extra.so* "$pkgdir/usr/lib"
  mv libfm-extra.pc "$pkgdir/usr/lib/pkgconfig"
  install -Dm644 "$srcdir/libfm-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

menu-cache/fix-without-gtk-doc.patch:

--- libfm-1.4.1/Makefile.am
+++ libfm-1.4.1/Makefile.am
@@ -7,7 +7,6 @@
 SUBDIRS_DOCS = docs
 
 EXTRA_DIST_DOCS = \
-    gtk-doc.make \
     docs/Makefile.am \
     docs/Makefile.in \
     docs/reference/Makefile.am \
@@ -28,11 +27,6 @@
 EXTRA_DIST =             \
     $(NULL)
 
-if ENABLE_GTK_DOC
-DIST_SUBDIRS += $(SUBDIRS_DOCS)
-SUBDIRS += $(SUBDIRS_DOCS)
-else
 EXTRA_DIST += $(EXTRA_DIST_DOCS)
-endif
 
-DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
+DISTCHECK_CONFIGURE_FLAGS=--disable-gtk-doc

menu-cache/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=menu-cache
pkgver=1.1.1
pkgrel=2
pkgdesc='Caching mechanism for freedesktop.org compliant menus'
arch=(x86_64)
url='https://github.com/lxde/menu-cache'
license=(LGPL-2.1)
depends=(
  glib2
  glibc
  libfm-extra
)
makedepends=(
  gettext-tiny
)
source=(https://github.com/lxde/menu-cache/archive/refs/tags/$pkgver.tar.gz
        fix-without-gtk-doc.patch)
sha512sums=('a2ede5663946d13a2992196a8547319ffa252cf5e37ba76dad559deb18450797ac6d5910415226ab996eab2131a2aa715b091a023a8a1eb39c83ea47043976e1'
            '999e6e1bf11bf9dccb51432c43d7321fcfb66ab270487976f313695fc8460a987049e2fafea684eebc4bb8e8030501458f190c72dd26e5e2db1e7750e712aede')
prepare() {
  cd $pkgname-$pkgver
  patch -p1 < "${srcdir}/fix-without-gtk-doc.patch"
  echo > docs/reference/libmenu-cache/Makefile.am
  sed -i '/ENABLE_GTK_DOC/d' configure.ac
  libtoolize --force
  autoreconf -fi
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --libexecdir=/usr/lib \
    --disable-gtk-doc
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

libfm/fix-without-gtk-doc.patch: is the same as libfm-extra/fix-without-gtk-doc.patch.

libfm/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Unknown47 <unknown47r@gmail.com>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgbase=libfm
pkgname=(
  libfm
  libfm-gtk3
)
pkgver=1.4.1
pkgrel=1
pkgdesc='Library for file management'
arch=(i686 x86_64)
url='https://github.com/lxde/libfm'
license=('LGPL-2.1 OR GPL-2.0')
depends=(
  cairo
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libexif
  menu-cache
  pango
)
makedepends=(
  glib2
  intltool
  vala
  gettext-tiny
)
source=(https://github.com/lxde/libfm/archive/refs/tags/$pkgver.tar.gz
        fix-without-gtk-doc.patch)
sha512sums=('9819e1844667eb7a95db493f8a346c303eaca95ed78479bedd8cf33330e8e1720b03e484db57b29c4a2e2e1b068f11e1a55c8962dec288e9b0902f5d71f14c47'
            '034d54a4dbe77bd9e52dbb73ece87bfb18ab5bf72c2b6287f6750aa0c68faa0714869ce93108b4e3f7ce0d19b5c4da05dc549c3edbcefdc217b8618f34b10610')

prepare() {
  cd $pkgname-$pkgver
  patch -p1 < "${srcdir}/fix-without-gtk-doc.patch"
  echo > docs/reference/libfm/Makefile.am
  sed -i '/GTK_DOC_CHECK/d' configure.ac
  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgbase-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-gtk-doc \
    --with-gnu-ld \
    --with-gtk=3
  make
}

package_libfm() {
  depends=(
    glib2
    glibc
    libexif
    "libfm-extra=$pkgver"
    menu-cache
  )
  
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install

  # Fix for FS#32361
  rm -rf "$pkgdir"/usr/include/libfm
  mv "$pkgdir"/usr/include/libfm-1.0/ "$pkgdir"/usr/include/libfm

  # Split libfm-extra
  [[ -d "$srcdir/libfm-extra" ]] && rm -r "$srcdir/libfm-extra/"
  mkdir "$srcdir"/libfm-extra
  mv "$pkgdir"/usr/include/libfm/fm-{extra,version,xml-file}.h \
     "$pkgdir"/usr/lib/libfm-extra.* \
     "$pkgdir"/usr/lib/pkgconfig/libfm-extra.pc \
     "$srcdir/libfm-extra/"

  # Split libfm-gtk3
  [[ -d "$srcdir/libfm-gtk3" ]] && rm -r "$srcdir/libfm-gtk3/"
  mkdir "$srcdir"/libfm-gtk3
  mv "$pkgdir/usr/bin" \
     "$pkgdir"/usr/lib/libfm-gtk3.* \
     "$pkgdir"/usr/lib/libfm/modules/gtk-* \
     "$pkgdir/usr/lib/pkgconfig/libfm-gtk3.pc" \
     "$pkgdir/usr/share/applications" \
     "$pkgdir/usr/share/man" \
     "$srcdir/libfm-gtk3/"
  install -Dm644 "$srcdir/$pkgbase-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

package_libfm-gtk3() {
  pkgdesc='GTK library for file management'
  depends=(
    cairo
    gdk-pixbuf2
    glib2
    glibc
    gtk3
    "libfm=$pkgver"
    menu-cache
    pango
  )

  cd "$srcdir"/libfm-gtk3
  mkdir -p "$pkgdir"/usr/{lib/{libfm/modules,pkgconfig},share}
  mv bin "$pkgdir/usr"
  mv libfm-gtk3.so* "$pkgdir"/usr/lib
  mv gtk-* "$pkgdir"/usr/lib/libfm/modules
  mv libfm-gtk3.pc "$pkgdir/usr/lib/pkgconfig"
  mv applications "$pkgdir/usr/share"
  mv man "$pkgdir/usr/share"
  install -Dm644 "$srcdir/$pkgbase-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxmenu-data/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxmenu-data
pkgver=0.1.7
pkgrel=1
pkgdesc='Freedesktop.org desktop menus for LXDE'
arch=(any)
url='https://github.com/lxde/lxmenu-data'
license=(LGPL-2.1)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxmenu-data/archive/refs/tags/$pkgver.tar.gz)
sha512sums=(2847a2a033e53a8d9c6f8279668c261cef7743d8a621411c768b434957912a7b6334cb24d9147246da7e31f242bb1f71f5cf95d570ceeb7642f486c6f5a5577d)

prepare() {
  cd $pkgname-$pkgver
  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

pcmanfs/pcmanfm-desktop-onlyshowin.patch:

From f85b2d98cbde4c102bc60654cb2a53f19ec68100 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Tue, 21 Oct 2025 04:25:46 +0200
Subject: [PATCH] Show desktop preferences entry only in LXDE

Most desktop environments have their own desktop icons nowadays,
and PCManFM is used only in LXDE by default.
---
 data/pcmanfm-desktop-pref.desktop.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/data/pcmanfm-desktop-pref.desktop.in b/data/pcmanfm-desktop-pref.desktop.in
index 4f42849d..abbd1b7c 100644
--- a/data/pcmanfm-desktop-pref.desktop.in
+++ b/data/pcmanfm-desktop-pref.desktop.in
@@ -7,4 +7,4 @@ Categories=Settings;GTK;DesktopSettings;X-LXDE-Settings;
 Exec=pcmanfm --desktop-pref
 StartupNotify=true
 Terminal=false
-NotShowIn=GNOME;XFCE;KDE;MATE;
+OnlyShowIn=LXDE;

pcmanfs/pcmanfm-transient-dialog.patch:

From d15487557829a5edb2c7c0a66db6266960cb84a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 15 Oct 2025 10:39:25 +0200
Subject: [PATCH] Make the about dialog transient for the main window

This ensures that it's attached to it.
---
 src/main-win.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/main-win.c b/src/main-win.c
index 49fc53b8..1562e68f 100644
--- a/src/main-win.c
+++ b/src/main-win.c
@@ -1159,6 +1159,7 @@ static void on_about(GtkAction* act, FmMainWin* win)
         gtk_about_dialog_set_comments(about_dlg, comments->str);
         g_string_free(comments, TRUE);
         g_object_unref(builder);
+        gtk_window_set_transient_for(GTK_WINDOW(about_dlg), GTK_WINDOW(win));
         g_signal_connect(about_dlg, "response", G_CALLBACK(on_about_response), (gpointer)&about_dlg);
         pcmanfm_ref();
     }

pcmanfs/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Unknown47 <unknown47r@gmail.com>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=pcmanfm
pkgver=1.4.0
pkgrel=2
pkgdesc='Extremely fast and lightweight file manager'
arch=(x86_64)
url='https://github.com/lxde/pcmanfm'
license=(GPL-2.0)
depends=(
  cairo
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libfm
  libfm-gtk3
  libx11
  lxmenu-data
  pango
)
makedepends=(
  intltool
  gettext-tiny
)
optdepends=(
  'xarchiver: Archive management'
)
source=(https://github.com/lxde/pcmanfm/archive/refs/tags/$pkgver.tar.gz
        pcmanfm-transient-dialog.patch
        pcmanfm-desktop-onlyshowin.patch)
sha512sums=(87192134e18a7d6e9755b65f7d72910854f6c2ddbc1e391449c992f0596dc4ddbf37925070b6e502afea49b95361939d4272156ef55be1731411593e91d4c5a5
            5817c6ecd3a41017b01f1adba0e8797833d8686619255d90caca5ea270c851ba3585a722c0ad76756e2132c86a5477aea9e57b92c1fa29dc4041087cdd9ebab8
            e228aae21cdf7b4f12e678c14f52212dffab42d6f9cf26d261bc174cf33c3ccc51f7a755a33e6266e28a5081fe41744d00b9318de106f4b5f2430048a52cc270)

prepare() {
  cd $pkgname-$pkgver

  # https://github.com/lxde/pcmanfm/pull/32
  patch -p1 < ../pcmanfm-transient-dialog.patch

  # https://github.com/lxde/pcmanfm/pull/34
  patch -p1 < ../pcmanfm-desktop-onlyshowin.patch

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --with-gtk=3
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxappearance/lxappearance-builtin-themes.patch:

From 402f1a9d0bb9b98df7eefe5fe7e2b880d90fffe1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 22 Oct 2025 22:21:19 +0200
Subject: [PATCH] Add builtin GTK3 themes to the list

GTK3 has some internal themes that was not listed on the widget theme
selection dialog.
---
 src/widget-theme.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/widget-theme.c b/src/widget-theme.c
index 728e79e..01a6b2f 100644
--- a/src/widget-theme.c
+++ b/src/widget-theme.c
@@ -74,6 +74,13 @@ static void load_themes()
     GtkTreeIter sel_it = {0};
     GtkTreeSelection* tree_sel;
 
+#if GTK_CHECK_VERSION(3, 0, 0)
+    /* add built-in themes */
+    themes = g_slist_append(themes, g_strdup("Adwaita"));
+    themes = g_slist_append(themes, g_strdup("HighContrast"));
+    themes = g_slist_append(themes, g_strdup("HighContrastInverse"));
+#endif
+
     /* load from userdata theme dir first */
     dir = g_build_filename(g_get_user_data_dir(), "themes", NULL);
     themes = load_themes_in_dir(dir, themes);

lxappearance/lxappearance-theme-name.patch:

From 74b4acdec360d4e0606dc643b24efa2664f20c7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 22 Oct 2025 22:18:42 +0200
Subject: [PATCH] Read icon theme name even if it's hidden

Without this, the display name became NULL for the cursor theme if the
corresponding icon theme is hidden.
---
 src/icon-theme.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/icon-theme.c b/src/icon-theme.c
index cda5c72..7b597f5 100644
--- a/src/icon-theme.c
+++ b/src/icon-theme.c
@@ -83,13 +83,12 @@ void load_icon_themes_from_dir(const char* base_dir, const char* theme_dir, GKey
 
                 if(g_key_file_load_from_file(kf, index_theme, 0, NULL))
                 {
+                    theme->disp_name = g_key_file_get_locale_string(kf, "Icon Theme", "Name", NULL, NULL);
+                    theme->comment = g_key_file_get_locale_string(kf, "Icon Theme", "Comment", NULL, NULL);
+
                     /* skip hidden ones */
                     if(!g_key_file_get_boolean(kf, "Icon Theme", "Hidden", NULL))
                     {
-                        theme->disp_name = g_key_file_get_locale_string(kf, "Icon Theme", "Name", NULL, NULL);
-                        /* test if this is a icon theme or it's a cursor theme */
-                        theme->comment = g_key_file_get_locale_string(kf, "Icon Theme", "Comment", NULL, NULL);
-
                         /* icon theme must have this key, so it has icons if it has this key */
                         theme->has_icon = g_key_file_has_key(kf, "Icon Theme", "Directories", NULL);
                     }

lxappearance/lxappearance-transient-dialog.patch:

From fcafbe91061d38e03b251c57d1af4c036a5fa757 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 22 Oct 2025 20:48:27 +0200
Subject: [PATCH] Make the about dialog transient for the main window

This ensures that it's attached to it.
---
 src/lxappearance.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lxappearance.c b/src/lxappearance.c
index 3f677ab..f705f61 100644
--- a/src/lxappearance.c
+++ b/src/lxappearance.c
@@ -556,6 +556,7 @@ static void on_dlg_response(GtkDialog* dlg, int res, gpointer user_data)
             if(gtk_builder_add_from_file(b, PACKAGE_UI_DIR "/about.ui", NULL))
             {
                 GtkWidget* dlg = GTK_WIDGET(gtk_builder_get_object(b, "dlg"));
+                gtk_window_set_transient_for(GTK_WINDOW(dlg), GTK_WINDOW(app.dlg));
                 gtk_dialog_run(GTK_DIALOG(dlg));
                 gtk_widget_destroy(dlg);
             }

lxappearance/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Geoffroy Carrier <geoffroy.carrier@koon.fr>
# Contributor: Allen123456hello

pkgname=lxappearance
pkgver=0.6.4
pkgrel=3
pkgdesc='Feature-rich GTK theme switcher of the LXDE Desktop'
arch=(x86_64)
url='https://github.com/lxde/lxappearance'
license=(GPL-2.0)
depends=(
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libx11
)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxappearance/archive/refs/tags/$pkgver.tar.gz
        lxappearance-theme-name.patch
        lxappearance-builtin-themes.patch
        lxappearance-transient-dialog.patch)
sha512sums=(cf8a71fe546a3f9a11856d1290825c0433a64eb59c65298bc6e8a4742154ec6b9a901ee126b1303ec18f6c7f8c4875b20993c53f8f226d934c1c7406beac5f64
            d23f26a8409d8223b1978087b60ecabb350f3945185f6d7781e640eb0b81adeaf050fde291284cd5b913d391646ee12f35ef22552b1e2c9035f3ff1d6842370c
            9a7600acf8912accde115666f0eaade5f4ffbbf5190835612d32bbc62564e741dc012ac3ce214b580a772a803b872f2da304ddd394614d325bbf3e2241f19989
            a7e30879249f4bbe25cb09d2b7f0f7d5afdc372e869d433a751642554b9968be36e6080c5ad1bb7e4e5828aa0ef68c855ff218229c9ccfaf9d332479803f2f30)

prepare() {
  cd $pkgname-$pkgver

  # https://github.com/lxde/lxappearance/pull/15
  patch -p1 < ../lxappearance-theme-name.patch

  # https://github.com/lxde/lxappearance/pull/16
  patch -p1 < ../lxappearance-builtin-themes.patch

  # https://github.com/lxde/lxappearance/pull/17
  patch -p1 < ../lxappearance-transient-dialog.patch

  # # https://github.com/lxde/lxappearance/pull/20
  # patch -p1 < ../lxappearance-notshowin.patch # Not useful with Hyperbola

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-dbus \
    --enable-gtk3
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxappearance-obconf/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Allen123456hello

pkgname=lxappearance-obconf
pkgver=0.2.4
pkgrel=3
pkgdesc='Plugin for LXAppearance to configure Openbox'
arch=(x86_64)
url='https://github.com/lxde/lxappearance-obconf'
license=(GPL-2.0)
depends=(
  cairo
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libx11
  libxml2
  lxappearance
  openbox
)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxappearance-obconf/archive/refs/tags/$pkgver.tar.gz)
sha512sums=(802be16b392da1d2be702189278e5cbadcc5591f08c6e408a8a5ce943f09d381b7db54f69efe9fb175f3dd832bc575e9f9756143ab9f5403d2ae52980a5d7634)

prepare() {
  cd $pkgname-$pkgver
  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-gtk3 \
    --disable-dbus
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxde-common/default-config.patch:

diff -Naur lxde-common-0.99.1.orig/desktop.conf lxde-common-0.99.1/desktop.conf
--- lxde-common-0.99.1.orig/desktop.conf    2016-02-26 14:51:28.558478250 +0000
+++ lxde-common-0.99.1/desktop.conf    2016-02-26 14:52:20.038264394 +0000
@@ -2,7 +2,7 @@
 window_manager=openbox-lxde
 
 [GTK]
-sNet/ThemeName=Clearlooks
+sNet/ThemeName=Adwaita
 sNet/IconThemeName=nuoveXT2
 sGtk/FontName=Sans 10
 iGtk/ToolbarStyle=3

lxde-common/without-dbus.patch:

--- lxde-common-0.99.3/startlxde.in
+++ lxde-common-0.99.3/startlxde.in
@@ -33,13 +33,6 @@
 # Enable GTK+2 integration for OpenOffice.org, if available.
 export SAL_USE_VCLPLUGIN=gtk
 
-# Launch DBus if needed
-if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
-    if test -z "$XDG_RUNTIME_DIR" -o ! -S "$XDG_RUNTIME_DIR/bus" -o ! -O "$XDG_RUNTIME_DIR/bus"; then
-        eval "$(dbus-launch --sh-syntax --exit-with-session)"
-    fi
-fi
-
 export XDG_MENU_PREFIX="lxde-"
 export XDG_CURRENT_DESKTOP="LXDE"
 
--- lxde-common-0.99.3/man/startlxde.1
+++ lxde-common-0.99.3/man/startlxde.1
@@ -10,7 +10,7 @@
 .SH DESCRIPTION
 .PP
 \fBstartlxde\fP is used to start the desktop session of LXDE.
-By default it loads openbox, lxpanel, pcmanfm, dbus-launch, and lxsession.
+By default it loads openbox, lxpanel, pcmanfm and lxsession.
 
 .SH AUTHOR
 Hong Jen Yee <pcman.tw@gmail.com>

lxde-common/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxde-common
pkgver=0.99.3
pkgrel=2
pkgdesc='Common files of the LXDE Desktop'
arch=(any)
url='https://github.com/lxde/lxde-common'
license=(GPL-2.0)
depends=(bash)
makedepends=(
  intltool
  gettext-tiny
)
backup=(
  etc/xdg/lxpanel/LXDE/config
  etc/xdg/lxpanel/LXDE/panels/panel
  etc/xdg/lxsession/LXDE/autostart
  etc/xdg/lxsession/LXDE/desktop.conf
  etc/xdg/openbox/LXDE/menu.xml
  etc/xdg/openbox/LXDE/rc.xml
  etc/xdg/pcmanfm/LXDE/pcmanfm.conf
)
source=(https://github.com/lxde/lxde-common/archive/refs/tags/$pkgver.tar.gz
        without-dbus.patch
        default-config.patch)
sha512sums=(a4d5a95405986cd8d89ada79e19b678a186ebab8cbf5de54ae5bd823caa7ae0c9e85c526d3ce3d9f5831b67f7953f60b7f801907f15358241a88b2d6f8e49fad
            f528fce9e80806a836126dd24ea8b99e883462613da2e4f5f09f612f412706c9bf3ab4c0230b3ea5c441d4e25dc921bdb914976beee648e5cfb067efb75d5d9f
            ea0cab413f060bfed8b76d3e0b1cac3b74cbfbbd852d823ff2e610e4816b3f5fb500979f3def6737c467650ece0ed47d6d56a09711309eb007b5b4f1ed8d6a3e)

prepare() {
  cd $pkgname-$pkgver

  # No dbus + systemd support
  # patch -Np1 -i ../dbus-update-environment.patch

  # Remove optional dbus support
  patch -Np1 -i ../without-dbus.patch

  # Set Adwaita as default GTK theme
  patch -Np1 -i ../default-config.patch

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-dbus
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxde-icon-theme/lxde-icon-theme-adwaita-inherit.patch:

From bec9817c932f93f1641297c8fc7454bb5dfc0a43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 15 Oct 2025 13:59:24 +0200
Subject: [PATCH] Inherit from Adwaita theme

Adding "Adwaita" icon theme to "Inherits" fixes some missing symbolic icons
in GNOME (GTK4) applications (e.g. sidebar in Nautilus), while adding
"AdwaitaLegacy" before that causes the non-symbolic variants are used
instead of symbolic ones unless it's explicitly requested (e.g. rotation
and mirror icons in GPicView).
---
 nuoveXT2/index.theme | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nuoveXT2/index.theme b/nuoveXT2/index.theme
index 6726e22..6bc0ff9 100644
--- a/nuoveXT2/index.theme
+++ b/nuoveXT2/index.theme
@@ -1,7 +1,7 @@
 [Icon Theme]
 Name=nuoveXT.2.2
 Comment=nuoveXT 2.2 Icon Theme for LXDE
-Inherits=nuoveXT-1.6,Tango,gnome,crystalsvg
+Inherits=nuoveXT-1.6,Tango,AdwaitaLegacy,Adwaita,gnome,crystalsvg
 Example=x-directory-normal
 
 # KDE Specific Stuff

lxde-icon-theme/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxde-icon-theme
pkgver=0.5.2
pkgrel=2
pkgdesc='LXDE default icon theme based on nuoveXT2'
arch=(any)
url='https://github.com/lxde/lxde-icon-theme'
license=(LGPL-3.0)
source=(https://github.com/lxde/lxde-icon-theme/archive/refs/tags/$pkgver.tar.gz
        lxde-icon-theme-adwaita-inherit.patch)
sha512sums=(36d72e1214ad73c56212eae893af250dde181c2e1c14b36327abc4628ab5432330e1cb86a0c33c5f559898d230ba498c60128f4a07fa98b2b467a719be242d33
            f4b4b1b32d7002a5ddbf7dc9f91df57b47bbf3913989c56031767cf3f0fd2a61423db540650475da044e2747c4980fa5bc5e0b1649cb27fb92875546112b4299)

prepare() {
  cd $pkgname-$pkgver

  # https://github.com/lxde/lxde-icon-theme/pull/1
  patch -p1 < ../lxde-icon-theme-adwaita-inherit.patch

  autoreconf -fi
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxhotkey/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor: Allen123456hello

pkgname=lxhotkey
pkgver=0.1.2
pkgrel=3
pkgdesc='Keyboard shortcuts configurator (part of LXDE)'
arch=(x86_64)
license=(GPL-2.0)
url='https://github.com/lxde/lxhotkey'
depends=(
  glib2
  glibc
  gtk3
  libfm
  libfm-extra
  libunistring
  libx11
)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxhotkey/archive/refs/tags/$pkgver.tar.gz)
sha512sums=(adfa4b0c2108b7cc0822bf71b3520c614f9c12b5adc356bd939bb30fec5510a14f0f94dcb17f3ecca4f79ce2dfe56337a85091e4566cdf75fab12d574a07e60b)

prepare() {
  cd $pkgname-$pkgver

  # # https://github.com/lxde/lxhotkey/pull/16
  # git apply -3 ../lxhotkey-notshowin.patch # Not useful with hyperbola

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --with-gtk=3
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

package_lxhotkey() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxinput/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Filipp "Scorp" Andjelo <scorp@mailueberfall.de>
# Contributor: Allen123456hello

pkgname=lxinput
pkgver=0.3.6
pkgrel=3
pkgdesc='Small program to configure keyboard and mouse for LXDE'
arch=(x86_64)
url='https://github.com/lxde/lxinput'
license=(GPL-2.0)
depends=(
  glib2
  glibc
  gtk3
  libx11
  xenocara-xmodmap
  xenocara-xset
)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxinput/archive/refs/tags/$pkgver.tar.gz)
sha512sums=(8585862256699efe1537e5f2fb3eeca0c71501a790d322cf975cf3ff1f843a757d809bceeac82076b81debd60a9e9dff133157de28fdda08fa8d666f4b656b54)

prepare() {
  cd $pkgname-$pkgver

  # # https://github.com/lxde/lxinput/pull/3
  # git apply -3 ../lxinput-notshowin.patch # Not useful with Hyperbola

  # # https://github.com/lxde/lxinput/pull/4
  # git apply -3 ../lxinput-x11-only.patch # Not useful with Hyperbola

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-gtk3
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxpanel/lxpanel-fix-variable.patch:

From 8e8e2cfc0808d3bda9b7c73b9e7b2c15eccf049c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 5 Nov 2025 20:53:22 +0100
Subject: [PATCH] Fix variable to get widget settings

This caused the panel to freeze when the cursor blink time was changed.
---
 plugins/launchtaskbar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/launchtaskbar.c b/plugins/launchtaskbar.c
index 3c9dc0b8..c239e73a 100644
--- a/plugins/launchtaskbar.c
+++ b/plugins/launchtaskbar.c
@@ -962,7 +962,7 @@ static void on_gtk_cursor_blink_time_changed(GObject *gsettings, GParamSpec *psp
     if (tb->flash_timeout == 0) /* nothing to do? */
         return;
     g_source_remove(tb->flash_timeout);
-    g_object_get(gtk_widget_get_settings(GTK_WIDGET(tb)), "gtk-cursor-blink-time",
+    g_object_get(gtk_widget_get_settings(GTK_WIDGET(tb->plugin)), "gtk-cursor-blink-time",
                  &interval, NULL);
     tb->flash_timeout = g_timeout_add(interval / 2, flash_window_timeout, tb);
 }

lxpanel/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxpanel
pkgver=0.11.1
pkgrel=4
pkgdesc='Lightweight X11 desktop panel for LXDE'
arch=(x86_64)
url='https://github.com/lxde/lxpanel'
license=(GPL-2.0)
depends=(
  alsa-lib
  cairo
  curl
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libfm
  libfm-gtk3
  libkeybinder3
  libwnck3
  libx11
  libxml2
  lxmenu-data
  menu-cache
  pango
)
makedepends=(
  gettext-tiny
  intltool
  wireless_tools
)
optdepends=('wireless_tools: netstat plugin')
source=(https://github.com/lxde/lxpanel/archive/refs/tags/$pkgver.tar.gz
        lxpanel-fix-variable.patch)
sha512sums=(143e0afa28d30c596f9e1e915b3405d6266c36bd0b798ba0803b9bcd1d8be14a8363ff39505059b28d67da80f91ee04ee6682af3e1ce09e8cb194d36fafebd5b
            564a15b9c7cdd16821cfc15ed86de5250c32c2fbbd667c2f822b3536d8e2d6f1368088fac2844c39f779f9c1d4f01fcabff8f60624eac3b07ce79546b983f695)

prepare() {
  cd $pkgname-$pkgver

  # https://github.com/lxde/lxpanel/pull/115
  patch -p1 < ../lxpanel-fix-variable.patch

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-gtk3 \
    --without-dbus
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxrandr/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor (Arch): Geoffroy Carrier <geoffroy.carrier@koon.fr>
# Contributor: Allen123456hello

pkgname=lxrandr
pkgver=0.3.3
pkgrel=3
pkgdesc='Monitor configuration tool (part of LXDE)'
arch=(x86_64)
url='https://github.com/lxde/lxrandr'
license=(GPL-2.0)
depends=(
  glib2
  glibc
  gtk3
  xenocara-xrandr
)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxrandr/archive/refs/tags/$pkgver.tar.gz)
sha512sums=(970770dd806ab6c6cdf809caaae95ee0bf4652ef24635512078d02c6944492d0bf9204b19752bb4827b341f6fe18a96b3f48d1ca48a48e1f56cb2598b36a96c2)

prepare() {
  cd $pkgname-$pkgver

  # # https://github.com/lxde/lxrandr/pull/7
  # git apply -3 ../lxrandr-notshowin.patch # Not useful with Hyperbola

  # # https://github.com/lxde/lxrandr/pull/8
  # git apply -3 ../lxrandr-x11-only.patch # Not useful with Hyperbola

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --enable-gtk3
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxsession/no-polkit.patch:

--- lxsession-0.5.6/configure.ac
+++ lxsession-0.5.6/configure.ac
@@ -86,11 +86,6 @@
 
   AC_SUBST(VALA_GTK_LIBS)
 
-  polkit_modules="polkit-agent-1"
-  PKG_CHECK_MODULES(POLKIT, [$polkit_modules])
-  AC_SUBST(POLKIT_CFLAGS)
-  AC_SUBST(POLKIT_LIBS)
-
   AC_ARG_ENABLE(
       [buildin-clipboard],
       AS_HELP_STRING([--enable-buildin-clipboard],
@@ -198,7 +193,6 @@
   Makefile
   data/Makefile
   data/ui/Makefile
-  data/lxpolkit.desktop.in
   man/Makefile
   po/Makefile.in
 ])
--- lxsession-0.5.6/Makefile.am
+++ lxsession-0.5.6/Makefile.am
@@ -29,7 +29,6 @@
 noinst_DATA = \
     vapi/config.vapi \
     vapi/lxclipboard.vapi \
-    vapi/lxpolkit.vapi \
     vapi/lxsession-edit.vapi \
     vapi/lxsettings-daemon.vapi \
     vapi/xdg-autostart.vapi \
@@ -46,7 +45,6 @@
 
 if USE_GTK
 bin_PROGRAMS += \
-    lxpolkit/lxpolkit \
     lxsession-db/lxsession-db \
     lxsession-edit/lxsession-edit \
     lxsession-logout/lxsession-logout \
@@ -92,50 +90,6 @@
 lxclipboard_lxclipboard_VALAFLAGS += --define USE_GTK2
 endif
 
-lxpolkit_lxpolkit_vala_SOURCES = \
-    lxpolkit/main.vala \
-    $(NULL)
-
-CLEANFILES += lxpolkit/main.c \
-    lxpolkit_lxpolkit_vala.stamp \
-    $(NULL)
-
-lxpolkit_lxpolkit_SOURCES = \
-    $(lxpolkit_lxpolkit_vala_SOURCES) \
-    lxpolkit/lxpolkit.c \
-    lxpolkit/lxpolkit-listener.c \
-    $(NULL)
-
-lxpolkit_lxpolkit_VALAFLAGS = \
-    --vapidir=$(srcdir)/vapi \
-    --pkg @VALA_GTK_LIBS@ \
-    --pkg lxpolkit \
-    $(NULL)
-
-lxpolkit_lxpolkit_CPPFLAGS = \
-    $(GTK_CFLAGS) \
-    $(GLIB_CFLAGS) \
-    $(POLKIT_CFLAGS) \
-    $(ADDITIONAL_FLAGS) \
-    -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-    -DPACKAGE_DATA_DIR="\"$(datadir)"\" \
-    -DPACKAGE_UI_DIR="\"$(datadir)/lxsession/ui"\" \
-    -include config.h -w \
-    $(NULL)
-
-lxpolkit_lxpolkit_LDADD = \
-    $(GTK_LIBS) \
-    $(GLIB_LIBS) \
-    $(POLKIT_LIBS) \
-    $(X11_LIBS) \
-    $(NULL)
-
-if USE_GTK3
-lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK3
-else
-lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK2
-endif
-
 lxsession_db_lxsession_db_SOURCES = \
     lxsession-db/main.vala \
     lxsession-db/desktop-files-backend.vala \
@@ -483,8 +437,6 @@
 EXTRA_DIST += \
     autogen.sh \
     lxclipboard/clipboard.h \
-    lxpolkit/lxpolkit.h \
-    lxpolkit/lxpolkit-listener.h \
     lxsettings-daemon/settings-daemon.h \
     lxsettings-daemon/xevent.h \
     lxsettings-daemon/xsettings-common.h \
--- lxsession-0.5.6/data/ui/Makefile.am
+++ lxsession-0.5.6/data/ui/Makefile.am
@@ -3,7 +3,6 @@
 # GtkBuilder UI definition files
 uidir=$(datadir)/lxsession/ui
 ui_DATA= \
-    lxpolkit.ui \
     lxsession-default-apps.ui \
     lxsession-edit.ui \
     $(NULL)
--- lxsession-0.5.6/data/Makefile.am
+++ lxsession-0.5.6/data/Makefile.am
@@ -10,14 +10,10 @@
     lxsession-edit.desktop.in \
     $(NULL)
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-autostartdir = $(sysconfdir)/xdg/autostart
-autostart_in_files = lxpolkit.desktop.in
-autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
 @INTLTOOL_DESKTOP_RULE@
 DISTCLEANFILES = \
     lxsession-default-apps.desktop \
     lxsession-edit.desktop \
-    lxpolkit.desktop \
     $(NULL)
 
 imagedir=$(datadir)/lxsession/images
--- lxsession-0.5.6/man/Makefile.am
+++ lxsession-0.5.6/man/Makefile.am
@@ -7,7 +7,6 @@
     lxsession-default-terminal.1 \
     lxsession-default-apps.1 \
     lxsettings-daemon.1 \
-    lxpolkit.1 \
     lxsession-edit.1 \
     lxsession-db.1 \
     lxsession-xdg-autostart.1

lxsession/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxsession
pkgver=0.5.6
pkgrel=2
epoch=1
pkgdesc='Lightweight X11 session manager'
arch=(x86_64)
url='https://github.com/lxde/lxsession'
license=(GPL-2.0)
depends=(
  bash
  cairo
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libx11
  which
)
makedepends=(
  intltool
  gettext-tiny
  vala
)
conflicts=(lxpolkit)
source=(https://github.com/lxde/lxsession/archive/refs/tags/0.5.6.tar.gz
        no-polkit.patch)
sha512sums=(f54e2bf802374667d7557b0129373a3972e1395a21a856e9f74535cba913ceb4b109c1856426cd4ca7f5759d158d63b7068e16d9fc6b4a2102ad89eb5abccb23
            2022435758169dea02b978976dd70c754b3c4c8841053188a47f39e8b3ae6e86b8357ab4e8d0bae5f08eb69e3e8914f828cf1db5b008855ea0e8c5b18abd49a7)

prepare() {
  cd $pkgname-$pkgver

  patch -p1 < ../no-polkit.patch
  rm -rf lxpolkit man/lxpolkit.1

  # https://github.com/lxde/lxsession/pull/44
  sed -i 's/^NotShowIn=.*/OnlyShowIn=LXDE;/' data/lxpolkit.desktop.in.in

  mkdir m4
  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
   ./configure \
     --prefix=/usr \
     --sysconfdir=/etc \
     --localstatedir=/var \
     --libexecdir=/usr/lib \
     --enable-gtk3 \
     --disable-dbus \
     --disable-polkit \
     --disable-elogind \
     --disable-buildin-polkit
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgbase-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

Happy hacking!

2

Re: LXDE can run on Hyperbola without problemtic dependencies

Thanks, but would it be possible to remove Adwaita as the theme itself has its own flaws in newer releases - approaching then libadwaita. Therefore our basic theme is Arc.

https://www.hyperbola.info/packages/ext … con-theme/

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

3 (edited by Allen123456hello Today 10:23:23)

Re: LXDE can run on Hyperbola without problemtic dependencies

Thanks for your reply. I agree with you, libadwaita is too complex and not necessary. I remenber making an GNU/Linux from scratch system one year ago, and I don't like rustc, nodejs, wayland and pam. I have found that Hyperbola is a beautiful OS since I tried it in my computer!

By the way, is there any new computers being fully free/libre? Old computers are finite and maybe there will be a problem about running out of free/libre computers.

4

Re: LXDE can run on Hyperbola without problemtic dependencies

And, thanks for recommending arc icon theme. I will try it and modify PKGBUILDs when I am home.

5 (edited by Allen123456hello Today 15:02:26)

Re: LXDE can run on Hyperbola without problemtic dependencies

lxde-icon-theme/lxde-icon-theme-arc-inherit.patch:

From bec9817c932f93f1641297c8fc7454bb5dfc0a43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 15 Oct 2025 13:59:24 +0200
Subject: [PATCH] Inherit from Adwaita theme

Adding "Adwaita" icon theme to "Inherits" fixes some missing symbolic icons
in GNOME (GTK4) applications (e.g. sidebar in Nautilus), while adding
"AdwaitaLegacy" before that causes the non-symbolic variants are used
instead of symbolic ones unless it's explicitly requested (e.g. rotation
and mirror icons in GPicView).

Note: Modified to support Hyperbola: add theme Arc before Adwaita

---
 nuoveXT2/index.theme | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nuoveXT2/index.theme b/nuoveXT2/index.theme
index 6726e22..6bc0ff9 100644
--- a/nuoveXT2/index.theme
+++ b/nuoveXT2/index.theme
@@ -1,7 +1,7 @@
 [Icon Theme]
 Name=nuoveXT.2.2
 Comment=nuoveXT 2.2 Icon Theme for LXDE
-Inherits=nuoveXT-1.6,Tango,gnome,crystalsvg
+Inherits=nuoveXT-1.6,Tango,Arc,AdwaitaLegacy,Adwaita,gnome,crystalsvg
 Example=x-directory-normal
 
 # KDE Specific Stuff

lxde-icon-theme/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxde-icon-theme
pkgver=0.5.2
pkgrel=2
pkgdesc='LXDE default icon theme based on nuoveXT2'
arch=(any)
url='https://github.com/lxde/lxde-icon-theme'
license=(LGPL-3.0)
source=(https://github.com/lxde/lxde-icon-theme/archive/refs/tags/$pkgver.tar.gz
        lxde-icon-theme-arc-inherit.patch)
sha512sums=(36d72e1214ad73c56212eae893af250dde181c2e1c14b36327abc4628ab5432330e1cb86a0c33c5f559898d230ba498c60128f4a07fa98b2b467a719be242d33
            0368700bee3725c9990d2ed53d7b8d8beb5f5104c86da9de34a2af35475f42db04f2e54f33ac489e10c320366c65d34a281e5ba03e6069fd76a23df52e03232a)

prepare() {
  cd $pkgname-$pkgver

  # https://github.com/lxde/lxde-icon-theme/pull/1
  patch -p1 < ../lxde-icon-theme-arc-inherit.patch

  autoreconf -fi
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxappearance/lxappearance-builtin-themes.patch:

From 402f1a9d0bb9b98df7eefe5fe7e2b880d90fffe1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
Date: Wed, 22 Oct 2025 22:21:19 +0200
Subject: [PATCH] Add builtin GTK3 themes to the list

GTK3 has some internal themes that was not listed on the widget theme
selection dialog.
---
 src/widget-theme.c | 7 +++++++
 1 file changed, 7 insertions(+)

Note: modifications to support Hyperbola: changed Adwaita to Arc

diff --git a/src/widget-theme.c b/src/widget-theme.c
index 728e79e..01a6b2f 100644
--- a/src/widget-theme.c
+++ b/src/widget-theme.c
@@ -74,6 +74,13 @@ static void load_themes()
     GtkTreeIter sel_it = {0};
     GtkTreeSelection* tree_sel;
 
+#if GTK_CHECK_VERSION(3, 0, 0)
+    /* add built-in themes */
+    themes = g_slist_append(themes, g_strdup("Arc"));
+    themes = g_slist_append(themes, g_strdup("HighContrast"));
+    themes = g_slist_append(themes, g_strdup("HighContrastInverse"));
+#endif
+
     /* load from userdata theme dir first */
     dir = g_build_filename(g_get_user_data_dir(), "themes", NULL);
     themes = load_themes_in_dir(dir, themes);

lxappearance/PKGBUILD:

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Geoffroy Carrier <geoffroy.carrier@koon.fr>
# Contributor: Allen123456hello

pkgname=lxappearance
pkgver=0.6.4
pkgrel=3
pkgdesc='Feature-rich GTK theme switcher of the LXDE Desktop'
arch=(x86_64)
url='https://github.com/lxde/lxappearance'
license=(GPL-2.0)
depends=(
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libx11
)
makedepends=(
  intltool
  gettext-tiny
)
source=(https://github.com/lxde/lxappearance/archive/refs/tags/$pkgver.tar.gz
        lxappearance-theme-name.patch
        lxappearance-builtin-themes.patch
        lxappearance-transient-dialog.patch)
sha512sums=(cf8a71fe546a3f9a11856d1290825c0433a64eb59c65298bc6e8a4742154ec6b9a901ee126b1303ec18f6c7f8c4875b20993c53f8f226d934c1c7406beac5f64
            d23f26a8409d8223b1978087b60ecabb350f3945185f6d7781e640eb0b81adeaf050fde291284cd5b913d391646ee12f35ef22552b1e2c9035f3ff1d6842370c
            ff1124fad692bf48edae99049d67be081834a49ae205473a4ef7fed0b2d53ff5077cb521eed2b1a525e254c3441df70154be6e4ae87e22fc003440edaedbfc57
            a7e30879249f4bbe25cb09d2b7f0f7d5afdc372e869d433a751642554b9968be36e6080c5ad1bb7e4e5828aa0ef68c855ff218229c9ccfaf9d332479803f2f30)

prepare() {
  cd $pkgname-$pkgver

  # https://github.com/lxde/lxappearance/pull/15
  patch -p1 < ../lxappearance-theme-name.patch

  # https://github.com/lxde/lxappearance/pull/16
  patch -p1 < ../lxappearance-builtin-themes.patch

  # https://github.com/lxde/lxappearance/pull/17
  patch -p1 < ../lxappearance-transient-dialog.patch

  # # https://github.com/lxde/lxappearance/pull/20
  # patch -p1 < ../lxappearance-notshowin.patch # Not useful with Hyperbola

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-dbus \
    --enable-gtk3
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

lxde-common/default-config.patch

diff -Naur lxde-common-0.99.1.orig/desktop.conf lxde-common-0.99.1/desktop.conf
--- lxde-common-0.99.1.orig/desktop.conf    2016-02-26 14:51:28.558478250 +0000
+++ lxde-common-0.99.1/desktop.conf    2016-02-26 14:52:20.038264394 +0000
@@ -2,7 +2,7 @@
 window_manager=openbox-lxde
 
 [GTK]
-sNet/ThemeName=Clearlooks
+sNet/ThemeName=Arc
 sNet/IconThemeName=nuoveXT2
 sGtk/FontName=Sans 10
 iGtk/ToolbarStyle=3

lxde-common/PKGBUILD

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxde-common
pkgver=0.99.3
pkgrel=2
pkgdesc='Common files of the LXDE Desktop'
arch=(any)
url='https://github.com/lxde/lxde-common'
license=(GPL-2.0)
depends=(bash)
makedepends=(
  intltool
  gettext-tiny
)
optdepends=('arc-icon-theme: Arc icon theme')
backup=(
  etc/xdg/lxpanel/LXDE/config
  etc/xdg/lxpanel/LXDE/panels/panel
  etc/xdg/lxsession/LXDE/autostart
  etc/xdg/lxsession/LXDE/desktop.conf
  etc/xdg/openbox/LXDE/menu.xml
  etc/xdg/openbox/LXDE/rc.xml
  etc/xdg/pcmanfm/LXDE/pcmanfm.conf
)
source=(https://github.com/lxde/lxde-common/archive/refs/tags/$pkgver.tar.gz
        without-dbus.patch
        default-config.patch)
sha512sums=(a4d5a95405986cd8d89ada79e19b678a186ebab8cbf5de54ae5bd823caa7ae0c9e85c526d3ce3d9f5831b67f7953f60b7f801907f15358241a88b2d6f8e49fad
            f528fce9e80806a836126dd24ea8b99e883462613da2e4f5f09f612f412706c9bf3ab4c0230b3ea5c441d4e25dc921bdb914976beee648e5cfb067efb75d5d9f
            41fe64749579cd1226ccb04f861481afc2e8a2b009d72c150cb119174fd7e70c9a407243974575d2fbc4345db78f3ed857c8bbac3e6549304ea991168a9c4a17)

prepare() {
  cd $pkgname-$pkgver

  # No dbus + systemd support
  # patch -Np1 -i ../dbus-update-environment.patch

  # Remove optional dbus support
  patch -Np1 -i ../without-dbus.patch

  # Set Arc as default GTK theme
  patch -Np1 -i ../default-config.patch

  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-dbus
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgname-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

6

Re: LXDE can run on Hyperbola without problemtic dependencies

Update: pcmanfs's trash can won't work since there is no gvfs, but it doesn't matter.

7 (edited by Allen123456hello Today 15:39:04)

Re: LXDE can run on Hyperbola without problemtic dependencies

Support for power buttons added.

lxsession/fix-without-polkit.patch

--- lxsession-0.5.6/configure.ac
+++ lxsession-0.5.6/configure.ac
@@ -86,11 +86,6 @@
 
   AC_SUBST(VALA_GTK_LIBS)
 
-  polkit_modules="polkit-agent-1"
-  PKG_CHECK_MODULES(POLKIT, [$polkit_modules])
-  AC_SUBST(POLKIT_CFLAGS)
-  AC_SUBST(POLKIT_LIBS)
-
   AC_ARG_ENABLE(
       [buildin-clipboard],
       AS_HELP_STRING([--enable-buildin-clipboard],
@@ -198,7 +193,6 @@
   Makefile
   data/Makefile
   data/ui/Makefile
-  data/lxpolkit.desktop.in
   man/Makefile
   po/Makefile.in
 ])
--- lxsession-0.5.6/Makefile.am
+++ lxsession-0.5.6/Makefile.am
@@ -29,7 +29,6 @@
 noinst_DATA = \
     vapi/config.vapi \
     vapi/lxclipboard.vapi \
-    vapi/lxpolkit.vapi \
     vapi/lxsession-edit.vapi \
     vapi/lxsettings-daemon.vapi \
     vapi/xdg-autostart.vapi \
@@ -46,7 +45,6 @@
 
 if USE_GTK
 bin_PROGRAMS += \
-    lxpolkit/lxpolkit \
     lxsession-db/lxsession-db \
     lxsession-edit/lxsession-edit \
     lxsession-logout/lxsession-logout \
@@ -92,50 +90,6 @@
 lxclipboard_lxclipboard_VALAFLAGS += --define USE_GTK2
 endif
 
-lxpolkit_lxpolkit_vala_SOURCES = \
-    lxpolkit/main.vala \
-    $(NULL)
-
-CLEANFILES += lxpolkit/main.c \
-    lxpolkit_lxpolkit_vala.stamp \
-    $(NULL)
-
-lxpolkit_lxpolkit_SOURCES = \
-    $(lxpolkit_lxpolkit_vala_SOURCES) \
-    lxpolkit/lxpolkit.c \
-    lxpolkit/lxpolkit-listener.c \
-    $(NULL)
-
-lxpolkit_lxpolkit_VALAFLAGS = \
-    --vapidir=$(srcdir)/vapi \
-    --pkg @VALA_GTK_LIBS@ \
-    --pkg lxpolkit \
-    $(NULL)
-
-lxpolkit_lxpolkit_CPPFLAGS = \
-    $(GTK_CFLAGS) \
-    $(GLIB_CFLAGS) \
-    $(POLKIT_CFLAGS) \
-    $(ADDITIONAL_FLAGS) \
-    -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-    -DPACKAGE_DATA_DIR="\"$(datadir)"\" \
-    -DPACKAGE_UI_DIR="\"$(datadir)/lxsession/ui"\" \
-    -include config.h -w \
-    $(NULL)
-
-lxpolkit_lxpolkit_LDADD = \
-    $(GTK_LIBS) \
-    $(GLIB_LIBS) \
-    $(POLKIT_LIBS) \
-    $(X11_LIBS) \
-    $(NULL)
-
-if USE_GTK3
-lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK3
-else
-lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK2
-endif
-
 lxsession_db_lxsession_db_SOURCES = \
     lxsession-db/main.vala \
     lxsession-db/desktop-files-backend.vala \
@@ -483,8 +437,6 @@
 EXTRA_DIST += \
     autogen.sh \
     lxclipboard/clipboard.h \
-    lxpolkit/lxpolkit.h \
-    lxpolkit/lxpolkit-listener.h \
     lxsettings-daemon/settings-daemon.h \
     lxsettings-daemon/xevent.h \
     lxsettings-daemon/xsettings-common.h \
--- lxsession-0.5.6/data/ui/Makefile.am
+++ lxsession-0.5.6/data/ui/Makefile.am
@@ -3,7 +3,6 @@
 # GtkBuilder UI definition files
 uidir=$(datadir)/lxsession/ui
 ui_DATA= \
-    lxpolkit.ui \
     lxsession-default-apps.ui \
     lxsession-edit.ui \
     $(NULL)
--- lxsession-0.5.6/data/Makefile.am
+++ lxsession-0.5.6/data/Makefile.am
@@ -10,14 +10,10 @@
     lxsession-edit.desktop.in \
     $(NULL)
 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-autostartdir = $(sysconfdir)/xdg/autostart
-autostart_in_files = lxpolkit.desktop.in
-autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
 @INTLTOOL_DESKTOP_RULE@
 DISTCLEANFILES = \
     lxsession-default-apps.desktop \
     lxsession-edit.desktop \
-    lxpolkit.desktop \
     $(NULL)
 
 imagedir=$(datadir)/lxsession/images
--- lxsession-0.5.6/man/Makefile.am
+++ lxsession-0.5.6/man/Makefile.am
@@ -7,7 +7,6 @@
     lxsession-default-terminal.1 \
     lxsession-default-apps.1 \
     lxsettings-daemon.1 \
-    lxpolkit.1 \
     lxsession-edit.1 \
     lxsession-db.1 \
     lxsession-xdg-autostart.1
--- lxsession-0.5.6/lxsession-logout/lxsession-logout.c
+++ lxsession-0.5.6/lxsession-logout/lxsession-logout.c
@@ -84,6 +84,8 @@
 
     int lock_screen : 1;                /* Lock screen available */
 
+    int shutdown_doas : 1;              /*Shutdown is available via doas*/
+    int reboot_doas : 1;              /*Reboot is available via doas*/
 } HandlerContext;
 
 static gboolean lock_screen(void);
@@ -238,6 +240,8 @@
     else if (handler_context->shutdown_systemd)
         dbus_systemd_PowerOff(&err);
 
+    else if (handler_context->shutdown_doas){system("doas poweroff");}
+
     if (err)
     {
         gtk_label_set_text(GTK_LABEL(handler_context->error_label), err->message);
@@ -268,6 +272,8 @@
     else if (handler_context->reboot_systemd)
         dbus_systemd_Reboot(&err);
 
+    else if (handler_context->reboot_doas){system("doas reboot");}
+
     if (err)
     {
         gtk_label_set_text(GTK_LABEL(handler_context->error_label), err->message);
@@ -615,6 +621,13 @@
         handler_context.lock_screen = TRUE;
     }
 
+    if (!system("which doas >/dev/null 2>&1")){
+        handler_context.shutdown_available = TRUE;
+        handler_context.reboot_available = TRUE;
+        handler_context.shutdown_doas = TRUE;
+        handler_context.reboot_doas = TRUE;
+    }
+
     /* Initialize GTK (via g_option_context_parse) and parse command line arguments. */
     GOptionContext * context = g_option_context_new("");
     g_option_context_add_main_entries(context, opt_entries, GETTEXT_PACKAGE);

lxsession/PKGBUILD

# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com>
# Contributor (Arch): Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor (Arch): Angel Velasquez <angvp@archlinux.org>
# Contributor (Arch): Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Allen123456hello

pkgname=lxsession
pkgver=0.5.6
pkgrel=2
epoch=1
pkgdesc='Lightweight X11 session manager'
arch=(x86_64)
url='https://github.com/lxde/lxsession'
license=(GPL-2.0)
depends=(
  bash
  cairo
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  libx11
  which
)
makedepends=(
  intltool
  gettext-tiny
  vala
)
optdepends=(
  'opendoas: provide power buttons'
)
conflicts=(lxpolkit)
source=(https://github.com/lxde/lxsession/archive/refs/tags/0.5.6.tar.gz
        fix-without-polkit.patch)
sha512sums=(f54e2bf802374667d7557b0129373a3972e1395a21a856e9f74535cba913ceb4b109c1856426cd4ca7f5759d158d63b7068e16d9fc6b4a2102ad89eb5abccb23
            e55e515440c230b67cbe605a80b91997abe11ea73b4aa4d71f501eaad8495361697e2c2a8df3f3ba5eec97ad0c5319098ebc8c45246157f6f87b7c6e55b8451a)

prepare() {
  cd $pkgname-$pkgver

  patch -p1 < ../fix-without-polkit.patch
  rm -rf lxpolkit man/lxpolkit.1

  # https://github.com/lxde/lxsession/pull/44
  sed -i 's/^NotShowIn=.*/OnlyShowIn=LXDE;/' data/lxpolkit.desktop.in.in

  mkdir m4
  autoreconf -fi
  intltoolize
}

build() {
  cd $pkgname-$pkgver
   ./configure \
     --prefix=/usr \
     --sysconfdir=/etc \
     --localstatedir=/var \
     --libexecdir=/usr/lib \
     --enable-gtk3 \
     --disable-dbus \
     --disable-polkit \
     --disable-elogind \
     --disable-buildin-polkit
  make
}

package() {
  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -Dm644 "$srcdir/$pkgbase-$pkgver/COPYING" -t "$pkgdir/usr/share/licenses/$pkgname"
}

8

Re: LXDE can run on Hyperbola without problemtic dependencies

So far working systems being as free as possible current:

ThinkPad T440p
ThinkPad T480

(and their counterparts of the same generation alike T480s also)

I recommend looking into the supported boards at Coreboot. smile

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

9

Re: LXDE can run on Hyperbola without problemtic dependencies

About trash-implementation: Did you analyze it deeper? Perhaps it could be possible to replace this together (you and me) so making a patch with something like rmw instead.

https://github.com/theimpossibleastronaut/rmw

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!