all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eric Bavier <ericbavier@openmailbox.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH] fluxbox window manager
Date: Sun, 28 Feb 2016 00:42:14 -0600	[thread overview]
Message-ID: <20160228004214.4149b59f@openmailbox.org> (raw)
In-Reply-To: <20160223162944.28bb9de1@openmailbox.org>

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

On Tue, 23 Feb 2016 16:29:44 -0600
Eric Bavier <ericbavier@openmailbox.org> wrote:

> On Fri, 19 Feb 2016 20:54:22 +0100
> Danny Milosavljevic <dannym@scratchpost.org> wrote:
> 
> > Hi,
> > 
> > On Fri, 19 Feb 2016 08:20:21 -0600
> > Eric Bavier <ericbavier@openmailbox.org> wrote:
> >   
> > > This new package should rather go in gnu/packages/wm.scm.    
> > 
> > I'd like to do that but it doesn't work. If I put the package name "fluxbox" into /etc/config.scm and import "wm" there, it will complain that it doesn't know "fluxbox". Works fine when I put it in gnu/packages/fluxbox.scm and import "fluxbox", though.
> >   
> > > This file download is trivial.  I think we should do something like
> > > what's done for xmonad currently.  Namely, generating our own .desktop
> > > file.  Please see that package.    
> > 
> > I'll check that out after I got it to work inside "wm".  
> 
> Thanks.
> 
> > > Could you send an updated patch?    
> > 
> > I'd like to but it really doesn't work in wm right now.  
> 
> See below.
> 
> > 
> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
> > index 1765c3a..a1df857 100644
> > --- a/gnu/packages/wm.scm
> > +++ b/gnu/packages/wm.scm
> > @@ -21,7 +21,7 @@
> >  ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
> >  
> >  (define-module (gnu packages wm)
> > -  #:use-module (guix licenses)
> > +  #:use-module ((guix licenses) #:prefix license:)  
> 
> Fluxbox might have been reported missing since there is an instance of
> "x11-style" that didn't get a license: prefix, so compilation would
> fail.
> 
> [...]
> > +    (inputs `(("imlib2" ,imlib2)
> > +              ("libx11" ,libx11)
> > +              ;("libxml2" ,libxml2)
> > +              ;("librsvg" ,librsvg)
> > +              ;("libsm" ,libsm)
> > +              ;("libxcursor" ,libxcursor)
> > +              ("libxinerama" ,libxinerama)
> > +              ;("libxml2" ,libxml2)
> > +              ("libxrandr" ,libxrandr)
> > +              ("libxext" ,libxext)
> > +              ("libxrender" ,libxrender)
> > +              ("libxft" ,libxft)
> > +              ("freetype" ,freetype)  
> 
> This will require a "#:use-module (gnu packages fontutils)"
> 
> > +              ("fribidi" ,fribidi)
> > +              ("libxpm"  ,libxpm)))
> > +    (synopsis "Window manager with tabs")
> > +    (description "Fluxbox is a window manager. 
> > +The 'box' visual style is well known for its minimalistic appearance.")
> > +    (home-page "http://fluxbox.org/")
> > +    (license license:expat)))
> > +  
> 
> With those changes, you should be able to build and load up fluxbox
> from gnu/packages/wm.scm (I was able to with `guix system vm').

I went ahead and made the above changes in the attached patch.  Please
let me know if the copyright line and git author are appropriate.

Thanks,
`~Eric

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

From 6d591e258fa5c50911bdde23c3a041920305ff50 Mon Sep 17 00:00:00 2001
From: Danny Milosavljevic <dannym@scratchpost.org>
Date: Sun, 28 Feb 2016 00:37:22 -0600
Subject: [PATCH] gnu: Add fluxbox.

* gnu/packages/wm.scm (fluxbox): New variable.

Co-authored-by: Eric Bavier <bavier@member.fsf.org>
---
 gnu/packages/wm.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 64 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 1765c3a..cad4a30 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1,9 +1,10 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
-;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,7 +22,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages wm)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (gnu packages)
   #:use-module (gnu packages linux)
@@ -38,11 +39,14 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libevent)
+  #:use-module (gnu packages fribidi)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages web)
+  #:use-module (gnu packages fontutils)
   #:use-module (guix download)
   #:use-module (guix git-download))
 
@@ -65,7 +69,7 @@ supports sections and (lists of) values (strings, integers, floats, booleans
 or other sections), as well as some other features (such as
 single/double-quoted strings, environment variable expansion, functions and
 nested include statements).")
-    (license isc)))
+    (license license:isc)))
 
 (define-public bspwm
   (package
@@ -98,7 +102,7 @@ nested include statements).")
     (synopsis "Tiling window manager based on binary space partitioning")
     (description "bspwm is a tiling window manager that represents windows as
 the leaves of a full binary tree.")
-    (license bsd-2)))
+    (license license:bsd-2)))
 
 (define-public i3status
   (package
@@ -135,7 +139,7 @@ update such a status line every second.  This ensures that even under high
 load, your status bar is updated correctly.  Also, it saves a bit of energy by
 not hogging your CPU as much as spawning the corresponding amount of shell
 commands would.")
-    (license bsd-3)))
+    (license license:bsd-3)))
 
 (define-public i3-wm
   (package
@@ -182,7 +186,7 @@ commands would.")
     (description "A tiling window manager, completely written
 from scratch.  i3 is primarily targeted at advanced users and
 developers.")
-    (license bsd-3)))
+    (license license:bsd-3)))
 
 (define-public xmonad
   (package
@@ -238,7 +242,7 @@ Custom layout algorithms, and other extensions, may be written by the user in
 config files.  Layouts are applied dynamically, and different layouts may be
 used on each workspace.  Xinerama is fully supported, allowing windows to be
 tiled on several screens.")
-    (license bsd-3)))
+    (license license:bsd-3)))
 
 (define-public ghc-xmonad-contrib
   (package
@@ -267,7 +271,7 @@ tiled on several screens.")
     (description
      "Third party tiling algorithms, configurations, and scripts to Xmonad, a
 tiling window manager for X.")
-    (license bsd-3)))
+    (license license:bsd-3)))
 
 (define-public evilwm
   (package
@@ -310,4 +314,55 @@ tiling window manager for X.")
      "evilwm is a minimalist window manager based on aewm, extended to feature
 many keyboard controls with repositioning and maximize toggles, solid window
 drags, snap-to-border support, and virtual desktops.")
-    (license (x11-style "file:///README"))))
+    (license (license:x11-style "file:///README"))))
+
+(define-public fluxbox
+  (package
+    (name "fluxbox")
+    (version "1.3.7")
+    (synopsis "Small and fast window manager")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/fluxbox/"
+                                  version "/fluxbox-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1h1f70y40qd225dqx937vzb4k2cz219agm1zvnjxakn5jkz7b37w"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags '("CPPFLAGS=-U__TIME__") ;ugly, but for reproducibility
+       #:phases
+       (modify-phases %standard-phases
+         (add-after
+          'install 'install-xsession
+          (lambda _
+            (let ((xsessions (string-append %output "/share/xsessions")))
+              (mkdir-p xsessions)
+              (call-with-output-file
+                  (string-append xsessions "/fluxbox.desktop")
+                (lambda (port)
+                  (format port "~
+                    [Desktop Entry]~@
+                    Name=~a~@
+                    Comment=~a~@
+                    Exec=~a/bin/startfluxbox~@
+                    Type=Application~%" ,name ,synopsis %output)))))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("imlib2" ,imlib2)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxft" ,libxft)
+       ("libxinerama" ,libxinerama)
+       ("libxpm"  ,libxpm)
+       ("libxrandr" ,libxrandr)
+       ("libxrender" ,libxrender)))
+    (description "Fluxbox is a window manager.  It is light on resources
+and easy to handle yet full of features to make an easy and fast desktop
+experience.")
+    (home-page "http://fluxbox.org/")
+    (license license:expat)))
+
-- 
2.6.3


  reply	other threads:[~2016-02-28  6:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-18 22:17 [PATCH] fluxbox window manager Danny Milosavljevic
2016-02-18 23:22 ` Leo Famulari
2016-02-18 23:31   ` Danny Milosavljevic
2016-02-18 23:58     ` Leo Famulari
2016-02-19 14:20 ` Eric Bavier
2016-02-19 19:54   ` Danny Milosavljevic
2016-02-23 22:29     ` Eric Bavier
2016-02-28  6:42       ` Eric Bavier [this message]
2016-03-11  9:19         ` Danny Milosavljevic
2016-03-15 16:08           ` Eric Bavier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160228004214.4149b59f@openmailbox.org \
    --to=ericbavier@openmailbox.org \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.