lxde: various updates / cleanup (#436105)

Sandro f770149a 1f7d0b60

Changed files
+170 -161
pkgs
by-name
li
libfm
lx
lxterminal
me
menu-cache
desktops
+11 -18
pkgs/by-name/li/libfm/package.nix
···
{
lib,
stdenv,
-
fetchurl,
fetchpatch,
glib,
intltool,
menu-cache,
···
in
stdenv.mkDerivation (finalAttrs: {
pname = if extraOnly then "libfm-extra" else "libfm";
-
version = "1.3.2";
-
src = fetchurl {
-
url = "mirror://sourceforge/pcmanfm/libfm-${finalAttrs.version}.tar.xz";
-
sha256 = "sha256-pQQmMDBM+OXYz/nVZca9VG8ii0jJYBU+02ajTofK0eU=";
};
-
patches = [
-
# Add casts to fix -Werror=incompatible-pointer-types
-
(fetchpatch {
-
url = "https://github.com/lxde/libfm/commit/fbcd183335729fa3e8dd6a837c13a23ff3271000.patch";
-
hash = "sha256-RbX8jkP/5ao6NWEnv8Pgy4zwZaiDsslGlRRWdoV3enA=";
-
})
-
];
-
nativeBuildInputs = [
vala
pkg-config
intltool
];
buildInputs = [
glib
···
++ optional withGtk3 "--with-gtk=3";
installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
-
-
postPatch = ''
-
# Ensure the files are re-generated from Vala sources.
-
rm src/actions/*.c
-
'';
# libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm
postInstall = optionalString (!extraOnly) ''
···
{
lib,
stdenv,
+
fetchFromGitHub,
fetchpatch,
+
autoreconfHook,
+
gtk-doc,
glib,
intltool,
menu-cache,
···
in
stdenv.mkDerivation (finalAttrs: {
pname = if extraOnly then "libfm-extra" else "libfm";
+
version = "1.4.0";
+
src = fetchFromGitHub {
+
owner = "lxde";
+
repo = "libfm";
+
tag = finalAttrs.version;
+
hash = "sha256-dmu5ygPuZe2YWAzIVPx5zskQeB51hXcLbMczxWgCr78=";
};
nativeBuildInputs = [
+
autoreconfHook
vala
pkg-config
intltool
+
gtk-doc
];
buildInputs = [
glib
···
++ optional withGtk3 "--with-gtk=3";
installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
# libfm-extra is pulled in by menu-cache and thus leads to a collision for libfm
postInstall = optionalString (!extraOnly) ''
+3 -9
pkgs/by-name/lx/lxterminal/package.nix
···
lib,
stdenv,
fetchFromGitHub,
-
automake,
-
autoconf,
intltool,
pkg-config,
gtk3,
···
owner = "lxde";
repo = "lxterminal";
tag = finalAttrs.version;
-
sha256 = "sha256-oDWh0U4QWJ84hTfq1oaAmDJM+IY0eJqOUey0qBgZN5U=";
};
configureFlags = [
···
];
nativeBuildInputs = [
-
automake
-
autoconf
intltool
pkg-config
wrapGAppsHook3
···
patches = [
./respect-xml-catalog-files-var.patch
];
-
-
preConfigure = ''
-
./autogen.sh
-
'';
doCheck = true;
···
lib,
stdenv,
fetchFromGitHub,
+
autoreconfHook,
intltool,
pkg-config,
gtk3,
···
owner = "lxde";
repo = "lxterminal";
tag = finalAttrs.version;
+
hash = "sha256-oDWh0U4QWJ84hTfq1oaAmDJM+IY0eJqOUey0qBgZN5U=";
};
configureFlags = [
···
];
nativeBuildInputs = [
+
autoreconfHook
intltool
pkg-config
wrapGAppsHook3
···
patches = [
./respect-xml-catalog-files-var.patch
];
doCheck = true;
+19 -22
pkgs/by-name/me/menu-cache/package.nix
···
{
lib,
stdenv,
-
fetchurl,
-
fetchpatch,
glib,
pkg-config,
libfm-extra,
}:
-
stdenv.mkDerivation rec {
pname = "menu-cache";
-
version = "1.1.0";
-
src = fetchurl {
-
url = "mirror://sourceforge/lxde/menu-cache-${version}.tar.xz";
-
sha256 = "1iry4zlpppww8qai2cw4zid4081hh7fz8nzsp5lqyffbkm2yn0pd";
};
-
patches = [
-
# Pull patch pending upstream inclusion for -fno-common toolchain support:
-
# https://github.com/lxde/menu-cache/pull/19
-
(fetchpatch {
-
name = "fno-common.patch";
-
url = "https://github.com/lxde/menu-cache/commit/1ce739649b4d66339a03fc0ec9ee7a2f7c141780.patch";
-
sha256 = "08x3h0w2pl8ifj83v9jkf4j3zxcwsyzh251divlhhnwx0rw1pyn7";
-
})
];
-
-
nativeBuildInputs = [ pkg-config ];
buildInputs = [
glib
libfm-extra
];
-
meta = with lib; {
description = "Library to read freedesktop.org menu files";
homepage = "https://blog.lxde.org/tag/menu-cache/";
-
license = licenses.gpl2Plus;
-
maintainers = [ maintainers.ttuegel ];
-
platforms = platforms.linux ++ platforms.darwin;
};
-
}
···
{
lib,
stdenv,
+
fetchFromGitHub,
glib,
pkg-config,
libfm-extra,
+
autoreconfHook,
+
gtk-doc,
}:
+
stdenv.mkDerivation (finalAttrs: {
pname = "menu-cache";
+
version = "1.1.1";
+
src = fetchFromGitHub {
+
owner = "lxde";
+
repo = "menu-cache";
+
tag = finalAttrs.version;
+
hash = "sha256-5Vp2btrflimy+Hq+3MLpic/quZMJ3uwsMq12G7s4DGI=";
};
+
nativeBuildInputs = [
+
autoreconfHook
+
pkg-config
+
gtk-doc
];
buildInputs = [
glib
libfm-extra
];
+
meta = {
description = "Library to read freedesktop.org menu files";
homepage = "https://blog.lxde.org/tag/menu-cache/";
+
license = lib.licenses.gpl2Plus;
+
maintainers = [ lib.maintainers.ttuegel ];
+
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
+
})
+23 -11
pkgs/desktops/lxde/core/lxappearance/default.nix
···
{
lib,
stdenv,
-
fetchurl,
intltool,
pkg-config,
libX11,
gtk2,
gtk3,
wrapGAppsHook3,
withGtk3 ? true,
}:
-
stdenv.mkDerivation rec {
pname = "lxappearance";
-
version = "0.6.3";
-
src = fetchurl {
-
url = "mirror://sourceforge/project/lxde/LXAppearance/${pname}-${version}.tar.xz";
-
sha256 = "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj";
};
nativeBuildInputs = [
pkg-config
intltool
wrapGAppsHook3
];
buildInputs = [
···
./lxappearance-0.6.3-xdg.system.data.dirs.patch
];
configureFlags = lib.optional withGtk3 "--enable-gtk3";
-
meta = with lib; {
description = "Lightweight program for configuring the theme and fonts of gtk applications";
mainProgram = "lxappearance";
homepage = "https://lxde.org/";
-
license = licenses.gpl2Plus;
-
platforms = platforms.linux;
-
maintainers = with maintainers; [ romildo ];
};
-
}
···
{
lib,
stdenv,
+
fetchFromGitHub,
+
autoreconfHook,
intltool,
pkg-config,
libX11,
gtk2,
gtk3,
+
libxslt,
+
docbook_xsl,
wrapGAppsHook3,
withGtk3 ? true,
}:
+
stdenv.mkDerivation (finalAttrs: {
pname = "lxappearance";
+
version = "0.6.4";
+
src = fetchFromGitHub {
+
owner = "lxde";
+
repo = "lxappearance";
+
tag = finalAttrs.version;
+
hash = "sha256-t5P3JYGZzhTaJ3s23r6yrAQoFcCV5uteHh67sWY1KrI=";
};
+
enableParallelBuilding = true;
+
nativeBuildInputs = [
pkg-config
intltool
wrapGAppsHook3
+
autoreconfHook
+
libxslt
+
docbook_xsl
];
buildInputs = [
···
./lxappearance-0.6.3-xdg.system.data.dirs.patch
];
+
env.XSLTPROC = lib.getExe' libxslt "xsltproc";
+
configureFlags = lib.optional withGtk3 "--enable-gtk3";
+
meta = {
description = "Lightweight program for configuring the theme and fonts of gtk applications";
mainProgram = "lxappearance";
homepage = "https://lxde.org/";
+
license = lib.licenses.gpl2Plus;
+
platforms = lib.platforms.linux;
+
maintainers = with lib.maintainers; [ romildo ];
};
+
})
+18 -8
pkgs/desktops/lxde/core/lxmenu-data/default.nix
···
{
lib,
stdenv,
-
fetchurl,
intltool,
}:
-
stdenv.mkDerivation rec {
pname = "lxmenu-data";
-
version = "0.1.5";
-
src = fetchurl {
-
url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz";
-
sha256 = "9fe3218d2ef50b91190162f4f923d6524c364849f87bcda8b4ed8eb59b80bab8";
};
-
nativeBuildInputs = [ intltool ];
meta = {
homepage = "https://lxde.org/";
···
description = "Freedesktop.org desktop menus for LXDE";
platforms = lib.platforms.linux;
};
-
}
···
{
lib,
stdenv,
+
fetchFromGitHub,
+
autoreconfHook,
intltool,
+
pkg-config,
+
glib,
}:
+
stdenv.mkDerivation (finalAttrs: {
pname = "lxmenu-data";
+
version = "0.1.6";
+
src = fetchFromGitHub {
+
owner = "lxde";
+
repo = "lxmenu-data";
+
tag = finalAttrs.version;
+
hash = "sha256-5QdQ+7nzj7wDrfdt4GT8VW4+sHgZdE7h3cReY2pmcak=";
};
+
nativeBuildInputs = [
+
autoreconfHook
+
intltool
+
pkg-config
+
glib
+
];
meta = {
homepage = "https://lxde.org/";
···
description = "Freedesktop.org desktop menus for LXDE";
platforms = lib.platforms.linux;
};
+
})
+12 -21
pkgs/desktops/lxde/core/lxpanel/default.nix
···
{
lib,
stdenv,
-
fetchurl,
-
fetchpatch2,
pkg-config,
gettext,
m4,
···
stdenv.mkDerivation (finalAttrs: {
pname = "lxpanel";
-
version = "0.10.1";
-
src = fetchurl {
-
url = "mirror://sourceforge/lxde/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
-
sha256 = "sha256-HjGPV9fja2HCOlBNA9JDDHja0ULBgERRBh8bPqVEHug=";
};
-
patches = [
-
# fix build with gcc14
-
# https://github.com/lxde/lxpanel/commit/0853b0fc981285ebd2ac52f8dfc2a09b1090748c
-
(fetchpatch2 {
-
url = "https://github.com/lxde/lxpanel/commit/0853b0fc981285ebd2ac52f8dfc2a09b1090748c.patch?full_index=1";
-
hash = "sha256-lj4CWdiUQhEc9J8UNKcP7/tmsGnPjA5pwXAok5YFW4M=";
-
})
-
];
nativeBuildInputs = [
pkg-config
gettext
m4
intltool
libxmlxx
];
buildInputs = [
(if withGtk3 then keybinder3 else keybinder)
(if withGtk3 then gtk3 else gtk2)
···
]
++ lib.optional supportAlsa alsa-lib;
-
postPatch = ''
-
substituteInPlace src/Makefile.in \
-
--replace "@PACKAGE_CFLAGS@" "@PACKAGE_CFLAGS@ -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
-
substituteInPlace plugins/Makefile.in \
-
--replace "@PACKAGE_CFLAGS@" "@PACKAGE_CFLAGS@ -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0"
-
'';
-
configureFlags = lib.optional withGtk3 "--enable-gtk3";
meta = {
···
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.ryneeverett ];
platforms = lib.platforms.linux;
};
})
···
{
lib,
stdenv,
+
fetchFromGitHub,
+
autoreconfHook,
pkg-config,
gettext,
m4,
···
stdenv.mkDerivation (finalAttrs: {
pname = "lxpanel";
+
version = "0.11.1";
+
src = fetchFromGitHub {
+
owner = "lxde";
+
repo = "lxpanel";
+
tag = finalAttrs.version;
+
hash = "sha256-jpe5AfRkyTVKQ9biOJiWKv0OVqP8gRCzfhSLDjnrEPc=";
};
+
enableParallelBuilding = true;
nativeBuildInputs = [
+
autoreconfHook
pkg-config
gettext
m4
intltool
libxmlxx
];
+
buildInputs = [
(if withGtk3 then keybinder3 else keybinder)
(if withGtk3 then gtk3 else gtk2)
···
]
++ lib.optional supportAlsa alsa-lib;
configureFlags = lib.optional withGtk3 "--enable-gtk3";
meta = {
···
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.ryneeverett ];
platforms = lib.platforms.linux;
+
mainProgram = "lxpanel";
};
})
+30 -12
pkgs/desktops/lxde/core/lxrandr/default.nix
···
{
lib,
stdenv,
-
fetchurl,
pkg-config,
intltool,
gtk2,
···
xrandr,
withGtk3 ? false,
gtk3,
}:
-
stdenv.mkDerivation rec {
pname = "lxrandr";
-
version = "0.3.2";
-
src = fetchurl {
-
url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz";
-
sha256 = "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb";
};
-
configureFlags = lib.optional withGtk3 "--enable-gtk3";
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libX11
xrandr
(if withGtk3 then gtk3 else gtk2)
];
-
meta = with lib; {
description = "Standard screen manager of LXDE";
mainProgram = "lxrandr";
homepage = "https://lxde.org/";
-
license = licenses.gpl2Plus;
-
maintainers = with maintainers; [ rawkode ];
-
platforms = platforms.linux;
};
-
}
···
{
lib,
stdenv,
+
fetchFromGitHub,
pkg-config,
intltool,
gtk2,
···
xrandr,
withGtk3 ? false,
gtk3,
+
autoreconfHook,
+
libxslt,
+
docbook_xsl,
+
docbook_xml_dtd_412,
+
libxml2,
}:
+
stdenv.mkDerivation (finalAttrs: {
pname = "lxrandr";
+
version = "0.3.3";
+
src = fetchFromGitHub {
+
owner = "lxde";
+
repo = "lxrandr";
+
tag = finalAttrs.version;
+
hash = "sha256-EGUnvV1FqQUJkjGwxgVecXOohAu8Qa8Prgk6xZfJBe4=";
};
+
configureFlags = [
+
"--enable-man"
+
]
+
++ lib.optional withGtk3 "--enable-gtk3";
nativeBuildInputs = [
+
autoreconfHook
pkg-config
intltool
+
libxslt
+
libxml2
+
docbook_xml_dtd_412
+
docbook_xsl
];
+
+
patches = [ ./respect-xml-catalog-files-var.patch ];
+
buildInputs = [
libX11
xrandr
(if withGtk3 then gtk3 else gtk2)
];
+
meta = {
description = "Standard screen manager of LXDE";
mainProgram = "lxrandr";
homepage = "https://lxde.org/";
+
license = lib.licenses.gpl2Plus;
+
maintainers = with lib.maintainers; [ rawkode ];
+
platforms = lib.platforms.linux;
};
+
})
+15
pkgs/desktops/lxde/core/lxrandr/respect-xml-catalog-files-var.patch
···
···
+
diff --git a/acinclude.m4 b/acinclude.m4
+
index be626c5..b449b1b 100644
+
--- a/acinclude.m4
+
+++ b/acinclude.m4
+
@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
+
[
+
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+
- if $jh_found_xmlcatalog && \
+
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
+
AC_MSG_RESULT([found])
+
ifelse([$3],,,[$3
+
])dnl
+19 -30
pkgs/desktops/lxde/core/lxsession/default.nix
···
{
lib,
stdenv,
-
fetchpatch,
fetchFromGitHub,
-
autoconf,
-
automake,
docbook_xml_dtd_412,
docbook_xsl,
intltool,
···
vala,
}:
-
stdenv.mkDerivation rec {
pname = "lxsession";
-
version = "0.5.5";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxsession";
-
rev = version;
-
sha256 = "17sqsx57ymrimm5jfmcyrp7b0nzi41bcvpxsqckmwbhl19g6c17d";
};
-
patches = [
-
./xmlcatalog_patch.patch
-
-
# lxsession compilation is broken upstream as of GCC 14
-
# https://sourceforge.net/p/lxde/bugs/973/
-
(fetchpatch {
-
name = "0001-Fix-build-on-GCC-14.patch";
-
url = "https://sourceforge.net/p/lxde/bugs/973/attachment/0001-Fix-build-on-GCC-14.patch";
-
hash = "sha256-lxF3HZy5uLK7Cfu8W1A03syZf7OWXpHiU2Fk+xBl39g=";
-
})
-
];
-
nativeBuildInputs = [
-
autoconf
-
automake
-
docbook_xml_dtd_412
-
docbook_xsl
intltool
libxml2
libxslt
pkg-config
wrapGAppsHook3
];
buildInputs = [
···
"--enable-man"
"--disable-buildin-clipboard"
"--disable-buildin-polkit"
-
"--with-xml-catalog=${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml"
];
-
preConfigure = "./autogen.sh";
-
meta = with lib; {
homepage = "https://wiki.lxde.org/en/LXSession";
description = "Classic LXDE session manager";
-
license = licenses.gpl2Plus;
-
maintainers = [ maintainers.shamilton ];
-
platforms = platforms.linux;
};
-
}
···
{
lib,
stdenv,
fetchFromGitHub,
+
autoreconfHook,
docbook_xml_dtd_412,
docbook_xsl,
intltool,
···
vala,
}:
+
stdenv.mkDerivation (finalAttrs: {
pname = "lxsession";
+
version = "0.5.6";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxsession";
+
tag = finalAttrs.version;
+
hash = "sha256-3RnRF4oMCtZbIraHVqEPnkviAkELq7uYqyHY0uCf/lU=";
};
nativeBuildInputs = [
+
autoreconfHook
intltool
libxml2
libxslt
pkg-config
wrapGAppsHook3
+
docbook_xml_dtd_412
+
docbook_xsl
];
buildInputs = [
···
"--enable-man"
"--disable-buildin-clipboard"
"--disable-buildin-polkit"
];
+
postPatch = ''
+
mkdir -p m4
+
'';
+
patches = [ ./repect-xml-catalog-file-var.patch ];
+
+
meta = {
homepage = "https://wiki.lxde.org/en/LXSession";
description = "Classic LXDE session manager";
+
license = lib.licenses.gpl2Plus;
+
maintainers = [ lib.maintainers.shamilton ];
+
platforms = lib.platforms.linux;
+
mainProgram = "lxsession";
};
+
})
+13
pkgs/desktops/lxde/core/lxsession/repect-xml-catalog-file-var.patch
···
···
+
--- a/acinclude.m4 2025-08-24 00:39:08.807857027 +0200
+
+++ b/acinclude.m4 2025-08-24 00:49:23.043780737 +0200
+
@@ -40,8 +40,8 @@
+
[
+
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+
- if $jh_found_xmlcatalog && \
+
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
+
AC_MSG_RESULT([found])
+
ifelse([$3],,,[$3
+
])dnl
-23
pkgs/desktops/lxde/core/lxsession/xmlcatalog_patch.patch
···
-
diff --color -ur a/configure.ac b/configure.ac
-
--- a/configure.ac 2021-01-18 12:39:19.556844678 +0100
-
+++ b/configure.ac 2021-01-18 17:26:47.989410501 +0100
-
@@ -167,18 +167,7 @@
-
AM_GLIB_GNU_GETTEXT
-
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
-
-
-if test x"$enable_man" = x"yes"; then
-
- AC_PATH_PROG([XSLTPROC], [xsltproc])
-
- if test -z "$XSLTPROC"; then
-
- enable_man=no
-
- fi
-
-
-
- dnl check for DocBook DTD and stylesheets in the local catalog.
-
- JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
-
- [DocBook XML DTD V4.1.2], [], enable_man=no)
-
- JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
-
- [DocBook XSL Stylesheets >= 1.70.1], [], enable_man=no)
-
-fi
-
+AC_PATH_PROG([XSLTPROC], [xsltproc])
-
-
AM_CONDITIONAL(ENABLE_REGENERATE_MAN, test "x$enable_man" != "xno")
-
···
+7 -7
pkgs/desktops/lxde/core/lxtask/default.nix
···
gitUpdater,
}:
-
stdenv.mkDerivation rec {
pname = "lxtask";
version = "0.1.12";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxtask";
-
rev = version;
hash = "sha256-BI50jV/17jGX91rcmg98+gkoy35oNpdSSaVDLyagbIc=";
};
···
passthru.updateScript = gitUpdater { };
-
meta = with lib; {
homepage = "https://lxde.sourceforge.net/";
description = "Lightweight and desktop independent task manager";
mainProgram = "lxtask";
···
Desktop Environment, it's totally desktop independent and only
requires pure GTK.
'';
-
license = licenses.gpl2Plus;
-
platforms = platforms.unix;
-
maintainers = [ maintainers.romildo ];
};
-
}
···
gitUpdater,
}:
+
stdenv.mkDerivation (finalAttrs: {
pname = "lxtask";
version = "0.1.12";
src = fetchFromGitHub {
owner = "lxde";
repo = "lxtask";
+
tag = finalAttrs.version;
hash = "sha256-BI50jV/17jGX91rcmg98+gkoy35oNpdSSaVDLyagbIc=";
};
···
passthru.updateScript = gitUpdater { };
+
meta = {
homepage = "https://lxde.sourceforge.net/";
description = "Lightweight and desktop independent task manager";
mainProgram = "lxtask";
···
Desktop Environment, it's totally desktop independent and only
requires pure GTK.
'';
+
license = lib.licenses.gpl2Plus;
+
platforms = lib.platforms.unix;
+
maintainers = [ lib.maintainers.romildo ];
};
+
})