about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/lxde/core
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/lxde/core')
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxappearance/default.nix46
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxappearance/lxappearance-0.6.3-xdg.system.data.dirs.patch27
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxmenu-data/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxpanel/default.nix74
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxrandr/default.nix38
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxsession/default.nix67
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxsession/xmlcatalog_patch.patch23
-rw-r--r--nixpkgs/pkgs/desktops/lxde/core/lxtask/default.nix40
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 ];
+  };
+}