* [PATCH] fluxbox window manager @ 2016-02-18 22:17 Danny Milosavljevic 2016-02-18 23:22 ` Leo Famulari 2016-02-19 14:20 ` Eric Bavier 0 siblings, 2 replies; 10+ messages in thread From: Danny Milosavljevic @ 2016-02-18 22:17 UTC (permalink / raw) To: guix-devel Hi, first a few questions: - How do I specify MIT license? - Is it safe to do $ ./pre-inst-env guix environment guix $ guix system reconfigure /etc/config.scm in GuixSD in a git guix checkout? As a regular user or as root? If as root, how exactly? - It is possible to install git guix as normal guix so I don't need pre-inst-env anymore? For every user? Then a new file "gnu/packages/fluxbox.scm": ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; 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 fluxbox) #:use-module ((guix licenses) #:select (gpl2+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages image) #:use-module (gnu packages fontutils) #:use-module (gnu packages fribidi) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg)) (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) ("libxinerama" ,libxinerama) ("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 gpl2+))) ; FIXME ;;; fluxbox.scm ends here ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 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-19 14:20 ` Eric Bavier 1 sibling, 1 reply; 10+ messages in thread From: Leo Famulari @ 2016-02-18 23:22 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: guix-devel On Thu, Feb 18, 2016 at 11:17:12PM +0100, Danny Milosavljevic wrote: > Hi, > > first a few questions: > - How do I specify MIT license? "MIT" is ambiguous. The x11 and expat licenses are commonly called "MIT" so you must see which it is. > - Is it safe to do > $ ./pre-inst-env guix environment guix > $ guix system reconfigure /etc/config.scm > in GuixSD in a git guix checkout? As a regular user or as root? If as root, how exactly? What are you trying to achieve here? I don't see the reason to enter a build environment for Guix before reconfiguring. In any case, only root can reconfigure. If you want to reconfigure against a local source tree, you need to prefix the command with the path to the relevant 'pre-inst-env' file. > - It is possible to install git guix as normal guix so I don't need pre-inst-env anymore? It's not necessary to install it. You can just symlink ~/.config/guix/latest to your source tree. For example: $ ln -s ~/src/guix ~/.config/guix/latest That will be undone if you run `guix pull`. > For every user? Yes, just apply the symlink for each user. But think about the implications of doing it for root if the Guix source tree is owned by your unprivileged user. You will be giving any software that runs as your user a potential root privilege escalation. I'll let somebody else review the patch, since I'm not familiar with fluxbox. > > Then a new file "gnu/packages/fluxbox.scm": > ;;; GNU Guix --- Functional package management for GNU > ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> > ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> > ;;; > ;;; 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 fluxbox) > #:use-module ((guix licenses) #:select (gpl2+)) > #:use-module (guix packages) > #:use-module (guix download) > #:use-module (guix build-system gnu) > #:use-module (gnu packages image) > #:use-module (gnu packages fontutils) > #:use-module (gnu packages fribidi) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages xorg)) > > (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) > ("libxinerama" ,libxinerama) > ("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 gpl2+))) ; FIXME > > ;;; fluxbox.scm ends here > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-18 23:22 ` Leo Famulari @ 2016-02-18 23:31 ` Danny Milosavljevic 2016-02-18 23:58 ` Leo Famulari 0 siblings, 1 reply; 10+ messages in thread From: Danny Milosavljevic @ 2016-02-18 23:31 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Hi, On Thu, 18 Feb 2016 18:22:41 -0500 Leo Famulari <leo@famulari.name> wrote: > What are you trying to achieve here? I'm trying to get fluxbox to show up in the session manager. Therefore, I added fluxbox to the operating-system packages. If I guix system reconfigure outside the pre-inst-env, it will complain about unknown fluxbox. If I guix system reconfigure inside, I am not root. Regards, Danny ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-18 23:31 ` Danny Milosavljevic @ 2016-02-18 23:58 ` Leo Famulari 0 siblings, 0 replies; 10+ messages in thread From: Leo Famulari @ 2016-02-18 23:58 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: guix-devel On Fri, Feb 19, 2016 at 12:31:50AM +0100, Danny Milosavljevic wrote: > Hi, > > On Thu, 18 Feb 2016 18:22:41 -0500 > Leo Famulari <leo@famulari.name> wrote: > > > What are you trying to achieve here? > > I'm trying to get fluxbox to show up in the session manager. Therefore, I added fluxbox to the operating-system packages. If I guix system reconfigure outside the pre-inst-env, it will complain about unknown fluxbox. If I guix system reconfigure inside, I am not root. You can do `$path-to-src/pre-inst-env guix system reconfigure ...`. That should work. `guix environment guix` is only required when you are building Guix itself from source. > > Regards, > Danny ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-18 22:17 [PATCH] fluxbox window manager Danny Milosavljevic 2016-02-18 23:22 ` Leo Famulari @ 2016-02-19 14:20 ` Eric Bavier 2016-02-19 19:54 ` Danny Milosavljevic 1 sibling, 1 reply; 10+ messages in thread From: Eric Bavier @ 2016-02-19 14:20 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: guix-devel On Thu, 18 Feb 2016 23:17:12 +0100 Danny Milosavljevic <dannym@scratchpost.org> wrote: > Then a new file "gnu/packages/fluxbox.scm": This new package should rather go in gnu/packages/wm.scm. > ;;; GNU Guix --- Functional package management for GNU > ;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu> > ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> > ;;; > ;;; 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 fluxbox) > #:use-module ((guix licenses) #:select (gpl2+)) > #:use-module (guix packages) > #:use-module (guix download) > #:use-module (guix build-system gnu) > #:use-module (gnu packages image) > #:use-module (gnu packages fontutils) > #:use-module (gnu packages fribidi) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages xorg)) > > (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")))) 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. > > (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")) Many of these lines could be merged together for better vertical unity. See examples in gnu/packages/wm.scm. > (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) > ("libxinerama" ,libxinerama) > ("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.") ^ Is the '*' necessary here? Could you send an updated patch? Thanks, `~Eric > (home-page "http://fluxbox.org/") > (license gpl2+))) ; FIXME > > ;;; fluxbox.scm ends here > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-19 14:20 ` Eric Bavier @ 2016-02-19 19:54 ` Danny Milosavljevic 2016-02-23 22:29 ` Eric Bavier 0 siblings, 1 reply; 10+ messages in thread From: Danny Milosavljevic @ 2016-02-19 19:54 UTC (permalink / raw) To: Eric Bavier; +Cc: guix-devel 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". > 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 <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,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))) + ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-19 19:54 ` Danny Milosavljevic @ 2016-02-23 22:29 ` Eric Bavier 2016-02-28 6:42 ` Eric Bavier 0 siblings, 1 reply; 10+ messages in thread From: Eric Bavier @ 2016-02-23 22:29 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: guix-devel 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'). `~Eric ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-23 22:29 ` Eric Bavier @ 2016-02-28 6:42 ` Eric Bavier 2016-03-11 9:19 ` Danny Milosavljevic 0 siblings, 1 reply; 10+ messages in thread From: Eric Bavier @ 2016-02-28 6:42 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: guix-devel [-- 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 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-02-28 6:42 ` Eric Bavier @ 2016-03-11 9:19 ` Danny Milosavljevic 2016-03-15 16:08 ` Eric Bavier 0 siblings, 1 reply; 10+ messages in thread From: Danny Milosavljevic @ 2016-03-11 9:19 UTC (permalink / raw) To: Eric Bavier; +Cc: guix-devel > 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. Yes. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] fluxbox window manager 2016-03-11 9:19 ` Danny Milosavljevic @ 2016-03-15 16:08 ` Eric Bavier 0 siblings, 0 replies; 10+ messages in thread From: Eric Bavier @ 2016-03-15 16:08 UTC (permalink / raw) To: Danny Milosavljevic; +Cc: guix-devel On 2016-03-11 03:19, Danny Milosavljevic wrote: >> 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. > > Yes. This was pushed as 0ede252b6672f8df65754a0859dddde295797660 Thanks! -- `~Eric ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-03-15 16:08 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 2016-03-11 9:19 ` Danny Milosavljevic 2016-03-15 16:08 ` Eric Bavier
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).