diff mbox

gnu: Add awesome.

Message ID 1465776755-16444-1-git-send-email-carlo@zancanaro.id.au
State New
Headers show

Commit Message

Carlo Zancanaro June 13, 2016, 12:12 a.m. UTC
* gnu/packages/awesome.scm (awesome): New variable.
---
 gnu/packages/awesome.scm | 93 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)
 create mode 100644 gnu/packages/awesome.scm

Comments

Carlo Zancanaro June 13, 2016, 12:28 a.m. UTC | #1
After looking a bit more at patches where new files are added, I now
realise this is incomplete. I'll send through a new patch in a few minutes.

On 13 June 2016 at 10:12, Carlo Zancanaro <carlo@zancanaro.id.au> wrote:

> * gnu/packages/awesome.scm (awesome): New variable.
> ---
>  gnu/packages/awesome.scm | 93
> ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 93 insertions(+)
>  create mode 100644 gnu/packages/awesome.scm
>
> diff --git a/gnu/packages/awesome.scm b/gnu/packages/awesome.scm
> new file mode 100644
> index 0000000..6aa1f93
> --- /dev/null
> +++ b/gnu/packages/awesome.scm
> @@ -0,0 +1,93 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
> +;;;
> +;;; 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 awesome)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system glib-or-gtk)
> +  #:use-module (gnu packages freedesktop)
> +  #:use-module (gnu packages glib)
> +  #:use-module (gnu packages gperf)
> +  #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages image)
> +  #:use-module (gnu packages imagemagick)
> +  #:use-module (gnu packages libevent)
> +  #:use-module (gnu packages lua)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages xdisorg)
> +  #:use-module (gnu packages xorg))
> +
> +(define-public awesome
> +  (package
> +    (name "awesome")
> +    (version "3.4.15")
> +    (source
> +     (origin (method url-fetch)
> +             (uri (string-append "
> https://awesome.naquadah.org/download/awesome-"
> +                                 version ".tar.xz"))
> +             (sha256
> +              (base32
> +               "1m910lr7wkw2dgzmirfvz7dasfswhhccdf65l21iiciv24c3w1bb"))))
> +    (build-system cmake-build-system)
> +    (native-inputs `(("pkg-config" ,pkg-config)))
> +    (inputs `(("cairo" ,cairo)
> +              ("dbus" ,dbus)
> +              ("gdk-pixbuf" ,gdk-pixbuf)
> +              ("glib" ,glib)
> +              ("gperf" ,gperf)
> +              ("imlib2" ,imlib2)
> +              ("libev" ,libev)
> +              ("libxcb" ,libxcb)
> +              ("libxcursor" ,libxcursor)
> +              ("libxdg-basedir" ,libxdg-basedir)
> +              ("lua" ,lua-5.1)
> +              ("pango" ,pango)
> +              ("startup-notification" ,startup-notification)
> +              ("xcb-util" ,xcb-util)
> +              ("xcb-util-cursor" ,xcb-util-cursor)
> +              ("xcb-util-image" ,xcb-util-image)
> +              ("xcb-util-keysyms" ,xcb-util-keysyms)
> +              ("xcb-util-renderutil" ,xcb-util-renderutil)
> +              ("xcb-util-wm" ,xcb-util-wm)
> +              ("imagemagick" ,imagemagick)))
> +    (arguments `(#:phases (modify-phases %standard-phases
> +                            (replace 'check
> +                              (lambda* _
> +                                (zero? (system* "../build/awesome"
> "-v")))))))
> +    (synopsis "Highly configurable, next generation framework window
> manager
> +for X")
> +    (description
> +     "awesome is a window manager for X.  It manages windows in different
> +layouts, like floating or tiled.  Any layout can be applied dynamically,
> +optimizing the environment for the application in use and the task
> currently
> +being performed.
> +
> +In a tiled layout, windows are managed in a master and stacking area.  The
> +master area contains the windows which currently need the most attention,
> +whereas the stacking area contains all other windows.  In a floating
> layout
> +windows can be resized and moved freely.  Dialog windows are always
> managed as
> +floating, regardless of the layout currently applied.  The spiral and
> dwindle
> +layouts are special cases of the tiled layout where the stacking area is
> +arranged in a spiral for the former or as a rectangular fractal for the
> later.
> +
> +Windows are grouped by tags in awesome.  Each window can be tagged with
> one or
> +more tags.  Selecting certain tags displays all windows with these tags.")
> +    (license license:gpl2)
> +    (home-page "https://awesome.naquadah.org/")))
> --
> 2.7.3
>
>
non such June 13, 2016, 8:05 a.m. UTC | #2
On 2016-06-13(10:12:35+1000), Carlo Zancanaro wrote:
> * gnu/packages/awesome.scm (awesome): New variable

Woo! many thanks, I've had a work in progree gathering dust for
a while, thanks for packaging this :)
.
> ---
>  gnu/packages/awesome.scm | 93 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 93 insertions(+)
>  create mode 100644 gnu/packages/awesome.scm
>
> diff --git a/gnu/packages/awesome.scm b/gnu/packages/awesome.scm
> new file mode 100644
> index 0000000..6aa1f93
> --- /dev/null
> +++ b/gnu/packages/awesome.scm

I think gnu/packages/wm.scm is a better place, unless the forgotten files
add many awesome-wm related packages, which as well could be in
gnu/packages/lua.scm or other files then.

> @@ -0,0 +1,93 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
> +;;;
> +;;; 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 awesome)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system glib-or-gtk)
> +  #:use-module (gnu packages freedesktop)
> +  #:use-module (gnu packages glib)
> +  #:use-module (gnu packages gperf)
> +  #:use-module (gnu packages gtk)
> +  #:use-module (gnu packages image)
> +  #:use-module (gnu packages imagemagick)
> +  #:use-module (gnu packages libevent)
> +  #:use-module (gnu packages lua)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages xdisorg)
> +  #:use-module (gnu packages xorg))
> +
> +(define-public awesome
> +  (package
> +    (name "awesome")
> +    (version "3.4.15")

Is 3.4.15 the latest? I use 3.5.9 here, and this was what I targeted
with my work in progress.

> +    (source
> +     (origin (method url-fetch)
> +             (uri (string-append "https://awesome.naquadah.org/download/awesome-"
> +                                 version ".tar.xz"))
> +             (sha256
> +              (base32
> +               "1m910lr7wkw2dgzmirfvz7dasfswhhccdf65l21iiciv24c3w1bb"))))
> +    (build-system cmake-build-system)
> +    (native-inputs `(("pkg-config" ,pkg-config)))
> +    (inputs `(("cairo" ,cairo)
> +              ("dbus" ,dbus)
> +              ("gdk-pixbuf" ,gdk-pixbuf)
> +              ("glib" ,glib)
> +              ("gperf" ,gperf)
> +              ("imlib2" ,imlib2)
> +              ("libev" ,libev)
> +              ("libxcb" ,libxcb)
> +              ("libxcursor" ,libxcursor)
> +              ("libxdg-basedir" ,libxdg-basedir)
> +              ("lua" ,lua-5.1)
> +              ("pango" ,pango)
> +              ("startup-notification" ,startup-notification)
> +              ("xcb-util" ,xcb-util)
> +              ("xcb-util-cursor" ,xcb-util-cursor)
> +              ("xcb-util-image" ,xcb-util-image)
> +              ("xcb-util-keysyms" ,xcb-util-keysyms)
> +              ("xcb-util-renderutil" ,xcb-util-renderutil)
> +              ("xcb-util-wm" ,xcb-util-wm)
> +              ("imagemagick" ,imagemagick)))

it requires also lua-lgi, at least with 3.5.9 version. I can give you the wip
of that if it only got in with 3.5.x and you need it.

Building the documentation also requires doxygen and graphviz in case you want
to add a second output for them - I never made it that far and can't tell if the
docs are very big.

> +    (arguments `(#:phases (modify-phases %standard-phases
> +                            (replace 'check
> +                              (lambda* _
> +                                (zero? (system* "../build/awesome" "-v")))))))
> +    (synopsis "Highly configurable, next generation framework window manager
> +for X")
> +    (description
> +     "awesome is a window manager for X.  It manages windows in different
> +layouts, like floating or tiled.  Any layout can be applied dynamically,
> +optimizing the environment for the application in use and the task currently
> +being performed.
> +
> +In a tiled layout, windows are managed in a master and stacking area.  The
> +master area contains the windows which currently need the most attention,
> +whereas the stacking area contains all other windows.  In a floating layout
> +windows can be resized and moved freely.  Dialog windows are always managed as
> +floating, regardless of the layout currently applied.  The spiral and dwindle
> +layouts are special cases of the tiled layout where the stacking area is
> +arranged in a spiral for the former or as a rectangular fractal for the later.
> +
> +Windows are grouped by tags in awesome.  Each window can be tagged with one or
> +more tags.  Selecting certain tags displays all windows with these tags.")
> +    (license license:gpl2)
> +    (home-page "https://awesome.naquadah.org/")))
> --
> 2.7.3
>
>

--
♥Ⓐ ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion
Carlo Zancanaro June 13, 2016, 12:01 p.m. UTC | #3
Hi!

On 13 June 2016 at 18:05, ng0 <ng0@we.make.ritual.n0.is> wrote:

> Is 3.4.15 the latest? I use 3.5.9 here, and this was what I targeted
> with my work in progress.
>

No, 3.4.15 isn't the latest. 3.5.9 is the latest stable, but I couldn't get
it to compile (at the very least lua-lgi is missing, I don't know if other
things are too). I figured it was better to have something rather than
nothing. I don't need more than 3.4.15, but not having awesome at all
stopped me from using GuixSD for a while.


> it requires also lua-lgi, at least with 3.5.9 version. I can give you the
> wip
> of that if it only got in with 3.5.x and you need it.
>

Apparently lua-lgi only became a dependency for the 3.5.x releases. If you
have a working package definition for it then I'm willing to try to get it
working with awesome. (I don't know anything about packaging lua libraries,
so I gave up on lua-lgi when it didn't work immediately.)


> Building the documentation also requires doxygen and graphviz in case you
> want
> to add a second output for them - I never made it that far and can't tell
> if the
> docs are very big.
>

I'll give this a go.
diff mbox

Patch

diff --git a/gnu/packages/awesome.scm b/gnu/packages/awesome.scm
new file mode 100644
index 0000000..6aa1f93
--- /dev/null
+++ b/gnu/packages/awesome.scm
@@ -0,0 +1,93 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
+;;;
+;;; 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 awesome)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gperf)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages libevent)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages xorg))
+
+(define-public awesome
+  (package
+    (name "awesome")
+    (version "3.4.15")
+    (source
+     (origin (method url-fetch)
+             (uri (string-append "https://awesome.naquadah.org/download/awesome-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "1m910lr7wkw2dgzmirfvz7dasfswhhccdf65l21iiciv24c3w1bb"))))
+    (build-system cmake-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("cairo" ,cairo)
+              ("dbus" ,dbus)
+              ("gdk-pixbuf" ,gdk-pixbuf)
+              ("glib" ,glib)
+              ("gperf" ,gperf)
+              ("imlib2" ,imlib2)
+              ("libev" ,libev)
+              ("libxcb" ,libxcb)
+              ("libxcursor" ,libxcursor)
+              ("libxdg-basedir" ,libxdg-basedir)
+              ("lua" ,lua-5.1)
+              ("pango" ,pango)
+              ("startup-notification" ,startup-notification)
+              ("xcb-util" ,xcb-util)
+              ("xcb-util-cursor" ,xcb-util-cursor)
+              ("xcb-util-image" ,xcb-util-image)
+              ("xcb-util-keysyms" ,xcb-util-keysyms)
+              ("xcb-util-renderutil" ,xcb-util-renderutil)
+              ("xcb-util-wm" ,xcb-util-wm)
+              ("imagemagick" ,imagemagick)))
+    (arguments `(#:phases (modify-phases %standard-phases
+                            (replace 'check
+                              (lambda* _
+                                (zero? (system* "../build/awesome" "-v")))))))
+    (synopsis "Highly configurable, next generation framework window manager
+for X")
+    (description
+     "awesome is a window manager for X.  It manages windows in different
+layouts, like floating or tiled.  Any layout can be applied dynamically,
+optimizing the environment for the application in use and the task currently
+being performed.
+
+In a tiled layout, windows are managed in a master and stacking area.  The
+master area contains the windows which currently need the most attention,
+whereas the stacking area contains all other windows.  In a floating layout
+windows can be resized and moved freely.  Dialog windows are always managed as
+floating, regardless of the layout currently applied.  The spiral and dwindle
+layouts are special cases of the tiled layout where the stacking area is
+arranged in a spiral for the former or as a rectangular fractal for the later.
+
+Windows are grouped by tags in awesome.  Each window can be tagged with one or
+more tags.  Selecting certain tags displays all windows with these tags.")
+    (license license:gpl2)
+    (home-page "https://awesome.naquadah.org/")))