gnu: Add lxsession.

* gnu/packages/lxde.scm (lxsession): New variable.
* gnu/packages/patches/lxsession-use-gapplication.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
ng0 2017-01-23 16:39:12 +00:00 committed by Ludovic Courtès
parent f3b3af37d4
commit d3897349e9
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 195 additions and 0 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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