From owner-svn-ports-head@freebsd.org Sun Aug 16 00:37:17 2020 Return-Path: Delivered-To: svn-ports-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5068F3AAF6C; Sun, 16 Aug 2020 00:37:17 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BTdY84fpHz4vZm; Sun, 16 Aug 2020 00:37:16 +0000 (UTC) (envelope-from jbeich@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 mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 832D327A22; Sun, 16 Aug 2020 00:37:16 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07G0bG4C012826; Sun, 16 Aug 2020 00:37:16 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07G0bFBs012819; Sun, 16 Aug 2020 00:37:15 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <202008160037.07G0bFBs012819@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Sun, 16 Aug 2020 00:37:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r545083 - in head/x11: . phosh phosh/files X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: in head/x11: . phosh phosh/files X-SVN-Commit-Revision: 545083 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2020 00:37:17 -0000 Author: jbeich Date: Sun Aug 16 00:37:14 2020 New Revision: 545083 URL: https://svnweb.freebsd.org/changeset/ports/545083 Log: x11/phosh: add new port Phosh aims to be a Wayland shell for mobile phones. Currently, only useful for developers. Network is not supported on FreeBSD yet. https://source.puri.sm/Librem5/phosh Added: head/x11/phosh/ head/x11/phosh/Makefile (contents, props changed) head/x11/phosh/distinfo (contents, props changed) head/x11/phosh/files/ head/x11/phosh/files/patch-glib-2.56 (contents, props changed) head/x11/phosh/files/patch-glib-types (contents, props changed) head/x11/phosh/files/patch-no-libnm (contents, props changed) head/x11/phosh/pkg-descr (contents, props changed) Modified: head/x11/Makefile (contents, props changed) Modified: head/x11/Makefile ============================================================================== --- head/x11/Makefile Sat Aug 15 23:23:23 2020 (r545082) +++ head/x11/Makefile Sun Aug 16 00:37:14 2020 (r545083) @@ -247,6 +247,7 @@ SUBDIR += p5-XTerm-Conf SUBDIR += pcdm SUBDIR += perwindowlayoutd + SUBDIR += phosh SUBDIR += pipeglade SUBDIR += pixman SUBDIR += plank Added: head/x11/phosh/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/phosh/Makefile Sun Aug 16 00:37:14 2020 (r545083) @@ -0,0 +1,45 @@ +# $FreeBSD$ + +PORTNAME= phosh +DISTVERSIONPREFIX= v +DISTVERSION= 0.4.3 +CATEGORIES= x11 + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Pure Wayland shell prototype for mobile devices + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= wayland-protocols>=1.12:graphics/wayland-protocols +LIB_DEPENDS= libfeedback-0.0.so:accessibility/feedbackd \ + libpulse-mainloop-glib.so:audio/pulseaudio \ + libwayland-client.so:graphics/wayland \ + libgcr-ui-3.so:security/gcr \ + libpolkit-agent-1.so:sysutils/polkit \ + libupower-glib.so:sysutils/upower \ + libhandy-0.0.so:x11-toolkits/libhandy +RUN_DEPENDS= phoc:x11-wm/phoc \ + gnome-session:x11/gnome-session + +USES= compiler:c11 gnome meson pkgconfig +USE_GITLAB= yes +USE_GNOME= cairo gdkpixbuf2 gnomedesktop3 +GL_SITE= https://source.puri.sm +GL_ACCOUNT= Librem5 +GL_COMMIT= 99d18088f1e44a19db870649559451e91adf204e +GL_TUPLE= https://gitlab.gnome.org:GNOME:libgnome-volume-control:ae1a34aafce7026b8c0f65a43c9192d756fe1057:gvc/subprojects/gvc +MESON_ARGS= -Dgvc:alsa=false +PLIST_FILES= bin/${PORTNAME} \ + bin/${PORTNAME}-osk-stub \ + libexec/${PORTNAME} \ + ${DATADIR}/phoc.ini \ + share/wayland-sessions/${PORTNAME}.desktop +GLIB_SCHEMAS= sm.puri.phosh.gschema.xml + +post-patch: + @${REINPLACE_CMD} -e 's/bash -l/sh -/' \ + -e 's,/etc,${PREFIX}&,' \ + ${WRKSRC}/data/phosh.in + +.include Added: head/x11/phosh/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/phosh/distinfo Sun Aug 16 00:37:14 2020 (r545083) @@ -0,0 +1,5 @@ +TIMESTAMP = 1596442228 +SHA256 (Librem5-phosh-99d18088f1e44a19db870649559451e91adf204e_GL0.tar.gz) = 1bb107f432289594ca564839772cac3960d930ef1e281bdec442558632c40f5f +SIZE (Librem5-phosh-99d18088f1e44a19db870649559451e91adf204e_GL0.tar.gz) = 312123 +SHA256 (GNOME-libgnome-volume-control-ae1a34aafce7026b8c0f65a43c9192d756fe1057_GL0.tar.gz) = 780143bef70698e402b099f300f5c82bfbb38ef5c3b6d89b1efeb7a45a5d8dc1 +SIZE (GNOME-libgnome-volume-control-ae1a34aafce7026b8c0f65a43c9192d756fe1057_GL0.tar.gz) = 45245 Added: head/x11/phosh/files/patch-glib-2.56 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/phosh/files/patch-glib-2.56 Sun Aug 16 00:37:14 2020 (r545083) @@ -0,0 +1,48 @@ +Drop after devel/glib20 is updated to 2.58 or later. + +meson.build:107:0: ERROR: Invalid version of dependency, need 'gio-2.0' ['>=2.58'] found '2.56.3'. + +../tools/dump-app-list.c:25:29: warning: implicit declaration of function 'G_SOURCE_FUNC' is invalid in C99 [-Wimplicit-function-declaration] + g_timeout_add_seconds (2, G_SOURCE_FUNC (g_main_loop_quit), loop); + ^ +ld: error: undefined symbol: G_SOURCE_FUNC +>>> referenced by dump-app-list.c +>>> tools/dump-app-list.p/dump-app-list.c.o:(main) + +--- meson.build.orig 2020-08-03 08:10:28 UTC ++++ meson.build +@@ -27,7 +27,7 @@ configure_file( + configuration: config_h, + ) + +-glib_ver = 'GLIB_VERSION_2_58' ++glib_ver = 'GLIB_VERSION_2_56' + + add_project_arguments([ + '-DHAVE_CONFIG_H', +@@ -104,9 +104,9 @@ gnome = import('gnome') + i18n = import('i18n') + + gcr_dep = dependency('gcr-3', version: '>= 3.7.5') +-gio_dep = dependency('gio-2.0', version: '>=2.58') +-gio_unix_dep = dependency('gio-unix-2.0', version: '>=2.58') +-glib_dep = dependency('glib-2.0', version: '>=2.58') ++gio_dep = dependency('gio-2.0', version: '>=2.56') ++gio_unix_dep = dependency('gio-unix-2.0', version: '>=2.56') ++glib_dep = dependency('glib-2.0', version: '>=2.56') + gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>=3.26') + gobject_dep = dependency('gobject-2.0', version: '>=2.50.0') + gtk_dep = dependency('gtk+-3.0', version: '>=3.22') +--- tools/dump-app-list.c.orig 2020-08-03 08:10:28 UTC ++++ tools/dump-app-list.c +@@ -10,6 +10,10 @@ + + #include + ++#if !GLIB_CHECK_VERSION(2, 58, 0) ++#define G_SOURCE_FUNC(f) ((GSourceFunc) (void (*)(void)) (f)) ++#endif ++ + int + main (int argc, char **argv) + { Added: head/x11/phosh/files/patch-glib-types ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/phosh/files/patch-glib-types Sun Aug 16 00:37:14 2020 (r545083) @@ -0,0 +1,17 @@ +Don't use Linux-only types in otherwise portable code. + +../src/system-prompter.c:25:8: error: unknown type name 'ulong' +static ulong owner_id; + ^ + +--- src/system-prompter.c.orig 2020-08-03 08:10:28 UTC ++++ src/system-prompter.c +@@ -22,7 +22,7 @@ + * wide modal #PhoshSystemPrompt dialogs + */ + static GcrSystemPrompter *_prompter; +-static ulong owner_id; ++static gulong owner_id; + static gboolean registered_prompter; + static gboolean acquired_prompter; + Added: head/x11/phosh/files/patch-no-libnm ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/phosh/files/patch-no-libnm Sun Aug 16 00:37:14 2020 (r545083) @@ -0,0 +1,143 @@ +NetworkManager is Linux-only. FreeBSD has many alternatives but none +implements libnm-compatible API required by Phosh and GNOME. + +meson.build:134:0: ERROR: Dependency "libnm" not found, tried pkgconfig + +--- meson.build.orig 2020-08-03 08:10:28 UTC ++++ meson.build +@@ -131,9 +131,9 @@ libhandy_dep = dependency('libhandy-0.0', + fallback: ['libhandy', 'libhandy_dep'], + default_options: ['introspection=disabled'] + ) +-libnm_dep = dependency('libnm', version: '>= 1.14') ++libnm_dep = dependency('libnm', version: '>= 1.14', required: false) + libpolkit_agent_dep = dependency('polkit-agent-1', version: '>= 0.105') +-network_agent_dep = dependency('libsecret-1') ++network_agent_dep = dependency('libsecret-1', required: false) + upower_glib_dep = dependency('upower-glib', version: '>=0.99.1') + wayland_client_dep = dependency('wayland-client', version: '>=1.14') + wayland_protos_dep = dependency('wayland-protocols', version: '>=1.12') +--- src/meson.build.orig 2020-08-03 08:10:28 UTC ++++ src/meson.build +@@ -50,8 +50,6 @@ libphosh_tool_sources = [ + 'app-list-model.h', + 'background.c', + 'background.h', +- 'connectivity-info.c', +- 'connectivity-info.h', + 'favorite-list-model.c', + 'favorite-list-model.h', + 'feedback-manager.c', +@@ -92,8 +90,6 @@ libphosh_sources = [ + 'bt-info.h', + 'bt-manager.c', + 'bt-manager.h', +- 'contrib/shell-network-agent.c', +- 'contrib/shell-network-agent.h', + 'fader.c', + 'fader.h', + 'feedbackinfo.c', +@@ -110,8 +106,6 @@ libphosh_sources = [ + 'lockscreen.h', + 'monitor-manager.c', + 'monitor-manager.h', +- 'network-auth-prompt.c', +- 'network-auth-prompt.h', + 'osk-manager.c', + 'osk-manager.h', + 'panel.c', +@@ -144,10 +138,6 @@ libphosh_sources = [ + 'toplevel-thumbnail.h', + 'toplevel.c', + 'toplevel.h', +- 'wifiinfo.c', +- 'wifiinfo.h', +- 'wifimanager.c', +- 'wifimanager.h', + 'wwaninfo.c', + 'wwaninfo.h', + phosh_settings_sources, +--- src/panel.c.orig 2020-08-03 08:10:28 UTC ++++ src/panel.c +@@ -13,7 +13,6 @@ + #include "config.h" + + #include "bt-info.h" +-#include "connectivity-info.h" + #include "panel.h" + #include "shell.h" + #include "session.h" +@@ -371,7 +370,6 @@ phosh_panel_class_init (PhoshPanelClass *klass) + NULL, G_TYPE_NONE, 0); + + g_type_ensure (PHOSH_TYPE_BT_INFO); +- g_type_ensure (PHOSH_TYPE_CONNECTIVITY_INFO); + g_type_ensure (PHOSH_TYPE_SETTINGS); + + gtk_widget_class_set_template_from_resource (widget_class, +--- src/shell.c.orig 2020-08-03 08:10:28 UTC ++++ src/shell.c +@@ -43,7 +43,6 @@ + #include "session.h" + #include "system-prompter.h" + #include "util.h" +-#include "wifiinfo.h" + #include "wwaninfo.h" + #include "bt-manager.h" + +@@ -83,7 +82,6 @@ typedef struct + PhoshIdleManager *idle_manager; + PhoshOskManager *osk_manager; + PhoshToplevelManager *toplevel_manager; +- PhoshWifiManager *wifi_manager; + PhoshPolkitAuthAgent *polkit_auth_agent; + PhoshScreenSaverManager *screen_saver_manager; + PhoshNotifyManager *notify_manager; +@@ -332,7 +330,6 @@ phosh_shell_dispose (GObject *object) + g_clear_object (&priv->lockscreen_manager); + g_clear_object (&priv->monitor_manager); + g_clear_object (&priv->toplevel_manager); +- g_clear_object (&priv->wifi_manager); + g_clear_object (&priv->osk_manager); + g_clear_object (&priv->polkit_auth_agent); + g_clear_object (&priv->background_manager); +@@ -477,7 +474,6 @@ static void + type_setup (void) + { + phosh_battery_info_get_type(); +- phosh_wifi_info_get_type(); + phosh_wwan_info_get_type(); + } + +@@ -767,21 +763,6 @@ phosh_shell_get_monitor_manager (PhoshShell *self) + return priv->monitor_manager; + } + +- +-PhoshWifiManager * +-phosh_shell_get_wifi_manager (PhoshShell *self) +-{ +- PhoshShellPrivate *priv; +- +- g_return_val_if_fail (PHOSH_IS_SHELL (self), NULL); +- priv = phosh_shell_get_instance_private (self); +- +- if (!priv->wifi_manager) +- priv->wifi_manager = phosh_wifi_manager_new (); +- +- g_return_val_if_fail (PHOSH_IS_WIFI_MANAGER (priv->wifi_manager), NULL); +- return priv->wifi_manager; +-} + + PhoshBtManager * + phosh_shell_get_bt_manager (PhoshShell *self) +--- tests/meson.build.orig 2020-08-03 08:10:28 UTC ++++ tests/meson.build +@@ -57,7 +57,6 @@ tests = [ + 'activity', + 'app-grid-button', + 'app-list-model', +- 'connectivity-info', + 'favourite-model', + 'media-player', + 'notification', Added: head/x11/phosh/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/phosh/pkg-descr Sun Aug 16 00:37:14 2020 (r545083) @@ -0,0 +1,13 @@ +Phosh aims to be a Wayland shell for mobile phones. Currently, only +useful for developers. + +Features: +- a lockscreen +- brightness control and nighlight +- the gcr system-prompter interface +- acting as a polkit auth agent +- enough of org.gnome.Mutter.DisplayConfig to make gnome-settings-daemon happy +- a homebutton that toggles a simple favorites menu +- status icons for battery, wwan and wifi (WARNING: network is N/A on FreeBSD) + +WWW: https://source.puri.sm/Librem5/phosh