;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 Nikita ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Brendan Tildesley ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 ison ;;; Copyright © 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Meiyo Peng ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages lxde) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages curl) #:use-module (gnu packages disk) #:use-module (gnu packages docbook) #:use-module (gnu packages file-systems) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image-viewers) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages
From e760d181abd20ecb98654af63faec7b2a4d61189 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Mon, 25 Jun 2018 15:02:25 +0200
Subject: [PATCH] Rename removes in maps to fix java8.

* src/java/org/apache/commons/collections/MultiHashMap.java:
Rename "V MultiHashMap#remove(K, V)"
to "boolean MulitHashMap#removeMapping(K, V)".
* src/java/org/apache/commons/collections/MultiMap.java:
Rename "V MultiMap#remove(K, V)"
to "boolean MultiMap#removeMapping(K, V)".
* src/java/org/apache/commons/collections/map/MultiKeyMap.java:
Rename "V MultiKeyMap#remove(...)"
to "V MultiKeyMap#removeMultiKey(...)".
* src/java/org/apache/commons/collections/map/MultiValueMap.java:
Rename "V MultiValueMap#remove(K, V)"
to "boolean MultiValueMap#removeMapping(K, V)".
* src/test/org/apache/commons/collections/TestMultiHashMap.java:
Adjust accordingly.
* src/test/org/apache/commons/collections/map/TestMultiKeyMap.java:
Adjust accordingly.
* src/test/org/apache/commons/collections/map/TestMultiValueMap.java:
Adjust accordingly.
---
 .../commons/collections/MultiHashMap.java      |  8 ++++----
 .../apache/commons/collections/MultiMap.java   |  2 +-
 .../commons/collections/map/MultiKeyMap.java   |  8 ++++----
 .../commons/collections/map/MultiValueMap.java |  8 ++++----
 .../commons/collections/TestMultiHashMap.java  | 16 ++++++++--------
 .../collections/map/TestMultiKeyMap.java       | 16 ++++++++--------
 .../collections/map/TestMultiValueMap.java     | 18 +++++++++---------
 7 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/src/java/org/apache/commons/collections/MultiHashMap.java b/src/java/org/apache/commons/collections/MultiHashMap.java
index 7fec9af..482ecbd 100644
--- a/src/java/org/apache/commons/collections/MultiHashMap.java
+++ b/src/java/org/apache/commons/collections/MultiHashMap.java
@@ -331,21 +331,21 @@ public class MultiHashMap extends HashMap implements MultiMap {
      * @param item  the value to remove
      * @return the value removed (which was passed in), null if nothing removed
      */
-    public Object remove(Object key, Object item) {
+    public boolean removeMapping(Object key, Object item) {
         Collection valuesForKey = getCollection(key);
         if (valuesForKey == null) {
-            return null;
+            return false;
         }
         boolean removed = valuesForKey.remove(item);
         if (removed == false) {
-            return null;
+            return false;
         }
         // remove the list if it is now empty
         // (saves space, and allows equals to work)
         if (valuesForKey.isEmpty()){
             remove(key);
         }
-        return item;
+        return true;
     }
 
     /**
diff --git a/src/java/org/apache/commons/collections/MultiMap.java b/src/java/org/apache/commons/collections/MultiMap.java
index be9455b..fe54234 100644
--- a/src/java/org/apache/commons/collections/MultiMap.java
+++ b/src/java/org/apache/commons/collections/MultiMap.java
@@ -66,7 +66,7 @@ public interface MultiMap extends Map {
      * @throws ClassCastException if the key or value is of an invalid type
      * @throws NullPointerException if the key or value is null and null is invalid
      */
-    public Object remove(Object key, Object item);
+    public boolean removeMapping(Object key, Object item);
 
     //-----------------------------------------------------------------------
     /**
diff --git a/src/java/org/apache/commons/collections/map/MultiKeyMap.java b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
index 9e3e02d..0b99b65 100644
--- a/src/java/org/apache/commons/collections/map/MultiKeyMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiKeyMap.java
@@ -197,7 +197,7 @@ public class MultiKeyMap
      * @param key2  the second key
      * @return the value mapped to the removed key, null if key not in map
      */
-    public Object remove(Object key1, Object key2) {
+    public Object removeMultiKey(Object key1, Object key2) {
         int hashCode = hash(key1, key2);
         int index = map.hashIndex(hashCode, map.data.length);
         AbstractHashedMap.HashEntry entry = map.data[index];
@@ -327,7 +327,7 @@ public class MultiKeyMap
      * @param key3  the third key
      * @return the value mapped to the removed key, null if key not in map
      */
-    public Object remove(Object key1, Object key2, Object key3) {
+    public Object removeMultiKey(Object key1, Object key2, Object key3) {
         int hashCode = hash(key1, key2, key3);
         int index = map.hashIndex(hashCode, map.data.length);
         AbstractHashedMap.HashEntry entry = map.data[index];
@@ -467,7 +467,7 @@ public class MultiKeyMap
      * @param key4  the fourth key
      * @return the value mapped to the removed key, null if key not in map
      */
-    public Object remove(Object key1, Object key2, Object key3, Object key4) {
+    public Object removeMultiKey(Object key1, Object key2, Object key3, Object key4) {
         int hashCode = hash(key1, key2, key3, key4);
         int index = map.hashIndex(hashCode, map.data.length);
         AbstractHashedMap.HashEntry entry = map.data[index];
@@ -617,7 +617,7 @@ public class MultiKeyMap
      * @param key5  the fifth key
      * @return the value mapped to the removed key, null if key not in map
      */
-    public Object remove(Object key1, Object key2, Object key3, Object key4, Object key5) {
+    public Object removeMultiKey(Object key1, Object key2, Object key3, Object key4, Object key5) {
         int hashCode = hash(key1, key2, key3, key4, key5);
         int index = map.hashIndex(hashCode, map.data.length);
         AbstractHashedMap.HashEntry entry = map.data[index];
diff --git a/src/java/org/apache/commons/collections/map/MultiValueMap.java b/src/java/org/apache/commons/collections/map/MultiValueMap.java
index f44999b..86eaeb0 100644
--- a/src/java/org/apache/commons/collections/map/MultiValueMap.java
+++ b/src/java/org/apache/commons/collections/map/MultiValueMap.java
@@ -153,19 +153,19 @@ public class MultiValueMap extends AbstractMapDecorator implements MultiMap {
      * @param value the value to remove
      * @return the value removed (which was passed in), null if nothing removed
      */
-    public Object remove(Object key, Object value) {
+    public boolean removeMapping(Object key, Object value) {
         Collection valuesForKey = getCollection(key);
         if (valuesForKey == null) {
-            return null;
+            return false;
         }
         boolean removed = valuesForKey.remove(value);
         if (removed == false) {
-            return null;
+            return false;
         }
         if (valuesForKey.isEmpty()) {
             remove(key);
         }
-        return value;
+        return true;
     }
 
     /**
diff --git a/src/test/org/apache/commons/collections/TestMultiHashMap.java b/src/test/org/apache/commons/collections/TestMultiHashMap.java
index eca833a..a1de943 100644
--- a/src/test/org/apache/commons/collections/TestMultiHashMap.java
+++ b/src/test/org/apache/commons/collections/TestMultiHashMap.java
@@ -217,7 +217,7 @@ public class TestMultiHashMap extends AbstractTestMap {
         MultiHashMap one = new MultiHashMap();
         Integer value = new Integer(1);
         one.put("One", value);
-        one.remove("One", value);
+        one.removeMapping("One", value);
         
         MultiHashMap two = new MultiHashMap();
         assertEquals(two, one);
@@ -269,7 +269,7 @@ public class TestMultiHashMap extends AbstractTestMap {
         assertEquals(4, map.totalSize());
         map.remove("A");
         assertEquals(3, map.totalSize());
-        map.remove("B", "BC");
+        map.removeMapping("B", "BC");
         assertEquals(2, map.totalSize());
     }
     
@@ -292,7 +292,7 @@ public class TestMultiHashMap extends AbstractTestMap {
         map.remove("A");
         assertEquals(0, map.size("A"));
         assertEquals(3, map.size("B"));
-        map.remove("B", "BC");
+        map.removeMapping("B", "BC");
         assertEquals(0, map.size("A"));
         assertEquals(2, map.size("B"));
     }
@@ -464,11 +464,11 @@ public class TestMultiHashMap extends AbstractTestMap {
         map.put("A", "AA");
         map.put("A", "AB");
         map.put("A", "AC");
-        assertEquals(null, map.remove("C", "CA"));
-        assertEquals(null, map.remove("A", "AD"));
-        assertEquals("AC", map.remove("A", "AC"));
-        assertEquals("AB", map.remove("A", "AB"));
-        assertEquals("AA", map.remove("A", "AA"));
+        assertEquals(false, map.removeMapping("C", "CA"));
+        assertEquals(false, map.removeMapping("A", "AD"));
+        assertEquals(true, map.removeMapping("A", "AC"));
+        assertEquals(true, map.removeMapping("A", "AB"));
+        assertEquals(true, map.removeMapping("A", "AA"));
         assertEquals(new MultiHashMap(), map);
     }
 
diff --git a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
index b1ee3d0..b18f480 100644
--- a/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiKeyMap.java
@@ -315,34 +315,34 @@ public class TestMultiKeyMap extends AbstractTestIterableMap {
             switch (key.size()) {
                 case 2:
                 assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1)));
-                assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1)));
+                assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
                 assertEquals(size - 1, multimap.size());
-                assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1)));
+                assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1)));
                 break;
                 case 3:
                 assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
-                assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2)));
+                assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
                 assertEquals(size - 1, multimap.size());
-                assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2)));
+                assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2)));
                 break;
                 case 4:
                 assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
-                assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
+                assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
                 assertEquals(size - 1, multimap.size());
-                assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
+                assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3)));
                 break;
                 case 5:
                 assertEquals(true, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
-                assertEquals(value, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
+                assertEquals(value, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
                 assertEquals(size - 1, multimap.size());
-                assertEquals(null, multimap.remove(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
+                assertEquals(null, multimap.removeMultiKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
                 assertEquals(false, multimap.containsKey(key.getKey(0), key.getKey(1), key.getKey(2), key.getKey(3), key.getKey(4)));
                 break;
                 default:
diff --git a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
index b9a5ac8..9ecc269 100644
--- a/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
+++ b/src/test/org/apache/commons/collections/map/TestMultiValueMap.java
@@ -161,7 +161,7 @@ public class TestMultiValueMap extends TestCase {
         MultiValueMap one = new MultiValueMap();
         Integer value = new Integer(1);
         one.put("One", value);
-        one.remove("One", value);
+        one.removeMapping("One", value);
         
         MultiValueMap two = new MultiValueMap();
         assertEquals(two, one);
@@ -187,7 +187,7 @@ public class TestMultiValueMap extends TestCase {
         assertEquals(4, map.totalSize());
         map.remove("A");
         assertEquals(3, map.totalSize());
-        map.remove("B", "BC");
+        map.removeMapping("B", "BC");
         assertEquals(2, map.totalSize());
     }
     
@@ -204,7 +204,7 @@ public class TestMultiValueMap extends TestCase {
         assertEquals(2, map.size());
         map.remove("A");
         assertEquals(2, map.size());
-        map.remove("B", "BC");
+        map.removeMapping("B", "BC");
         assertEquals(2, map.size());
     }
     
@@ -227,7 +227,7 @@ public class TestMultiValueMap extends TestCase {
         map.remove("A");
         assertEquals(0, map.size("A"));
         assertEquals(3, map.size("B"));
-        map.remove("B", "BC");
+        map.removeMapping("B", "BC");
         assertEquals(0, map.size("A"));
         assertEquals(2, map.size("B"));
     }
@@ -338,11 +338,11 @@ public class TestMultiValueMap extends TestCase {
         map.put("A", "AA");
         map.put("A", "AB");
         map.put("A", "AC");
-        assertEquals(null, map.remove("C", "CA"));
-        assertEquals(null, map.remove("A", "AD"));
-        assertEquals("AC", map.remove("A", "AC"));
-        assertEquals("AB", map.remove("A", "AB"));
-        assertEquals("AA", map.remove("A", "AA"));
+        assertEquals(false, map.removeMapping("C", "CA"));
+        assertEquals(false, map.removeMapping("A", "AD"));
+        assertEquals(true, map.removeMapping("A", "AC"));
+        assertEquals(true, map.removeMapping("A", "AB"));
+        assertEquals(true, map.removeMapping("A", "AA"));
         assertEquals(new MultiValueMap(), map);
     }
 
-- 
2.18.0

onfig" ,pkg-config) ("intltool" ,intltool))) (synopsis "Freedesktop.org desktop menus for LXDE") (description "Lxmenu-data provides files required to build freedesktop.org menu spec-compliant desktop menus for LXDE.") (home-page "https://lxde.github.io") (license license:lgpl2.1+))) (define-public lxde-icon-theme (package (name "lxde-icon-theme") (version "0.5.1") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" name "-" version ".tar.xz")) (sha256 (base32 "0v4i6x86fr2hbx4fb2si7y2qzmj7h6hcjwaifnin18r8kwwvgl73")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "LXDE default icon theme based on nuoveXT2") (description "Lxde-icon-theme provides an default icon theme for LXDE.") (home-page "https://lxde.github.io") (license license:lgpl3))) (define-public lxde-common (package (name "lxde-common") (version "0.99.2") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" name "-" version ".tar.xz")) (sha256 (base32 "0mj84fa3f4ak1jjslrwc2q3ci9zxrxpciggviza9bjb0168brn8w")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'set-lxsession (lambda* (#:key inputs #:allow-other-keys) ;; Set the right file name for 'lxsession'. (let ((lxsession (assoc-ref inputs "lxsession"))) (substitute* "startlxde.in" (("^exec .*/bin/lxsession") (string-append "exec " lxsession "/bin/lxsession"))) #t)))))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("lxmenu-data" ,lxmenu-data) ("lxde-icon-theme" ,lxde-icon-theme))) (inputs `(("lxsession" ,lxsession) ;; ("lxlock" ,lxlock) ;for 'lxde-screenlock.desktop' )) (synopsis "Common files of the LXDE Desktop") (description "Lxde-common provides common files of the LXDE Desktop.") (home-page "https://lxde.github.io") (license license:gpl2+))) (define-public lxinput (package (name "lxinput") (version "0.3.5") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" name "-" version ".tar.xz")) (sha256 (base32 "123f3yn4rp1w5b3n5aj3ad9snkxab29qkrs7bcvf5bx4cn57g3sf")))) (build-system gnu-build-system) (inputs `(("gtk+-2" ,gtk+-2))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) (synopsis "Tool for mouse and keyboard configuration in LXDE") (description "Lxinput provides a small program to configure keyboard and mouse in LXDE.") (home-page "https://lxde.github.io") (license license:gpl2+))) (define-public lxsession (package (name "lxsession") (version "0.5.5") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" "lxsession-" version ".tar.xz")) (sha256 (base32 "0imv9nysip1j9lrb2z96kl05isjgp312323wnnd5b59h0ff0sgp4")) (modules '((guix build utils))) (snippet ;; Remove C files generated by Vala so we can build from source. '(let* ((c->vala (lambda (file) (string-append (string-drop-right file 2) ".vala"))) (generated-c-file? (lambda (file stat) (and (string-suffix? ".c" file) (file-exists? (c->vala file)))))) (for-each delete-file (find-files "." generated-c-file?)) #t)))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'rm-stamp (lambda _ (for-each delete-file (find-files "." "\\.stamp$")) ;; Force regeneration of configure script. (delete-file "configure") #t))))) (inputs `(("gtk+-2" ,gtk+-2) ("polkit" ,polkit))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("docbook-xsl" ,docbook-xsl) ("vala" ,vala) ;; For bootstrapping. ("autoconf" ,autoconf) ("automake" ,automake))) (synopsis "Lightweight X11 session manager") (description "Lxsession provides an lightweight X11 session manager.") (home-page "https://lxde.github.io") (license license:gpl2+))) (define-public lxpanel (package (name "lxpanel") (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" "lxpanel-" version ".tar.xz")) (sha256 (base32 "0zis3b815p375s6mymhf5sn1a0c1xv0ixxzb0mh3fqhrby6cqy26")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (menu (assoc-ref inputs "lxmenu-data"))) (wrap-program (string-append out "/bin/lxpanel") `("XDG_DATA_DIRS" ":" prefix (,(string-append menu "/share")))) #t)))))) (inputs ;; TODO: libindicator-0.3.0 `(("curl" ,curl) ("gtk+-2" ,gtk+-2) ("alsa-lib" ,alsa-lib) ("libwnck-2" ,libwnck-2) ("keybinder" ,keybinder) ("libxmu" ,libxmu) ("libxpm" ,libxpm) ("libxml2" ,libxml2) ("cairo" ,cairo) ("libx11" ,libx11) ("wireless-tools" ,wireless-tools))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("docbook-xml" ,docbook-xml) ("gettext-minimal" ,gettext-minimal))) (propagated-inputs `(("lxmenu-data" ,lxmenu-data) ("libfm" ,libfm) ("menu-cache" ,menu-cache))) (synopsis "X11 Desktop panel for LXDE") (description "Lxpanel provides an X11 desktop panel for LXDE.") (home-page "https://lxde.github.io") (license license:gpl2+))) (define-public lxde (package (name "lxde") (version (package-version lxde-common)) (source #f) (build-system trivial-build-system) (arguments '(#:builder (begin (mkdir %output) #t))) (propagated-inputs ;; TODO: ;; lxshortcut, lxsession-edit ;; lxappearance-obconf `(("menu-cache" ,menu-cache) ("gpicview" ,gpicview) ("leafpad" ,leafpad) ("lxappearance" ,lxappearance) ("lxde-icon-theme" ,lxde-icon-theme) ("lxde-common" ,lxde-common) ("lxmenu-data" ,lxmenu-data) ("lxpanel" ,lxpanel) ("lxrandr" ,lxrandr) ("lxsession" ,lxsession) ("libfm" ,libfm) ("libfm-extra" ,libfm-extra) ("lxtask" ,lxtask) ("lxterminal" ,lxterminal) ("pcmanfm" ,pcmanfm) ("openbox" ,openbox) ("obconf" ,obconf))) (synopsis "Lightweight X11 Desktop Environment") (description "LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop environment which is lightweight and fast. It is designed to be user friendly and slim, while keeping the resource usage low. LXDE uses less RAM and less CPU while being a feature rich desktop environment. Unlike other tightly integrated desktops LXDE strives to be modular, so each component can be used independently with few dependencies.") (home-page "https://lxde.github.io") (license license:gpl2+))) ; And others. ;;; lxde.scm ends here