diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/lxde/core')
8 files changed, 335 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxappearance/default.nix b/nixpkgs/pkgs/desktops/lxde/core/lxappearance/default.nix new file mode 100644 index 000000000000..3dc93a0f3386 --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxappearance/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv +, fetchurl +, intltool +, pkg-config +, libX11 +, gtk2 +, gtk3 +, wrapGAppsHook +, 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 + wrapGAppsHook + ]; + + buildInputs = [ + libX11 + (if withGtk3 then gtk3 else gtk2) + ]; + + patches = [ + ./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 ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch b/nixpkgs/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch new file mode 100644 index 000000000000..a63882aa2a7a --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch @@ -0,0 +1,27 @@ +--- lxappearance-0.6.3/src/widget-theme.c.orig 2016-02-20 20:48:38.000000000 -0200 ++++ lxappearance-0.6.3/src/widget-theme.c 2017-06-09 17:37:53.369555085 -0300 +@@ -66,6 +66,7 @@ + static void load_themes() + { + char* dir; ++ const gchar * const * dirs; + GSList* themes = NULL, *l; + GtkTreeIter sel_it = {0}; + GtkTreeSelection* tree_sel; +@@ -85,6 +86,16 @@ + themes = load_themes_in_dir(dir, themes); + g_free(dir); + ++ /* load from sharedata theme dirs */ ++ dirs = g_get_system_data_dirs(); ++ while (*dirs != NULL) ++ { ++ dir = g_build_filename(*dirs, "themes", NULL); ++ themes = load_themes_in_dir(dir, themes); ++ g_free(dir); ++ dirs++; ++ } ++ + themes = g_slist_sort(themes, (GCompareFunc)strcmp); + for(l = themes; l; l=l->next) + { diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxmenu-data/default.nix b/nixpkgs/pkgs/desktops/lxde/core/lxmenu-data/default.nix new file mode 100644 index 000000000000..fc00c4cdad1e --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxmenu-data/default.nix @@ -0,0 +1,20 @@ +{ 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/"; + license = lib.licenses.gpl2; + description = "Freedesktop.org desktop menus for LXDE"; + platforms = lib.platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxpanel/default.nix b/nixpkgs/pkgs/desktops/lxde/core/lxpanel/default.nix new file mode 100644 index 000000000000..3fc8f0b06cd8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxpanel/default.nix @@ -0,0 +1,74 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gettext +, m4 +, intltool +, libxmlxx +, keybinder +, keybinder3 +, gtk2 +, gtk3 +, libX11 +, libfm +, libwnck +, libwnck2 +, libXmu +, libXpm +, cairo +, gdk-pixbuf +, gdk-pixbuf-xlib +, menu-cache +, lxmenu-data +, wirelesstools +, curl +, supportAlsa ? false, alsa-lib +, withGtk3 ? true +}: + +stdenv.mkDerivation rec { + pname = "lxpanel"; + version = "0.10.1"; + + src = fetchurl { + url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz"; + sha256 = "sha256-HjGPV9fja2HCOlBNA9JDDHja0ULBgERRBh8bPqVEHug="; + }; + + nativeBuildInputs = [ pkg-config gettext m4 intltool libxmlxx ]; + buildInputs = [ + (if withGtk3 then keybinder3 else keybinder) + (if withGtk3 then gtk3 else gtk2) + libX11 + (libfm.override { inherit withGtk3; }) + (if withGtk3 then libwnck else libwnck2) + libXmu + libXpm + cairo + gdk-pixbuf + gdk-pixbuf-xlib.dev + menu-cache + lxmenu-data + m4 + wirelesstools + curl + ] ++ 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 = with lib; { + description = "Lightweight X11 desktop panel for LXDE"; + homepage = "https://lxde.org/"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.ryneeverett ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxrandr/default.nix b/nixpkgs/pkgs/desktops/lxde/core/lxrandr/default.nix new file mode 100644 index 000000000000..791540468f3a --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxrandr/default.nix @@ -0,0 +1,38 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, gtk2 +, libX11 +, 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; + }; +} diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxsession/default.nix b/nixpkgs/pkgs/desktops/lxde/core/lxsession/default.nix new file mode 100644 index 000000000000..b30c195f636a --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxsession/default.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoconf +, automake +, docbook_xml_dtd_412 +, docbook_xsl +, intltool +, libxml2 +, libxslt +, pkg-config +, wrapGAppsHook +, gtk2-x11 +, libX11 +, polkit +, vala +}: + +stdenv.mkDerivation rec { + pname = "lxsession"; + version = "0.5.5"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = "lxsession"; + rev = version; + sha256 = "17sqsx57ymrimm5jfmcyrp7b0nzi41bcvpxsqckmwbhl19g6c17d"; + }; + + patches = [ ./xmlcatalog_patch.patch ]; + + nativeBuildInputs = [ + autoconf + automake + docbook_xml_dtd_412 + docbook_xsl + intltool + libxml2 + libxslt + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + gtk2-x11 + libX11 + polkit + vala + ]; + + configureFlags = [ + "--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; + }; +} diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxsession/xmlcatalog_patch.patch b/nixpkgs/pkgs/desktops/lxde/core/lxsession/xmlcatalog_patch.patch new file mode 100644 index 000000000000..644518a6eb2a --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxsession/xmlcatalog_patch.patch @@ -0,0 +1,23 @@ +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") + diff --git a/nixpkgs/pkgs/desktops/lxde/core/lxtask/default.nix b/nixpkgs/pkgs/desktops/lxde/core/lxtask/default.nix new file mode 100644 index 000000000000..2daece75cbd4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/lxde/core/lxtask/default.nix @@ -0,0 +1,40 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, intltool +, gtk3 +, libintl +}: + +stdenv.mkDerivation rec { + pname = "lxtask"; + version = "0.1.10"; + + src = fetchurl { + url = "mirror://sourceforge/lxde/${pname}-${version}.tar.xz"; + sha256 = "0b2fxg8jjjpk219gh7qa18g45365598nd2bq7rrq0bdvqjdxy5i2"; + }; + + nativeBuildInputs = [ pkg-config intltool ]; + + buildInputs = [ gtk3 libintl ]; + + configureFlags = [ "--enable-gtk3" ]; + + meta = with lib; { + homepage = "https://wiki.lxde.org/en/LXTask"; + description = "Lightweight and desktop independent task manager"; + mainProgram = "lxtask"; + longDescription = '' + LXTask is a lightweight task manager derived from xfce4 task manager + with all xfce4 dependencies removed, some bugs fixed, and some + improvement of UI. Although being part of LXDE, the Lightweight X11 + Desktop Environment, it's totally desktop independent and only + requires pure GTK. + ''; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} |