From owner-svn-ports-all@freebsd.org Mon Jul 24 12:47:47 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0745FC7D651; Mon, 24 Jul 2017 12:47:47 +0000 (UTC) (envelope-from woodsb02@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D763367230; Mon, 24 Jul 2017 12:47:46 +0000 (UTC) (envelope-from woodsb02@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v6OClkmG090050; Mon, 24 Jul 2017 12:47:46 GMT (envelope-from woodsb02@FreeBSD.org) Received: (from woodsb02@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v6OCljwe090044; Mon, 24 Jul 2017 12:47:45 GMT (envelope-from woodsb02@FreeBSD.org) Message-Id: <201707241247.v6OCljwe090044@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: woodsb02 set sender to woodsb02@FreeBSD.org using -f From: Ben Woods Date: Mon, 24 Jul 2017 12:47:45 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r446523 - in head/x11: lightdm lightdm-gtk-greeter lightdm-gtk-greeter/files lightdm/files X-SVN-Group: ports-head X-SVN-Commit-Author: woodsb02 X-SVN-Commit-Paths: in head/x11: lightdm lightdm-gtk-greeter lightdm-gtk-greeter/files lightdm/files X-SVN-Commit-Revision: 446523 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jul 2017 12:47:47 -0000 Author: woodsb02 Date: Mon Jul 24 12:47:45 2017 New Revision: 446523 URL: https://svnweb.freebsd.org/changeset/ports/446523 Log: x11/lightdm: Fix locale selection - Allow locale selection on login screen. First, lightdm must be patched to correctly detect utf8 locales, which have a UTF-8 suffix on FreeBSD instead of utf8 like on Linux systems. Secondly, we have to use locale codes in the language menuitem as FreeBSD doesn't have support for locale naming (missing _NL_IDENTIFICATION_LANGUAGE implementation). - Use @sample for lightdm-gtk-greeter config file to prevent it from being overwritten when the package is reinstalled / upgraded. PR: 220614 Submitted by: pawel MFH: 2017Q3 Added: head/x11/lightdm-gtk-greeter/files/ head/x11/lightdm-gtk-greeter/files/patch-src_lightdm-gtk-greeter.c (contents, props changed) Modified: head/x11/lightdm-gtk-greeter/Makefile head/x11/lightdm-gtk-greeter/pkg-plist head/x11/lightdm/Makefile head/x11/lightdm/files/patch-liblightdm-gobject_language.c Modified: head/x11/lightdm-gtk-greeter/Makefile ============================================================================== --- head/x11/lightdm-gtk-greeter/Makefile Mon Jul 24 12:11:29 2017 (r446522) +++ head/x11/lightdm-gtk-greeter/Makefile Mon Jul 24 12:47:45 2017 (r446523) @@ -3,6 +3,7 @@ PORTNAME= lightdm-gtk-greeter PORTVERSION= 2.0.2 +PORTREVISION= 1 CATEGORIES= x11 MASTER_SITES= https://launchpad.net/${PORTNAME}/${PORTVERSION:R}/${PORTVERSION}/+download/ @@ -19,5 +20,9 @@ GNU_CONFIGURE= yes USE_GNOME= cairo gdkpixbuf2 gtk30 intltool USE_XFCE= libexo USE_XORG= x11 + +post-install: + (cd ${STAGEDIR}${PREFIX}/etc/lightdm && ${MV} lightdm-gtk-greeter.conf \ + lightdm-gtk-greeter.conf.sample) .include Added: head/x11/lightdm-gtk-greeter/files/patch-src_lightdm-gtk-greeter.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/lightdm-gtk-greeter/files/patch-src_lightdm-gtk-greeter.c Mon Jul 24 12:47:45 2017 (r446523) @@ -0,0 +1,15 @@ +--- src/lightdm-gtk-greeter.c.orig 2017-06-08 17:51:50 UTC ++++ src/lightdm-gtk-greeter.c +@@ -2930,11 +2930,7 @@ main (int argc, char **argv) + gchar *label; + GtkWidget *radiomenuitem; + +- country = lightdm_language_get_territory (language); +- if (country) +- label = g_strdup_printf ("%s - %s", lightdm_language_get_name (language), country); +- else +- label = g_strdup (lightdm_language_get_name (language)); ++ label = g_strdup (lightdm_language_get_code (language)); + + code = lightdm_language_get_code (language); + gchar *modifier = strchr (code, '@'); Modified: head/x11/lightdm-gtk-greeter/pkg-plist ============================================================================== --- head/x11/lightdm-gtk-greeter/pkg-plist Mon Jul 24 12:11:29 2017 (r446522) +++ head/x11/lightdm-gtk-greeter/pkg-plist Mon Jul 24 12:47:45 2017 (r446523) @@ -1,4 +1,4 @@ -etc/lightdm/lightdm-gtk-greeter.conf +@sample etc/lightdm/lightdm-gtk-greeter.conf.sample sbin/lightdm-gtk-greeter %%PORTDOCS%%%%DOCSDIR%%/sample-lightdm-gtk-greeter.css share/icons/hicolor/scalable/places/budgie-desktop_badge-symbolic.svg Modified: head/x11/lightdm/Makefile ============================================================================== --- head/x11/lightdm/Makefile Mon Jul 24 12:11:29 2017 (r446522) +++ head/x11/lightdm/Makefile Mon Jul 24 12:47:45 2017 (r446523) @@ -3,7 +3,7 @@ PORTNAME= lightdm PORTVERSION= 1.20.0 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= x11 MASTER_SITES= https://launchpad.net/${PORTNAME}/${PORTVERSION:R}/${PORTVERSION}/+download/ Modified: head/x11/lightdm/files/patch-liblightdm-gobject_language.c ============================================================================== --- head/x11/lightdm/files/patch-liblightdm-gobject_language.c Mon Jul 24 12:11:29 2017 (r446522) +++ head/x11/lightdm/files/patch-liblightdm-gobject_language.c Mon Jul 24 12:47:45 2017 (r446523) @@ -1,8 +1,52 @@ https://bugs.launchpad.net/lightdm/+bug/790186 ---- liblightdm-gobject/language.c.orig 2016-12-09 01:04:48 UTC +--- liblightdm-gobject/language.c.orig 2016-09-30 03:23:52 UTC +++ liblightdm-gobject/language.c -@@ -248,10 +248,16 @@ lightdm_language_get_name (LightDMLangua +@@ -36,6 +36,12 @@ G_DEFINE_TYPE (LightDMLanguage, lightdm_language, G_TY + static gboolean have_languages = FALSE; + static GList *languages = NULL; + ++static gboolean ++is_utf8 (const gchar *code) ++{ ++ return g_strrstr (code, ".utf8") || g_strrstr (code, ".UTF-8"); ++} ++ + static void + update_languages (void) + { +@@ -72,7 +78,7 @@ update_languages (void) + continue; + + /* Ignore the non-interesting languages */ +- if (strcmp (command, "locale -a") == 0 && !g_strrstr (code, ".utf8")) ++ if (strcmp (command, "locale -a") == 0 && !is_utf8 (code)) + continue; + + language = g_object_new (LIGHTDM_TYPE_LANGUAGE, "code", code, NULL); +@@ -88,12 +94,6 @@ update_languages (void) + have_languages = TRUE; + } + +-static gboolean +-is_utf8 (const gchar *code) +-{ +- return g_strrstr (code, ".utf8") || g_strrstr (code, ".UTF-8"); +-} +- + /* Get a valid locale name that can be passed to setlocale(), so we always can use nl_langinfo() to get language and country names. */ + static gchar * + get_locale_name (const gchar *code) +@@ -133,7 +133,7 @@ get_locale_name (const gchar *code) + for (i = 0; avail_locales[i]; i++) + { + gchar *loc = avail_locales[i]; +- if (!g_strrstr (loc, ".utf8")) ++ if (!is_utf8 (loc)) + continue; + if (g_str_has_prefix (loc, language)) + { +@@ -227,10 +227,16 @@ lightdm_language_get_name (LightDMLanguage *language) if (locale) { gchar *current = setlocale (LC_ALL, NULL); @@ -19,7 +63,7 @@ https://bugs.launchpad.net/lightdm/+bug/790186 if (language_en && strlen (language_en) > 0) priv->name = g_strdup (dgettext ("iso_639_3", language_en)); -@@ -291,10 +297,16 @@ lightdm_language_get_territory (LightDML +@@ -270,10 +276,16 @@ lightdm_language_get_territory (LightDMLanguage *langu if (locale) { gchar *current = setlocale (LC_ALL, NULL);