unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH 1/9] system: vm: Remove -net user flag.
@ 2016-09-01 15:57 David Craven
  2016-09-01 15:57 ` [PATCH 2/9] activation: Allow /var/lib to be a home directory David Craven
                   ` (9 more replies)
  0 siblings, 10 replies; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/system/vm.scm (common-qemu-options): Remove -net user flag.
---
 gnu/system/vm.scm | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index c31e3a8..551c3ca 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -462,7 +462,6 @@ with '-virtfs' options for the host file systems listed in SHARED-FS."
            "")
      " -no-reboot -net nic,model=virtio \
   " #$@(map virtfs-option shared-fs) " \
-  -net user \
   -vga std \
   -drive file=" #$image
   ",if=virtio,cache=writeback,werror=report,readonly \
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 2/9] activation: Allow /var/lib to be a home directory.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-02 11:54   ` 宋文武
  2016-09-03 13:24   ` Ludovic Courtès
  2016-09-01 15:57 ` [PATCH 3/9] services: Export initrc David Craven
                   ` (8 subsequent siblings)
  9 siblings, 2 replies; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/build/activation.scm (activate-user): Make sure /var/lib exists.
---
 gnu/build/activation.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 10aa58d..3abfdd6 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -233,6 +233,9 @@ numeric gid or #f."
   ;; 'groupadd' aborts if the file doesn't already exist.
   (touch "/etc/group")
 
+  ;; allow /var/lib/application to be a home directory
+  (mkdir-p "/var/lib")
+
   ;; Create the root account so we can use 'useradd' and 'groupadd'.
   (activate-user (find (match-lambda
                         ((name (? zero?) _ ...) #t)
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 3/9] services: Export initrc.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
  2016-09-01 15:57 ` [PATCH 2/9] activation: Allow /var/lib to be a home directory David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-03 13:34   ` Ludovic Courtès
  2016-09-01 15:57 ` [PATCH 4/9] services: syslog: Use syslog-configuration David Craven
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/services/xorg.scm (define-module): Export initrc.
---
 gnu/services/xorg.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 4e311de..87c4487 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -42,6 +42,8 @@
   #:export (xorg-configuration-file
             %default-xorg-modules
             xorg-start-command
+            xinitrc
+
             %default-slim-theme
             %default-slim-theme-name
             slim-configuration
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 4/9] services: syslog: Use syslog-configuration.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
  2016-09-01 15:57 ` [PATCH 2/9] activation: Allow /var/lib to be a home directory David Craven
  2016-09-01 15:57 ` [PATCH 3/9] services: Export initrc David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-02 12:31   ` Ludovic Courtès
  2016-09-01 15:57 ` [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers) David Craven
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/services/base.scm (<syslog-configuration>): New variable.
(syslog-service-type): Use <syslog-configuration>.
(syslog-service): Use <syslog-configuration>.
---
 gnu/services/base.scm | 28 ++++++++++++++++++++--------
 gnu/tests/base.scm    |  9 ++++++---
 2 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index f3f6408..76e974c 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -73,15 +73,15 @@
 
             %nscd-default-caches
             %nscd-default-configuration
-
             nscd-configuration
             nscd-configuration?
-
             nscd-cache
             nscd-cache?
-
             nscd-service-type
             nscd-service
+
+            syslog-configuration
+            syslog-configuration?
             syslog-service
             syslog-service-type
             %default-syslog.conf
@@ -108,6 +108,7 @@
             rngd-configuration?
             rngd-service-type
             rngd-service
+
             pam-limits-service-type
             pam-limits-service
 
@@ -885,17 +886,27 @@ given @var{config}---an @code{<nscd-configuration>} object.  @xref{Name
 Service Switch}, for an example."
   (service nscd-service-type config))
 
+
+(define-record-type* <syslog-configuration>
+  syslog-configuration  make-syslog-configuration
+  syslog-configuration?
+  (syslogd              syslog-configuration-syslogd
+                        (default #~(string-append #$inetutils "/libexec/syslogd")))
+  (config-file          syslog-configuration-config-file
+                        (default %default-syslog.conf)))
+
 (define syslog-service-type
   (shepherd-service-type
    'syslog
-   (lambda (config-file)
+   (lambda (config)
      (shepherd-service
       (documentation "Run the syslog daemon (syslogd).")
       (provision '(syslogd))
       (requirement '(user-processes))
       (start #~(make-forkexec-constructor
-                (list (string-append #$inetutils "/libexec/syslogd")
-                      "--no-detach" "--rcfile" #$config-file)))
+                (list #$(syslog-configuration-syslogd config)
+                      "--no-detach"
+                      "--rcfile" #$(syslog-configuration-config-file config))))
       (stop #~(make-kill-destructor))))))
 
 ;; Snippet adapted from the GNU inetutils manual.
@@ -921,14 +932,15 @@ Service Switch}, for an example."
      mail.*                                  /var/log/maillog
 "))
 
-(define* (syslog-service #:key (config-file %default-syslog.conf))
+(define* (syslog-service #:optional (config (syslog-configuration)))
   "Return a service that runs @command{syslogd}.  If configuration file
 name @var{config-file} is not specified, use some reasonable default
 settings.
 
 @xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
 information on the configuration file syntax."
-  (service syslog-service-type config-file))
+  (service syslog-service-type config))
+
 
 (define pam-limits-service-type
   (let ((security-limits
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 41f50c0..5c2af5b 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -384,9 +384,12 @@ functionality tests.")
                                               (log-file "/dev/console")))
                        (syslog-service-type config
                                             =>
-                                            (plain-file
-                                             "syslog.conf"
-                                             "*.* /dev/console\n")))))))
+                                            (syslog-configuration
+                                             (inherit config)
+                                             (config-file
+                                              (plain-file
+                                               "syslog.conf"
+                                               "*.* /dev/console\n")))))))))
 
 (define (run-nss-mdns-test)
   ;; Test resolution of '.local' names via libc.  Start the marionette service
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers).
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (2 preceding siblings ...)
  2016-09-01 15:57 ` [PATCH 4/9] services: syslog: Use syslog-configuration David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-02 12:27   ` Ludovic Courtès
  2016-09-01 15:57 ` [PATCH 6/9] gnu: Add greenisland David Craven
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/display-managers.scm: Import (guix licenses) with prefix
  "license:".
---
 gnu/packages/display-managers.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 579b149..3f3c6db 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -19,7 +19,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages display-managers)
-  #:use-module ((guix licenses) #:prefix l:)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
@@ -92,4 +92,4 @@ fonts, External themes support, Configurable runtime options: X server --
 login / shutdown / reboot commands, Single (GDM-like) or double (XDM-like)
 input control, Can load predefined user at startup, Configurable welcome /
 shutdown messages, Random theme selection.")
-    (license l:gpl2)))
+    (license license:gpl2)))
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 6/9] gnu: Add greenisland.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (3 preceding siblings ...)
  2016-09-01 15:57 ` [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers) David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-02 13:20   ` Ludovic Courtès
  2016-09-07  6:50   ` Mark H Weaver
  2016-09-01 15:57 ` [PATCH 7/9] gnu: Add sddm David Craven
                   ` (4 subsequent siblings)
  9 siblings, 2 replies; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/display-managers.scm (greenisland): New variable.
---
 gnu/packages/display-managers.scm | 91 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 3f3c6db..d84dbc3 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -25,12 +25,97 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
-  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages kde-frameworks)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages linux))
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg))
+
+(define-public greenisland
+  (package
+    (name "greenisland")
+    (version "0.8.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/greenisland/greenisland"
+                    "/releases/download/v" version "/"
+                    "greenisland-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1c9rlq7fqrsd5nb37anjvnp9xspqjz1kc0fvydv5xdy3abg8mw40"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("dbus" ,dbus)
+       ("glib:bin" ,glib "bin")
+       ("pkg-config" ,pkg-config)
+       ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("elogind" ,elogind)
+       ("eudev" ,eudev)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("libdrm" ,libdrm)
+       ("libinput" ,libinput-minimal)
+       ("libxcursor" ,libxcursor)
+       ("libxkbcommon" ,libxkbcommon)
+       ("libx11" ,libx11)
+       ("mesa" ,mesa)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("xcb-util-cursor" ,xcb-util-cursor)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "-DPLUGIN_INSTALL_DIR="
+                            (assoc-ref %outputs "out") "/plugins")
+             (string-append "-DQML_INSTALL_DIR="
+                            (assoc-ref %outputs "out") "/qml"))
+       #:modules ((guix build cmake-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%cmake-build-system-modules
+                           (guix build qt-utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-udev-tests
+           (lambda _ ; FIXME: Build env doesn't contain /dev/sda
+             (substitute* "tests/auto/platform/tst_udev.cpp"
+               (("QVERIFY") "// QVERIFY")
+               (("QCOMPARE") "// QCOMPARE"))))
+         (replace 'check
+           (lambda _
+             (setenv "DBUS_FATAL_WARNINGS" "0")
+             (zero? (system* "dbus-launch" "ctest" "."))))
+         (add-before 'check 'check-setup
+           (lambda _
+             (setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             #t))
+         (add-after 'install 'wrap-programs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-qt-program out "greenisland")
+               (wrap-qt-program out "greenisland-launcher")
+               (wrap-qt-program out "greenisland-screencaster")
+               (wrap-qt-program out "greenisland-wayland-scanner")
+               #t))))))
+    (synopsis "QtQuick Wayland compositor and shell for desktop and mobile")
+    (description "Green Island provides a full blown Wayland compositor for
+QtQuick as well as pluggable hardware abstraction, extensions, tools and a
+Qt-style API for Wayland clients.")
+    (home-page "http://hawaiios.org")
+    (license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))
 
 (define-public slim
   (package
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 7/9] gnu: Add sddm.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (4 preceding siblings ...)
  2016-09-01 15:57 ` [PATCH 6/9] gnu: Add greenisland David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-02 12:26   ` Ludovic Courtès
  2016-09-01 15:57 ` [PATCH 8/9] services: Add sddm service David Craven
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/display-managers.scm (sddm): New variable.
---
 gnu/packages/display-managers.scm | 65 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index d84dbc3..335a7b5 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -25,6 +25,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
@@ -117,6 +118,70 @@ Qt-style API for Wayland clients.")
     (home-page "http://hawaiios.org")
     (license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))
 
+(define-public sddm
+  (package
+    (name "sddm")
+    (version "0.14.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/sddm/sddm"
+                    "/releases/download/v" version "/"
+                    "sddm-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0y3pn8g2qj7q20zkmbasrfsj925lfzizk63sfrvzf84bc5c84d3y"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("glib" ,glib)
+       ("greenisland" ,greenisland)
+       ("libxcb" ,libxcb)
+       ("libxkbcommon" ,libxkbcommon)
+       ("linux-pam" ,linux-pam)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("shadow" ,shadow)
+       ("wayland" ,wayland)))
+    (arguments
+     `(#:configure-flags
+       (list
+        ;; Currently doesn't do anything
+        ;; Option added by enable wayland greeters PR
+        "-DENABLE_WAYLAND=ON"
+        "-DENABLE_PAM=ON"
+        "-DCONFIG_FILE=/etc/sddm.conf"
+        ;; Set path to /etc/login.defs
+        ;; Alternatively use -DUID_MIN and -DUID_MAX
+        (string-append "-DLOGIN_DEFS_PATH="
+                       (assoc-ref %build-inputs "shadow")
+                       "/etc/login.defs")
+        (string-append "-DQT_IMPORTS_DIR="
+                       (assoc-ref %outputs "out") "/qml")
+        (string-append "-DCMAKE_INSTALL_SYSCONFDIR="
+                       (assoc-ref %outputs "out") "/etc"))
+       #:modules ((guix build cmake-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%cmake-build-system-modules
+                           (guix build qt-utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-programs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-qt-program out "sddm")
+               (wrap-qt-program out "sddm-greeter")
+               #t))))))
+    (synopsis "QML based X11 and Wayland display manager")
+    (description "QML based X11 and Wayland display manager.")
+    (home-page "https://github.com/sddm/sddm")
+    ;; QML files are MIT licensed and images are CC BY 3.0.
+    (license (list license:gpl2+ license:expat license:cc-by3.0))))
+
 (define-public slim
   (package
     (name "slim")
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 8/9] services: Add sddm service.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (5 preceding siblings ...)
  2016-09-01 15:57 ` [PATCH 7/9] gnu: Add sddm David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-02 12:26   ` 宋文武
  2016-09-01 15:57 ` [PATCH 9/9] gnu: Add weston David Craven
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/services/sddm.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk          |   1 +
 gnu/services/sddm.scm | 316 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 317 insertions(+)
 create mode 100644 gnu/services/sddm.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 8179920..61287fd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -390,6 +390,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/services/networking.scm			\
   %D%/services/shepherd.scm			\
   %D%/services/herd.scm				\
+  %D%/services/sddm.scm				\
   %D%/services/spice.scm				\
   %D%/services/ssh.scm				\
   %D%/services/web.scm				\
diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm
new file mode 100644
index 0000000..79620b0
--- /dev/null
+++ b/gnu/services/sddm.scm
@@ -0,0 +1,316 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 David Craven <david@craven.ch>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services sddm)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages display-managers)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu services)
+  #:use-module (gnu services shepherd)
+  #:use-module (gnu services xorg)
+  #:use-module (gnu system pam)
+  #:use-module (gnu system shadow)
+  #:use-module (guix gexp)
+  #:use-module (guix records)
+  #:export (sddm-configuration
+            sddm-confiugration?
+            sddm-service-type
+            sddm-service))
+
+(define-record-type* <sddm-configuration>
+  sddm-configuration      make-sddm-configuration
+  sddm-configuration?
+  (sddm                   sddm-configuration-sddm
+                          (default sddm))
+  (allow-empty-passwords? sddm-configuration-allow-empty-passwords?
+                          (default #t))
+
+  ;; [General]
+  ;; valid values are x11 and wayland
+  ;; currently doesn't do anything is enabled by wayland greeter PR
+  (display-server         sddm-configuration-display-server
+                          (default "x11"))
+  ;; valid values are on, off or none
+  (numlock                sddm-configuration-numlock
+                          (default "on"))
+  (halt-command           sddm-configuration-halt-command
+                          (default #~(string-append #$shepherd "/sbin/halt")))
+  (reboot-command         sddm-configuration-reboot-command
+                          (default #~(string-append #$shepherd "/sbin/reboot")))
+
+  ;; [Theme]
+  ;; valid values are elarun or maldives
+  (theme                  sddm-configuration-theme
+                          (default "maldives"))
+  (themes-directory       sddm-configuration-themes-directory
+                          (default #~(string-append #$sddm "/share/sddm/themes")))
+  (faces-directory        sddm-configuration-faces-directory
+                          (default #~(string-append #$sddm "/share/sddm/faces")))
+
+  ;; [Users]
+  (default-path           sddm-configuration-default-path
+                          (default "/run/current-system/profile/bin"))
+  (minimum-uid            sddm-configuration-minimum-uid
+                          (default 1000))
+  (maximum-uid            sddm-configuration-maximum-uid
+                          (default 2000))
+  (remember-last-user?    sddm-configuration-remember-last-user?
+                          (default #t))
+  (remember-last-session? sddm-configuration-remember-last-session?
+                          (default #t))
+  (hide-users             sddm-configuration-hide-users
+                          (default ""))
+  (hide-shells            sddm-configuration-hide-shells
+                          (default #~(string-append #$shadow "/sbin/nologin")))
+
+  ;; [Wayland]
+  (session-command        sddm-configuration-session-command
+                          (default #~(string-append #$sddm "/share/sddm/scripts/wayland-session")))
+  (sessions-directory     sddm-configuration-sessions-directory
+                          (default "/run/current-system/profile/share/wayland-sessions"))
+  ;; [X11]
+  (xorg-server-path       sddm-configuration-xorg-server-path
+                          (default (xorg-start-command)))
+  (xauth-path             sddm-configuration-xauth-path
+                          (default #~(string-append #$xauth "/bin/xauth")))
+  (xephyr-path            sddm-configuration-xephyr-path
+                          (default #~(string-append #$xorg-server "/bin/Xephyr")))
+  (xdisplay-start         sddm-configuration-xdisplay-start
+                          (default #~(string-append #$sddm "/share/sddm/scripts/Xsetup")))
+  (xdisplay-stop          sddm-configuration-xdisplay-stop
+                          (default #~(string-append #$sddm "/share/sddm/scripts/Xstop")))
+  (xsession-command       sddm-configuration-xsession-command
+                          (default (xinitrc)))
+  (xsessions-directory    sddm-configuration-xsessions-directory
+                          (default "/run/current-system/profile/share/xsessions"))
+  (minimum-vt             sddm-configuration-minimum-vt
+                          (default 7))
+  (xserver-arguments      sddm-configuration-xserver-arguments
+                          (default "-nolisten tcp"))
+
+  ;; [Autologin]
+  (auto-login-user        sddm-configuration-auto-login-user
+                          (default ""))
+  ;; valid values are xfce.desktop gnome.desktop weston.desktop hawaii.desktop
+  (auto-login-session     sddm-configuration-auto-login-session
+                          (default ""))
+  (relogin?               sddm-configuration-relogin?
+                          (default #f)))
+
+(define (sddm-configuration-file config)
+  (mixed-text-file "sddm.conf" "
+[General]
+DisplayServer="        (sddm-configuration-display-server config)              "
+Numlock="              (sddm-configuration-numlock config)                     "
+HaltCommand="          (sddm-configuration-halt-command config)                "
+RebootCommand="        (sddm-configuration-reboot-command config)              "
+
+[Users]
+DefaultPath="          (sddm-configuration-default-path config)                "
+MinimumUid="           (number->string (sddm-configuration-minimum-uid config))"
+MaximumUid="           (number->string (sddm-configuration-maximum-uid config))"
+RememberLastUser="     (if (sddm-configuration-remember-last-user? config)
+                           "true" "false")                                     "
+RememberLastSession="  (if (sddm-configuration-remember-last-session? config)
+                           "true" "false")                                     "
+HideUsers="            (sddm-configuration-hide-users config)                  "
+Hideshells="           (sddm-configuration-hide-shells config)                 "
+
+[Theme]
+Current="              (sddm-configuration-theme config)                       "
+ThemeDir="             (sddm-configuration-themes-directory config)            "
+FacesDir="             (sddm-configuration-faces-directory config)             "
+
+[Wayland]
+SessionCommand="       (sddm-configuration-session-command config)             "
+SessionDir="           (sddm-configuration-sessions-directory config)          "
+
+[X11]
+ServerPath="           (sddm-configuration-xorg-server-path config)            "
+XauthPath="            (sddm-configuration-xauth-path config)                  "
+XephyrPath="           (sddm-configuration-xephyr-path config)                 "
+DisplayCommand="       (sddm-configuration-xdisplay-start config)              "
+DisplayStopCommand="   (sddm-configuration-xdisplay-stop config)               "
+SessionCommand="       (sddm-configuration-xsession-command config)            "
+SessionDir="           (sddm-configuration-xsessions-directory config)         "
+MinimumVT="            (number->string (sddm-configuration-minimum-vt config)) "
+ServerArguments="      (sddm-configuration-xserver-arguments config)           "
+
+[Autologin]
+User="                 (sddm-configuration-auto-login-user config)             "
+Session="              (sddm-configuration-auto-login-session config)          "
+Relogin="              (if (sddm-configuration-relogin? config)
+                           "true" "false")                                     "
+"))
+
+(define (sddm-activation config)
+  "Return the activation gexp for CONFIG."
+  #~(begin
+      (symlink #$(sddm-configuration-file config) "/etc/sddm.conf")))
+
+(define (sddm-shepherd-service config)
+  "Return a <shepherd-service> for sddm with CONFIG."
+
+  (define sddm-command
+    #~(list (string-append #$(sddm-configuration-sddm config) "/bin/sddm")))
+
+  (list (shepherd-service
+         (documentation "SDDM display manager.")
+         (requirement '(user-processes))
+         (provision '(display-manager))
+         (start #~(make-forkexec-constructor #$sddm-command))
+         (stop #~(make-kill-destructor)))))
+
+(define (sddm-pam-service)
+  "Return a PAM service for @command{sddm}."
+  (pam-service
+   (name "sddm")
+   (auth
+    (list
+     (pam-entry
+      (control "requisite")
+      (module "pam_nologin.so"))
+     (pam-entry
+      (control "required")
+      (module "pam_env.so"))
+     (pam-entry
+      (control "required")
+      (module "pam_succeed_if.so")
+      (arguments (list "uid >= 1000" "quiet")))
+     ;; should be factored out into system-auth
+     (pam-entry
+      (control "required")
+      (module "pam_unix.so"))))
+   (account
+    (list
+     ;; should be factored out into system-account
+     (pam-entry
+      (control "required")
+      (module "pam_unix.so"))))
+   (password
+    (list
+     ;; should be factored out into system-password
+     (pam-entry
+      (control "required")
+      (module "pam_unix.so")
+      (arguments (list "sha512" "shadow" "try_first_pass")))))
+   (session
+    (list
+     ;; lfs has a required pam_limits.so
+     ;; should be factored out into system-session
+     (pam-entry
+      (control "required")
+      (module "pam_unix.so"))))))
+
+(define (sddm-greeter-pam-service)
+  "Return a PAM service for @command{sddm-greeter}."
+  (pam-service
+   (name "sddm-greeter")
+   (auth
+    (list
+     ;; Load environment form /etc/environment and ~/.pam_environment
+     (pam-entry
+      (control "required")
+      (module "pam_env.so"))
+     ;; Always let the greeter start without authentication
+     (pam-entry
+      (control "required")
+      (module "pam_permit.so"))))
+   (account
+    (list
+     ;; No action required for account management
+     (pam-entry
+      (control "required")
+      (module "pam_permit.so"))))
+   (password
+    (list
+     ;; Can't change password
+     (pam-entry
+      (control "required")
+      (module "pam_deny.so"))))
+   (session
+    (list
+     ;; Setup session
+     (pam-entry
+      (control "required")
+      (module "pam_unix.so"))))))
+
+(define (sddm-autologin-pam-service)
+  "Return a PAM service for @command{sddm-autologin}"
+  (pam-service
+   (name "sddm-autologin")
+   (auth
+    (list
+     (pam-entry
+      (control "requisite")
+      (module "pam_nologin.so"))
+     (pam-entry
+      (control "required")
+      (module "pam_succeed_if.so")
+      (arguments (list "uid >= 1000" "quiet")))
+     (pam-entry
+      (control "required")
+      (module "pam_permit.so"))))
+   (account
+    (list
+     (pam-entry
+      (control "include")
+      (module "sddm"))))
+   (password
+    (list
+     (pam-entry
+      (control "required")
+      (module "pam_deny.so"))))
+   (session
+    (list
+     (pam-entry
+      (control "include")
+      (module "sddm"))))))
+
+(define (sddm-pam-services config)
+  (list (sddm-pam-service)
+        (sddm-greeter-pam-service)
+        (sddm-autologin-pam-service)))
+
+(define %sddm-accounts
+  (list (user-group (name "sddm") (system? #t))
+        (user-account
+         (name "sddm")
+         (group "sddm")
+         (system? #t)
+         (comment "SDDM user")
+         (home-directory "/var/lib/sddm")
+         (shell #~(string-append #$shadow "/sbin/nologin")))))
+
+(define sddm-service-type
+  (service-type (name 'sddm)
+                (extensions
+                  (list (service-extension shepherd-root-service-type
+                                           sddm-shepherd-service)
+                        (service-extension activation-service-type
+                                           sddm-activation)
+                        (service-extension pam-root-service-type
+                                           sddm-pam-services)
+                        (service-extension account-service-type
+                                           (const %sddm-accounts))))))
+
+(define* (sddm-service #:optional (config (sddm-configuration)))
+  "Run the @uref{https://github.com/sddm/sddm,SSDM display manager}
+with the given @var{config}, a @code{<sddm-configuration>} object."
+  (service sddm-service-type config))
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [PATCH 9/9] gnu: Add weston.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (6 preceding siblings ...)
  2016-09-01 15:57 ` [PATCH 8/9] services: Add sddm service David Craven
@ 2016-09-01 15:57 ` David Craven
  2016-09-01 16:00   ` David Craven
                     ` (2 more replies)
  2016-09-02 11:19 ` [PATCH 1/9] system: vm: Remove -net user flag ng0
  2016-09-02 15:37 ` Leo Famulari
  9 siblings, 3 replies; 47+ messages in thread
From: David Craven @ 2016-09-01 15:57 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/wayland.scm (weston): New file.
* gnu/local.mk (GNU_PACKAGE_MODULES): Add it.
---
 gnu/local.mk             |   1 +
 gnu/packages/wayland.scm | 130 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 131 insertions(+)
 create mode 100644 gnu/packages/wayland.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 61287fd..898b2d7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -356,6 +356,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/vpn.scm				\
   %D%/packages/vtk.scm				\
   %D%/packages/w3m.scm				\
+  %D%/packages/wayland.scm			\
   %D%/packages/wdiff.scm			\
   %D%/packages/web.scm				\
   %D%/packages/webkit.scm			\
diff --git a/gnu/packages/wayland.scm b/gnu/packages/wayland.scm
new file mode 100644
index 0000000..0124d1b
--- /dev/null
+++ b/gnu/packages/wayland.scm
@@ -0,0 +1,130 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 David Craven <david@craven.ch>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages wayland)
+  #:use-module (gnu packages freedesktop) ; xwayland
+  #:use-module (gnu packages gl) ; cairo-xcb
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk) ; cairo-xcb
+  #:use-module (gnu packages libunwind)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg) ; xwayland
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define-public cairo-xcb
+  (package
+    (inherit cairo)
+    (name "cairo-xcb")
+    (inputs
+     `(("mesa" ,mesa)
+       ,@(package-inputs cairo)))
+    (arguments
+     `(#:tests? #f
+       #:configure-flags
+       '("--enable-xlib-xcb" "--enable-gl" "--enable-egl")))))
+
+(define-public xwayland
+  (package
+    (inherit xorg-server)
+    (name "xwayland")
+    (inputs
+     `(("libepoxy" ,libepoxy)
+       ("wayland" ,wayland)
+       ,@(package-inputs xorg-server)))
+    (arguments
+      (substitute-keyword-arguments (package-arguments xorg-server)
+        ((#:configure-flags flags)
+         `(cons* "--enable-xwayland" "--disable-xorg"
+                 "--disable-docs"    "--disable-devel-docs"
+                 "--disable-xvfb"    "--disable-xnest"
+                 "--disable-xquartz" "--disable-xwin"
+                 ,flags))))))
+
+(define-public weston
+  (package
+    (name "weston")
+    (version "1.11.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://wayland.freedesktop.org/releases/"
+                    "weston-" version ".tar.xz"))
+              (sha256
+               (base32
+                "09biddxw3ar797kxf9mywjkb2iwky6my39gpp51ni846y7lqdq05"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("cairo" ,cairo-xcb)
+       ("dbus" ,dbus)
+       ("elogind" ,elogind)
+       ("libinput" ,libinput-minimal)
+       ("libunwind" ,libunwind)
+       ("libxcursor" ,libxcursor)
+       ("libxkbcommon" ,libxkbcommon)
+       ("mesa" ,mesa)
+       ("mtdev" ,mtdev)
+       ("linux-pam" ,linux-pam)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
+       ("xwayland" ,xwayland)))
+    (arguments
+     `(#:configure-flags
+       (list "--disable-setuid-install"
+             "--enable-systemd-login"
+             (string-append "--with-xserver-path="
+                            (assoc-ref %build-inputs "xwayland") "/bin/Xwayland"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'use-elogind
+           (lambda _
+             ;; Use elogind instead of systemd
+             (substitute* "configure"
+               (("libsystemd-login >= 198") "libelogind"))
+             (substitute* '("src/launcher-logind.c" "src/weston-launch.c")
+               (("#include <systemd/sd-login.h>")
+                "#include <elogind/sd-login.h>"))))
+         (add-after 'configure 'patch-confdefs.h
+           (lambda _
+             (system "echo \"#define HAVE_SYSTEMD_LOGIN_209 1\" >> confdefs.h")))
+         (add-before 'check 'setup
+           (lambda _
+             (setenv "HOME" (getcwd))
+             (setenv "XDG_RUNTIME_DIR" (getcwd))
+             #t))
+         (add-before 'check 'start-xorg-server
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; The test suite requires a running X server.
+             (system (string-append (assoc-ref inputs "xorg-server")
+                                    "/bin/Xvfb :1 &"))
+             (setenv "DISPLAY" ":1")
+             #t)))))
+    (home-page "https://wayland.freedesktop.org")
+    (synopsis "Reference implementation of a Wayland compositor")
+    (description "Weston is the reference implementation of a Wayland
+compositor, and a useful compositor in its own right.")
+    (license license:expat)))
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-01 15:57 ` [PATCH 9/9] gnu: Add weston David Craven
@ 2016-09-01 16:00   ` David Craven
  2016-09-03 13:29   ` Ludovic Courtès
  2016-09-07  6:45   ` Mark H Weaver
  2 siblings, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-01 16:00 UTC (permalink / raw)
  To: guix-devel

Should maybe go in a different file, created wayland.scm for now

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (7 preceding siblings ...)
  2016-09-01 15:57 ` [PATCH 9/9] gnu: Add weston David Craven
@ 2016-09-02 11:19 ` ng0
  2016-09-02 12:24   ` David Craven
  2016-09-02 15:37 ` Leo Famulari
  9 siblings, 1 reply; 47+ messages in thread
From: ng0 @ 2016-09-02 11:19 UTC (permalink / raw)
  To: David Craven, guix-devel

David Craven <david@craven.ch> writes:

> * gnu/system/vm.scm (common-qemu-options): Remove -net user flag.
> ---
>  gnu/system/vm.scm | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
> index c31e3a8..551c3ca 100644
> --- a/gnu/system/vm.scm
> +++ b/gnu/system/vm.scm
> @@ -462,7 +462,6 @@ with '-virtfs' options for the host file systems listed in SHARED-FS."
>             "")
>       " -no-reboot -net nic,model=virtio \
>    " #$@(map virtfs-option shared-fs) " \
> -  -net user \

Why would you remove this?
I'd rather still have it, or extend it, maybe through an addition config
for guix system vm.. like:

guix system vm --with-net --with-forward 20:2222

would create a vm with -net user and the appropriate line to forward
port 20 of vm to port 2222 of host

and "guix system vm --without-net" could create one without?

>    -vga std \
>    -drive file=" #$image
>    ",if=virtio,cache=writeback,werror=report,readonly \
> -- 
> 2.9.0
>

-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/9] activation: Allow /var/lib to be a home directory.
  2016-09-01 15:57 ` [PATCH 2/9] activation: Allow /var/lib to be a home directory David Craven
@ 2016-09-02 11:54   ` 宋文武
  2016-09-02 15:31     ` Vincent Legoll
  2016-09-03 13:24   ` Ludovic Courtès
  1 sibling, 1 reply; 47+ messages in thread
From: 宋文武 @ 2016-09-02 11:54 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> writes:

> * gnu/build/activation.scm (activate-user): Make sure /var/lib exists.
> ---
>  gnu/build/activation.scm | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
> index 10aa58d..3abfdd6 100644
> --- a/gnu/build/activation.scm
> +++ b/gnu/build/activation.scm
> @@ -233,6 +233,9 @@ numeric gid or #f."
>    ;; 'groupadd' aborts if the file doesn't already exist.
>    (touch "/etc/group")
>
> +  ;; allow /var/lib/application to be a home directory
> +  (mkdir-p "/var/lib")
> +
The comment is misleading, I think a better one is:
  allow home directories to be created under /var/lib.

Also, it's better fit in the 'add-user' procudere, before
the run of `useradd' command.  And instead of handing
this particular case, how about create any parent directory
of HOME?  like:

[...]
  ;; create the parent directory of HOME.
  (when home (mkdir-p (dirname home)))
  
  ;; Use 'useradd' from the Shadow package.
[...]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-02 11:19 ` [PATCH 1/9] system: vm: Remove -net user flag ng0
@ 2016-09-02 12:24   ` David Craven
  2016-09-02 12:58     ` ng0
  2016-09-03 13:39     ` Ludovic Courtès
  0 siblings, 2 replies; 47+ messages in thread
From: David Craven @ 2016-09-02 12:24 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

You can add custom qemu flags by running $(guix system vm *.scm) -net
user. As it is now there is no way to remove it, and I've said
multiple times that it causes networking difficulties. Adding it isn't
a problem. I think that the default qemu flags should be the minimum
common denominator, and not include anything that could cause problems
in a different setup.

Your suggestions for new guix system vm flags are additional code that
has to be maintained. I don't think we need them. Besides are you
offering to implement them? Because I'm not ;-)

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 8/9] services: Add sddm service.
  2016-09-01 15:57 ` [PATCH 8/9] services: Add sddm service David Craven
@ 2016-09-02 12:26   ` 宋文武
  2016-09-03 13:32     ` Ludovic Courtès
  0 siblings, 1 reply; 47+ messages in thread
From: 宋文武 @ 2016-09-02 12:26 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

[...]
> +
> +(define (sddm-activation config)
> +  "Return the activation gexp for CONFIG."
> +  #~(begin
> +      (symlink #$(sddm-configuration-file config) "/etc/sddm.conf")))

I don't know the behavior of activation when reconfigure services,
but this `symlink' call will fail when the file already exists.

And to put files to /etc, it's better to extend the `etc-service-type'.


Oh, finally we get a modern display manager, thanks!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 7/9] gnu: Add sddm.
  2016-09-01 15:57 ` [PATCH 7/9] gnu: Add sddm David Craven
@ 2016-09-02 12:26   ` Ludovic Courtès
  0 siblings, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-02 12:26 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/packages/display-managers.scm (sddm): New variable.

[...]

> +    (description "QML based X11 and Wayland display manager.")

Please expound a little bit and use full sentences.

Otherwise LGTM, thanks!  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers).
  2016-09-01 15:57 ` [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers) David Craven
@ 2016-09-02 12:27   ` Ludovic Courtès
  0 siblings, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-02 12:27 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/packages/display-managers.scm: Import (guix licenses) with prefix
>   "license:".

OK!

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 4/9] services: syslog: Use syslog-configuration.
  2016-09-01 15:57 ` [PATCH 4/9] services: syslog: Use syslog-configuration David Craven
@ 2016-09-02 12:31   ` Ludovic Courtès
  0 siblings, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-02 12:31 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/services/base.scm (<syslog-configuration>): New variable.
> (syslog-service-type): Use <syslog-configuration>.
> (syslog-service): Use <syslog-configuration>.

Please mention the gnu/tests/base.scm changes here.

> --- a/gnu/services/base.scm
> +++ b/gnu/services/base.scm
> @@ -73,15 +73,15 @@
>  
>              %nscd-default-caches
>              %nscd-default-configuration
> -
>              nscd-configuration
>              nscd-configuration?
> -
>              nscd-cache
>              nscd-cache?
> -

Please keep the spacing.

> +(define-record-type* <syslog-configuration>
> +  syslog-configuration  make-syslog-configuration
> +  syslog-configuration?
> +  (syslogd              syslog-configuration-syslogd
> +                        (default #~(string-append #$inetutils "/libexec/syslogd")))
> +  (config-file          syslog-configuration-config-file
> +                        (default %default-syslog.conf)))

Good idea!

> -(define* (syslog-service #:key (config-file %default-syslog.conf))
> +(define* (syslog-service #:optional (config (syslog-configuration)))
>    "Return a service that runs @command{syslogd}.  If configuration file
>  name @var{config-file} is not specified, use some reasonable default
>  settings.
>  
>  @xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
>  information on the configuration file syntax."
> -  (service syslog-service-type config-file))
> +  (service syslog-service-type config))

Could you update the docstring and guix.texi, and add an @deftp for
‘syslog-configuration’ in guix.texi?

TIA!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-02 12:24   ` David Craven
@ 2016-09-02 12:58     ` ng0
  2016-09-02 13:00       ` David Craven
  2016-09-03 13:39     ` Ludovic Courtès
  1 sibling, 1 reply; 47+ messages in thread
From: ng0 @ 2016-09-02 12:58 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> writes:

> You can add custom qemu flags by running $(guix system vm *.scm) -net
> user. As it is now there is no way to remove it, and I've said
> multiple times that it causes networking difficulties. Adding it isn't
> a problem. I think that the default qemu flags should be the minimum
> common denominator, and not include anything that could cause problems
> in a different setup.

I agree, if it is a problem it should be removed.
Okay, is this documented that one can add qemu options after the
file.scm? `guix system vm --help' doesn't show it, I haven't looked at
documentation.

> Your suggestions for new guix system vm flags are additional code that
> has to be maintained. I don't think we need them. Besides are you
> offering to implement them? Because I'm not ;-)

I don't have the time to test and debug this in addition to what I do
and my knowledge of qemu is limited, so no.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-02 12:58     ` ng0
@ 2016-09-02 13:00       ` David Craven
  0 siblings, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-02 13:00 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> I agree, if it is a problem it should be removed.
> Okay, is this documented that one can add qemu options after the
> file.scm? `guix system vm --help' doesn't show it, I haven't looked at
> documentation.

It's not a feature of guix system vm but of the qemu script.

$(guix system vm) evaluates to the qemu-run script then we are passing
the additional qemu flag to the script.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 6/9] gnu: Add greenisland.
  2016-09-01 15:57 ` [PATCH 6/9] gnu: Add greenisland David Craven
@ 2016-09-02 13:20   ` Ludovic Courtès
  2016-09-03 17:03     ` David Craven
  2016-09-07  6:50   ` Mark H Weaver
  1 sibling, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-02 13:20 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/packages/display-managers.scm (greenisland): New variable.

[...]

> +    (home-page "http://hawaiios.org")
> +    (license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))

Please specify what the list means: aggregate of these, or license
choice at the user’s option.

Also, is the “or any later version” mention is indeed missing?

The rest of the patch LGTM, thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/9] activation: Allow /var/lib to be a home directory.
  2016-09-02 11:54   ` 宋文武
@ 2016-09-02 15:31     ` Vincent Legoll
  2016-09-02 17:13       ` ng0
  0 siblings, 1 reply; 47+ messages in thread
From: Vincent Legoll @ 2016-09-02 15:31 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

Hello,

> Also, it's better fit in the 'add-user' procudere, before
> the run of `useradd' command.  And instead of handing
> this particular case, how about create any parent directory
> of HOME?  like:
>
> [...]
>   ;; create the parent directory of HOME.
>   (when home (mkdir-p (dirname home)))
>
>   ;; Use 'useradd' from the Shadow package.
> [...]

This looks like a better idea IMHO (more generic)

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
                   ` (8 preceding siblings ...)
  2016-09-02 11:19 ` [PATCH 1/9] system: vm: Remove -net user flag ng0
@ 2016-09-02 15:37 ` Leo Famulari
  9 siblings, 0 replies; 47+ messages in thread
From: Leo Famulari @ 2016-09-02 15:37 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

On Thu, Sep 01, 2016 at 05:57:03PM +0200, David Craven wrote:
> * gnu/system/vm.scm (common-qemu-options): Remove -net user flag.

Can the VM still "dial out" with this change?

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/9] activation: Allow /var/lib to be a home directory.
  2016-09-02 15:31     ` Vincent Legoll
@ 2016-09-02 17:13       ` ng0
  2016-09-02 17:19         ` David Craven
  0 siblings, 1 reply; 47+ messages in thread
From: ng0 @ 2016-09-02 17:13 UTC (permalink / raw)
  To: Vincent Legoll, 宋文武; +Cc: guix-devel

Vincent Legoll <vincent.legoll@gmail.com> writes:

> Hello,
>
>> Also, it's better fit in the 'add-user' procudere, before
>> the run of `useradd' command.  And instead of handing
>> this particular case, how about create any parent directory
>> of HOME?  like:
>>
>> [...]
>>   ;; create the parent directory of HOME.
>>   (when home (mkdir-p (dirname home)))
>>
>>   ;; Use 'useradd' from the Shadow package.
>> [...]
>
> This looks like a better idea IMHO (more generic)
>
> -- 
> Vincent Legoll
>

Apparently I need this if I want to extend git-service (ie: ssh to user
git), and for gnunet-service which requires some directories to be
present in $HOME which normally are there for users as far as I remember.
[PATHS]
SERVICEHOME = /var/lib/gnunet is not working. I could of course create
.config to ~maybe~ satisfy it, but I find this patch useful, as it will
allow me to write less code.
-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/9] activation: Allow /var/lib to be a home directory.
  2016-09-02 17:13       ` ng0
@ 2016-09-02 17:19         ` David Craven
  0 siblings, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-02 17:19 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

> And instead of handing this particular case,
> how about create any parent directory
> of HOME?

I briefly thought about it and thought that we should discourage users
to pick *any* home directory. This will prevent them from doing so.
But it's just an artificial restriction. In that case it's a bug fix
instead of a feature ;-)

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 2/9] activation: Allow /var/lib to be a home directory.
  2016-09-01 15:57 ` [PATCH 2/9] activation: Allow /var/lib to be a home directory David Craven
  2016-09-02 11:54   ` 宋文武
@ 2016-09-03 13:24   ` Ludovic Courtès
  1 sibling, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-03 13:24 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/build/activation.scm (activate-user): Make sure /var/lib exists.
                              ^
AFAICS this is ‘activate-users+groups’.

I initially had the same reaction as 宋文武, but based on your reply, I
agree that it looks like the right place.

> +  ;; allow /var/lib/application to be a home directory

Please capitalize and punctuate.

> +  (mkdir-p "/var/lib")

‘mkdir’ should be enough.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-01 15:57 ` [PATCH 9/9] gnu: Add weston David Craven
  2016-09-01 16:00   ` David Craven
@ 2016-09-03 13:29   ` Ludovic Courtès
  2016-09-04 14:01     ` David Craven
  2016-09-07  6:45   ` Mark H Weaver
  2 siblings, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-03 13:29 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/packages/wayland.scm (weston): New file.
> * gnu/local.mk (GNU_PACKAGE_MODULES): Add it.

[...]

> +(define-public cairo-xcb
> +  (package
> +    (inherit cairo)
> +    (name "cairo-xcb")
> +    (inputs
> +     `(("mesa" ,mesa)
> +       ,@(package-inputs cairo)))
> +    (arguments
> +     `(#:tests? #f
> +       #:configure-flags
> +       '("--enable-xlib-xcb" "--enable-gl" "--enable-egl")))))

Probably this should be kept next to ‘cairo’, and added as a separate
patch.  Also please change the synopsis to something like “2D graphics
library (with X11 support)”.

> +(define-public xwayland
> +  (package
> +    (inherit xorg-server)
> +    (name "xwayland")

Should it be “xorg-server-xwayland”, since fundamentally it’s still the
“xorg-server” source?

> +    (inputs
> +     `(("libepoxy" ,libepoxy)
> +       ("wayland" ,wayland)
> +       ,@(package-inputs xorg-server)))
> +    (arguments
> +      (substitute-keyword-arguments (package-arguments xorg-server)
> +        ((#:configure-flags flags)
> +         `(cons* "--enable-xwayland" "--disable-xorg"
> +                 "--disable-docs"    "--disable-devel-docs"
> +                 "--disable-xvfb"    "--disable-xnest"
> +                 "--disable-xquartz" "--disable-xwin"
> +                 ,flags))))))

Please add a synopsis (as above).

> +(define-public weston
> +  (package
> +    (name "weston")
> +    (version "1.11.0")

[...]

> +    (synopsis "Reference implementation of a Wayland compositor")

What about “Reference Wayland graphical display server”?

> +    (description "Weston is the reference implementation of a Wayland
> +compositor, and a useful compositor in its own right.")

Maybe add a sentence about what a Wayland compositor does.

Also I think people will prefer one patch per package.  :-)

Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 8/9] services: Add sddm service.
  2016-09-02 12:26   ` 宋文武
@ 2016-09-03 13:32     ` Ludovic Courtès
  2016-09-03 13:34       ` David Craven
  0 siblings, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-03 13:32 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

Hi!

iyzsong@member.fsf.org (宋文武) skribis:

> [...]
>> +
>> +(define (sddm-activation config)
>> +  "Return the activation gexp for CONFIG."
>> +  #~(begin
>> +      (symlink #$(sddm-configuration-file config) "/etc/sddm.conf")))
>
> I don't know the behavior of activation when reconfigure services,

‘guix system reconfigure’ runs the new system’s activation script.

> but this `symlink' call will fail when the file already exists.

Indeed.

> And to put files to /etc, it's better to extend the `etc-service-type'.

Agreed.

However, it’s even better to avoid populating /etc altogether; ideally
/etc should contain only global configuration files, such as
nsswitch.conf.

Could you instead pass the configuration file via a command-line option
or environment variable?

> Oh, finally we get a modern display manager, thanks!

Seconded.  Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/9] services: Export initrc.
  2016-09-01 15:57 ` [PATCH 3/9] services: Export initrc David Craven
@ 2016-09-03 13:34   ` Ludovic Courtès
  2016-09-03 13:34     ` David Craven
  0 siblings, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-03 13:34 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> * gnu/services/xorg.scm (define-module): Export initrc.

Until now this was not exported because it’s a little bit hackish and
inconvenient.  Do you have a use for this outside of xorg.scm proper?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 8/9] services: Add sddm service.
  2016-09-03 13:32     ` Ludovic Courtès
@ 2016-09-03 13:34       ` David Craven
  2016-09-03 13:36         ` David Craven
  2016-09-05  8:38         ` Ludovic Courtès
  0 siblings, 2 replies; 47+ messages in thread
From: David Craven @ 2016-09-03 13:34 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

> Could you instead pass the configuration file via a command-line option
> or environment variable?

I already opened a bug report - no it's not currently possible...

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/9] services: Export initrc.
  2016-09-03 13:34   ` Ludovic Courtès
@ 2016-09-03 13:34     ` David Craven
  2016-09-03 17:33       ` David Craven
  2016-09-05  8:40       ` Ludovic Courtès
  0 siblings, 2 replies; 47+ messages in thread
From: David Craven @ 2016-09-03 13:34 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Yes, the sddm service uses it.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 8/9] services: Add sddm service.
  2016-09-03 13:34       ` David Craven
@ 2016-09-03 13:36         ` David Craven
  2016-09-05  8:39           ` Ludovic Courtès
  2016-09-05  8:38         ` Ludovic Courtès
  1 sibling, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-03 13:36 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

> +  (sddm                   sddm-configuration-sddm
> +                          (default sddm))

> +  (faces-directory        sddm-configuration-faces-directory
> +                          (default #~(string-append #$sddm "/share/sddm/faces")))

Is sddm bound to the above sddm?

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-02 12:24   ` David Craven
  2016-09-02 12:58     ` ng0
@ 2016-09-03 13:39     ` Ludovic Courtès
  2016-09-03 13:44       ` David Craven
  1 sibling, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-03 13:39 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

Hi,

David Craven <david@craven.ch> skribis:

> You can add custom qemu flags by running $(guix system vm *.scm) -net
> user. As it is now there is no way to remove it, and I've said
> multiple times that it causes networking difficulties. Adding it isn't
> a problem. I think that the default qemu flags should be the minimum
> common denominator, and not include anything that could cause problems
> in a different setup.

I sympathize with this; what problems are you referring to?

The reason for “-net user” is that it allows me to run “dhclient -v
eth0” in the VM and get access to the network, which is often what I
want.

Now I don’t feel strongly about it, and indeed, I can always add “-net
user” on the command line.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-03 13:39     ` Ludovic Courtès
@ 2016-09-03 13:44       ` David Craven
  2016-09-05  8:41         ` Ludovic Courtès
  0 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-03 13:44 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

> I sympathize with this; what problems are you referring to?
>
> The reason for “-net user” is that it allows me to run “dhclient -v
> eth0” in the VM and get access to the network, which is often what I
> want.

I usually have the need to add my own flags most of the time anyway.

This is the script I usually use - the line marked > doesn't take
effect when a -net user flag was already provided:

$($HOME/guix/pre-inst-env guix system vm server-configuration.scm) \
>    -net user,hostfwd=tcp::10022-:22 \
    -vga virtio \
    -device virtio-rng-pci,bus=pci.0,addr=0x10 \
    -spice port=5930,disable-ticketing \
    -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5
\
    -chardev spicevmc,name=vdagent,id=vdagent \
    -device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0>

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 6/9] gnu: Add greenisland.
  2016-09-02 13:20   ` Ludovic Courtès
@ 2016-09-03 17:03     ` David Craven
  2016-09-05  8:43       ` Ludovic Courtès
  0 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-03 17:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

It says:

GNU General Public License version 2.0 or (at your option) version 3.0
or any later version approved by the KDE Free Qt Foundation.

This means that it's only gpl3+ if the KDE free qt foundation approve it.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/9] services: Export initrc.
  2016-09-03 13:34     ` David Craven
@ 2016-09-03 17:33       ` David Craven
  2016-09-05  8:40       ` Ludovic Courtès
  1 sibling, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-03 17:33 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Do I have your blessing on this (and the -net user) patch? :)

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-03 13:29   ` Ludovic Courtès
@ 2016-09-04 14:01     ` David Craven
  2016-09-05 21:15       ` Ludovic Courtès
  0 siblings, 1 reply; 47+ messages in thread
From: David Craven @ 2016-09-04 14:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Is this ok as a description? I don't think the term display server is
commonly used for wayland compositors, so I left the synopsis.

    (description "Weston is the reference implementation of a Wayland
compositor, and a useful compositor in its own right.

A Wayland compositor allows applications to render to a shared offscreen
buffer using opengles.  The compositor then culls the hidden parts and
composes the final output.  A Wayland compositor is essentially a
multiplexer to the KMS/DRM kernel devices.")

I renamed xwayland to xorg-server-xwayland and added cairo-xcb to
gtk.scm, xorg-server-xwayland to xorg.scm and weston to
freedesktop.scm.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 8/9] services: Add sddm service.
  2016-09-03 13:34       ` David Craven
  2016-09-03 13:36         ` David Craven
@ 2016-09-05  8:38         ` Ludovic Courtès
  1 sibling, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-05  8:38 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

>> Could you instead pass the configuration file via a command-line option
>> or environment variable?
>
> I already opened a bug report - no it's not currently possible...

Ah OK.  In that case there’s no choice indeed.  Could you add the URL of
the upstream bug report next to this etc-service-type extension, so we
can eventually revisit this?

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 8/9] services: Add sddm service.
  2016-09-03 13:36         ` David Craven
@ 2016-09-05  8:39           ` Ludovic Courtès
  0 siblings, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-05  8:39 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

>> +  (sddm                   sddm-configuration-sddm
>> +                          (default sddm))
>
>> +  (faces-directory        sddm-configuration-faces-directory
>> +                          (default #~(string-append #$sddm "/share/sddm/faces")))
>
> Is sddm bound to the above sddm?

It is bound to the global variable ‘sddm’, which is not what you want
here.

So maybe you should have:

  (faces-directory … (default #f))

and then down the line:

  (or (sddm-configuration-faces-directory config)
      #~(string-append #$(sddm-configuration-sddm config)
                       "/share/sddm/faces"))

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 3/9] services: Export initrc.
  2016-09-03 13:34     ` David Craven
  2016-09-03 17:33       ` David Craven
@ 2016-09-05  8:40       ` Ludovic Courtès
  1 sibling, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-05  8:40 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> Yes, the sddm service uses it.

OK, I’m fine with this patch then!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 1/9] system: vm: Remove -net user flag.
  2016-09-03 13:44       ` David Craven
@ 2016-09-05  8:41         ` Ludovic Courtès
  0 siblings, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-05  8:41 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

>> I sympathize with this; what problems are you referring to?
>>
>> The reason for “-net user” is that it allows me to run “dhclient -v
>> eth0” in the VM and get access to the network, which is often what I
>> want.
>
> I usually have the need to add my own flags most of the time anyway.
>
> This is the script I usually use - the line marked > doesn't take
> effect when a -net user flag was already provided:
>
> $($HOME/guix/pre-inst-env guix system vm server-configuration.scm) \
>>    -net user,hostfwd=tcp::10022-:22 \

I see, thanks for explaining.

OK for this patch!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 6/9] gnu: Add greenisland.
  2016-09-03 17:03     ` David Craven
@ 2016-09-05  8:43       ` Ludovic Courtès
  2016-09-05 11:44         ` David Craven
  0 siblings, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-05  8:43 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> It says:
>
> GNU General Public License version 2.0 or (at your option) version 3.0
> or any later version approved by the KDE Free Qt Foundation.
>
> This means that it's only gpl3+ if the KDE free qt foundation approve it.

So that translates to:

  (list license:gpl3 license:gpl2)

(No LGPL here.)  Could you do that and add the above explanation as a
comment above the ‘license’ field?

OK with these changes, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 6/9] gnu: Add greenisland.
  2016-09-05  8:43       ` Ludovic Courtès
@ 2016-09-05 11:44         ` David Craven
  0 siblings, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-05 11:44 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Done. FYI, it also contains lgpl licenses, it just wasn't relevant to
the gpl vs gpl+ thing...

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-04 14:01     ` David Craven
@ 2016-09-05 21:15       ` Ludovic Courtès
  2016-09-06 16:03         ` David Craven
  0 siblings, 1 reply; 47+ messages in thread
From: Ludovic Courtès @ 2016-09-05 21:15 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> skribis:

> Is this ok as a description? I don't think the term display server is
> commonly used for wayland compositors, so I left the synopsis.
>
>     (description "Weston is the reference implementation of a Wayland
> compositor, and a useful compositor in its own right.
>
> A Wayland compositor allows applications to render to a shared offscreen
> buffer using opengles.  The compositor then culls the hidden parts and
> composes the final output.  A Wayland compositor is essentially a
> multiplexer to the KMS/DRM kernel devices.")

s/opengles/OpenGL ES/ and s/kernel/Linux kernel/ but otherwise it’s
perfect, thanks!  :-)

> I renamed xwayland to xorg-server-xwayland and added cairo-xcb to
> gtk.scm, xorg-server-xwayland to xorg.scm and weston to
> freedesktop.scm.

OK!

Ludo’.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-05 21:15       ` Ludovic Courtès
@ 2016-09-06 16:03         ` David Craven
  0 siblings, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-06 16:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Pushed. but just realized now that I should have pushed to
core-updates, since it requires patches from core-updates. Most builds
will probably fail until core-updates is merged... Sorry about that.

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-01 15:57 ` [PATCH 9/9] gnu: Add weston David Craven
  2016-09-01 16:00   ` David Craven
  2016-09-03 13:29   ` Ludovic Courtès
@ 2016-09-07  6:45   ` Mark H Weaver
  2016-09-07  7:08     ` David Craven
  2 siblings, 1 reply; 47+ messages in thread
From: Mark H Weaver @ 2016-09-07  6:45 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> writes:
> * gnu/packages/wayland.scm (weston): New file.
> * gnu/local.mk (GNU_PACKAGE_MODULES): Add it.

This failed to build on hydra:

  https://hydra.gnu.org/build/1467506  (x86_64)
  https://hydra.gnu.org/build/1467476  (i686)
  https://hydra.gnu.org/build/1467551  (mips64el)

It fails in ./configure, with the following error:

  configure: error: Package requirements (egl glesv2 wayland-client wayland-egl) were not met:
  No package 'wayland-egl' found

Did you test this?

      Mark

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 6/9] gnu: Add greenisland.
  2016-09-01 15:57 ` [PATCH 6/9] gnu: Add greenisland David Craven
  2016-09-02 13:20   ` Ludovic Courtès
@ 2016-09-07  6:50   ` Mark H Weaver
  1 sibling, 0 replies; 47+ messages in thread
From: Mark H Weaver @ 2016-09-07  6:50 UTC (permalink / raw)
  To: David Craven; +Cc: guix-devel

David Craven <david@craven.ch> writes:

> * gnu/packages/display-managers.scm (greenisland): New variable.

This failed to build on Hydra:

  https://hydra.gnu.org/build/1467499  (x86_64)
  https://hydra.gnu.org/build/1467553  (i686)
  https://hydra.gnu.org/build/1467561  (mips64el)

It failed during the configuration phase of cmake:

--8<---------------cut here---------------start------------->8---
CMake Error at /gnu/store/zcn7lm8lf60q0756q7z9qpvl9z5wbh82-cmake-3.5.2/share/cmake-3.5/Modules/FeatureSummary.cmake:556 (message):
  feature_summary() Error: REQUIRED package(s) are missing, aborting CMake
  run.
Call Stack (most recent call first):
  CMakeLists.txt:173 (feature_summary)


-- Configuring incomplete, errors occurred!
--8<---------------cut here---------------end--------------->8---

Did you test this?

      Mark

^ permalink raw reply	[flat|nested] 47+ messages in thread

* Re: [PATCH 9/9] gnu: Add weston.
  2016-09-07  6:45   ` Mark H Weaver
@ 2016-09-07  7:08     ` David Craven
  0 siblings, 0 replies; 47+ messages in thread
From: David Craven @ 2016-09-07  7:08 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

> Did you test this?

> Pushed. but just realized now that I should have pushed to
> core-updates, since it requires patches from core-updates. Most builds
> will probably fail until core-updates is merged... Sorry about that.

^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2016-09-07  7:08 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-01 15:57 [PATCH 1/9] system: vm: Remove -net user flag David Craven
2016-09-01 15:57 ` [PATCH 2/9] activation: Allow /var/lib to be a home directory David Craven
2016-09-02 11:54   ` 宋文武
2016-09-02 15:31     ` Vincent Legoll
2016-09-02 17:13       ` ng0
2016-09-02 17:19         ` David Craven
2016-09-03 13:24   ` Ludovic Courtès
2016-09-01 15:57 ` [PATCH 3/9] services: Export initrc David Craven
2016-09-03 13:34   ` Ludovic Courtès
2016-09-03 13:34     ` David Craven
2016-09-03 17:33       ` David Craven
2016-09-05  8:40       ` Ludovic Courtès
2016-09-01 15:57 ` [PATCH 4/9] services: syslog: Use syslog-configuration David Craven
2016-09-02 12:31   ` Ludovic Courtès
2016-09-01 15:57 ` [PATCH 5/9] gnu: Add prefix to license imports in (gnu packages display-managers) David Craven
2016-09-02 12:27   ` Ludovic Courtès
2016-09-01 15:57 ` [PATCH 6/9] gnu: Add greenisland David Craven
2016-09-02 13:20   ` Ludovic Courtès
2016-09-03 17:03     ` David Craven
2016-09-05  8:43       ` Ludovic Courtès
2016-09-05 11:44         ` David Craven
2016-09-07  6:50   ` Mark H Weaver
2016-09-01 15:57 ` [PATCH 7/9] gnu: Add sddm David Craven
2016-09-02 12:26   ` Ludovic Courtès
2016-09-01 15:57 ` [PATCH 8/9] services: Add sddm service David Craven
2016-09-02 12:26   ` 宋文武
2016-09-03 13:32     ` Ludovic Courtès
2016-09-03 13:34       ` David Craven
2016-09-03 13:36         ` David Craven
2016-09-05  8:39           ` Ludovic Courtès
2016-09-05  8:38         ` Ludovic Courtès
2016-09-01 15:57 ` [PATCH 9/9] gnu: Add weston David Craven
2016-09-01 16:00   ` David Craven
2016-09-03 13:29   ` Ludovic Courtès
2016-09-04 14:01     ` David Craven
2016-09-05 21:15       ` Ludovic Courtès
2016-09-06 16:03         ` David Craven
2016-09-07  6:45   ` Mark H Weaver
2016-09-07  7:08     ` David Craven
2016-09-02 11:19 ` [PATCH 1/9] system: vm: Remove -net user flag ng0
2016-09-02 12:24   ` David Craven
2016-09-02 12:58     ` ng0
2016-09-02 13:00       ` David Craven
2016-09-03 13:39     ` Ludovic Courtès
2016-09-03 13:44       ` David Craven
2016-09-05  8:41         ` Ludovic Courtès
2016-09-02 15:37 ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).