From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: Re: [PATCH] fluxbox window manager Date: Fri, 19 Feb 2016 20:54:22 +0100 Message-ID: <20160219205422.79eda16f@scratchpost.org> References: <20160218231712.434b3ad2@scratchpost.org> <20160219082021.0cc759b3@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWr8J-0004s8-IY for guix-devel@gnu.org; Fri, 19 Feb 2016 14:54:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWr8F-0002qb-FR for guix-devel@gnu.org; Fri, 19 Feb 2016 14:54:31 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:48803) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWr8F-0002qT-5V for guix-devel@gnu.org; Fri, 19 Feb 2016 14:54:27 -0500 In-Reply-To: <20160219082021.0cc759b3@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Eric Bavier Cc: guix-devel Hi, On Fri, 19 Feb 2016 08:20:21 -0600 Eric Bavier 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". > Is the '*' necessary here? It's the same as in openbox, but not really necessary. > Could you send an updated patch? I'd like to but it really doesn't work in wm right now. 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 . (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,9 +38,11 @@ #: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 (guix download) @@ -65,7 +67,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 +100,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 +137,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 +184,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 +240,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 +269,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 @@ -311,3 +313,63 @@ tiling window manager for X.") many keyboard controls with repositioning and maximize toggles, solid window drags, snap-to-border support, and virtual desktops.") (license (x11-style "file:///README")))) + +(define fluxbox.desktop + (origin + (method url-fetch) + (uri (string-append "http://pkgs.fedoraproject.org/cgit/rpms/fluxbox.git/plain/fluxbox-xsessions.desktop?id=5f2e758b9eb0223d1baff07a339bcb6e0fbf765d")) + (file-name "fluxbox.desktop") + (sha256 + (base32 + "116kf72w3p8jr9l1mxd5qvxwh2rl8c2szyy6cgka667y693m89cy")))) + +(define-public fluxbox + (package + (name "fluxbox") + (version "1.3.7") + (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 + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-xsession + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((fbd "fluxbox.desktop") + (dst (string-append (assoc-ref outputs "out") + "/share/xsessions/"))) + (mkdir-p dst) + (copy-file (assoc-ref inputs fbd) + (string-append dst fbd)))))))) + (native-inputs `(("pkg-config" ,pkg-config) + ("fluxbox.desktop" ,fluxbox.desktop))) + (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) + ("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))) +