summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/lxde.scm42
-rw-r--r--gnu/packages/patches/lxsession-use-gapplication.patch152
3 files changed, 195 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 2466f57dee..34642af45c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -753,6 +753,7 @@ dist_patch_DATA = \
%D%/packages/patches/luajit-symlinks.patch \
%D%/packages/patches/luit-posix.patch \
%D%/packages/patches/lvm2-static-link.patch \
+ %D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index 1a3cfab0bd..87f96493cb 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -19,11 +19,14 @@
;;; 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 glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
#:use-module (guix download)
@@ -312,4 +315,43 @@ 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"))))
+ (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+)))
+
;;; lxde.scm ends here
diff --git a/gnu/packages/patches/lxsession-use-gapplication.patch b/gnu/packages/patches/lxsession-use-gapplication.patch
new file mode 100644
index 0000000000..3f2269a42f
--- /dev/null
+++ b/gnu/packages/patches/lxsession-use-gapplication.patch
@@ -0,0 +1,152 @@
+Upstream patch to remove libunique dependency, and use glib >= 2.28.0
+to handle unique apps both for GTK+ 2 and 3.
+https://sourceforge.net/p/lxde/patches/539/
+
+
+From a7d3b40a79a7a16c1f5d50d2bd466570258dae29 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com>
+Date: Sun, 22 Jan 2017 01:09:59 +0100
+Subject: [PATCH] Use GApplication for unique app handling
+
+Remove libunique dependency, and use glib >= 2.28.0 to handle unique apps both for GTK+ 2 and 3.
+---
+ Makefile.am | 6 ------
+ configure.ac | 7 +------
+ lxclipboard/main.vala | 16 +---------------
+ lxpolkit/main.vala | 16 +---------------
+ 4 files changed, 3 insertions(+), 42 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index c2e1fe8..e3a3b97 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -90,9 +90,6 @@ if USE_GTK3
+ lxclipboard_lxclipboard_VALAFLAGS += --define USE_GTK3
+ else
+ lxclipboard_lxclipboard_VALAFLAGS += --define USE_GTK2
+-lxclipboard_lxclipboard_VALAFLAGS += --pkg unique-1.0
+-lxclipboard_lxclipboard_CPPFLAGS += $(UNIQUE_CFLAGS)
+-lxclipboard_lxclipboard_LDADD += $(UNIQUE_LIBS)
+ endif
+
+ lxpolkit_lxpolkit_vala_SOURCES = \
+@@ -137,9 +134,6 @@ if USE_GTK3
+ lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK3
+ else
+ lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK2
+-lxpolkit_lxpolkit_VALAFLAGS += --pkg unique-1.0
+-lxpolkit_lxpolkit_CPPFLAGS += $(UNIQUE_CFLAGS)
+-lxpolkit_lxpolkit_LDADD += $(UNIQUE_LIBS)
+ endif
+
+ lxsession_db_lxsession_db_SOURCES = \
+diff --git a/configure.ac b/configure.ac
+index 06ddbb3..9126f4d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -45,7 +45,7 @@ PKG_CHECK_MODULES(X11, [x11])
+ AC_SUBST(X11_CFLAGS)
+ AC_SUBST(X11_LIBS)
+
+-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.6.0])
++PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.28.0])
+ AC_SUBST(GLIB_CFLAGS)
+ AC_SUBST(GLIB_LIBS)
+
+@@ -79,11 +79,6 @@ else
+ CFLAGS="$CFLAGS -D USE_GTK2"
+ gtk_modules="gtk+-2.0 >= 2.6.0"
+ VALA_GTK_LIBS="gtk+-2.0"
+-
+- PKG_CHECK_MODULES(UNIQUE, [unique-1.0])
+- AC_SUBST(UNIQUE_CFLAGS)
+- AC_SUBST(UNIQUE_LIBS)
+-
+ fi
+ PKG_CHECK_MODULES(GTK, [$gtk_modules])
+ AC_SUBST(GTK_CFLAGS)
+diff --git a/lxclipboard/main.vala b/lxclipboard/main.vala
+index bee4044..3d4a8d7 100644
+--- a/lxclipboard/main.vala
++++ b/lxclipboard/main.vala
+@@ -17,9 +17,6 @@
+ * MA 02110-1301, USA.
+ */
+ using Gtk;
+-#if USE_GTK2
+-using Unique;
+-#endif
+
+ namespace Lxsession
+ {
+@@ -28,17 +25,7 @@ namespace Lxsession
+ public static int main(string[] args)
+ {
+ Gtk.init (ref args);
+-#if USE_GTK2
+- Unique.App app = new Unique.App("org.lxde.lxclipboard", null);
+-
+- if(app.is_running)
+- {
+- message("lxclipboard is already running. Existing");
+- return 0;
+- }
+-#endif
+-# if USE_GTK3
+- Gtk.Application app = new Gtk.Application (
++ GLib.Application app = new GLib.Application (
+ "org.lxde.lxclipboard",
+ GLib.ApplicationFlags.FLAGS_NONE);
+ app.register ();
+@@ -48,7 +35,6 @@ namespace Lxsession
+ message("lxclipboard is already running. Existing");
+ return 0;
+ }
+-#endif
+
+ clipboard_start ();
+
+diff --git a/lxpolkit/main.vala b/lxpolkit/main.vala
+index c0d6ae2..50c3cb7 100644
+--- a/lxpolkit/main.vala
++++ b/lxpolkit/main.vala
+@@ -17,9 +17,6 @@
+ * MA 02110-1301, USA.
+ */
+ using Gtk;
+-#if USE_GTK2
+-using Unique;
+-#endif
+
+ const string GETTEXT_PACKAGE = "lxsession";
+
+@@ -33,17 +30,7 @@ namespace Lxsession
+ Intl.bind_textdomain_codeset(GETTEXT_PACKAGE, "utf-8");
+
+ Gtk.init (ref args);
+-#if USE_GTK2
+- Unique.App app = new Unique.App("org.lxde.lxpolkit", null);
+-
+- if(app.is_running)
+- {
+- message(_("lxpolkit is already running. Existing"));
+- return 0;
+- }
+-#endif
+-# if USE_GTK3
+- Gtk.Application app = new Gtk.Application (
++ GLib.Application app = new GLib.Application (
+ "org.lxde.lxpolkit",
+ GLib.ApplicationFlags.FLAGS_NONE);
+ app.register ();
+@@ -53,7 +40,6 @@ namespace Lxsession
+ message(_("lxpolkit is already running. Existing"));
+ return 0;
+ }
+-#endif
+
+ policykit_agent_init();
+
+--
+2.11.0
+