aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/lxde.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/lxde.scm')
-rw-r--r--gnu/packages/lxde.scm242
1 files changed, 242 insertions, 0 deletions
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index e8db6271f5..e7654053d8 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -19,13 +19,22 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages lxde)
+ #:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages docbook)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages openbox)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages polkit)
+ #:use-module (gnu packages wm)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -219,4 +228,237 @@ with freedesktop.org standard.")
(home-page "http://lxde.org")
(license license:gpl2+)))
+(define-public lxmenu-data
+ (package
+ (name "lxmenu-data")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.sourceforge.net/lxde/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1f5sh2dvb3pdnjlcsyzq9543ck2jsqizkx3204cr22zm5s6j3qwz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,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 "http://lxde.org")
+ (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 "http://lxde.org")
+ (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)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)
+ ("lxmenu-data" ,lxmenu-data)
+ ("lxde-icon-theme" ,lxde-icon-theme)))
+ (synopsis "Common files of the LXDE Desktop")
+ (description
+ "Lxde-common provides common files of the LXDE Desktop.")
+ (home-page "http://lxde.org")
+ (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 "http://lxde.org")
+ (license license:gpl2+)))
+
+(define-public lxsession
+ (package
+ (name "lxsession")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.sourceforge.net/lxde/"
+ name "-" version ".tar.xz"))
+ (patches (search-patches "lxsession-use-gapplication.patch"))
+ (sha256
+ (base32
+ "1a0zmyywwzdh59nc0l94cir18vhp633z4q2xfhn5zx11ajj45gwh"))
+ (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?))))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'rm-stamp
+ (lambda _
+ (for-each delete-file (find-files "." "\\.stamp$"))))
+ (add-after 'rm-stamp 'autoreconf
+ (lambda _
+ (zero? (system* "autoreconf" "-vfi")))))))
+ (inputs
+ `(("gtk+-2" ,gtk+-2)
+ ("polkit" ,polkit)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("intltool" ,intltool)
+ ("docbook-xsl" ,docbook-xsl)
+ ("vala" ,vala)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (synopsis "Lightweight X11 session manager")
+ (description
+ "Lxsession provides an lightweight X11 session manager.")
+ (home-page "http://lxde.org")
+ (license license:gpl2+)))
+
+(define-public lxpanel
+ (package
+ (name "lxpanel")
+ (version "0.9.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://downloads.sourceforge.net/lxde/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1ccgv7jgl3y865cpb6w7baaz7468fxncm83bqxlwyni5bwhglb1l"))))
+ (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
+ `(("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 "http://lxde.org")
+ (license license:gpl2+)))
+
+(define-public lxde
+ (package
+ (name "lxde")
+ (version (package-version lxde-common))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments '(#:builder (mkdir %output)))
+ (propagated-inputs
+ ;; TODO:
+ ;; lxshortcut, lxsession-edit, gpicview, leafpad,
+ ;; lxappearance-obconf
+ `(("menu-cache" ,menu-cache)
+ ("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.org")
+ (license license:gpl2+))) ; And others.
+
;;; lxde.scm ends here