[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] gnu: awesome: Add awesome-3.5
From: |
doncatnip |
Subject: |
Re: [PATCH] gnu: awesome: Add awesome-3.5 |
Date: |
Thu, 25 Aug 2016 19:24:10 +0200 |
On Thu, 25 Aug 2016 14:50:29 +0000
ng0 <address@hidden> wrote:
Hi !
Of course. I didn't notice.
> (Sending this back as a copy to the thread on the list.)
>
> Hi,
>
> Can you please CC the address@hidden list or just reply-to the
> list when replying with the intention to not message offlist?
>
> I think gnu.org does not set a reply-to thing, my email client does
> not care or know about such settings though.
>
> doncatnip <address@hidden> writes:
>
> > On Thu, 25 Aug 2016 09:22:38 +0000
> > ng0 <address@hidden> wrote:
> >
> >> Hi,
> >>
> >> gno <address@hidden> writes:
> >>
> >> > Hi guix !
> >> >
> >> > Sure hope I'm doing this right as I'm new to this.
> >> > These patches add Awesome 3.5.9 to the repository. I decided
> >> > against updating since it may break peoples configurations.
> >> > Awesome had API changes in between 3.4 and 3.5.
> >> >
> >> > Please have a look.
> >>
> >> Awesome! Many thanks for your first patch, I will test this in the
> >> next days, maybe even today. I still have an 3.5.9 config from
> >> another system in a backup.
> >>
> >> Ah. I see what you mean by you decided against updating. I think
> >> this is tricky. In my opinion awesome should provide the latest
> >> version, while for example awesome-3.4.15 would provide an older
> >> version. I use awesome, and this is what I would expect. When
> >> there was a version update, it was up to me to figure out if my
> >> config still worked and how to make it work again.
> >> I would vote for 3.5 as the new awesome and 3.4 inherits from this.
> >> But this can be applied after 3.5 is added I think?
> >
> > Yea, there might be a better (guix) way to do this. I just thought
> > it might be good if those changes don't interfere at all with
> > current system configs yet. Should be easy to change later on.
> >
> >> I did send in a patch to shorten the bloated description of
> >> awesome a couple of days ago, please wait with applying my patch.
> >> I will send in an update once we have this new awesome version
> >> update in tree.
> >> > From cd3175f242450169b269ead777be6c7835476fba Mon Sep 17 00:00:00
> >> > 2001 From: doncatnip <address@hidden>
> >> > Date: Thu, 25 Aug 2016 01:43:53 +0200
> >> > Subject: [PATCH 1/3] gnu: lua: Enable dynamic library support.
> >> >
> >> > * gnu/packages/lua.scm: (lua)[arguments]: Add make flags.
> >>
> >> You do more than just adding make flags, maybe let the commit
> >> message say that you added the CFLAGS: -DLUA_USE_POSIX,
> >> -DLUA_USE_DLOPEN and added LDFLAGS? I'm not sure how to express
> >> that, if at all. the git log should have other cases.
> >> Otherwise it looks good to me, this is just a formality the person
> >> commiting your patch(es) could also change on your behalf.
> >
> > Add make flags which enable ld support as per headline, but yea
> > maybe it's not descriptive enough. I took example from another
> > patch recently posted in this list. I'd apperciate the person
> > commiting the patch changing it to something more appropriate.
> >
> > Thanks for testing this !
> >
> >> > ---
> >> > gnu/packages/lua.scm | 6 +++++-
> >> > 1 file changed, 5 insertions(+), 1 deletion(-)
> >> >
> >> > diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
> >> > index b4b5dee..c68a3ff 100644
> >> > --- a/gnu/packages/lua.scm
> >> > +++ b/gnu/packages/lua.scm
> >> > @@ -4,6 +4,7 @@
> >> > ;;; Copyright © 2014 Mark H Weaver <address@hidden>
> >> > ;;; Copyright © 2014 Andreas Enge <address@hidden>
> >> > ;;; Copyright © 2016 Efraim Flashner <address@hidden>
> >> > +;;; Copyright © 2016 doncatnip <address@hidden>
> >> > ;;;
> >> > ;;; This file is part of GNU Guix.
> >> > ;;;
> >> > @@ -51,7 +52,10 @@
> >> > (modify-phases %standard-phases
> >> > (delete 'configure)
> >> > (replace 'build
> >> > - (lambda _ (zero? (system* "make" "CFLAGS=-fPIC"
> >> > "linux"))))
> >> > + (lambda _ (zero? (system*
> >> > + "make" "LDFLAGS=-ldl"
> >> > + "CFLAGS=-fPIC -DLUA_USE_DLOPEN
> >> > -DLUA_USE_POSIX"
> >> > + "linux"))))
> >> > (replace 'install
> >> > (lambda* (#:key outputs #:allow-other-keys)
> >> > (let ((out (assoc-ref outputs "out")))
> >> > --
> >> > 2.9.3
> >> >
> >> > From 995b67847508a70782eb522cda52b0aa36a20bd2 Mon Sep 17 00:00:00
> >> > 2001 From: doncatnip <address@hidden>
> >> > Date: Thu, 25 Aug 2016 02:22:37 +0200
> >> > Subject: [PATCH 2/3] gnu: lua: Add lua-lgi.
> >> >
> >> > * gnu/packages/lua.scm (lua-lgi): New variable.
> >> > ---
> >> > gnu/packages/lua.scm | 71
> >> > +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file
> >> > changed, 70 insertions(+), 1 deletion(-)
> >> >
> >> > diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
> >> > index c68a3ff..8af0318 100644
> >> > --- a/gnu/packages/lua.scm
> >> > +++ b/gnu/packages/lua.scm
> >> > @@ -27,7 +27,12 @@
> >> > #:use-module (guix download)
> >> > #:use-module (guix build-system gnu)
> >> > #:use-module (gnu packages)
> >> > - #:use-module (gnu packages readline))
> >> > + #:use-module (gnu packages readline)
> >> > + #:use-module (gnu packages glib)
> >> > + #:use-module (gnu packages libffi)
> >> > + #:use-module (gnu packages xorg)
> >> > + #:use-module (gnu packages pkg-config)
> >> > + #:use-module (gnu packages gtk))
> >> >
> >> > (define-public lua
> >> > (package
> >> > @@ -111,3 +116,67 @@ programming language. Lua is a powerful,
> >> > dynamic and light-weight programming language. It may be
> >> > embedded or used as a general-purpose, stand-alone language.")
> >> > (license x11)))
> >> > +
> >> > +(define-public lua-lgi
> >> > + (package
> >> > + (name "lua-lgi")
> >> > + (version "0.9.1")
> >> > + (source
> >> > + (origin
> >> > + (method url-fetch)
> >> > + (uri (string-append
> >> > + "https://github.com/pavouk/lgi/archive/"
> >> > + version ".tar.gz"))
> >> > + (file-name (string-append name "-" version ".tar.gz"))
> >> > + (sha256 (base32
> >> > "1fmgdl5y4ph3yc6ycg865s3vai1rjkyda61cgqxk6zd13hmznw0c"))))
> >> > + (build-system gnu-build-system)
> >> > + (arguments
> >> > + '(#:phases
> >> > + (modify-phases %standard-phases
> >> > + (replace 'configure
> >> > + (lambda* (#:key inputs #:allow-other-keys)
> >> > + ; needs to load cairo dynamically
> >> > + (let* ((cairo (string-append
> >> > + (assoc-ref inputs "cairo") "/lib"
> >> > )))
> >> > + (setenv "LD_LIBRARY_PATH" cairo ))
> >> > +
> >> > + ; FIXME: Skip GTK tests:
> >> > + ; gtk3 - can't get it to run with the xorg-server
> >> > config below
> >> > + ; and some non-gtk tests will also fail
> >> > + ; gtk2 - lots of functions aren't implemented
> >> > + ; We choose gtk2 as the lesser evil and simply skip
> >> > the test.
> >> > + ; as of 22/08/2016 awesome is the only package
> >> > dependent on lgi but
> >> > + ; it doesn't need or interact with gtk using lgi.
> >> > + (substitute* "./tests/test.lua"
> >> > + (("'gtk.lua',") "-- 'gtk.lua',"))
> >> > + ; lua version and therefore install directories are
> >> > hardcoded
> >> > + (substitute* "./lgi/Makefile"
> >> > + (("LUA_VERSION=5.1") "LUA_VERSION=5.2"))
> >> > +
> >> > + ;; There must be a running X server during tests.
> >> > + (system (format #f "~a/bin/Xvfb :1 &" (assoc-ref
> >> > inputs "xorg-server")))
> >> > + (setenv "DISPLAY" ":1"))))
> >> > +
> >> > + #:make-flags
> >> > + (let ((out (assoc-ref %outputs "out")))
> >> > + (list "CC=gcc"
> >> > + (string-append "PREFIX=" (assoc-ref %outputs
> >> > "out")))))) +
> >> > + (inputs
> >> > + `(("gobject-introspection" ,gobject-introspection)
> >> > + ("glib" ,glib)
> >> > + ("pango", pango)
> >> > + ("gtk", gtk+-2)
> >> > + ("lua" ,lua)
> >> > + ("cairo" ,cairo)
> >> > + ("libffi" ,libffi)
> >> > + ("xorg-server", xorg-server)))
> >> > + (native-inputs
> >> > + `(("pkg-config" ,pkg-config)))
> >> > + (home-page "https://github.com/pavouk/lgi/")
> >> > + (synopsis "Lua bridge to GObject based libraries")
> >> > + (description
> >> > + "LGI is gobject-introspection based dynamic Lua binding to
> >> > GObject +based libraries. It allows using GObject-based
> >> > libraries directly from Lua. +Notable examples are GTK+,
> >> > GStreamer and Webkit.")
> >> > + (license expat)))
> >> > --
> >> > 2.9.3
> >> >
> >> > From f75ac65b1eeafe333b486a98cc0bb4ad55d67ee7 Mon Sep 17 00:00:00
> >> > 2001 From: doncatnip <address@hidden>
> >> > Date: Thu, 25 Aug 2016 02:31:07 +0200
> >> > Subject: [PATCH 3/3] gnu: wm: Add awesome-3.5.
> >> >
> >> > * gnu/packages/wm.scm (awesome-3.5): New variable.
> >> > ---
> >> > gnu/packages/wm.scm | 89
> >> > +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file
> >> > changed, 89 insertions(+)
> >> >
> >> > diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
> >> > index 2cc9f44..ff21da8 100644
> >> > --- a/gnu/packages/wm.scm
> >> > +++ b/gnu/packages/wm.scm
> >> > @@ -9,6 +9,7 @@
> >> > ;;; Copyright © 2016 Al McElrath <address@hidden>
> >> > ;;; Copyright © 2016 Carlo Zancanaro <address@hidden>
> >> > ;;; Copyright © 2016 Ludovic Courtès <address@hidden>
> >> > +;;; Copyright © 2016 doncatnip <address@hidden>
> >> > ;;;
> >> > ;;; This file is part of GNU Guix.
> >> > ;;;
> >> > @@ -465,3 +466,91 @@ 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/")))
> >> > +
> >> > +(define-public awesome-3.5
> >> > + (package (inherit awesome)
> >> > + (version "3.5.9")
> >> > + (source (origin
> >> > + (method url-fetch)
> >> > + (uri (string-append
> >> > + "https://awesome.naquadah.org/download/awesome-"
> >> > + version ".tar.xz"))
> >> > + (sha256 (base32
> >> > "0kynair1ykr74b39a4gcm2y24viial64337cf26nhlc7azjbby67"))
> >> > + (modules '((guix build utils)
> >> > + (srfi srfi-19)))
> >> > + (snippet
> >> > + ;; Remove non-reproducible timestamp and use the
> >> > date of the
> >> > + ;; source file instead.
> >> > + '(substitute* "common/version.c"
> >> > + (("__DATE__ \" \" __TIME__")
> >> > + (date->string
> >> > + (time-utc->date
> >> > + (make-time time-utc 0
> >> > + (stat:mtime (stat "awesome.c"))))
> >> > + "\"~c\""))))
> >> > + (patches (search-patches
> >> > "awesome-reproducible-png.patch")))) +
> >> > + (inputs `(("gobject-introspection" ,gobject-introspection)
> >> > + ("lua-lgi",lua-lgi)
> >> > + ("cairo" ,cairo)
> >> > + ("dbus" ,dbus)
> >> > + ("gdk-pixbuf" ,gdk-pixbuf)
> >> > + ("glib" ,glib)
> >> > + ("imlib2" ,imlib2)
> >> > + ("libev" ,libev)
> >> > + ("libxcb" ,libxcb)
> >> > + ("libxcursor" ,libxcursor)
> >> > + ("libxdg-basedir" ,libxdg-basedir)
> >> > + ("lua" ,lua)
> >> > + ("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)))
> >> > +
> >> > + (arguments
> >> > + `(;; Let compression happen in our 'compress-documentation'
> >> > phase so that
> >> > + ;; '--no-name' is used, which removes timestamps from
> >> > gzip output.
> >> > + #:configure-flags '("-DCOMPRESS_MANPAGES=off")
> >> > +
> >> > + #:phases (modify-phases %standard-phases
> >> > + (add-before 'build 'xmlto-skip-validation
> >> > + (lambda _
> >> > + ;; We can't download the necessary schema,
> >> > so so skip
> >> > + ;; validation and assume they're valid.
> >> > + (substitute*
> >> > "../build/CMakeFiles/man.dir/build.make"
> >> > + (("/xmlto")
> >> > + (string-append "/xmlto
> >> > --skip-validation")))
> >> > + #t))
> >> > + (add-before 'configure 'set-lua-paths
> >> > + (lambda* (#:key inputs #:allow-other-keys)
> >> > + ; needs to load cairo dynamically
> >> > + (let* ((cairo (string-append
> >> > + (assoc-ref inputs "cairo")
> >> > "/lib" ))
> >> > + (lua-lgi (assoc-ref inputs
> >> > "lua-lgi") ))
> >> > + (setenv "LD_LIBRARY_PATH" cairo )
> >> > + (setenv "LUA_PATH" (string-append
> >> > + lua-lgi
> >> > "/share/lua/5.2/?.lua"))
> >> > + (setenv "LUA_CPATH" (string-append
> >> > + lua-lgi
> >> > "/lib/lua/5.2/?.so")))))
> >> > + (replace 'check
> >> > + (lambda _
> >> > + ;; There aren't any tests, so just make
> >> > sure the binary
> >> > + ;; gets built and can be run successfully.
> >> > + (zero? (system* "../build/awesome"
> >> > "-v"))))
> >> > + (add-after 'install 'wrap
> >> > + (lambda* (#:key inputs outputs
> >> > #:allow-other-keys)
> >> > + (let* ((awesome (assoc-ref outputs "out"))
> >> > + (cairo (string-append
> >> > + (assoc-ref inputs "cairo")
> >> > "/lib" ))
> >> > + (lua-lgi (assoc-ref inputs
> >> > "lua-lgi") ))
> >> > + (wrap-program (string-append awesome
> >> > "/bin/awesome")
> >> > + `("GI_TYPELIB_PATH" ":" prefix
> >> > (,(getenv "GI_TYPELIB_PATH")))
> >> > + `("LD_LIBRARY_PATH" suffix (, cairo))
> >> > + `("LUA_PATH" suffix (,(string-append
> >> > + lua-lgi
> >> > "/share/lua/5.2/?.lua")))
> >> > + `("LUA_CPATH" suffix (,(string-append
> >> > + lua-lgi
> >> > "/lib/lua/5.2/?.so")))))))))))) --
> >> > 2.9.3
> >> >
> >>
> >
>
Message not available
Re: [PATCH] gnu: awesome: Add awesome-3.5, Leo Famulari, 2016/08/30