all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* xscreenserver WIP
@ 2016-04-08 15:36 Christopher Allan Webber
  2016-04-08 22:52 ` Leo Famulari
  0 siblings, 1 reply; 8+ messages in thread
From: Christopher Allan Webber @ 2016-04-08 15:36 UTC (permalink / raw)
  To: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 2913 bytes --]

Hello all,

Attached is an in-progress package for xscreensaver.  There are a few
issues:

 - It builds, but does not install.  It stops here:

     /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver
     /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver-command /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver-command
     /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver-demo /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver-demo
     /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver-getimage /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver-getimage
     /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install: cannot create directory ‘/usr’: Permission denied
     Makefile:302: recipe for target 'install-ad' failed
     make[1]: *** [install-ad] Error 1
     make[1]: Leaving directory '/tmp/guix-build-xscreensaver-5.34.drv-0/xscreensaver-5.34/driver'
     Makefile:29: recipe for target 'install' failed
     make: *** [install] Error 5
     phase `install' failed after 0.1 seconds
     note: keeping build directory `/tmp/guix-build-xscreensaver-5.34.drv-0'

   If you look at the driver/Makefile result, this isn't surprising:

     install_prefix	=
     # ...
     install-ad: XScreenSaver.ad
     	@if [ ! -d $(install_prefix)$(AD_DIR) ]; then			      \
     	  $(INSTALL_DIRS) $(install_prefix)$(AD_DIR) ;			      \
     	 fi
        # ...

   I'm sure there's an obvious solution to this that doesn't involve a
   substitute* but I don't know what it is.

 - Does it need setuid?  We don't support that, right?  This error
   appears during install:

  ####################################################################
  Warning: xscreensaver has been compiled with support for shadow
           passwords.  If your system actually uses shadow passwords,
           then xscreensaver must be installed as a setuid root
           program in order for locking to work.  To do this, you
           must run 'make install' as 'root', not as 'nixbld'.

           For now, xscreensaver will be installed non-setuid, which
           means that locking might not work.  (Try it and see.)
  ####################################################################

 - I don't know what to fill in for the license field.
   There's no COPYING file; each individual file has its own license
   header, and most of them are the same, but not all.  Here's
   what Debian has:

     http://metadata.ftp-master.debian.org/changelogs/main/x/xscreensaver/xscreensaver_5.34-1_copyright

Help appreciated!
 - Chris
   

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-xscreensaver.patch --]
[-- Type: text/x-patch, Size: 3106 bytes --]

From eed8640c9b3feca9aea3ae406eee83f2efb62458 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber <cwebber@dustycloud.org>
Date: Fri, 8 Apr 2016 10:36:05 -0500
Subject: [PATCH] gnu: Add xscreensaver.

* gnu/packages/xdisorg.scm (xscreensaver): New variable.
---
 gnu/packages/xdisorg.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 5a77a6c..10afcb5 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -37,6 +37,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages asciidoc)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gtk)
@@ -714,6 +716,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).")
        ("libx11" ,libx11)
        ("libxcb" ,libxcb)
        ("libxxf86vm" ,libxxf86vm)
+       ("libjpeg" ,libjpeg)
        ("glib" ,glib)))                           ;for Geoclue2 support
     (home-page "https://github.com/jonls/redshift")
     (synopsis "Adjust the color temperature of your screen")
@@ -724,3 +727,48 @@ twilight and early morning, the color temperature transitions smoothly from
 night to daytime temperature to allow your eyes to slowly adapt.  At night the
 color temperature should be set to match the lamps in your room.")
     (license license:gpl3+)))
+
+(define-public xscreensaver
+  (package
+    (name "xscreensaver")
+    (version "5.34")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
+                       version ".tar.gz"))
+       (sha256
+        (base32
+         "09sy5v8bn62hiq4ib3jyvp8lipqcvn3rdsj74q25qgklpv27xzvg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f)) ; no check target
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxi" ,libxi)
+       ("libxt" ,libxt)
+       ("libxft" ,libxft)
+       ("libxmu" ,libxmu)
+       ("libxpm" ,libxpm)
+       ("libglade" ,libglade)
+       ("libxml2" ,libxml2)
+       ("libsm" ,libsm)
+       ("libjpeg" ,libjpeg)
+       ("pango" ,pango)
+       ("gtk+" ,gtk+)
+       ("perl" ,perl)
+       ("cairo" ,cairo)
+       ("bc" ,bc)
+       ("libxrandr" ,libxrandr)
+       ("glu" ,glu)
+       ("glib" ,glib)))
+    (home-page "https://www.jwz.org/xscreensaver/")
+    (synopsis "Classic screen saver suite supporting screen locking")
+    (description
+     "xscreensaver is a popular screen saver collection with many entertaining
+demos.  It also acts as a nice screen locker.")
+    (license #f)))
-- 
2.7.3


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

* Re: xscreenserver WIP
  2016-04-08 15:36 xscreenserver WIP Christopher Allan Webber
@ 2016-04-08 22:52 ` Leo Famulari
  2016-04-10  1:52   ` [PATCH] gnu: Add xscreenserver Christopher Allan Webber
  0 siblings, 1 reply; 8+ messages in thread
From: Leo Famulari @ 2016-04-08 22:52 UTC (permalink / raw)
  To: Christopher Allan Webber; +Cc: Guix-devel

On Fri, Apr 08, 2016 at 10:36:42AM -0500, Christopher Allan Webber wrote:
> Hello all,
> 
> Attached is an in-progress package for xscreensaver.  There are a few
> issues:
> 
>  - It builds, but does not install.  It stops here:
> 
>      /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver
>      /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver-command /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver-command
>      /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver-demo /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver-demo
>      /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install -c xscreensaver-getimage /gnu/store/2agy7nwjl6gl4m271kx3xjkyi22zv2ps-xscreensaver-5.34/bin/xscreensaver-getimage
>      /gnu/store/34j2zmi69mqwrslpyizbi9mcxmn2hzgb-coreutils-8.24/bin/install: cannot create directory ‘/usr’: Permission denied
>      Makefile:302: recipe for target 'install-ad' failed
>      make[1]: *** [install-ad] Error 1
>      make[1]: Leaving directory '/tmp/guix-build-xscreensaver-5.34.drv-0/xscreensaver-5.34/driver'
>      Makefile:29: recipe for target 'install' failed
>      make: *** [install] Error 5
>      phase `install' failed after 0.1 seconds
>      note: keeping build directory `/tmp/guix-build-xscreensaver-5.34.drv-0'
> 
>    If you look at the driver/Makefile result, this isn't surprising:
> 
>      install_prefix	=
>      # ...
>      install-ad: XScreenSaver.ad
>      	@if [ ! -d $(install_prefix)$(AD_DIR) ]; then			      \
>      	  $(INSTALL_DIRS) $(install_prefix)$(AD_DIR) ;			      \
>      	 fi
>         # ...

Did you try something like this?

(arguments
 `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))

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

* [PATCH] gnu: Add xscreenserver.
  2016-04-08 22:52 ` Leo Famulari
@ 2016-04-10  1:52   ` Christopher Allan Webber
  2016-04-10  3:08     ` Leo Famulari
  0 siblings, 1 reply; 8+ messages in thread
From: Christopher Allan Webber @ 2016-04-10  1:52 UTC (permalink / raw)
  To: Leo Famulari; +Cc: Guix-devel

[-- Attachment #1: Type: text/plain, Size: 605 bytes --]

Leo Famulari writes:

> Did you try something like this?
>
> (arguments
>  `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))

This didn't fix it, but it die send me along the right path.  Working
xscreensaver attached!

Note, for locking to work on guixsd, you'll need something like this in
your guix system configuration:

  (services (cons*
             (screen-locker-service xscreensaver)
             %desktop-services))

Look okay to push?  Also, not sure if my approach to the licensing
complexity is the best, but it seems to make things a bit easier all
considering.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-xscreensaver.patch --]
[-- Type: text/x-patch, Size: 4245 bytes --]

From b4d6d0181bea79622a1d9a2e893e340a99667314 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber <cwebber@dustycloud.org>
Date: Fri, 8 Apr 2016 10:36:05 -0500
Subject: [PATCH] gnu: Add xscreensaver.

* gnu/packages/xdisorg.scm (xscreensaver): New variable.
---
 gnu/packages/xdisorg.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 5a77a6c..1a8305e 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -37,6 +37,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages asciidoc)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
@@ -47,6 +48,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gtk)
@@ -714,6 +716,7 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).")
        ("libx11" ,libx11)
        ("libxcb" ,libxcb)
        ("libxxf86vm" ,libxxf86vm)
+       ("libjpeg" ,libjpeg)
        ("glib" ,glib)))                           ;for Geoclue2 support
     (home-page "https://github.com/jonls/redshift")
     (synopsis "Adjust the color temperature of your screen")
@@ -724,3 +727,69 @@ twilight and early morning, the color temperature transitions smoothly from
 night to daytime temperature to allow your eyes to slowly adapt.  At night the
 color temperature should be set to match the lamps in your room.")
     (license license:gpl3+)))
+
+(define-public xscreensaver
+  (package
+    (name "xscreensaver")
+    (version "5.34")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://www.jwz.org/xscreensaver/xscreensaver-"
+                       version ".tar.gz"))
+       (sha256
+        (base32
+         "09sy5v8bn62hiq4ib3jyvp8lipqcvn3rdsj74q25qgklpv27xzvg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ; no check target
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'adjust-gtk-resource-paths
+           (lambda _
+             (substitute* '("driver/Makefile.in" "po/Makefile.in.in")
+               (("@GTK_DATADIR@") "@datadir@")
+               (("@PO_DATADIR@") "@datadir@")))))
+       #:configure-flags '("--with-pam" "--with-proc-interrupts"
+                           "--without-readdisplay")
+       #:make-flags (list (string-append "AD_DIR="
+                                         (assoc-ref %outputs "out")
+                                         "/usr/lib/X11/app-defaults"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("intltool" ,intltool)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxi" ,libxi)
+       ("libxt" ,libxt)
+       ("libxft" ,libxft)
+       ("libxmu" ,libxmu)
+       ("libxpm" ,libxpm)
+       ("libglade" ,libglade)
+       ("libxml2" ,libxml2)
+       ("libsm" ,libsm)
+       ("libjpeg" ,libjpeg)
+       ("linux-pam" ,linux-pam)
+       ("pango" ,pango)
+       ("gtk+" ,gtk+)
+       ("perl" ,perl)
+       ("cairo" ,cairo)
+       ("bc" ,bc)
+       ("libxrandr" ,libxrandr)
+       ("glu" ,glu)
+       ("glib" ,glib)))
+    (home-page "https://www.jwz.org/xscreensaver/")
+    (synopsis "Classic screen saver suite supporting screen locking")
+    (description
+     "xscreensaver is a popular screen saver collection with many entertaining
+demos.  It also acts as a nice screen locker.")
+    ;; xscreensaver doesn't have a single copyright file and instead relies on
+    ;; source comment headers, though most files have the same lax
+    ;; permissions.  To reduce complexity, we're pointing at Debian's
+    ;; breakdown of the copyright information.
+    (license (license:non-copyleft
+              (string-append
+               "http://metadata.ftp-master.debian.org/changelogs/"
+               "/main/x/xscreensaver/xscreensaver_5.34-2_copyright")))))
-- 
2.7.3


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

* Re: [PATCH] gnu: Add xscreenserver.
  2016-04-10  1:52   ` [PATCH] gnu: Add xscreenserver Christopher Allan Webber
@ 2016-04-10  3:08     ` Leo Famulari
  2016-04-11 12:52       ` Christopher Allan Webber
  0 siblings, 1 reply; 8+ messages in thread
From: Leo Famulari @ 2016-04-10  3:08 UTC (permalink / raw)
  To: Christopher Allan Webber; +Cc: Guix-devel

On Sat, Apr 09, 2016 at 08:52:12PM -0500, Christopher Allan Webber wrote:
> Leo Famulari writes:
> 
> > Did you try something like this?
> >
> > (arguments
> >  `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))
> 
> This didn't fix it, but it die send me along the right path.  Working
> xscreensaver attached!

Awesome! Looking forward to trying this out soon!

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

* Re: [PATCH] gnu: Add xscreenserver.
  2016-04-10  3:08     ` Leo Famulari
@ 2016-04-11 12:52       ` Christopher Allan Webber
  2016-04-11 12:59         ` Mathieu Lirzin
  2016-04-11 22:28         ` Leo Famulari
  0 siblings, 2 replies; 8+ messages in thread
From: Christopher Allan Webber @ 2016-04-11 12:52 UTC (permalink / raw)
  To: Leo Famulari; +Cc: Guix-devel

Leo Famulari writes:

> On Sat, Apr 09, 2016 at 08:52:12PM -0500, Christopher Allan Webber wrote:
>> Leo Famulari writes:
>> 
>> > Did you try something like this?
>> >
>> > (arguments
>> >  `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))
>> 
>> This didn't fix it, but it die send me along the right path.  Working
>> xscreensaver attached!
>
> Awesome! Looking forward to trying this out soon!

Just to be clear, was that also an "awesome, looks good to push"? :)

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

* Re: [PATCH] gnu: Add xscreenserver.
  2016-04-11 12:52       ` Christopher Allan Webber
@ 2016-04-11 12:59         ` Mathieu Lirzin
  2016-04-11 22:28         ` Leo Famulari
  1 sibling, 0 replies; 8+ messages in thread
From: Mathieu Lirzin @ 2016-04-11 12:59 UTC (permalink / raw)
  To: Christopher Allan Webber; +Cc: Guix-devel

Christopher Allan Webber <cwebber@dustycloud.org> writes:

> Leo Famulari writes:
>
>> On Sat, Apr 09, 2016 at 08:52:12PM -0500, Christopher Allan Webber wrote:
>>> Leo Famulari writes:
>>> 
>>> > Did you try something like this?
>>> >
>>> > (arguments
>>> >  `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))
>>> 
>>> This didn't fix it, but it die send me along the right path.  Working
>>> xscreensaver attached!
>>
>> Awesome! Looking forward to trying this out soon!
>
> Just to be clear, was that also an "awesome, looks good to push"? :)

I am not Leo, but It is likely that you are reading it in the way you
wanted it to be.  ;)

-- 
Mathieu Lirzin

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

* Re: [PATCH] gnu: Add xscreenserver.
  2016-04-11 12:52       ` Christopher Allan Webber
  2016-04-11 12:59         ` Mathieu Lirzin
@ 2016-04-11 22:28         ` Leo Famulari
  2016-04-12 15:22           ` Christopher Allan Webber
  1 sibling, 1 reply; 8+ messages in thread
From: Leo Famulari @ 2016-04-11 22:28 UTC (permalink / raw)
  To: Christopher Allan Webber; +Cc: Guix-devel

On Mon, Apr 11, 2016 at 07:52:25AM -0500, Christopher Allan Webber wrote:
> Leo Famulari writes:
> 
> > On Sat, Apr 09, 2016 at 08:52:12PM -0500, Christopher Allan Webber wrote:
> >> Leo Famulari writes:
> >> 
> >> > Did you try something like this?
> >> >
> >> > (arguments
> >> >  `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))
> >> 
> >> This didn't fix it, but it die send me along the right path.  Working
> >> xscreensaver attached!
> >
> > Awesome! Looking forward to trying this out soon!
> 
> Just to be clear, was that also an "awesome, looks good to push"? :)

If it's working for you, then okay!

By the way, how did you enable it and how do you invoke it? I added it
to my system's services as you described but the daemon isn't running. I
also tried to add a line for it in 'gnu/services/desktop.scm' along with
slock and xlockmore.

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

* Re: [PATCH] gnu: Add xscreenserver.
  2016-04-11 22:28         ` Leo Famulari
@ 2016-04-12 15:22           ` Christopher Allan Webber
  0 siblings, 0 replies; 8+ messages in thread
From: Christopher Allan Webber @ 2016-04-12 15:22 UTC (permalink / raw)
  To: Leo Famulari; +Cc: Guix-devel

Leo Famulari writes:

> On Mon, Apr 11, 2016 at 07:52:25AM -0500, Christopher Allan Webber wrote:
>> Leo Famulari writes:
>> 
>> > On Sat, Apr 09, 2016 at 08:52:12PM -0500, Christopher Allan Webber wrote:
>> >> Leo Famulari writes:
>> >> 
>> >> > Did you try something like this?
>> >> >
>> >> > (arguments
>> >> >  `(#:make-flags (string-append "install_prefix= (assoc-ref %outputs "out"))))
>> >> 
>> >> This didn't fix it, but it die send me along the right path.  Working
>> >> xscreensaver attached!
>> >
>> > Awesome! Looking forward to trying this out soon!
>> 
>> Just to be clear, was that also an "awesome, looks good to push"? :)
>
> If it's working for you, then okay!

Great, pushed!

> By the way, how did you enable it and how do you invoke it? I added it
> to my system's services as you described but the daemon isn't running. I
> also tried to add a line for it in 'gnu/services/desktop.scm' along with
> slock and xlockmore.

Adding to the system services just makes it so that you can unlock the
screen... otherwise you won't be able to unlock it!

So to start it, have your window manager launch it as one of its initial
programs.  Running "xscreensaver" is sufficient to start the daemon.

You can run "xscreensaver-demo" to pull up an interface to test things
out.

Happy locking!
 - Chris

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

end of thread, other threads:[~2016-04-12 15:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-08 15:36 xscreenserver WIP Christopher Allan Webber
2016-04-08 22:52 ` Leo Famulari
2016-04-10  1:52   ` [PATCH] gnu: Add xscreenserver Christopher Allan Webber
2016-04-10  3:08     ` Leo Famulari
2016-04-11 12:52       ` Christopher Allan Webber
2016-04-11 12:59         ` Mathieu Lirzin
2016-04-11 22:28         ` Leo Famulari
2016-04-12 15:22           ` Christopher Allan Webber

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.